12010-12-06  Yael Aharon  <yael.aharon@nokia.com>
2
3        Reviewed by Andreas Kling.
4
5        [Qt] Support focus ring outline color for links.
6        https://bugs.webkit.org/show_bug.cgi?id=50428
7
8        Take width and offset into account when drawing focus ring.
9
10        Tests: fast/css/focus-ring-outline-color.html
11               fast/css/focus-ring-outline-offset.html
12               fast/css/focus-ring-outline-width.html
13
14        * platform/graphics/qt/GraphicsContextQt.cpp:
15        (WebCore::GraphicsContext::drawFocusRing):
16
172010-12-06  Yael Aharon  <yael.aharon@nokia.com>
18
19        Reviewed by Andreas Kling.
20
21        [Qt] Fix focus ring outline color support
22        https://bugs.webkit.org/show_bug.cgi?id=50325
23
24        * platform/graphics/qt/GraphicsContextQt.cpp:
25        (WebCore::GraphicsContext::drawFocusRing):
26
27        Take the outline width into account when drawing the focus ring of image map.
28        Change the outline-style from dotted to solid. The default outline-width is 
29        5 pixels, and dotted lines just don't make sense anymore.
30        Give the focus ring alpha of 50%, following what other ports do.
31        Save and restore the pen when drawing a focus ring.
32
332010-12-06  Andras Becsi  <abecsi@webkit.org>
34
35        Reviewed by Csaba Osztrogonác.
36
37        [Qt][V8] Build fix after r73283.
38
39        No new tests needed.
40
41        * WebCore.pri: Add missing webaudio directory
42        to IDL generator includes.
43
442010-12-06  Philippe Normand  <pnormand@igalia.com>
45
46        Reviewed by Martin Robinson.
47
48        [soup] implement ResourceHandle::platformSetDefersLoading
49        https://bugs.webkit.org/show_bug.cgi?id=44158
50
51        * platform/network/soup/ResourceHandleSoup.cpp:
52        (WebCore::ResourceHandle::platformSetDefersLoading): Implemented
53        using the soup_session_{,un}pause_message APIs.
54
552010-12-06  Sergio Villar Senin  <svillar@igalia.com>
56
57        Reviewed by Martin Robinson.
58
59        [GTK] Leak in webkit_soup_cache_load if file contents load fails
60        https://bugs.webkit.org/show_bug.cgi?id=50558
61
62        g_file_get_contents() could return an error after allocating a
63        buffer for file contents. We must free that memory before
64        returning.
65
66        * platform/network/soup/cache/webkit/soup-cache.c:
67        (webkit_soup_cache_load): Added a missing g_free().
68
692010-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
70
71        Unreviewed, rolling out r73351.
72        http://trac.webkit.org/changeset/73351
73        https://bugs.webkit.org/show_bug.cgi?id=50560
74
75        "The change broke plugin tests in Chromium" (Requested by
76        yurys on #webkit).
77
78        * bindings/js/ScriptCallStackFactory.cpp:
79        (WebCore::ScriptCallStack::stackTrace):
80        * bindings/js/ScriptCallStackFactory.h:
81        * bindings/v8/ScriptCallStackFactory.cpp:
82        (WebCore::toScriptCallFrame):
83        (WebCore::toScriptCallFramesVector):
84        (WebCore::createScriptCallStack):
85        (WebCore::ScriptCallStack::stackTrace):
86        * bindings/v8/ScriptCallStackFactory.h:
87        * bindings/v8/V8ConsoleMessage.cpp:
88        (WebCore::V8ConsoleMessage::handler):
89        * inspector/ScriptCallFrame.cpp:
90        (WebCore::ScriptCallFrame::ScriptCallFrame):
91        (WebCore::ScriptCallFrame::isEqual):
92        (WebCore::ScriptCallFrame::buildInspectorObject):
93        * inspector/ScriptCallFrame.h:
94        (WebCore::ScriptCallFrame::sourceURL):
95        * inspector/ScriptCallStack.h:
96        * inspector/TimelineRecordFactory.cpp:
97        (WebCore::TimelineRecordFactory::createGenericRecord):
98        * inspector/front-end/ConsoleView.js:
99        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
100
1012010-12-06  Robert Hogan  <robert@webkit.org>
102
103        Reviewed by Kenneth Rohde Christiansen.
104
105        [Qt] Report zero width for zero size fonts
106
107        Report zero width when font size is zero.
108
109        Fixes fast/text/font-size-zero.html
110
111        https://bugs.webkit.org/show_bug.cgi?id=50539
112
113        * platform/graphics/qt/FontQt.cpp:
114        (WebCore::Font::floatWidthForSimpleText):
115        (WebCore::Font::floatWidthForComplexText):
116
1172010-12-03  Yury Semikhatsky  <yurys@chromium.org>
118
119        Reviewed by Pavel Feldman.
120
121        [v8] Web Inspector: remove duplicate code for capturing stack trace
122        https://bugs.webkit.org/show_bug.cgi?id=50461
123
124        No new tests. Covered with existing inspector tests.
125
126        * bindings/js/ScriptCallStackFactory.cpp:
127        (WebCore::createScriptCallStack):
128        * bindings/js/ScriptCallStackFactory.h:
129        * bindings/v8/ScriptCallStackFactory.cpp:
130        (WebCore::toScriptCallFrame):
131        (WebCore::toScriptCallFramesVector):
132        (WebCore::createScriptCallStack):
133        * bindings/v8/ScriptCallStackFactory.h:
134        * bindings/v8/V8ConsoleMessage.cpp:
135        (WebCore::V8ConsoleMessage::handler):
136        * inspector/ScriptCallFrame.cpp:
137        (WebCore::ScriptCallFrame::ScriptCallFrame):
138        (WebCore::ScriptCallFrame::isEqual):
139        (WebCore::ScriptCallFrame::buildInspectorObject):
140        * inspector/ScriptCallFrame.h:
141        (WebCore::ScriptCallFrame::sourceURL):
142        * inspector/ScriptCallStack.h:
143        * inspector/TimelineRecordFactory.cpp:
144        (WebCore::TimelineRecordFactory::createGenericRecord):
145        * inspector/front-end/ConsoleView.js:
146        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
147
1482010-12-06  Sergio Villar Senin  <svillar@igalia.com>
149
150        Reviewed by Martin Robinson.
151
152        [GTK] webkit_soup_cache_clear() does not delete all entries in the cache
153        https://bugs.webkit.org/show_bug.cgi?id=50462
154
155        Do not use g_hash_table_foreach to remove entries from the cache
156        entries hashtable. Iterate over a list of entries to remove them
157        from the hash table.
158
159        * platform/network/soup/ResourceHandleSoup.cpp:
160        * platform/network/soup/cache/webkit/soup-cache.c:
161        (remove_cache_item):
162        (webkit_soup_cache_finalize):
163        (clear_cache_item):
164        (webkit_soup_cache_clear):
165
1662010-12-05  Kent Tamura  <tkent@chromium.org>
167
168        Unreviewed. Run sort-Xcode-project-file.
169
170        * WebCore.xcodeproj/project.pbxproj:
171
1722010-11-30  Luiz Agostini  <luiz.agostini@openbossa.org>
173
174        Reviewed by Darin Adler.
175
176        HTML5 <details> and <summary> initial implementation
177        https://bugs.webkit.org/show_bug.cgi?id=50309
178
179        HTML5 <details> and <summary> elements initial implementation. The main objective is
180        to add the files for html element and renderers, and to get rid of build system issues
181        in future patches.
182
183        See: http://www.w3.org/TR/html5/interactive-elements.html#the-details-element
184             http://www.w3.org/TR/html5/interactive-elements.html#the-summary-element
185
186        build systems
187
188        * CMakeLists.txt:
189        * DerivedSources.cpp:
190        * DerivedSources.make:
191        * GNUmakefile.am:
192        * WebCore.gypi:
193        * WebCore.pri:
194        * WebCore.pro:
195        * WebCore.vcproj/WebCore.vcproj:
196        * WebCore.xcodeproj/project.pbxproj:
197        * bindings/gobject/GNUmakefile.am:
198
199        Some css properties to the new html elements.
200
201        * css/html.css:
202        (details):
203        (summary):
204
205        New html element associated with the corresponding tag.
206
207        * html/HTMLAttributeNames.in:
208        * html/HTMLTagNames.in:
209
210        1 html element and 3 renderers were added.
211
212        * html/HTMLDetailsElement.cpp: Added.
213        * html/HTMLDetailsElement.h: Added.
214        * html/HTMLDetailsElement.idl: Added.
215        * html/HTMLElementsAllInOne.cpp:
216        * rendering/RenderDetails.cpp: Added.
217        * rendering/RenderDetails.h: Added.
218        * rendering/RenderDetailsMarker.cpp: Added.
219        * rendering/RenderDetailsMarker.h: Added.
220        * rendering/RenderSummary.cpp: Added.
221        * rendering/RenderSummary.h: Added.
222        * rendering/RenderingAllInOne.cpp:
223
224        New renderer type checkers.
225
226        * rendering/RenderObject.h:
227        (WebCore::RenderObject::isDetails):
228        (WebCore::RenderObject::isDetailsMarker):
229        (WebCore::RenderObject::isSummary):
230
2312010-12-05  Rob Buis  <rwlbuis@gmail.com>
232
233        Reviewed by Nikolas Zimmermann.
234
235        createSVGTransformFromMatrix(undefined) => NULL ptr
236        https://bugs.webkit.org/show_bug.cgi?id=49564
237
238        Throw TYPE_MISMATCH_ERR when using undefined or null as value for matrix parameter.
239
240        * svg/SVGTransformList.idl:
241        * svg/properties/SVGTransformListPropertyTearOff.h:
242        (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
243
2442010-12-05  Alejandro G. Castro  <alex@igalia.com>
245
246        Reviewed by Xan Lopez.
247
248        [GTK] Fix compilation warnings reported by clang
249        https://bugs.webkit.org/show_bug.cgi?id=50252
250
251        * platform/graphics/Path.h: CairoPath is now a class, not a
252        struct.
253        * platform/network/soup/ResourceHandleSoup.cpp:
254        (WebCore::sendRequestCallback): Cast the status_code to int.
255
2562010-12-05  Alejandro G. Castro  <alex@igalia.com>
257
258        Reviewed by Martin Robinson.
259
260        [GTK] Remove setColor functions it was replicated in
261        CairoUtilities: setSourceRGBAFromColor.
262
263        * platform/graphics/cairo/GraphicsContextCairo.cpp:
264        (WebCore::setPlatformFill):
265        (WebCore::setPlatformStroke):
266        (WebCore::fillRectSourceOver):
267        (WebCore::GraphicsContext::drawRect):
268        (WebCore::GraphicsContext::drawLine):
269        (WebCore::GraphicsContext::drawEllipse):
270        (WebCore::GraphicsContext::strokeArc):
271        (WebCore::GraphicsContext::drawConvexPolygon):
272        (WebCore::GraphicsContext::drawFocusRing):
273        (WebCore::GraphicsContext::fillRoundedRect):
274
2752010-12-05  Adam Roben  <aroben@apple.com>
276
277        Windows production build fix
278
279        Put spaces after trailing backslashes when setting
280        %WebKitVSPropsRedirectionDir%. According to MSDN
281        <http://msdn.microsoft.com/en-us/library/2kzfk8c7(v=VS.80).aspx>:
282
283           A backslash ( \ ) followed by a newline character is interpreted as
284           a space in the command; use a backslash at the end of a line to
285           continue a command onto the next line. NMAKE interprets the
286           backslash literally if any other character, including a space or
287           tab, follows the backslash.
288
289        * WebCore.vcproj/WebCore.make:
290
2912010-12-05  Robert Hogan  <robert@webkit.org>
292
293        Reviewed by Andreas Kling.
294
295        [Qt] Zero-sized font does not yet work
296
297        Fix fast/text/font-size-zero.html
298
299        Copy other ports by setting minimumFontSize to 0 for DRT runs,
300        copy a fix to SimpleFontData from chromium/safari, and set font
301        size in FontPlatformData to zero if size zero is requested
302        and QFont::pixelSize otherwise. (Note that QFont doesn't accept
303        a pixel size of zero).
304
305        Also fix QFont::setPixelSize in FontPlatformData to use
306        description.computedPixelSize rather than computedSize and
307        pixelSize() rather than pointSizeF - since the latter gets
308        set to -1 if pixelSize is set at all.
309
310        https://bugs.webkit.org/show_bug.cgi?id=49759
311
312        * platform/graphics/qt/FontPlatformData.h:
313        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
314        (WebCore::FontPlatformData::pixelSize):
315        * platform/graphics/qt/FontPlatformDataQt.cpp:
316        (WebCore::FontPlatformData::FontPlatformData):
317        * platform/graphics/qt/FontQt.cpp:
318        (WebCore::drawTextCommon):
319        * platform/graphics/qt/SimpleFontDataQt.cpp:
320        (WebCore::SimpleFontData::platformInit):
321        (WebCore::SimpleFontData::platformGlyphInit):
322        (WebCore::SimpleFontData::platformCharWidthInit):
323
3242010-12-04  Daniel Bates  <dbates@rim.com>
325
326        Reviewed by Darin Adler.
327
328        Add support for lower-armenian and upper-armenian
329        https://bugs.webkit.org/show_bug.cgi?id=49641
330
331        Implement support for list-style-types lower-armenian and upper-armenian
332        for lowercase Armenian and uppercase Armenian numerals, respectively.
333
334        Tests: fast/lists/w3-css3-lower-armenian.html
335               fast/lists/w3-css3-upper-armenian.html
336
337        * css/CSSPrimitiveValueMappings.h:
338        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added enum values LowerArmenian
339        and UpperArmenian.
340        * css/CSSValueKeywords.in: Added "upper-armenian" and "lower-armenian".
341        * inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
342        * rendering/RenderListMarker.cpp:
343        (WebCore::effectiveListMarkerType): Added enum values LowerArmenian
344        and UpperArmenian.
345        (WebCore::listMarkerSuffix): Ditto.
346        (WebCore::listMarkerText): Ditto.
347        (WebCore::RenderListMarker::paint): Ditto.
348        (WebCore::RenderListMarker::computePreferredLogicalWidths): Ditto.
349        (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
350        * rendering/style/RenderStyleConstants.h: Ditto.
351
3522010-12-04  Dan Bernstein  <mitz@apple.com>
353
354        Reviewed by Sam Weinig.
355
356        WebCore part of <rdar://problem/8145955> Add text search API for counting/marking/highlighting matches in a range
357        https://bugs.webkit.org/show_bug.cgi?id=50530
358
359        * WebCore.exp.in: Export Range version of countMatchesForText().
360        * editing/Editor.cpp:
361        (WebCore::isFrameInRange): Added this helper method.
362        (WebCore::Editor::countMatchesForText): Added a Range parameter and restricted the result to
363        matches that occur in the range.
364        * editing/Editor.h:
365
3662010-12-04  Gavin Peters  <gavinp@chromium.org>
367
368        Reviewed by Adam Barth.
369
370        Implement onload events for <link rel=prefetch>
371        https://bugs.webkit.org/show_bug.cgi?id=50187
372
373        Tests: fast/dom/HTMLLinkElement/link-and-subresource-test.html
374               fast/dom/HTMLLinkElement/prefetch-onload.html
375
376        * html/HTMLLinkElement.cpp:
377        (WebCore::HTMLLinkElement::HTMLLinkElement):
378        (WebCore::HTMLLinkElement::~HTMLLinkElement):
379        (WebCore::HTMLLinkElement::parseMappedAttribute):
380        (WebCore::HTMLLinkElement::process):
381        (WebCore::HTMLLinkElement::onloadTimerFired):
382        (WebCore::HTMLLinkElement::notifyFinished):
383        * html/HTMLLinkElement.h:
384        * loader/cache/CachedResource.cpp:
385        (WebCore::CachedResource::data):
386
3872010-12-04  Xan Lopez  <xlopez@igalia.com>
388
389        Reviewed by Martin Robinson.
390
391        [GTK] Drop GdkDrawable usage, it's deprecated in GTK+3.x and we can use GdkWindow
392        https://bugs.webkit.org/show_bug.cgi?id=50451
393
394        GdkDrawable has been removed in GTK+3.x. To cope with this we can
395        actually stop using it altogether, since GdkWindow is just a
396        typedef for it and that seems to be good enough for us.
397
398        * platform/graphics/GraphicsContext.h: s/GdkDrawable/GdkWindow/.
399        * platform/graphics/cairo/GraphicsContextCairo.cpp:
400        (WebCore::GraphicsContext::gdkWindow): ditto.
401        * platform/gtk/GtkVersioning.h: declare GDK_WINDOW_XWINDOW for GTK 3.x builds.
402        * platform/gtk/PlatformScreenGtk.cpp:
403        (WebCore::screenAvailableRect): s/GdkDrawable/GdkWindow/.
404        * platform/gtk/WidgetGtk.cpp:
405        (WebCore::gdkWindow): ditto.
406        (WebCore::Widget::setCursor): ditto.
407        * platform/gtk/WidgetRenderingContextGtk2.cpp: ditto.
408
4092010-12-03  Dimitri Glazkov  <dglazkov@chromium.org>
410
411        Reviewed by Darin Adler.
412
413        REGRESSION(r71934): input event fires twice when editing text inside a text input.
414        https://bugs.webkit.org/show_bug.cgi?id=50477
415
416        Now that events escape the shadow DOM boundary, the input event is fired twice
417        for each input, once triggered by editing, once triggered by value change.
418
419        Test: fast/forms/text-input-event.html
420
421        * dom/InputElement.cpp:
422        (WebCore::InputElement::setValueFromRenderer): Added a check to ensure editable fields
423            don't fire an extra input event.
424
4252010-12-03  Sheriff Bot  <webkit.review.bot@gmail.com>
426
427        Unreviewed, rolling out r73302.
428        http://trac.webkit.org/changeset/73302
429        https://bugs.webkit.org/show_bug.cgi?id=50499
430
431        Causes crashes in debug LayoutTests (Requested by xan_ on
432        #webkit).
433
434        * accessibility/AccessibilityRenderObject.cpp:
435        (WebCore::AccessibilityRenderObject::renderParentObject):
436        (WebCore::AccessibilityRenderObject::addChildren):
437        * accessibility/AccessibilityRenderObject.h:
438        * accessibility/chromium/AccessibilityObjectChromium.cpp:
439        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
440
4412010-12-01  Ilya Tikhonovsky  <loislo@chromium.org>
442
443        Reviewed by Pavel Feldman.
444
445        Web Inspector: Inspector protocol cleanup task.
446
447        The patch has just small renames and adjustments for the protocol things.
448        'handler' keyword in idl file was replaced with 'domain'.
449        'domain' property was assigned for the each backend to frontend messages.
450        At the next step WebInspector wrapper functions will be removed and 'agents' will be called directly.
451
452        https://bugs.webkit.org/show_bug.cgi?id=50337
453
454        * inspector/CodeGeneratorInspector.pm:
455        * inspector/Inspector.idl:
456        * inspector/front-end/inspector.js:
457        (WebInspector_syncDispatch):
458
4592010-12-03  Alexander Pavlov  <apavlov@chromium.org>
460
461        Reviewed by Yury Semikhatsky.
462
463        Web Inspector: Duplicate "!important" for !important properties displayed in the Styles pane
464        https://bugs.webkit.org/show_bug.cgi?id=50460
465
466        * inspector/front-end/StylesSidebarPane.js:
467        * inspector/front-end/inspector.css:
468
4692010-12-03  Xan Lopez  <xlopez@igalia.com>
470
471        Unreviewed build fix.
472
473        The JS code generator includes headers unconditionally, so we need
474        to generate them unconditionally and disable the feature. The
475        WebAudio files hadn't been added to our sources list.
476
477        * GNUmakefile.am:
478
4792010-12-03  Patrick Gansterer  <paroga@webkit.org>
480
481        Unreviewed build fix.
482
483        Try to fix EFL build after r73273.
484
485        * CMakeLists.txt:
486
4872010-12-03  Chris Guillory  <chris.guillory@google.com>
488
489        Reviewed by Chris Fleizach.
490
491        Include the FrameView widget of a RenderWidget in the accessibility tree.
492        https://bugs.webkit.org/show_bug.cgi?id=49106
493
494        Include render widget children in the accessibility tree for not mac webkit ports.
495
496        * accessibility/AccessibilityRenderObject.cpp:
497        (WebCore::AccessibilityRenderObject::renderParentObject):
498        (WebCore::AccessibilityRenderObject::addChildren):
499        (WebCore::AccessibilityRenderObject::addRenderWidgetChildren):
500        * accessibility/AccessibilityRenderObject.h:
501        * accessibility/chromium/AccessibilityObjectChromium.cpp:
502        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
503
5042010-11-30  Abhishek Arya  <inferno@chromium.org>
505
506        Reviewed by Dave Hyatt.
507
508        Don't clone an anonymous block, instead create a new one in splitBlocks. Also,
509        when beforeChild is not in one of our children, then do the processing first
510        to get its anonymous container before calling splitBlocks.
511        https://bugs.webkit.org/show_bug.cgi?id=49928
512
513        Tests: fast/multicol/span/anonymous-before-child-parent-crash.html
514               fast/multicol/span/anonymous-split-block-crash.html
515
516        * rendering/RenderBlock.cpp:
517        (WebCore::RenderBlock::splitBlocks):
518        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
519
5202010-12-03  Mark Rowe  <mrowe@apple.com>
521
522        Reviewed by Eric Seidel.
523
524        Animated GIF animates much more slowly in Safari than Firefox
525        <rdar://problem/7689300> / <http://webkit.org/b/26455>
526
527        Adopt Firefox's behavior for frame duration clamping. Images that specify a frame duration
528        of <= 10ms are treated as having a frame duration of 100ms, while all other images use the
529        frame duration that they specify.
530
531        ImageIO currently implements its own clamping of frame durations (<rdar://problem/7689297>)
532        which will result in this change having no observable effect on platforms where it is used
533        until an updated version of ImageIO becomes available.
534
535        * platform/graphics/ImageSource.cpp:
536        (WebCore::ImageSource::frameDurationAtIndex): Update the formatting of the comment and style
537        of the code to match that in ImageSourceCG.
538        * platform/graphics/cg/ImageSourceCG.cpp:
539        (WebCore::ImageSource::frameDurationAtIndex):
540
5412010-12-03  Chris Rogers  <crogers@google.com>
542
543        Unreviewed build fix.
544
545        Fix M_E compile error on Chromium Win
546        https://bugs.webkit.org/show_bug.cgi?id=50479
547
548        * platform/audio/AudioUtilities.cpp:
549        (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
550
5512010-12-03  Chris Rogers  <crogers@google.com>
552
553        Unreviewed build fix.
554
555        Try to fix GTK build due to recent web audio makefile changes (disable ENABLE_WEB_AUDIO explicitly)
556        https://bugs.webkit.org/show_bug.cgi?id=50478
557
558        * GNUmakefile.am:
559
5602010-12-03  Simon Fraser  <simon.fraser@apple.com>
561
562        Reviewed by Dirk Schulze.
563
564        Clean up some text-related code on GraphicsContext
565        https://bugs.webkit.org/show_bug.cgi?id=50464
566
567        Save 8 bytes in GraphicsContextState by rearranging the
568        data members to reduce padding.
569
570        * platform/graphics/GraphicsContextPrivate.h:
571        (WebCore::GraphicsContextState::GraphicsContextState):
572
5732010-12-03  Simon Fraser  <simon.fraser@apple.com>
574
575        Another Chromium build fix.
576
577        * platform/graphics/skia/GraphicsContextSkia.cpp:
578        (WebCore::GraphicsContext::setPlatformTextDrawingMode):
579
5802010-12-03  Simon Fraser  <simon.fraser@apple.com>
581
582        Fix Chromium build.
583
584        * platform/graphics/skia/PlatformContextSkia.h:
585
5862010-12-03  Patrick Gansterer  <paroga@webkit.org>
587
588        Reviewed by Andreas Kling.
589
590        [CMake] Remove WebCore_IDL_PURE_FILES
591        https://bugs.webkit.org/show_bug.cgi?id=50445
592
593        * CMakeLists.txt:
594
5952010-12-03  Jia Pu  <jpu@apple.com>
596
597        Reviewed by Darin Adler.
598
599        Need to move all code that applies correction into correction panel callback.
600        https://bugs.webkit.org/show_bug.cgi?id=50426
601        <rdar://problem/8720832>
602
603        No new test, since there's no behavioral change.
604
605        This patch is to prepare WebKit to work with upcoming AppKit changes. The main changes are:
606        1. Moved all calls to applyCorrectionPanelInfo() into handleCorrectionPanelResult().
607        2. Added more user dictionary learning code.
608        3. Removed m_ prefix in all member variables of CorrectionPanelInfo.
609
610        * editing/CorrectionPanelInfo.h: Remove m_ prefix on member variables. Added ReasonForDismissingCorrectionPanel enum type.
611
612        * editing/Editor.cpp: Moved all calls to applyCorrectionPanelInfo() into handleCorrectionPanelResult().
613          Adopted new member variable naming in class CorrectionPanelInfo.
614        (WebCore::Editor::respondToChangedSelection):
615        (WebCore::Editor::~Editor):
616        (WebCore::Editor::markMisspellingsAfterTypingToWord):
617        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
618        (WebCore::Editor::correctionPanelTimerFired):
619        (WebCore::Editor::handleCorrectionPanelResult):
620        (WebCore::Editor::startCorrectionPanelTimer):
621        (WebCore::Editor::stopCorrectionPanelTimer):
622        (WebCore::Editor::handleCancelOperation):
623        (WebCore::Editor::dismissCorrectionPanel):
624        (WebCore::Editor::applyCorrectionPanelInfo):
625
626        * editing/Editor.h: Changed signature of dismissCorrectionPanel to use ReasonForDismissingCorrectionPanel.
627
628        * loader/EmptyClients.h: Ditto.
629        (WebCore::EmptyEditorClient::dismissCorrectionPanel):
630
631        * page/EditorClient.h: Ditto.
632
6332010-12-03  Pavel Feldman  <pfeldman@chromium.org>
634
635        Reviewed by Yury Semikhatsky.
636
637        Web Inspector: reveal in elements panel does not switch the panel itself.
638        https://bugs.webkit.org/show_bug.cgi?id=50408
639
640        * inspector/front-end/ElementsTreeOutline.js:
641        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
642        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
643        * inspector/front-end/ObjectPropertiesSection.js:
644        (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
645
6462010-12-03  Simon Fraser  <simon.fraser@apple.com>
647
648        Reviewed by Nikolas Zimmermann.
649
650        Clean up some text-related code on GraphicsContext
651        https://bugs.webkit.org/show_bug.cgi?id=50464
652
653        Use defined types for textDrawingMode and it's associated flags.
654
655        * html/canvas/CanvasRenderingContext2D.cpp:
656        (WebCore::CanvasRenderingContext2D::drawTextInternal):
657        * platform/graphics/GraphicsContext.cpp:
658        (WebCore::GraphicsContext::textDrawingMode):
659        (WebCore::GraphicsContext::setTextDrawingMode):
660        (WebCore::GraphicsContext::setPlatformTextDrawingMode):
661        * platform/graphics/GraphicsContext.h:
662        * platform/graphics/GraphicsContextPrivate.h:
663        (WebCore::GraphicsContextState::GraphicsContextState):
664        * platform/graphics/cairo/FontCairo.cpp:
665        (WebCore::drawGlyphsShadow):
666        (WebCore::Font::drawGlyphs):
667        * platform/graphics/cg/GraphicsContextCG.cpp:
668        (WebCore::GraphicsContext::setPlatformTextDrawingMode):
669        * platform/graphics/chromium/FontLinux.cpp:
670        (WebCore::Font::drawGlyphs):
671        (WebCore::Font::drawComplexText):
672        * platform/graphics/gtk/FontGtk.cpp:
673        (WebCore::drawGlyphsShadow):
674        (WebCore::Font::drawComplexText):
675        * platform/graphics/mac/FontMac.mm:
676        (WebCore::Font::drawGlyphs):
677        * platform/graphics/openvg/PainterOpenVG.cpp:
678        (WebCore::PlatformPainterState::PlatformPainterState):
679        (WebCore::PainterOpenVG::textDrawingMode):
680        (WebCore::PainterOpenVG::setTextDrawingMode):
681        (WebCore::PainterOpenVG::drawText):
682        * platform/graphics/qt/FontQt.cpp:
683        (WebCore::drawTextCommon):
684        * platform/graphics/skia/PlatformContextSkia.cpp:
685        (WebCore::PlatformContextSkia::State::State):
686        (WebCore::PlatformContextSkia::getTextDrawingMode):
687        (WebCore::PlatformContextSkia::setTextDrawingMode):
688        * platform/graphics/skia/SkiaFontWin.cpp:
689        (WebCore::windowsCanHandleTextDrawing):
690        (WebCore::paintSkiaText):
691        * platform/graphics/texmap/TextureMapper.h:
692        (WebCore::TextureMapper::setTextDrawingMode):
693        (WebCore::TextureMapper::textDrawingMode):
694        (WebCore::TextureMapper::TextureMapper):
695        * platform/graphics/win/FontCGWin.cpp:
696        (WebCore::drawGDIGlyphs):
697        (WebCore::Font::drawGlyphs):
698        * platform/graphics/wince/GraphicsContextWinCE.cpp:
699        (WebCore::GraphicsContext::drawText):
700        * rendering/InlineTextBox.cpp:
701        (WebCore::updateGraphicsContext):
702        * rendering/RenderSVGResourceGradient.cpp:
703        (WebCore::RenderSVGResourceGradient::applyResource):
704        * rendering/RenderSVGResourcePattern.cpp:
705        (WebCore::RenderSVGResourcePattern::applyResource):
706        * rendering/RenderSVGResourceSolidColor.cpp:
707        (WebCore::RenderSVGResourceSolidColor::applyResource):
708        * svg/SVGFont.cpp:
709        (WebCore::Font::drawTextUsingSVGFont):
710
7112010-12-03  Chris Rogers  <crogers@google.com>
712
713        Reviewed by Kenneth Russell.
714
715        First steps to adding web audio files to build systems
716        https://bugs.webkit.org/show_bug.cgi?id=49952
717
718        No new tests since audio API is not yet implemented.
719
720        * CMakeLists.txt:
721        * DerivedSources.make:
722        * ForwardingHeaders/wtf/Complex.h: Added.
723        * GNUmakefile.am:
724        * WebCore.gyp/WebCore.gyp:
725        * WebCore.gypi:
726        * WebCore.pri:
727        * WebCore.pro:
728        * bindings/js/JSDOMWindowCustom.cpp:
729        (WebCore::JSDOMWindow::audioContext):
730        * features.pri:
731        * page/DOMWindow.idl:
732        * platform/audio/HRTFElevation.cpp:
733
7342010-12-03  Patrick Gansterer  <paroga@webkit.org>
735
736        Reviewed by David Levin.
737
738        Use String::adopt in TextCodecWinCE::decode
739        https://bugs.webkit.org/show_bug.cgi?id=50319
740
741        * platform/text/wince/TextCodecWinCE.cpp:
742        (WebCore::TextCodecWinCE::decode):
743
7442010-12-03  Brady Eidson  <beidson@apple.com>
745
746        Reviewed by Anders Carlsson.
747
748        Groundwork for <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
749        WebKit2 Authentication Support
750
751        * WebCore.exp.in:
752
753        Expose the AuthenticationClient for WK2 platforms (Windows already does this):
754        * platform/network/mac/AuthenticationChallenge.h:
755        * platform/network/mac/AuthenticationMac.mm:
756        (-[WebCoreAuthenticationClientAsChallengeSender client]):
757        (WebCore::AuthenticationChallenge::authenticationClient):
758
759        * platform/network/qt/AuthenticationChallenge.h:
760        (WebCore::AuthenticationChallenge::authenticationClient):
761
7622010-12-03  Ryosuke Niwa  <rniwa@webkit.org>
763
764        Reviewed by Darin Adler.
765
766        REGRESSION: Crash when deleting text after textarea's value is modified on input event
767        https://bugs.webkit.org/show_bug.cgi?id=49962
768
769        The crash was caused by TypingCommand::deleteKeyPressed's reusing a typing command for
770        textarea's shadow DOM after its input event handler rewrote the value set by the typing command.
771        Because the reused typing command's ending selection was pointing at a shadow node
772        that has been detached from the document when the event handler set the new value,
773        rootEditableElement of the ending selection was null and caused the crash.
774
775        Fixed the bug by updating the ending selection of the last typing command when it differsfrom
776        that of the current selection held by the SelectionController in TypingCommand::deleteKeyPressed.
777        Also fixed similar bugs in forwardDeleteKeyPressed and insertText, and insertTextRunWithoutNewlines.
778
779        Tests: editing/input/set-value-on-input-and-delete.html
780               editing/input/set-value-on-input-and-forward-delete.html
781               editing/input/set-value-on-input-and-type-input.html
782               editing/input/set-value-on-input-and-type-textarea.html
783
784        * editing/InsertTextCommand.h: Added TypingCommand as a friend because it needs to update selection.
785        * editing/TypingCommand.cpp:
786        (WebCore::TypingCommand::deleteKeyPressed): Updates the last typing command's selection as needed.
787        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
788        (WebCore::TypingCommand::insertText): Ditto.
789        (WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection): Added.
790        (WebCore::TypingCommand::insertTextRunWithoutNewlines): Updates InsertTextCommand's selection as needed.
791        * editing/TypingCommand.h:
792
7932010-12-03  Daniel Cheng  <dcheng@chromium.org>
794
795        Reviewed by Tony Chang.
796
797        Dragging and dropping into an empty document crashes WebKit.
798        https://bugs.webkit.org/show_bug.cgi?id=48793
799
800        Remove the assert and update callers to check for a null return value.
801
802        Test: manual-tests/drop-in-empty-doc.html
803
804        * manual-tests/drop-in-empty-doc.html: Added.
805        * manual-tests/resources/drop-in-empty-doc.xhtml: Added.
806        * page/DragController.cpp:
807        (WebCore::elementUnderMouse):
808        (WebCore::DragController::tryDocumentDrag):
809        (WebCore::DragController::concludeEditDrag):
810
8112010-12-03  Patrick Gansterer  <paroga@webkit.org>
812
813        Reviewed by Andreas Kling.
814
815        Move Inspector generator logic into main CMakeLists.txt file
816        https://bugs.webkit.org/show_bug.cgi?id=50445
817
818        * CMakeLists.txt:
819
8202010-12-03 Patrick Gansterer <paroga@webkit.org>
821
822        Reviewed by Andreas Kling.
823
824        Move StringWx.cpp into wtf directory
825        https://bugs.webkit.org/show_bug.cgi?id=50060
826
827        * WebCore.gypi:
828        * platform/text/wx/StringWx.cpp: Removed.
829
8302010-12-03  Dimitri Glazkov  <dglazkov@chromium.org>
831
832        Reviewed by Darin Adler.
833
834        REGRESSION(r72783): DOMActivate fires multiple times from input type=file
835        https://bugs.webkit.org/show_bug.cgi?id=50396
836
837        Test: fast/events/shadow-boundary-crossing-2.html
838
839        * dom/EventContext.cpp: Reverted changes made in r72783.
840        * dom/EventContext.h: Ditto.
841        * dom/Node.cpp:
842        (WebCore::Node::containsIncludingShadowDOM): Added.
843        (WebCore::Node::dispatchGenericEvent): Reverted changes made in r72783.
844        * dom/Node.h: Added decl.
845        * html/HTMLLabelElement.cpp:
846        (WebCore::HTMLLabelElement::defaultEventHandler): Reverted changes made in r72783.
847
8482010-12-03  Patrick Gansterer  <paroga@webkit.org>
849
850        Reviewed by Andreas Kling.
851
852        Move StringBrew.cpp into wtf directory
853        https://bugs.webkit.org/show_bug.cgi?id=50058
854
855        * platform/text/brew/StringBrew.cpp: Removed.
856
8572010-12-03  Patrick Gansterer  <paroga@webkit.org>
858
859        Reviewed by Andreas Kling.
860
861        Move StringHaiku.cpp into wtf directory
862        https://bugs.webkit.org/show_bug.cgi?id=50057
863
864        * platform/text/haiku/StringHaiku.cpp: Removed.
865
8662010-12-03  Jessie Berlin  <jberlin@apple.com>
867
868        Reviewed by Sam Weinig.
869
870        Need a WebKit2 Equivalent of WebSecurityOrigin
871        https://bugs.webkit.org/show_bug.cgi?id=50170
872
873        * WebCore.exp.in:
874        Export the symbol for SecurityOrigin::createFromDatabaseIdentifier.
875
8762010-12-03  Andras Becsi  <abecsi@inf.u-szeged.hu>
877
878        Unreviewed build fix after r73254.
879
880        [Qt][V8] Add missing headers to $headerIncludes rather than $implIncludes
881        because headers are needed by the generated .h files.
882
883        No new tests needed.
884
885        * bindings/scripts/CodeGeneratorV8.pm:
886
8872010-12-03  Nikolas Zimmermann  <nzimmermann@rim.com>
888
889        Reviewed by Dirk Schulze.
890
891        1336 files in WebCore rebuild when you touch SVGNames
892        https://bugs.webkit.org/show_bug.cgi?id=42025
893
894        Remove global SVGNames.h dependency, as SVGAnimatedPropertyMacros.h included it.
895        This requires to add the SVGNames.h include to lots of cpp files.
896
897        No functional changes, thus no new tests.
898
899        * css/CSSCursorImageValue.cpp:
900        * css/CSSFontFaceSource.cpp:
901        * dom/Node.cpp:
902        * loader/cache/CachedFont.cpp:
903        * rendering/RenderSVGResourceClipper.cpp:
904        * rendering/RenderSVGResourceFilter.cpp:
905        * rendering/RenderSVGTransformableContainer.cpp:
906        * rendering/RenderSVGViewportContainer.cpp:
907        * rendering/SVGRenderTreeAsText.cpp:
908        * rendering/SVGResources.cpp:
909        * rendering/svg/RenderSVGTextPath.cpp:
910        * rendering/svg/SVGRootInlineBox.cpp:
911        * svg/SVGAnimateElement.cpp:
912        * svg/SVGAnimateMotionElement.cpp:
913        * svg/SVGAnimateTransformElement.cpp:
914        * svg/SVGDefsElement.cpp:
915        * svg/SVGFEBlendElement.cpp:
916        * svg/SVGFEDisplacementMapElement.cpp:
917        * svg/SVGFEMergeElement.cpp:
918        * svg/SVGFEMergeNodeElement.cpp:
919        * svg/SVGFEOffsetElement.cpp:
920        * svg/SVGFETileElement.cpp:
921        * svg/SVGFETurbulenceElement.cpp:
922        * svg/SVGFont.cpp:
923        * svg/SVGGElement.cpp:
924        * svg/SVGImageElement.cpp:
925        * svg/SVGLength.cpp:
926        * svg/SVGMPathElement.cpp:
927        * svg/SVGPathElement.cpp:
928        * svg/SVGPathSegList.cpp:
929        * svg/SVGStyledTransformableElement.cpp:
930        * svg/SVGSymbolElement.cpp:
931        * svg/SVGTextContentElement.cpp:
932        * svg/SVGTextElement.cpp:
933        * svg/SVGTextPathElement.cpp:
934        * svg/SVGUseElement.cpp:
935        * svg/SVGViewSpec.cpp:
936        * svg/animation/SMILTimeContainer.cpp:
937        * svg/properties/SVGAnimatedPropertyMacros.h:
938        * svg/properties/SVGPathSegListPropertyTearOff.cpp:
939
9402010-12-02  Philippe Normand  <pnormand@igalia.com>
941
942        Reviewed by Martin Robinson.
943
944        [GStreamer] hasVideo/Audio return false until the pipeline reaches PAUSED
945        https://bugs.webkit.org/show_bug.cgi?id=50382
946
947        Go to PAUSED even if preload is deactivated. In that case don't
948        process the GStreamer state changes until commitLoad() has been
949        called. This patch also fixes hasVideo and hasAudio methods,
950        making them reactive to the playbin2 audio/video tags-changed
951        signals.
952
953        Test: media/controls-without-preload.html
954
955        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
956        (WebCore::mediaPlayerPrivateMessageCallback):
957        (WebCore::mediaPlayerPrivateVideoTagsChangedCallback):
958        (WebCore::mediaPlayerPrivateAudioTagsChangedCallback):
959        (WebCore::mediaPlayerPrivateAudioTagsChangeTimeoutCallback):
960        (WebCore::mediaPlayerPrivateVideoTagsChangeTimeoutCallback):
961        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
962        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
963        (WebCore::MediaPlayerPrivateGStreamer::load):
964        (WebCore::MediaPlayerPrivateGStreamer::commitLoad):
965        (WebCore::MediaPlayerPrivateGStreamer::videoTagsChanged):
966        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoTags):
967        (WebCore::MediaPlayerPrivateGStreamer::audioTagsChanged):
968        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudioTags):
969        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
970        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
971        (WebCore::MediaPlayerPrivateGStreamer::hasVideo):
972        (WebCore::MediaPlayerPrivateGStreamer::hasAudio):
973        (WebCore::MediaPlayerPrivateGStreamer::loadDelayed):
974
9752010-12-03  Nikolas Zimmermann  <nzimmermann@rim.com>
976
977        Reviewed by Dirk Schulze.
978
979        Finish splitting DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for the remaining SVGAnimated* types
980        https://bugs.webkit.org/show_bug.cgi?id=50440
981
982        Continuing the work on bug 42025: Introduce (DECLARE|DEFINE)_ANIMATED_(ANGLE|BOOLEAN|INTEGER|PRESERVEASPECTRATIO|RECT).
983        The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
984
985        No functional changes, thus no new tests.
986
987        * svg/SVGAElement.cpp:
988        * svg/SVGAElement.h:
989        * svg/SVGAnimatedAngle.h:
990        * svg/SVGAnimatedBoolean.h:
991        * svg/SVGAnimatedInteger.h:
992        * svg/SVGAnimatedPreserveAspectRatio.h:
993        * svg/SVGAnimatedRect.h:
994        * svg/SVGAnimationElement.cpp:
995        * svg/SVGAnimationElement.h:
996        (WebCore::SVGAnimationElement::calculateDistance):
997        (WebCore::SVGAnimationElement::animationPath):
998        * svg/SVGCircleElement.cpp:
999        * svg/SVGCircleElement.h:
1000        * svg/SVGClipPathElement.cpp:
1001        * svg/SVGClipPathElement.h:
1002        * svg/SVGCursorElement.cpp:
1003        * svg/SVGCursorElement.h:
1004        * svg/SVGDefsElement.cpp:
1005        * svg/SVGDefsElement.h:
1006        * svg/SVGEllipseElement.cpp:
1007        * svg/SVGEllipseElement.h:
1008        * svg/SVGFEConvolveMatrixElement.cpp:
1009        * svg/SVGFEConvolveMatrixElement.h:
1010        * svg/SVGFEImageElement.cpp:
1011        * svg/SVGFEImageElement.h:
1012        * svg/SVGFETurbulenceElement.cpp:
1013        * svg/SVGFETurbulenceElement.h:
1014        * svg/SVGFilterElement.cpp:
1015        * svg/SVGFilterElement.h:
1016        * svg/SVGFilterPrimitiveStandardAttributes.h:
1017        * svg/SVGFontElement.cpp:
1018        (WebCore::SVGFontElement::firstMissingGlyphElement):
1019        (WebCore::SVGFontElement::ensureGlyphCache):
1020        * svg/SVGFontElement.h:
1021        * svg/SVGForeignObjectElement.cpp:
1022        * svg/SVGForeignObjectElement.h:
1023        * svg/SVGGElement.cpp:
1024        * svg/SVGGElement.h:
1025        (WebCore::SVGGElement::isShadowTreeContainerElement):
1026        (WebCore::SVGGElement::isValid):
1027        * svg/SVGGradientElement.cpp:
1028        * svg/SVGGradientElement.h:
1029        * svg/SVGImageElement.cpp:
1030        * svg/SVGImageElement.h:
1031        * svg/SVGLineElement.cpp:
1032        * svg/SVGLineElement.h:
1033        * svg/SVGLinearGradientElement.h:
1034        * svg/SVGMPathElement.cpp:
1035        * svg/SVGMPathElement.h:
1036        * svg/SVGMarkerElement.cpp:
1037        * svg/SVGMarkerElement.h:
1038        * svg/SVGMaskElement.cpp:
1039        * svg/SVGMaskElement.h:
1040        * svg/SVGPathElement.cpp:
1041        * svg/SVGPathElement.h:
1042        * svg/SVGPatternElement.cpp:
1043        * svg/SVGPatternElement.h:
1044        * svg/SVGPolyElement.cpp:
1045        * svg/SVGPolyElement.h:
1046        * svg/SVGRadialGradientElement.h:
1047        * svg/SVGRectElement.cpp:
1048        * svg/SVGRectElement.h:
1049        * svg/SVGSVGElement.cpp:
1050        (WebCore::SVGSVGElement::contentScriptType):
1051        (WebCore::SVGSVGElement::contentStyleType):
1052        (WebCore::SVGSVGElement::parseMappedAttribute):
1053        * svg/SVGSVGElement.h:
1054        * svg/SVGScriptElement.cpp:
1055        * svg/SVGScriptElement.h:
1056        * svg/SVGSwitchElement.cpp:
1057        * svg/SVGSwitchElement.h:
1058        (WebCore::SVGSwitchElement::isValid):
1059        * svg/SVGSymbolElement.cpp:
1060        * svg/SVGSymbolElement.h:
1061        (WebCore::SVGSymbolElement::rendererIsNeeded):
1062        * svg/SVGTextContentElement.cpp:
1063        * svg/SVGTextContentElement.h:
1064        * svg/SVGUseElement.cpp:
1065        * svg/SVGUseElement.h:
1066        * svg/SVGViewElement.cpp:
1067        * svg/SVGViewElement.h:
1068        (WebCore::SVGViewElement::viewTarget):
1069        (WebCore::SVGViewElement::rendererIsNeeded):
1070        * svg/SVGViewSpec.cpp:
1071        * svg/SVGViewSpec.h:
1072        (WebCore::SVGViewSpec::transform):
1073        (WebCore::SVGViewSpec::viewTargetString):
1074        (WebCore::SVGViewSpec::contextElement):
1075        * svg/properties/SVGAnimatedPropertyMacros.h:
1076
10772010-12-03  Noel Gordon  <noel.gordon@gmail.com>
1078
1079        Reviewed by Darin Fisher.
1080
1081        [chromium] PNG encoder leaks memory on png_write_row errors.
1082        https://bugs.webkit.org/show_bug.cgi?id=50439
1083
1084        Move the creation of needed C++ objects before the setjmp() point so
1085        those objects have their destructors called if libpng errors invoke
1086        the setjmp() return path.
1087   
1088        Other minor cleanup: use the skia bitmap locker class, and remove the
1089        PNGDestroyer class - instead directly call png_destroy_write_struct()
1090        at each of the encodeImpl() return points.
1091
1092        No change in behaviour, so no new tests.
1093
1094        * platform/image-encoders/skia/PNGImageEncoder.cpp:
1095        (WebCore::encodeImpl):
1096        (WebCore::PNGImageEncoder::encode):
1097
10982010-12-02  Philippe Normand  <pnormand@igalia.com>
1099
1100        Reviewed by Eric Carlson.
1101
1102        Theme not updated when MediaPlayer m_private engine changes
1103        https://bugs.webkit.org/show_bug.cgi?id=50228
1104
1105        Trigger a new rendering of the media element when the private
1106        media-player backend is updated.
1107
1108        * html/HTMLMediaElement.cpp:
1109        (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated):
1110        * html/HTMLMediaElement.h:
1111        * platform/graphics/MediaPlayer.cpp:
1112        (WebCore::MediaPlayer::MediaPlayer):
1113        (WebCore::MediaPlayer::load):
1114        * platform/graphics/MediaPlayer.h:
1115        (WebCore::MediaPlayerClient::mediaPlayerEngineUpdated):
1116
11172010-12-03  Yonathan Randolph  <yonathan@gmail.com>
1118
1119        Reviewed by Alexey Proskuryakov.
1120
1121        XPath lexer misinterprets expression starting with "div".
1122        https://bugs.webkit.org/show_bug.cgi?id=50366
1123
1124        * xml/XPathParser.cpp:
1125        * xml/XPathParser.h:
1126        (WebCore::XPath::Parser::isOperatorContext): removed (renamed)
1127        (WebCore::XPath::Parser::isBinaryOperatorContext): added
1128
11292010-12-02  Rob Buis  <rwlbuis@gmail.com>
1130
1131        Reviewed by Alexey Proskuryakov.
1132
1133        CSS 2.1 failure: at-import-*
1134        https://bugs.webkit.org/show_bug.cgi?id=47153
1135
1136        Fix at-import-010.htm by only setting m_allowImportRules
1137        to false when creating valid style or page rules.
1138 
1139         Test: css2.1/t040105-import-10-b.html
1140
1141        * css/CSSParser.cpp:
1142        (WebCore::CSSParser::createStyleRule):
1143
11442010-12-02  Aaron Boodman  <aa@chromium.org>
1145
1146        Reviewed by David Hyatt.
1147
1148        Reduce the number of cases where we end up with a stale value for
1149        minimumPreferredLogicalWidth(). This isn't a complete fix, but fixes a
1150        large number of cases.
1151
1152        RenderObject::minimumPreferredLogicalWidth() sometimes reports wrong value.
1153        https://bugs.webkit.org/show_bug.cgi?id=50119
1154
1155        * rendering/RenderBox.cpp:
1156        (WebCore::RenderBox::styleDidChange):
1157
11582010-12-02  Gregg Tavares  <gman@google.com>
1159
1160        Reviewed by David Levin.
1161
1162        Need to initialize destination variables before calling GL
1163        https://bugs.webkit.org/show_bug.cgi?id=50048
1164
1165        No new tests because no change in functionality.
1166
1167        * html/canvas/WebGLFramebuffer.cpp:
1168        (WebCore::WebGLFramebuffer::initializeRenderbuffers):
1169        * html/canvas/WebGLProgram.cpp:
1170        (WebCore::WebGLProgram::cacheActiveAttribLocations):
1171        * html/canvas/WebGLRenderingContext.cpp:
1172        (WebCore::WebGLRenderingContext::getAttachedShaders):
1173        (WebCore::WebGLRenderingContext::getBufferParameter):
1174        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
1175        (WebCore::WebGLRenderingContext::getBooleanParameter):
1176        (WebCore::WebGLRenderingContext::getFloatParameter):
1177        (WebCore::WebGLRenderingContext::getLongParameter):
1178        (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
1179        * platform/graphics/chromium/LayerChromium.cpp:
1180        (WebCore::loadShader):
1181        (WebCore::LayerChromium::createShaderProgram):
1182        * platform/graphics/chromium/LayerRendererChromium.cpp:
1183        (WebCore::LayerRendererChromium::initializeSharedObjects):
1184        * platform/graphics/gpu/DrawingBuffer.cpp:
1185        (WebCore::DrawingBuffer::reset):
1186        * platform/graphics/gpu/Shader.cpp:
1187        (WebCore::Shader::loadProgram):
1188
11892010-12-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1190
1191        Reviewed by Andreas Kling.
1192
1193        [Qt] Enable Web Timing for Qt
1194        https://bugs.webkit.org/show_bug.cgi?id=42433
1195
1196        * features.pri: Enable Web Timing for trunk (but not yet for
1197          production)
1198
11992010-12-02  Andy Estes  <aestes@apple.com>
1200
1201        Rubber-stamped by Mark Rowe.
1202
1203        Update bindings test results with new GObject results.
1204
1205        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1206        (WebKit::kit):
1207        * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
1208        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1209        (WebKit::kit):
1210        * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
1211        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
1212        (WebKit::kit):
1213        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
1214        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1215        (WebKit::kit):
1216        (webkit_dom_test_obj_obj_method):
1217        (webkit_dom_test_obj_obj_method_with_args):
1218        (webkit_dom_test_obj_method_that_requires_all_args):
1219        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
1220        (webkit_dom_test_obj_with_script_state_obj):
1221        (webkit_dom_test_obj_with_script_state_obj_exception):
1222        (webkit_dom_test_obj_get_read_only_test_obj_attr):
1223        (webkit_dom_test_obj_get_test_obj_attr):
1224        (webkit_dom_test_obj_get_xml_obj_attr):
1225        * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
1226
12272010-12-02  Simon Fraser  <simon.fraser@apple.com>
1228
1229        Revert r73217 and r73227 because of continued bustage.
1230
1231        * WebCore.xcodeproj/project.pbxproj:
1232        * platform/graphics/GraphicsLayer.h:
1233        (WebCore::GraphicsLayer::nativeLayer):
1234        * platform/graphics/ca/PlatformCAAnimation.h: Removed.
1235        * platform/graphics/ca/PlatformCALayer.h: Removed.
1236        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Removed.
1237        * platform/graphics/ca/mac/PlatformCALayerMac.mm: Removed.
1238        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1239        (WebCore::GraphicsLayerChromium::nativeLayer):
1240        * platform/graphics/chromium/GraphicsLayerChromium.h:
1241        * platform/graphics/mac/GraphicsLayerMac.h: Renamed from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
1242        (WebCore::GraphicsLayerMac::hasContentsLayer):
1243        (WebCore::GraphicsLayerMac::primaryLayer):
1244        (WebCore::GraphicsLayerMac::isReplicatedRootClone):
1245        (WebCore::GraphicsLayerMac::primaryLayerClones):
1246        (WebCore::GraphicsLayerMac::animationIsRunning):
1247        (WebCore::GraphicsLayerMac::contentsLayer):
1248        (WebCore::GraphicsLayerMac::ReplicaState::ReplicaState):
1249        (WebCore::GraphicsLayerMac::ReplicaState::push):
1250        (WebCore::GraphicsLayerMac::ReplicaState::setBranchType):
1251        (WebCore::GraphicsLayerMac::ReplicaState::pop):
1252        (WebCore::GraphicsLayerMac::ReplicaState::depth):
1253        (WebCore::GraphicsLayerMac::ReplicaState::replicaDepth):
1254        (WebCore::GraphicsLayerMac::hasCloneLayers):
1255        (WebCore::GraphicsLayerMac::LayerPropertyAnimation::LayerPropertyAnimation):
1256        (WebCore::GraphicsLayerMac::AnimationProcessingAction::AnimationProcessingAction):
1257        * platform/graphics/mac/GraphicsLayerMac.mm: Renamed from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
1258        (WebCore::currentTimeToMediaTime):
1259        (WebCore::mediaTimeToCurrentTime):
1260        (-[WebAnimationDelegate animationDidStart:]):
1261        (-[WebAnimationDelegate WebCore::]):
1262        (-[WebAnimationDelegate setLayer:WebCore::]):
1263        (WebCore::copyTransform):
1264        (WebCore::getTransformFunctionValue):
1265        (WebCore::getValueFunctionNameForTransformOperation):
1266        (WebCore::propertyIdToString):
1267        (WebCore::animationIdentifier):
1268        (WebCore::getCAMediaTimingFunction):
1269        (WebCore::setLayerBorderColor):
1270        (WebCore::clearBorderColor):
1271        (WebCore::setLayerBackgroundColor):
1272        (WebCore::clearLayerBackgroundColor):
1273        (WebCore::safeSetSublayers):
1274        (WebCore::caValueFunctionSupported):
1275        (WebCore::forceSoftwareAnimation):
1276        (WebCore::nullActionsDictionary):
1277        (WebCore::animationHasStepsTimingFunction):
1278        (WebCore::GraphicsLayer::create):
1279        (WebCore::GraphicsLayerMac::GraphicsLayerMac):
1280        (WebCore::GraphicsLayerMac::~GraphicsLayerMac):
1281        (WebCore::GraphicsLayerMac::setName):
1282        (WebCore::GraphicsLayerMac::nativeLayer):
1283        (WebCore::GraphicsLayerMac::setChildren):
1284        (WebCore::GraphicsLayerMac::addChild):
1285        (WebCore::GraphicsLayerMac::addChildAtIndex):
1286        (WebCore::GraphicsLayerMac::addChildBelow):
1287        (WebCore::GraphicsLayerMac::addChildAbove):
1288        (WebCore::GraphicsLayerMac::replaceChild):
1289        (WebCore::GraphicsLayerMac::removeFromParent):
1290        (WebCore::GraphicsLayerMac::setMaskLayer):
1291        (WebCore::GraphicsLayerMac::setReplicatedLayer):
1292        (WebCore::GraphicsLayerMac::setReplicatedByLayer):
1293        (WebCore::GraphicsLayerMac::setPosition):
1294        (WebCore::GraphicsLayerMac::setAnchorPoint):
1295        (WebCore::GraphicsLayerMac::setSize):
1296        (WebCore::GraphicsLayerMac::setTransform):
1297        (WebCore::GraphicsLayerMac::setChildrenTransform):
1298        (WebCore::GraphicsLayerMac::moveOrCopyLayerAnimation):
1299        (WebCore::GraphicsLayerMac::moveOrCopyAnimationsForProperty):
1300        (WebCore::GraphicsLayerMac::setPreserves3D):
1301        (WebCore::GraphicsLayerMac::setMasksToBounds):
1302        (WebCore::GraphicsLayerMac::setDrawsContent):
1303        (WebCore::GraphicsLayerMac::setBackgroundColor):
1304        (WebCore::GraphicsLayerMac::clearBackgroundColor):
1305        (WebCore::GraphicsLayerMac::setContentsOpaque):
1306        (WebCore::GraphicsLayerMac::setBackfaceVisibility):
1307        (WebCore::GraphicsLayerMac::setOpacity):
1308        (WebCore::GraphicsLayerMac::setNeedsDisplay):
1309        (WebCore::GraphicsLayerMac::setNeedsDisplayInRect):
1310        (WebCore::GraphicsLayerMac::setContentsNeedsDisplay):
1311        (WebCore::GraphicsLayerMac::setContentsRect):
1312        (WebCore::GraphicsLayerMac::addAnimation):
1313        (WebCore::GraphicsLayerMac::pauseAnimation):
1314        (WebCore::GraphicsLayerMac::removeAnimation):
1315        (WebCore::GraphicsLayerMac::animationDidStart):
1316        (WebCore::GraphicsLayerMac::setContentsToImage):
1317        (WebCore::GraphicsLayerMac::setContentsToMedia):
1318        (WebCore::GraphicsLayerMac::didDisplay):
1319        (WebCore::GraphicsLayerMac::syncCompositingState):
1320        (WebCore::GraphicsLayerMac::syncCompositingStateForThisLayerOnly):
1321        (WebCore::GraphicsLayerMac::recursiveCommitChanges):
1322        (WebCore::GraphicsLayerMac::commitLayerChangesBeforeSublayers):
1323        (WebCore::GraphicsLayerMac::commitLayerChangesAfterSublayers):
1324        (WebCore::GraphicsLayerMac::updateLayerNames):
1325        (WebCore::GraphicsLayerMac::updateSublayerList):
1326        (WebCore::GraphicsLayerMac::updateLayerPosition):
1327        (WebCore::GraphicsLayerMac::updateLayerSize):
1328        (WebCore::GraphicsLayerMac::updateAnchorPoint):
1329        (WebCore::GraphicsLayerMac::updateTransform):
1330        (WebCore::GraphicsLayerMac::updateChildrenTransform):
1331        (WebCore::GraphicsLayerMac::updateMasksToBounds):
1332        (WebCore::GraphicsLayerMac::updateContentsOpaque):
1333        (WebCore::GraphicsLayerMac::updateBackfaceVisibility):
1334        (WebCore::GraphicsLayerMac::updateStructuralLayer):
1335        (WebCore::GraphicsLayerMac::ensureStructuralLayer):
1336        (WebCore::GraphicsLayerMac::structuralLayerPurpose):
1337        (WebCore::GraphicsLayerMac::updateLayerDrawsContent):
1338        (WebCore::GraphicsLayerMac::updateLayerBackgroundColor):
1339        (WebCore::GraphicsLayerMac::updateContentsImage):
1340        (WebCore::GraphicsLayerMac::updateContentsMediaLayer):
1341        (WebCore::GraphicsLayerMac::updateContentsCanvasLayer):
1342        (WebCore::GraphicsLayerMac::updateContentsRect):
1343        (WebCore::GraphicsLayerMac::updateMaskLayer):
1344        (WebCore::GraphicsLayerMac::updateReplicatedLayers):
1345        (WebCore::GraphicsLayerMac::ReplicaState::cloneID):
1346        (WebCore::GraphicsLayerMac::replicatedLayerRoot):
1347        (WebCore::GraphicsLayerMac::updateLayerAnimations):
1348        (WebCore::GraphicsLayerMac::setCAAnimationOnLayer):
1349        (WebCore::bug7311367Workaround):
1350        (WebCore::GraphicsLayerMac::removeCAAnimationFromLayer):
1351        (WebCore::copyAnimationProperties):
1352        (WebCore::GraphicsLayerMac::pauseCAAnimationOnLayer):
1353        (WebCore::GraphicsLayerMac::setContentsToCanvas):
1354        (WebCore::GraphicsLayerMac::repaintLayerDirtyRects):
1355        (WebCore::GraphicsLayerMac::updateContentsNeedsDisplay):
1356        (WebCore::GraphicsLayerMac::createAnimationFromKeyframes):
1357        (WebCore::GraphicsLayerMac::createTransformAnimationsFromKeyframes):
1358        (WebCore::GraphicsLayerMac::createBasicAnimation):
1359        (WebCore::GraphicsLayerMac::createKeyframeAnimation):
1360        (WebCore::GraphicsLayerMac::setupAnimation):
1361        (WebCore::GraphicsLayerMac::timingFunctionForAnimationValue):
1362        (WebCore::GraphicsLayerMac::setAnimationEndpoints):
1363        (WebCore::GraphicsLayerMac::setAnimationKeyframes):
1364        (WebCore::GraphicsLayerMac::setTransformAnimationEndpoints):
1365        (WebCore::GraphicsLayerMac::setTransformAnimationKeyframes):
1366        (WebCore::GraphicsLayerMac::suspendAnimations):
1367        (WebCore::GraphicsLayerMac::resumeAnimations):
1368        (WebCore::GraphicsLayerMac::hostLayerForSublayers):
1369        (WebCore::GraphicsLayerMac::layerForSuperlayer):
1370        (WebCore::GraphicsLayerMac::animatedLayer):
1371        (WebCore::GraphicsLayerMac::animatedLayerClones):
1372        (WebCore::GraphicsLayerMac::platformLayer):
1373        (WebCore::GraphicsLayerMac::setDebugBackgroundColor):
1374        (WebCore::GraphicsLayerMac::setDebugBorder):
1375        (WebCore::GraphicsLayerMac::constrainedSize):
1376        (WebCore::GraphicsLayerMac::requiresTiledLayer):
1377        (WebCore::GraphicsLayerMac::swapFromOrToTiledLayer):
1378        (WebCore::GraphicsLayerMac::defaultContentsOrientation):
1379        (WebCore::GraphicsLayerMac::updateContentsTransform):
1380        (WebCore::GraphicsLayerMac::setupContentsLayer):
1381        (WebCore::GraphicsLayerMac::findOrMakeClone):
1382        (WebCore::GraphicsLayerMac::ensureCloneLayers):
1383        (WebCore::GraphicsLayerMac::removeCloneLayers):
1384        (WebCore::GraphicsLayerMac::positionForCloneRootLayer):
1385        (WebCore::GraphicsLayerMac::propagateLayerChangeToReplicas):
1386        (WebCore::GraphicsLayerMac::fetchCloneLayers):
1387        (WebCore::GraphicsLayerMac::cloneLayer):
1388        (WebCore::GraphicsLayerMac::setOpacityInternal):
1389        (WebCore::GraphicsLayerMac::updateOpacityOnLayer):
1390        (WebCore::GraphicsLayerMac::noteSublayersChanged):
1391        (WebCore::GraphicsLayerMac::noteLayerPropertyChanged):
1392        * platform/graphics/mac/WebLayer.h:
1393        * platform/graphics/mac/WebLayer.mm:
1394        (-[WebLayer initWithLayer:]):
1395        (-[WebLayer setNeedsDisplay]):
1396        (-[WebLayer setNeedsDisplayInRect:]):
1397        (-[WebLayer display]):
1398        (-[WebLayer drawInContext:]):
1399        (-[WebLayer setLayerOwner:]):
1400        (-[WebLayer layerOwner]):
1401        * platform/graphics/mac/WebTiledLayer.h:
1402        * platform/graphics/mac/WebTiledLayer.mm:
1403        (-[WebTiledLayer initWithLayer:]):
1404        (-[WebTiledLayer setNeedsDisplay]):
1405        (-[WebTiledLayer setNeedsDisplayInRect:]):
1406        (-[WebTiledLayer display]):
1407        (-[WebTiledLayer drawInContext:]):
1408        (-[WebTiledLayer setLayerOwner:]):
1409        (-[WebTiledLayer layerOwner]):
1410        * platform/graphics/qt/GraphicsLayerQt.cpp:
1411        (WebCore::GraphicsLayerQtImpl::flushChanges):
1412        (WebCore::GraphicsLayerQt::nativeLayer):
1413        * platform/graphics/qt/GraphicsLayerQt.h:
1414        * platform/graphics/win/GraphicsLayerCACF.cpp:
1415        (WebCore::GraphicsLayerCACF::nativeLayer):
1416        * platform/graphics/win/GraphicsLayerCACF.h:
1417
14182010-12-02  Noel Gordon  <noel.gordon@gmail.com>
1419
1420        Reviewed by David Levin.
1421        [chromium] Remove dead code from PNG encoder
1422        https://bugs.webkit.org/show_bug.cgi?id=50377
1423
1424        Also webkit style the PNG encoder files.
1425
1426        No change in behaviour, so no new tests.
1427
1428        * platform/image-encoders/skia/PNGImageEncoder.cpp:
1429        (WebCore::encodeImpl):
1430        (WebCore::PNGImageEncoder::encode):
1431        * platform/image-encoders/skia/PNGImageEncoder.h:
1432
14332010-12-02  Yuta Kitamura  <yutak@chromium.org>
1434
1435        Reviewed by Alexey Proskuryakov.
1436
1437        An attempt to fix Chromium's clang build.
1438
1439        Implement (non-EventListener) marquee IDL attributes from HTML5.
1440        https://bugs.webkit.org/show_bug.cgi?id=49786
1441
1442        * rendering/style/RenderStyle.h:
1443        (WebCore::InheritedFlags::initialMarqueeSpeed):
1444
14452010-12-02  Mikhail Naganov  <mnaganov@chromium.org>
1446
1447        Reviewed by Pavel Feldman.
1448
1449        Web Inspector: Fix heap snapshots loading. Loading is now
1450        conducted by the Profiles panel which prevents accidental
1451        simultaneous attempts to load the same profile several times in
1452        parallel.
1453
1454        https://bugs.webkit.org/show_bug.cgi?id=50427
1455
1456        * inspector/front-end/HeapSnapshotView.js:
1457        (WebInspector.HeapSnapshotView.prototype._loadProfile):
1458        (WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
1459        * inspector/front-end/ProfilesPanel.js:
1460        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
1461        (WebInspector.ProfilesPanel.prototype.addHeapSnapshotChunk):
1462        (WebInspector.ProfilesPanel.prototype.finishHeapSnapshot):
1463
14642010-12-02  Chris Marrin  <cmarrin@apple.com>
1465
1466        Reviewed by Simon Fraser.
1467
1468        Fix Leopard build broken by http://trac.webkit.org/changeset/73217
1469
1470        * platform/graphics/ca/GraphicsLayerCA.cpp:
1471        (WebCore::getTransformFunctionValue):
1472        (WebCore::GraphicsLayerCA::updateContentsTransform):
1473        * platform/graphics/ca/PlatformCALayer.h:
1474        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1475        (PlatformCAAnimation::valueFunction):
1476        (PlatformCAAnimation::setValueFunction):
1477        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1478        (PlatformCALayer::PlatformCALayer):
1479        (PlatformCALayer::anchorPoint):
1480        (PlatformCALayer::setAnchorPoint):
1481        (PlatformCALayer::contentsTransform):
1482        (PlatformCALayer::setContentsTransform):
1483        (PlatformCALayer::isGeometryFlipped):
1484        (PlatformCALayer::setGeometryFlipped):
1485        (PlatformCALayer::setMinificationFilter):
1486        (PlatformCALayer::setMagnificationFilter):
1487
14882010-12-02  Dan Bernstein  <mitz@apple.com>
1489
1490        Reviewed by Dave Hyatt.
1491
1492        CSS support for the text-emphasis properties
1493        Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
1494        https://bugs.webkit.org/show_bug.cgi?id=48539
1495
1496        Test: fast/css/parsing-text-emphasis.html
1497
1498        * css/CSSComputedStyleDeclaration.cpp:
1499        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added text-emphasis-color,
1500        text-emphasis-position and text-emphasis-style. Left the text-emphasis shorthand unsupported.
1501        * css/CSSParser.cpp:
1502        (WebCore::CSSParser::parseValue): Parse the properties.
1503        (WebCore::CSSParser::parseTextEmphasisStyle): Added.
1504        * css/CSSParser.h:
1505        * css/CSSPrimitiveValueMappings.h:
1506        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added TextEmphasisPosition, TextEmphasisFill
1507        and TextEmphasisMark mappings.
1508        (WebCore::CSSPrimitiveValue::operator TextEmphasisPosition): Added.
1509        (WebCore::CSSPrimitiveValue::operator TextEmphasisFill): Added.
1510        (WebCore::CSSPrimitiveValue::operator TextEmphasisMark): Added.
1511        * css/CSSPropertyLonghand.cpp:
1512        (WebCore::initShorthandMap): Added the text-emphasis shorthand.
1513        * css/CSSPropertyNames.in: Added -webkit-text-emphasis, -webkit-text-emphasis-color,
1514        -webkit-text-emphasis-position, and -webkit-text-emphasis-style.
1515        * css/CSSStyleSelector.cpp:
1516        (WebCore::isValidVisitedLinkProperty): Added text-emphasis-color.
1517        (WebCore::CSSStyleSelector::applyProperty): Handle the properties.
1518        * css/CSSValueKeywords.in: Added 'over' and 'under' for text-emphasis-position. Added 'dot',
1519        'double-circle', 'triangle', 'sesame', 'filled' and 'open' for text-emphasis-style.
1520        * rendering/style/RenderStyle.cpp:
1521        (WebCore::RenderStyle::colorIncludingFallback): Handle text-emphasis-color.
1522        (WebCore::RenderStyle::textEmphasisMark): Added. Maps the fake 'auto' value to 'dot' or
1523        'sesame' based on writing direction.
1524        * rendering/style/RenderStyle.h: Added accessors.
1525        (WebCore::InheritedFlags::textEmphasisFill):
1526        (WebCore::InheritedFlags::textEmphasisCustomMark):
1527        (WebCore::InheritedFlags::textEmphasisPosition):
1528        (WebCore::InheritedFlags::setTextEmphasisColor):
1529        (WebCore::InheritedFlags::setTextEmphasisFill):
1530        (WebCore::InheritedFlags::setTextEmphasisMark):
1531        (WebCore::InheritedFlags::setTextEmphasisCustomMark):
1532        (WebCore::InheritedFlags::setTextEmphasisPosition):
1533        (WebCore::InheritedFlags::initialTextEmphasisColor):
1534        (WebCore::InheritedFlags::initialTextEmphasisFill):
1535        (WebCore::InheritedFlags::initialTextEmphasisMark):
1536        (WebCore::InheritedFlags::initialTextEmphasisCustomMark):
1537        (WebCore::InheritedFlags::initialTextEmphasisPosition):
1538        (WebCore::InheritedFlags::textEmphasisColor):
1539        * rendering/style/RenderStyleConstants.h:
1540        * rendering/style/StyleRareInheritedData.cpp:
1541        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1542        (WebCore::StyleRareInheritedData::operator==):
1543        * rendering/style/StyleRareInheritedData.h:
1544
15452010-12-02  Chris Marrin  <cmarrin@apple.com>
1546
1547        Reviewed by Simon Fraser.
1548
1549        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
1550        https://bugs.webkit.org/show_bug.cgi?id=49388
1551
1552        Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially 
1553        identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls 
1554        with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA 
1555        platform neutral as long as implementations of those two classes are available. 
1556        Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got 
1557        rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() 
1558        to avoid confusion since both names were used to refer to the same thing. 
1559
1560        This patch is only for Mac. Windows implementation has not changed.
1561
1562        * WebCore.xcodeproj/project.pbxproj:
1563        * platform/graphics/GraphicsLayer.h:
1564        * platform/graphics/ca: Added.
1565        * platform/graphics/ca/GraphicsLayerCA.cpp: Added.
1566        * platform/graphics/ca/GraphicsLayerCA.h: Added.
1567        * platform/graphics/ca/PlatformCAAnimation.h: Added.
1568        * platform/graphics/ca/PlatformCALayer.h: Added.
1569        * platform/graphics/ca/mac: Added.
1570        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Added.
1571        * platform/graphics/ca/mac/PlatformCALayerMac.mm: Added.
1572        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1573        * platform/graphics/chromium/GraphicsLayerChromium.h:
1574        * platform/graphics/mac/GraphicsLayerMac.h: Removed.
1575        * platform/graphics/mac/GraphicsLayerMac.mm: Removed.
1576        * platform/graphics/mac/WebLayer.h:
1577        * platform/graphics/mac/WebLayer.mm:
1578        * platform/graphics/mac/WebTiledLayer.h:
1579        * platform/graphics/mac/WebTiledLayer.mm:
1580        * platform/graphics/qt/GraphicsLayerQt.cpp:
1581        * platform/graphics/qt/GraphicsLayerQt.h:
1582        * platform/graphics/win/GraphicsLayerCACF.cpp:
1583        * platform/graphics/win/GraphicsLayerCACF.h:
1584
15852010-12-02  Joseph Pecoraro  <joepeck@webkit.org>
1586
1587        Reviewed by Darin Adler.
1588
1589        Update ResourceLoaderSet Enumeration
1590        https://bugs.webkit.org/show_bug.cgi?id=50405
1591
1592        Use size_t when working with Vectors and when comparing between size_t types.
1593
1594        * loader/DocumentLoader.cpp:
1595        (WebCore::cancelAll):
1596        (WebCore::setAllDefersLoading):
1597
15982010-12-02  Jian Li  <jianli@chromium.org>
1599
1600        Reviewed by Kenneth Russell.
1601
1602        Integer calculation issues in DataView constructor
1603        https://bugs.webkit.org/show_bug.cgi?id=50354
1604
1605        Test: fast/canvas/webgl/data-view-crash.html
1606
1607        * html/canvas/DataView.cpp:
1608        (WebCore::DataView::create):
1609
16102010-12-02  Patrick Gansterer  <paroga@webkit.org>
1611
1612        Reviewed by Darin Adler.
1613
1614        Add AtomicString::fromUTF8
1615        https://bugs.webkit.org/show_bug.cgi?id=45594
1616
1617        Use AtomicString::fromUTF8 directly in the libxml2 parser.
1618
1619        * dom/XMLDocumentParserLibxml2.cpp:
1620        (WebCore::toAtomicString):
1621
16222010-12-02  Andy Estes  <aestes@apple.com>
1623
1624        Fix the Qt Linux Release minimal build.
1625
1626        * html/HTMLMarqueeElement.cpp: Include ExceptionCode.h
1627
16282010-12-02  Joseph Pecoraro  <joepeck@webkit.org>
1629
1630        Reviewed by Darin Adler.
1631
1632        Update ResourceLoaderSet Enumeration
1633        https://bugs.webkit.org/show_bug.cgi?id=50405
1634
1635        * loader/DocumentLoader.cpp:
1636        (WebCore::cancelAll): instead of copying the HashSet, use copyToVector.
1637        (WebCore::setAllDefersLoading): instead of copying the HashSet, use copyToVector.
1638
16392010-12-02  Andy Estes  <aestes@apple.com>
1640
1641        Reviewed by Darin Adler.
1642
1643        Implement (non-EventListener) marquee IDL attributes from HTML5.
1644        https://bugs.webkit.org/show_bug.cgi?id=49786
1645
1646        Test: fast/html/marquee-element.html
1647
1648        * html/HTMLMarqueeElement.cpp:
1649        (WebCore::HTMLMarqueeElement::scrollAmount): If the content attribute
1650        can be converted to a signed integer and is >= 0, return it.
1651        Otherwise, return the default scrollAmount value.
1652        (WebCore::HTMLMarqueeElement::setScrollAmount): Update the content
1653        attribute if it is >= 0. Otherwise, raise INDEX_SIZE_ERR.
1654        (WebCore::HTMLMarqueeElement::scrollDelay): Same as scrollAmount.
1655        (WebCore::HTMLMarqueeElement::setScrollDelay): Same as setScrollAmount.
1656        (WebCore::HTMLMarqueeElement::loop): If the content attribute can be
1657        converted to a signed integer and is greater than 0 or equal to -1,
1658        return it. Otherwise, return the default loop value.
1659        (WebCore::HTMLMarqueeElement::setLoop): Update the content attribute if
1660        it is greater than 0 or equal to -1. Otherwise, raise INDEX_SIZE_ERR.
1661        * html/HTMLMarqueeElement.h:
1662        * html/HTMLMarqueeElement.idl: Update the IDL to match what is in HTML5.
1663        * rendering/style/RenderStyle.h:
1664        (WebCore::InheritedFlags::initialMarqueeSpeed):
1665
16662010-12-02  Patrick Gansterer  <paroga@webkit.org>
1667
1668        Reviewed by Andreas Kling.
1669
1670        [OpenVG] Remove "current path" of GraphicsContext
1671        https://bugs.webkit.org/show_bug.cgi?id=50294
1672
1673        * platform/graphics/GraphicsContext.h:
1674        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
1675        (WebCore::GraphicsContext::fillPath):
1676        (WebCore::GraphicsContext::strokePath):
1677        (WebCore::GraphicsContext::clipPath):
1678        * platform/graphics/openvg/PainterOpenVG.cpp:
1679        (WebCore::PainterOpenVG::PainterOpenVG):
1680        (WebCore::PainterOpenVG::~PainterOpenVG):
1681        (WebCore::PainterOpenVG::drawPath):
1682        * platform/graphics/openvg/PainterOpenVG.h:
1683
16842010-12-02  Patrick Gansterer  <paroga@webkit.org>
1685
1686        Reviewed by Andreas Kling.
1687
1688        [WINCE] Remove "current path" of GraphicsContext
1689        https://bugs.webkit.org/show_bug.cgi?id=50284
1690
1691        * platform/graphics/GraphicsContext.h:
1692        * platform/graphics/wince/GraphicsContextWinCE.cpp:
1693        (WebCore::GraphicsContext::fillPath):
1694        (WebCore::GraphicsContext::strokePath):
1695
16962010-12-02  Johnny Ding  <jnd@chromium.org>
1697
1698        Reviewed by Adam Barth.
1699
1700        Set the right gesture status for URL redirections.
1701        https://bugs.webkit.org/show_bug.cgi?id=47817
1702
1703        Tests: fast/frames/location-redirect-user-gesture.html
1704               fast/frames/meta-refresh-user-gesture.html
1705
1706        * loader/NavigationScheduler.cpp:
1707        (WebCore::ScheduledNavigation::clearUserGesture):
1708        (WebCore::ScheduledRedirect::ScheduledRedirect):
1709
17102010-12-02  Chris Rogers  <crogers@google.com>
1711
1712        Reviewed by Kenneth Russell.
1713
1714        AudioContext needs createBuffer() method from ArrayBuffer
1715        https://bugs.webkit.org/show_bug.cgi?id=50343
1716
1717        No new tests since audio API is not yet implemented.
1718
1719        * webaudio/AudioContext.cpp:
1720        (WebCore::AudioContext::createBuffer):
1721        * webaudio/AudioContext.h:
1722        * webaudio/AudioContext.idl:
1723
17242010-12-02  Noel Gordon  <noel.gordon@gmail.com>
1725
1726        Reviewed by David Levin.
1727
1728        [chromium] Add canvas.toDataURL("image/jpeg", quality) support
1729        https://bugs.webkit.org/show_bug.cgi?id=49365
1730
1731        Adds a libjpeg-based image encoder for Skia bitmaps.  Default encoding quality
1732        is 92 to match Mozilla, also Safari, though the actual value used by Safari is
1733        undocumented, and it appears to pre-blur images prior to compression.
1734
1735        The preMultipliedBGRAtoRGB() routine restores the un-premultiplied RGB colors
1736        where there is non-zero alpha.  Again, this matches Firefox and Safari, but no
1737        browser conforms to the HTML5 canvas standard here, I believe, considering the
1738        result of canvas/philip/tests/toDataURL.jpeg.alpha.html; that test ignores the
1739        alpha channel when extracting an "image/jpeg".toDataURL().  The correct answer
1740        needs more investigation, bug http://webkit.org/b/40147.
1741
1742        Canvas toDataURL is covered by existing tests canvas/philip/tests/toDataURL.*,
1743        and fast/canvas/*toDataURL* tests.
1744
1745        * WebCore.gypi:
1746        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1747        (WebCore::V8HTMLCanvasElement::toDataURLCallback): don't set encoding quality
1748        here, just pass the toDataURL parameters through to the canvas layer.
1749        * platform/chromium/MIMETypeRegistryChromium.cpp:
1750        (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): implement
1751        the supported mimeTypes for encoding in-place.
1752        * platform/graphics/skia/ImageBufferSkia.cpp:
1753        (WebCore::ImageBuffer::toDataURL): add jpeg encoding and quality support.
1754        * platform/image-encoders/skia/JPEGImageEncoder.cpp: Added.
1755        (WebCore::prepareOutput):
1756        (WebCore::writeOutput):
1757        (WebCore::finishOutput):
1758        (WebCore::handleError):
1759        (WebCore::preMultipliedBGRAtoRGB): FIXME: bug 40147.
1760        (WebCore::JPEGImageEncoder::encode):
1761        * platform/image-encoders/skia/JPEGImageEncoder.h: Added.
1762
17632010-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1764
1765        Unreviewed, rolling out r73152.
1766        http://trac.webkit.org/changeset/73152
1767        https://bugs.webkit.org/show_bug.cgi?id=50401
1768
1769        the patch has broken chromium win layout tests (Requested by
1770        loislo on #webkit).
1771
1772        * inspector/CodeGeneratorInspector.pm:
1773        * inspector/Inspector.idl:
1774        * inspector/front-end/Callback.js:
1775        * inspector/front-end/DOMAgent.js:
1776        (WebInspector.DOMNode):
1777        * inspector/front-end/inspector.js:
1778        (WebInspector.loaded.WebInspector.socket.onmessage):
1779        (WebInspector.dispatch):
1780        (WebInspector_syncDispatch):
1781        (WebInspector.reportProtocolError):
1782
17832010-12-02  W. James MacLean  <wjmaclean@chromium.org>
1784
1785        Reviewed by James Robinson.
1786
1787        Scaled Resized images are blurred when sent to Skia
1788        https://bugs.webkit.org/show_bug.cgi?id=42370
1789
1790        This patch modifies ImageSkia.cpp to fix the calculation of resampled
1791        bitmap sizes so as to include the transform matrix of the canvas.
1792        Includes new tests to catch a scrolling regression and a clipping regression.
1793
1794        Tests: svg/custom/image-rescale-clip.html
1795               svg/custom/image-rescale-scroll.html
1796               svg/custom/image-rescale.svg
1797
1798        * platform/graphics/skia/ImageSkia.cpp:
1799        (WebCore::computeResamplingMode):
1800        (WebCore::drawResampledBitmap):
1801
18022010-12-02  Erik Arvidsson  <arv@chromium.org>
1803
1804        Reviewed by Darin Adler.
1805
1806        Missing DOM property for incremental input attribute
1807        https://bugs.webkit.org/show_bug.cgi?id=50335
1808
1809        Test: fast/forms/incremental-dom-property.html
1810
1811        * html/HTMLInputElement.idl: Added attribute
1812
18132010-12-02  John Knottenbelt  <jknotten@chromium.org>
1814
1815        Reviewed by Steve Block.
1816
1817        Move requestGeolocationPermissionForFrame to GeolocationClient
1818        https://bugs.webkit.org/show_bug.cgi?id=50061
1819
1820        This change facilitates client-based geolocation implementation by
1821        bringing together permission control into the geolocation client
1822        interface.
1823
1824        * page/Chrome.h:
1825        * page/ChromeClient.h:
1826        * page/Geolocation.cpp:
1827        (WebCore::Geolocation::disconnectFrame):
1828        (WebCore::Geolocation::requestPermission):
1829        * page/GeolocationClient.h:
1830        * page/GeolocationController.cpp:
1831        (WebCore::GeolocationController::requestPermission):
1832        (WebCore::GeolocationController::cancelPermissionRequest):
1833        * page/GeolocationController.h:
1834        * platform/mock/GeolocationClientMock.cpp:
1835        (WebCore::GeolocationClientMock::GeolocationClientMock):
1836        (WebCore::GeolocationClientMock::setPermission):
1837        (WebCore::GeolocationClientMock::requestPermission):
1838        (WebCore::GeolocationClientMock::cancelPermissionRequest):
1839        (WebCore::GeolocationClientMock::asyncUpdatePermission):
1840        (WebCore::GeolocationClientMock::permissionTimerFired):
1841        (WebCore::GeolocationClientMock::reset):
1842        (WebCore::GeolocationClientMock::stopUpdating):
1843        (WebCore::GeolocationClientMock::asyncUpdateController):
1844        (WebCore::GeolocationClientMock::controllerTimerFired):
1845        * platform/mock/GeolocationClientMock.h:
1846
18472010-12-01  Ilya Tikhonovsky  <loislo@chromium.org>
1848
1849        Reviewed by Pavel Feldman.
1850
1851        Web Inspector: Inspector protocol cleanup task.
1852
1853        The patch has just small renames and adjustments for the protocol things.
1854        'handler' keyword in idl file was replaced with 'domain'.
1855        'domain' property was assigned for the each backend to frontend messages.
1856        At the next step WebInspector wrapper functions will be removed and 'agents' will be called directly.
1857
1858        https://bugs.webkit.org/show_bug.cgi?id=50337
1859
1860        * inspector/CodeGeneratorInspector.pm:
1861        * inspector/Inspector.idl:
1862        * inspector/front-end/inspector.js:
1863        (WebInspector_syncDispatch):
1864
18652010-12-01  Andrey Kosyakov  <caseq@chromium.org>
1866
1867        Reviewed by Pavel Feldman.
1868
1869        Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
1870        Re-implementing HAR export functionality that used to be in Resources
1871        tab in Network tab.
1872        https://bugs.webkit.org/show_bug.cgi?id=45663
1873
1874        * inspector/front-end/NetworkPanel.js:
1875        (WebInspector.NetworkPanel.prototype._createTable):
1876        (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
1877        (WebInspector.NetworkPanel.prototype._contextMenu):
1878        (WebInspector.NetworkPanel.prototype._exportAll):
1879        (WebInspector.NetworkPanel.prototype._exportResource):
1880        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
1881        * inspector/front-end/networkPanel.css:
1882        (.data-grid table.data tr.revealed.network-item):
1883        (.data-grid.filter-other table.data tr.revealed.network-category-other):
1884
18852010-12-02  Dai Mikurube  <dmikurube@google.com>
1886
1887        Reviewed by Kent Tamura.
1888
1889        Reject named colors, accept only #rrggbb in <input type=color />
1890        https://bugs.webkit.org/show_bug.cgi?id=50308
1891
1892        * html/ColorInputType.cpp: Modified to accept only simple colors like #xxxxxx.
1893        (WebCore::isValidColorString):
1894
18952010-12-02  Vincent Scheib  <scheib@chromium.org>
1896
1897        Reviewed by Darin Fisher.
1898
1899        [chromium] histograms api updated in WebKitClient and added to ChromiumBridge
1900        https://bugs.webkit.org/show_bug.cgi?id=50285
1901
1902        Test by loading "about:histograms" after navigating to accelerated pages.
1903
1904        * platform/chromium/ChromiumBridge.h: api update.
1905
19062010-12-02  Andras Becsi  <abecsi@webkit.org>
1907
1908        Unreviewed build fix.
1909
1910        [Qt][V8] Fix linking of generated sources.
1911
1912        No new tests needed.
1913
1914        * WebCore.pro: add missing V8ImageDataCustom.cpp.
1915
19162010-12-02  Nikolas Zimmermann  <nzimmermann@rim.com>
1917
1918        Reviewed by Adam Roben.
1919
1920        Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGAnimatedString/SVGAnimatedEnumeration
1921        https://bugs.webkit.org/show_bug.cgi?id=50383
1922
1923        Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_(STRING|ENUMERATION) / DEFINE_ANIMATED_(STRING|ENUMERATION).
1924        The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
1925
1926        No functional changes, thus no new tests.
1927
1928        * svg/SVGAElement.cpp:
1929        * svg/SVGAElement.h:
1930        (WebCore::SVGAElement::isValid):
1931        (WebCore::SVGAElement::target):
1932        * svg/SVGAltGlyphElement.cpp:
1933        * svg/SVGAltGlyphElement.h:
1934        * svg/SVGAnimatedEnumeration.h:
1935        * svg/SVGAnimatedString.h:
1936        * svg/SVGClipPathElement.cpp:
1937        * svg/SVGClipPathElement.h:
1938        * svg/SVGComponentTransferFunctionElement.cpp:
1939        * svg/SVGComponentTransferFunctionElement.h:
1940        * svg/SVGCursorElement.cpp:
1941        * svg/SVGCursorElement.h:
1942        * svg/SVGFEBlendElement.cpp:
1943        * svg/SVGFEBlendElement.h:
1944        * svg/SVGFEColorMatrixElement.cpp:
1945        * svg/SVGFEColorMatrixElement.h:
1946        * svg/SVGFEComponentTransferElement.cpp:
1947        * svg/SVGFEComponentTransferElement.h:
1948        * svg/SVGFECompositeElement.cpp:
1949        * svg/SVGFECompositeElement.h:
1950        * svg/SVGFEConvolveMatrixElement.cpp:
1951        * svg/SVGFEConvolveMatrixElement.h:
1952        * svg/SVGFEDiffuseLightingElement.cpp:
1953        * svg/SVGFEDiffuseLightingElement.h:
1954        * svg/SVGFEDisplacementMapElement.cpp:
1955        * svg/SVGFEDisplacementMapElement.h:
1956        * svg/SVGFEGaussianBlurElement.cpp:
1957        * svg/SVGFEGaussianBlurElement.h:
1958        * svg/SVGFEImageElement.cpp:
1959        * svg/SVGFEImageElement.h:
1960        * svg/SVGFELightElement.cpp:
1961        * svg/SVGFEMergeNodeElement.cpp:
1962        * svg/SVGFEMergeNodeElement.h:
1963        * svg/SVGFEMorphologyElement.cpp:
1964        * svg/SVGFEMorphologyElement.h:
1965        * svg/SVGFEOffsetElement.cpp:
1966        * svg/SVGFEOffsetElement.h:
1967        * svg/SVGFESpecularLightingElement.cpp:
1968        * svg/SVGFESpecularLightingElement.h:
1969        * svg/SVGFETileElement.cpp:
1970        * svg/SVGFETileElement.h:
1971        * svg/SVGFETurbulenceElement.cpp:
1972        * svg/SVGFETurbulenceElement.h:
1973        * svg/SVGFilterElement.cpp:
1974        * svg/SVGFilterElement.h:
1975        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1976        * svg/SVGFilterPrimitiveStandardAttributes.h:
1977        * svg/SVGForeignObjectElement.cpp:
1978        * svg/SVGForeignObjectElement.h:
1979        * svg/SVGGradientElement.cpp:
1980        * svg/SVGGradientElement.h:
1981        * svg/SVGImageElement.cpp:
1982        * svg/SVGImageElement.h:
1983        * svg/SVGMPathElement.cpp:
1984        * svg/SVGMPathElement.h:
1985        * svg/SVGMarkerElement.cpp:
1986        * svg/SVGMarkerElement.h:
1987        * svg/SVGMaskElement.cpp:
1988        * svg/SVGMaskElement.h:
1989        * svg/SVGPatternElement.cpp:
1990        * svg/SVGPatternElement.h:
1991        * svg/SVGScriptElement.cpp:
1992        * svg/SVGScriptElement.h:
1993        * svg/SVGStyledElement.cpp:
1994        * svg/SVGStyledElement.h:
1995        (WebCore::SVGStyledElement::hasRelativeLengths):
1996        (WebCore::SVGStyledElement::supportsMarkers):
1997        (WebCore::SVGStyledElement::style):
1998        (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
1999        (WebCore::SVGStyledElement::selfHasRelativeLengths):
2000        (WebCore::SVGStyledElement::isStyled):
2001        * svg/SVGTRefElement.cpp:
2002        * svg/SVGTRefElement.h:
2003        * svg/SVGTextContentElement.cpp:
2004        * svg/SVGTextContentElement.h:
2005        * svg/SVGTextPathElement.cpp:
2006        * svg/SVGTextPathElement.h:
2007        * svg/SVGUseElement.cpp:
2008        * svg/SVGUseElement.h:
2009
20102010-12-02  Patrick Gansterer  <paroga@webkit.org>
2011
2012        Reviewed by Andreas Kling.
2013
2014        [WX] Remove "current path" of GraphicsContext
2015        https://bugs.webkit.org/show_bug.cgi?id=50286
2016
2017        * platform/graphics/GraphicsContext.h:
2018        * platform/graphics/wx/GraphicsContextWx.cpp:
2019        (WebCore::GraphicsContext::GraphicsContext):
2020        (WebCore::GraphicsContext::fillPath):
2021        (WebCore::GraphicsContext::strokePath):
2022
20232010-10-26  Martin Robinson  <mrobinson@igalia.com>
2024
2025        Reviewed by Xan Lopez.
2026
2027        [GTK] Text input controls do not react properly to CSS styling
2028        https://bugs.webkit.org/show_bug.cgi?id=40855
2029
2030        Improve text input control rendering. Instead of using the GTK+ border
2031        attributes of the control modify the padding, they modify the border.
2032        Make this same choice for search inputs and text area inputs.
2033
2034        * platform/gtk/RenderThemeGtk.cpp:
2035        (WebCore::setTextInputBorders): Added this helper which sets text input control
2036        borders based on GTK+ theme settings.
2037        (WebCore::RenderThemeGtk::adjustTextFieldStyle): Use the setTextInputBorders helper.
2038        (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto.
2039        (WebCore::RenderThemeGtk::adjustSearchFieldStyle): Ditto.
2040        * platform/gtk/RenderThemeGtk.h:
2041
20422010-12-02  Andreas Kling  <kling@webkit.org>
2043
2044        Reviewed by Kenneth Rohde Christiansen.
2045
2046        [Qt] GraphicsContext::strokeRect() taints the context's lineWidth
2047        https://bugs.webkit.org/show_bug.cgi?id=50269
2048
2049        Test: fast/canvas/canvas-lineWidth-intact-after-strokeRect.html
2050
2051        * platform/graphics/qt/GraphicsContextQt.cpp:
2052        (WebCore::GraphicsContext::strokeRect): Restore the context's
2053        original stroke thickness after painting.
2054
20552010-12-02  Renata Hodovan  <reni@webkit.org>
2056
2057        Reviewed by Andreas Kling.
2058
2059        [Qt] GraphicsContext::clip(path) should clip using winding fill 
2060        https://bugs.webkit.org/show_bug.cgi?id=49912
2061
2062        GraphicsContext::clip(path) now uses winding fill and this function is called by
2063        GraphicsContext::canvasClip(path).
2064
2065        No new test is needed.
2066
2067        * platform/graphics/qt/GraphicsContextQt.cpp:
2068        (WebCore::GraphicsContext::clip):
2069        (WebCore::GraphicsContext::canvasClip):
2070
20712010-12-01  Alexander Pavlov  <apavlov@chromium.org>
2072
2073        Reviewed by Yury Semikhatsky.
2074
2075        Web Inspector: Remove obsolete CSS backend API from InspectorDOMAgent
2076        https://bugs.webkit.org/show_bug.cgi?id=50318
2077
2078        * CMakeLists.txt:
2079        * GNUmakefile.am:
2080        * WebCore.gypi:
2081        * WebCore.order:
2082        * WebCore.pro:
2083        * WebCore.vcproj/WebCore.vcproj:
2084        * WebCore.xcodeproj/project.pbxproj:
2085        * inspector/Inspector.idl:
2086        * inspector/InspectorCSSAgent.h:
2087        * inspector/InspectorCSSStore.cpp: Removed.
2088        * inspector/InspectorCSSStore.h: Removed.
2089        * inspector/InspectorController.cpp:
2090        (WebCore::InspectorController::InspectorController):
2091        (WebCore::InspectorController::connectFrontend):
2092        (WebCore::InspectorController::didCommitLoad):
2093        * inspector/InspectorController.h:
2094        * inspector/InspectorDOMAgent.cpp:
2095        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2096        (WebCore::InspectorDOMAgent::unbind):
2097        * inspector/InspectorDOMAgent.h:
2098        (WebCore::InspectorDOMAgent::create):
2099
21002010-12-02  Csaba Osztrogonác  <ossy@webkit.org>
2101
2102        Unreviewed trivial buildfix after r73117.
2103
2104        * page/FrameView.cpp:
2105        (WebCore::FrameView::calculateScrollbarModesForLayout):
2106
21072010-12-02  Yuqiang Xian  <yuqiang.xian@intel.com>
2108
2109        Reviewed by Pavel Feldman.
2110
2111        [V8] Speed up data property access for ImageData.
2112        https://bugs.webkit.org/show_bug.cgi?id=49999
2113
2114        We create a normal V8 object which has a PixelArray as the backing storage,
2115        and set the "data" property of the ImageData object to it. 
2116        This way "data" becomes a pure JS property and we don't need to call through
2117        the C++ bindings for ImageData "data" access. 
2118        This eliminates big overhead in switching between JavaScript and native
2119        contexts and performing object bindings.
2120
2121        No new tests. Relying on existing Canvas tests.
2122
2123        * WebCore.gypi:
2124        * bindings/scripts/CodeGeneratorV8.pm:
2125        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
2126        (WebCore::toV8):
2127        * bindings/v8/custom/V8ImageDataCustom.cpp: Added.
2128        (WebCore::toV8):
2129        * html/ImageData.idl:
2130        * html/canvas/CanvasPixelArray.idl:
2131
21322010-12-02  Kent Tamura  <tkent@chromium.org>
2133
2134        Unreviewed. Run sort-Xcode-project-file.
2135
2136        * WebCore.xcodeproj/project.pbxproj:
2137
21382010-12-02  Mike Lawther  <mikelawther@chromium.org>
2139
2140        Reviewed by David Hyatt.
2141
2142        Clean up of iframe scrollbar mode code
2143        https://bugs.webkit.org/show_bug.cgi?id=47797
2144
2145        Pull setChildNeedsLayout/setNeedsLayout calls out of scrollbar mode
2146        calculation method and put back into main layout function. 
2147        Early exit from the scrollbar calc when scrollbars are turned off. 
2148
2149        * page/FrameView.cpp:
2150        (WebCore::FrameView::calculateScrollbarModesForLayout):
2151        (WebCore::FrameView::layout):
2152
21532010-12-02  Hironori Bono  <hbono@chromium.org>
2154
2155        Reviewed by Darin Fisher.
2156
2157        [Chromium] Fix possible crashes in FontFallbackFont::determinePitch().
2158        https://bugs.webkit.org/show_bug.cgi?id=25770
2159
2160        When all of "Arial", "Courier New", and "Times New Roman" fonts are corrupted,
2161        FontCache::getLastResortFallbackFont() returns 0 and it causes this crash. To
2162        avoid this crash, this change falls back to system fonts (Windows ensures they
2163        are sane) as Win Safari does. Unfortunately, I don't have any ideas how I can
2164        write a layout test for this issue because this crash happens on a PC some of
2165        its system fonts are corrupted.
2166
2167        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2168        (WebCore::fontDataFromDescriptionAndLogFont):
2169        (WebCore::FontCache::getLastResortFallbackFont):
2170
21712010-12-02  Dimitri Glazkov  <dglazkov@chromium.org>
2172
2173        Reviewed by Kent Tamura.
2174
2175        Provide means to store shadow DOM nodes on Element
2176        https://bugs.webkit.org/show_bug.cgi?id=48697
2177
2178        Adds shadow DOM awareness to the standard Node attach/detach,
2179        document and tree insertion and removal cycle.
2180
2181        No new tests, because the code is not yet used.
2182
2183        * dom/Element.cpp:
2184        (WebCore::Element::insertedIntoDocument): Added logic to cascade down to shadow DOM, if present.
2185        (WebCore::Element::removedFromDocument): Ditto.
2186        (WebCore::Element::insertedIntoTree): Ditto.
2187        (WebCore::Element::removedFromTree): Ditto.
2188        (WebCore::Element::attach): Ditto.
2189        (WebCore::Element::detach): Ditto.
2190        (WebCore::Element::recalcStyle):
2191        (WebCore::Element::shadowRoot): Added.
2192        (WebCore::Element::setShadowRoot): Added.
2193        (WebCore::Element::clearShadowRoot): Added.
2194        * dom/Element.h: Added decls.
2195        * dom/ElementRareData.h: Added a member to hold a RefPtr to the shadow DOM root for the element.
2196
21972010-12-02  Adam Barth  <abarth@webkit.org>
2198
2199        Reviewed by Eric Seidel.
2200
2201        Gray-scale JPEG images with a color profile are stretched horizonally
2202        https://bugs.webkit.org/show_bug.cgi?id=49950
2203
2204        Turns out gray-scale JPEGs with color profiles have the same issue as
2205        PNGs.  As with PNGs, we suppress now suppress the color profile for
2206        gray-scale JPEGs.  Most importantly, this patch adds a test.
2207
2208        Test: fast/images/gray-scale-jpeg-with-color-profile.html
2209
2210        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2211        (WebCore::JPEGImageReader::decode):
2212
22132010-12-01  Geoffrey Garen  <ggaren@apple.com>
2214
2215        Build fix: Added a forwarding header.
2216
2217        * ForwardingHeaders/wtf/OSAllocator.h: Added.
2218
22192010-12-01  Jia Pu  <jpu@apple.com>
2220
2221        Reviewed by Darin Adler.
2222
2223        Support multiple correction candidates panel for misspelled word on Mac OS X.
2224        https://bugs.webkit.org/show_bug.cgi?id=50137
2225        <rdar://problem/8568059>
2226
2227        Test: platform/mac/editing/spelling/delete-autocorrected-word-1.html
2228        Manual test: WebCore/manual-tests/autocorrection/dismiss-multiple-guesses.html
2229                     WebCore/manual-tests/autocorrection/select-from-multiple-guesses.html
2230
2231        This patch is for supporting multiple correction suggestion panel on Mac OS X.
2232        The behavior and implementation is similar to that of reversion candiate panel.
2233
2234        * WebCore.exp.in: Added and removed symbols.
2235
2236        * editing/CorrectionPanelInfo.h: Added new correction panel type, PanelTypeSpellingSuggestions.
2237
2238        * editing/Editor.cpp:
2239        (WebCore::markerTypesForAutocorrection): Convenient function for getting marker types to
2240          be added to autocorrected word.
2241        (WebCore::boundingBoxForRange): Convenient function for calculating the bounding box of a range.
2242        (WebCore::markerTypesForReplacement): Convenient function for getting marker types to
2243          be added to word that has been replaced by various correction panel.
2244        (WebCore::Editor::respondToChangedSelection): Added code to trigger timer for multiple
2245          suggestion panel.
2246        (WebCore::Editor::guessesForMisspelledSelection): Adopted new signature of EditorClient::getGuessesForWord().
2247        (WebCore::Editor::markMisspellingsAfterTypingToWord): Adopted new signature of applyCorrectionPanelInfo().
2248        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
2249        (WebCore::Editor::correctionPanelTimerFired): Added code to handle new multiple suggestion panel.
2250        (WebCore::Editor::handleCorrectionPanelResult): Replaced handleRejectedCorrection(), since
2251          with new AppKit correction panel API, not only rejection, but also confirmation can be
2252          handled in callback.
2253        (WebCore::Editor::stopCorrectionPanelTimer): Moved the code that clears correction panel info
2254          from dismissCorrectionPanel() to this function to fix a bug that would occur when deleting
2255          autocorrected word.
2256        (WebCore::Editor::dismissCorrectionPanel): Ditto.
2257        (WebCore::Editor::applyCorrectionPanelInfo): Added code to handle new multiple suggestion panel.
2258
2259        * editing/Editor.h: Replaced handleRejectedCorrection() with handleCorrectionPanelResult().
2260          Changed the signature of applyCorrectionPanelInfo() to hanlde new correction panel type.
2261
2262        * editing/TextCheckingHelper.cpp:
2263        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Adopted new EditorClient::getGuessesForWord().
2264
2265        * editing/TextCheckingHelper.h: Made paragraphRange() public.
2266
2267        * loader/EmptyClients.h:
2268        (WebCore::EmptyEditorClient::showCorrectionPanel): Adopted new signature defined in base class.
2269        (WebCore::EmptyEditorClient::getGuessesForWord): Ditto.
2270
2271        * manual-tests/autocorrection/dismiss-multiple-guesses.html: Added.
2272
2273        * manual-tests/autocorrection/select-from-multiple-guesses.html: Added.
2274
2275        * page/EditorClient.h:  Changed showCorrectionPanel() to allow passing multiple correction
2276          candidates. Changed getGuessesForWord() to allow passing in contextual text for better
2277          correction suggestions (for those spellcheckers that utilizes such contextual information).
2278
22792010-12-01  David Hyatt  <hyatt@apple.com>
2280
2281        Reviewed by James Robinson.
2282
2283        https://bugs.webkit.org/show_bug.cgi?id=50360
2284        
2285        Make sure to include the origin adjustment code that I added on Mac to keep truncation-rtl.html passing.
2286
2287        * platform/ScrollView.cpp:
2288        (WebCore::ScrollView::updateScrollbars):
2289
22902010-12-01  David Hyatt  <hyatt@apple.com>
2291
2292        Reviewed by Dan Bernstein.
2293
2294        https://bugs.webkit.org/show_bug.cgi?id=46645
2295
2296        Generalize overflow section scrollOriginX code to be a point and to work in both horizontal
2297        and vertical modes.
2298
2299        Not testable yet, since the rightmost/leftmost/topmost/lowestPosition functions are returning
2300        horrendously wrong values in the vertical text case for overflow:auto objects.
2301
2302        * rendering/RenderLayer.cpp:
2303        (WebCore::RenderLayer::RenderLayer):
2304        (WebCore::RenderLayer::scrollToOffset):
2305        (WebCore::RenderLayer::computeScrollDimensions):
2306        (WebCore::RenderLayer::updateOverflowStatus):
2307        * rendering/RenderLayer.h:
2308        (WebCore::RenderLayer::scrolledContentOffset):
2309        (WebCore::RenderLayer::scrollXOffset):
2310        (WebCore::RenderLayer::scrollYOffset):
2311        (WebCore::RenderLayer::scrollToXOffset):
2312        (WebCore::RenderLayer::scrollToYOffset):
2313
23142010-12-01  Steve Falkenburg  <sfalken@apple.com>
2315
2316        Reviewed by Adam Roben.
2317
2318        WinCairo build should not use link-time code generation (LTCG)
2319        https://bugs.webkit.org/show_bug.cgi?id=50353
2320
2321        * WebCore.vcproj/QTMovieWin.vcproj:
2322        * WebCore.vcproj/WebCore.vcproj:
2323
23242010-12-01  David Hyatt  <hyatt@apple.com>
2325
2326        Reviewed by Darin Adler.
2327
2328        https://bugs.webkit.org/show_bug.cgi?id=46645
2329        
2330        Part 1 of making scrolling work with vertical text. This patch generalizes the scrollOriginX concept
2331        recently added for horizontal RTL documents and applies it to writing modes as well.  Now the
2332        scrollOrigin is a point, since you can start off locked to the bottom or locked to the right.
2333        
2334        This patch also fixes numerous bugs with the scrollOrigin code using native Mac NSScrollViews and
2335        makes them behave the same as the cross-platform code (allowing for cross-platform results to be
2336        landed).
2337
2338        * page/FrameView.cpp:
2339        (WebCore::FrameView::adjustViewSize):
2340        * page/mac/WebCoreFrameView.h:
2341        * platform/ScrollView.cpp:
2342        (WebCore::ScrollView::ScrollView):
2343        (WebCore::ScrollView::maximumScrollPosition):
2344        (WebCore::ScrollView::minimumScrollPosition):
2345        (WebCore::ScrollView::valueChanged):
2346        (WebCore::ScrollView::updateScrollbars):
2347        (WebCore::ScrollView::wheelEvent):
2348        * platform/ScrollView.h:
2349        (WebCore::ScrollView::scrollOrigin):
2350        * platform/mac/ScrollViewMac.mm:
2351        (WebCore::ScrollView::platformSetScrollPosition):
2352        (WebCore::ScrollView::platformSetScrollOrigin):
2353        * rendering/RenderBox.cpp:
2354        (WebCore::RenderBox::paintRootBoxDecorations):
2355        * rendering/RenderView.cpp:
2356        (WebCore::RenderView::layout):
2357        (WebCore::RenderView::docTop):
2358        (WebCore::RenderView::docHeight):
2359        (WebCore::RenderView::docLeft):
2360        (WebCore::RenderView::docWidth):
2361        * rendering/RenderView.h:
2362
23632010-11-30  Steve Block  <steveblock@google.com>
2364
2365        Reviewed by Jeremy Orlow.
2366
2367        Upstream recent changes to WebCore/platform/network/android
2368        https://bugs.webkit.org/show_bug.cgi?id=50224
2369
2370        Android implementation changes only, no new tests.
2371
2372        * platform/network/NetworkingContext.h:
2373        * platform/network/android/CookieJarAndroid.cpp:
2374        (WebCore::setCookies):
2375        (WebCore::cookies):
2376        (WebCore::cookieRequestHeaderFieldValue):
2377        (WebCore::cookiesEnabled):
2378        * platform/network/android/ProxyServerAndroid.cpp: Added.
2379        (WebCore::proxyServersForURL):
2380        * platform/network/android/ResourceHandleAndroid.cpp:
2381        (WebCore::ResourceHandle::start):
2382        (WebCore::ResourceHandle::loadResourceSynchronously):
2383        * platform/network/android/ResourceRequestAndroid.cpp:
2384        (WebCore::initializeMaximumHTTPConnectionCountPerHost):
2385
23862010-12-01  Steve Falkenburg  <sfalken@apple.com>
2387
2388        Reviewed by Adam Roben.
2389
2390        vcproj changes can't be applied cleanly by the Windows EWS bot
2391        https://bugs.webkit.org/show_bug.cgi?id=50328
2392
2393        * WebCore.vcproj/QTMovieWin.vcproj: Modified property svn:eol-style.
2394        * WebCore.vcproj/QTMovieWinCommon.vsprops: Added property svn:eol-style.
2395        * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
2396        * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
2397        * WebCore.vcproj/WebCore.vcproj: Modified property svn:eol-style.
2398        * WebCore.vcproj/WebCoreCFNetwork.vsprops: Added property svn:eol-style.
2399        * WebCore.vcproj/WebCoreCG.vsprops: Added property svn:eol-style.
2400        * WebCore.vcproj/WebCoreCURL.vsprops: Added property svn:eol-style.
2401        * WebCore.vcproj/WebCoreCairo.vsprops: Added property svn:eol-style.
2402        * WebCore.vcproj/WebCoreCommon.vsprops: Added property svn:eol-style.
2403        * WebCore.vcproj/WebCoreGenerated.vcproj: Modified property svn:eol-style.
2404        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added property svn:eol-style.
2405        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added property svn:eol-style.
2406        * WebCore.vcproj/WebCoreMediaQT.vsprops: Added property svn:eol-style.
2407        * WebCore.vcproj/WebCorePthreads.vsprops: Added property svn:eol-style.
2408        * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added property svn:eol-style.
2409
24102010-11-30  Vangelis Kokkevis  <vangelis@chromium.org>
2411
2412        Reviewed by Darin Fisher.
2413
2414        Adds accelerated compositing trigger flags to Settings to allow
2415        ports to set them via command line flags, etc.
2416        https://bugs.webkit.org/show_bug.cgi?id=50301
2417
2418        * page/Settings.cpp:
2419        (WebCore::Settings::Settings):
2420        (WebCore::Settings::setAcceleratedCompositingFor3DTransformsEnabled):
2421        (WebCore::Settings::setAcceleratedCompositingForVideoEnabled):
2422        (WebCore::Settings::setAcceleratedCompositingForPluginsEnabled):
2423        (WebCore::Settings::setAcceleratedCompositingForCanvasEnabled):
2424        (WebCore::Settings::setAcceleratedCompositingForAnimationEnabled):
2425        * page/Settings.h:
2426        (WebCore::Settings::acceleratedCompositingFor3DTransformsEnabled):
2427        (WebCore::Settings::acceleratedCompositingForVideoEnabled):
2428        (WebCore::Settings::acceleratedCompositingForPluginsEnabled):
2429        (WebCore::Settings::acceleratedCompositingForCanvasEnabled):
2430        (WebCore::Settings::acceleratedCompositingForAnimationEnabled):
2431
24322010-12-01  Darin Adler  <darin@apple.com>
2433
2434        Fixed warning seen on buildbot.
2435
2436        * platform/graphics/chromium/ContentLayerChromium.cpp:
2437        (WebCore::ContentLayerChromium::SharedValues::SharedValues): Added #if.
2438
24392010-12-01  Ryosuke Niwa  <rniwa@webkit.org>
2440
2441        Reviewed by Darin Adler, Tony Chang, and unofficially by Enrica Casucci.
2442
2443        chrome.dll!WebCore::RangeBoundaryPoint::toPosition ReadAV@NULL (cf0d0f28bc56f2591cc74f71b46036ea)
2444        https://bugs.webkit.org/show_bug.cgi?id=47808
2445
2446        The crash was caused by moveParagraphWithClones' not copying the entire paragraph
2447        when called by doApplyForSingleParagraph, which was induced by a bug in
2448        cloneParagraphUnderNewElement which ended the cloning process early when the start node
2449        and the end node didn't share the same parent node. Fixed the bug in cloneParagraphUnderNewElement
2450        by calling traverseNextSibling(outerNode) instead of nextSibling().
2451
2452        Also added an early exit to InsertListCommand::doApply when lastSelectionRange is null.
2453
2454        Tests: editing/execCommand/switch-multiple-list-items-crash.html
2455               editing/execCommand/switch-multiple-list-items.html
2456
2457        * editing/CompositeEditCommand.cpp:
2458        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
2459        * editing/InsertListCommand.cpp:
2460        (WebCore::InsertListCommand::doApply):
2461
24622010-12-01  Kevin Ollivier  <kevino@theolliviers.com>
2463
2464        [wx] Build fixes after recent trunk changes.
2465
2466        * platform/graphics/wx/ImageBufferWx.cpp:
2467        (WebCore::ImageBuffer::ImageBuffer):
2468        * platform/wx/LocalizedStringsWx.cpp:
2469        (WebCore::platformDefaultLanguage):
2470
24712010-12-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2472
2473        Unreviewed, rolling out r73047.
2474        http://trac.webkit.org/changeset/73047
2475        https://bugs.webkit.org/show_bug.cgi?id=50339
2476
2477        missing bug number (Requested by rniwa on #webkit).
2478
2479        * editing/CompositeEditCommand.cpp:
2480        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
2481        * editing/InsertListCommand.cpp:
2482        (WebCore::InsertListCommand::doApply):
2483
24842010-12-01  Ryosuke Niwa  <rniwa@webkit.org>
2485
2486        Reviewed by Darin Adler, Tony Chang, and unofficially by Enrica Casucci.
2487
2488        The crash was caused by moveParagraphWithClones' not copying the entire paragraph
2489        when called by doApplyForSingleParagraph, which was induced by a bug in
2490        cloneParagraphUnderNewElement which ended the cloning process early when the start node
2491        and the end node didn't share the same parent node. Fixed the bug in cloneParagraphUnderNewElement
2492        by calling traverseNextSibling(outerNode) instead of nextSibling().
2493
2494        Also added an early exit to InsertListCommand::doApply when lastSelectionRange is null.
2495
2496        Tests: editing/execCommand/switch-multiple-list-items-crash.html
2497               editing/execCommand/switch-multiple-list-items.html
2498
2499        * editing/CompositeEditCommand.cpp:
2500        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
2501        * editing/InsertListCommand.cpp:
2502        (WebCore::InsertListCommand::doApply):
2503
25042010-12-01  Grace Kloba  <klobag@chromium.org>
2505
2506        Reviewed by Kenneth Russell.
2507
2508        [chromium] ContentLayerChromium shader should honor the platform Sk_x_SHIFT value instead of assuming BGRA color
2509        https://bugs.webkit.org/show_bug.cgi?id=50189
2510
2511        * platform/graphics/chromium/ContentLayerChromium.cpp:
2512        (WebCore::ContentLayerChromium::SharedValues::SharedValues):Use SK_B32_SHIFT to decide whether to use RGBA or BGRA shader for Skia port.
2513
25142010-12-01  Nico Weber  <thakis@chromium.org>
2515
2516        Reviewed by Dimitri Glazkov.
2517
2518        Fix clang warnings caused by -Wlogical-op-parentheses
2519        https://bugs.webkit.org/show_bug.cgi?id=50324
2520
2521        * platform/graphics/mac/ComplexTextController.cpp:
2522        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2523
25242010-12-01  Martin Robinson  <mrobinson@igalia.com>
2525
2526        Build fix for GTK+.
2527
2528        * platform/gtk/PopupMenuGtk.cpp:
2529        (WebCore::PopupMenuGtk::typeAheadFind): Uncomment mistakenly commented line.
2530
25312010-12-01  Apelete Seketeli  <apelete@seketeli.org> and Martin Robinson  <mrobinson@igalia.com>
2532
2533        Reviewed by Xan Lopez.
2534
2535        [Gtk] Open menulists should support typeahead find
2536        https://bugs.webkit.org/show_bug.cgi?id=27443
2537
2538        Added typeahead find support for open GTK+ menulists.
2539
2540        Test: platform/gtk/fast/forms/menulist-typeahead-find.html
2541
2542        * platform/gtk/PopupMenuGtk.cpp:
2543        (WebCore::PopupMenuGtk::PopupMenuGtk): Initialize new members.
2544        (WebCore::PopupMenuGtk::show): Track currently selected menu item
2545        via a signal handler.
2546        (WebCore::PopupMenuGtk::typeAheadFind): Added.
2547        (WebCore::PopupMenuGtk::menuUnmapped): Reset typeahead find state
2548        when menu is unmapped.
2549        (WebCore::PopupMenuGtk::resetTypeAheadFindState): Added.
2550        (WebCore::PopupMenuGtk::selectItemCallback): Added.
2551        (WebCore::PopupMenuGtk::keyPressEventCallback): Added.
2552        * platform/gtk/PopupMenuGtk.h: Added new members to track typeahead
2553        find state.
2554
25552010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2556
2557        Reviewed by Xan Lopez.
2558
2559        Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGAnimatedNumber
2560        https://bugs.webkit.org/show_bug.cgi?id=50323
2561
2562        Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_NUMBER / DEFINE_ANIMATED_NUMBER.
2563        The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
2564
2565        No functional changes, thus no new tests.
2566
2567        * svg/SVGAnimatedNumber.h:
2568        * svg/SVGComponentTransferFunctionElement.cpp:
2569        * svg/SVGComponentTransferFunctionElement.h:
2570        * svg/SVGFECompositeElement.cpp:
2571        * svg/SVGFECompositeElement.h:
2572        * svg/SVGFEConvolveMatrixElement.cpp:
2573        * svg/SVGFEConvolveMatrixElement.h:
2574        * svg/SVGFEDiffuseLightingElement.cpp:
2575        * svg/SVGFEDiffuseLightingElement.h:
2576        * svg/SVGFEDisplacementMapElement.cpp:
2577        * svg/SVGFEDisplacementMapElement.h:
2578        * svg/SVGFEGaussianBlurElement.cpp:
2579        * svg/SVGFEGaussianBlurElement.h:
2580        * svg/SVGFELightElement.cpp:
2581        * svg/SVGFELightElement.h:
2582        * svg/SVGFEMorphologyElement.cpp:
2583        * svg/SVGFEMorphologyElement.h:
2584        * svg/SVGFEOffsetElement.cpp:
2585        * svg/SVGFEOffsetElement.h:
2586        * svg/SVGFESpecularLightingElement.cpp:
2587        * svg/SVGFESpecularLightingElement.h:
2588        * svg/SVGFETurbulenceElement.cpp:
2589        * svg/SVGFETurbulenceElement.h:
2590        * svg/SVGPathElement.cpp:
2591        * svg/SVGPathElement.h:
2592        * svg/SVGStopElement.cpp:
2593        * svg/SVGStopElement.h:
2594        (WebCore::SVGStopElement::isGradientStop):
2595
25962010-12-01  Martin Robinson  <mrobinson@igalia.com>
2597
2598        Reviewed by Xan Lopez.
2599
2600        Sliders are not transformed after r50188
2601        https://bugs.webkit.org/show_bug.cgi?id=50317
2602
2603        Need to call updateLayerTransform during slider layout, as sliders
2604        may be transformed.
2605
2606        No new tests. This patch should make fast/forms/slider-transformed.html
2607        pass on the GTK+ bots.
2608
2609        * rendering/RenderSlider.cpp:
2610        (WebCore::RenderSlider::layout): Call updateLayerTransform here.
2611
26122010-11-30  Pavel Feldman  <pfeldman@chromium.org>
2613
2614        Reviewed by Yury Semikhatsky.
2615
2616        Web Inspector: do not make helpScreen.css lazily loaded.
2617        https://bugs.webkit.org/show_bug.cgi?id=50304
2618
2619        * inspector/front-end/HelpScreen.js:
2620        (WebInspector.HelpScreen):
2621        (WebInspector.HelpScreen.prototype._onBlur):
2622        * inspector/front-end/inspector.html:
2623
26242010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2625
2626        Reviewed by Xan Lopez.
2627
2628        Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGLengthList/SVGNumberList/SVGTransformList
2629        https://bugs.webkit.org/show_bug.cgi?id=50322
2630
2631        Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_(LENGTH|NUMBER|TRANSFORM)_LIST / DEFINE_ANIMATED_(LENGTH|NUMBER|TRANSFORM).
2632        The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
2633
2634        No functional changes, thus no new tests.
2635
2636        * svg/SVGAnimatedLengthList.h:
2637        * svg/SVGAnimatedNumberList.h:
2638        * svg/SVGAnimatedTransformList.h:
2639        * svg/SVGComponentTransferFunctionElement.cpp:
2640        * svg/SVGComponentTransferFunctionElement.h:
2641        * svg/SVGFEColorMatrixElement.cpp:
2642        * svg/SVGFEColorMatrixElement.h:
2643        * svg/SVGFEConvolveMatrixElement.cpp:
2644        * svg/SVGFEConvolveMatrixElement.h:
2645        * svg/SVGGradientElement.cpp:
2646        * svg/SVGGradientElement.h:
2647        (WebCore::SVGGradientElement::needsPendingResourceHandling):
2648        * svg/SVGPatternElement.cpp:
2649        * svg/SVGPatternElement.h:
2650        * svg/SVGPolygonElement.cpp:
2651        * svg/SVGPolylineElement.cpp:
2652        * svg/SVGStyledTransformableElement.cpp:
2653        * svg/SVGStyledTransformableElement.h:
2654        * svg/SVGTextElement.cpp:
2655        (WebCore::SVGTextElement::SVGTextElement):
2656        * svg/SVGTextElement.h:
2657        (WebCore::SVGTextElement::localCoordinateSpaceTransform):
2658        * svg/SVGTextPositioningElement.cpp:
2659        * svg/SVGTextPositioningElement.h:
2660        * svg/properties/SVGAnimatedPropertyMacros.h:
2661
26622010-12-01  Alexander Pavlov  <apavlov@chromium.org>
2663
2664        Reviewed by Yury Semikhatsky.
2665
2666        Web Inspector: name-only property appears in style declaration but not in the Styles pane
2667        https://bugs.webkit.org/show_bug.cgi?id=49663
2668
2669        Check that at least one property has been parsed from the user input.
2670
2671        * inspector/InspectorStyleSheet.cpp:
2672        (WebCore::InspectorStyle::setPropertyText):
2673
26742010-12-01  Andrey Kosyakov  <caseq@chromium.org>
2675
2676        Reviewed by Pavel Feldman.
2677
2678        Web Inspector: disable cookies tab in network resource view by default, enable for chromium
2679        https://bugs.webkit.org/show_bug.cgi?id=50249
2680
2681        * inspector/front-end/NetworkItemView.js:
2682        (WebInspector.NetworkItemView):
2683        (WebInspector.NetworkItemView.prototype.resize):
2684        * inspector/front-end/Settings.js:
2685
26862010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2687
2688        Reviewed by Xan Lopez.
2689
2690        Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGLength
2691        https://bugs.webkit.org/show_bug.cgi?id=50316
2692
2693        Introduce DECLARE_ANIMATED_LENGTH / DEFINE_ANIMATED_LENGTH, splitting up the original DECLARE_ANIMATED_PROPERTY_NEW macro
2694        in a part that goes in the .cpp file and another that remains in the header. This avoids having to include SVGNames.h
2695        in all SVG*Element files.
2696
2697        No functional changes, thus no new tests.
2698
2699        * svg/SVGAnimatedLength.h:
2700        * svg/SVGCircleElement.cpp:
2701        * svg/SVGCircleElement.h:
2702        (WebCore::SVGCircleElement::isValid):
2703        * svg/SVGCursorElement.cpp:
2704        * svg/SVGCursorElement.h:
2705        (WebCore::SVGCursorElement::isValid):
2706        * svg/SVGEllipseElement.cpp:
2707        * svg/SVGEllipseElement.h:
2708        (WebCore::SVGEllipseElement::isValid):
2709        * svg/SVGFilterElement.cpp:
2710        * svg/SVGFilterElement.h:
2711        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2712        * svg/SVGFilterPrimitiveStandardAttributes.h:
2713        * svg/SVGForeignObjectElement.cpp:
2714        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
2715        * svg/SVGForeignObjectElement.h:
2716        (WebCore::SVGForeignObjectElement::isValid):
2717        * svg/SVGImageElement.cpp:
2718        * svg/SVGImageElement.h:
2719        (WebCore::SVGImageElement::isValid):
2720        * svg/SVGLineElement.cpp:
2721        * svg/SVGLineElement.h:
2722        (WebCore::SVGLineElement::isValid):
2723        (WebCore::SVGLineElement::supportsMarkers):
2724        * svg/SVGLinearGradientElement.cpp:
2725        * svg/SVGLinearGradientElement.h:
2726        * svg/SVGMarkerElement.cpp:
2727        (WebCore::SVGMarkerElement::SVGMarkerElement):
2728        * svg/SVGMarkerElement.h:
2729        * svg/SVGMaskElement.cpp:
2730        * svg/SVGMaskElement.h:
2731        (WebCore::SVGMaskElement::isValid):
2732        (WebCore::SVGMaskElement::needsPendingResourceHandling):
2733        * svg/SVGPatternElement.cpp:
2734        * svg/SVGPatternElement.h:
2735        (WebCore::SVGPatternElement::isValid):
2736        (WebCore::SVGPatternElement::needsPendingResourceHandling):
2737        * svg/SVGRadialGradientElement.cpp:
2738        * svg/SVGRadialGradientElement.h:
2739        * svg/SVGRectElement.cpp:
2740        * svg/SVGRectElement.h:
2741        (WebCore::SVGRectElement::isValid):
2742        * svg/SVGSVGElement.cpp:
2743        (WebCore::SVGSVGElement::SVGSVGElement):
2744        * svg/SVGSVGElement.h:
2745        (WebCore::SVGSVGElement::isValid):
2746        (WebCore::SVGSVGElement::setContainerSize):
2747        (WebCore::SVGSVGElement::containerSize):
2748        (WebCore::SVGSVGElement::hasSetContainerSize):
2749        (WebCore::SVGSVGElement::currentTranslate):
2750        (WebCore::SVGSVGElement::timeContainer):
2751        (WebCore::SVGSVGElement::isSVG):
2752        (WebCore::SVGSVGElement::rendererIsNeeded):
2753        * svg/SVGTextContentElement.cpp:
2754        * svg/SVGTextContentElement.h:
2755        (WebCore::SVGTextContentElement::isValid):
2756        (WebCore::SVGTextContentElement::isTextContent):
2757        * svg/SVGTextPathElement.cpp:
2758        * svg/SVGTextPathElement.h:
2759        * svg/SVGTextPositioningElement.h:
2760        * svg/SVGUseElement.cpp:
2761        * svg/SVGUseElement.h:
2762        (WebCore::SVGUseElement::isValid):
2763        (WebCore::SVGUseElement::setUpdatesBlocked):
2764        (WebCore::SVGUseElement::isPendingResource):
2765        * svg/properties/SVGAnimatedPropertyMacros.h:
2766
27672010-12-01  Anton D'Auria  <adauria@apple.com>
2768
2769        Reviewed by Kevin Decker.
2770
2771        Deny access to local and session storage in private browsing mode.
2772        https://bugs.webkit.org/show_bug.cgi?id=49329
2773
2774        * storage/Storage.cpp:
2775        (WebCore::Storage::length):
2776        (WebCore::Storage::key):
2777        (WebCore::Storage::getItem):
2778        (WebCore::Storage::contains):
2779
27802010-12-01  Philippe Normand  <pnormand@igalia.com>
2781
2782        Reviewed by Martin Robinson.
2783
2784        Volume control not correctly initialized
2785        https://bugs.webkit.org/show_bug.cgi?id=36299
2786
2787        Replaced the mute/volume Timers with g_timeouts which are (for
2788        now, at least) more reliable than Timers for one-shot-fire-now
2789        actions.
2790
2791        Test: media/video-volume.html
2792
2793        * platform/graphics/MediaPlayer.cpp:
2794        (WebCore::MediaPlayer::~MediaPlayer): Reset the raw pointers to 0
2795        when destructing the player.
2796        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2797        (WebCore::mediaPlayerPrivateVolumeChangeTimeoutCallback):
2798        (WebCore::mediaPlayerPrivateMuteChangeTimeoutCallback):
2799        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2800        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVolumeChange):
2801        (WebCore::MediaPlayerPrivateGStreamer::volumeChanged):
2802        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfMute):
2803        (WebCore::MediaPlayerPrivateGStreamer::muteChanged):
2804        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Set
2805        playbin2 volume/mute base on MediaPlayer related values.
2806        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2807
28082010-12-01  Patrick Gansterer  <paroga@webkit.org>
2809
2810        Reviewed by Andreas Kling.
2811
2812        Cleanup main CMakeLists.txt after r72664, r72672 and r72667
2813        https://bugs.webkit.org/show_bug.cgi?id=50232
2814
2815        * CMakeLists.txt: Removed obsolete dependencies.
2816
28172010-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2818
2819        Reviewed by Dirk Schulze.
2820
2821        Cleanup SVGPropertyTraits
2822        https://bugs.webkit.org/show_bug.cgi?id=50229
2823
2824        Move all template specializations for non-POD types (eg. SVGLength, SVGLengthList, etc.) from SVGPropertyTraits
2825        into the right SVG* classes, to avoid having to include a dozen SVG*.h files in SVGPropertyTraits.h, which is
2826        included by all DOM/JS/V8 binding files and SVGElement.h.
2827
2828        No new functionality, thus no new tests.
2829
2830        * GNUmakefile.am:
2831        * WebCore.gypi:
2832        * WebCore.pro:
2833        * WebCore.xcodeproj/project.pbxproj:
2834        * bindings/scripts/CodeGenerator.pm:
2835        * bindings/scripts/CodeGeneratorObjC.pm:
2836        * bindings/scripts/CodeGeneratorV8.pm:
2837        * svg/SVGAngle.h:
2838        * svg/SVGLength.h:
2839        * svg/SVGLengthList.h:
2840        * svg/SVGMarkerElement.h:
2841        * svg/SVGNumberList.h:
2842        * svg/SVGPatternElement.h:
2843        * svg/SVGPointList.h:
2844        * svg/SVGPreserveAspectRatio.h:
2845        * svg/SVGRect.h: Added.
2846        * svg/SVGSVGElement.h:
2847        * svg/SVGStringList.h:
2848        * svg/SVGSymbolElement.h:
2849        * svg/SVGTransformList.h:
2850        * svg/SVGViewElement.h:
2851        * svg/SVGViewSpec.h:
2852        * svg/properties/SVGListProperty.h:
2853        * svg/properties/SVGPropertyTraits.h:
2854        * svg/properties/SVGTransformListPropertyTearOff.h:
2855
28562010-11-30  Kent Tamura  <tkent@chromium.org>
2857
2858        Reviewed by Darin Adler.
2859
2860        Refactor HTMLInputElement: Move a part of HTMLInputElement::
2861        defaultEventHandler() to InputTypes
2862        https://bugs.webkit.org/show_bug.cgi?id=50097
2863
2864        Move all of keyboard-related event handling to InputType.
2865
2866        No new tests because this should not change any behavior.
2867
2868        * html/BaseButtonInputType.cpp:
2869        (WebCore::BaseButtonInputType::handleKeydownEvent):
2870        (WebCore::BaseButtonInputType::handleKeypressEvent):
2871        (WebCore::BaseButtonInputType::handleKeyupEvent):
2872        * html/BaseButtonInputType.h:
2873        * html/BaseCheckableInputType.cpp:
2874        (WebCore::BaseCheckableInputType::handleKeydownEvent):
2875        (WebCore::BaseCheckableInputType::handleKeypressEvent):
2876        * html/BaseCheckableInputType.h:
2877        * html/CheckboxInputType.cpp:
2878        (WebCore::CheckboxInputType::handleKeyupEvent):
2879        * html/CheckboxInputType.h:
2880        * html/HTMLInputElement.cpp:
2881        (WebCore::HTMLInputElement::defaultEventHandler):
2882         We remove !implicitSubmission check for callBaseClassEarly because
2883         implicitSubmission can not be true for keydown event and keypress
2884         event at this point.
2885        * html/InputType.cpp:
2886        (WebCore::InputType::shouldSubmitImplicitly):
2887         Returns true for a keypress event with "\r". Note that we don't overload
2888         this function for BUTTON, FILE, IMAGE, RESET, and SUBMIT because a
2889         keypress event with "\r" for these types returns from HTMLInputElement::defaultEventHandler()
2890         before implicit submission checking.
2891        (WebCore::InputType::handleKeypressEvent):
2892        (WebCore::InputType::handleKeyupEvent):
2893        * html/InputType.h:
2894        * html/RadioInputType.cpp:
2895        (WebCore::RadioInputType::handleKeydownEvent):
2896        (WebCore::RadioInputType::handleKeyupEvent):
2897        * html/RadioInputType.h:
2898        * html/TextFieldInputType.cpp:
2899        (WebCore::TextFieldInputType::shouldSubmitImplicitly):
2900        * html/TextFieldInputType.h:
2901
29022010-11-30  Patrick Gansterer  <paroga@webkit.org>
2903
2904        Reviewed by Andreas Kling.
2905
2906        Move CSS generator logic into main CMakeLists.txt file
2907        https://bugs.webkit.org/show_bug.cgi?id=50230
2908
2909        * CMakeLists.txt:
2910
29112010-11-30  Ojan Vafai  <ojan@chromium.org>
2912
2913        Revert r72876. It caused a ~30% perf regression in chromium's bloat-http test
2914        https://bugs.webkit.org/show_bug.cgi?id=50288
2915
2916        2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
2917        Reviewed by Darin Adler.
2918        Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
2919        https://bugs.webkit.org/show_bug.cgi?id=50182
2920        A display-isolated URL can only be displayed (e.g., put in an iframe,
2921        hyperlinked to) by documents from that scheme. In a sense, this is a
2922        generalization of some of the protections we give file URLs, but
2923        instead of lumping them all together into one "local" bucket, this
2924        patch creates a separate bucket for each scheme.
2925        For a while, I tried using a separate bucket for each origin. That
2926        would have played nicely with what Blob URLs are trying to do, but some
2927        "chrome" URL pages rely on being able to display other chrome URL
2928        pages, even in different origins. For example, the New Tab Page shows
2929        thumbnails from the "thumbnail" host.
2930        This patch also removes a bunch of unused code. I've also propagated
2931        the "deprecated" status of deprecatedCanDisplay to
2932        deprecatedShouldTreatURLAsLocal because that method has no other
2933        callers and is really asking for uppercase/lowercase bugs. I dream of
2934        someday removing these functions.
2935        page/SecurityOrigin.cpp:
2936        (WebCore::SecurityOrigin::canDisplay):
2937        (WebCore::SecurityOrigin::deprecatedCanDisplay):
2938        platform/SchemeRegistry.cpp:
2939        (WebCore::displayIsolatedURLSchemes):
2940        (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
2941        (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
2942        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
2943        (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
2944        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
2945        platform/SchemeRegistry.h:
2946        2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
2947        Reviewed by Darin Adler.
2948        Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
2949         https://bugs.webkit.org/show_bug.cgi?id=50182
2950        This patch adds a Chromium API for registering schemes as
2951        display-isolated. In a subsequent patch, I'll change the "chrome"
2952        scheme in Chrome to be display isolated instead of local. That will
2953        prevent file URLs from linking to chrome URLs.
2954        public/WebSecurityPolicy.h:
2955        src/WebSecurityPolicy.cpp:
2956        (WebKit::WebSecurityPolicy::registerURLSchemeAsDisplayIsolated):
2957
2958        * page/SecurityOrigin.cpp:
2959        (WebCore::SecurityOrigin::canDisplay):
2960        (WebCore::SecurityOrigin::deprecatedCanDisplay):
2961        * platform/SchemeRegistry.cpp:
2962        (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
2963        (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
2964        (WebCore::SchemeRegistry::localURLSchemes):
2965        (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
2966        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
2967        * platform/SchemeRegistry.h:
2968
29692010-11-30  Chris Fleizach  <cfleizach@apple.com>
2970
2971        Reviewed by Beth Dakin.
2972
2973        WebKit duplicates AXValue and AXDescription on abbr
2974        https://bugs.webkit.org/show_bug.cgi?id=50260
2975
2976        stringValue() and accessibilityDescription() were returning the same value for static text with
2977        an aria-label. Static text elements should not have an accessibility description, they
2978        should only have a stringValue.
2979
2980        Test: platform/mac/accessibility/static-text-with-aria-label.html
2981
2982        * accessibility/AccessibilityRenderObject.cpp:
2983        (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
2984        (WebCore::AccessibilityRenderObject::accessibilityDescription):
2985        (WebCore::AccessibilityRenderObject::text):
2986        * accessibility/AccessibilityRenderObject.h:
2987
29882010-11-30  Ryosuke Niwa  <rniwa@webkit.org>
2989
2990        Reviewed by Darin Adler.
2991
2992        [HTML5] Rename member variables of HTMLScriptElement
2993        https://bugs.webkit.org/show_bug.cgi?id=49705
2994
2995        Renamed m_wasCreatedByParser to m_wasInsertedByParser, m_requested to m_isExternalScript,
2996        m_isEvaluated to m_wasAlreadyStarted, and m_firedLoad to m_haveFiredLoad.
2997
2998        Also made ScriptElement's haveFiredLoadEvent and removed HTMLScriptElement's haveFiredLoadEvent.
2999        This effectively adds the same function to SVGScriptElement, which isn't currently used anywhere.
3000
3001        No new tests are added since this is a refactoring.
3002
3003        * dom/ScriptElement.cpp:
3004        (WebCore::ScriptElement::ScriptElement):
3005        (WebCore::ScriptElement::insertedIntoDocument):
3006        (WebCore::ScriptElement::childrenChanged):
3007        (WebCore::ScriptElement::finishParsingChildren):
3008        (WebCore::ScriptElement::requestScript):
3009        (WebCore::ScriptElement::evaluateScript):
3010        (WebCore::ScriptElement::executeScript):
3011        (WebCore::ScriptElement::ignoresLoadRequest):
3012        * dom/ScriptElement.h:
3013        (WebCore::ScriptElement::haveFiredLoadEvent):
3014        (WebCore::ScriptElement::setHaveFiredLoadEvent):
3015        (WebCore::ScriptElement::wasInsertedByParser):
3016        (WebCore::ScriptElement::wasAlreadyStarted):
3017        * html/HTMLScriptElement.cpp:
3018        (WebCore::HTMLScriptElement::HTMLScriptElement):
3019        (WebCore::HTMLScriptElement::create):
3020        (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren):
3021        * html/HTMLScriptElement.h:
3022        * svg/SVGScriptElement.cpp:
3023        (WebCore::SVGScriptElement::SVGScriptElement):
3024        (WebCore::SVGScriptElement::create):
3025        (WebCore::SVGScriptElement::svgAttributeChanged):
3026        (WebCore::SVGScriptElement::insertedIntoDocument):
3027        (WebCore::SVGScriptElement::dispatchLoadEvent):
3028        (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren):
3029        * svg/SVGScriptElement.h:
3030
30312010-11-30  Darin Adler  <darin@apple.com>
3032
3033        Rolled back most of the FileReaderLoader changes to fix 32-bit builds.
3034
3035        * fileapi/FileReaderLoader.cpp: Changed types back to unsigned from unsigned long long
3036        * fileapi/FileReaderLoader.h: Ditto.
3037
30382010-11-30  Dan Bernstein  <mitz@apple.com>
3039
3040        Reviewed by Darin Adler.
3041
3042        Text search should treat all matches as word-start matches when the target begins with a separator character
3043        https://bugs.webkit.org/show_bug.cgi?id=50302
3044
3045        * editing/TextIterator.cpp:
3046        (WebCore::SearchBuffer::SearchBuffer): Disable the AtWordStarts option if it was specified and
3047        the target string begins with one of the "separator" characters.
3048
30492010-11-30  Pavel Feldman  <pfeldman@chromium.org>
3050
3051        Reviewed by Dave Hyatt.
3052
3053        Web Inspector: [CRASH] on "Revert to this revision" of style with import.
3054        https://bugs.webkit.org/show_bug.cgi?id=50256
3055
3056        Rolled back one line from http://trac.webkit.org/changeset/36904 as agreed with
3057        David.
3058
3059        * css/CSSImportRule.cpp:
3060        (WebCore::CSSImportRule::insertedIntoParent):
3061
30622010-11-30  Martin Robinson  <mrobinson@igalia.com>
3063
3064        Reviewed by Xan Lopez.
3065
3066        [GTK] fillRect shadow has incorrect behavior when using ctx.scale(x,y)
3067        https://bugs.webkit.org/show_bug.cgi?id=50283
3068
3069        Adjust the mask rectangle for Cairo shadows, so that the origin
3070        is not affected by the scale of the transformation matrix.
3071
3072        * platform/graphics/ContextShadow.h: Make this Qt-only member global.
3073        * platform/graphics/cairo/ContextShadowCairo.cpp:
3074        (WebCore::ContextShadow::beginShadowLayer): Save the original layer area.
3075        (WebCore::ContextShadow::endShadowLayer): If the target context has a scale
3076        transform, make sure not to scale the blur distance when blitting the shadow.
3077
30782010-11-30  Darin Adler  <darin@apple.com>
3079
3080        Reviewed by Alexey Proskuryakov.
3081
3082        Make ProgressEvent 64-bit instead of 32-bit
3083        https://bugs.webkit.org/show_bug.cgi?id=50289
3084
3085        * dom/ProgressEvent.cpp:
3086        (WebCore::ProgressEvent::ProgressEvent): Changed arguments to unsigned long long.
3087        (WebCore::ProgressEvent::initProgressEvent): Ditto.
3088
3089        * dom/ProgressEvent.h: Fixed formatting. Changed types to unsigned long long.
3090        Made isProgressEvent override private.
3091
3092        * dom/ProgressEvent.idl: Tweaked formatting and changed types to unsigned long long.
3093
3094        * fileapi/FileReader.cpp: Removed unneeded includes.
3095        Used static on const so we'd get an error if the same constant was in a header.
3096        (WebCore::FileReader::didReceiveData): Removed unneeded WTF prefix.
3097        (WebCore::FileReader::fireEvent): Got rid of local variables that would narrow
3098        bytes loaded and total bytes to 32-bit.
3099
3100        * fileapi/FileReaderLoader.cpp:
3101        (WebCore::FileReaderLoader::didReceiveResponse): Restructured code a bit and
3102        added comments. Also added handling for when ArrayBuffer::create returns 0.
3103        (WebCore::FileReaderLoader::didReceiveData): Fixed handling of case where more
3104        data arrives than is expected so it won't overrun the buffer. Also broke an
3105        assertion into two and improved a comment.
3106
3107        * fileapi/FileReaderLoader.h: Changed bytesLoaded and totalBytes to unsigned long long.
3108
3109        * fileapi/FileWriter.cpp:
3110        (WebCore::FileWriter::fireEvent): Removed narrowing casts in call to
3111        ProgressEvent::create.
3112
3113        * html/canvas/ArrayBuffer.cpp:
3114        (WebCore::ArrayBuffer::tryAllocate): Added a comment because the code here seems wrong.
3115
3116        * xml/XMLHttpRequest.cpp:
3117        (WebCore::XMLHttpRequest::didSendData): Removed narrowing casts in call to
3118        XMLHttpRequestProgressEvent::create.
3119        (WebCore::XMLHttpRequest::didReceiveData): Removed narrowing casts in call to
3120        dispatchProgressEvent.
3121
3122        * xml/XMLHttpRequestProgressEvent.h: Fixed formatting. Changed types to unsigned long long.
3123        Made isXMLHttpRequestProgressEvent override private.
3124
3125        * xml/XMLHttpRequestProgressEvent.idl: Tweaked formatting and changed types to unsigned long long.
3126
3127        * xml/XMLHttpRequestProgressEventThrottle.cpp:
3128        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): Changed types to
3129        unsigned long long.
3130
3131        * xml/XMLHttpRequestProgressEventThrottle.h: Changed types to unsigned long long.
3132
31332010-11-30  Yael Aharon  <yael.aharon@nokia.com>
3134
3135        Reviewed by Darin Adler.
3136
3137        Progress and meter elements should take a form in their constructor like any other form control.
3138        https://bugs.webkit.org/show_bug.cgi?id=50195
3139
3140        Tests: fast/dom/HTMLMeterElement/meter-element-form.html
3141               fast/dom/HTMLProgressElement/progress-element-form.html
3142
3143        * html/HTMLMeterElement.cpp:
3144        (WebCore::HTMLMeterElement::HTMLMeterElement):
3145        (WebCore::HTMLMeterElement::create):
3146        * html/HTMLMeterElement.h:
3147        * html/HTMLProgressElement.h:
3148        * html/HTMLTagNames.in:
3149
31502010-11-30  Tony Chang  <tony@chromium.org>
3151
3152        Reviewed by Adam Barth.
3153
3154        [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
3155        https://bugs.webkit.org/show_bug.cgi?id=49036
3156
3157        No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html
3158
3159        In http://codereview.chromium.org/11574, the forked chromium test
3160        plugin changed how it testGetIntIdentifier to work around a change
3161        caused by a silverlight specific plugin fix:
3162        http://codereview.chromium.org/11569/diff/1/2
3163
3164        It's not clear to me that this change is needed anymore since
3165        silverlight has had multiple releases, testing without this patch
3166        works on a test windows build, and safari win seems to run silverlight
3167        without this either.  Since there's no test for this behavior, I'm
3168        rolling it out so we can match the upstream test.
3169
3170        * bindings/v8/V8NPUtils.cpp:
3171        (WebCore::convertV8ObjectToNPVariant):
3172
31732010-11-30  Chris Guillory  <chris.guillory@google.com>
3174
3175        Reviewed by Chris Fleizach.
3176
3177        Computing style on a stale node while sending pending accessibility notification.
3178        https://bugs.webkit.org/show_bug.cgi?id=50162
3179
3180        Retain node pointer members of AccessibilityImageMapLink.
3181
3182        Test: accessibility/image-map-title-causes-crash.html
3183
3184        * accessibility/AccessibilityImageMapLink.cpp:
3185        (WebCore::AccessibilityImageMapLink::parentObject):
3186        (WebCore::AccessibilityImageMapLink::anchorElement):
3187        (WebCore::AccessibilityImageMapLink::url):
3188        (WebCore::AccessibilityImageMapLink::elementRect):
3189        * accessibility/AccessibilityImageMapLink.h:
3190        (WebCore::AccessibilityImageMapLink::areaElement):
3191        (WebCore::AccessibilityImageMapLink::mapElement):
3192        (WebCore::AccessibilityImageMapLink::node):
3193        * dom/Document.cpp:
3194        (WebCore::Document::clearAXObjectCache):
3195
31962010-11-30  James Robinson  <jamesr@chromium.org>
3197
3198        Reviewed by Tony Chang.
3199
3200        Build fix - add parens in foo || bar && baz to make gcc happy
3201        https://bugs.webkit.org/show_bug.cgi?id=50276
3202
3203        gcc 4.4 warns that statements of the form "foo || bar && baz".  It wants
3204        parens around the "bar && baz" part to make it clear which way the logical
3205        operators bind.
3206
3207        * editing/TextIterator.cpp:
3208        (WebCore::SearchBuffer::search):
3209
32102010-11-30  Daniel Bates  <dbates@rim.com>
3211
3212        Reviewed by David Hyatt.
3213
3214        Focused <area> should use CSS properties of <area> instead of associated <img>
3215        https://bugs.webkit.org/show_bug.cgi?id=49888
3216
3217        Fixes an issue where the CSS properties of an <area> were not used when
3218        the <area> was focused.
3219
3220        Currently, when focusing an <area> (say by pressing option + tab in Mac
3221        Safari) we use the CSS style information for the <img> associated with
3222        the <area>. Instead, we should use the CSS style information for the
3223        focused <area>. In particular, this will make the us honor the outline-
3224        color property of a focused <area> when drawing its focus ring.
3225
3226        Tests: fast/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map.html
3227               fast/images/imagemap-focus-ring-outline-color-not-inherited-from-map.html
3228               fast/images/imagemap-focus-ring-outline-color.html
3229
3230        * rendering/RenderImage.cpp:
3231        (WebCore::RenderImage::paintFocusRing): Use the style information of
3232        the focused <area> when drawing the focus ring for it.
3233
32342010-11-30  Tony Chang  <tony@chromium.org>
3235
3236        Reviewed by James Robinson.
3237
3238        [chromium] enable WebCore compiler warnings on Linux take 3
3239        https://bugs.webkit.org/show_bug.cgi?id=50258
3240
3241        * WebCore.gyp/WebCore.gyp:
3242
32432010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
3244
3245        Reviewed by Chris Fleizach.
3246
3247        [GTK] Implement ROLE_COMBO_BOX
3248        https://bugs.webkit.org/show_bug.cgi?id=25678
3249
3250        Implement the remaining bits for combo boxes.
3251
3252        This patch finishes the implementation, from the point of view of
3253        the Atk library, of those objects exposed to ATK as combo boxes,
3254        and their related elements (menus and menu items). It therefore
3255        implements the proper interfaces for each type of object related
3256        to combo boxes (AtkSelection for the combo box, AtkText for every
3257        menu item and AtkAction for the combo box, the menu and the menu
3258        items), takes care of emitting the proper signals when focus or a
3259        given a selection changes and adds a new unit test to check all
3260        this new stuff.
3261
3262        Make possible to ask an AccessibleMenuListOption for a sensible
3263        string representation, so far only available through the private
3264        and MSAA related method nameForMSAA. Just moved the implementation
3265        of that method to an overriden version of stringValue(), which is
3266        platform independent, and called that from nameForMSAA().
3267
3268        * accessibility/AccessibilityMenuListOption.h:
3269        * accessibility/AccessibilityMenuListOption.cpp:
3270        (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
3271        stringValue(), which holds from now on that used to be here.
3272        (WebCore::AccessibilityMenuListOption::stringValue): New, override
3273        of AccessibilityObject::stringValue() to return a proper string.
3274
3275        Emit the missing signals when a selection is made.
3276
3277        * accessibility/gtk/AXObjectCacheAtk.cpp:
3278        (WebCore::AXObjectCache::postPlatformNotification): Emit the usual
3279        'focus' signals when a selection is made over the combo box.
3280
3281        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3282        (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
3283        Atk states are added to the state set when needed.
3284        (listObjectForSelection): New, returns the proper list object (the
3285        one holding the list of available options as its children) for an
3286        specific AtkObject implementing AtkSelection. This is needed
3287        because sometimes the selectable options are not directly children
3288        of the AtkSelection object (i.e. a combo box has a 'menu' object
3289        as its only child of it, holding the list of options as children).
3290        (optionFromList): Use listObjectForSelection() to get the actual
3291        object holding the list of children as the available options.
3292        (optionFromSelection): Add support for combo boxes.
3293        (webkit_accessible_selection_add_selection): Ditto.
3294        (webkit_accessible_selection_clear_selection): Ditto.
3295        (webkit_accessible_selection_get_selection_count): Ditto.
3296        (webkit_accessible_selection_is_child_selected): Ditto.
3297        (webkit_accessible_selection_remove_selection): Ditto.
3298        (webkit_accessible_text_get_text): Makes sure stringValue() is
3299        considered to get the result substring when it was already
3300        considered when checking the maximum text length for the object.
3301        (getInterfaceMaskFromObject): Make sure the AtkSelection interface
3302        is implemented for the combo boxes, that the AtkText is
3303        implemented for the menu items and that the AtkAction interface is
3304        now implemented for every object (WebCore will decide what to do).
3305
3306        Avoid a segfault crash when using this from unit tests.
3307
3308        * platform/gtk/PopupMenuGtk.cpp:
3309        (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
3310        before calling gdk_window_get_origin() over it.
3311
33122010-11-30  Andreas Kling  <kling@webkit.org>
3313
3314        Reviewed by Tor Arne Vestbø.
3315
3316        [Qt] GraphicsContext: Avoid unnecessarily copying the painter's QTransform
3317
3318        Stash the transform in a const reference (QPainter::transform() returns one)
3319        instead of making a copy in the shadow drawing parts of fillPath, strokePath and fillRect.
3320
3321        * platform/graphics/qt/GraphicsContextQt.cpp:
3322        (WebCore::GraphicsContext::fillPath):
3323        (WebCore::GraphicsContext::strokePath):
3324        (WebCore::GraphicsContext::fillRect):
3325
33262010-11-30  Vangelis Kokkevis  <vangelis@chromium.org>
3327
3328        Reviewed by Simon Fraser.
3329
3330        Provide more fine grained control to ports over when to turn on 
3331        accelerated compositing.
3332        https://bugs.webkit.org/show_bug.cgi?id=49998
3333
3334        The RenderLayerCompositor now checks with the chrome client whether
3335        3d transforms, video, plugins, canvas and animation require
3336        switching over to the composited path. Layers that overlap composited
3337        content will still turn into composited layers regardless of the
3338        setting.
3339
3340        * css/MediaQueryEvaluator.cpp:
3341        (WebCore::transform_3dMediaFeatureEval):
3342        * page/ChromeClient.h:
3343        (WebCore::ChromeClient::allowedCompositingTriggers):
3344        * rendering/RenderLayer.cpp:
3345        (WebCore::RenderLayer::canRender3DTransforms):
3346        (WebCore::RenderLayer::updateTransform):
3347        (WebCore::RenderLayer::currentTransform):
3348        * rendering/RenderLayer.h:
3349        * rendering/RenderLayerBacking.cpp:
3350        (WebCore::RenderLayerBacking::updateLayerTransform):
3351        * rendering/RenderLayerCompositor.cpp:
3352        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
3353        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
3354        (WebCore::RenderLayerCompositor::canRender3DTransforms):
3355        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
3356        (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
3357        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
3358        (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
3359        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
3360        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
3361        * rendering/RenderLayerCompositor.h:
3362
33632010-11-30  Xan Lopez  <xlopez@igalia.com>
3364
3365        Reviewed by Martin Robinson.
3366
3367        [GTK] Plug leak in SoupCache
3368        https://bugs.webkit.org/show_bug.cgi?id=50142
3369
3370        Free the cache file contents when we don't need them anymore.
3371
3372        * platform/network/soup/cache/webkit/soup-cache.c:
3373        (webkit_soup_cache_load):
3374
33752010-11-30  Andras Becsi  <abecsi@webkit.org>
3376
3377        Reviewed by Csaba Osztrogonác.
3378
3379        [Qt][V8] Make QtWebKit with V8 build on Linux.
3380        https://bugs.webkit.org/show_bug.cgi?id=50244
3381
3382        No new tests needed.
3383
3384        * WebCore.pri: add missing idl file
3385        * WebCore.pro: enable Linux build
3386        * bindings/scripts/CodeGeneratorV8.pm: add missing headers
3387        * bindings/v8/ScriptControllerQt.cpp: fix instantiation
3388        (WebCore::ScriptController::qtScriptEngine):
3389        * bindings/v8/V8GCController.cpp: fix guard
3390        (WebCore::V8GCController::checkMemoryUsage):
3391        * inspector/CodeGeneratorInspector.pm: add missing header
3392        * loader/ResourceLoadScheduler.cpp: ditto
3393        * loader/cache/MemoryCache.cpp: ditto
3394        * loader/loader.cpp: ditto
3395
33962010-11-30  David Hyatt  <hyatt@apple.com>
3397
3398        Reviewed by Simon Fraser.
3399        
3400        https://bugs.webkit.org/show_bug.cgi?id=50183
3401        
3402        Code got commented out by accident during render tree refactoring last year.  Put the code back in, since
3403        it hurts performance to have that line commented out.
3404
3405        In order to put this code back in, I had to fix some bugs with preferred width computations and
3406        overflow: scroll.  Make the pref widths computation create the scrollbar if it doesn't exist yet.
3407
3408        Make sure the scrollbar size is included prior to checking for defined width/min-width/max-width values.  Otherwise
3409        the scrollbar inflates the width beyond the fixed size that was specified.
3410        
3411        For table cells, there is an additional wrinkle.  Make sure not to include the scrollbar size as part of the minimum
3412        intrinsic width so that we don't incorrectly grow.
3413
3414        * rendering/RenderBlock.cpp:
3415        (WebCore::RenderBlock::layoutPositionedObjects):
3416        (WebCore::RenderBlock::computePreferredLogicalWidths):
3417        * rendering/RenderFlexibleBox.cpp:
3418        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
3419
34202010-11-30  Vitaly Repeshko  <vitalyr@chromium.org>
3421
3422        Unreviewed.
3423
3424        Attempt to fix windows debug chromium build.
3425
3426        * html/TimeInputType.cpp: Added include providing isfinite.
3427
34282010-11-30  Darin Adler  <darin@apple.com>
3429
3430        Reviewed by Jon Honeycutt.
3431
3432        DOM binding code generator scripts import unused File::stat Perl module
3433        https://bugs.webkit.org/show_bug.cgi?id=50250
3434
3435        * bindings/scripts/CodeGeneratorCPP.pm: Removed "using File::stat".
3436        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
3437        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
3438        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3439
34402010-11-30  Pavel Feldman  <pfeldman@chromium.org>
3441
3442        Reviewed by Yury Semikhatsky.
3443
3444        Web Inspector: implement "Revert to this revision" in resources panel.
3445        https://bugs.webkit.org/show_bug.cgi?id=50107
3446
3447        * inspector/Inspector.idl:
3448        * inspector/InspectorCSSAgent.cpp:
3449        (WebCore::InspectorCSSAgent::setStyleSheetText2):
3450        * inspector/InspectorCSSAgent.h:
3451        * inspector/InspectorStyleSheet.cpp:
3452        (WebCore::InspectorStyleSheet::reparseStyleSheet):
3453        * inspector/front-end/CSSStyleModel.js:
3454        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
3455        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
3456        (WebInspector.CSSStyleModel.prototype._onRevert):
3457        * inspector/front-end/Resource.js:
3458        (WebInspector.Resource.prototype.get contentTimestamp):
3459        (WebInspector.Resource.prototype.setInitialContent):
3460        (WebInspector.Resource.prototype.isLocallyModified):
3461        (WebInspector.Resource.prototype.setContent.else.finished):
3462        (WebInspector.Resource.prototype.setContent):
3463        (WebInspector.Resource.prototype.revertToThis.callback):
3464        (WebInspector.Resource.prototype.revertToThis):
3465        (WebInspector.Resource.prototype.get baseRevision):
3466        (WebInspector.Resource.prototype._innerRequestContent):
3467        * inspector/front-end/ResourcesPanel.js:
3468        (WebInspector.ResourcesPanel.prototype._showResourceView):
3469        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
3470        (WebInspector.ResourceRevisionTreeElement):
3471        (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
3472        (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
3473        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
3474        * inspector/front-end/ScriptsPanel.js:
3475        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
3476        (WebInspector.ScriptsPanel.prototype.editScriptSource):
3477        * inspector/front-end/SourceView.js:
3478        (WebInspector.SourceView.prototype._editLine):
3479        (WebInspector.SourceView.prototype._editLineComplete):
3480        (WebInspector.SourceView.prototype._revertEditLine):
3481
34822010-11-30  Adam Roben  <aroben@apple.com>
3483
3484        Clean up WebCore.vcproj's bindings filter
3485
3486        I added files that we compile (via an all-in-one file) but weren't in
3487        the .vcproj, removed files that no longer exist, and added the scripts
3488        we use.
3489
3490        Fixes <http://webkit.org/b/50248> WebCore.vcproj's bindings filter is
3491        out-of-date
3492
3493        Reviewed by Darin Adler.
3494
3495        * WebCore.vcproj/WebCore.vcproj:
3496
34972010-11-30  Adam Roben  <aroben@apple.com>
3498
3499        Move JSIDB* files to the DerivedSources filter
3500
3501        This correctly reflects their location on disk. (They were formerly
3502        listed under bindings/js.)
3503
3504        * WebCore.vcproj/WebCore.vcproj:
3505
35062010-11-30  Xiaomei Ji  <xji@chromium.org>
3507
3508        Reviewed by David Hyatt.
3509
3510        Remove clampNegativeToZero in adjustScrollPositionWithinRange.
3511        https://bugs.webkit.org/show_bug.cgi?id=50203
3512
3513        * platform/ScrollView.cpp:
3514        (WebCore::ScrollView::adjustScrollPositionWithinRange):
3515
35162010-11-30  Adam Roben  <aroben@apple.com>
3517
3518        Remove duplicate files from WebCore.vcproj
3519
3520        Rubber-stamped by Steve Falkenburg.
3521
3522        * WebCore.vcproj/WebCore.vcproj:
3523
35242010-11-30  Adam Roben  <aroben@apple.com>
3525
3526        Let VS do its thang with WebCore.vcproj
3527
3528        I just removed and readded AnimationBase.cpp.
3529
3530        Rubber-stamped by Steve Falkenburg.
3531
3532        * WebCore.vcproj/WebCore.vcproj:
3533
35342010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
3535
3536        Reviewed by Chris Fleizach.
3537
3538        ASSERT failing for combo boxes when selection changes
3539        https://bugs.webkit.org/show_bug.cgi?id=50062
3540
3541        Don't call listBoxOnChange for elements using menu lists.
3542
3543        Test: fast/forms/select-option-accesskey-crash.html
3544
3545        * dom/SelectElement.cpp:
3546        (WebCore::SelectElement::accessKeySetSelectedIndex): Extra check
3547        to decide whether to call menuListOnChange() or listBoxOnChange()
3548        instead of always calling listBoxOnChange().
3549
35502010-11-30  Andreas Kling  <kling@webkit.org>
3551
3552        Reviewed by Dirk Schulze.
3553
3554        GraphicsContext: Remove "current path" and have strokePath, fillPath and clipPath take a Path argument.
3555        https://bugs.webkit.org/show_bug.cgi?id=48516
3556
3557        No new tests, this is refactoring only.
3558
3559        fillPath() -> fillPath(const Path&)
3560        strokePath() -> strokePath(const Path&)
3561        clipPath(WindRule) -> clipPath(const Path&, WindRule)
3562
3563        drawPath() was only used by CG, so made it PLATFORM(CG) specific.
3564
3565        The Qt, CG and Cairo implementations are best-effort.
3566        For the rest, I've put beginPath/addPath and FIXMEs in the three affected methods.
3567
3568        * WebCore.exp.in:
3569        * html/canvas/CanvasRenderingContext2D.cpp:
3570        (WebCore::CanvasRenderingContext2D::fill):
3571        (WebCore::CanvasRenderingContext2D::stroke):
3572        * inspector/InspectorController.cpp:
3573        (WebCore::drawOutlinedQuad):
3574        * mathml/RenderMathMLRoot.cpp:
3575        (WebCore::RenderMathMLRoot::paint):
3576        * mathml/RenderMathMLSquareRoot.cpp:
3577        (WebCore::RenderMathMLSquareRoot::paint):
3578        * platform/graphics/GraphicsContext.h:
3579        * platform/graphics/GraphicsContextPrivate.h:
3580        * platform/graphics/cairo/GraphicsContextCairo.cpp:
3581        (WebCore::GraphicsContext::fillPath):
3582        (WebCore::GraphicsContext::strokePath):
3583        (WebCore::GraphicsContext::clipPath):
3584        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3585        * platform/graphics/cg/GraphicsContextCG.cpp:
3586        (WebCore::GraphicsContext::drawEllipse):
3587        (WebCore::addConvexPolygonToPath):
3588        (WebCore::GraphicsContext::drawConvexPolygon):
3589        (WebCore::GraphicsContext::clipConvexPolygon):
3590        (WebCore::GraphicsContext::drawPath):
3591        (WebCore::GraphicsContext::fillPath):
3592        (WebCore::GraphicsContext::strokePath):
3593        (WebCore::GraphicsContext::fillRoundedRect):
3594        (WebCore::GraphicsContext::clipPath):
3595        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3596        (WebCore::GraphicsContext::strokePath):
3597        (WebCore::GraphicsContext::fillPath):
3598        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
3599        (WebCore::GraphicsContext::fillPath):
3600        (WebCore::GraphicsContext::strokePath):
3601        (WebCore::GraphicsContext::clipPath):
3602        * platform/graphics/qt/GraphicsContextQt.cpp:
3603        (WebCore::GraphicsContext::restorePlatformState):
3604        (WebCore::GraphicsContext::fillPath):
3605        (WebCore::GraphicsContext::strokePath):
3606        (WebCore::GraphicsContext::clipPath):
3607        (WebCore::GraphicsContext::strokeRect):
3608        (WebCore::GraphicsContext::translate):
3609        (WebCore::GraphicsContext::rotate):
3610        (WebCore::GraphicsContext::scale):
3611        (WebCore::GraphicsContext::concatCTM):
3612        * platform/graphics/skia/GraphicsContextSkia.cpp:
3613        (WebCore::GraphicsContext::clipPath):
3614        (WebCore::GraphicsContext::fillPath):
3615        (WebCore::GraphicsContext::strokePath):
3616        * platform/graphics/wince/GraphicsContextWinCE.cpp:
3617        (WebCore::GraphicsContext::fillPath):
3618        (WebCore::GraphicsContext::strokePath):
3619        (WebCore::GraphicsContext::clipPath):
3620        * platform/graphics/wx/GraphicsContextWx.cpp:
3621        (WebCore::GraphicsContext::clipPath):
3622        (WebCore::GraphicsContext::fillPath):
3623        (WebCore::GraphicsContext::strokePath):
3624        * rendering/RenderBoxModelObject.cpp:
3625        (WebCore::RenderBoxModelObject::paintBorder):
3626        (WebCore::RenderBoxModelObject::paintBoxShadow):
3627        * rendering/RenderEmbeddedObject.cpp:
3628        (WebCore::RenderEmbeddedObject::paintReplaced):
3629        * rendering/RenderObject.cpp:
3630        (WebCore::RenderObject::drawBoxSideFromPath):
3631        * rendering/RenderSVGResource.h:
3632        (WebCore::RenderSVGResource::postApplyResource):
3633        * rendering/RenderSVGResourceClipper.cpp:
3634        (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
3635        * rendering/RenderSVGResourceFilter.cpp:
3636        (WebCore::RenderSVGResourceFilter::postApplyResource):
3637        * rendering/RenderSVGResourceFilter.h:
3638        * rendering/RenderSVGResourceGradient.cpp:
3639        (WebCore::RenderSVGResourceGradient::applyResource):
3640        * rendering/RenderSVGResourceGradient.h:
3641        * rendering/RenderSVGResourcePattern.cpp:
3642        (WebCore::RenderSVGResourcePattern::postApplyResource):
3643        * rendering/RenderSVGResourcePattern.h:
3644        * rendering/RenderSVGResourceSolidColor.cpp:
3645        (WebCore::RenderSVGResourceSolidColor::postApplyResource):
3646        * rendering/RenderSVGResourceSolidColor.h:
3647        * rendering/SVGRenderSupport.cpp:
3648        (WebCore::SVGRenderSupport::finishRenderSVGContent):
3649        * rendering/svg/RenderSVGPath.cpp:
3650        (WebCore::RenderSVGPath::fillAndStrokePath):
3651        * rendering/svg/SVGInlineTextBox.cpp:
3652        (WebCore::SVGInlineTextBox::releasePaintingResource):
3653        (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting):
3654        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
3655        * rendering/svg/SVGInlineTextBox.h:
3656        * svg/SVGFont.cpp:
3657        (WebCore::Font::drawTextUsingSVGFont):
3658
36592010-11-30  Alexey Proskuryakov  <ap@apple.com>
3660
3661        Reviewed by Darin Adler and Geoff Garen.
3662
3663        https://bugs.webkit.org/show_bug.cgi?id=44152
3664        <rdar://problem/8324423> CSSOM should match DOM in discarding wrapper-less parents.
3665
3666        We have existing behaviors where parent objects in detached subtrees are not preserved:
3667        - if a root of a node tree doesn't have a wrapper, it's immediately destroyed, making
3668        its children parentNode attribute null;
3669        - relationship between a <style> or <link> node and its stylesheet is immediately broken
3670        when the node is removed from document (in this case, regardless of wrapper existence).
3671
3672        Both match Firefox. For consistency, CSSOM should do the same. In fact, it already partially
3673        does - CSSRule.parentRule gets zeroed out when the parent rule is destroyed.
3674
3675        Tests: fast/dom/StyleSheet/detached-parent-rule-without-wrapper.html
3676               fast/dom/StyleSheet/detached-stylesheet-without-wrapper.html
3677
3678        * css/StyleSheet.cpp: (WebCore::StyleSheet::~StyleSheet): Clear out child rule parent.
3679
3680        * svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::insertedIntoDocument): Keep
3681        the new assertion from firing. This function was adding a rule to style sheet, without
3682        telling the rule about it.
3683
36842010-11-30  Steve Falkenburg  <sfalken@apple.com>
3685
3686        Reviewed by Adam Roben.
3687
3688        All projects on Windows should use cmd files for build events
3689        https://bugs.webkit.org/show_bug.cgi?id=50213
3690
3691        * WebCore.vcproj/QTMovieWinCommon.vsprops:
3692        * WebCore.vcproj/QTMovieWinPostBuild.cmd: Added.
3693        * WebCore.vcproj/QTMovieWinPreBuild.cmd: Added.
3694        * WebCore.vcproj/WebCoreCommon.vsprops:
3695        * WebCore.vcproj/WebCorePostBuild.cmd: Added.
3696        * WebCore.vcproj/WebCorePreBuild.cmd: Added.
3697
36982010-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3699
3700        Unreviewed, rolling out r72914.
3701        http://trac.webkit.org/changeset/72914
3702        https://bugs.webkit.org/show_bug.cgi?id=50241
3703
3704        "pfeldman has a revision management patch both for CSS and JS"
3705        (Requested by apavlov on #webkit).
3706
3707        * English.lproj/localizedStrings.js:
3708        * inspector/InspectorStyleSheet.cpp:
3709        (WebCore::InspectorStyleSheet::reparseStyleSheet):
3710        * inspector/front-end/CSSStyleModel.js:
3711        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
3712        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
3713        (WebInspector.CSSStyleSheet.prototype.getText):
3714        (WebInspector.CSSStyleSheet.prototype.setText):
3715        * inspector/front-end/ResourcesPanel.js:
3716        (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
3717        (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
3718
37192010-11-25  Satish Sampath  <satish@chromium.org>
3720
3721        Reviewed by Kent Tamura.
3722
3723        Fix rendering of speech button when setting the attribute dynamically.
3724        https://bugs.webkit.org/show_bug.cgi?id=50077
3725
3726        * html/HTMLInputElement.cpp:
3727        (WebCore::HTMLInputElement::parseMappedAttribute):
3728        * rendering/RenderTextControlSingleLine.cpp:
3729        (WebCore::RenderTextControlSingleLine::speechAttributeChanged):
3730        * rendering/RenderTextControlSingleLine.h:
3731
37322010-11-30  Alexander Pavlov  <apavlov@chromium.org>
3733
3734        Reviewed by Yury Semikhatsky.
3735
3736        Web Inspector: Enable switching between revisions of stylesheets
3737        https://bugs.webkit.org/show_bug.cgi?id=50227
3738
3739        Drive-by fix: styleSheetChanged() call needed after a stylesheet reparsing on setStyleSheetText2().
3740
3741        * English.lproj/localizedStrings.js:
3742        * inspector/InspectorStyleSheet.cpp:
3743        (WebCore::InspectorStyleSheet::reparseStyleSheet):
3744        * inspector/front-end/CSSStyleModel.js:
3745        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
3746        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
3747        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
3748        (WebInspector.CSSStyleSheet.prototype.getText):
3749        * inspector/front-end/ResourcesPanel.js:
3750        (WebInspector.ResourceRevisionTreeElement.prototype.onattach):
3751        (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
3752        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
3753
37542010-11-30  John Knottenbelt  <jknotten@chromium.org>
3755
3756        Reviewed by David Levin.
3757
3758        V8 binding for DOMTimeStamp should be Number, not Date
3759        https://bugs.webkit.org/show_bug.cgi?id=49963
3760
3761        Test: fast/dom/domtimestamp-is-number.html
3762
3763        * bindings/scripts/CodeGeneratorV8.pm:
3764
37652010-11-30  Renata Hodovan  <reni@inf.u-szeged.hu>
3766
3767        Reviewed by Andreas Kling.
3768
3769        [Qt] Leak with GraphicsContext::takeOwnershipOfPlatformContext()
3770        https://bugs.webkit.org/show_bug.cgi?id=49916
3771
3772        Change the order of calling QPainter::device() and QPainter::end(), so device() will return with a valid device.
3773        No new test is needed.
3774
3775        * platform/graphics/qt/GraphicsContextQt.cpp:
3776        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
3777
37782010-11-30  Patrick Gansterer  <paroga@webkit.org>
3779
3780        Reviewed by Andreas Kling.
3781
3782        Move generator logic into main CMakeLists.txt file
3783        https://bugs.webkit.org/show_bug.cgi?id=49885
3784
3785        Also make the generator calls more portable.
3786
3787        * CMakeLists.txt:
3788
37892010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
3790
3791        Unreviewed, rolling out r72902.
3792        http://trac.webkit.org/changeset/72902
3793        https://bugs.webkit.org/show_bug.cgi?id=50062
3794
3795        This change is causing layout test failures on the Tests bots
3796        for the mac platform.
3797
3798        * dom/SelectElement.cpp:
3799        (WebCore::SelectElement::accessKeySetSelectedIndex):
3800
38012010-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3802
3803        Unreviewed, rolling out r72764.
3804        http://trac.webkit.org/changeset/72764
3805        https://bugs.webkit.org/show_bug.cgi?id=50215
3806
3807        This change is causing assertion failures on the debug bots.
3808        (Requested by mrobinson on #webkit).
3809
3810        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3811        (webkit_accessible_get_name):
3812        (webkit_accessible_detach):
3813
38142010-11-30  Pavel Feldman  <pfeldman@chromium.org>
3815
3816        Reviewed by Yury Semikhatsky.
3817
3818        Web Inspector: make copy(node) work in console.
3819        https://bugs.webkit.org/show_bug.cgi?id=50180
3820
3821        * inspector/front-end/InjectedScript.js:
3822        (injectedScriptConstructor.):
3823
38242010-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
3825
3826        Reviewed by Darin Adler.
3827
3828        ASSERT failing for combo boxes when selection changes
3829        https://bugs.webkit.org/show_bug.cgi?id=50062
3830
3831        Don't call listBoxOnChange for elements using menu lists.
3832
3833        Test: accessibility/select-menulist-crash.html
3834
3835        * dom/SelectElement.cpp:
3836        (WebCore::SelectElement::accessKeySetSelectedIndex): Extra check
3837        to decide whether to call menuListOnChange() or listBoxOnChange()
3838        instead of always calling listBoxOnChange().
3839
38402010-11-30  Helder Correia  <helder@sencha.com>
3841
3842        Reviewed by Kenneth Rohde Christiansen.
3843
3844        [Qt] Path stroke shadow has incorrect behavior when using ctx.scale(x,y)
3845        https://bugs.webkit.org/show_bug.cgi?id=50198
3846
3847        Handle the special case when scaling is used and translate the shadow
3848        offset accordingly. The correct behavior is ensured in ContextShadow
3849        already, the issue only happens when using a non-blur shadow.
3850
3851        Test: fast/canvas/canvas-scale-strokePath-shadow.html
3852
3853        * platform/graphics/qt/GraphicsContextQt.cpp:
3854        (WebCore::GraphicsContext::strokePath):
3855
38562010-11-30  Helder Correia  <helder@sencha.com>
3857
3858        Reviewed by Kenneth Rohde Christiansen.
3859
3860        [Qt] Path filling should keep shadow offset after context scaling
3861        https://bugs.webkit.org/show_bug.cgi?id=50194
3862
3863        Handle the special case when scaling is used and translate the shadow
3864        offset accordingly. The correct behavior is ensured in ContextShadow
3865        already, the issue only happens when using a non-blur shadow.
3866
3867        Test: fast/canvas/canvas-scale-fillPath-shadow.html
3868
3869        * platform/graphics/qt/GraphicsContextQt.cpp:
3870        (WebCore::GraphicsContext::fillPath):
3871
38722010-11-30  Yury Semikhatsky  <yurys@chromium.org>
3873
3874        Reviewed by Pavel Feldman.
3875
3876        Web Inspector: make ScriptCallStack and ScriptArguments reference counted
3877        https://bugs.webkit.org/show_bug.cgi?id=50156
3878
3879        No new tests. This refactoring is covered with existing inspector tests.
3880
3881        * bindings/js/JSConsoleCustom.cpp:
3882        (WebCore::JSConsole::profile):
3883        (WebCore::JSConsole::profileEnd):
3884        * bindings/js/ScriptCallStackFactory.cpp:
3885        (WebCore::createScriptCallStack):
3886        (WebCore::createScriptArguments):
3887        * bindings/js/ScriptCallStackFactory.h:
3888        * bindings/scripts/CodeGeneratorJS.pm:
3889        * bindings/scripts/CodeGeneratorV8.pm:
3890        * bindings/scripts/test/JS/JSTestObj.cpp:
3891        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3892        * bindings/scripts/test/V8/V8TestObj.cpp:
3893        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
3894        * bindings/v8/ScriptCallStackFactory.cpp:
3895        (WebCore::createScriptCallStack):
3896        (WebCore::createScriptArguments):
3897        * bindings/v8/ScriptCallStackFactory.h:
3898        * bindings/v8/V8ConsoleMessage.cpp:
3899        (WebCore::V8ConsoleMessage::handler):
3900        (WebCore::V8ConsoleMessage::dispatchNow):
3901        * bindings/v8/V8ConsoleMessage.h:
3902        * bindings/v8/custom/V8ConsoleCustom.cpp:
3903        (WebCore::V8Console::traceCallback):
3904        (WebCore::V8Console::assertCallback):
3905        (WebCore::V8Console::profileCallback):
3906        (WebCore::V8Console::profileEndCallback):
3907        * inspector/ConsoleMessage.cpp:
3908        (WebCore::ConsoleMessage::ConsoleMessage):
3909        * inspector/ConsoleMessage.h:
3910        * inspector/InspectorController.cpp:
3911        (WebCore::InspectorController::addMessageToConsole):
3912        (WebCore::InspectorController::startGroup):
3913        * inspector/InspectorController.h:
3914        * inspector/ScriptArguments.cpp:
3915        (WebCore::ScriptArguments::create):
3916        * inspector/ScriptArguments.h:
3917        * inspector/ScriptCallFrame.h:
3918        * inspector/ScriptCallStack.cpp:
3919        (WebCore::ScriptCallStack::create):
3920        (WebCore::ScriptCallStack::at):
3921        (WebCore::ScriptCallStack::size):
3922        * inspector/ScriptCallStack.h:
3923        * page/Console.cpp:
3924        (WebCore::Console::addMessage):
3925        (WebCore::Console::debug):
3926        (WebCore::Console::error):
3927        (WebCore::Console::info):
3928        (WebCore::Console::log):
3929        (WebCore::Console::dir):
3930        (WebCore::Console::dirxml):
3931        (WebCore::Console::trace):
3932        (WebCore::Console::assertCondition):
3933        (WebCore::Console::count):
3934        (WebCore::Console::markTimeline):
3935        (WebCore::Console::profile):
3936        (WebCore::Console::profileEnd):
3937        (WebCore::Console::timeEnd):
3938        (WebCore::Console::group):
3939        (WebCore::Console::groupCollapsed):
3940        (WebCore::Console::warn):
3941        * page/Console.h:
3942
39432010-11-29  Dan Bernstein  <mitz@apple.com>
3944
3945        Build fix for non-ICU platforms after r72887.
3946
3947        * editing/TextIterator.cpp:
3948        (WebCore::SearchBuffer::prependContext):
3949
39502010-11-29  Dan Bernstein  <mitz@apple.com>
3951
3952        Reviewed by Darin Adler.
3953
3954        WebCore part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
3955        https://bugs.webkit.org/show_bug.cgi?id=50038
3956
3957        Test: editing/text-iterator/findString.html
3958
3959        * GNUmakefile.am: Added FindOptions.h.
3960        * WebCore.exp.in: Export the new methods that take FindOptions.
3961        * WebCore.gypi: Added FindOptions.h.
3962        * WebCore.pro: Added FindOptions.h and TextBoundaries.{cpp,h}.
3963        * WebCore.vcproj/WebCore.vcproj: Added FindOptions.h.
3964        * WebCore.xcodeproj/project.pbxproj: Added FindOptions.h and TextBoundaries.cpp.
3965        * editing/Editor.cpp:
3966        (WebCore::Editor::firstVisibleRange): Changed to use FindOptions.
3967        (WebCore::Editor::lastVisibleRange): Ditto.
3968        (WebCore::Editor::nextVisibleRange): Ditto.
3969        (WebCore::Editor::findString): Ditto.
3970        (WebCore::Editor::countMatchesForText): Ditto.
3971        * editing/Editor.h: Added a version of findString() that takes FindOptions. Changed
3972        countMatchesForText() to take FindOptions. Made nextVisibleRange() private and changed it
3973        and firstVisibleRange() and lastVisibleRange() to take FindOptions.
3974        * editing/FindOptions.h: Added.
3975        * editing/TextIterator.cpp:
3976        Augmented SearchBuffer with an optional prefix, which is not searched, but provides context
3977        for determining word boundaries.
3978        (WebCore::isSeparator): Added. Identifies a class of characters used to determine where
3979        “words” are embedded in a word.
3980        (WebCore::SearchBuffer::SearchBuffer): Changed to take FindOptions. Added initialization of
3981        m_options, m_prefixLength and m_needsMoreContext.
3982        (WebCore::SearchBuffer::append): Adjust m_prefixLength as part of the prefix gets pushed out
3983        of the buffer.
3984        (WebCore::SearchBuffer::needsMoreContext): Added.
3985        (WebCore::SearchBuffer::prependContext): Added.
3986        (WebCore::SearchBuffer::isWordStartMatch): Added.
3987        (WebCore::SearchBuffer::search): Changed to account for the context prefix. When searching
3988        only for word prefix matches, maintains enough context before a tentative match when moving
3989        it to the beginning of the buffer. Reject matches that are not at word starts if requested.
3990        Adjust m_prefixLength when pushing characters out of the buffer.
3991        (WebCore::findPlainText): Changed to work with FindOptions. Feed the search buffer with context
3992        if and as long as it requires more of it.
3993        * editing/TextIterator.h: Added a version of findPlainText() that takes FindOptions.
3994        * editing/visible_units.cpp: Moved {end,start}Of{First,Last}WordBoundary to TextBoundaries.cpp.
3995        * page/Page.cpp:
3996        (WebCore::Page::findString): Changed to work with FindOptions.
3997        (WebCore::Page::markAllMatchesForText): Ditto.
3998        * page/Page.h: Added FindOptions-based findString() and markAllMatchesForText().
3999        * platform/text/TextBoundaries.cpp:
4000        (WebCore::endOfFirstWordBoundaryContext): Moved here from visible_units.cpp.
4001        (WebCore::startOfLastWordBoundaryContext): Ditto.
4002        * platform/text/TextBoundaries.h:
4003
40042010-11-29  Dai Mikurube  <dmikurube@google.com>
4005
4006        Reviewed by Kent Tamura.
4007
4008        when empty, clicking "down" on outer-spin-button returns "max value"
4009        https://bugs.webkit.org/show_bug.cgi?id=45491
4010
4011        Modified stepping-up/down from renderer
4012        - to clamp steps,
4013        - to handle empty values (described below), and
4014        - to apply them for range type inputs.
4015
4016        Stepping-up/down for empty values are handled "the empty as 0."
4017        For example :
4018        * If 0 is in-range, and matches to step value
4019          "down" -> -step
4020          "up" -> +step
4021          If -step or +step is out of range, new value should be 0.
4022
4023        * If 0 is smaller than the minimum value
4024          "down" -> the minimum value
4025          "up" -> the minimum value
4026
4027        * If 0 is larger than the maximum value
4028          "down" -> the maximum value
4029          "up" -> the maximum value
4030
4031        * If 0 is in-range, but not matched to step value
4032          "down" -> smaler matched value nearest to 0.
4033            e.g. <input type=number min=-100 step=3> -> -1
4034          "up" -> larger matched value nearest to 0.
4035            e.g. <input type=number min=-100 step=3> -> 2
4036
4037        As for date/datetime-local/month/time/week types, the empty is assumed as "current local date/time".
4038        As for datetime type, the empty is assumed as "current date/time in UTC".
4039
4040        As for range input types, changed stepping from renderer to use stepUpFromRenderer().
4041        It was calculated with stepUp() from RangeInputType::handleKeydownEvent().
4042
4043        Test: fast/forms/input-stepup-stepdown-from-renderer.html
4044
4045        * html/BaseDateAndTimeInputType.cpp:
4046        (WebCore::BaseDateAndTimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local time
4047        * html/BaseDateAndTimeInputType.h:
4048        * html/DateTimeInputType.cpp:
4049        (WebCore::DateTimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current UTC time
4050        * html/DateTimeInputType.h:
4051        * html/HTMLInputElement.cpp:
4052        (WebCore::HTMLInputElement::stepUpFromRenderer): Modified it to clamp steps, support empty values and support range type inputs
4053        * html/HTMLInputElement.h:
4054        (WebCore::HTMLInputElement::isRangeControl):
4055        * html/InputType.cpp:
4056        (WebCore::InputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns 0
4057        * html/InputType.h:
4058        * html/MonthInputType.cpp:
4059        (WebCore::MonthInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local month
4060        * html/MonthInputType.h:
4061        * html/RangeInputType.cpp:
4062        (WebCore::RangeInputType::handleKeydownEvent): Added comments and modified it to use stepUpFromRenderer()
4063        * html/TimeInputType.cpp:
4064        (WebCore::TimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local time
4065        * html/TimeInputType.h:
4066        * manual-tests/input-type-datetime-default-value.html: Added manual tests for default values of date/time inputs since they are "the current local/UTC time", which cannot be tested automatically.
4067
40682010-11-29  Adam Barth  <abarth@webkit.org>
4069
4070        Reviewed by Darin Adler.
4071
4072        Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
4073        https://bugs.webkit.org/show_bug.cgi?id=50182
4074
4075        A display-isolated URL can only be displayed (e.g., put in an iframe,
4076        hyperlinked to) by documents from that scheme.  In a sense, this is a
4077        generalization of some of the protections we give file URLs, but
4078        instead of lumping them all together into one "local" bucket, this
4079        patch creates a separate bucket for each scheme.
4080
4081        For a while, I tried using a separate bucket for each origin.  That
4082        would have played nicely with what Blob URLs are trying to do, but some
4083        "chrome" URL pages rely on being able to display other chrome URL
4084        pages, even in different origins.  For example, the New Tab Page shows
4085        thumbnails from the "thumbnail" host.
4086
4087        This patch also removes a bunch of unused code.  I've also propagated
4088        the "deprecated" status of deprecatedCanDisplay to
4089        deprecatedShouldTreatURLAsLocal because that method has no other
4090        callers and is really asking for uppercase/lowercase bugs.  I dream of
4091        someday removing these functions.
4092
4093        * page/SecurityOrigin.cpp:
4094        (WebCore::SecurityOrigin::canDisplay):
4095        (WebCore::SecurityOrigin::deprecatedCanDisplay):
4096        * platform/SchemeRegistry.cpp:
4097        (WebCore::displayIsolatedURLSchemes):
4098        (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
4099        (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
4100        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
4101        (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
4102        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
4103        * platform/SchemeRegistry.h:
4104
41052010-11-29  Sergio Villar Senin  <svillar@igalia.com>
4106
4107        Reviewed by Martin Robinson.
4108
4109        [GTK] Leaks in SoupCache code
4110        https://bugs.webkit.org/show_bug.cgi?id=50161
4111
4112        Fixes some memory leaks in SoupCache code.
4113
4114        * platform/network/soup/cache/soup-http-input-stream.c:
4115        (send_async_finished): Added a missing g_object_unref.
4116        * platform/network/soup/cache/webkit/soup-cache.c:
4117        (get_cacheability): Added soup_header_free_param_list.
4118        (webkit_soup_cache_entry_set_freshness): Ditto.
4119        (webkit_soup_cache_send_response): Ditto.
4120        (webkit_soup_cache_has_response): Ditto.
4121
41222010-11-29  Jian Li  <jianli@chromium.org>
4123
4124        Reviewed by David Levin.
4125
4126        Add send(ArrayBuffer) to XMLHttpRequest per XMLHttpRequest Level 2 spec
4127        https://bugs.webkit.org/show_bug.cgi?id=50199
4128
4129        Test: http/tests/xmlhttprequest/send-array-buffer.html
4130
4131        * bindings/js/JSXMLHttpRequestCustom.cpp:
4132        (WebCore::JSXMLHttpRequest::send):
4133        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
4134        (WebCore::V8XMLHttpRequest::sendCallback):
4135        * xml/XMLHttpRequest.cpp:
4136        (WebCore::XMLHttpRequest::send):
4137        * xml/XMLHttpRequest.h:
4138
41392010-11-29  James Robinson  <jamesr@chromium.org>
4140
4141        [chromium] REGRESSION(72470): Crash in skia on some images
4142        https://bugs.webkit.org/show_bug.cgi?id=50201
4143
4144        Reverts r72470
4145
4146        * platform/graphics/skia/ImageSkia.cpp:
4147        (WebCore::computeResamplingMode):
4148        (WebCore::drawResampledBitmap):
4149
41502010-11-29  Dmitry Titov  <dimich@chromium.org>
4151
4152        Reviewed by David Levin.
4153
4154        Crash when iframe transfers from one page to another and has child frames.
4155        https://bugs.webkit.org/show_bug.cgi?id=50200
4156
4157        * page/Frame.cpp:
4158        (WebCore::Frame::transferChildFrameToNewDocument):
4159        avoid overriding 'didTransfer' which has the result of previous check.
4160
41612010-11-19  Ryosuke Niwa  <rniwa@webkit.org>
4162
4163        Reviewed by David Hyatt.
4164
4165        up arrow doesn't work with RTL text with word wrapping
4166        https://bugs.webkit.org/show_bug.cgi?id=41987
4167
4168        The bug was caused by positionForPoint's not returning the correct affinity when the x coordiate
4169        is to the left of the first line, and startOfLine's incorrectly moving position to the previous candidate.
4170
4171        Fixed the bug by returning upstream VisiblePosition in positionForPoint if the first inline text box's offset
4172        is greater than 0.  Also removed the code added by http://trac.webkit.org/changeset/23608 since this changeset
4173        does not add any test, and the problem described in the changelog reproduces regardless of the code's presence.
4174
4175        Tests: editing/selection/click-left-of-rtl-wrapping-text.html
4176               editing/selection/modify-up-on-rtl-wrapping-text.html
4177
4178        * editing/visible_units.cpp:
4179        (WebCore::startOfLine):
4180        * rendering/RenderText.cpp:
4181        (WebCore::RenderText::positionForPoint):
4182
41832010-11-29  Ilya Sherman  <isherman@chromium.org>
4184
4185        Reviewed by Kent Tamura.
4186
4187        Ensure that option elements are rendered with normal font weight on Windows/Linux
4188        https://bugs.webkit.org/show_bug.cgi?id=50055
4189
4190        * WebCore.gyp/WebCore.gyp: include themeChromiumSkia.css
4191        * css/themeChromiumSkia.css: Added.
4192        (option): font-weight: normal !important;
4193        * rendering/RenderThemeChromiumSkia.cpp:
4194        (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): include themeChromiumSkia.css
4195
41962010-11-29  Brent Fulgham  <bfulgham@webkit.org>
4197
4198        Unreviewed build fix.
4199
4200        * WebCore.vcproj/WebCoreCairo.vsprops: Provide missing WIN_CAIRO
4201          definition so that proper targets are build.
4202        * platform/graphics/win/cairo/FontPlatformData.h:
4203        (WebCore::FontPlatformData::orientation): Add missing implementation.
4204
42052010-11-29  Chris Rogers  <crogers@google.com>
4206
4207        Reviewed by Kenneth Russell.
4208
4209        Switch web audio code to use FloatPoint3D instead of Vector3
4210        https://bugs.webkit.org/show_bug.cgi?id=50186
4211
4212        No new tests since audio API is not yet implemented.
4213
4214        * platform/audio/Cone.cpp:
4215        (WebCore::ConeEffect::gain):
4216        * platform/audio/Cone.h:
4217        * platform/graphics/FloatPoint3D.h:
4218        (WebCore::FloatPoint3D::isZero):
4219        (WebCore::operator*):
4220        (WebCore::FloatPoint3D::distanceTo):
4221        * webaudio/AudioListener.h:
4222        (WebCore::AudioListener::setPosition):
4223        (WebCore::AudioListener::position):
4224        (WebCore::AudioListener::setOrientation):
4225        (WebCore::AudioListener::orientation):
4226        (WebCore::AudioListener::setUpVector):
4227        (WebCore::AudioListener::upVector):
4228        (WebCore::AudioListener::setVelocity):
4229        (WebCore::AudioListener::velocity):
4230        * webaudio/AudioPannerNode.cpp:
4231        (WebCore::AudioPannerNode::AudioPannerNode):
4232        (WebCore::AudioPannerNode::getAzimuthElevation):
4233        (WebCore::AudioPannerNode::dopplerRate):
4234        (WebCore::AudioPannerNode::distanceConeGain):
4235        * webaudio/AudioPannerNode.h:
4236        (WebCore::AudioPannerNode::position):
4237        (WebCore::AudioPannerNode::setPosition):
4238        (WebCore::AudioPannerNode::orientation):
4239        (WebCore::AudioPannerNode::setOrientation):
4240        (WebCore::AudioPannerNode::velocity):
4241        (WebCore::AudioPannerNode::setVelocity):
4242
42432010-11-29  Xiaomei Ji  <xji@chromium.org>
4244
4245        Reviewed by David Hyatt.
4246
4247        Right-to-left pages should be scrollable to reveal left overflow.
4248        https://bugs.webkit.org/show_bug.cgi?id=23556
4249
4250        For RTL page, save left layout overflow and include it into the document
4251        size during layout. Use the left layout overflow when scroll and paint
4252        the page. Behavior on LTR page should be untouched since left layout 
4253        overflow is set as 0 for LTR page.
4254
4255        Tests: fast/dom/horizontal-scrollbar-in-rtl-doesnt-fire-onscroll.html
4256               fast/dom/horizontal-scrollbar-in-rtl.html
4257               fast/dom/horizontal-scrollbar-when-dir-change.html
4258               fast/dom/left-overflow-in-ltr.html
4259               fast/dom/right-overflow-in-rtl.html
4260
4261        * page/FrameView.cpp:
4262        (WebCore::FrameView::adjustViewSize): Save negative of left layout overflow as scroll X origin. And includes left layout overflow into document size.
4263        * page/mac/WebCoreFrameView.h: Add methods for setting and getting scroll X origin.
4264        * platform/ScrollView.cpp:
4265        (WebCore::ScrollView::ScrollView):
4266        (WebCore::ScrollView::maximumScrollPosition): Minus scroll X origin from maximum horizontal scroll position.
4267        (WebCore::ScrollView::minimumScrollPosition):
4268        (WebCore::ScrollView::adjustScrollPositionWithinRange):
4269        (WebCore::ScrollView::valueChanged):
4270        (WebCore::ScrollView::setScrollPosition):
4271        (WebCore::ScrollView::updateScrollbars):
4272        (WebCore::ScrollView::wheelEvent):
4273        * platform/ScrollView.h:
4274        * platform/mac/ScrollViewMac.mm:
4275        (WebCore::ScrollView::platformSetContentsSize):
4276        (WebCore::ScrollView::platformSetScrollPosition):
4277        (WebCore::ScrollView::platformSetScrollOriginX):
4278        * rendering/RenderBox.cpp:
4279        (WebCore::RenderBox::styleDidChange):
4280        (WebCore::RenderBox::paintRootBoxDecorations): Include left layout overflow into canvas size.
4281        * rendering/RenderView.cpp:
4282        (WebCore::RenderView::layout): Save left layout overflow.
4283        (WebCore::RenderView::docLeft):
4284        (WebCore::RenderView::docWidth): Include left layout overflow into doc width for RTL page.
4285        * rendering/RenderView.h:
4286
42872010-11-29  Simon Fraser  <simon.fraser@apple.com>
4288
4289        Reviewed by Ojan Vafai.
4290
4291        bunch of pixel failures after http://trac.webkit.org/changeset/72839/
4292        https://bugs.webkit.org/show_bug.cgi?id=50188
4293        
4294        We need to call updateLayerTransform() for reflections, and
4295        table rows as well.
4296
4297        * rendering/RenderReplica.cpp:
4298        (WebCore::RenderReplica::layout):
4299        * rendering/RenderTableRow.cpp:
4300        (WebCore::RenderTableRow::layout):
4301        * rendering/RenderTableSection.cpp:
4302        (WebCore::RenderTableSection::layoutRows):
4303
43042010-11-29  Xiaomei Ji  <xji@chromium.org>
4305
4306        Reviewed by David Hyatt.
4307
4308        Fix tab overflow problem when alignment is not left.
4309        https://bugs.webkit.org/show_bug.cgi?id=25459
4310
4311        I checked WordPad in Windows, TextEdit in Mac, OpenOffice, and Google doc. 
4312        In all of them, (when the writing mode is horizontal) when the alignment is not
4313        left alignment, the length of tab is computed based on the tab's position
4314        relative to the left start of line, not based on the tab's position relative 
4315        to the left edge of the document.
4316
4317        WebKit should follow the same.
4318
4319        The m_xPos in each TextRun should be relative to the left start of the line, 
4320        not left start of its containing block (in right alignment and center alignment,
4321        left start of the line is not the same as left start of the containing block).
4322        So, when the text is drawn, the width of tab is consistent with the width 
4323        computed in RenderBlock::computeInlineDirectionPositionsForLine().
4324
4325        I did not test vertical writing mode, but I think the same rule should apply.
4326
4327        Test: fast/dom/tab-in-right-alignment.html
4328
4329        * platform/graphics/TextRun.h:
4330        * rendering/InlineTextBox.cpp:
4331        (WebCore::InlineTextBox::textPos):
4332        * rendering/InlineTextBox.h:
4333
43342010-11-29  Mikhail Naganov  <mnaganov@chromium.org>
4335
4336        Reviewed by Pavel Feldman.
4337
4338        WebInspector: Request JSON-serialized heap snapshot from JS engine.
4339        This simplifies heap snapshots interaction and API. Instead of
4340        having objects representing snapshot entities, the whole snapshot
4341        is transferred to WebInspector and parsed there.
4342
4343        https://bugs.webkit.org/show_bug.cgi?id=49974
4344
4345        * bindings/js/ScriptHeapSnapshot.h:
4346        (WebCore::ScriptHeapSnapshot::OutputStream::~OutputStream):
4347        (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
4348        (WebCore::ScriptHeapSnapshot::writeJSON):
4349        (WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
4350        * bindings/v8/ScriptHeapSnapshot.cpp:
4351        (WebCore::ScriptHeapSnapshot::writeJSON):
4352        * bindings/v8/ScriptHeapSnapshot.h:
4353        (WebCore::ScriptHeapSnapshot::OutputStream::~OutputStream):
4354        * inspector/Inspector.idl:
4355        * inspector/InspectorProfilerAgent.cpp:
4356        (WebCore::InspectorProfilerAgent::getProfile):
4357        * inspector/front-end/HeapSnapshotView.js:
4358        (WebInspector.HeapSnapshotEdgesIterator):
4359        (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
4360        (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
4361        (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
4362        (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
4363        (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
4364        (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
4365        (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
4366        (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
4367        (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
4368        (WebInspector.HeapSnapshotNodeWrapper):
4369        (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
4370        (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
4371        (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
4372        (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
4373        (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
4374        (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
4375        (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
4376        (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
4377        (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
4378        (WebInspector.HeapSnapshot):
4379        (WebInspector.HeapSnapshot.prototype._init):
4380        (WebInspector.HeapSnapshot.prototype.get rootEdges):
4381        (WebInspector.HeapSnapshotView.prototype.snapshotLoaded):
4382        (WebInspector.HeapSnapshotView.prototype._loadProfile.processLoadedSnapshot):
4383        (WebInspector.HeapSnapshotView.prototype._loadProfile):
4384        (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
4385        (WebInspector.HeapSnapshotView.prototype._prepareProfile.mergeRetainers):
4386        (WebInspector.HeapSnapshotView.prototype._prepareProfile):
4387        (WebInspector.HeapSnapshotView.prototype._sortData):
4388        * inspector/front-end/ProfilesPanel.js:
4389        (WebInspector.ProfilesPanel):
4390        (WebInspector.ProfilesPanel.prototype.addHeapSnapshotChunk):
4391        (WebInspector.ProfilesPanel.prototype.finishHeapSnapshot):
4392        * inspector/front-end/inspector.js:
4393        (WebInspector.addHeapSnapshotChunk):
4394        (WebInspector.finishHeapSnapshot):
4395
43962010-11-29  Simon Fraser  <simon.fraser@apple.com>
4397
4398        Reviewed by Dave Hyatt.
4399
4400        layer()->currentTransform() is stale when layout changes the box size
4401        https://bugs.webkit.org/show_bug.cgi?id=50175
4402        
4403        RenderLayer::updateTransform() is fairly expensive, so we
4404        have to avoid calling it from RenderBox::applyLayerTransformToRect()
4405        every time. This requires that we update the layer's transform
4406        during layout, instead of from updateLayerPositions() which is too late.
4407        
4408        So call updateLayerTransform() from the various layout methods
4409        on renderers that can be transformed, and remove it from 
4410        updateLayerPositions().
4411
4412        Test: fast/overflow/overflow-update-transform.html
4413
4414        * rendering/RenderBlock.cpp:
4415        (WebCore::RenderBlock::layoutBlock):
4416        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
4417        * rendering/RenderBox.cpp:
4418        (WebCore::RenderBox::applyLayerTransformToRect):
4419        (WebCore::RenderBox::updateLayerTransform):
4420        * rendering/RenderBox.h:
4421        * rendering/RenderEmbeddedObject.cpp:
4422        (WebCore::RenderEmbeddedObject::layout):
4423        * rendering/RenderFlexibleBox.cpp:
4424        (WebCore::RenderFlexibleBox::layoutBlock):
4425        * rendering/RenderIFrame.cpp:
4426        (WebCore::RenderIFrame::layout):
4427        * rendering/RenderLayer.cpp:
4428        (WebCore::RenderLayer::updateLayerPositions):
4429        * rendering/RenderReplaced.cpp:
4430        (WebCore::RenderReplaced::layout):
4431        * rendering/RenderTable.cpp:
4432        (WebCore::RenderTable::layout):
4433
44342010-11-29  Chris Rogers  <crogers@google.com>
4435
4436        Reviewed by Kenneth Russell.
4437
4438        Add remaining custom JSC web audio bindings
4439        https://bugs.webkit.org/show_bug.cgi?id=50172
4440
4441        No new tests since audio API is not yet implemented.
4442
4443        * bindings/js/JSAudioBufferSourceNodeCustom.cpp: Added.
4444        (WebCore::JSAudioBufferSourceNode::setBuffer):
4445        * bindings/js/JSConvolverNodeCustom.cpp: Added.
4446        (WebCore::JSConvolverNode::setBuffer):
4447        * bindings/js/JSJavaScriptAudioNodeCustom.cpp: Added.
4448        (WebCore::JSJavaScriptAudioNode::markChildren):
4449        * webaudio/AudioBufferSourceNode.idl:
4450        * webaudio/ConvolverNode.idl:
4451
44522010-11-29  Yael Aharon  <yael.aharon@nokia.com>
4453
4454        Reviewed by Darin Adler.
4455
4456        HTMLFormElement.elements doesn't include fieldsets
4457        https://bugs.webkit.org/show_bug.cgi?id=48193
4458
4459        Add fieldset and keygen to the list of form collection elements, by making them enumeratable.
4460        This patch does not add object element to the list. A separate bug will do that.
4461
4462        Test: fast/forms/form-collection-elements.html
4463
4464        * html/HTMLFieldSetElement.h:
4465        (WebCore::HTMLFieldSetElement::isEnumeratable):
4466        * html/HTMLKeygenElement.h:
4467        (WebCore::HTMLKeygenElement::isEnumeratable):
4468
44692010-11-29  Xan Lopez  <xlopez@igalia.com>
4470
4471        Reviewed by Martin Robinson.
4472
4473        Get distcheck going.
4474
4475        * GNUmakefile.am:
4476
44772010-11-29  Alexey Proskuryakov  <ap@apple.com>
4478
4479        Reviewed by Darin Adler.
4480
4481        https://bugs.webkit.org/show_bug.cgi?id=50181
4482        CSS style declarations don't GC protect parents
4483
4484        Test: fast/dom/StyleSheet/gc-declaration-parent-rule.html
4485
4486        * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::markChildren):
4487        Protect the parent rule.
4488
44892010-11-29  Ilya Tikhonovsky  <loislo@chromium.org>
4490
4491        Reviewed by Pavel Feldman.
4492
4493        Web Inspector: UI fix. In Timeline, Paint events "Location" value is displayed
4494        in a confusing manner. The format string should be changed from %d x %d
4495        pattern to (%d, %d).
4496
4497        https://bugs.webkit.org/show_bug.cgi?id=50178
4498
4499        * English.lproj/localizedStrings.js:
4500        * inspector/front-end/TimelinePanel.js:
4501        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
4502
45032010-11-29  Darin Adler  <darin@apple.com>
4504
4505        Reviewed by Andreas Kling.
4506
4507        Remove a couple unneeded overflow checks
4508        https://bugs.webkit.org/show_bug.cgi?id=49816
4509
4510        * platform/text/TextCodecUTF16.cpp:
4511        (WebCore::TextCodecUTF16::encode): Use an ASSERT instead of
4512        an overflow check with CRASH.
4513
45142010-11-29  Tony Chang  <tony@chromium.org>
4515
4516        Unreviewed, disable warnings again on chromium linux
4517
4518        * WebCore.gyp/WebCore.gyp:
4519
45202010-11-29  Cosmin Truta  <ctruta@chromium.org>
4521
4522        Reviewed by Nikolas Zimmermann.
4523
4524        getBoundingClientRect: Do not truncate the coordinates to integers
4525        https://bugs.webkit.org/show_bug.cgi?id=48110
4526
4527        Remove the float-to-int coordinate conversions inside getBoundingClientRect,
4528        to comply with the CSSOM View Module API.
4529
4530        Tests: fast/dom/Element/getBoundingClientRect.html
4531               fast/dom/Range/getBoundingClientRect.html
4532               svg/zoom/page/zoom-getBoundingClientRect.xhtml
4533               svg/zoom/page/zoom-zoom-coords.xhtml
4534
4535        * dom/ClientRect.cpp:
4536        (WebCore::ClientRect::ClientRect): Added overload to allow a FloatRect argument.
4537        * dom/ClientRect.h:
4538        (WebCore::ClientRect::create): Ditto.
4539        * dom/Element.cpp:
4540        (Element::getBoundingClientRect): Removed conversion from FloatRect to IntRect.
4541        * dom/Range.cpp:
4542        (WebCore::Range::getBoundingClientRect): Ditto.
4543        * rendering/RenderObject.h:
4544        (adjustIntRectForAbsoluteZoom): Removed.
4545        (adjustFloatRectForAbsoluteZoom): Added.
4546        * rendering/style/RenderStyle.h:
4547        (adjustFloatForAbsoluteZoom): Added.
4548
45492010-11-29  Dimitri Glazkov  <dglazkov@chromium.org>
4550
4551        Reviewed by Darin Adler.
4552
4553        Converge means of querying a parent node into one way, which is Node::parentNode.
4554        https://bugs.webkit.org/show_bug.cgi?id=49686
4555
4556        A follow-up to r72259, which explicitly forbids further use of Node::parent by
4557        making it private.
4558
4559        No change in behavior, so no new tests.
4560
4561        * dom/Document.cpp:
4562        (WebCore::Document::styleForElementIgnoringPendingStylesheets): Changed to use parentNode.
4563        (WebCore::Document::hoveredNodeDetached): Ditto.
4564        (WebCore::Document::activeChainNodeDetached): Ditto.
4565        * dom/Node.h: Made Node::parent private.
4566        * page/SpatialNavigation.cpp:
4567        (WebCore::canBeScrolledIntoView): Changed to use parentNode.
4568        * xml/XSLTProcessorQt.cpp:
4569        (WebCore::XSLTProcessor::transformToString): Ditto.
4570
45712010-11-29  Tony Chang  <tony@chromium.org>
4572
4573        Reviewed by James Robinson.
4574
4575        [chromium] try to enable WebCore compiler warnings on linux
4576        https://bugs.webkit.org/show_bug.cgi?id=50168
4577
4578        * WebCore.gyp/WebCore.gyp:
4579        * platform/graphics/chromium/FontLinux.cpp:
4580        (WebCore::TextRunWalker::setPadding):
4581        (WebCore::TextRunWalker::setGlyphXPositions):
4582        (WebCore::glyphIndexForXPositionInScriptRun):
4583
45842010-11-29  Alexey Proskuryakov  <ap@apple.com>
4585
4586        Reviewed by Darin Adler.
4587
4588        https://bugs.webkit.org/show_bug.cgi?id=50165
4589        CSS style rules don't GC protect parents
4590
4591        Tests: fast/dom/StyleSheet/gc-parent-rule.html
4592               fast/dom/StyleSheet/gc-parent-stylesheet.html
4593
4594        * bindings/js/JSCSSRuleCustom.cpp: (WebCore::JSCSSRule::markChildren): Mark parents. The code
4595        is super naive compared to what we have for nodes - but CSSOM has shallow hierarchies, so
4596        it should be OK.
4597
4598        * css/CSSRule.idl: Added CustomMarkFunction.
4599
46002010-11-29  Gavin Peters  <gavinp@chromium.org>
4601
4602        Reviewed by Adam Barth.
4603
4604        Web page can prevent WebKit from loading subresources on other
4605        pages (cache poisoning)
4606        https://bugs.webkit.org/show_bug.cgi?id=35404
4607
4608        Tests: http/tests/misc/unloadable-script.html
4609               loader/reload-subresource-when-type-changes.html
4610
4611        * loader/cache/MemoryCache.cpp:
4612        (WebCore::MemoryCache::requestResource):
4613
46142010-11-29  Simon Fraser  <simon.fraser@apple.com>
4615
4616        Reviewed by Dan Bernstein.
4617
4618        Crash in WebCore::CSSStyleSelector::loadPendingImages
4619        https://bugs.webkit.org/show_bug.cgi?id=50149
4620        
4621        Null-check style->boxReflect() when loading pending style images.
4622
4623        Test: fast/reflections/pending-reflection-mask-crash.html
4624
4625        * css/CSSStyleSelector.cpp:
4626        (WebCore::CSSStyleSelector::loadPendingImages):
4627
46282010-11-29  Pavel Feldman  <pfeldman@chromium.org>
4629
4630        Reviewed by Yury Semikhatsky.
4631
4632        Web Inspector: crash upon inspecting user style sheet.
4633        https://bugs.webkit.org/show_bug.cgi?id=50109
4634
4635        * inspector/InspectorStyleSheet.cpp:
4636        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
4637
46382010-11-29  Patrick Gansterer  <paroga@webkit.org>
4639
4640        Reviewed by Adam Roben.
4641
4642        [WINCE] Implement WebCore::directoryName
4643        https://bugs.webkit.org/show_bug.cgi?id=50031
4644
4645        Also fix handling of paths without path separator.
4646
4647        * platform/wince/FileSystemWinCE.cpp:
4648        (WebCore::reverseFindPathSeparator):
4649        (WebCore::makeAllDirectories):
4650        (WebCore::pathGetFileName):
4651        (WebCore::directoryName):
4652
46532010-11-29  Patrick Gansterer  <paroga@webkit.org>
4654
4655        Reviewed by Adam Roben.
4656
4657        Simplify directoryName in FileSystemWin.cpp
4658        https://bugs.webkit.org/show_bug.cgi?id=50028
4659
4660        * platform/win/FileSystemWin.cpp:
4661        (WebCore::directoryName):
4662
46632010-11-24  Dimitri Glazkov  <dglazkov@chromium.org>
4664
4665        Reviewed by Darin Adler.
4666
4667        REGRESSION (r71934): Main search field at Apple tech specs does not accept typing
4668        https://bugs.webkit.org/show_bug.cgi?id=49868
4669
4670        The problem here was that the inner text element of search input was first laid out as
4671        disabled and thus with a 0-height. This would prevent a hit test to ever reach it, even
4672        if it's enabled.
4673
4674        Test: fast/forms/disabled-search-input.html
4675
4676        * rendering/RenderBlock.cpp:
4677        (WebCore::RenderBlock::hasLineIfEmpty): Removed a check for textarea that is no longer necessary.
4678        * rendering/TextControlInnerElements.cpp:
4679        (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): Added an override to ensure that
4680            an empty inner text element is always one-line high.
4681
46822010-11-29  W. James MacLean  <wjmaclean@chromium.org>
4683
4684       Reviewed by Dirk Schulze.
4685
4686       Large input numbers cause overflow during SVG parsing, leading to crash
4687       https://bugs.webkit.org/show_bug.cgi?id=49546
4688
4689       Values outside the range supported by float lead to Infinity() or NaN()
4690       during parsing, leading to subsequent crashes. Modified
4691       parser to verify number is in the supported range, and return false if not.
4692
4693       Tests: svg/custom/svg-parse-overflow-1.html
4694              svg/custom/svg-parse-overflow-2.html
4695              svg/custom/svg-parse-overflow-3.html
4696              svg/custom/svg-parse-overflow-4.html
4697              svg/custom/svg-parse-overflow-5.html
4698
4699       * svg/SVGParserUtilities.cpp:
4700       (WebCore::isValidRange):
4701       (WebCore::genericParseNumber):
4702
47032010-11-29  Yury Semikhatsky  <yurys@chromium.org>
4704
4705        Reviewed by Pavel Feldman.
4706
4707        Web Inspector: display name of an object constructor as the object's type
4708        https://bugs.webkit.org/show_bug.cgi?id=50063
4709
4710        Name of the function that has created given object is used as the object's
4711        type when it's displayed in the inspector front-end(in case of V8). Before
4712        this change, it was always a value of the object's constructor.name property
4713        which is confusing in some cases(see the test).
4714
4715        Removed check for jsEngine from the InjectedScript.js, all VM-specific code
4716        is now encapsulated on the bindings layer.
4717
4718        Test: inspector/console-object-constructor-name.html
4719
4720        * bindings/js/JSInjectedScriptHostCustom.cpp:
4721        (WebCore::InjectedScriptHost::createInjectedScript):
4722        (WebCore::JSInjectedScriptHost::constructorName):
4723        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
4724        (WebCore::InjectedScriptHost::createInjectedScript):
4725        (WebCore::V8InjectedScriptHost::constructorNameCallback):
4726        * inspector/InjectedScriptHost.idl:
4727        * inspector/front-end/InjectedScript.js:
4728        (injectedScriptConstructor.):
4729
47302010-11-29  Jeremy Moskovich  <jeremy@chromium.org>
4731
4732        Reviewed by Eric Seidel.
4733
4734        https://bugs.webkit.org/show_bug.cgi?id=24346
4735
4736        Remove temporary workaround to load Gears plugin.
4737
4738        * html/HTMLObjectElement.cpp:
4739        (WebCore::HTMLObjectElement::rendererIsNeeded):
4740
47412010-11-29  Yael Aharon  <yael.aharon@nokia.com>
4742
4743        Reviewed by Antonio Gomes.
4744
4745        Spatial Navigation: Store more information in FocusCandidate
4746        https://bugs.webkit.org/show_bug.cgi?id=50153
4747
4748        More information should be stored in FocusCandidate, to avoid
4749        recalculating it when running the spatial navigation algorithm.
4750
4751        No new tests, since this is code refactoring only.
4752
4753        * page/FocusController.cpp:
4754        (WebCore::updateFocusCandidateIfNeeded):
4755        (WebCore::FocusController::findFocusCandidateInContainer):
4756        (WebCore::FocusController::advanceFocusDirectionallyInContainer):
4757        * page/SpatialNavigation.cpp:
4758        (WebCore::FocusCandidate::FocusCandidate):
4759        (WebCore::canBeScrolledIntoView):
4760        * page/SpatialNavigation.h:
4761        (WebCore::FocusCandidate::FocusCandidate):
4762
47632010-11-29  Dimitri Glazkov  <dglazkov@chromium.org>
4764
4765        Reviewed by Darin Adler.
4766
4767        Use the right focusable check to avoid multiple focus/blur events being fired from inside of the shadow DOM.
4768        https://bugs.webkit.org/show_bug.cgi?id=49977
4769
4770        * editing/SelectionController.cpp:
4771        (WebCore::SelectionController::setFocusedNodeIfNeeded): Added a FIXME to remove redundant code.
4772        * page/EventHandler.cpp:
4773        (WebCore::EventHandler::dispatchMouseEvent): Changed to use isMouseFocusable, which is what shadow DOM elements
4774            override, and added a FIXME to convert to use shadow DOM-aware traversal instead of render tree traversal.
4775
4776        Test: fast/events/shadow-boundary-crossing-2.html
4777
47782010-11-29  Adam Roben  <aroben@apple.com>
4779
4780        Windows build fix after r72715
4781
4782        * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag to fix an
4783        XML syntax error.
4784
47852010-11-29  Bernhard Bauer  <bauerb@chromium.org>
4786
4787        Reviewed by Jeremy Orlow.
4788
4789        Remove databaseFileName from IDBFactoryBackendImpl
4790        https://bugs.webkit.org/show_bug.cgi?id=50150
4791
4792        No new tests, since functionality is unchanged.
4793
4794        * storage/IDBFactoryBackendImpl.cpp:
4795        (WebCore::openSQLiteDatabase):
4796        * storage/IDBFactoryBackendImpl.h:
4797
47982010-11-29  Philippe Normand  <pnormand@igalia.com>
4799
4800        Reviewed by Xan Lopez.
4801
4802        [GStreamer] take video sink ownership with gst_object API
4803        https://bugs.webkit.org/show_bug.cgi?id=49011
4804
4805        Use gst_object_ref_sink instead of g_object_ref_sink to avoid
4806        possible leaks.
4807
4808        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
4809        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
4810
48112010-11-29  Jan Erik Hanssen  <jhanssen@sencha.com>
4812
4813        Reviewed by Kenneth Rohde Christiansen.
4814
4815        QtWebKit asserts when selecting elided text.
4816        https://bugs.webkit.org/show_bug.cgi?id=45391
4817
4818        Ensure that the length passed to fromRawDataWithoutRef() does
4819        not exceed the length of the string.
4820
4821        * platform/graphics/qt/FontQt.cpp:
4822        (WebCore::Font::selectionRectForSimpleText):
4823
48242010-11-26  Alexander Pavlov  <apavlov@chromium.org>
4825
4826        Reviewed by Pavel Feldman.
4827
4828        Web Inspector: Styles Gear Menu Choice to Display Colors "As Authored"
4829        https://bugs.webkit.org/show_bug.cgi?id=31614
4830
4831        * English.lproj/localizedStrings.js:
4832        * inspector/front-end/Color.js:
4833        (WebInspector.Color.prototype.toString):
4834        (WebInspector.Color.prototype._parse.this.rgba.set 0):
4835        (WebInspector.Color.prototype._parse.set WebInspector):
4836        (WebInspector.Color.prototype._parse):
4837        * inspector/front-end/StylesSidebarPane.js:
4838        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.nextFormat):
4839        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
4840
48412010-11-29  Helder Correia  <helder@sencha.com>
4842
4843        Reviewed by Kenneth Rohde Christiansen.
4844
4845        [Qt] fillRect shadow has incorrect behavior when using ctx.scale(x,y)
4846        https://bugs.webkit.org/show_bug.cgi?id=50141
4847
4848        Don't apply scaling transformation to shadow offsets.
4849
4850        Test: fast/canvas/canvas-scale-fillRect-shadow.html
4851
4852        * platform/graphics/ContextShadow.h:
4853        * platform/graphics/qt/ContextShadowQt.cpp:
4854        (WebCore::ContextShadow::beginShadowLayer):
4855        (WebCore::ContextShadow::endShadowLayer):
4856        * platform/graphics/qt/GraphicsContextQt.cpp:
4857        (WebCore::GraphicsContext::fillRect):
4858
48592010-11-28  Dimitri Glazkov  <dglazkov@chromium.org>
4860
4861        Reviewed by Darin Adler.
4862
4863        Default event handlers should also be using event retargeting.
4864        https://bugs.webkit.org/show_bug.cgi?id=49986
4865
4866        Test: fast/events/shadow-boundary-crossing-2.html
4867
4868        * dom/EventContext.cpp:
4869        (WebCore::EventContext::defaultEventHandler): Added.
4870        * dom/EventContext.h: Added decl.
4871        * dom/Node.cpp:
4872        (WebCore::Node::dispatchGenericEvent): Changed to use event retargeting for
4873            default event handlers.
4874
48752010-11-23  MORITA Hajime  <morrita@google.com>
4876
4877        Reviewed by Kent Tamura.
4878
4879        REGRESSION: Text on <input type="search"> is not spellchecked.
4880        https://bugs.webkit.org/show_bug.cgi?id=49651
4881
4882        TextControlInnerElement::isSpellCheckingEnabled() didn't consider 
4883        non-root shadow elelements and always went false for <input type="search>.
4884        This change unifies shadow and host handling into Element::isSpellCheckingEnabled().
4885        
4886        Test: editing/spelling/spellcheck-attribute.html
4887        
4888        * dom/Element.cpp:
4889        (WebCore::Element::isSpellCheckingEnabled):
4890        * rendering/TextControlInnerElements.cpp:
4891        * rendering/TextControlInnerElements.h:
4892
48932010-11-28  Antonio Gomes  <agomes@rim.com>
4894
4895        Reviewed by Kenneth Rohde Christiansen.
4896
4897        Spatial Navigation: use isSpatialNaviagtionEnabled from SpatialNavigation.h in HTMLInputElement::defaultEventHandler
4898        https://bugs.webkit.org/show_bug.cgi?id=50131
4899
4900        For all isSpatialNavigationEnabled calls throughout WebCore, we decided to use the static method in
4901        SpatialNavigation.h instead of directly checking from the one in Settings.h. Reason: in a soon future,
4902        there  will be a isCaretBrowsing check incorporated into this method (and probably renaming it accordingly)
4903        to avoid feature conflicts (spatial navigation x caret browsing).
4904
4905        No new tests needed.
4906
4907        * html/HTMLInputElement.cpp:
4908        (WebCore::HTMLInputElement::defaultEventHandler):
4909
49102010-11-27  Benjamin Kalman  <kalman@chromium.org>
4911
4912        Reviewed by Darin Adler.
4913
4914        Move Position::EditingBoundaryCrossingRule to a new header file
4915        https://bugs.webkit.org/show_bug.cgi?id=49630
4916
4917        * GNUmakefile.am:
4918        * WebCore.exp.in:
4919        * WebCore.gypi:
4920        * WebCore.pro:
4921        * WebCore.vcproj/WebCore.vcproj:
4922        * WebCore.xcodeproj/project.pbxproj:
4923        * dom/Position.cpp:
4924        (WebCore::downstreamIgnoringEditingBoundaries):
4925        (WebCore::upstreamIgnoringEditingBoundaries):
4926        * dom/Position.h:
4927        * editing/DeleteSelectionCommand.cpp:
4928        (WebCore::DeleteSelectionCommand::doApply):
4929        * editing/EditingBoundary.h: Added.
4930        * editing/visible_units.cpp:
4931        (WebCore::startOfParagraph):
4932        (WebCore::endOfParagraph):
4933        (WebCore::isStartOfParagraph):
4934        (WebCore::isEndOfParagraph):
4935        * editing/visible_units.h:
4936        * rendering/RenderObject.cpp:
4937        (WebCore::RenderObject::createVisiblePosition):
4938
49392010-11-26  Rob Buis  <rwlbuis@gmail.com>
4940
4941        Reviewed by Simon Fraser.
4942
4943        Percentage z offset in transform-origin should make the property invalid
4944        https://bugs.webkit.org/show_bug.cgi?id=48704
4945
4946        Discard transform-origin property when parsing invalid Z value.
4947
4948        Test: fast/css/transform-origin-parsing.html
4949
4950        * css/CSSParser.cpp:
4951        (WebCore::CSSParser::parseTransformOriginShorthand):
4952        (WebCore::CSSParser::parseTransformOrigin):
4953        * css/CSSParser.h:
4954
49552010-11-26  Dan Bernstein  <mitz@apple.com>
4956
4957        Reviewed by Antti Koivisto.
4958
4959        <rdar://problem/8681368> Avoid unnecessary calls to CTFontGetPlatformFont()
4960        https://bugs.webkit.org/show_bug.cgi?id=50096
4961
4962        No new test, since functionality is unchanged.
4963
4964        * platform/graphics/chromium/CrossProcessFontLoading.mm:
4965        (WebCore::FontPlatformData::loadFont): Removed the ATSUFontID argument.
4966        * platform/graphics/cocoa/FontPlatformData.h:
4967        (WebCore::FontPlatformData::FontPlatformData): Ditto.
4968        (WebCore::FontPlatformData::operator==): Removed comparison of font IDs.
4969        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
4970        (WebCore::FontPlatformData::loadFont): Removed the ATSUFontID argument.
4971        (WebCore::FontPlatformData::FontPlatformData): Updated.
4972        (WebCore::FontPlatformData::operator=): Removed copying of font ID.
4973        (WebCore::FontPlatformData::setFont): Removed setting of font ID.
4974        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
4975        (WebCore::initializeATSUStyle): Call CTFontGetPlatformFont() here if necessary.
4976        * platform/graphics/mac/FontCustomPlatformData.cpp:
4977        (WebCore::FontCustomPlatformData::fontPlatformData): Updated for FontPlatformData change.
4978        (WebCore::createFontCustomPlatformData): Updated for FontCustomPlatformData change.
4979        * platform/graphics/mac/FontCustomPlatformData.h:
4980        (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed ATSUFontID argument and
4981        data member.
4982        * platform/graphics/mac/SimpleFontDataATSUI.mm:
4983        (WebCore::SimpleFontData::checkShapesArabic): Call CTFontGetPlatformFont() here if necessary.
4984
49852010-11-26  François Sausset  <sausset@gmail.com>
4986
4987        Reviewed by Daniel Bates.
4988
4989        MathML: code cleaning needed in MathMLInlineContainerElement.cpp
4990        https://bugs.webkit.org/show_bug.cgi?id=50069
4991
4992        Unnecessary namespace was removed and style was adjusted.
4993
4994        * mathml/MathMLInlineContainerElement.cpp:
4995        (WebCore::MathMLInlineContainerElement::createRenderer):
4996
49972010-11-26  Andrei Popescu  <andreip@google.com>
4998
4999        Reviewed by Jeremy Orlow.
5000
5001        IDBDatabase and IDBObjectStore remove* methods should be renamed to delete*
5002        https://bugs.webkit.org/show_bug.cgi?id=50113
5003
5004        Modified exisiting layout tests to cover this change.
5005
5006        * storage/IDBDatabase.cpp:
5007        (WebCore::IDBDatabase::deleteObjectStore):
5008        * storage/IDBDatabase.h:
5009        * storage/IDBDatabase.idl:
5010        * storage/IDBDatabaseBackendImpl.cpp:
5011        (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
5012        (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
5013        * storage/IDBDatabaseBackendImpl.h:
5014        * storage/IDBDatabaseBackendInterface.h:
5015        * storage/IDBObjectStore.cpp:
5016        (WebCore::IDBObjectStore::deleteFunction):
5017        (WebCore::IDBObjectStore::deleteIndex):
5018        * storage/IDBObjectStore.h:
5019        * storage/IDBObjectStore.idl:
5020        * storage/IDBObjectStoreBackendImpl.cpp:
5021        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
5022        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
5023        (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
5024        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
5025        * storage/IDBObjectStoreBackendImpl.h:
5026        * storage/IDBObjectStoreBackendInterface.h:
5027
50282010-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
5029
5030        Unreviewed, rolling out r72701.
5031        http://trac.webkit.org/changeset/72701
5032        https://bugs.webkit.org/show_bug.cgi?id=50114
5033
5034        REGRESSION: bad transform matrix on content layer (Requested
5035        by backer on #webkit).
5036
5037        * WebCore.gypi:
5038        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
5039        (WebCore::Canvas2DLayerChromium::updateContents):
5040        * platform/graphics/chromium/Canvas2DLayerChromium.h:
5041        * platform/graphics/chromium/ContentLayerChromium.cpp:
5042        (WebCore::ContentLayerChromium::cleanupResources):
5043        (WebCore::ContentLayerChromium::updateContents):
5044        (WebCore::ContentLayerChromium::updateTextureRect):
5045        (WebCore::ContentLayerChromium::draw):
5046        * platform/graphics/chromium/ContentLayerChromium.h:
5047        * platform/graphics/chromium/ImageLayerChromium.cpp:
5048        (WebCore::ImageLayerChromium::updateContents):
5049        * platform/graphics/chromium/ImageLayerChromium.h:
5050        * platform/graphics/chromium/LayerChromium.h:
5051        (WebCore::LayerChromium::contentsDirty):
5052        (WebCore::LayerChromium::updateContents):
5053        (WebCore::LayerChromium::draw):
5054        * platform/graphics/chromium/LayerRendererChromium.cpp:
5055        (WebCore::LayerRendererChromium::LayerRendererChromium):
5056        (WebCore::LayerRendererChromium::prepareToDrawLayers):
5057        (WebCore::LayerRendererChromium::drawLayers):
5058        (WebCore::LayerRendererChromium::updateLayersRecursive):
5059        (WebCore::LayerRendererChromium::useRenderSurface):
5060        (WebCore::LayerRendererChromium::drawLayer):
5061        (WebCore::LayerRendererChromium::initializeSharedObjects):
5062        (WebCore::LayerRendererChromium::cleanupSharedObjects):
5063        * platform/graphics/chromium/LayerRendererChromium.h:
5064        * platform/graphics/chromium/LayerTexture.cpp: Removed.
5065        * platform/graphics/chromium/LayerTexture.h: Removed.
5066        * platform/graphics/chromium/PluginLayerChromium.cpp:
5067        (WebCore::PluginLayerChromium::updateContents):
5068        * platform/graphics/chromium/PluginLayerChromium.h:
5069        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
5070        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
5071        (WebCore::RenderSurfaceChromium::cleanupResources):
5072        (WebCore::RenderSurfaceChromium::prepareContentsTexture):
5073        * platform/graphics/chromium/RenderSurfaceChromium.h:
5074        * platform/graphics/chromium/TextureManager.cpp: Removed.
5075        * platform/graphics/chromium/TextureManager.h: Removed.
5076        * platform/graphics/chromium/VideoLayerChromium.cpp:
5077        (WebCore::VideoLayerChromium::updateContents):
5078        * platform/graphics/chromium/VideoLayerChromium.h:
5079        * platform/graphics/chromium/WebGLLayerChromium.cpp:
5080        (WebCore::WebGLLayerChromium::updateContents):
5081        * platform/graphics/chromium/WebGLLayerChromium.h:
5082
50832010-11-26  Jeremy Orlow  <jorlow@chromium.org>
5084
5085        Unreviewed build fix.
5086
5087        * storage/IDBIndex.cpp:
5088        (WebCore::IDBIndex::openCursor):
5089        (WebCore::IDBIndex::openKeyCursor):
5090        * storage/IDBObjectStore.cpp:
5091        (WebCore::IDBObjectStore::openCursor):
5092
50932010-11-26  Sergio Villar Senin  <svillar@igalia.com>
5094
5095        Reviewed by Xan Lopez.
5096
5097        [GTK] SoupCache should not ignore loader's conditional requests
5098        https://bugs.webkit.org/show_bug.cgi?id=50101
5099
5100        SoupCache must not handle WebKit loader conditional requests and
5101        thus should never return its own cached response if any. This was
5102        causing frequent resource load failures as WebCore was trying to
5103        revalidate its own resources and was not getting any expected
5104        result.
5105
5106        * platform/network/soup/cache/webkit/soup-cache.c:
5107        (webkit_soup_cache_has_response): check the presence of
5108        conditional request headers when deciding whether the cache has a
5109        valid response for a given request.
5110
51112010-11-26  Jeremy Orlow  <jorlow@chromium.org>
5112
5113        Reviewed by Steve Block.
5114
5115        Make IDBKeyRange match the spec
5116        https://bugs.webkit.org/show_bug.cgi?id=50105
5117
5118        Remove flags and instead add two booleans for being open.
5119        Change left to lower and right to upper everywhere.
5120
5121        * storage/IDBIndexBackendImpl.cpp:
5122        (WebCore::IDBIndexBackendImpl::openCursorInternal):
5123        * storage/IDBKey.cpp:
5124        (WebCore::IDBKey::lowerCursorWhereFragment):
5125        (WebCore::IDBKey::upperCursorWhereFragment):
5126        * storage/IDBKey.h:
5127        * storage/IDBKeyRange.cpp:
5128        (WebCore::IDBKeyRange::IDBKeyRange):
5129        (WebCore::IDBKeyRange::only):
5130        (WebCore::IDBKeyRange::lowerBound):
5131        (WebCore::IDBKeyRange::upperBound):
5132        (WebCore::IDBKeyRange::bound):
5133        (WebCore::IDBKeyRange::lowerWhereClauseComparisonOperator):
5134        (WebCore::IDBKeyRange::upperWhereClauseComparisonOperator):
5135        * storage/IDBKeyRange.h:
5136        (WebCore::IDBKeyRange::create):
5137        (WebCore::IDBKeyRange::lower):
5138        (WebCore::IDBKeyRange::upper):
5139        (WebCore::IDBKeyRange::lowerOpen):
5140        (WebCore::IDBKeyRange::upperOpen):
5141        * storage/IDBKeyRange.idl:
5142        * storage/IDBObjectStoreBackendImpl.cpp:
5143        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
5144
51452010-11-25  Jeremy Orlow  <jorlow@chromium.org>
5146
5147        Reviewed by Steve Block.
5148
5149        Convert open*Cursor and createIndex over to using OptionsObject
5150        https://bugs.webkit.org/show_bug.cgi?id=50093
5151
5152        Add IDBKeyRange to OptionsObject's parsing abilities. Switch
5153        more APIs over to using it.
5154
5155        * bindings/v8/OptionsObject.cpp:
5156        (WebCore::OptionsObject::getKeyDOMStringList):
5157        (WebCore::OptionsObject::getKeyKeyRange):
5158        * bindings/v8/OptionsObject.h:
5159        * storage/IDBIndex.cpp:
5160        (WebCore::IDBIndex::openCursor):
5161        (WebCore::IDBIndex::openKeyCursor):
5162        * storage/IDBIndex.h:
5163        (WebCore::IDBIndex::openCursor):
5164        (WebCore::IDBIndex::openKeyCursor):
5165        * storage/IDBIndex.idl:
5166        * storage/IDBObjectStore.cpp:
5167        (WebCore::IDBObjectStore::createIndex):
5168        (WebCore::IDBObjectStore::openCursor):
5169        * storage/IDBObjectStore.h:
5170        (WebCore::IDBObjectStore::createIndex):
5171        (WebCore::IDBObjectStore::openCursor):
5172        * storage/IDBObjectStore.idl:
5173
51742010-11-25  Jeremy Orlow  <jorlow@chromium.org>
5175
5176        Reviewed by Steve Block.
5177
5178        Clean up IDBDatabase.transaction and add checks to IDBTransaction.objectStore
5179        https://bugs.webkit.org/show_bug.cgi?id=50081
5180
5181        IDBDatabase.transaction should use the new optional OptionsObject way
5182        of taking optional paramters. Modify that object to get numbers and
5183        domStringLists from it. Verify that any requested resources exist and
5184        return an exception if not.
5185
5186        When IDBTransaction.objectStore is called, verify that it's one of the
5187        requested resources. Also verify that it still exists. Plumb the
5188        exception code to make this work.
5189
5190        Tests: storage/indexeddb/create-and-remove-object-store.html
5191               storage/indexeddb/transaction-and-objectstore-calls.html
5192
5193        * bindings/v8/OptionsObject.cpp:
5194        (WebCore::OptionsObject::getKeyInteger):
5195        (WebCore::OptionsObject::getKeyString):
5196        (WebCore::OptionsObject::getKeyDOMStringList):
5197        * bindings/v8/OptionsObject.h:
5198        * storage/IDBDatabase.cpp:
5199        (WebCore::IDBDatabase::createObjectStore):
5200        (WebCore::IDBDatabase::transaction):
5201        * storage/IDBDatabase.h:
5202        (WebCore::IDBDatabase::transaction):
5203        * storage/IDBDatabase.idl:
5204        * storage/IDBDatabaseBackendImpl.cpp:
5205        (WebCore::IDBDatabaseBackendImpl::transaction):
5206        * storage/IDBTransaction.cpp:
5207        (WebCore::IDBTransaction::objectStore):
5208        * storage/IDBTransactionBackendImpl.cpp:
5209        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
5210        (WebCore::IDBTransactionBackendImpl::objectStore):
5211        * storage/IDBTransactionBackendImpl.h:
5212        * storage/IDBTransactionBackendInterface.h:
5213
52142010-11-26  Mario Sanchez Prada  <msanchez@igalia.com>
5215
5216        Reviewed by Xan Lopez.
5217
5218        [GTK] events missing when a document is (re)loaded
5219        https://bugs.webkit.org/show_bug.cgi?id=25831
5220
5221        Make sure webArea returns a proper name and that a signal
5222        'state-change::defunct' is emitted when detaching the wrapper.
5223
5224        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
5225        (webkit_accessible_get_name): Returns the current document's title
5226        as fallback mechanism for webArea objects.
5227        (webkit_accessible_detach): Emit 'state-change::defunct' function
5228        as soon as the wrapper is detached from the related core object.
5229
52302010-11-26  Sergio Villar Senin  <svillar@igalia.com>
5231
5232        Reviewed by Xan Lopez.
5233
5234        [Gtk] ASSERT(d->m_response.isNull()) in contentSniffedCallback
5235        https://bugs.webkit.org/show_bug.cgi?id=50083
5236
5237        ResourceHandleSoup should not listen to content-sniffed signal
5238        when content sniffing is not enabled. This will prevent us
5239        reaching an assertion on content-sniffed callback
5240
5241        * platform/network/soup/ResourceHandleSoup.cpp:
5242        (WebCore::startHttp):
5243        * platform/network/soup/cache/soup-request-http.c:
5244        (conditional_get_ready_cb): added a comment with the
5245        possible fix for a pure libsoup HTTP cache.
5246        (send_async_cb): prevent an early object finalization adding a
5247        reference.
5248        (webkit_soup_request_http_send_async): Ditto.
5249
52502010-11-26  Renata Hodovan  <reni@inf.u-szeged.hu>
5251
5252        Reviewed by Antonio Gomes.
5253
5254        [Qt] Remove empty ScrollView::platformInit/platformDestroy
5255        https://bugs.webkit.org/show_bug.cgi?id=50079
5256
5257        No new test is needed.
5258
5259        * platform/ScrollView.cpp:
5260        (WebCore::ScrollView::wheelEvent):
5261        * platform/qt/ScrollViewQt.cpp:
5262
52632010-11-26  Pavel Feldman  <pfeldman@chromium.org>
5264
5265        Not reviewed. Fixing inspector tests.
5266
5267        * inspector/front-end/Resource.js:
5268        (WebInspector.Resource.prototype.set timing):
5269
52702010-11-25  Pavel Feldman  <pfeldman@chromium.org>
5271
5272        Reviewed by Yury Semikhatsky.
5273
5274        Web Inspector: UI polish for Network and Resources panels.
5275        https://bugs.webkit.org/show_bug.cgi?id=50100
5276
5277        - Fixed timing inconsistencies
5278        - Made grid user-selectable
5279        - Selection in network panel is made on name column only
5280
5281        * inspector/front-end/NetworkPanel.js:
5282        (WebInspector.NetworkPanel):
5283        (WebInspector.NetworkPanel.prototype._toggleGridMode):
5284        (WebInspector.NetworkDataGridNode.prototype.createCells):
5285        (WebInspector.NetworkDataGridNode.prototype.select):
5286        (WebInspector.NetworkDataGridNode.prototype.get selectable):
5287        (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
5288        (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
5289        (WebInspector.NetworkDataGridNode.prototype._refreshLabelPositions):
5290        * inspector/front-end/Popover.js:
5291        (WebInspector.PopoverHelper):
5292        (WebInspector.PopoverHelper.prototype.setTimeout):
5293        (WebInspector.PopoverHelper.prototype._mouseMove):
5294        (WebInspector.PopoverHelper.prototype._handleMouseAction):
5295        * inspector/front-end/Resource.js:
5296        (WebInspector.Resource.prototype.get responseReceivedTime):
5297        (WebInspector.Resource.prototype.set endTime):
5298        (WebInspector.Resource.prototype.set timing):
5299        * inspector/front-end/ResourceManager.js:
5300        (WebInspector.ResourceManager.prototype.didReceiveResponse):
5301        (WebInspector.ResourceManager.prototype.didFinishLoading):
5302        * inspector/front-end/ResourcesPanel.js:
5303        (WebInspector.FrameResourceTreeElement.prototype._ondragstart):
5304        * inspector/front-end/networkPanel.css:
5305        (.network-sidebar .data-grid td:not(.network-summary)):
5306        (.network-sidebar .data-grid td.name-column):
5307        (.network.panel:not(.viewing-resource) .network-sidebar td.name-column:hover):
5308        (.network-timing-row):
5309        (.network-timing-bar):
5310        (.network-timing-bar-title):
5311        (.resource-timing-view):
5312
53132010-11-26  Helder Correia  <helder@sencha.com>
5314
5315        Reviewed by Ariya Hidayat.
5316
5317        [Qt] Blur shadow for rectangle fill
5318        https://bugs.webkit.org/show_bug.cgi?id=44488
5319
5320        Shadow color opacity needs to be set when blurring shadow with
5321        ContextShadow.
5322
5323        Test: fast/canvas/canvas-fillRect-shadow.html
5324
5325        * platform/graphics/qt/GraphicsContextQt.cpp:
5326        (WebCore::GraphicsContext::fillRect):
5327
53282010-11-26  Hans Wennborg  <hans@chromium.org>
5329
5330        Reviewed by Jeremy Orlow.
5331
5332        IndexedDB: Rename IDBDatabase.objectStores to objectStoreNames
5333        https://bugs.webkit.org/show_bug.cgi?id=50102
5334
5335        Rename as per the spec: http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#database-interface
5336
5337        * manual-tests/indexeddb-persists.html:
5338        * storage/IDBDatabase.h:
5339        (WebCore::IDBDatabase::objectStoreNames):
5340        * storage/IDBDatabase.idl:
5341        * storage/IDBDatabaseBackendImpl.cpp:
5342        (WebCore::IDBDatabaseBackendImpl::objectStoreNames):
5343        (WebCore::IDBDatabaseBackendImpl::setVersion):
5344        (WebCore::IDBDatabaseBackendImpl::transaction):
5345        * storage/IDBDatabaseBackendImpl.h:
5346        * storage/IDBDatabaseBackendInterface.h:
5347
53482010-11-26  Andrei Popescu  <andreip@google.com>
5349
5350        Reviewed by Jeremy Orlow.
5351
5352        IDBFactory::open should not have a description argument.
5353        https://bugs.webkit.org/show_bug.cgi?id=50087
5354
5355        Modified exisiting tests to cover this change.
5356
5357        * storage/IDBDatabaseBackendImpl.cpp:
5358        (WebCore::setMetaData):
5359        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
5360        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
5361        * storage/IDBDatabaseBackendImpl.h:
5362        (WebCore::IDBDatabaseBackendImpl::create):
5363        * storage/IDBDatabaseBackendInterface.h:
5364        * storage/IDBFactory.cpp:
5365        (WebCore::IDBFactory::open):
5366        * storage/IDBFactory.h:
5367        * storage/IDBFactory.idl:
5368        * storage/IDBFactoryBackendImpl.cpp:
5369        (WebCore::IDBFactoryBackendImpl::open):
5370        * storage/IDBFactoryBackendImpl.h:
5371        * storage/IDBFactoryBackendInterface.h:
5372
53732010-11-25  Kenichi Ishibashi  <bashi@google.com>
5374
5375        Reviewed by Kent Tamura.
5376
5377        Assertion failure by resetting <output> twice
5378        https://bugs.webkit.org/show_bug.cgi?id=50095
5379
5380        Don't call setTextContentInternal() when the value wouldn't
5381        be changed.
5382
5383        Test: fast/forms/output-reset-assertion-failed.html
5384
5385        * html/HTMLOutputElement.cpp:
5386        (WebCore::HTMLOutputElement::HTMLOutputElement): Calls
5387        setTextContentInternal() if and only if needed.
5388        (WebCore::HTMLOutputElement::reset): Ditto.
5389        (WebCore::HTMLOutputElement::setValue): Ditto.
5390        (WebCore::HTMLOutputElement::setDefaultValue): Ditto.
5391
53922010-11-24  Ryosuke Niwa  <rniwa@webkit.org>
5393
5394        Crash when moving caret around a word with a first-letter rule and whitespace is not collapsible.
5395        https://bugs.webkit.org/show_bug.cgi?id=49652
5396
5397        Fixed the crash by giving the correct end offset to emitText in handleTextNode.
5398
5399        This patch does not fix a bug in TextIterator that incorrectly calculates
5400        the end offset of a word with a first-letter rule as demonstrated in the layout test
5401        because fixing the bug requires an overhaul of TextIterator and new behavior is consistent
5402        with the case when whitespace is collapsible.
5403
5404        Test: editing/text-iterator/first-letter-word-boundary.html
5405
5406        * editing/TextIterator.cpp:
5407        (WebCore::TextIterator::handleTextNode):
5408
54092010-11-25  Mike Lawther  <mikelawther@chromium.org>
5410
5411        Reviewed by Kent Tamura.
5412
5413        Fix typos in CSS grammar (HERZ -> HERTZ)
5414        https://bugs.webkit.org/show_bug.cgi?id=50094
5415
5416        * css/CSSGrammar.y:
5417        * css/CSSParser.cpp:
5418        (WebCore::CSSParser::lex):
5419        * css/tokenizer.flex:
5420
54212010-11-25  Antti Koivisto  <antti@apple.com>
5422
5423        Reviewed by Dan Bernstein.
5424
5425        https://bugs.webkit.org/show_bug.cgi?id=50078
5426        Simplify CachedResource error handling code by getting rid of the m_httpStatusCodeErrorOccurred boolean.
5427
5428        * loader/cache/CachedImage.cpp:
5429        (WebCore::CachedImage::CachedImage):
5430        * loader/cache/CachedImage.h:
5431        (WebCore::CachedImage::shouldIgnoreHTTPStatusCodeErrors):
5432        * loader/cache/CachedResource.h:
5433        (WebCore::CachedResource::shouldIgnoreHTTPStatusCodeErrors):
5434        (WebCore::CachedResource::httpStatusCodeErrorOccurred):
5435        * loader/loader.cpp:
5436        (WebCore::Loader::didReceiveData):
5437
54382010-11-25  Andreas Kling  <kling@webkit.org>
5439
5440        Reviewed by Tor Arne Vestbø.
5441
5442        [Qt] Remove unnecessary save/restore in GraphicsContext::drawConvexPolygon()
5443        https://bugs.webkit.org/show_bug.cgi?id=50085
5444
5445        * platform/graphics/qt/GraphicsContextQt.cpp:
5446        (WebCore::GraphicsContext::drawConvexPolygon):
5447        Remember the previous antialiasing mode and reset it after we're done.
5448
54492010-11-25  Ben Murdoch  <benm@google.com>
5450
5451        Reviewed by Steve Block.
5452
5453        Potential crash in JavaClassV8.cpp
5454        https://bugs.webkit.org/show_bug.cgi?id=50016
5455
5456        It is possible that we attempt to free uninitialised
5457        memory in the JavaClass destrctor when using V8 in the
5458        case that the JVM could not find the class in the constructor.
5459
5460        It turns out that the troublesome m_name is not acutally
5461        used anywhere, so we remove it in this patch.
5462
5463        No new tests, just removing dead code.
5464
5465        * bridge/jni/v8/JavaClassV8.cpp: Remove unused m_name.
5466        * bridge/jni/v8/JavaClassV8.h: Ditto.
5467
54682010-11-25  Hans Wennborg  <hans@chromium.org>
5469
5470        Reviewed by Jeremy Orlow.
5471
5472        IndexedDB: Better errors for not yet implemented features
5473        https://bugs.webkit.org/show_bug.cgi?id=50075
5474
5475        Raise an exception if createObjectStore is called with autoIncrement
5476        set to true.
5477
5478        Be a little bit more explicit in IDBBindingUtilities that we don't
5479        allow using Date objects as keys yet.
5480
5481        * bindings/v8/IDBBindingUtilities.cpp:
5482        (WebCore::createIDBKeyFromValue):
5483        * storage/IDBDatabase.cpp:
5484        (WebCore::IDBDatabase::createObjectStore):
5485        * storage/IDBObjectStoreBackendImpl.cpp:
5486        (WebCore::IDBObjectStoreBackendImpl::putInternal):
5487
54882010-11-25  Pavel Feldman  <pfeldman@chromium.org>
5489
5490        Reviewed by Yury Semikhatsky.
5491
5492        Web Inspector: highlight diffs of revisions against base version.
5493        https://bugs.webkit.org/show_bug.cgi?id=50088
5494
5495        * inspector/front-end/CSSStyleModel.js:
5496        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
5497        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
5498        * inspector/front-end/ResourcesPanel.js:
5499        (WebInspector.ResourcesPanel):
5500        (WebInspector.ResourcesPanel.prototype.show):
5501        (WebInspector.ResourcesPanel.prototype._showResourceView.callback):
5502        (WebInspector.ResourcesPanel.prototype._showResourceView):
5503        (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
5504        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
5505        * inspector/front-end/SourceFrame.js:
5506        (WebInspector.SourceFrame.prototype.markDiff):
5507        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
5508        (WebInspector.SourceFrame.prototype._updateDiffDecorations.addDecorations):
5509        (WebInspector.SourceFrame.prototype._updateDiffDecorations):
5510        (WebInspector.SourceFrame.prototype._removeDiffDecorations):
5511        * inspector/front-end/SourceView.js:
5512        * inspector/front-end/textViewer.css:
5513        (.webkit-line-number):
5514        (.diff-container .webkit-added-line .webkit-line-content):
5515        (.diff-container .webkit-removed-line .webkit-line-content):
5516        (.diff-container .webkit-changed-line .webkit-line-content):
5517        * inspector/front-end/utilities.js:
5518
55192010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
5520
5521        Unreviewed, rolling out r72732.
5522        http://trac.webkit.org/changeset/72732
5523        https://bugs.webkit.org/show_bug.cgi?id=50089
5524
5525        Made Qt bot sad and crashy (Requested by Ossy on #webkit).
5526
5527        * platform/network/qt/QNetworkReplyHandler.cpp:
5528        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
5529        * platform/network/qt/QNetworkReplyHandler.h:
5530        * platform/network/qt/ResourceHandleQt.cpp:
5531        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
5532        (WebCore::WebCoreSynchronousLoader::didFail):
5533        (WebCore::ResourceHandle::loadResourceSynchronously):
5534
55352010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
5536
5537        Unreviewed, rolling out r72734.
5538        http://trac.webkit.org/changeset/72734
5539        https://bugs.webkit.org/show_bug.cgi?id=50086
5540
5541        Backing out 72732 which made Qt sad and crashy (Requested by
5542        kling on #webkit).
5543
5544        * platform/network/qt/ResourceHandleQt.cpp:
5545        (WebCore::ResourceHandle::loadResourceSynchronously):
5546
55472010-11-25  Andreas Kling  <kling@webkit.org>
5548
5549        Unreviewed crash fix for Qt 4.6.x.
5550
5551        Check that QNetworkReplyHandler::reply() doesn't return null before
5552        using it (this code needs to work for Qt 4.6 as well.)
5553
5554        * platform/network/qt/ResourceHandleQt.cpp:
5555        (WebCore::ResourceHandle::loadResourceSynchronously):
5556
55572010-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
5558
5559        Unreviewed, rolling out r72727.
5560        http://trac.webkit.org/changeset/72727
5561        https://bugs.webkit.org/show_bug.cgi?id=50084
5562
5563        Broke dom-breakpoints test on chromium win (Requested by
5564        podivilov on #webkit).
5565
5566        * inspector/InspectorController.cpp:
5567        (WebCore::InspectorController::setNativeBreakpoint):
5568        * inspector/InspectorDOMAgent.cpp:
5569        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
5570        (WebCore::InspectorDOMAgent::discardBindings):
5571        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
5572        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
5573        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
5574        (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
5575        (WebCore::InspectorDOMAgent::createBreakpointId):
5576        * inspector/InspectorDOMAgent.h:
5577        * inspector/front-end/BreakpointManager.js:
5578        (WebInspector.BreakpointManager.prototype.reset):
5579        (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
5580        (WebInspector.BreakpointManager.prototype._updateNativeBreakpointsInSettings):
5581        (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
5582        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
5583        (WebInspector.DOMBreakpoint):
5584        (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
5585        (WebInspector.EventListenerBreakpoint):
5586        (WebInspector.XHRBreakpoint):
5587        * inspector/front-end/BreakpointsSidebarPane.js:
5588        (WebInspector.BreakpointsSidebarPane):
5589        (WebInspector.BreakpointsSidebarPane.prototype.reset):
5590        (WebInspector.EventListenerBreakpointsSidebarPane):
5591        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.reset):
5592        * inspector/front-end/DOMAgent.js:
5593        (WebInspector.DOMAgent.prototype._setDocument):
5594        * inspector/front-end/ElementsPanel.js:
5595        (WebInspector.ElementsPanel.prototype.reset):
5596        * inspector/front-end/ElementsTreeOutline.js:
5597        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
5598        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
5599        * inspector/front-end/ScriptsPanel.js:
5600        (WebInspector.ScriptsPanel.prototype.reset):
5601        * inspector/front-end/inspector.js:
5602        (WebInspector.reset):
5603        (WebInspector.didCommitLoad):
5604
56052010-11-25  Peter Hartmann  <peter.hartmann@nokia.com>
5606
5607        Reviewed by Andreas Kling.
5608
5609        [Qt] enable usage of synchronous HTTP feature in Qt
5610        https://bugs.webkit.org/show_bug.cgi?id=37191
5611
5612        Currently, we spin an event loop when doing synchronous calls to
5613        wait for completion. This patch uses synchronous requests in Qt,
5614        if available, and spins the event loop as a fallback solution.
5615        Patch by Simon Hausmann and Peter Hartmann.
5616
5617        * platform/network/qt/QNetworkReplyHandler.cpp:
5618        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
5619        * platform/network/qt/QNetworkReplyHandler.h:
5620        * platform/network/qt/ResourceHandleQt.cpp:
5621        (WebCore::WebCoreSynchronousLoader::setReplyFinished):
5622        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
5623        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
5624        (WebCore::WebCoreSynchronousLoader::didFail):
5625        (WebCore::WebCoreSynchronousLoader::waitForCompletion):
5626        (WebCore::ResourceHandle::loadResourceSynchronously):
5627
56282010-11-25  Hans Wennborg  <hans@chromium.org>
5629
5630        Reviewed by Jeremy Orlow.
5631
5632        V8 Bindings: remove faulty include in OptionsObject.h
5633        https://bugs.webkit.org/show_bug.cgi?id=50073
5634
5635        There is no <wtf/NonCopyable.h>, and the code doesn't try to use it
5636        either.
5637
5638        No new functionality, no new tests.
5639
5640        * bindings/v8/OptionsObject.h:
5641
56422010-11-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
5643
5644        Reviewed by Simon Hausmann.
5645
5646        Actually handle targetDensityDpi in computeViewportAttributes
5647        https://bugs.webkit.org/show_bug.cgi?id=50068
5648
5649        * dom/ViewportArguments.cpp:
5650        (WebCore::computeViewportAttributes):
5651
56522010-11-25  Jeremy Orlow  <jorlow@chromium.org>
5653
5654        Reviewed by Steve Block.
5655
5656        Add an OptionsObject class for IndexedDB (and later Geolocation)
5657        https://bugs.webkit.org/show_bug.cgi?id=50030
5658
5659        Geolocation and IndexedDB both have the concept of an optional
5660        parameter that has various options supplied with it.  In
5661        Geolocation this was done with custom bindings, but I'm trying to
5662        avoid that for IndexedDB.  
5663
5664        This first patch implements it in V8 and makes createObjectStore use it.
5665        The next patch will cover Geolocation and JSC.
5666
5667        Test: storage/indexeddb/create-object-store-options.html
5668
5669        * WebCore.gypi:
5670        * bindings/scripts/CodeGeneratorV8.pm:
5671        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
5672        (WebDOMTestObj::optionsObject):
5673        * bindings/scripts/test/CPP/WebDOMTestObj.h:
5674        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
5675        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
5676        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
5677        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
5678        (webkit_dom_test_obj_options_object):
5679        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
5680        * bindings/scripts/test/JS/JSTestObj.cpp:
5681        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
5682        * bindings/scripts/test/JS/JSTestObj.h:
5683        * bindings/scripts/test/ObjC/DOMTestObj.h:
5684        * bindings/scripts/test/ObjC/DOMTestObj.mm:
5685        (-[DOMTestObj optionsObject:ooo:]):
5686        * bindings/scripts/test/TestObj.idl:
5687        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
5688        (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
5689        * bindings/scripts/test/V8/V8TestObj.cpp:
5690        (WebCore::TestObjInternal::optionsObjectCallback):
5691        * bindings/v8/OptionsObject.cpp: Added.
5692        (WebCore::OptionsObject::OptionsObject):
5693        (WebCore::OptionsObject::~OptionsObject):
5694        (WebCore::OptionsObject::operator=):
5695        (WebCore::OptionsObject::undefinedOrNull):
5696        (WebCore::OptionsObject::getKeyBool):
5697        (WebCore::OptionsObject::getKeyString):
5698        (WebCore::OptionsObject::getKey):
5699        * bindings/v8/OptionsObject.h:
5700        * bindings/js/OptionsObject.h:
5701        * storage/IDBDatabase.cpp:
5702        (WebCore::IDBDatabase::createObjectStore):
5703        * storage/IDBDatabase.h:
5704        (WebCore::IDBDatabase::createObjectStore):
5705        * storage/IDBDatabase.idl:
5706
57072010-11-24  Pavel Podivilov  <podivilov@chromium.org>
5708
5709        Reviewed by Yury Semikhatsky.
5710
5711        Web Inspector: set DOM breakpoints by path.
5712        https://bugs.webkit.org/show_bug.cgi?id=50017
5713
5714        This change is needed to be able to push DOM breakpoints for all URL's to backend
5715        at frontend load.
5716
5717        * inspector/InspectorController.cpp:
5718        (WebCore::InspectorController::setNativeBreakpoint):
5719        * inspector/InspectorDOMAgent.cpp:
5720        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
5721        (WebCore::InspectorDOMAgent::discardBindings):
5722        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
5723        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
5724        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
5725        (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
5726        * inspector/InspectorDOMAgent.h:
5727        * inspector/front-end/BreakpointManager.js:
5728        (WebInspector.BreakpointManager.prototype.reset):
5729        (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
5730        (WebInspector.BreakpointManager.prototype._updateNativeBreakpointsInSettings):
5731        (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
5732        (WebInspector.DOMBreakpoint):
5733        (WebInspector.DOMBreakpoint.prototype._setNodeId):
5734        (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
5735        (WebInspector.EventListenerBreakpoint):
5736        (WebInspector.XHRBreakpoint):
5737        * inspector/front-end/BreakpointsSidebarPane.js:
5738        (WebInspector.BreakpointsSidebarPane):
5739        (WebInspector.BreakpointsSidebarPane.prototype._reset):
5740        (WebInspector.EventListenerBreakpointsSidebarPane):
5741        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._reset):
5742        * inspector/front-end/DOMAgent.js:
5743        (WebInspector.DOMAgent.prototype._setDocument):
5744        * inspector/front-end/ElementsPanel.js:
5745        (WebInspector.ElementsPanel.prototype.reset):
5746        * inspector/front-end/ElementsTreeOutline.js:
5747        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
5748        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
5749        * inspector/front-end/ScriptsPanel.js:
5750        (WebInspector.ScriptsPanel.prototype.reset):
5751        * inspector/front-end/inspector.js:
5752        (WebInspector.reset):
5753        (WebInspector.didCommitLoad):
5754
57552010-11-25  Pavel Feldman  <pfeldman@chromium.org>
5756
5757        Reviewed by Yury Semikhatsky.
5758
5759        Web Inspector: reuse code for recreating resource views.
5760        https://bugs.webkit.org/show_bug.cgi?id=50066
5761
5762        * inspector/front-end/NetworkItemView.js:
5763        (WebInspector.NetworkItemView):
5764        * inspector/front-end/NetworkPanel.js:
5765        (WebInspector.NetworkPanel.prototype.refreshResource):
5766        * inspector/front-end/ResourceManager.js:
5767        (WebInspector.ResourceManager.resourceViewTypeMatchesResource):
5768        (WebInspector.ResourceManager.resourceViewForResource):
5769        (WebInspector.ResourceManager.recreateResourceView):
5770        * inspector/front-end/ResourcesPanel.js:
5771        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
5772
57732010-11-25  Hans Wennborg  <hans@chromium.org>
5774
5775        Reviewed by Jeremy Orlow.
5776
5777        IndexedDB: Disallow inserting records with NULL keys
5778        https://bugs.webkit.org/show_bug.cgi?id=50033
5779
5780        Disallow inserting records with null keys into the object store.
5781
5782        * storage/IDBKey.h:
5783        * storage/IDBObjectStoreBackendImpl.cpp:
5784        (WebCore::IDBObjectStoreBackendImpl::putInternal):
5785
57862010-11-25  Philippe Normand  <pnormand@igalia.com>
5787
5788        Rubber-stamped by Xan Lopez.
5789
5790        g_signal_accumulator_first_wins was introduced in glib 2.27.1 so
5791        no need to use our version if that version of glib is used during
5792        the build.
5793
5794        * platform/gtk/GtkVersioning.c:
5795        * platform/gtk/GtkVersioning.h:
5796
57972010-11-24  Jian Li  <jianli@chromium.org>
5798
5799        Reviewed by Kenneth Russell.
5800
5801        Implement DataView interface from Typed Array specification
5802        https://bugs.webkit.org/show_bug.cgi?id=46541
5803
5804        Test: fast/canvas/webgl/data-view-test.html
5805
5806        * CMakeLists.txt:
5807        * DerivedSources.make:
5808        * GNUmakefile.am:
5809        * WebCore.gypi:
5810        * WebCore.pri:
5811        * WebCore.pro:
5812        * WebCore.xcodeproj/project.pbxproj:
5813        * bindings/generic/RuntimeEnabledFeatures.h:
5814        (WebCore::RuntimeEnabledFeatures::dataViewEnabled):
5815        * bindings/js/JSArrayBufferViewHelper.h:
5816        (WebCore::constructArrayBufferViewWithArrayBufferArgument):
5817        (WebCore::constructArrayBufferView):
5818        * bindings/js/JSDOMWindowCustom.cpp:
5819        (WebCore::JSDOMWindow::dataView):
5820        * bindings/js/JSDataViewCustom.cpp: Added.
5821        * bindings/js/JSFloat32ArrayCustom.cpp:
5822        (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
5823        * bindings/js/JSInt16ArrayCustom.cpp:
5824        (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
5825        * bindings/js/JSInt32ArrayCustom.cpp:
5826        (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
5827        * bindings/js/JSInt8ArrayCustom.cpp:
5828        (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
5829        * bindings/js/JSUint16ArrayCustom.cpp:
5830        (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
5831        * bindings/js/JSUint32ArrayCustom.cpp:
5832        (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
5833        * bindings/js/JSUint8ArrayCustom.cpp:
5834        (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
5835        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
5836        (WebCore::constructWebGLArrayWithArrayBufferArgument):
5837        (WebCore::constructWebGLArray):
5838        * bindings/v8/custom/V8DataViewCustom.cpp: Added.
5839        * html/canvas/ArrayBufferView.h:
5840        (WebCore::ArrayBufferView::isDataView):
5841        * html/canvas/DataView.cpp: Added.
5842        * html/canvas/DataView.h: Added.
5843        * html/canvas/DataView.idl: Added.
5844        * page/DOMWindow.idl:
5845
58462010-11-24  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
5847
5848        Reviewed by Martin Robinson.
5849
5850        [GTK] Windowless plugins gets broken key input
5851        https://bugs.webkit.org/show_bug.cgi?id=49927
5852
5853        When converting the GdkEvent to XEvent we need to send the
5854        hardware_keycode as XEvent::keycode. Instead we where sending
5855        the GdkEvent::keyval. This is already tested by
5856        plugins/keyboard-events.html, but a bug in the test plugin was
5857        resulting in false positive.
5858
5859        * plugins/gtk/PluginViewGtk.cpp:
5860        (WebCore::PluginView::handleKeyboardEvent):
5861
58622010-11-24  Eric Uhrhane  <ericu@chromium.org>
5863
5864        Reviewed by David Levin.
5865
5866        Implement FileWriterSync
5867        https://bugs.webkit.org/show_bug.cgi?id=49939
5868
5869        Tests to follow in a separate CL, once the test framework in 47680 goes in.
5870
5871        Build file changes to add FileWriterBase and FileWriterBaseCallback.
5872        * CMakeLists.txt:
5873        * GNUmakefile.am:
5874        * WebCore.gypi:
5875        * WebCore.pro:
5876        * WebCore.vcproj/WebCore.vcproj:
5877        * WebCore.xcodeproj/project.pbxproj:
5878
5879        FileWriterSync doesn't turn out to need to be an ActiveDOMObject.
5880        * bindings/scripts/CodeGeneratorV8.pm:
5881
5882        Added new AsyncFileWriter::waitForOperationToComplete to enable
5883        synchronous calls.
5884        * fileapi/AsyncFileWriter.h:
5885
5886        Added a way to get a FileSystemSync.
5887        * fileapi/DOMFileSystemSync.cpp:
5888        * fileapi/FileEntrySync.cpp:
5889        * fileapi/FileEntrySync.h:
5890        * fileapi/FileEntrySync.idl:
5891
5892        Added an error code for OK, rather than just having 0 everywhere.
5893        * fileapi/FileError.h:
5894
5895        Turned FileWriterCallback into FileWriterBaseCallback.
5896        * fileapi/FileSystemCallbacks.cpp:
5897        * fileapi/FileSystemCallbacks.h:
5898
5899        Refactored out a common base class, FileWriterBase, for FileWriter and
5900        FileWriterSync.
5901        * fileapi/FileWriter.cpp:
5902        * fileapi/FileWriter.h:
5903        * fileapi/FileWriterBase.cpp: Added.
5904        * fileapi/FileWriterBase.h: Added.
5905        * fileapi/FileWriterBaseCallback.h: Added.
5906        * fileapi/FileWriterSync.cpp:
5907        * fileapi/FileWriterSync.h:
5908
5909        Small tweaks to deal with the base class refactoring.
5910        * fileapi/DOMFileSystem.cpp:
5911        * fileapi/DOMFileSystemSync.h:
5912
5913        Removed "CallWith=ScriptExecutionContext", as FileWriterSync doesn't actually need it.
5914        * fileapi/FileWriterSync.idl:
5915
59162010-11-24  Martin Robinson  <mrobinson@igalia.com>
5917
5918        Reviewed by Xan Lopez.
5919
5920        Build fix for GTK+. There were some typos in my last build fix
5921        and the empty command (semicolon) seems to be necessary for wildcard
5922        rule chains.
5923
5924        * GNUmakefile.am: Small build fixes.
5925
59262010-11-24  James Robinson  <jamesr@chromium.org>
5927
5928        Reviewed by Kenneth Russell.
5929
5930        [chromium] Compositor needs to manage its VRAM use
5931        https://bugs.webkit.org/show_bug.cgi?id=49629
5932
5933        This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
5934        used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
5935        RenderSurfaceChromium to use managed LayerTexture.  The other *LayerChromium classes (Canvas,
5936        Video, and WebGL) and the root layer are still unmanaged.
5937
5938        The TextureManager works by providing tokens to callers that want to use a managed texture.
5939        The token can be used to request a texture, see if the previously requested texture is still
5940        available, and to protect/unprotect textures when they cannot be collected.  Whenever a
5941        texture is created the manager attempts to free up the least recently used textures until the
5942        total memory use is below the provided threshhold.  If the manager cannot satisfy the memory
5943        limit it will not return any new textures until some old textures are released.
5944
5945        A LayerTexture wraps a TextureManager token, size, and format.  A LayerChromium can check if a
5946        previously requested texture is still available for use and reserve the LayerTexture's underlying
5947        storage between the updateContentsIfDirty() and the draw() call.
5948
5949        Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
5950        updateContentsIfDirty().
5951
5952        Tests: compositing/lots-of-img-layers-with-opacity.html
5953               compositing/lots-of-img-layers.html
5954
5955        * WebCore.gypi:
5956        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
5957        (WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
5958        * platform/graphics/chromium/Canvas2DLayerChromium.h:
5959        * platform/graphics/chromium/ContentLayerChromium.cpp:
5960        (WebCore::ContentLayerChromium::cleanupResources):
5961        (WebCore::ContentLayerChromium::updateContentsIfDirty):
5962        (WebCore::ContentLayerChromium::updateTextureRect):
5963        (WebCore::ContentLayerChromium::draw):
5964        * platform/graphics/chromium/ContentLayerChromium.h:
5965        * platform/graphics/chromium/ImageLayerChromium.cpp:
5966        (WebCore::ImageLayerChromium::updateContentsIfDirty):
5967        * platform/graphics/chromium/ImageLayerChromium.h:
5968        * platform/graphics/chromium/LayerChromium.h:
5969        (WebCore::LayerChromium::updateContentsIfDirty):
5970        (WebCore::LayerChromium::draw):
5971        * platform/graphics/chromium/LayerRendererChromium.cpp:
5972        (WebCore::LayerRendererChromium::LayerRendererChromium):
5973        (WebCore::LayerRendererChromium::prepareToDrawLayers):
5974        (WebCore::LayerRendererChromium::drawLayers):
5975        (WebCore::LayerRendererChromium::updateLayersRecursive):
5976        (WebCore::LayerRendererChromium::useRenderSurface):
5977        (WebCore::LayerRendererChromium::drawLayer):
5978        (WebCore::LayerRendererChromium::initializeSharedObjects):
5979        (WebCore::LayerRendererChromium::cleanupSharedObjects):
5980        * platform/graphics/chromium/LayerRendererChromium.h:
5981        (WebCore::LayerRendererChromium::renderSurfaceSharedValues):
5982        (WebCore::LayerRendererChromium::textureManager):
5983        * platform/graphics/chromium/LayerTexture.cpp: Added.
5984        (WebCore::LayerTexture::LayerTexture):
5985        (WebCore::LayerTexture::~LayerTexture):
5986        (WebCore::LayerTexture::isValid):
5987        (WebCore::LayerTexture::reserve):
5988        (WebCore::LayerTexture::unreserve):
5989        (WebCore::LayerTexture::bindTexture):
5990        (WebCore::LayerTexture::framebufferTexture2D):
5991        * platform/graphics/chromium/LayerTexture.h: Added.
5992        (WebCore::LayerTexture::create):
5993        * platform/graphics/chromium/PluginLayerChromium.cpp:
5994        (WebCore::PluginLayerChromium::updateContentsIfDirty):
5995        * platform/graphics/chromium/PluginLayerChromium.h:
5996        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
5997        (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
5998        (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
5999        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
6000        (WebCore::RenderSurfaceChromium::cleanupResources):
6001        (WebCore::RenderSurfaceChromium::prepareContentsTexture):
6002        (WebCore::RenderSurfaceChromium::draw):
6003        * platform/graphics/chromium/RenderSurfaceChromium.h:
6004        (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
6005        (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
6006        (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
6007        (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
6008        (WebCore::RenderSurfaceChromium::SharedValues::initialized):
6009        * platform/graphics/chromium/TextureManager.cpp: Added.
6010        (WebCore::memoryUseBytes):
6011        (WebCore::TextureManager::TextureManager):
6012        (WebCore::TextureManager::getToken):
6013        (WebCore::TextureManager::releaseToken):
6014        (WebCore::TextureManager::hasTexture):
6015        (WebCore::TextureManager::protectTexture):
6016        (WebCore::TextureManager::unprotectTexture):
6017        (WebCore::TextureManager::reduceMemoryToLimit):
6018        (WebCore::TextureManager::addTexture):
6019        (WebCore::TextureManager::removeTexture):
6020        (WebCore::TextureManager::requestTexture):
6021        * platform/graphics/chromium/TextureManager.h: Added.
6022        (WebCore::TextureManager::create):
6023        * platform/graphics/chromium/VideoLayerChromium.cpp:
6024        (WebCore::VideoLayerChromium::updateContentsIfDirty):
6025        * platform/graphics/chromium/VideoLayerChromium.h:
6026        * platform/graphics/chromium/WebGLLayerChromium.cpp:
6027        (WebCore::WebGLLayerChromium::updateContentsIfDirty):
6028        * platform/graphics/chromium/WebGLLayerChromium.h:
6029
60302010-11-24  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
6031
6032        Reviewed by Martin Robinson.
6033
6034        [GTK] response.isNull() assert when using directory file URI
6035        https://bugs.webkit.org/show_bug.cgi?id=49018
6036
6037        Do ensure that didReceiveResponse happens before any call to
6038        didReceiveData. That was not true for file:// URIs pointing to
6039        directories and thus was triggering an assertion.
6040
6041        Test: platform/gtk/fast/loader/crash-display-local-directory.html
6042
6043        * platform/network/soup/ResourceHandleSoup.cpp:
6044        (WebCore::gotHeadersCallback):
6045        (WebCore::contentSniffedCallback):
6046        (WebCore::parseDataUrl):
6047        (WebCore::sendRequestCallback):
6048        (WebCore::readCallback):
6049
60502010-11-24  Xan Lopez  <xlopez@igalia.com>
6051
6052        Reviewed by Martin Robinson.
6053
6054        * bindings/gobject/WebKitDOMBinding.h: fix stlye nit.
6055
60562010-11-24  Xan Lopez  <xlopez@igalia.com>
6057
6058        Reviewed by Martin Robinson.
6059
6060        [GTK] Make kit() methods return the proper type instead of gpointer
6061        https://bugs.webkit.org/show_bug.cgi?id=50034
6062
6063        Change kit() methods to return proper type pointer.
6064
6065        * bindings/gobject/WebKitDOMBinding.cpp: change implementions of
6066        kit methods.
6067        * bindings/gobject/WebKitDOMBinding.h: change their declarations.
6068        * bindings/scripts/CodeGeneratorGObject.pm: change the generated
6069        kit() methods.
6070
60712010-11-24  Martin Robinson  <mrobinson@igalia.com>
6072
6073        Reviewed by Xan Lopez.
6074
6075        [GTK] DerivedSources/WebCore/DocTypeStrings.cpp is generated for every build
6076        https://bugs.webkit.org/show_bug.cgi?id=50032
6077
6078        Instead of listing two targets for rules that have two outputs, make
6079        a dependency chain. This fixes the issue where some files are generated
6080        unconditionally. Also remove all unnecessary semicolons from the file.
6081
6082        No new tests as this is just a build fix.
6083
6084        * GNUmakefile.am: Fix GNUmake dependency issue.
6085
60862010-11-24  Nico Weber  <nicolasweber@gmx.de>
6087
6088        Reviewed by Adam Barth.
6089
6090        Chromium/Mac: Make scaled images un-ugly when using the webkit image decoders
6091        https://bugs.webkit.org/show_bug.cgi?id=49965
6092
6093        Probably covered by existing tests whose expectations were overwritten
6094        in http://trac.webkit.org/changeset/70858
6095
6096        * platform/image-decoders/cg/ImageDecoderCG.cpp:
6097        (WebCore::RGBA32Buffer::asNewNativeImage):
6098
60992010-11-24  Alexander Pavlov  <apavlov@chromium.org>
6100
6101        Reviewed by Pavel Feldman.
6102
6103        Web Inspector: Crash when inspecting http://alphaarnhem.nl/beta/
6104        https://bugs.webkit.org/show_bug.cgi?id=50025
6105
6106        @font-face rules were improperly handled by source data extractor.
6107
6108        * css/CSSParser.cpp:
6109        (WebCore::CSSParser::CSSParser):
6110        (WebCore::CSSParser::parseDeclaration):
6111        (WebCore::CSSParser::createStyleRule):
6112        (WebCore::CSSParser::markRuleBodyStart):
6113        (WebCore::CSSParser::markPropertyStart):
6114        (WebCore::CSSParser::markPropertyEnd):
6115        * css/CSSParser.h:
6116
61172010-11-24  Cris Neckar  <cdn@chromium.org>
6118
6119        Reviewed by Adam Barth.
6120
6121        Added check when parsing local fonts to ensure that a value's unit type is either string or ident.
6122        https://bugs.webkit.org/show_bug.cgi?id=49883
6123
6124        Test: fast/css/local_font_invalid.html
6125
6126        * css/CSSParser.cpp:
6127        (WebCore::CSSParser::parseFontFaceSrc):
6128
61292010-11-24  Pavel Feldman  <pfeldman@chromium.org>
6130
6131        Reviewed by Yury Semikhatsky.
6132
6133        Web Inspector: place local modifications to under original
6134        resource nodes in the resource panel.
6135        https://bugs.webkit.org/show_bug.cgi?id=50029
6136
6137        * English.lproj/localizedStrings.js:
6138        * inspector/Inspector.idl:
6139        * inspector/InspectorController.cpp:
6140        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
6141        (WebCore::InspectorController::scriptImported):
6142        * inspector/InspectorResourceAgent.cpp:
6143        (WebCore::InspectorResourceAgent::setInitialContent):
6144        * inspector/InspectorResourceAgent.h:
6145        * inspector/front-end/CSSStyleModel.js:
6146        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
6147        (WebInspector.CSSStyleModel.prototype.addRule):
6148        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
6149        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
6150        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
6151        (WebInspector.CSSProperty.prototype.setText):
6152        (WebInspector.CSSProperty.prototype.setDisabled.callback):
6153        (WebInspector.CSSProperty.prototype.setDisabled):
6154        (WebInspector.CSSStyleSheet.prototype.setText):
6155        * inspector/front-end/NetworkPanel.js:
6156        (WebInspector.NetworkPanel.prototype.refreshResource):
6157        * inspector/front-end/Resource.js:
6158        (WebInspector.Resource.prototype.set content):
6159        (WebInspector.Resource.prototype.get contentTimestamp):
6160        (WebInspector.Resource.prototype.setInitialContent):
6161        * inspector/front-end/ResourceManager.js:
6162        (WebInspector.ResourceManager):
6163        (WebInspector.ResourceManager.prototype.setInitialContent):
6164        * inspector/front-end/ResourcesPanel.js:
6165        (WebInspector.ResourcesPanel):
6166        (WebInspector.ResourcesPanel.prototype.reset):
6167        (WebInspector.ResourcesPanel.prototype._innerShowView):
6168        (WebInspector.FrameResourceTreeElement):
6169        (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
6170        (WebInspector.FrameResourceTreeElement.prototype._contentChanged.else.finished):
6171        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
6172        (WebInspector.ResourceRevisionTreeElement):
6173        * inspector/front-end/SourceFrame.js:
6174        (WebInspector.SourceFrame.prototype.get scrollTop):
6175        (WebInspector.SourceFrame.prototype.set scrollTop):
6176        * inspector/front-end/SourceView.js:
6177        (WebInspector.SourceView.prototype.get scrollTop):
6178        (WebInspector.SourceView.prototype.set scrollTop):
6179        (WebInspector.SourceView.prototype._editLine):
6180        (WebInspector.SourceView.prototype._editLineComplete):
6181        * inspector/front-end/StylesSidebarPane.js:
6182        (WebInspector.StylePropertyTreeElement.prototype):
6183
61842010-11-24  Andrey Kosyakov  <caseq@chromium.org>
6185
6186        Reviewed by Pavel Feldman.
6187
6188        Web Inspector: extension API cleanup
6189        https://bugs.webkit.org/show_bug.cgi?id=50019
6190
6191        * inspector/front-end/ElementsPanel.js:
6192        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
6193        (WebInspector.ElementsPanel):
6194        * inspector/front-end/ExtensionAPI.js: See bug for summary of extension API changes.
6195        (WebInspector.injectedExtensionAPI.Resources.resourceDispatch):
6196        (WebInspector.injectedExtensionAPI):
6197        (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
6198        (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.getContent):
6199        (WebInspector.injectedExtensionAPI.Panels.prototype.create):
6200        (WebInspector.injectedExtensionAPI.PanelImpl):
6201        (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl):
6202        (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
6203        (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createWatchExpressionSidebarPane):
6204        (WebInspector.injectedExtensionAPI.ElementsPanel):
6205        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
6206        (WebInspector.injectedExtensionAPI.Audits.prototype.addCategory):
6207        (WebInspector.injectedExtensionAPI.AuditCategoryImpl.auditResultDispatch):
6208        (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
6209        (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity):
6210        (WebInspector.injectedExtensionAPI.InspectedWindow):
6211        (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.eval):
6212        * inspector/front-end/ExtensionCommon.js:
6213        (WebInspector.commonExtensionSymbols):
6214        * inspector/front-end/ExtensionServer.js:
6215        (WebInspector.ExtensionServer):
6216        (WebInspector.ExtensionServer.prototype.notifyObjectSelected):
6217        (WebInspector.ExtensionServer.prototype.notifyResourceFinished):
6218        (WebInspector.ExtensionServer.prototype.notifyPageLoaded):
6219        (WebInspector.ExtensionServer.prototype.notifyPageDOMContentLoaded):
6220        (WebInspector.ExtensionServer.prototype._onCreatePanel):
6221        (WebInspector.ExtensionServer.prototype._onReload):
6222        (WebInspector.ExtensionServer.prototype._onGetHAR):
6223        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
6224        (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
6225        (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
6226        * inspector/front-end/HAREntry.js:
6227        (WebInspector.HARLog):
6228        (WebInspector.HARLog.prototype.build):
6229        (WebInspector.HARLog.prototype._convertResource):
6230        * inspector/front-end/inspector.js:
6231        (WebInspector.domContentEventFired):
6232        (WebInspector.loadEventFired):
6233        (WebInspector.didCommitLoad):
6234
62352010-11-23  Jeremy Orlow  <jorlow@chromium.org>
6236
6237        Reviewed by Steve Block.
6238
6239        Fix minor errors in IndexedDB
6240        https://bugs.webkit.org/show_bug.cgi?id=49970
6241
6242        * Remove SNAPSHOT_READ per spec.
6243        * Assert that the transaction that changes the db is a setVersion
6244          transaction.
6245        * When an objectStore already exists, throw a CONSTRAINT_ERR.
6246        * When not in a setVersion transaction, throw a NOT_ALLOWED_ERR.
6247
6248        Test: storage/indexeddb/createAndRemoveObjectStore.html
6249
6250        * storage/IDBDatabase.cpp:
6251        (WebCore::IDBDatabase::createObjectStore):
6252        * storage/IDBDatabaseBackendImpl.cpp:
6253        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
6254        * storage/IDBTransaction.h:
6255        * storage/IDBTransaction.idl:
6256
62572010-11-24  Philippe Normand  <pnormand@igalia.com>
6258
6259        Reviewed by Xan Lopez.
6260
6261        [GStreamer] pause webkitvideosink during fullscreen video playback
6262        https://bugs.webkit.org/show_bug.cgi?id=48824
6263
6264        Added an identity element before the webkitvideosink so that when
6265        fullscreen video is active the element can drop the incoming
6266        buffers so that webkitvideosink appears paused.
6267
6268        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
6269        (WebCore::GStreamerGWorld::enterFullscreen):
6270        (WebCore::GStreamerGWorld::exitFullscreen):
6271        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
6272        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
6273
62742010-11-24  Avi Drissman  <avi@google.com>
6275
6276        Reviewed by Antonio Gomes.
6277
6278        Add preference to not select when right-clicked
6279        https://bugs.webkit.org/show_bug.cgi?id=23351
6280
6281        Test: editing/selection/context-menu-text-selection.html
6282
6283        * editing/EditingBehavior.h:
6284        (WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
6285        * page/EventHandler.cpp:
6286        (WebCore::EventHandler::sendContextMenuEvent):
6287
62882010-11-24  Andras Becsi  <abecsi@inf.u-szeged.hu>
6289
6290        Reviewed by Csaba Osztrogonác.
6291
6292        Make build-webkit --minimal build with ENABLE_INSPECTOR=0.
6293        https://bugs.webkit.org/show_bug.cgi?id=49975
6294
6295        No new tests needed.
6296
6297        * features.pri: Make the Qt buildsystem aware
6298        that the inspector is enabled by default.
6299
63002010-11-24  Martin Robinson  <mrobinson@igalia.com>
6301
6302        Reviewed by Xan Lopez.
6303
6304        [GTK] The WebKitWebView should expose a set of signals encapsulating the behavior of the EditorClient
6305        https://bugs.webkit.org/show_bug.cgi?id=49143
6306
6307        * platform/gtk/GtkVersioning.c:
6308        (g_signal_accumulator_first_wins): Add g_signal_accumulator_first_wins for versions of
6309        GLib before 2.28.
6310        * platform/gtk/GtkVersioning.h:
6311
63122010-11-24  Sheriff Bot  <webkit.review.bot@gmail.com>
6313
6314        Unreviewed, rolling out r72499.
6315        http://trac.webkit.org/changeset/72499
6316        https://bugs.webkit.org/show_bug.cgi?id=50022
6317
6318        This change is causing crashes on the bots. (Requested by
6319        mrobinson on #webkit).
6320
6321        * accessibility/AccessibilityMenuListOption.cpp:
6322        (WebCore::AccessibilityMenuListOption::nameForMSAA):
6323        * accessibility/AccessibilityMenuListOption.h:
6324        * accessibility/gtk/AXObjectCacheAtk.cpp:
6325        (WebCore::AXObjectCache::postPlatformNotification):
6326        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
6327        (setAtkStateSetFromCoreObject):
6328        (optionFromList):
6329        (optionFromSelection):
6330        (webkit_accessible_selection_add_selection):
6331        (webkit_accessible_selection_clear_selection):
6332        (webkit_accessible_selection_get_selection_count):
6333        (webkit_accessible_selection_is_child_selected):
6334        (webkit_accessible_selection_remove_selection):
6335        (webkit_accessible_text_get_text):
6336        (getInterfaceMaskFromObject):
6337        * platform/gtk/PopupMenuGtk.cpp:
6338        (WebCore::PopupMenuGtk::show):
6339
63402010-11-24  Patrick Gansterer  <paroga@webkit.org>
6341
6342        Reviewed by Csaba Osztrogonác.
6343
6344        Simplify makeprop.pl
6345        https://bugs.webkit.org/show_bug.cgi?id=49925
6346
6347        Don't generate CSSPropertyNamesHash.h.
6348        Instead generate CSSPropertyNames directly.
6349
6350        * GNUmakefile.am: Removed rule for CSSPropertyNamesHash.h.
6351        * css/makeprop.pl:
6352
63532010-11-24  Patrick Gansterer  <paroga@webkit.org>
6354
6355        Reviewed by Csaba Osztrogonác.
6356
6357        Remove Bakefile build system files
6358        https://bugs.webkit.org/show_bug.cgi?id=49983
6359
6360        r53757 only removed the content, but not the files.
6361        This patch removes that empty files.
6362
6363        * WebCoreSources.bkl: Removed.
6364        * webcore-base.bkl: Removed.
6365        * webcore-wx.bkl: Removed.
6366
63672010-11-24  Renata Hodovan  <reni@inf.u-szeged.hu>
6368
6369        Reviewed by Andreas Kling.
6370
6371        [Qt] GraphicsContext: Clean up Qt/WebCore type conversion functions
6372        https://bugs.webkit.org/show_bug.cgi?id=49919
6373
6374        Add ASSERT_NOT_REACHED() if the given WebCore type doesn't have an equivalent type in Qt.
6375        Also change the return value of toQtLineJoin() from Qt::MiterJoin to the default Qt::SvgMiterJoin,
6376        because the previous one doesn't work currently.
6377
6378        No new test is needed.
6379
6380        * platform/graphics/qt/GraphicsContextQt.cpp:
6381        (WebCore::GraphicsContext::toQtCompositionMode):
6382        (WebCore::toQtLineCap):
6383        (WebCore::toQtLineJoin):
6384        (WebCore::toQPenStyle):
6385        (WebCore::toQtFillRule):
6386
63872010-11-24  Patrick Gansterer  <paroga@webkit.org>
6388
6389        Reviewed by Csaba Osztrogonác.
6390
6391        Simplify makevalues.pl
6392        https://bugs.webkit.org/show_bug.cgi?id=49926
6393
6394        Don't generate CSSValueKeywordsHash.h.
6395        Instead generate CSSValueKeywords.cpp directly. 
6396
6397        * GNUmakefile.am: Removed rule for CSSValueKeywordsHash.h.
6398        * css/makevalues.pl:
6399
64002010-11-24  Andras Becsi  <abecsi@inf.u-szeged.hu>
6401
6402        Reviewed by Kenneth Rohde Christiansen.
6403
6404        Make WebKit2 compile with !ENABLE(INSPECTOR).
6405        https://bugs.webkit.org/show_bug.cgi?id=49973
6406
6407        No new tests needed.
6408
6409        * bindings/js/ScriptHeapSnapshot.h:
6410        * bindings/js/ScriptProfile.cpp:
6411        * bindings/js/ScriptProfile.h:
6412        * inspector/InspectorDebuggerAgent.cpp:
6413        * inspector/InspectorDebuggerAgent.h:
6414        * inspector/InspectorProfilerAgent.cpp:
6415        * inspector/InspectorProfilerAgent.h:
6416        * inspector/ScriptBreakpoint.h:
6417
64182010-11-24  Patrick Gansterer  <paroga@webkit.org>
6419
6420        Reviewed by Csaba Osztrogonác.
6421
6422        Simplify make-hash-tools.pl
6423        https://bugs.webkit.org/show_bug.cgi?id=49922
6424
6425        HashTools.h does not need to be generated, because it only contains static code.
6426
6427        * html/DocTypeStrings.gperf: Include findDoctypeEntry function.
6428        * make-hash-tools.pl: Do not generate HashTools.h.
6429        * platform/ColorData.gperf: Include findColor function.
6430        * platform/HashTools.h: Added.
6431
64322010-11-24  Andreas Kling  <kling@webkit.org>
6433
6434        Reviewed by Simon Hausmann.
6435
6436        [Qt] Pass Qt::TextBypassShaping flag when calculating shadow layer rects
6437
6438        Without this, we could end up with a slightly too small shadow layer
6439        for some string/font combinations.
6440
6441        * platform/graphics/qt/FontQt.cpp:
6442        (WebCore::drawTextCommon):
6443
64442010-11-22  Pavel Feldman  <pfeldman@chromium.org>
6445
6446        Reviewed by Yury Semikhatsky.
6447
6448        Web Inspector: add timing tab to the network item view.
6449        https://bugs.webkit.org/show_bug.cgi?id=49920
6450
6451        * WebCore.gypi:
6452        * WebCore.vcproj/WebCore.vcproj:
6453        * inspector/front-end/NetworkItemView.js:
6454        (WebInspector.NetworkItemView):
6455        * inspector/front-end/NetworkPanel.js:
6456        (WebInspector.NetworkPanel.prototype._showPopover):
6457        * inspector/front-end/Resource.js:
6458        (WebInspector.Resource.prototype.set timing):
6459        * inspector/front-end/ResourceTimingView.js: Added.
6460        (WebInspector.ResourceTimingView):
6461        (WebInspector.ResourceTimingView.prototype.show):
6462        (WebInspector.ResourceTimingView.prototype._refresh):
6463        (WebInspector.ResourceTimingView.createTimingTable):
6464        * inspector/front-end/WebKit.qrc:
6465        * inspector/front-end/inspector.html:
6466        * inspector/front-end/networkPanel.css:
6467        (#network-views .network-item-view .tabbed-pane-header):
6468        (.resource-timing-view):
6469        (.resource-timing-view table):
6470        (.resource-timing-view .network-timing-bar):
6471        (.resource-timing-view .network-timing-bar.proxy):
6472        (.resource-timing-view .network-timing-bar.dns):
6473        (.resource-timing-view .network-timing-bar.connecting):
6474        (.resource-timing-view .network-timing-bar.ssl):
6475        (.resource-timing-view .network-timing-bar.sending):
6476        (.resource-timing-view .network-timing-bar.waiting):
6477        (.resource-timing-view .network-timing-bar.receiving):
6478        (.resource-timing-view.visible):
6479
64802010-11-24  Pavel Feldman  <pfeldman@chromium.org>
6481
6482        Not reviewed. Follow up to r72652 (style id change in inspector).
6483
6484        * inspector/front-end/AuditRules.js:
6485        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
6486
64872010-11-22  Pavel Feldman  <pfeldman@chromium.org>
6488
6489        Reviewed by Yury Semikhatsky.
6490
6491        Web Inspector: refactor ResourceView hierarchy.
6492        https://bugs.webkit.org/show_bug.cgi?id=49864
6493
6494        This refactoring splits ResourceView.js into:
6495            NetworkItemView.js (tabbed pane)
6496            ResourceHeadersView.js (header tab)
6497            ResourceCookiesView.js (cookies tab)
6498            ResourceView.js (base class for content tab).
6499        CookiesTable was extracted from CookieItemsView and
6500        brushed up. headersVisible flag has been removed.
6501
6502        * English.lproj/localizedStrings.js:
6503        * WebCore.gypi:
6504        * WebCore.vcproj/WebCore.vcproj:
6505        * inspector/front-end/CookieItemsView.js:
6506        (WebInspector.CookieItemsView):
6507        (WebInspector.CookieItemsView.prototype.get statusBarItems):
6508        (WebInspector.CookieItemsView.prototype.hide):
6509        (WebInspector.CookieItemsView.prototype.resize):
6510        (WebInspector.CookieItemsView.prototype._updateWithCookies):
6511        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
6512        (WebInspector.CookieItemsView.prototype._deleteCookie):
6513        (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
6514        (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
6515        (WebInspector.SimpleCookiesTable):
6516        (WebInspector.SimpleCookiesTable.prototype.setCookies):
6517        (WebInspector.SimpleCookiesTable.prototype.resize):
6518        * inspector/front-end/CookiesTable.js: Added.
6519        (WebInspector.CookiesTable):
6520        (WebInspector.CookiesTable.prototype.updateWidths):
6521        (WebInspector.CookiesTable.prototype.setCookies):
6522        (WebInspector.CookiesTable.prototype.addCookiesFolder):
6523        (WebInspector.CookiesTable.prototype.get selectedCookie):
6524        (WebInspector.CookiesTable.prototype._rebuildTable):
6525        (WebInspector.CookiesTable.prototype.reset):
6526        (WebInspector.CookiesTable.prototype._populateNode):
6527        (WebInspector.CookiesTable.prototype._totalSize):
6528        (WebInspector.CookiesTable.prototype._sortCookies.localeCompare):
6529        (WebInspector.CookiesTable.prototype._sortCookies.numberCompare):
6530        (WebInspector.CookiesTable.prototype._sortCookies.expiresCompare):
6531        (WebInspector.CookiesTable.prototype._sortCookies):
6532        (WebInspector.CookiesTable.prototype._createGridNode):
6533        (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
6534        * inspector/front-end/FileSystemView.js:
6535        (WebInspector.FileSystemView.prototype._selectFileSystemTab):
6536        (WebInspector.FileSystemView.prototype.selectTemporaryFileSystemTab):
6537        * inspector/front-end/FontView.js:
6538        (WebInspector.FontView.prototype.hasContent):
6539        (WebInspector.FontView.prototype._createContentIfNeeded):
6540        (WebInspector.FontView.prototype.show):
6541        (WebInspector.FontView.prototype.updateFontPreviewSize):
6542        * inspector/front-end/ImageView.js:
6543        (WebInspector.ImageView.prototype.hasContent):
6544        (WebInspector.ImageView.prototype.show):
6545        * inspector/front-end/NetworkItemView.js: Added.
6546        (WebInspector.NetworkItemView):
6547        (WebInspector.NetworkItemView.prototype.show):
6548        (WebInspector.NetworkItemView.prototype._selectTab):
6549        (WebInspector.NetworkItemView.prototype._tabSelected):
6550        (WebInspector.NetworkItemView.prototype.resize):
6551        (WebInspector.NetworkItemView.prototype.selectContentTab):
6552        * inspector/front-end/NetworkPanel.js:
6553        (WebInspector.NetworkPanel.prototype.show):
6554        (WebInspector.NetworkPanel.prototype.refreshResource):
6555        (WebInspector.NetworkPanel.prototype._showResource):
6556        (WebInspector.NetworkPanel.prototype._closeVisibleResource):
6557        * inspector/front-end/ResourceCookiesView.js: Added.
6558        (WebInspector.ResourceCookiesView):
6559        (WebInspector.ResourceCookiesView.prototype.show):
6560        * inspector/front-end/ResourceHeadersView.js: Added.
6561        (WebInspector.ResourceHeadersView):
6562        (WebInspector.ResourceHeadersView.prototype._refreshURL):
6563        (WebInspector.ResourceHeadersView.prototype._refreshQueryString):
6564        (WebInspector.ResourceHeadersView.prototype._refreshFormData):
6565        (WebInspector.ResourceHeadersView.prototype._refreshRequestPayload):
6566        (WebInspector.ResourceHeadersView.prototype._refreshParms):
6567        (WebInspector.ResourceHeadersView.prototype._toggleURLdecoding):
6568        (WebInspector.ResourceHeadersView.prototype._getHeaderValue):
6569        (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
6570        (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
6571        (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
6572        (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
6573        * inspector/front-end/ResourceView.js:
6574        (WebInspector.ResourceView):
6575        (WebInspector.ResourceView.prototype.hasContent):
6576        * inspector/front-end/ResourcesPanel.js:
6577        (WebInspector.ResourcesPanel.prototype.show):
6578        (WebInspector.ResourcesPanel.prototype.showResource):
6579        (WebInspector.ResourcesPanel.prototype._showResourceView):
6580        * inspector/front-end/ScriptsPanel.js:
6581        (WebInspector.ScriptsPanel.prototype.show):
6582        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
6583        * inspector/front-end/SourceView.js:
6584        (WebInspector.SourceView):
6585        (WebInspector.SourceView.prototype.show):
6586        (WebInspector.SourceView.prototype.hide):
6587        (WebInspector.SourceView.prototype.resize):
6588        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
6589        (WebInspector.SourceView.prototype.hasContent):
6590        (WebInspector.SourceView.prototype.updateLocalContent):
6591        (WebInspector.SourceView.prototype.selectLocalContentTab):
6592        * inspector/front-end/StylesSidebarPane.js:
6593        * inspector/front-end/TabbedPane.js:
6594        (WebInspector.TabbedPane):
6595        (WebInspector.TabbedPane.prototype.appendTab):
6596        (WebInspector.TabbedPane.prototype.selectTab):
6597        (WebInspector.TabbedPane.prototype._showTab):
6598        (WebInspector.TabbedPane.prototype._hideTab):
6599        * inspector/front-end/WebKit.qrc:
6600        * inspector/front-end/inspector.css:
6601        (.webkit-line-gutter-backdrop):
6602        (.resource-view):
6603        (.resource-view.visible):
6604        (.resource-view.font):
6605        (.resource-view.image > .image):
6606        (.resource-view.image > .info):
6607        (.storage-view):
6608        (.storage-view .data-grid):
6609        (.storage-empty-view, .storage-view .storage-table-error):
6610        (.storage-view .storage-table-error):
6611        * inspector/front-end/inspector.html:
6612        * inspector/front-end/networkPanel.css:
6613        (.network-cell-subtitle):
6614        (.network-header-subtitle):
6615        (#network-views .network-item-view .tabbed-pane-header):
6616        (#network-views.small .network-item-view .tabbed-pane-header):
6617        (.network-item-view):
6618        (.network-item-view.visible):
6619        (.network-item-view .tabbed-pane-header):
6620        (.network-item-view .scope-bar li):
6621        (.resource-headers-view):
6622        (.resource-headers-view.visible):
6623        (.resource-headers-view .outline-disclosure .parent):
6624        (.resource-headers-view .outline-disclosure .children li):
6625        (.resource-headers-view .outline-disclosure li.expanded .header-count):
6626        (.resource-headers-view .outline-disclosure .header-name):
6627        (.resource-headers-view .outline-disclosure .header-value):
6628        (.resource-headers-view .outline-disclosure .raw-form-data):
6629        (.resource-cookies-view):
6630        (.resource-cookies-view.visible):
6631        (.resource-cookies-view .data-grid):
6632        (.resource-cookies-view .data-grid .row-group):
6633
66342010-11-24  Pavel Feldman  <pfeldman@chromium.org>
6635
6636        Reviewed by Yury Semikhatsky.
6637
6638        Web Inspector: add "Locally modified" group into the resource panel.
6639        https://bugs.webkit.org/show_bug.cgi?id=50005
6640
6641        * English.lproj/localizedStrings.js:
6642        * inspector/front-end/ResourcesPanel.js:
6643        (WebInspector.ResourcesPanel):
6644        (WebInspector.ResourcesPanel.prototype.reset):
6645        (WebInspector.ResourcesPanel.prototype.addLocallyModifiedRevision):
6646        (WebInspector.ResourcesPanel.prototype._innerShowView):
6647        (WebInspector.BaseStorageTreeElement.prototype.set titleText):
6648        (WebInspector.LocallyModifiedResourceTreeElement):
6649        (WebInspector.LocallyModifiedResourceTreeElement.prototype.onselect):
6650        (WebInspector.LocallyModifiedResourceTreeElement.prototype.gcRevisions):
6651        (WebInspector.LocallyModifiedRevisionTreeElement):
6652        (WebInspector.LocallyModifiedRevisionTreeElement.prototype.onattach):
6653        (WebInspector.LocallyModifiedRevisionTreeElement.prototype.onselect):
6654        (WebInspector.LocallyModifiedRevisionTreeElement.prototype._ondragstart):
6655
66562010-11-24  Pavel Feldman  <pfeldman@chromium.org>
6657
6658        Reviewed by Yury Semikhatsky.
6659
6660        Web Inspector: pass style id to front-end as Object, not string.
6661        https://bugs.webkit.org/show_bug.cgi?id=49971
6662
6663        * inspector/Inspector.idl:
6664        * inspector/InspectorCSSAgent.cpp:
6665        (WebCore::InspectorCSSAgent::getStylesForNode2):
6666        (WebCore::InspectorCSSAgent::getStyleSheetText2):
6667        (WebCore::InspectorCSSAgent::setPropertyText2):
6668        (WebCore::InspectorCSSAgent::toggleProperty2):
6669        (WebCore::InspectorCSSAgent::setRuleSelector2):
6670        * inspector/InspectorCSSAgent.h:
6671        * inspector/InspectorStyleSheet.cpp:
6672        (WebCore::InspectorStyle::buildObjectForStyle):
6673        (WebCore::InspectorStyleSheet::finalURL):
6674        (WebCore::InspectorStyleSheet::ruleForId):
6675        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
6676        (WebCore::InspectorStyleSheet::buildObjectForRule):
6677        (WebCore::InspectorStyleSheet::text):
6678        (WebCore::InspectorStyleSheet::ruleOrStyleId):
6679        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
6680        (WebCore::InspectorStyleSheetForInlineStyle::text):
6681        * inspector/InspectorStyleSheet.h:
6682        (WebCore::InspectorCSSId::InspectorCSSId):
6683        (WebCore::InspectorCSSId::isEmpty):
6684        (WebCore::InspectorCSSId::styleSheetId):
6685        (WebCore::InspectorCSSId::ordinal):
6686        (WebCore::InspectorCSSId::asInspectorValue):
6687        (WebCore::InspectorStyleSheet::id):
6688        (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
6689        * inspector/front-end/CSSStyleModel.js:
6690        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
6691        (WebInspector.CSSStyleModel.prototype.addRule):
6692        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
6693        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
6694        (WebInspector.CSSProperty.prototype.setText):
6695        (WebInspector.CSSProperty.prototype.setDisabled.callback):
6696        (WebInspector.CSSProperty.prototype.setDisabled):
6697        (WebInspector.CSSStyleSheet.createForId):
6698        (WebInspector.CSSStyleSheet.prototype.setText):
6699
67002010-11-24  Sheriff Bot  <webkit.review.bot@gmail.com>
6701
6702        Unreviewed, rolling out r72647.
6703        http://trac.webkit.org/changeset/72647
6704        https://bugs.webkit.org/show_bug.cgi?id=50009
6705
6706        breaks the http layout tests (Requested by philn-tp on
6707        #webkit).
6708
6709        * platform/network/soup/ResourceHandleSoup.cpp:
6710        (WebCore::sendRequestCallback):
6711        (WebCore::startHttp):
6712        (WebCore::ResourceHandle::platformSetDefersLoading):
6713
67142010-11-23  Philippe Normand  <pnormand@igalia.com>
6715
6716        Reviewed by Martin Robinson.
6717
6718        [soup] implement ResourceHandle::platformSetDefersLoading
6719        https://bugs.webkit.org/show_bug.cgi?id=44158
6720
6721        * platform/network/soup/ResourceHandleSoup.cpp:
6722        (WebCore::ResourceHandle::platformSetDefersLoading): Implemented
6723        using the soup_session_{,un}pause_message APIs.
6724
67252010-11-22  Abhishek Arya  <inferno@chromium.org>
6726
6727        Reviewed by Adam Barth.
6728
6729        r71925 broke the chrome new tab page. r71925 blocked drag and drop
6730        of same security origin objects onto themselves if their origin is
6731        marked unique. We need to allow drag and drop in that scenario.
6732        https://bugs.webkit.org/show_bug.cgi?id=49098
6733
6734        Test: http/tests/security/drag-drop-same-unique-origin.html
6735
6736        * page/SecurityOrigin.cpp:
6737        (WebCore::SecurityOrigin::canReceiveDragData):
6738
67392010-11-23  Cris Neckar  <cdn@chromium.org>
6740
6741        Reviewed by Dimitri Glazkov.
6742
6743        Removed unneeded conversions to RenderBlock.
6744        https://bugs.webkit.org/show_bug.cgi?id=49896
6745
6746        Test: fast/css/input-search-table-column-crash.html
6747
6748        * rendering/RenderTextControlSingleLine.cpp:
6749        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
6750
67512010-11-23  Ryosuke Niwa  <rniwa@webkit.org>
6752
6753        Reviewed by Adam Barth.
6754
6755        XMLDocumentParser::notifyFinished calls ScriptController's executeScript without updating isEvaluated flag
6756        https://bugs.webkit.org/show_bug.cgi?id=49701
6757
6758        Fixed the bug by calling ScriptElement's executeScript, which sets isEvaluated flag to true.
6759
6760        Test: fast/dom/script-clone-rerun-src.xhtml
6761
6762        * dom/XMLDocumentParser.cpp:
6763        (WebCore::XMLDocumentParser::notifyFinished):
6764
67652010-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
6766
6767        Unreviewed, rolling out r72628.
6768        http://trac.webkit.org/changeset/72628
6769        https://bugs.webkit.org/show_bug.cgi?id=49994
6770
6771        This patch is causing layout-test failtures on GTK Linux
6772        64-bit Debug (Requested by ctguil on #webkit).
6773
6774        * accessibility/AccessibilityRenderObject.cpp:
6775        (WebCore::AccessibilityRenderObject::renderParentObject):
6776        (WebCore::AccessibilityRenderObject::addChildren):
6777        * accessibility/AccessibilityRenderObject.h:
6778        * accessibility/chromium/AccessibilityObjectChromium.cpp:
6779        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
6780
67812010-11-23  Xan Lopez  <xlopez@igalia.com>
6782
6783        Reviewed by Martin Robinson.
6784
6785        [GTK] Fix IFrame DOM bindings API
6786        https://bugs.webkit.org/show_bug.cgi?id=49980
6787
6788        Fix IFrame API naming. It needs special casing because of the two
6789        consecutive capital letters.
6790
6791        * bindings/scripts/CodeGeneratorGObject.pm:
6792
67932010-11-23  Shimeng (Simon) Wang  <swang@google.com>
6794
6795        Reviewed by Steve Block.
6796
6797        Use platform bridge to set scroll position.
6798        https://bugs.webkit.org/show_bug.cgi?id=49550
6799
6800        Refactoring only.  Existing tests shall suffice.
6801
6802        * platform/android/PlatformBridge.h:
6803        * platform/android/ScrollViewAndroid.cpp:
6804        (WebCore::ScrollView::platformSetScrollPosition):
6805
68062010-11-23  Andreas Kling  <kling@webkit.org>
6807
6808        Reviewed by Tor Arne Vestbø.
6809
6810        [Qt] Selecting shadowed text causes rendering artifacts
6811        https://bugs.webkit.org/show_bug.cgi?id=49990
6812
6813        When selecting text starting from the end of a word, we need to use
6814        the X coordinate of the start of the substring when calculating the
6815        bounding rect for a ContextShadow.
6816
6817        * platform/graphics/qt/FontQt.cpp:
6818        (WebCore::drawTextCommon):
6819
68202010-11-23  Chris Guillory  <chris.guillory@google.com>
6821
6822        Reviewed by Dimitri Glazkov.
6823
6824        Include the FrameView widget of a RenderWidget in the accessibility tree.
6825        https://bugs.webkit.org/show_bug.cgi?id=49106
6826
6827        Include render widget children in the accessibility tree for not mac webkit ports.
6828
6829        Test: accessibility/iframe-has-document.html
6830
6831        * accessibility/AccessibilityRenderObject.cpp:
6832        (WebCore::AccessibilityRenderObject::renderParentObject):
6833        (WebCore::AccessibilityRenderObject::addChildren):
6834        (WebCore::AccessibilityRenderObject::addRenderWidgetChildren):
6835        * accessibility/AccessibilityRenderObject.h:
6836        * accessibility/chromium/AccessibilityObjectChromium.cpp:
6837        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
6838
68392010-11-23  Chris Rogers  <crogers@google.com>
6840
6841        Reviewed by Alexey Proskuryakov.
6842
6843        Add .responseType and .response to XMLHttpRequest
6844        https://bugs.webkit.org/show_bug.cgi?id=49633
6845
6846        Tests: fast/xmlhttprequest/xmlhttprequest-responsetype-abort.html
6847               fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer.html
6848               fast/xmlhttprequest/xmlhttprequest-responsetype-document.html
6849               fast/xmlhttprequest/xmlhttprequest-responsetype-text.html
6850
6851        * bindings/js/JSXMLHttpRequestCustom.cpp:
6852        (WebCore::JSXMLHttpRequest::markChildren):
6853        (WebCore::JSXMLHttpRequest::open):
6854        (WebCore::JSXMLHttpRequest::response):
6855        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
6856        (WebCore::V8XMLHttpRequest::responseAccessorGetter):
6857        * xml/XMLHttpRequest.cpp:
6858        (WebCore::XMLHttpRequest::XMLHttpRequest):
6859        (WebCore::XMLHttpRequest::responseText):
6860        (WebCore::XMLHttpRequest::responseXML):
6861        (WebCore::XMLHttpRequest::responseBlob):
6862        (WebCore::XMLHttpRequest::responseArrayBuffer):
6863        (WebCore::XMLHttpRequest::setResponseType):
6864        (WebCore::XMLHttpRequest::responseType):
6865        (WebCore::XMLHttpRequest::setAsBlob):
6866        (WebCore::XMLHttpRequest::open):
6867        (WebCore::XMLHttpRequest::clearResponse):
6868        (WebCore::XMLHttpRequest::didFinishLoading):
6869        (WebCore::XMLHttpRequest::didReceiveData):
6870        * xml/XMLHttpRequest.h:
6871        (WebCore::XMLHttpRequest::asBlob):
6872        (WebCore::XMLHttpRequest::optionalResponseXML):
6873        (WebCore::XMLHttpRequest::optionalResponseBlob):
6874        (WebCore::XMLHttpRequest::responseTypeCode):
6875        (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
6876        * xml/XMLHttpRequest.idl:
6877
68782010-11-23  Abhishek Arya  <inferno@chromium.org>
6879
6880        Reviewed by Adam Barth.
6881
6882        dispatchEvent call in EventSource endRequest can lead to calling endRequest
6883        again which frees up the pending activity. Make sure we have request in flight
6884        to prevent that from happening.
6885        https://bugs.webkit.org/show_bug.cgi?id=49448
6886
6887        Test: http/tests/eventsource/eventsource-status-error-iframe-crash.html
6888
6889        * page/EventSource.cpp:
6890        (WebCore::EventSource::endRequest):
6891        (WebCore::EventSource::close):
6892
68932010-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
6894
6895        Unreviewed, rolling out r72618.
6896        http://trac.webkit.org/changeset/72618
6897        https://bugs.webkit.org/show_bug.cgi?id=49987
6898
6899        "Newly added test is failing on Chromium-linux, patch author
6900        said to rollout" (Requested by jparent on #webkit).
6901
6902        * editing/EditingBehavior.h:
6903        * page/EventHandler.cpp:
6904        (WebCore::EventHandler::sendContextMenuEvent):
6905
69062010-11-23  Avi Drissman  <avi@google.com>
6907
6908        Reviewed by Antonio Gomes.
6909
6910        Add preference to not select when right-clicked
6911        https://bugs.webkit.org/show_bug.cgi?id=23351
6912
6913        Test: editing/selection/context-menu-text-selection.html
6914
6915        * editing/EditingBehavior.h:
6916        (WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
6917        * page/EventHandler.cpp:
6918        (WebCore::EventHandler::sendContextMenuEvent):
6919
69202010-11-23  Alexander Pavlov  <apavlov@chromium.org>
6921
6922        Reviewed by Pavel Feldman.
6923
6924        Web Inspector: [STYLES] invalid color values are not marked as such.
6925        https://bugs.webkit.org/show_bug.cgi?id=49960
6926
6927        Properties having a valid structure but invalid values will also
6928        be marked as non-parsedOk in the Styles pane.
6929
6930        * css/CSSGrammar.y:
6931        * inspector/InspectorStyleSheet.cpp:
6932        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
6933
69342010-11-23  Adam Bergkvist  <adam.bergkvist@ericsson.com>
6935
6936        Reviewed by Martin Robinson.
6937
6938        [GTK] Building with Blob support fails
6939        https://bugs.webkit.org/show_bug.cgi?id=49724
6940
6941        Build fix.
6942
6943        * GNUmakefile.am:
6944        * platform/gtk/FileSystemGtk.cpp:
6945        (WebCore::seekFile): Not implemented.
6946
69472010-11-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
6948
6949        Reviewed by Andreas Kling.
6950
6951        Make setShouldDelegateScrolling not a real setting, so that it works
6952        similar to the related setUseFixedLayout and setPaintEntireContents
6953        options which are all in ScrollView.
6954
6955        * page/FrameView.cpp:
6956        * page/FrameView.h:
6957        * page/Settings.cpp:
6958        (WebCore::Settings::Settings):
6959        * page/Settings.h:
6960        * platform/ScrollView.cpp:
6961        (WebCore::ScrollView::ScrollView):
6962        (WebCore::ScrollView::setDelegatesScrolling):
6963        * platform/ScrollView.h:
6964        (WebCore::ScrollView::delegatesScrolling):
6965
69662010-11-23  Adam Roben  <aroben@apple.com>
6967
6968        Don't rely on DocumentLoader outliving the load/unload events
6969
6970        DocumentLoader::m_documentLoadTiming is used to record how long firing
6971        the load event took. But the DocumentLoader was being destroyed while
6972        the event was being dispatched (due to a call to document.open), which
6973        meant that when we tried to record the time when the load event
6974        finished, we were writing into freed memory. We now protect the
6975        DocumentLoader using a RefPtr. (I initially made a change where we
6976        would only access the DocumentLoader after the event has finished
6977        firing, but it seemed possible that a different DocumentLoader could
6978        have come into existence by then, which would cause us to record the
6979        times on the wrong DocumentLoadTiming struct.)
6980
6981        I only saw a crash when firing the load event, but the code for timing
6982        the unload event seemed like it was vulnerable to the same issue, so I
6983        made the same fix for it.
6984
6985        Fixes <http://webkit.org/b/49972> REGRESSION (r72415?): Crash in
6986        DOMWindow::dispatchTimedEvent when running fast/dom/onload-open.html
6987
6988        Reviewed by Darin Fisher.
6989
6990        * loader/FrameLoader.cpp:
6991        (WebCore::FrameLoader::stopLoading):
6992        * page/DOMWindow.cpp:
6993        (WebCore::DOMWindow::dispatchLoadEvent):
6994        Protect the DocumentLoader (and thus its DocumentLoadTiming) with a
6995        RefPtr.
6996
69972010-11-17  Zhenyao Mo  <zmo@google.com>
6998
6999        Reviewed by Kenneth Russell.
7000
7001        readPixels should generate INVALID_ENUM if only one of type/format mismatch UNSIGNED_BYTE/RGBA
7002        https://bugs.webkit.org/show_bug.cgi?id=49673
7003
7004        Test: fast/canvas/webgl/read-pixels-test.html
7005
7006        * html/canvas/WebGLRenderingContext.cpp:
7007        (WebCore::WebGLRenderingContext::readPixels):
7008
70092010-11-23  Alexander Pavlov  <apavlov@chromium.org>
7010
7011        Reviewed by Pavel Feldman.
7012
7013        Web Inspector: [STYLES] Use strike through as an 'overridden' marker.
7014        https://bugs.webkit.org/show_bug.cgi?id=49961
7015
7016        "line-through" is used for inactive properties overridden within the same style.
7017
7018        * inspector/front-end/inspector.css:
7019        (.styles-section .properties .overloaded, .styles-section .properties .inactive, .styles-section .properties .disabled):
7020
70212010-11-23  Yael Aharon  <yael.aharon@nokia.com>
7022
7023        Reviewed by Antonio Gomes.
7024
7025        Spatial Navigation: Code cleanup
7026        https://bugs.webkit.org/show_bug.cgi?id=49442
7027
7028        Remove code that is not used anymore after http://trac.webkit.org/changeset/72522.
7029        Added const to canBeScrolledIntoView.
7030        No new tests because this is only code cleanup.
7031
7032        * page/FocusController.cpp:
7033        * page/FocusController.h:
7034        * page/SpatialNavigation.cpp:
7035        (WebCore::canBeScrolledIntoView):
7036        * page/SpatialNavigation.h:
7037
70382010-11-23  Jeremy Orlow  <jorlow@chromium.org>
7039
7040        Reviewed by Steve Block.
7041
7042        Remove unimplemented (and untested) methods from IndexedDB
7043        https://bugs.webkit.org/show_bug.cgi?id=49911
7044
7045        * storage/IDBCursor.idl:
7046        * storage/IDBDatabase.idl:
7047
70482010-11-18  Satish Sampath  <satish@chromium.org>
7049
7050        Reviewed by Jeremy Orlow.
7051
7052        For speech input event, send an event object containing all the recognition results and metadata.
7053        https://bugs.webkit.org/show_bug.cgi?id=49736
7054
7055        Currently the speech input event 'onwebkitspeechchange' receives no parameters. WebCore already
7056        has the full list of recognition results and populates only the top result into the input field
7057        automatically. In this patch we pass a SpeechInputEvent object to the event handler, and the JS
7058        code can access the full list of results via "event.results.length", "results[i].utterance" and
7059        "results[i].confidence". Also updated mock object with appropriate methods to test multiple results.
7060
7061        Test: fast/speech/input-onspeechchange-event.html
7062
7063        * CMakeLists.txt:
7064        * GNUmakefile.am:
7065        * WebCore.gypi:
7066        * WebCore.pri:
7067        * WebCore.pro:
7068        * WebCore.xcodeproj/project.pbxproj:
7069        * bindings/js/JSEventCustom.cpp:
7070        (WebCore::toJS): Added new event
7071        * bindings/v8/custom/V8EventCustom.cpp:
7072        (WebCore::toV8): Added new event
7073        * dom/Event.cpp:
7074        (WebCore::Event::isSpeechInputEvent):
7075        * dom/Event.h:
7076        * html/HTMLInputElement.cpp:
7077        * html/HTMLInputElement.h:
7078        * page/SpeechInputEvent.h: New file implementing SpeechInputEvent.idl
7079        (WebCore::SpeechInputEvent::~SpeechInputEvent):
7080        (WebCore::SpeechInputEvent::create):
7081        (WebCore::SpeechInputEvent::isSpeechInputEvent):
7082        (WebCore::SpeechInputEvent::results):
7083        (WebCore::SpeechInputEvent::SpeechInputEvent):
7084        * page/SpeechInputEvent.idl: New file defining SpeechInputEvent object
7085        * page/SpeechInputListener.h:
7086        * page/SpeechInputResult.cpp:
7087        (WebCore::SpeechInputResult::create):
7088        * page/SpeechInputResult.h:
7089        * page/SpeechInputResult.idl: New file defining a single SpeechInputResult object
7090        * page/SpeechInputResultList.h: New file implementing SpeechInputResultList.idl
7091        (WebCore::SpeechInputResultList::create):
7092        (WebCore::SpeechInputResultList::length):
7093        (WebCore::SpeechInputResultList::item):
7094        (WebCore::SpeechInputResultList::SpeechInputResultList):
7095        * page/SpeechInputResultList.idl: New file defining a list of SpeechInputResult objects
7096        * platform/mock/SpeechInputClientMock.cpp:
7097        (WebCore::SpeechInputClientMock::addRecognitionResult): Renamed method and added one parameter.
7098        (WebCore::SpeechInputClientMock::clearResults):
7099        (WebCore::SpeechInputClientMock::timerFired):
7100        * platform/mock/SpeechInputClientMock.h:
7101        * rendering/TextControlInnerElements.cpp:
7102        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Pass new event object to handler.
7103
71042010-11-22  Alexey Proskuryakov  <ap@apple.com>
7105
7106        Reviewed by Darin Adler.
7107
7108        https://bugs.webkit.org/show_bug.cgi?id=49860
7109        CSS style rules don't GC protect objects reachable as their properties
7110
7111        Test: fast/dom/StyleSheet/gc-rule-children-wrappers.html
7112
7113        * Android.jscbindings.mk:
7114        * CMakeLists.txt:
7115        * GNUmakefile.am:
7116        * WebCore.gypi:
7117        * WebCore.pro:
7118        * WebCore.vcproj/WebCore.vcproj:
7119        * WebCore.xcodeproj/project.pbxproj:
7120        * bindings/js/JSBindingsAllInOne.cpp:
7121        Added new files, sorted appropriate sections for easier adding.
7122
7123        * bindings/js/JSCSSFontFaceRuleCustom.cpp: Added.
7124        (WebCore::JSCSSFontFaceRule::markChildren):
7125        * bindings/js/JSCSSImportRuleCustom.cpp: Added.
7126        (WebCore::JSCSSImportRule::markChildren):
7127        * bindings/js/JSCSSMediaRuleCustom.cpp: Added.
7128        (WebCore::JSCSSMediaRule::markChildren):
7129        * bindings/js/JSCSSPageRuleCustom.cpp: Added.
7130        (WebCore::JSCSSPageRule::markChildren):
7131        * bindings/js/JSCSSStyleRuleCustom.cpp: Added.
7132        (WebCore::JSCSSStyleRule::markChildren):
7133        * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Added.
7134        (WebCore::JSWebKitCSSKeyframeRule::markChildren):
7135        * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Added.
7136        (WebCore::JSWebKitCSSKeyframesRule::markChildren):
7137        Mark objects reachable through these ones.
7138
7139        * css/CSSFontFaceRule.idl:
7140        * css/CSSImportRule.idl:
7141        * css/CSSMediaRule.idl:
7142        * css/CSSPageRule.idl:
7143        * css/CSSStyleRule.idl:
7144        * css/WebKitCSSKeyframeRule.idl:
7145        * css/WebKitCSSKeyframesRule.idl:
7146        Added CustomMarkFunction IDL attribute.
7147
71482010-11-23  Helder Correia  <helder@sencha.com>
7149
7150        Reviewed by Ariya Hidayat.
7151
7152        [Qt] Drawing an image on canvas with shadowBlur draws a solid shadow
7153        https://bugs.webkit.org/show_bug.cgi?id=49878
7154
7155        Add support for blurry shadows when drawing images on canvas.
7156
7157        Test: fast/canvas/canvas-drawImage-shadow.html
7158
7159        * platform/graphics/qt/ContextShadowQt.cpp:
7160        (WebCore::ContextShadow::endShadowLayer): Make composition work for solid shadow too.
7161        * platform/graphics/qt/ImageQt.cpp:
7162        (WebCore::BitmapImage::draw): Remove old shadow code and introduce ContextShadow.
7163
71642010-11-22  Patrick Gansterer  <paroga@webkit.org>
7165
7166        Reviewed by Adam Roben.
7167
7168        Port ContextMenuWin.cpp to WinCE
7169        https://bugs.webkit.org/show_bug.cgi?id=48408
7170
7171        * platform/ContextMenu.h:
7172        * platform/win/ContextMenuWin.cpp:
7173        (WebCore::ContextMenu::ContextMenu):
7174        (WebCore::ContextMenu::itemCount):
7175        (WebCore::insertMenuItem):
7176        (WebCore::ContextMenu::insertItem):
7177        (WebCore::contextMenuItemByIdOrPosition):
7178        (WebCore::ContextMenu::setPlatformDescription):
7179        (WebCore::contextMenuItemVector):
7180        (WebCore::platformMenuDescription):
7181
71822010-11-22  David Hyatt  <hyatt@apple.com>
7183
7184        Back out r72527 since it caused multiple rendering regressions.  Details in bug.
7185
7186        * rendering/InlineFlowBox.cpp:
7187        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
7188        * rendering/RenderListItem.cpp:
7189        (WebCore::RenderListItem::positionListMarker):
7190
71912010-11-22  John Knottenbelt  <jknotten@chromium.org>
7192
7193        Reviewed by Steve Block.
7194
7195        Implement mocks for client-based Geolocation.
7196        https://bugs.webkit.org/show_bug.cgi?id=49258
7197
7198        * Android.mk:
7199        * CMakeLists.txt:
7200        * GNUmakefile.am:
7201        * WebCore.gypi:
7202        * WebCore.pro:
7203        * WebCore.vcproj/WebCore.vcproj:
7204        * WebCore.xcodeproj/project.pbxproj:
7205        * platform/mock/GeolocationClientMock.cpp: Added.
7206        (WebCore::GeolocationClientMock::GeolocationClientMock):
7207        (WebCore::GeolocationClientMock::~GeolocationClientMock):
7208        (WebCore::GeolocationClientMock::setController):
7209        (WebCore::GeolocationClientMock::setPosition):
7210        (WebCore::GeolocationClientMock::setError):
7211        (WebCore::GeolocationClientMock::geolocationDestroyed):
7212        (WebCore::GeolocationClientMock::startUpdating):
7213        (WebCore::GeolocationClientMock::stopUpdating):
7214        (WebCore::GeolocationClientMock::setEnableHighAccuracy):
7215        (WebCore::GeolocationClientMock::lastPosition):
7216        (WebCore::GeolocationClientMock::timerFired):
7217        (WebCore::GeolocationClientMock::makeGeolocationCallback):
7218        * platform/mock/GeolocationClientMock.h: Added.
7219
72202010-11-22  Tony Gentilcore  <tonyg@chromium.org>
7221
7222        Reviewed by Adam Barth.
7223
7224        Fix bogus include guard.
7225
7226        * loader/NavigationScheduler.h:
7227
72282010-11-22  Andreas Kling  <kling@webkit.org>
7229
7230        Reviewed by Ariya Hidayat.
7231
7232        [Qt] Canvas: strokeText() and fillText() produce same shadow
7233        https://bugs.webkit.org/show_bug.cgi?id=48845
7234
7235        Test: fast/canvas/canvas-strokeText-strokes-shadow.html
7236
7237        * platform/graphics/qt/FontQt.cpp:
7238        (WebCore::drawTextCommon): Stroke the shadow rather than filling it in the cTextStroke case.
7239
72402010-11-22  Patrick Gansterer  <paroga@webkit.org>
7241
7242        Reviewed by Sam Weinig.
7243
7244        Use WTF::FixedArray::size()
7245        https://bugs.webkit.org/show_bug.cgi?id=49891
7246
7247        * dom/Document.cpp:
7248        (WebCore::Document::~Document):
7249
72502010-11-22  Ryosuke Niwa  <rniwa@webkit.org>
7251
7252        Reviewed by Tony Chang.
7253
7254        SelectionController::typingStyle() should return EditingStyle*
7255        https://bugs.webkit.org/show_bug.cgi?id=49813
7256
7257        Changed the return type of SelectionController::typingStyle to EditingStyle*.
7258
7259        Extracted textDirection from Editor::textDirectionForSelection to hide the underlying
7260        CSSMutableStyleDeclaration.
7261
7262        Also extracted the code to preserve unicode-bidi and direction CSS properties in
7263        InsertTextCommand::input, and moved into EditingStyle::prepareToApplyAt. ShouldPreserveWritingDirection,
7264        which is added to the argument list of EditingStyle::prepareToApplyAt, decides whether or not
7265        these two properties are preserved.
7266
7267        Also added SelectionController::copyTypingStyle() to copy the typing style as an instance of
7268        CSSMutableStyleDeclaration.
7269
7270        No new tests are added since this is a refactoring.
7271
7272        * editing/EditingStyle.cpp:
7273        (WebCore::EditingStyle::textDirection): Extracted from Editor::textDirectionForSelection.
7274        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added a missing null check.
7275        (WebCore::EditingStyle::prepareToApplyAt): See above.
7276        (WebCore::editingStyleIncludingTypingStyle): Calls SelectionController::typingStyle.
7277        * editing/EditingStyle.h: Moved WritingDirection from Editor.h
7278        * editing/Editor.cpp:
7279        (WebCore::Editor::textDirectionForSelection): Calls EditingStyle::textDirection.
7280        (WebCore::Editor::computeAndSetTypingStyle): Calls SelectionController::typingStyle.
7281        (WebCore::Editor::selectionComputedStyle): Ditto.
7282        (WebCore::Editor::styleForSelectionStart): Ditto.
7283        * editing/Editor.h:
7284        * editing/InsertLineBreakCommand.cpp:
7285        (WebCore::InsertLineBreakCommand::doApply): Ditto.
7286        * editing/InsertTextCommand.cpp:
7287        (WebCore::InsertTextCommand::input): Calls EditingStyle::prepareToApplyAt with PreserveWritingDirection.
7288        * editing/SelectionController.h:
7289        (WebCore::SelectionController::typingStyle): Returns EditingStyle* rather than CSSMutableStyleDeclaration*.
7290        (WebCore::SelectionController::copyTypingStyle): Added.
7291
72922010-11-22  Patrick Gansterer  <paroga@webkit.org>
7293
7294        Reviewed by Adam Roben.
7295
7296        [WINCE] Set correct preprocessor definitions
7297        https://bugs.webkit.org/show_bug.cgi?id=49887
7298
7299        * config.h:
7300
73012010-11-22  James Robinson  <jamesr@chromium.org>
7302
7303        Reviewed by Dimitri Glazkov.
7304
7305        [chromium] font-size:0 text runs should have zero width
7306        https://bugs.webkit.org/show_bug.cgi?id=49871
7307
7308        Returns 0 from platformWidthForGlyph if the specified font size is 0.
7309
7310        Test: fast/text/font-size-zero.html
7311
7312        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
7313        (WebCore::SimpleFontData::platformWidthForGlyph):
7314        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
7315        (WebCore::SimpleFontData::platformWidthForGlyph):
7316
73172010-11-22  Charlie Reis  <creis@chromium.org>
7318
7319        Reviewed by Darin Fisher.
7320
7321        Update correct content state during back/forward navigations
7322        https://bugs.webkit.org/show_bug.cgi?id=48809
7323
7324        Ensures that history's previousItem is non-null when clients try to
7325        update content state (e.g., Chromium's UpdateSessionHistory).  We now
7326        track load completions with a boolean field rather than by clearing
7327        previousItem.
7328
7329        Test: fast/history/saves-state-after-frame-nav.html
7330
7331        * loader/HistoryController.cpp:
7332        * loader/HistoryController.h:
7333
73342010-11-22  Luiz Agostini  <luiz.agostini@openbossa.org>
7335
7336        Unreviewed, Windows build fix.
7337
7338        Adding JSMediaQueryList to DerivedSources.cpp.
7339
7340        * DerivedSources.cpp:
7341
73422010-11-22  Adam Roben  <aroben@apple.com>
7343
7344        Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
7345
7346        Apple's Windows build allows placing header files and import libraries for WebKit's
7347        dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
7348        $WebKitLibrariesDir environment variable. This is both required for production builds and
7349        convenient for Apple-internal developer builds. Apple's production builds also require that
7350        WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
7351        builds, the files are copied into that directory tree by the
7352        WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
7353        copying is done by
7354        JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
7355
7356        This .vsprops copying is problematic in one very important case: when a developer updates
7357        their source tree and then tries to build. Visual Studio only reads .vsprops files when a
7358        project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
7359        updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
7360        build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
7361        $WebKitLibrariesDir, but Visual Studio will not pick up the changes.  The rest of the build
7362        will proceed with out-of-date .vsprops files, which will likely result in a build failure.
7363
7364        To fix this, we now use normal relative paths to access the .vsprops files in the source
7365        tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
7366        variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
7367        unset, so the normal relative paths are used to read the .vsprops files out of the source
7368        tree directly. In production builds, this environment variable is set to a fake directory
7369        that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
7370        is resolved.
7371        
7372        For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
7373
7374        $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
7375
7376        In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
7377        files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
7378        JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
7379        "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
7380        FeatureDefines.vsprops becomes:
7381
7382        $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
7383
7384        which resolves to:
7385
7386        $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
7387
7388        (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
7389        actually exist since they are matched by an equal number of ".." path components.)
7390
7391        Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
7392        Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
7393
7394        Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
7395        updated
7396
7397        Reviewed by Dave Hyatt.
7398
7399        * WebCore.vcproj/WebCore.make: Set $WebKitVSPropsRedirectionDir so that
7400        production builds can find the .vsprops files.
7401
7402        * WebCore.vcproj/QTMovieWin.vcproj:
7403        * WebCore.vcproj/WebCore.vcproj:
7404        Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
7405        files.
7406
74072010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>
7408
7409        Reviewed by Darin Adler.
7410
7411        Implement CSSOM View matchMedia interface
7412        https://bugs.webkit.org/show_bug.cgi?id=37205
7413
7414        New interfaces may be used to evaluate media queries and to associate listeners
7415        to media queries. Those listeners are called whenever the associated query changes.
7416        Specification may be found at http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface
7417
7418        operator== added to JS version of ScriptValue.
7419        Method isFunction added to JS and V8 versions of ScriptValue.
7420
7421        * bindings/js/ScriptValue.cpp:
7422        (WebCore::ScriptValue::isFunction):
7423        * bindings/js/ScriptValue.h:
7424        (WebCore::ScriptValue::operator==):
7425        * bindings/v8/ScriptValue.h:
7426        (WebCore::ScriptValue::isFunction):
7427
7428        Some changes were needed to the code generators to handle type MediaQueryListListener.
7429
7430        * bindings/scripts/CodeGeneratorGObject.pm:
7431        * bindings/scripts/CodeGeneratorJS.pm:
7432        * bindings/scripts/CodeGeneratorV8.pm:
7433
7434        Some changes to the bindings test results that were previously added.
7435
7436        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
7437        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
7438        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
7439        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
7440        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
7441        (WebCore::TestMediaQueryListListenerInternal::methodCallback):
7442        (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
7443
7444        New interfaces:
7445
7446        * css/MediaQueryList.cpp: Added.
7447        * css/MediaQueryList.h: Added.
7448        * css/MediaQueryList.idl: Added.
7449
7450        * css/MediaQueryListListener.cpp: Added.
7451        * css/MediaQueryListListener.h: Added.
7452        * css/MediaQueryListListener.idl: Added.
7453
7454        To avoid adding code to classes DOMWindow and Document a new class MediaQueryMatcher was created.
7455
7456        * css/MediaQueryMatcher.cpp: Added.
7457        * css/MediaQueryMatcher.h: Added.
7458
7459        Document and DOMWindow have changed to support new features. DOMWindow is the class that
7460        publishes methods matchMedia but for page cache to work properly the reference to the
7461        MediaQueryMatcher must be in Document.
7462
7463        * dom/Document.cpp:
7464        (WebCore::Document::~Document):
7465        (WebCore::Document::mediaQueryMatcher):
7466        (WebCore::Document::styleSelectorChanged):
7467        * dom/Document.h:
7468        * page/DOMWindow.cpp:
7469        (WebCore::DOMWindow::matchMedia):
7470        * page/DOMWindow.h:
7471        * page/DOMWindow.idl:
7472
7473        Build systems
7474
7475        * CMakeLists.txt:
7476        * DerivedSources.make:
7477        * GNUmakefile.am:
7478        * WebCore.gypi:
7479        * WebCore.pri:
7480        * WebCore.pro:
7481        * WebCore.vcproj/WebCore.vcproj:
7482        * WebCore.xcodeproj/project.pbxproj:
7483        * bindings/gobject/GNUmakefile.am:
7484
7485        Tests: fast/media/media-query-list-01.html
7486               fast/media/media-query-list-02.html
7487               fast/media/media-query-list-03.html
7488               fast/media/media-query-list-04.html
7489               fast/media/media-query-list-05.html
7490               fast/media/media-query-list-06.html
7491               fast/media/media-query-list-07.html
7492
74932010-11-22  Alexander Pavlov  <apavlov@chromium.org>
7494
7495        Reviewed by Pavel Feldman.
7496
7497        Web Inspector: [REGRESSION] Contents of rules inside @media not displayed/editable
7498        https://bugs.webkit.org/show_bug.cgi?id=49804
7499
7500        * css/CSSImportRule.cpp:
7501        (WebCore::CSSImportRule::insertedIntoParent):
7502        * inspector/InspectorCSSAgent.cpp:
7503        (WebCore::InspectorCSSAgent::setStyleSheetText2):
7504        * inspector/InspectorStyleSheet.cpp:
7505        (WebCore::asCSSRuleList):
7506        (WebCore::InspectorStyleSheet::reparseStyleSheet):
7507        (WebCore::InspectorStyleSheet::setText):
7508        (WebCore::InspectorStyleSheet::addRule):
7509        (WebCore::InspectorStyleSheet::ruleForId):
7510        (WebCore::InspectorStyleSheet::ruleIndexByStyle):
7511        (WebCore::InspectorStyleSheet::ensureText):
7512        (WebCore::InspectorStyleSheet::ensureSourceData):
7513        (WebCore::InspectorStyleSheet::ensureFlatRules):
7514        (WebCore::InspectorStyleSheet::revalidateStyle):
7515        (WebCore::InspectorStyleSheet::buildArrayForRuleList):
7516        (WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges):
7517        (WebCore::InspectorStyleSheet::collectFlatRules):
7518        * inspector/InspectorStyleSheet.h:
7519
75202010-11-22  Ilya Tikhonovsky  <loislo@chromium.org>
7521
7522        Reviewed by Pavel Feldman.
7523
7524        Web Inspector: dump inspector protocol messages into console.
7525        Sometimes I need to dump inspector messages into console.
7526        It'd be much simple to have this code in repository and
7527        enable protocol dumping just by a flag.
7528
7529        https://bugs.webkit.org/show_bug.cgi?id=49905
7530
7531        * inspector/CodeGeneratorInspector.pm:
7532        * inspector/front-end/WorkersSidebarPane.js:
7533        (WebInspector.WorkersSidebarPane.prototype.reset):
7534        * inspector/front-end/inspector.js:
7535        (WebInspector_syncDispatch):
7536
75372010-11-22  Andreas Kling  <kling@webkit.org>
7538
7539        Reviewed by Nikolas Zimmermann.
7540
7541        GraphicsContext: Make drawFocusRing() take a Path instead of a Vector<Path>
7542        https://bugs.webkit.org/show_bug.cgi?id=49840
7543
7544        This avoid copying a Path object when drawing focus rings.
7545
7546        * platform/graphics/GraphicsContext.h:
7547        * platform/graphics/cairo/GraphicsContextCairo.cpp:
7548        (WebCore::GraphicsContext::drawFocusRing):
7549        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
7550        (WebCore::GraphicsContext::drawFocusRing):
7551        * platform/graphics/mac/GraphicsContextMac.mm:
7552        (WebCore::GraphicsContext::drawFocusRing):
7553        * platform/graphics/qt/GraphicsContextQt.cpp:
7554        (WebCore::GraphicsContext::drawFocusRing):
7555        * platform/graphics/skia/GraphicsContextSkia.cpp:
7556        (WebCore::GraphicsContext::drawFocusRing):
7557        * platform/graphics/win/GraphicsContextCGWin.cpp:
7558        (WebCore::GraphicsContext::drawFocusRing):
7559        * platform/graphics/wince/GraphicsContextWinCE.cpp:
7560        (WebCore::GraphicsContext::drawFocusRing):
7561        * platform/graphics/wx/GraphicsContextWx.cpp:
7562        (WebCore::GraphicsContext::drawFocusRing):
7563        * rendering/RenderImage.h:
7564        * rendering/RenderImage.cpp:
7565        (WebCore::RenderImage::paint):
7566        (WebCore::RenderImage::paintFocusRing):
7567        Renamed from paintFocusRings since it only paints one ring.
7568
75692010-11-22  Renata Hodovan  <reni@webkit.org>
7570
7571        Reviewed by Andreas Kling.
7572
7573        Outside list bullets ignore text-align style.
7574        https://bugs.webkit.org/show-bug.cgi?id=15713
7575
7576        Fix the position of outside markers by setting its logicalLeft member. Embedded markers need special treatment.
7577        First, the total width of markers should be calculated. Subtracting it from logicalLeft we get the outermost bullet's
7578        position. As for the others, this sum should be decremented with the previous marker's width.
7579        In case of vertical markers the padding is unneeded.
7580
7581        Test: fast/lists/outSideListMarkers.html
7582
7583        * rendering/InlineFlowBox.cpp:
7584        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
7585        * rendering/RenderListItem.cpp:
7586        (WebCore::RenderListItem::positionListMarker):
7587
75882010-11-22  Yael Aharon  <yael.aharon@nokia.com>, Chang Shu  <chang.shu@nokia.com>
7589
7590        Reviewed by Antonio Gomes.
7591
7592        Spatial Navigation: issues with the node selection algorithm.
7593        https://bugs.webkit.org/show_bug.cgi?id=49382
7594
7595        Modify the Spatial Navigation algorithm, to better handle initial focus and
7596        navigation between frames.
7597        The new algorithm takes the rect of the focused node as the startingRect,
7598        instead of the node itself. That allows us to construct a virtual rect if
7599        there is no focused node, or if it is off the screen.
7600        The virtual rect is the edge of the container in the direction of the navigation.
7601
7602        With this patch, scrollable containers and frames will scroll regardless of weather
7603        they have focusable content. Users will be able to use arrow keys to view all the
7604        content of such a container. The only exception is if the container has style overflow:hidden. 
7605        We will not scroll in that case.
7606
7607        With this patch, we handle z-index and positioning so that if there are 2 overlapping focusable nodes,
7608        we do a hit test and only the node on top can get focus.
7609
7610        hasOffScreenRect() was modified so that it can check if a node will be off-screen even after we scrolled
7611        its parent container. We do not add the scrolling conditions for containers that have overflow:hidden
7612        and cannot scroll.
7613
7614        calculateScrollbarModesForLayout is used to decide if a frame can scroll or not. We cannot rely on
7615        the exsistance of the scrollbar, because it could be removed via the API, while the frame is still
7616        allowed to scroll.
7617
7618        * page/FocusController.cpp:
7619        (WebCore::updateFocusCandidateIfNeeded):
7620        (WebCore::FocusController::findFocusCandidateInContainer):
7621        (WebCore::FocusController::advanceFocusDirectionallyInContainer):
7622        (WebCore::FocusController::advanceFocusDirectionally):
7623        * page/FocusController.h:
7624        * page/FrameView.h:
7625        * page/SpatialNavigation.cpp:
7626        (WebCore::FocusCandidate::FocusCandidate):
7627        (WebCore::distanceDataForNode):
7628        (WebCore::alignmentForRects):
7629        (WebCore::areRectsMoreThanFullScreenApart):
7630        (WebCore::isRectInDirection):
7631        (WebCore::hasOffscreenRect):
7632        (WebCore::scrollInDirection):
7633        (WebCore::isScrollableContainerNode):
7634        (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection):
7635        (WebCore::canScrollInDirection):
7636        (WebCore::rectToAbsoluteCoordinates):
7637        (WebCore::nodeRectInAbsoluteCoordinates):
7638        (WebCore::frameRectInAbsoluteCoordinates):
7639        (WebCore::entryAndExitPointsForDirection):
7640        (WebCore::canBeScrolledIntoView):
7641        (WebCore::virtualRectForDirection):
7642        * page/SpatialNavigation.h:
7643
76442010-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
7645
7646        Reviewed by Dirk Schulze.
7647
7648        Fix various problems with the SVG*List code
7649        https://bugs.webkit.org/show_bug.cgi?id=49880
7650
7651        Write tests for SVGNumberList/SVGPointList/SVGStringList/SVGTransformList and extend SVGLengthList tests.
7652        SVG DOM <-> XML DOM synchronization is now tested for all these types, and works great. Unify the string format produced
7653        by the various valueAsString() functions for maximum compatibility with Firefox / Opera.
7654
7655        * Build a real transform string for SVGTransformList, instead of dumping the elements of the concatted matrix.
7656        * Add SVGStringList XML dom synchronization, only affects SVGTests requiredFeatures/requiredExtensions/systemLanguage.
7657        * Make all animVal properties readonly, tested by types-dom-07-f.svg (from SVG 1.1 2nd edition).
7658        * Enable StrictTypeChecking/RequiresAllArguments=Raise for all SVGList types.
7659
7660        Tests: svg/W3C-SVG-1.1-SE/types-dom-07-f.svg
7661               svg/dom/SVGNumberList-basics.xhtml
7662               svg/dom/SVGPointList-basics.xhtml
7663               svg/dom/SVGStringList-basics.xhtml
7664               svg/dom/SVGTransformList-basics.xhtml
7665
7666        * bindings/js/JSSVGLengthCustom.cpp:
7667        (WebCore::JSSVGLength::setValue): Throw NO_MODIFICATION_ALLOWED_ERR when the SVGPropertyTearOffs role is AnimValRole.
7668        (WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
7669        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
7670        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
7671        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
7672        * bindings/v8/custom/V8SVGLengthCustom.cpp:
7673        (WebCore::V8SVGLength::valueAccessorSetter): Ditto.
7674        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): Ditto.
7675        * svg/SVGAElement.cpp:
7676        (WebCore::SVGAElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7677        * svg/SVGAnimationElement.cpp:
7678        (WebCore::SVGAnimationElement::synchronizeProperty): Ditto.
7679        * svg/SVGCircleElement.cpp:
7680        (WebCore::SVGCircleElement::synchronizeProperty): Ditto.
7681        * svg/SVGClipPathElement.cpp:
7682        (WebCore::SVGClipPathElement::synchronizeProperty): Ditto.
7683        * svg/SVGCursorElement.cpp:
7684        (WebCore::SVGCursorElement::synchronizeProperty): Ditto.
7685        * svg/SVGDefsElement.cpp:
7686        (WebCore::SVGDefsElement::synchronizeProperty): Ditto.
7687        * svg/SVGEllipseElement.cpp:
7688        (WebCore::SVGEllipseElement::synchronizeProperty): Ditto.
7689        * svg/SVGForeignObjectElement.cpp:
7690        (WebCore::SVGForeignObjectElement::synchronizeProperty): Ditto.
7691        * svg/SVGGElement.cpp:
7692        (WebCore::SVGGElement::synchronizeProperty): Ditto.
7693        * svg/SVGImageElement.cpp:
7694        (WebCore::SVGImageElement::synchronizeProperty): Ditto.
7695        * svg/SVGLengthList.cpp:
7696        (WebCore::SVGLengthList::valueAsString): Use ' ' instead of ',' as seperator.
7697        * svg/SVGLengthList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
7698        * svg/SVGLineElement.cpp:
7699        (WebCore::SVGLineElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7700        * svg/SVGMaskElement.cpp:
7701        (WebCore::SVGMaskElement::synchronizeProperty): Ditto.
7702        * svg/SVGNumberList.cpp:
7703        (WebCore::SVGNumberList::valueAsString): Use ' ' instead of ',' as seperator.
7704        * svg/SVGNumberList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
7705        * svg/SVGPathElement.cpp:
7706        (WebCore::SVGPathElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7707        * svg/SVGPatternElement.cpp:
7708        (WebCore::SVGPatternElement::synchronizeProperty): Ditto.
7709        * svg/SVGPointList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
7710        * svg/SVGPolyElement.cpp:
7711        (WebCore::SVGPolyElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7712        * svg/SVGRectElement.cpp:
7713        (WebCore::SVGRectElement::synchronizeProperty): Ditto.
7714        * svg/SVGSVGElement.cpp:
7715        (WebCore::SVGSVGElement::synchronizeProperty): Ditto.
7716        * svg/SVGStringList.cpp:
7717        (WebCore::SVGStringList::valueAsString): Add valueAsString() implementation, necessary for SVG DOM <-> XML DOM synchronization.
7718        * svg/SVGStringList.h:
7719        * svg/SVGStringList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
7720        * svg/SVGSwitchElement.cpp:
7721        (WebCore::SVGSwitchElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7722        * svg/SVGTests.cpp: Rewrite, similar to SVGPolyElement, to synchronize the requiredFeatures/requiredExtension/systemLanguage SVGStringLists with their XML DOM attributes.
7723        (WebCore::SVGTests::SVGTests):
7724        (WebCore::SVGTests::isValid):
7725        (WebCore::SVGTests::parseMappedAttribute):
7726        (WebCore::SVGTests::isKnownAttribute):
7727        (WebCore::SVGTests::handleAttributeChange):
7728        (WebCore::SVGTests::synchronizeProperties): To be called by all classes inheriting from SVGTests, in their synchronizeProperty() methods.
7729        (WebCore::SVGTests::synchronizeRequiredFeatures):
7730        (WebCore::SVGTests::synchronizeRequiredExtensions):
7731        (WebCore::SVGTests::synchronizeSystemLanguage):
7732        (WebCore::SVGTests::requiredFeatures):
7733        (WebCore::SVGTests::requiredExtensions):
7734        (WebCore::SVGTests::systemLanguage):
7735        * svg/SVGTests.h:
7736        * svg/SVGTextContentElement.cpp:
7737        (WebCore::SVGTextContentElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7738        * svg/SVGTransform.cpp:
7739        (WebCore::SVGTransform::valueAsString): Added a proper way to serialize a SVGTransform into a String.
7740        * svg/SVGTransform.h:
7741        * svg/SVGTransformList.cpp:
7742        (WebCore::SVGTransformList::valueAsString): Rewrite, to build a real transform list string, instead of dumping the concatted matrix.
7743        * svg/SVGUseElement.cpp:
7744        (WebCore::SVGUseElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
7745        * svg/properties/SVGListProperty.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
7746        (WebCore::SVGListProperty::initializeValuesAndWrappers):
7747        (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
7748        (WebCore::SVGListProperty::replaceItemValues):
7749        (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
7750        (WebCore::SVGListProperty::removeItemValuesAndWrappers): Handle corner case, the item passed to removeItem() was the only on in the list, list is empty now, nothing to replace.
7751        (WebCore::SVGListProperty::appendItemValuesAndWrappers):
7752        (WebCore::SVGListProperty::role): Expose the role of this list property.
7753        * svg/properties/SVGPathSegListPropertyTearOff.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
7754        (WebCore::SVGPathSegListPropertyTearOff::initialize):
7755        (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
7756        (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
7757        (WebCore::SVGPathSegListPropertyTearOff::appendItem):
7758        * svg/properties/SVGProperty.h: Add new virtual SVGPropertyRole role() accessor.
7759        * svg/properties/SVGPropertyTearOff.h:
7760        (WebCore::SVGPropertyTearOff::create): Store the passed in SVGProperyRole, instead of ignoring it.
7761        (WebCore::SVGPropertyTearOff::role):
7762        (WebCore::SVGPropertyTearOff::SVGPropertyTearOff):
7763        * svg/properties/SVGStaticPropertyTearOff.h:
7764        (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Pass UndefinedRole as default role to SVGPropertyTearOff.
7765        * svg/properties/SVGStaticPropertyWithParentTearOff.h: Ditto.
7766        (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):
7767
77682010-11-22  Yuzo Fujishima  <yuzo@google.com>
7769
7770        Reviewed by Dan Bernstein.
7771
7772        Fix for Bug 49374 - Web Font specified with base64 data URI ending with EOT is not rendered.
7773        https://bugs.webkit.org/show_bug.cgi?id=49374
7774
7775        Test: fast/css/font-face-data-uri.html
7776
7777        * css/CSSFontFaceSrcValue.cpp:
7778        (WebCore::CSSFontFaceSrcValue::isSupportedFormat): Do not check "file
7779        extension" for data URI. For other URI, check against ".eot" rather
7780        than "eot".
7781
77822010-11-21  Patrick Gansterer  <paroga@webkit.org>
7783
7784        Reviewed by Csaba Osztrogonác.
7785
7786        Use WTF_ARRAY_LENGTH in WebCore directory
7787        https://bugs.webkit.org/show_bug.cgi?id=49882
7788
7789        * accessibility/AccessibilityObject.cpp:
7790        (WebCore::createARIARoleMap):
7791        * bindings/js/JSDOMWindowBase.cpp:
7792        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
7793        * bindings/scripts/CodeGeneratorV8.pm:
7794        * bindings/scripts/test/V8/V8TestObj.cpp:
7795        (WebCore::ConfigureV8TestObjTemplate):
7796        * css/CSSComputedStyleDeclaration.cpp:
7797        * css/CSSMutableStyleDeclaration.cpp:
7798        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
7799        * css/CSSParser.cpp:
7800        (WebCore::CSSParser::parseAnimationShorthand):
7801        (WebCore::CSSParser::parseTransitionShorthand):
7802        * css/CSSPropertyLonghand.cpp:
7803        (WebCore::initShorthandMap):
7804        * dom/ExceptionCode.cpp:
7805        (WebCore::getExceptionCodeDescription):
7806        * editing/ApplyStyleCommand.cpp:
7807        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
7808        * editing/EditingStyle.cpp:
7809        * editing/Editor.cpp:
7810        (WebCore::triStateOfStyle):
7811        * editing/EditorCommand.cpp:
7812        (WebCore::createCommandMap):
7813        * editing/MarkupAccumulator.cpp:
7814        (WebCore::appendCharactersReplacingEntities):
7815        * html/canvas/WebGLBuffer.cpp:
7816        (WebCore::WebGLBuffer::getCachedMaxIndex):
7817        (WebCore::WebGLBuffer::setCachedMaxIndex):
7818        * loader/FTPDirectoryParser.cpp:
7819        (WebCore::parseOneFTPLine):
7820        * mathml/RenderMathMLOperator.cpp:
7821        (WebCore::RenderMathMLOperator::updateFromElement):
7822        * page/animation/AnimationBase.cpp:
7823        (WebCore::addShorthandProperties):
7824        * rendering/RenderTextControl.cpp:
7825        (WebCore::RenderTextControl::hasValidAvgCharWidth):
7826        * rendering/break_lines.cpp:
7827        * svg/SVGTransformable.cpp:
7828        (WebCore::parseAndSkipType):
7829        * svg/SVGViewSpec.cpp:
7830        (WebCore::SVGViewSpec::parseViewSpec):
7831        * svg/SVGZoomAndPan.cpp:
7832        (WebCore::SVGZoomAndPan::parseZoomAndPan):
7833        * xml/XPathFunctions.cpp:
7834        (WebCore::XPath::createFunctionMap):
7835
78362010-11-21  Mario Sanchez Prada  <msanchez@igalia.com>
7837
7838        Reviewed by Chris Fleizach.
7839
7840        [GTK] Implement ROLE_COMBO_BOX
7841        https://bugs.webkit.org/show_bug.cgi?id=25678
7842
7843        Implement the remaining bits for combo boxes.
7844
7845        This patch finishes the implementation, from the point of view of
7846        the Atk library, of those objects exposed to ATK as combo boxes,
7847        and their related elements (menus and menu items). It therefore
7848        implements the proper interfaces for each type of object related
7849        to combo boxes (AtkSelection for the combo box, AtkText for every
7850        menu item and AtkAction for the combo box, the menu and the menu
7851        items), takes care of emitting the proper signals when focus or a
7852        given a selection changes and adds a new unit test to check all
7853        this new stuff.
7854
7855        Make possible to ask an AccessibleMenuListOption for a sensible
7856        string representation, so far only available through the private
7857        and MSAA related method nameForMSAA. Just moved the implementation
7858        of that method to an overriden version of stringValue(), which is
7859        platform independent, and called that from nameForMSAA().
7860
7861        * accessibility/AccessibilityMenuListOption.h:
7862        * accessibility/AccessibilityMenuListOption.cpp:
7863        (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
7864        stringValue(), which holds from now on that used to be here.
7865        (WebCore::AccessibilityMenuListOption::stringValue): New, override
7866        of AccessibilityObject::stringValue() to return a proper string.
7867
7868        Emit the missing signals when a selection is made.
7869
7870        * accessibility/gtk/AXObjectCacheAtk.cpp:
7871        (WebCore::AXObjectCache::postPlatformNotification): Emit the usual
7872        'focus' signals when a selection is made over the combo box.
7873
7874        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
7875        (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
7876        Atk states are added to the state set when needed.
7877        (listObjectForSelection): New, returns the proper list object (the
7878        one holding the list of available options as its children) for an
7879        specific AtkObject implementing AtkSelection. This is needed
7880        because sometimes the selectable options are not directly children
7881        of the AtkSelection object (i.e. a combo box has a 'menu' object
7882        as its only child of it, holding the list of options as children).
7883        (optionFromList): Use listObjectForSelection() to get the actual
7884        object holding the list of children as the available options.
7885        (optionFromSelection): Add support for combo boxes.
7886        (webkit_accessible_selection_add_selection): Ditto.
7887        (webkit_accessible_selection_clear_selection): Ditto.
7888        (webkit_accessible_selection_get_selection_count): Ditto.
7889        (webkit_accessible_selection_is_child_selected): Ditto.
7890        (webkit_accessible_selection_remove_selection): Ditto.
7891        (webkit_accessible_text_get_text): Makes sure stringValue() is
7892        considered to get the result substring when it was already
7893        considered when checking the maximum text length for the object.
7894        (getInterfaceMaskFromObject): Make sure the AtkSelection interface
7895        is implemented for the combo boxes, that the AtkText is
7896        implemented for the menu items and that the AtkAction interface is
7897        now implemented for every object (WebCore will decide what to do).
7898
7899        Avoid a segfault crash when using this from unit tests.
7900
7901        * platform/gtk/PopupMenuGtk.cpp:
7902        (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
7903        before calling gdk_window_get_origin() over it.
7904
79052010-11-21  Patrick Gansterer  <paroga@webkit.org>
7906
7907        Reviewed by Csaba Osztrogonác.
7908
7909        Use WTF_ARRAY_LENGTH in WebCore/platform directory
7910        https://bugs.webkit.org/show_bug.cgi?id=49881
7911
7912        * platform/KURL.cpp:
7913        (WebCore::portAllowed):
7914        * platform/KURLGoogle.cpp:
7915        (WebCore::portAllowed):
7916        * platform/MIMETypeRegistry.cpp:
7917        (WebCore::initializeSupportedImageMIMETypes):
7918        (WebCore::initializeSupportedJavaScriptMIMETypes):
7919        (WebCore::initializeSupportedNonImageMimeTypes):
7920        * platform/UUID.cpp:
7921        (WebCore::createCanonicalUUIDString):
7922        * platform/efl/RenderThemeEfl.cpp:
7923        (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
7924        * platform/graphics/GraphicsTypes.cpp:
7925        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
7926        (WebCore::FontCodepage::if):
7927        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
7928        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
7929        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
7930        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
7931        (WebCore::disableComponentsOnce):
7932        * platform/graphics/mac/SimpleFontDataATSUI.mm:
7933        (WebCore::SimpleFontData::checkShapesArabic):
7934        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
7935        (WebCore::SimpleFontData::getCFStringAttributes):
7936        * platform/graphics/win/GraphicsContextCGWin.cpp:
7937        (WebCore::GraphicsContext::drawLineForTextChecking):
7938        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
7939        (WebCore::disableComponentsOnce):
7940        * platform/graphics/win/QTMovie.cpp:
7941        (QTMovie::load):
7942        * platform/network/cf/SocketStreamHandleCFNet.cpp:
7943        (WebCore::SocketStreamHandle::createStreams):
7944        * platform/text/TextEncodingRegistry.cpp:
7945        (WebCore::pruneBlacklistedCodecs):
7946        * platform/text/transcoder/FontTranscoder.cpp:
7947        (WebCore::FontTranscoder::FontTranscoder):
7948
79492010-11-20  Andreas Kling  <kling@webkit.org>
7950
7951        Rubber-stamped by Antonio Gomes.
7952
7953        [Qt] Fix spelling error (isEmtpyValue -> isEmptyValue)
7954
7955        * platform/graphics/qt/FontPlatformDataQt.cpp:
7956        (WebCore::isEmptyValue):
7957        (WebCore::FontPlatformData::FontPlatformData):
7958
79592010-11-20  Andreas Kling  <kling@webkit.org>
7960
7961        Reviewed by Antonio Gomes.
7962
7963        [Qt] Limit the size of image preview "cursor" when dragging
7964        https://bugs.webkit.org/show_bug.cgi?id=49872
7965
7966        Respect DragController::maxDragImageSize() (currently 400x400.)
7967
7968        * platform/qt/DragImageQt.cpp:
7969        (WebCore::dragImageSize):
7970        (WebCore::scaleDragImage):
7971
79722010-11-20  Andreas Kling  <kling@webkit.org>
7973
7974        Reviewed by Antonio Gomes.
7975
7976        [Qt] Dragging a selection should use a rendering of the selection as "cursor" for the drag
7977        https://bugs.webkit.org/show_bug.cgi?id=49870
7978
7979        Implement Frame::dragImageForSelection() and the necessary DragImage helpers for Qt.
7980
7981        * page/qt/FrameQt.cpp:
7982        (WebCore::Frame::dragImageForSelection):
7983        * platform/qt/DragImageQt.cpp:
7984        (WebCore::deleteDragImage):
7985        (WebCore::createDragImageFromImage):
7986
79872010-11-20  Xan Lopez  <xlopez@igalia.com>
7988
7989        Reviewed by Martin Robinson.
7990
7991        [GTK] Memory managament for DOM GObject wrappers
7992        https://bugs.webkit.org/show_bug.cgi?id=40302
7993
7994        Initial attempt to have a kind of poor man's garbage collection
7995        for GObject DOM objects. We tie the object's lifecycle to their
7996        parent Frame and/or its document; that is, all objects will be
7997        collected when their parent frame is destroyed or when that frame
7998        transitions to a new document. Manual management (calling
7999        g_object_unref on them) is also allowed, and is required for
8000        objects that are not in the DOM tree (eg NodeLists).
8001
8002        * GNUmakefile.am:
8003        * bindings/gobject/DOMObjectCache.cpp: Added.
8004        * bindings/gobject/DOMObjectCache.h: Copied from WebCore/bindings/gobject/WebKitDOMBinding.h.
8005        * bindings/gobject/WebKitDOMBinding.cpp: Remove the old cache code.
8006        * bindings/gobject/WebKitDOMBinding.h: ditto.
8007        * bindings/scripts/CodeGeneratorGObject.pm: include the new DOMObjectCache header.
8008
80092010-11-20  Helder Correia  <helder@sencha.com>
8010
8011        Reviewed by Andreas Kling.
8012
8013        [Qt] Path stroke lacks blur shadow support
8014        https://bugs.webkit.org/show_bug.cgi?id=49490
8015
8016        Add blur shadow support to strokePath().
8017
8018        Test: fast/canvas/canvas-strokePath-shadow.html
8019
8020        * platform/graphics/qt/GraphicsContextQt.cpp:
8021        (WebCore::GraphicsContext::strokePath):
8022
80232010-11-20  Kwang Yul Seo  <skyul@company100.net>
8024
8025        Reviewed by David Kilzer.
8026
8027        [BREWMP] Replace HTONL, HTONS, NTOHL and NTOHS with byte order conversion functions from AEEstd.h
8028        https://bugs.webkit.org/show_bug.cgi?id=49518
8029
8030        HTONL, HTONS, NTOHL and NTOHS macros are prohibited in Mod1. Use byte order conversion functions provided by AEEstd.h.
8031
8032        * platform/graphics/WOFFFileFormat.cpp:
8033
80342010-11-20  Kwang Yul Seo  <skyul@company100.net>
8035
8036        Reviewed by David Kilzer.
8037
8038        [BREWMP] Use std_wstrlen instead of WSTRLEN
8039        https://bugs.webkit.org/show_bug.cgi?id=49516
8040
8041        WSTRLEN is prohibited in Mod1. Use std_wstrlen from AEEstd.h instead.
8042
8043        * platform/text/brew/StringBrew.cpp:
8044        (WTF::String::String):
8045
80462010-11-20  Patrick Gansterer  <paroga@webkit.org>
8047
8048        Reviewed by David Kilzer.
8049
8050        [WINCE] Implement textBreakLast and textBreakPrevious
8051        https://bugs.webkit.org/show_bug.cgi?id=49552
8052
8053        This allows us to use TextBoundaries.cpp and remove TextBoundariesWinCE.cpp.
8054        Also unify the different TextBreakIterator::first() implementations.
8055
8056        * platform/text/wince/TextBoundariesWinCE.cpp: Removed.
8057        * platform/text/wince/TextBreakIteratorWinCE.cpp:
8058        (WebCore::TextBreakIterator::first):
8059        (WebCore::TextBreakIterator::last):
8060        (WebCore::textBreakLast):
8061        (WebCore::textBreakPrevious):
8062
80632010-11-20  Andreas Kling  <kling@webkit.org>
8064
8065        Reviewed by David Kilzer.
8066
8067        Path: Remove unused method swap()
8068        https://bugs.webkit.org/show_bug.cgi?id=49853
8069
8070        * platform/graphics/Path.h:
8071
80722010-11-20  David Kilzer  <ddkilzer@apple.com>
8073
8074        <http://webkit.org/b/49867> MediaPlayerPrivateQTKit::setPreservesPitch(bool) leaks an NSDictionary
8075
8076        Reviewed by Dan Bernstein.
8077
8078        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
8079        (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch): Use
8080        RetainPtr<NSDictionary> for movieAttributes.
8081
80822010-11-20  Patrick Gansterer  <paroga@webkit.org>
8083
8084        Reviewed by Andreas Kling.
8085
8086        Use String::fromUTF8 instead of UTF8Encoding().decode
8087        in the libxml XMLDocumentParser
8088        https://bugs.webkit.org/show_bug.cgi?id=45488
8089
8090        * dom/XMLDocumentParser.cpp:
8091        (WebCore::toString):
8092
80932010-11-20  Renata Hodovan  <reni@inf.u-szeged.hu>
8094
8095        Reviewed by Dirk Schulze.
8096
8097        FilterPrimitives should have a pointer to its Filter object.
8098        https://bugs.webkit.org/show_bug.cgi?id=49863
8099
8100        FilterPrimitives should have a renderer, and they need a member pointer to their Filter objects for Layout() calls.
8101        This patch adds this member to FilterEffect.
8102
8103        No new test is needed because these modifications are covered by all of SVG Filter tests.
8104
8105        * platform/graphics/filters/FEBlend.cpp:
8106        (WebCore::FEBlend::FEBlend):
8107        (WebCore::FEBlend::create):
8108        (WebCore::FEBlend::apply):
8109        * platform/graphics/filters/FEBlend.h:
8110        * platform/graphics/filters/FEColorMatrix.cpp:
8111        (WebCore::FEColorMatrix::FEColorMatrix):
8112        (WebCore::FEColorMatrix::create):
8113        (WebCore::FEColorMatrix::apply):
8114        * platform/graphics/filters/FEColorMatrix.h:
8115        * platform/graphics/filters/FEComponentTransfer.cpp:
8116        (WebCore::FEComponentTransfer::FEComponentTransfer):
8117        (WebCore::FEComponentTransfer::create):
8118        (WebCore::FEComponentTransfer::apply):
8119        * platform/graphics/filters/FEComponentTransfer.h:
8120        * platform/graphics/filters/FEComposite.cpp:
8121        (WebCore::FEComposite::FEComposite):
8122        (WebCore::FEComposite::create):
8123        (WebCore::FEComposite::determineAbsolutePaintRect):
8124        (WebCore::FEComposite::apply):
8125        * platform/graphics/filters/FEComposite.h:
8126        * platform/graphics/filters/FEConvolveMatrix.cpp:
8127        (WebCore::FEConvolveMatrix::FEConvolveMatrix):
8128        (WebCore::FEConvolveMatrix::create):
8129        (WebCore::FEConvolveMatrix::apply):
8130        * platform/graphics/filters/FEConvolveMatrix.h:
8131        (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
8132        * platform/graphics/filters/FEDiffuseLighting.cpp:
8133        (WebCore::FEDiffuseLighting::FEDiffuseLighting):
8134        (WebCore::FEDiffuseLighting::create):
8135        * platform/graphics/filters/FEDiffuseLighting.h:
8136        * platform/graphics/filters/FEDisplacementMap.cpp:
8137        (WebCore::FEDisplacementMap::FEDisplacementMap):
8138        (WebCore::FEDisplacementMap::create):
8139        (WebCore::FEDisplacementMap::apply):
8140        * platform/graphics/filters/FEDisplacementMap.h:
8141        (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
8142        * platform/graphics/filters/FEFlood.cpp:
8143        (WebCore::FEFlood::FEFlood):
8144        (WebCore::FEFlood::create):
8145        (WebCore::FEFlood::apply):
8146        * platform/graphics/filters/FEFlood.h:
8147        (WebCore::FEFlood::determineAbsolutePaintRect):
8148        * platform/graphics/filters/FEGaussianBlur.cpp:
8149        (WebCore::FEGaussianBlur::FEGaussianBlur):
8150        (WebCore::FEGaussianBlur::create):
8151        (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
8152        (WebCore::FEGaussianBlur::apply):
8153        * platform/graphics/filters/FEGaussianBlur.h:
8154        * platform/graphics/filters/FELighting.cpp:
8155        (WebCore::FELighting::FELighting):
8156        (WebCore::FELighting::apply):
8157        * platform/graphics/filters/FELighting.h:
8158        (WebCore::FELighting::determineAbsolutePaintRect):
8159        * platform/graphics/filters/FEMerge.cpp:
8160        (WebCore::FEMerge::FEMerge):
8161        (WebCore::FEMerge::create):
8162        (WebCore::FEMerge::apply):
8163        * platform/graphics/filters/FEMerge.h:
8164        * platform/graphics/filters/FEMorphology.cpp:
8165        (WebCore::FEMorphology::FEMorphology):
8166        (WebCore::FEMorphology::create):
8167        (WebCore::FEMorphology::determineAbsolutePaintRect):
8168        (WebCore::FEMorphology::apply):
8169        * platform/graphics/filters/FEMorphology.h:
8170        * platform/graphics/filters/FEOffset.cpp:
8171        (WebCore::FEOffset::FEOffset):
8172        (WebCore::FEOffset::create):
8173        (WebCore::FEOffset::determineAbsolutePaintRect):
8174        (WebCore::FEOffset::apply):
8175        * platform/graphics/filters/FEOffset.h:
8176        * platform/graphics/filters/FESpecularLighting.cpp:
8177        (WebCore::FESpecularLighting::FESpecularLighting):
8178        (WebCore::FESpecularLighting::create):
8179        * platform/graphics/filters/FESpecularLighting.h:
8180        * platform/graphics/filters/FETile.cpp:
8181        (WebCore::FETile::FETile):
8182        (WebCore::FETile::create):
8183        (WebCore::FETile::apply):
8184        * platform/graphics/filters/FETile.h:
8185        (WebCore::FETile::determineAbsolutePaintRect):
8186        * platform/graphics/filters/FETurbulence.cpp:
8187        (WebCore::FETurbulence::FETurbulence):
8188        (WebCore::FETurbulence::create):
8189        (WebCore::FETurbulence::apply):
8190        * platform/graphics/filters/FETurbulence.h:
8191        (WebCore::FETurbulence::determineAbsolutePaintRect):
8192        * platform/graphics/filters/FilterEffect.cpp:
8193        (WebCore::FilterEffect::FilterEffect):
8194        (WebCore::FilterEffect::determineAbsolutePaintRect):
8195        (WebCore::FilterEffect::effectContext):
8196        * platform/graphics/filters/FilterEffect.h:
8197        (WebCore::FilterEffect::filter):
8198        * platform/graphics/filters/SourceAlpha.cpp:
8199        (WebCore::SourceAlpha::create):
8200        (WebCore::SourceAlpha::determineAbsolutePaintRect):
8201        (WebCore::SourceAlpha::apply):
8202        * platform/graphics/filters/SourceAlpha.h:
8203        (WebCore::SourceAlpha::SourceAlpha):
8204        * platform/graphics/filters/SourceGraphic.cpp:
8205        (WebCore::SourceGraphic::create):
8206        (WebCore::SourceGraphic::determineAbsolutePaintRect):
8207        (WebCore::SourceGraphic::apply):
8208        * platform/graphics/filters/SourceGraphic.h:
8209        (WebCore::SourceGraphic::SourceGraphic):
8210        * rendering/RenderSVGResourceFilter.cpp:
8211        (WebCore::RenderSVGResourceFilter::buildPrimitives):
8212        (WebCore::RenderSVGResourceFilter::applyResource):
8213        (WebCore::RenderSVGResourceFilter::postApplyResource):
8214        * rendering/RenderSVGResourceFilter.h:
8215        * rendering/SVGRenderTreeAsText.cpp:
8216        (WebCore::writeSVGResourceContainer):
8217        * svg/SVGFEBlendElement.cpp:
8218        (WebCore::SVGFEBlendElement::build):
8219        * svg/SVGFEBlendElement.h:
8220        * svg/SVGFEColorMatrixElement.cpp:
8221        (WebCore::SVGFEColorMatrixElement::build):
8222        * svg/SVGFEColorMatrixElement.h:
8223        * svg/SVGFEComponentTransferElement.cpp:
8224        (WebCore::SVGFEComponentTransferElement::build):
8225        * svg/SVGFEComponentTransferElement.h:
8226        * svg/SVGFECompositeElement.cpp:
8227        (WebCore::SVGFECompositeElement::build):
8228        * svg/SVGFECompositeElement.h:
8229        * svg/SVGFEConvolveMatrixElement.cpp:
8230        (WebCore::SVGFEConvolveMatrixElement::build):
8231        * svg/SVGFEConvolveMatrixElement.h:
8232        * svg/SVGFEDiffuseLightingElement.cpp:
8233        (WebCore::SVGFEDiffuseLightingElement::build):
8234        * svg/SVGFEDiffuseLightingElement.h:
8235        * svg/SVGFEDisplacementMapElement.cpp:
8236        (WebCore::SVGFEDisplacementMapElement::build):
8237        * svg/SVGFEDisplacementMapElement.h:
8238        * svg/SVGFEFloodElement.cpp:
8239        (WebCore::SVGFEFloodElement::build):
8240        * svg/SVGFEFloodElement.h:
8241        * svg/SVGFEGaussianBlurElement.cpp:
8242        (WebCore::SVGFEGaussianBlurElement::build):
8243        * svg/SVGFEGaussianBlurElement.h:
8244        * svg/SVGFEImageElement.cpp:
8245        (WebCore::SVGFEImageElement::build):
8246        * svg/SVGFEImageElement.h:
8247        * svg/SVGFEMergeElement.cpp:
8248        (WebCore::SVGFEMergeElement::build):
8249        * svg/SVGFEMergeElement.h:
8250        * svg/SVGFEMorphologyElement.cpp:
8251        (WebCore::SVGFEMorphologyElement::build):
8252        * svg/SVGFEMorphologyElement.h:
8253        * svg/SVGFEOffsetElement.cpp:
8254        (WebCore::SVGFEOffsetElement::build):
8255        * svg/SVGFEOffsetElement.h:
8256        * svg/SVGFESpecularLightingElement.cpp:
8257        (WebCore::SVGFESpecularLightingElement::build):
8258        * svg/SVGFESpecularLightingElement.h:
8259        * svg/SVGFETileElement.cpp:
8260        (WebCore::SVGFETileElement::build):
8261        * svg/SVGFETileElement.h:
8262        * svg/SVGFETurbulenceElement.cpp:
8263        (WebCore::SVGFETurbulenceElement::build):
8264        * svg/SVGFETurbulenceElement.h:
8265        * svg/SVGFilterPrimitiveStandardAttributes.h:
8266        * svg/graphics/filters/SVGFEImage.cpp:
8267        (WebCore::FEImage::FEImage):
8268        (WebCore::FEImage::create):
8269        (WebCore::FEImage::determineAbsolutePaintRect):
8270        (WebCore::FEImage::apply):
8271        * svg/graphics/filters/SVGFEImage.h:
8272        * svg/graphics/filters/SVGFilterBuilder.cpp:
8273        (WebCore::SVGFilterBuilder::SVGFilterBuilder):
8274        * svg/graphics/filters/SVGFilterBuilder.h:
8275        (WebCore::SVGFilterBuilder::create):
8276
82772010-11-20  Helder Correia  <helder@sencha.com>
8278
8279        Reviewed by Andreas Kling.
8280
8281        [Qt] GraphicsContext::strokeArc() is not necessary any more
8282        https://bugs.webkit.org/show_bug.cgi?id=49859
8283
8284        Remove strokeArc() from the Qt port.
8285
8286        No test is needed.
8287
8288        * platform/graphics/qt/GraphicsContextQt.cpp:
8289
82902010-11-20  Helder Correia  <helder@sencha.com>
8291
8292        Reviewed by Andreas Kling.
8293
8294        [Qt] Path fill lacks blur shadow support
8295        https://bugs.webkit.org/show_bug.cgi?id=49491
8296
8297        Add blur shadow support to fillPath().
8298
8299        Test: fast/canvas/canvas-fillPath-shadow.html
8300
8301        * platform/graphics/qt/GraphicsContextQt.cpp:
8302        (WebCore::GraphicsContext::fillPath):
8303
83042010-11-19  W. James MacLean  <wjmaclean@chromium.org>
8305
8306        Reviewed by James Robinson.
8307
8308        Scaled Resized images are blurred when sent to Skia
8309        https://bugs.webkit.org/show_bug.cgi?id=42370
8310
8311        This patch modifies ImageSkia.cpp to fix the calculation of resampled
8312        bitmap sizes so as to include the transform matrix of the canvas.
8313        Includes a new test to catch a regression that occured the first time
8314        this patch was applied.
8315
8316        Tests: svg/custom/image-rescale-scroll.html
8317               svg/custom/image-rescale.svg
8318
8319        * platform/graphics/skia/ImageSkia.cpp:
8320        (WebCore::computeResamplingMode):
8321        (WebCore::drawResampledBitmap):
8322
83232010-11-19  Jia Pu  <jpu@apple.com>
8324
8325        Reviewed by Dan Bernstein.
8326
8327        Regression: contraction is considered misspelling.
8328        https://bugs.webkit.org/show_bug.cgi?id=49423
8329        <rdar://problem/8654206>
8330
8331        Test: platform/mac/editing/spelling/autocorrection-contraction.html
8332              manual-tests/autocorrection/autocorrection-contraction.html
8333
8334        * editing/Editor.cpp:
8335        (WebCore::isAmbiguousBoundaryCharacter): Moved function to the top of the file so that it can
8336          be used by all other functions in the file.
8337        (WebCore::Editor::markMisspellingsAfterTypingToWord): Renamed markMisspellingsAfterTypingToPosition()
8338          to improve readability, and to pass in additional argument. Before we apply pending
8339          autocorrection, we check to see if currently typed character makes current word a partial
8340          contraction, for instance "wouldn'". If that's the case, we would not apply the pending
8341          correction.
8342        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Make sure currently typed word
8343          is not a partial contraction, such as "wouldn'", before mark it as misspelled. Also update
8344          the location of ambiguous boundary if other replacements have changed the length of the
8345          paragraph.
8346        * editing/Editor.h:
8347        * editing/TypingCommand.cpp:
8348        (WebCore::TypingCommand::markMisspellingsAfterTyping): Adopt renamed function.
8349        * manual-tests/autocorrection/autocorrection-contraction.html: Added.
8350
83512010-11-19  Andreas Kling  <kling@webkit.org>
8352
8353        Reviewed by Antonio Gomes.
8354
8355        ScrollView: Make delegatesScrolling() and avoidScrollbarCreation() const.
8356        https://bugs.webkit.org/show_bug.cgi?id=49854
8357
8358        * page/FrameView.cpp:
8359        (WebCore::FrameView::delegatesScrolling):
8360        (WebCore::FrameView::avoidScrollbarCreation):
8361        * page/FrameView.h:
8362        * platform/ScrollView.h:
8363        (WebCore::ScrollView::delegatesScrolling):
8364        (WebCore::ScrollView::avoidScrollbarCreation):
8365
83662010-11-19  Pavel Podivilov  <podivilov@chromium.org>
8367
8368        Reviewed by Yury Semikhatsky.
8369
8370        Web Inspector: scripts panel should be shown before execution line is scrolled into view.
8371        https://bugs.webkit.org/show_bug.cgi?id=49792
8372
8373        * inspector/front-end/ScriptsPanel.js:
8374        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
8375
83762010-11-19  James Simonsen  <simonjam@chromium.org>
8377
8378        Reviewed by Tony Chang.
8379
8380        [chromium] Fix whitespace character handling in complex text on linux
8381        https://bugs.webkit.org/show_bug.cgi?id=49771
8382
8383        * platform/graphics/SimpleFontData.h:
8384        (WebCore::SimpleFontData::isZeroWidthSpaceGlyph): Added.
8385        (WebCore::SimpleFontData::boundsForGlyph): Use isZeroWidthSpaceGlyph().
8386        (WebCore::SimpleFontData::widthForGlyph): Use isZeroWidthSpaceGlyph().
8387        * platform/graphics/chromium/FontLinux.cpp:
8388        (WebCore::TextRunWalker::nextScriptRun): Cache currently used font data.
8389        (WebCore::TextRunWalker::setGlyphXPositions): Skip zero width spaces.
8390        (WebCore::TextRunWalker::normalizeSpacesAndMirrorChars): Normalize zero width spaces.
8391        (WebCore::TextRunWalker::getNormalizedTextRun):
8392
83932010-11-19  Steve Falkenburg  <sfalken@apple.com>
8394
8395        Reviewed by Adam Roben.
8396
8397        Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files
8398        https://bugs.webkit.org/show_bug.cgi?id=49819
8399
8400        * WebCore.vcproj/QTMovieWin.vcproj:
8401        * WebCore.vcproj/WebCore.vcproj:
8402        * WebCore.vcproj/WebCoreGenerated.vcproj:
8403
84042010-11-19  Brady Eidson  <beidson@apple.com>
8405
8406        Reviewed by Darin Adler.
8407
8408        <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
8409        Add WebKit2 API relevant to customization of context menus
8410
8411        * WebCore.exp.in:
8412
84132010-11-19  Michael Saboff  <msaboff@apple.com>
8414
8415        Reviewed by Sam Weinig.
8416
8417        Removed import of DOMSVGAnimatedPathData.h to fix build.
8418
8419        * bindings/objc/DOMSVG.h:
8420
84212010-11-19  Avi Drissman  <avi@google.com>
8422
8423        Reviewed by Antonio Gomes.
8424
8425        Complete support for Unix editing mode
8426        https://bugs.webkit.org/show_bug.cgi?id=49757
8427
8428        * page/Settings.cpp:
8429        (WebCore::Settings::Settings):
8430        * page/Settings.h:
8431
84322010-11-19  Nate Chapin  <japhet@chromium.org>
8433
8434        Reviewed by Alexey Proskuryakov.
8435
8436        Remove requests from ResourceLoadScheduler's queue before
8437        actually starting them.  We're holding a RefPtr anyway, and
8438        the load might be terminated and removed from the queue synchronously.
8439        https://bugs.webkit.org/show_bug.cgi?id=49693
8440
8441        Test: fast/loader/subresource-willSendRequest-null.html
8442
8443        * loader/ResourceLoadScheduler.cpp:
8444        (WebCore::ResourceLoadScheduler::servePendingRequests):
8445
84462010-11-18  Zhenyao Mo  <zmo@google.com>
8447
8448        Reviewed by Kenneth Russell.
8449
8450        Make sure is* return false if the name is never bound
8451        https://bugs.webkit.org/show_bug.cgi?id=49767
8452
8453        * html/canvas/WebGLBuffer.h: Add function to check whether the buffer has been bound before.
8454        (WebCore::WebGLBuffer::hasEverBeenBound):
8455        * html/canvas/WebGLFramebuffer.cpp: Ditto.
8456        (WebCore::WebGLFramebuffer::WebGLFramebuffer):
8457        * html/canvas/WebGLFramebuffer.h: Ditto.
8458        (WebCore::WebGLFramebuffer::hasEverBeenBound):
8459        (WebCore::WebGLFramebuffer::setBound):
8460        * html/canvas/WebGLRenderbuffer.cpp: Ditto.
8461        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
8462        * html/canvas/WebGLRenderbuffer.h: Ditto.
8463        (WebCore::WebGLRenderbuffer::hasEverBeenBound):
8464        (WebCore::WebGLRenderbuffer::setBound):
8465        * html/canvas/WebGLRenderingContext.cpp:
8466        (WebCore::WebGLRenderingContext::bindFramebuffer): Set bound status to true.
8467        (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
8468        (WebCore::WebGLRenderingContext::isBuffer): Return false if it's never bound.
8469        (WebCore::WebGLRenderingContext::isFramebuffer): Ditto.
8470        (WebCore::WebGLRenderingContext::isRenderbuffer): Ditto.
8471        (WebCore::WebGLRenderingContext::isTexture): Ditto.
8472        * html/canvas/WebGLTexture.h: Add function to check whether the texture has been bound before.
8473        (WebCore::WebGLTexture::hasEverBeenBound):
8474
84752010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
8476
8477        Reviewed by Kenneth Rohde Christiansen.
8478
8479        [Qt] mask-box-image renders wrong in certain conditions
8480        https://bugs.webkit.org/show_bug.cgi?id=43476
8481
8482        Qt does not follow the same convention as the other port
8483        when rendering a pixmap with null width of height. When one
8484        of those dimension is null, we should ignore the painting call
8485        to behave like the other ports.
8486
8487        * platform/graphics/qt/ImageQt.cpp:
8488        (WebCore::Image::drawPattern):
8489
84902010-11-18  Zhenyao Mo  <zmo@google.com>
8491
8492        Reviewed by Kenneth Russell.
8493
8494        GraphicsContext3D::reshape is clearing using current clear color instead of transparent
8495        https://bugs.webkit.org/show_bug.cgi?id=44064
8496
8497        * platform/graphics/gpu/DrawingBuffer.cpp:
8498        (WebCore::DrawingBuffer::reset): Use 0 as clear values.
8499        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
8500        (WebCore::GraphicsContext3D::reshape): Ditto.
8501
85022010-11-19  Chris Rogers  <crogers@google.com>
8503
8504        Reviewed by Darin Adler.
8505
8506        AudioContext should not include "HTMLNames.h"
8507        https://bugs.webkit.org/show_bug.cgi?id=49680
8508
8509        No new tests since audio API is not yet implemented.
8510
8511        * webaudio/AudioContext.cpp:
8512
85132010-11-19  Steve Falkenburg  <sfalken@apple.com>
8514
8515        Reviewed by Darin Adler.
8516
8517        Normalize Cairo/CFLite project/solution configuration names
8518        https://bugs.webkit.org/show_bug.cgi?id=49818
8519
8520        * WebCore.vcproj/WebCore.vcproj:
8521        * WebCore.vcproj/WebCoreGenerated.vcproj:
8522
85232010-11-19  Daniel Bates  <dbates@rim.com>
8524
8525        Reviewed by Antonio Gomes.
8526
8527        Replace null checks of newParent in Frame::transferChildFrameToNewDocument() with ASSERT
8528        https://bugs.webkit.org/show_bug.cgi?id=49489
8529
8530        Substitute ASSERT(newParent) for null-checks for newParent in
8531        Frame::transferChildFrameToNewDocument() since newParent is
8532        never null.
8533
8534        When Frame::transferChildFrameToNewDocument() is called the child
8535        frame's owner element has already been transferred to the new
8536        document D and D is attached (i.e. has a frame).
8537
8538        * page/Frame.cpp:
8539        (WebCore::Frame::transferChildFrameToNewDocument):
8540
85412010-11-19  Anders Carlsson  <andersca@apple.com>
8542
8543        Reviewed by Sam Weinig.
8544
8545        Add SandboxExtension abstraction and use it for the injected bundle extension
8546        https://bugs.webkit.org/show_bug.cgi?id=49817
8547
8548        Export fileSystemRepresentation symbol needed by WebKit2.
8549
8550        * WebCore.exp.in:
8551
85522010-11-19  Steve Falkenburg  <sfalken@apple.com>
8553
8554        Windows build fix. Remove leftover Debug_Internal use.
8555
8556        * WebCore.vcproj/WebCore.vcproj:
8557
85582010-11-18  Steve Falkenburg  <sfalken@apple.com>
8559
8560        Reviewed by Adam Roben.
8561
8562        Windows vcproj configuration names should be normalized across projects
8563        https://bugs.webkit.org/show_bug.cgi?id=49776
8564
8565        * WebCore.vcproj/WebCore.sln:
8566        * WebCore.vcproj/WebCore.submit.sln:
8567        * WebCore.vcproj/WebCoreGenerated.vcproj:
8568        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added.
8569        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added.
8570
85712010-11-19  James Simonsen  <simonjam@chromium.org>
8572
8573        Reviewed by Darin Fisher.
8574
8575        [Web Timing] Add unloadEventStart
8576        https://bugs.webkit.org/show_bug.cgi?id=49101
8577
8578        * loader/DocumentLoadTiming.h:
8579        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
8580        * loader/FrameLoader.cpp:
8581        (WebCore::FrameLoader::stopLoading): Use dispatchTimedEvent().
8582        * page/DOMWindow.cpp:
8583        (WebCore::DOMWindow::dispatchLoadEvent): Use dispatchTimedEvent().
8584        (WebCore::DOMWindow::dispatchTimedEvent): Added.
8585        * page/DOMWindow.h:
8586        * page/Timing.cpp:
8587        (WebCore::Timing::unloadEventStart):
8588        * page/Timing.h:
8589        * page/Timing.idl:
8590
85912010-11-19  Martin Robinson  <mrobinson@igalia.com>
8592
8593        Reviewed by Daniel Bates.
8594
8595        [GTK] fast/text/international tests are flaky on the bots
8596        https://bugs.webkit.org/show_bug.cgi?id=49781
8597
8598        Beef up the == operator overload for Freetype FontPlatformData. Before
8599        if two FontPlatformDatas had hash values which fell into the same bucket
8600        and were similar enough, they would be evaluated as being equal, leading
8601        to failures.
8602
8603        No new tests for this change. It's very hard to test, because it depends
8604        on the memory address of new allocations. Hopefully flakiness on the bots
8605        will go away after patch.
8606
8607        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
8608        (WebCore::FontPlatformData::operator==): Beef up the == operator overload.
8609
86102010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
8611
8612        Reviewed by Kenneth Rohde Christiansen.
8613
8614        [Qt] mask-box-image renders wrong in certain conditions
8615        https://bugs.webkit.org/show_bug.cgi?id=43476
8616
8617        When rendering a pixmap with a dest rect having a null dimension,
8618        Qt uses the dimension of the Pixmap. The other ports do not render
8619        anything by convention.
8620
8621        This patch change BitmapImage to follow the convention of other ports and do not
8622        paint anything.
8623
8624        * platform/graphics/qt/ImageQt.cpp:
8625        (WebCore::BitmapImage::draw):
8626
86272010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
8628
8629        Reviewed by Dirk Schulze.
8630
8631        Don't call invalidateSVGAttributes() from the setFooBaseValue() methods
8632        https://bugs.webkit.org/show_bug.cgi?id=49807
8633
8634        Covered by existing tests.
8635
8636        * svg/SVGComponentTransferFunctionElement.cpp:
8637        (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): Use setFooBaseValue(newList) instead of fooBaseValue() = newList;
8638        * svg/SVGFEColorMatrixElement.cpp:
8639        (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): Ditto.
8640        * svg/SVGFEConvolveMatrixElement.cpp:
8641        (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): Ditto.
8642        * svg/SVGGradientElement.cpp:
8643        (WebCore::SVGGradientElement::parseMappedAttribute): Ditto.
8644        * svg/SVGPatternElement.cpp:
8645        (WebCore::SVGPatternElement::parseMappedAttribute): Ditto.
8646        * svg/SVGStyledTransformableElement.cpp:
8647        (WebCore::SVGStyledTransformableElement::parseMappedAttribute): Ditto.
8648        * svg/SVGTextElement.cpp:
8649        (WebCore::SVGTextElement::parseMappedAttribute): Ditto.
8650        * svg/SVGTextPositioningElement.cpp:
8651        (WebCore::SVGTextPositioningElement::parseMappedAttribute): Ditto.
8652        * svg/properties/SVGAnimatedPropertyMacros.h: Don't call invalidateSVGAttributes() in setFooBaseValue().
8653
86542010-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
8655
8656        Unreviewed, rolling out r72399.
8657        http://trac.webkit.org/changeset/72399
8658        https://bugs.webkit.org/show_bug.cgi?id=49805
8659
8660        Broke Chromium build (Requested by antonm_ on #webkit).
8661
8662        * page/chromium/ChromeClientChromium.h:
8663        * platform/chromium/PopupMenuChromium.cpp:
8664        (WebCore::PopupContainer::showPopup):
8665        (WebCore::PopupContainer::showExternal):
8666        (WebCore::PopupListBox::layout):
8667        (WebCore::PopupMenuChromium::show):
8668        * platform/chromium/PopupMenuChromium.h:
8669
86702010-11-19  Yael Aharon  <yael.aharon@nokia.com>
8671
8672        Reviewed by Antonio Gomes.
8673
8674        Focus ring in image maps does not take zooming into account
8675        https://bugs.webkit.org/show_bug.cgi?id=49625
8676
8677        Take pageZoomFactor into account when calculating the path of the focus ring.
8678
8679        Test: fast/images/imagemap-focus-ring-zoom.html
8680
8681        * html/HTMLAreaElement.cpp:
8682        (WebCore::HTMLAreaElement::getPath):
8683
86842010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
8685
8686        Reviewed by Dirk Schulze.
8687
8688        SVGTransformList::consolidate() fails on empty lists
8689        https://bugs.webkit.org/show_bug.cgi?id=49619
8690
8691        Return null in consolidate() when the list is empty, according to SVG 1.1.
8692
8693        Test: svg/dom/SVGTransformList-empty-list-consolidation.html
8694
8695        * svg/properties/SVGTransformListPropertyTearOff.h:
8696        (WebCore::SVGTransformListPropertyTearOff::consolidate):
8697
86982010-11-19  Jay Civelli  <jcivelli@chromium.org>
8699
8700        Reviewed by David Levin.
8701
8702        [chromium] Removing the now unused code to show popup externally on Mac.
8703        https://bugs.webkit.org/show_bug.cgi?id=49747
8704
8705        * page/chromium/ChromeClientChromium.h:
8706        * platform/chromium/PopupMenuChromium.cpp:
8707        (WebCore::PopupContainer::showPopup):
8708        (WebCore::PopupListBox::layout):
8709        (WebCore::PopupMenuChromium::show):
8710        * platform/chromium/PopupMenuChromium.h:
8711
87122010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
8713
8714        Reviewed by Yury Semikhatsky.
8715
8716        Web Inspector: reduce the footprint of InspectorBackendDispatcher.
8717        InspectorBackendDispatcher is a generated file.
8718        Its content is not optimal and loc may be reduced by a quarter.
8719        In each generated function we have a code for getting 'in' values from
8720        the arguments properties object. I've extracted this code into separate getters.
8721        The side effect is better readability of the generated code.
8722
8723        https://bugs.webkit.org/show_bug.cgi?id=49729
8724
8725        * inspector/CodeGeneratorInspector.pm:
8726
87272010-11-19  John Knottenbelt  <jknotten@chromium.org>
8728
8729        Reviewed by Jeremy Orlow.
8730
8731        Reentrant Geolocation tests crash with an assertion.
8732        https://bugs.webkit.org/show_bug.cgi?id=39908
8733
8734        PositionErrors should not be sent to Geolocation watches or one shots
8735        that are due to receive a valid cached position.
8736
8737        Test: fast/dom/Geolocation/maximum-age.html
8738
8739        * page/Geolocation.cpp:
8740        (WebCore::Geolocation::sendError):
8741        (WebCore::Geolocation::copyCachedNotifiers):
8742        (WebCore::Geolocation::handleError):
8743        * page/Geolocation.h:
8744
87452010-11-19  Sam Magnuson  <smagnuso@gmail.com>
8746
8747        Reviewed by Laszlo Gombos.
8748
8749        [Qt] Compile with QT_NO_CLIPBOARD
8750        https://bugs.webkit.org/show_bug.cgi?id=49742
8751
8752        * platform/qt/PasteboardQt.cpp:
8753        (WebCore::Pasteboard::canSmartReplace):
8754
87552010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
8756
8757        Reviewed by Andreas Kling.
8758
8759        Remove more unused V8/SVG code
8760        https://bugs.webkit.org/show_bug.cgi?id=49800
8761
8762        Remove DOMSVGObjectWithContextMap and all usages.
8763
8764        * bindings/scripts/CodeGeneratorV8.pm:
8765        * bindings/v8/DOMDataStore.cpp:
8766        (WebCore::DOMDataStore::DOMDataStore):
8767        (WebCore::DOMDataStore::getDOMWrapperMap):
8768        * bindings/v8/DOMDataStore.h:
8769        (WebCore::DOMDataStore::domSvgElementInstanceMap):
8770        * bindings/v8/ScopedDOMDataStore.cpp:
8771        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
8772        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
8773        * bindings/v8/StaticDOMDataStore.cpp:
8774        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
8775        * bindings/v8/StaticDOMDataStore.h:
8776        * bindings/v8/V8DOMMap.cpp:
8777        (WebCore::removeAllDOMObjectsInCurrentThread):
8778        * bindings/v8/V8DOMMap.h:
8779
87802010-11-19  Zoltan Herczeg  <zherczeg@webkit.org>
8781
8782        Reviewed by Nikolas Zimmermann.
8783
8784        createImageBuffer fail should be handled in the same way as other fails
8785        https://bugs.webkit.org/show_bug.cgi?id=49799
8786
8787        When createImageBuffer fails (i.e the image width or height is less than
8788        0.5, which is rounded to 0) it just returs with false. Since the m_filter
8789        hash map is not updated in this case, the filter image is not drawn.
8790
8791        Test: svg/filters/filter-rounding-issues.svg
8792
8793        * rendering/RenderSVGResourceFilter.cpp:
8794        (WebCore::RenderSVGResourceFilter::applyResource):
8795
87962010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
8797
8798        Reviewed by Andreas Kling.
8799
8800        Remove old style SVG DOM JS bindings and DeprecatedSVGAnimated* files
8801        https://bugs.webkit.org/show_bug.cgi?id=49796
8802
8803        Just remove the old style SVG DOM JS bindings, now that everything has been converted to the new concept.
8804
8805        * GNUmakefile.am: Remove SVGList/SVGListTraits/JSSVGPODListCustom/JSSVGPODTypeWrapper/JSSVGContextCache and V8SVGPODTypeWrapper files.
8806        * WebCore.gypi: Ditto.
8807        * WebCore.pro: Ditto.
8808        * WebCore.vcproj/WebCore.vcproj: Ditto.
8809        * WebCore.xcodeproj/project.pbxproj: Ditto.
8810        * bindings/js/JSSVGContextCache.h: Removed.
8811        * bindings/js/JSSVGPODListCustom.h: Removed.
8812        * bindings/js/JSSVGPODTypeWrapper.h: Removed.
8813        * bindings/v8/V8Proxy.cpp: Remove SVG specific context cache code, which is no longer needed. 
8814        * bindings/v8/V8Proxy.h: Ditto.
8815        * bindings/v8/V8SVGPODTypeWrapper.h: Removed.
8816        * svg/DeprecatedSVGAnimatedProperty.h: Removed.
8817        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Removed.
8818        * svg/DeprecatedSVGAnimatedTemplate.h: Removed.
8819        * svg/SVGElement.h: Remove DeprecatedSVGAnimated* include, which pulled in SVGNames.h for every file.
8820        * svg/SVGList.h: Removed.
8821        * svg/SVGListTraits.h: Removed.
8822
88232010-11-19  Alexander Pavlov  <apavlov@chromium.org>
8824
8825        Reviewed by Pavel Feldman.
8826
8827        Web Inspector: [REGRESSION] Crash on opening WebInspector for a page with CSS containing @media with nested rules
8828        https://bugs.webkit.org/show_bug.cgi?id=49731
8829
8830        Temporarily disable building of styles for nested rules.
8831
8832        * inspector/InspectorStyleSheet.cpp:
8833        (WebCore::InspectorStyleSheet::buildObjectForRule):
8834        (WebCore::InspectorStyleSheet::buildObjectForStyle):
8835        (WebCore::InspectorStyleSheet::ensureParsedDataReady):
8836        (WebCore::InspectorStyleSheet::ensureSourceData):
8837        * inspector/InspectorStyleSheet.h:
8838        * inspector/front-end/StylesSidebarPane.js:
8839        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
8840        (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
8841        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
8842
88432010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
8844
8845        Not reviewed. Fix Qt build.
8846
8847        * WebCore.pro: Move SVGPathSegListPropertyTearOff.cpp from HEADERS to SOURCES list. This got lost, when reapplying the patch from the bug - I only fixed it locally before landing the first time.
8848
88492010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
8850
8851        Reviewed by Dirk Schulze.
8852
8853        Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
8854        https://bugs.webkit.org/show_bug.cgi?id=49580
8855
8856        SVGPathElement.cloneNode loses generated pathSegList
8857        https://bugs.webkit.org/show_bug.cgi?id=43388
8858
8859        SVG Path elements are not correctly updated through pathSegList manipulation on relative values
8860        https://bugs.webkit.org/show_bug.cgi?id=30219
8861
8862        Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
8863        https://bugs.webkit.org/show_bug.cgi?id=19741
8864
8865        SVGPathElement should only build SVGPathSeg* list on demand
8866        https://bugs.webkit.org/show_bug.cgi?id=10827
8867
8868        Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
8869               svg/dom/SVGPathSegList-appendItem.xhtml
8870               svg/dom/SVGPathSegList-clear-and-initialize.xhtml
8871               svg/dom/SVGPathSegList-cloning.html
8872               svg/dom/SVGPathSegList-insertItemBefore.xhtml
8873               svg/dom/SVGPathSegList-removeItem.xhtml
8874               svg/dom/SVGPathSegList-replaceItem.xhtml
8875               svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
8876               svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
8877               svg/dom/SVGPathSegList-segment-modification.svg
8878
8879        Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
8880        Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
8881        and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
8882        themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
8883        and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
8884
8885        Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
8886        to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
8887        if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
8888        the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
8889        Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
8890        String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
8891
8892        As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
8893        concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
8894
8895        * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
8896        * CMakeLists.txt: Ditto.
8897        * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
8898        * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
8899        * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
8900        * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
8901        * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
8902        * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
8903        * WebCore.vcproj/WebCore.vcproj: Ditto.
8904        * WebCore.xcodeproj/project.pbxproj: Ditto.
8905        * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
8906        * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
8907        (WebCore::setDOMException):
8908        * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
8909        * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
8910        (WebCore::toJS):
8911        * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
8912        * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
8913        * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
8914        * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
8915        * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
8916        * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
8917        (WebCore::operator<<):
8918        * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
8919        * svg/SVGAnimatedPathData.cpp: Removed.
8920        * svg/SVGAnimatedPathData.h: Removed.
8921        * svg/SVGAnimatedPathData.idl: Removed.
8922        * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
8923        (WebCore::SVGPathElement::SVGPathElement):
8924        (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
8925        (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
8926        (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
8927        (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
8928        (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
8929        (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
8930        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
8931        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
8932        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
8933        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
8934        (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
8935        (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
8936        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
8937        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
8938        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
8939        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
8940        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
8941        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
8942        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
8943        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
8944        (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
8945        (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
8946        (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
8947        (WebCore::SVGPathElement::synchronizeD): Added.
8948        (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
8949        (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
8950        (WebCore::SVGPathElement::animatedPathSegList): Ditto.
8951        (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
8952        (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
8953        (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
8954        * svg/SVGPathElement.h: Add new accessors...
8955        (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
8956        (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
8957        * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
8958        * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
8959        (WebCore::globalSVGPathSegListBuilder):
8960        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
8961        (WebCore::SVGPathParserFactory::buildPathFromByteStream):
8962        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
8963        (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
8964        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
8965        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
8966        (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
8967        * svg/SVGPathParserFactory.h:
8968        * svg/SVGPathSeg.cpp: Removed.
8969        * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
8970        (WebCore::SVGPathSeg::SVGPathSeg):
8971        * svg/SVGPathSeg.idl: Reindented.
8972        * svg/SVGPathSegArc.cpp: Removed.
8973        * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
8974        * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
8975        * svg/SVGPathSegArcRel.idl: Ditto.
8976        * svg/SVGPathSegClosePath.cpp: Removed.
8977        * svg/SVGPathSegClosePath.h:
8978        * svg/SVGPathSegCurvetoCubic.cpp: Removed.
8979        * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
8980        * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
8981        * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
8982        * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
8983        * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
8984        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
8985        * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
8986        * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
8987        * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
8988        * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
8989        * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
8990        * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
8991        * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
8992        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
8993        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
8994        * svg/SVGPathSegLineto.cpp: Removed.
8995        * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
8996        * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
8997        * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
8998        * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
8999        * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
9000        * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
9001        * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
9002        * svg/SVGPathSegLinetoVertical.cpp: Removed.
9003        * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
9004        * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
9005        * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
9006        * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
9007        (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
9008        (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
9009        * svg/SVGPathSegList.h:
9010        (WebCore::SVGPathSegList::SVGPathSegList):
9011        * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
9012        * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
9013        (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
9014        (WebCore::SVGPathSegListBuilder::moveTo):
9015        (WebCore::SVGPathSegListBuilder::lineTo):
9016        (WebCore::SVGPathSegListBuilder::lineToHorizontal):
9017        (WebCore::SVGPathSegListBuilder::lineToVertical):
9018        (WebCore::SVGPathSegListBuilder::curveToCubic):
9019        (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
9020        (WebCore::SVGPathSegListBuilder::curveToQuadratic):
9021        (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
9022        (WebCore::SVGPathSegListBuilder::arcTo):
9023        (WebCore::SVGPathSegListBuilder::closePath):
9024        * svg/SVGPathSegListBuilder.h: Ditto.
9025        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
9026        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
9027        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
9028        (WebCore::SVGPathSegListBuilder::cleanup):
9029        * svg/SVGPathSegListSource.cpp: Ditto.
9030        (WebCore::SVGPathSegListSource::SVGPathSegListSource):
9031        (WebCore::SVGPathSegListSource::parseSVGSegmentType):
9032        (WebCore::SVGPathSegListSource::nextCommand):
9033        (WebCore::SVGPathSegListSource::parseMoveToSegment):
9034        (WebCore::SVGPathSegListSource::parseLineToSegment):
9035        (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
9036        * svg/SVGPathSegListSource.h: Ditto.
9037        (WebCore::SVGPathSegListSource::create):
9038        * svg/SVGPathSegMoveto.cpp: Removed.
9039        * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
9040        * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
9041        * svg/SVGPathSegMovetoRel.idl: Ditto.
9042        * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
9043        (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
9044        (WebCore::SVGPathSegWithContext::animatedProperty):
9045        (WebCore::SVGPathSegWithContext::setContextAndRole):
9046        (WebCore::SVGPathSegWithContext::commitChange):
9047        (WebCore::SVGPathSegSingleCoordinate::x):
9048        (WebCore::SVGPathSegSingleCoordinate::setX):
9049        (WebCore::SVGPathSegSingleCoordinate::y):
9050        (WebCore::SVGPathSegSingleCoordinate::setY):
9051        (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
9052        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
9053        (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
9054        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
9055        (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
9056        (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
9057        (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
9058        * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
9059        (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
9060        (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
9061        (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
9062        (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
9063        (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
9064        * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
9065        (WebCore::SVGPathSegListPropertyTearOff::create):
9066        (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
9067        (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
9068        (WebCore::SVGPathSegListPropertyTearOff::initialize):
9069        (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
9070        (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
9071        (WebCore::SVGPathSegListPropertyTearOff::appendItem):
9072        (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
9073        (WebCore::SVGPathSegListPropertyTearOff::commitChange):
9074        (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
9075
90762010-11-19  Pavel Feldman  <pfeldman@chromium.org>
9077
9078        Not reviewed: one line follow up to r72376.
9079
9080        * inspector/InspectorResourceAgent.cpp:
9081        (WebCore::buildObjectForResourceResponse):
9082
90832010-11-19  Sergio Villar Senin  <svillar@igalia.com>
9084
9085        Reviewed by Xan Lopez.
9086
9087        [Gtk] "CRITICAL **: msg_got_headers_cb: assertion `entry' failed" when using HTTP cache
9088        https://bugs.webkit.org/show_bug.cgi?id=49666
9089
9090        WebKit resource load cache does validate its own resources by
9091        issuing conditional requests to the server. The HTTP cache was
9092        making the assumption that any possible conditional request was
9093        always generated by itself.
9094
9095        * platform/network/soup/cache/webkit/soup-cache.c:
9096        (webkit_soup_cache_entry_remove): added an assertion
9097        (msg_got_headers_cb):
9098
90992010-11-19  Dai Mikurube  <dmikurube@google.com>
9100
9101        Reviewed by Kent Tamura.
9102
9103        stepUp/stepDown for values in step-mismatching state for input elements
9104        https://bugs.webkit.org/show_bug.cgi?id=48976
9105
9106        Fixed stepUp/stepDown behaviors for step-mismatching values to follow the specification of
9107        HTML5 4.10.7.3 Common input element APIs. In details, disabled any stepwise adjustment for
9108        step-mismatching values.
9109
9110        * html/HTMLInputElement.cpp:
9111        (WebCore::HTMLInputElement::applyStep):
9112
91132010-11-19  Pavel Feldman  <pfeldman@chromium.org>
9114
9115        Not reviewed. Rolled out build failures introduced in r72373.
9116
9117        * inspector/CodeGeneratorInspector.pm:
9118
91192010-11-18  Pavel Feldman  <pfeldman@chromium.org>
9120
9121        Reviewed by Yury Semikhatsky.
9122
9123        Web Inspector: provide response code and status text as
9124        a part of raw headers data.
9125        https://bugs.webkit.org/show_bug.cgi?id=49668
9126
9127        * GNUmakefile.am:
9128        * WebCore.gypi:
9129        * WebCore.pro:
9130        * WebCore.vcproj/WebCore.vcproj:
9131        * WebCore.xcodeproj/project.pbxproj:
9132        * inspector/InspectorResourceAgent.cpp:
9133        (WebCore::buildObjectForResourceResponse):
9134        * inspector/front-end/NetworkPanel.js:
9135        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
9136        * inspector/front-end/ResourceManager.js:
9137        (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
9138        * platform/network/ResourceLoadInfo.h: Renamed from WebCore/platform/network/ResourceRawHeaders.h.
9139        (WebCore::ResourceLoadInfo::ResourceLoadInfo):
9140        * platform/network/ResourceResponseBase.cpp:
9141        (WebCore::ResourceResponseBase::resourceLoadInfo):
9142        (WebCore::ResourceResponseBase::setResourceLoadInfo):
9143        * platform/network/ResourceResponseBase.h:
9144
91452010-11-19  Mike Lawther  <mikelawther@chromium.org>
9146
9147        Reviewed by James Robinson.
9148
9149        [skia] assert when attempting to get (but not use) pointer to outside the canvas
9150        https://bugs.webkit.org/show_bug.cgi?id=49698
9151
9152        Early return to avoid getting a pointer to outside the canvas, and
9153        hence triggering a Skia assert.
9154
9155        * platform/graphics/skia/ImageBufferSkia.cpp:
9156        (WebCore::getImageData):
9157
91582010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
9159
9160        Reviewed by Yury Semikhatsky.
9161
9162        Web Inspector: reduce the footprint of InspectorBackendDispatcher.
9163        InspectorBackendDispatcher is a generated file.
9164        Its content is not optimal and loc may be reduced by a quarter.
9165        In each generated function we have a code for getting 'in' values from
9166        the arguments properties object. I've extracted this code into separate getters.
9167        The side effect is better readability of the generated code.
9168
9169        https://bugs.webkit.org/show_bug.cgi?id=49729
9170
9171        * inspector/CodeGeneratorInspector.pm:
9172
91732010-11-19  Yael Aharon  <yael.aharon@nokia.com>
9174
9175        Reviewed by Antonio Gomes.
9176
9177        [Qt] Focus ring does not show for image maps
9178        https://bugs.webkit.org/show_bug.cgi?id=49615
9179
9180        Draw a focus ring for the paths surrounding the focus ring of image map area.
9181        Provide Qt specific results for the test fast/images/imagemap-focus-ring.html.
9182
9183        * platform/graphics/qt/GraphicsContextQt.cpp:
9184        (WebCore::GraphicsContext::drawFocusRing):
9185
91862010-11-01  MORITA Hajime  <morrita@google.com>
9187
9188        Reviewed by David Hyatt.
9189
9190        Navigating dark background websites results in blinding white flashes between pages. 
9191        https://bugs.webkit.org/show_bug.cgi?id=45640
9192
9193        This FOUC is caused by an early layout request before the <body> is ready, 
9194        and the page's background style given for <body>, instead of <html>.
9195        So many sites have such stylesheets that we should care them.
9196        
9197        - Some DOM operation such as 'element.offsetLeft' causes page layout.
9198        - The page layout results page repaint
9199        - The page page repaint makes a white screen. because there is nothing to paint
9200          before <body> is available.
9201        
9202        This change:
9203        - extracted existing FOUC check on RenderBlock and RenderLayer to 
9204          Document::mayCauseFlashOfUnstyledContent(),
9205        - checked non-<head> element availability on mayCauseFlashOfUnstyledContent(), and
9206        - added FOUC guards before requesting reapint on FrameView.
9207        
9208        Note that non-<head> document root children are typically <body>, but possibly
9209        some other type of elements in the case of non-HTML documents.
9210        
9211        No new tests. The data loading speed matters and it cannot be
9212        captured by DRT.
9213
9214        * dom/Document.cpp:
9215        (hasHeadSibling): Added.
9216        (WebCore::Document::mayCauseFlashOfUnstyledContent): Added.
9217        * dom/Document.h:
9218        * page/FrameView.cpp:
9219        (WebCore::FrameView::invalidateRect): Added a guard.
9220        (WebCore::FrameView::repaintContentRectangle): Added a guard.
9221        (WebCore::FrameView::doDeferredRepaints): Added a guard.
9222        (WebCore::FrameView::shouldUpdate): Added.
9223        * page/FrameView.h:
9224        * rendering/RenderBlock.cpp:
9225        (WebCore::RenderBlock::paintContents): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
9226        * rendering/RenderLayer.cpp:
9227        (WebCore::RenderLayer::paintLayer): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
9228
92292010-11-18  Kent Tamura  <tkent@chromium.org>
9230
9231        Reviewed by Tony Chang.
9232
9233        Add more validation message functions
9234        https://bugs.webkit.org/show_bug.cgi?id=49716
9235
9236        Add the following message functions:
9237        - validationMessageValueMissingForCheckbox()
9238        - validationMessageValueMissingForFile()
9239        - validationMessageValueMissingForMultipleFile()
9240        - validationMessageValueMissingForRadio()
9241        - validationMessageValueMissingForSelect()
9242
9243        and update ValidityState, HTMLInputElement, and InputTypes to use them.
9244
9245        No new tests because this doesn't change visible behavior.
9246
9247        * html/CheckboxInputType.cpp:
9248        (WebCore::CheckboxInputType::valueMissingText):
9249        * html/CheckboxInputType.h:
9250        * html/FileInputType.cpp:
9251        (WebCore::FileInputType::valueMissingText):
9252        * html/FileInputType.h:
9253        * html/HTMLInputElement.cpp:
9254        (WebCore::HTMLInputElement::valueMissingText):
9255        * html/HTMLInputElement.h:
9256        * html/InputType.cpp:
9257        (WebCore::InputType::valueMissingText):
9258        * html/InputType.h:
9259        * html/RadioInputType.cpp:
9260        (WebCore::RadioInputType::valueMissingText):
9261        * html/RadioInputType.h:
9262        * html/ValidityState.cpp:
9263        (WebCore::ValidityState::validationMessage):
9264        * platform/LocalizedStrings.cpp:
9265        (WebCore::validationMessageValueMissingForCheckboxText):
9266        (WebCore::validationMessageValueMissingForFileText):
9267        (WebCore::validationMessageValueMissingForMultipleFileText):
9268        (WebCore::validationMessageValueMissingForRadioText):
9269        (WebCore::validationMessageValueMissingForSelectText):
9270        * platform/LocalizedStrings.h:
9271        * platform/android/LocalizedStringsAndroid.cpp:
9272        (WebCore::validationMessageValueMissingForCheckboxText):
9273        (WebCore::validationMessageValueMissingForFileText):
9274        (WebCore::validationMessageValueMissingForMultipleFileText):
9275        (WebCore::validationMessageValueMissingForRadioText):
9276        (WebCore::validationMessageValueMissingForSelectText):
9277        * platform/brew/LocalizedStringsBrew.cpp:
9278        (WebCore::validationMessageValueMissingForCheckboxText):
9279        (WebCore::validationMessageValueMissingForFileText):
9280        (WebCore::validationMessageValueMissingForMultipleFileText):
9281        (WebCore::validationMessageValueMissingForRadioText):
9282        (WebCore::validationMessageValueMissingForSelectText):
9283        * platform/efl/LocalizedStringsEfl.cpp:
9284        (WebCore::validationMessageValueMissingForCheckboxText):
9285        (WebCore::validationMessageValueMissingForFileText):
9286        (WebCore::validationMessageValueMissingForMultipleFileText):
9287        (WebCore::validationMessageValueMissingForRadioText):
9288        (WebCore::validationMessageValueMissingForSelectText):
9289        * platform/gtk/LocalizedStringsGtk.cpp:
9290        (WebCore::validationMessageValueMissingForCheckboxText):
9291        (WebCore::validationMessageValueMissingForFileText):
9292        (WebCore::validationMessageValueMissingForMultipleFileText):
9293        (WebCore::validationMessageValueMissingForRadioText):
9294        (WebCore::validationMessageValueMissingForSelectText):
9295        * platform/haiku/LocalizedStringsHaiku.cpp:
9296        (WebCore::validationMessageValueMissingText):
9297        (WebCore::validationMessageValueMissingForCheckboxText):
9298        (WebCore::validationMessageValueMissingForFileText):
9299        (WebCore::validationMessageValueMissingForMultipleFileText):
9300        (WebCore::validationMessageValueMissingForRadioText):
9301        (WebCore::validationMessageValueMissingForSelectText):
9302        * platform/wx/LocalizedStringsWx.cpp:
9303        (WebCore::validationMessageValueMissingForCheckboxText):
9304        (WebCore::validationMessageValueMissingForFileText):
9305        (WebCore::validationMessageValueMissingForMultipleFileText):
9306        (WebCore::validationMessageValueMissingForRadioText):
9307        (WebCore::validationMessageValueMissingForSelectText):
9308
93092010-11-18  Gavin Barraclough  <barraclough@apple.com>
9310
9311        Reviewed by Oliver Hunt.
9312
9313        Bug 49708 - Stop recompiling functions to regenerate exception info.
9314
9315        Instead only hold info as necessary – keep divot info is the inspector
9316        is enabled, line number info is debugging or profiling, and handler
9317        info for functions with try/catch.
9318
9319        * bindings/js/JSDOMWindowBase.cpp:
9320        (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
9321            - report to JSC whether the inspector is enabled - in which
9322              case we will generate better error messages on exceptions.
9323        * bindings/js/JSDOMWindowBase.h:
9324
93252010-11-18  Jian Li  <jianli@chromium.org>
9326
9327        Reviewed by Kenneth Russell.
9328
9329        Make binding code generation scripts support 'short' type
9330        https://bugs.webkit.org/show_bug.cgi?id=49704
9331
9332        Updated binding tests.
9333
9334        * bindings/scripts/CodeGeneratorJS.pm: Also fixed a style issue.
9335        * bindings/scripts/CodeGeneratorV8.pm:
9336        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
9337        * bindings/scripts/test/CPP/WebDOMTestObj.h:
9338        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
9339        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
9340        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
9341        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
9342        * bindings/scripts/test/JS/JSTestObj.cpp:
9343        * bindings/scripts/test/JS/JSTestObj.h:
9344        * bindings/scripts/test/ObjC/DOMTestObj.h:
9345        * bindings/scripts/test/ObjC/DOMTestObj.mm:
9346        * bindings/scripts/test/TestObj.idl:
9347        * bindings/scripts/test/V8/V8TestObj.cpp:
9348
93492010-11-18  Mark Rowe  <mrowe@apple.com>
9350
9351        Rubber-stamped by Adam Roben.
9352
9353        <rdar://problem/8602509&8602717&8602724> Enable compaction support.
9354
9355        * Configurations/WebCore.xcconfig:
9356
93572010-11-18  Dave Hyatt  <hyatt@apple.com>
9358
9359        Reviewed by Dan Bernstein.
9360
9361        https://bugs.webkit.org/show_bug.cgi?id=49772
9362        
9363        Fix nested ruby.  My previous checkin (for 49717) broke it.  Push the ruby text and ruby base text
9364        together based off logicalTopOverflow and logicalBottomOverflow rather than lineTop and lineBottom.
9365        This way the overflow from nested rubies is accounted for.
9366        
9367        Added fast/ruby/nested-ruby.html
9368
9369        * rendering/RenderRubyRun.cpp:
9370        (WebCore::RenderRubyRun::layout):
9371
93722010-11-18  Kinuko Yasuda  <kinuko@chromium.org>
9373
9374        Reviewed by Nate Chapin.
9375
9376        [V8] ASSERT(WTF::isMainThread()) fails in V8Binding::int32ToWebCoreString in workers
9377        https://bugs.webkit.org/show_bug.cgi?id=49613
9378
9379        No new tests. Running existing worker tests like
9380        fast/workers/storage/execute-sql-args-worker.html in chromium
9381        would verify it.
9382
9383        * bindings/v8/V8Binding.cpp:
9384        (WebCore::int32ToWebCoreStringFast):
9385        (WebCore::int32ToWebCoreString):
9386
93872010-11-18  Alexey Proskuryakov  <ap@apple.com>
9388
9389        Windows build fix.
9390
9391        https://bugs.webkit.org/show_bug.cgi?id=49762
9392        Stylesheet wrappers are not GC protected
9393
9394        * bindings/js/JSBindingsAllInOne.cpp: Added new custom binding files.
9395
93962010-11-18  Dave Hyatt  <hyatt@apple.com>
9397
9398        Reviewed by Dan Bernstein.
9399
9400        https://bugs.webkit.org/show_bug.cgi?id=49717
9401        
9402        Implement better behavior for the logical height and block direction spacing of ruby text and ruby
9403        base text.
9404
9405        Added six new tests: ruby-auto-line-expansion.html (one version for each of the four writing modes) to
9406        test ruby text accommodation and quirks-mode-ruby-spacing.html / quirks-mode-ruby-spacing-bt.html to test
9407        that ruby doesn't reset line-height.
9408
9409        * css/html.css:
9410        Remove the line-height:normal rule for <ruby>  This behavior was incorrect, since a <ruby> on a line
9411        by itself in quirks mode would cause the overall line-height of the enclosing block to not be honored.
9412
9413        * rendering/InlineBox.h:
9414        (WebCore::InlineBox::adjustBlockDirectionPosition):
9415        Add adjustBlockDirectionPosition as a shorthand for calling adjustPosition with the correct delta (x or y)
9416        depending on orientation.
9417        
9418        * rendering/InlineFlowBox.cpp:
9419        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
9420        placeBoxesInBlockDirection now looks for Ruby runs, and when it encounters them it sets a flag, containsRuby,
9421        to true.  This flag is stored as a bit on the RootInlineBox and lets us know whether we need to do a later
9422        crawl of the line boxes after they are positioned to see if all the Ruby texts fit or not.
9423        
9424        Add the notion of a lineTop and lineBottom that include margins, since flipped lines writing modes (lr and bt)
9425        mess up the flipping otherwise.  These new variables are lineTopIncludingMargins and lineBottomIncludingMargins.
9426        This is only relevant for replaced elements, since the block direction margins of inline flows are always 0.
9427        
9428        Because RenderRubyRun is implemented as an inline-block (this is probably not a behavior we want to keep long-term),
9429        the line-height is propagated into the inline-block, and it ends up being counted as part of the overall lineTop
9430        and lineBottom since it is inside the inline-block's height.  To prevent this from happening, we have to fake it
9431        as though RenderRubyRun was just a normal inline.  We look at the line boxes of the ruby base and we push lineTop/Bottom
9432        in by the leading on either side so that it isn't counted as part of lineTop and lineBottom.  This enables the later
9433        Ruby code that examines the spacing between lines to not be fooled into thinking it can't intrude into an inline-block's
9434        interior on a previous line.
9435
9436        (WebCore::InlineFlowBox::computeBlockDirectionRubyAdjustment):
9437        This function computes the amount that a line box has to be moved in order to accommodate all of the Ruby texts on the
9438        line.  With tb and rl writing modes, the Ruby is trying to fit between the current line and a previous line, and so
9439        we're checking some highest previous position and computing the amount we have to move.
9440        
9441        For lr and bt writing modes, the lines are flipped relative to the block direction, so we are computing how much we have
9442        to move the *following* line based off a lowest position.
9443        
9444        In all writing modes we will allow Ruby text to intrude into the padding of a block.
9445        
9446        * rendering/InlineFlowBox.h:
9447        * rendering/RenderBlock.cpp:
9448        (WebCore::RenderBlock::layoutBlockChildren):
9449        Ruby text is now considered a special child that should be excluded from normal layout, margin collapsing and height
9450        computations.  Rename the layoutLegend function to be more generalized and make it apply to both Ruby text and to
9451        legends.  This means that the RenderRubyRun computes its logical height without any regard for the ruby text.
9452
9453        * rendering/RenderBlock.h:
9454        (WebCore::RenderBlock::layoutSpecialExcludedChild):
9455        layoutSpecialExcludedChild is the new version of layoutLegend and it is implemented by RenderFieldset and RenderRubyRun.
9456
9457        * rendering/RenderBlockLineLayout.cpp:
9458        (WebCore::RenderBlock::layoutInlineChildren):
9459        When we hit the end of line layout, if we're in lr or bt writing modes, we have to potentially grow the height of the block
9460        to accommodate ruby text along the bottom side of the line.  We call computeBlockDirectionRubyAdjustment here in flipped lines
9461        writing mode only, and then we increase the logical height of the block if necessary.
9462
9463        * rendering/RenderFieldset.cpp:
9464        (WebCore::RenderFieldset::layoutSpecialExcludedChild):
9465        * rendering/RenderFieldset.h:
9466        No changes here other than the function rename.
9467
9468        * rendering/RenderRubyRun.cpp:
9469        (WebCore::RenderRubyRun::staticCreateRubyRun):
9470        Remove the hack that locked RenderRubyRun's writing mode to tb or rl, since it didn't really work anyway, and it isn't necessary
9471        now that RenderRubyRun has its own layout method.
9472    
9473        (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
9474        RenderRubyRun lays out the ruby text here but doesn't do anything with its placement yet.  We wait until the base is positioned
9475        and then handled positioning the RenderRubyText at the end of RenderRubyRun's layout method. 
9476
9477        (WebCore::RenderRubyRun::layout):
9478        * rendering/RenderRubyRun.h:
9479        RenderRubyRun now has its own layout method that calls the base class to get the RenderRubyBase positioned and then moves the
9480        RenderRubyText such that its bottommost line box's bottom and the RenderRubyBase's topmost line box's line top are flush with
9481        one another.  The RenderRubyText will commonly be positioned at a negative coordinate now and spill out of the RenderRubyRun
9482        as overflow.
9483
9484        * rendering/RootInlineBox.cpp:
9485        (WebCore::RootInlineBox::RootInlineBox):
9486        Added the m_containsRuby bit for performance to avoid the extra pass to try to accommodate ruby texts when none are present.
9487
9488        (WebCore::RootInlineBox::adjustPosition):
9489        Fixed a bug in adjustPosition where the lineTop, lineBottom and blockLogicalHeight values were always being augmented by dy
9490        even in vertical writing modes (where dx needed to be used instead).
9491
9492        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
9493        (WebCore::RootInlineBox::blockDirectionRubyAdjustment):
9494        * rendering/RootInlineBox.h:
9495        (WebCore::RootInlineBox::containsRuby):
9496        RootInlineBox now calls blockDirectionRubyAdjustment to determine the amount of additional spacing that has to exist between
9497        the lines in order to accommodate all Ruby texts, and then it does adjustPosition to move the new line by the amount required.
9498
94992010-11-18  Alexey Proskuryakov  <ap@apple.com>
9500
9501        Reviewed by Geoffrey Garen.
9502
9503        https://bugs.webkit.org/show_bug.cgi?id=49762
9504        Stylesheet wrappers are not GC protected
9505
9506        Tests: fast/dom/StyleSheet/gc-inline-style-cssvalues.html
9507               fast/dom/StyleSheet/gc-styleheet-wrapper.xhtml
9508
9509        * Android.jscbindings.mk:
9510        * CMakeLists.txt:
9511        * GNUmakefile.am:
9512        * WebCore.gypi:
9513        * WebCore.pro:
9514        * WebCore.vcproj/WebCore.vcproj:
9515        Added the new custom bindings files.
9516
9517        * WebCore.xcodeproj/project.pbxproj: Added the new custom bindings files. Also, added some
9518        existing headers.
9519
9520        * bindings/js/JSDOMBinding.cpp: (WebCore::isObservableThroughDOM): If a node has a stylesheet
9521        with a wrapper, it may be the only thing having the stylesheet's wrapper alive, so its own
9522        wrapper has to stay alive, too.
9523        While at it, also fixed the same issue with inline style declarations.
9524        Also, added a FIXME comment about one with attribute nodes. We implement a less conservative
9525        approach for nodes, so perhaps fixing this is not as easy as removing a hasCustomProperties()
9526        check.
9527
9528        * bindings/js/JSHTMLLinkElementCustom.cpp: Added.
9529        (WebCore::JSHTMLLinkElement::markChildren):
9530        * bindings/js/JSHTMLStyleElementCustom.cpp: Added.
9531        (WebCore::JSHTMLStyleElement::markChildren):
9532        * bindings/js/JSProcessingInstructionCustom.cpp: Added.
9533        (WebCore::JSProcessingInstruction::markChildren):
9534        Mark stylesheets owned by these nodes. As always in markChildren() functions, we do it
9535        conservatively, without checking whether the stylesheet or any of its children have custom
9536        properties.
9537
9538        * dom/ProcessingInstruction.idl:
9539        * html/HTMLLinkElement.idl:
9540        * html/HTMLStyleElement.idl:
9541        These have custom mark functions now.
9542
95432010-11-18  Jian Li  <jianli@chromium.org>
9544
9545        Reviewed by Kenneth Russell.
9546
9547        Move length and slice out of ArrayBufferView interface
9548        https://bugs.webkit.org/show_bug.cgi?id=49697
9549
9550        No functionality change. Covered by existing ArrayBuffer tests.
9551
9552        * WebCore.gypi:
9553        * WebCore.pro:
9554        * WebCore.xcodeproj/project.pbxproj:
9555        * bindings/js/JSArrayBufferViewCustom.cpp: Removed.
9556        * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Removed.
9557        * html/canvas/ArrayBufferView.h:
9558        * html/canvas/ArrayBufferView.idl:
9559        * html/canvas/Float32Array.cpp:
9560        (WebCore::Float32Array::slice):
9561        * html/canvas/Float32Array.h:
9562        * html/canvas/Float32Array.idl:
9563        * html/canvas/Int16Array.cpp:
9564        (WebCore::Int16Array::slice):
9565        * html/canvas/Int16Array.h:
9566        * html/canvas/Int16Array.idl:
9567        * html/canvas/Int32Array.cpp:
9568        (WebCore::Int32Array::slice):
9569        * html/canvas/Int32Array.h:
9570        * html/canvas/Int32Array.idl:
9571        * html/canvas/Int8Array.cpp:
9572        (WebCore::Int8Array::slice):
9573        * html/canvas/Int8Array.h:
9574        * html/canvas/Int8Array.idl:
9575        * html/canvas/TypedArrayBase.h:
9576        (WebCore::TypedArrayBase::length):
9577        * html/canvas/Uint16Array.cpp:
9578        (WebCore::Uint16Array::slice):
9579        * html/canvas/Uint16Array.h:
9580        * html/canvas/Uint16Array.idl:
9581        * html/canvas/Uint32Array.cpp:
9582        (WebCore::Uint32Array::slice):
9583        * html/canvas/Uint32Array.h:
9584        * html/canvas/Uint32Array.idl:
9585        * html/canvas/Uint8Array.cpp:
9586        (WebCore::Uint8Array::slice):
9587        * html/canvas/Uint8Array.h:
9588        * html/canvas/Uint8Array.idl:
9589        * html/canvas/WebGLRenderingContext.cpp:
9590        (WebCore::WebGLRenderingContext::readPixels):
9591
95922010-11-17  Zhenyao Mo  <zmo@google.com>
9593
9594        Reviewed by Kenneth Russell.
9595
9596        Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
9597        https://bugs.webkit.org/show_bug.cgi?id=47196
9598
9599        * platform/image-decoders/ImageDecoder.h:
9600        (WebCore::ImageDecoder::ignoresGammaAndColorProfile): Add a getter function for the ignoreGammaAndColorProfile setting.
9601        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
9602        (WebCore::JPEGImageReader::decode): Hookup ignoreGammaAndColorProfile setting with color profile processing.
9603        * platform/image-decoders/png/PNGImageDecoder.cpp:
9604        (WebCore::PNGImageDecoder::headerAvailable): Ditto.
9605
96062010-11-18  Steve Falkenburg  <sfalken@apple.com>
9607
9608        Reviewed by Adam Roben.
9609
9610        Remove leftover Windows Debug_Internal configurations
9611        https://bugs.webkit.org/show_bug.cgi?id=49758
9612
9613        * WebCore.vcproj/QTMovieWin.vcproj:
9614        * WebCore.vcproj/WebCore.vcproj:
9615
96162010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
9617
9618        Unreviewed, rolling out r72299.
9619        http://trac.webkit.org/changeset/72299
9620        https://bugs.webkit.org/show_bug.cgi?id=49761
9621
9622        Broke chromium ui test SessionHistoryTest.FrameBackForward.
9623        (Requested by dave_levin on #webkit).
9624
9625        * loader/HistoryController.cpp:
9626        (WebCore::HistoryController::HistoryController):
9627        (WebCore::HistoryController::saveDocumentState):
9628        (WebCore::HistoryController::updateForBackForwardNavigation):
9629        (WebCore::HistoryController::updateForCommit):
9630        (WebCore::HistoryController::updateForFrameLoadCompleted):
9631        (WebCore::HistoryController::setCurrentItem):
9632        (WebCore::HistoryController::createItem):
9633        (WebCore::HistoryController::createItemTree):
9634        (WebCore::HistoryController::recursiveGoToItem):
9635        * loader/HistoryController.h:
9636
96372010-11-18  James Robinson  <jamesr@chromium.org>
9638
9639        Reviewed by Darin Fisher.
9640
9641        [chromium] REGRESSION(72141): Chromium fails acid3 on windows and linux
9642        https://bugs.webkit.org/show_bug.cgi?id=49638
9643
9644        Avoid clamping zero text size to 12pt in FontPlatformData::setupPaint() in FontPlatformDataLinux.cpp
9645        Set all metrics to 0 if the font size is specified as zero in SimpleFontDataChromiumWin.cpp, just
9646        like Safari Win did in r72270.
9647
9648        Test: fast/text/font-size-zero.html
9649
9650        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
9651        (WebCore::FontPlatformData::setupPaint):
9652        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
9653        (WebCore::SimpleFontData::platformInit):
9654
96552010-11-18  Rob Buis  <rwlbuis@gmail.com>
9656
9657        Reviewed by Simon Fraser.
9658
9659        Only inject fullscreen.css when in fullscreen
9660        https://bugs.webkit.org/show_bug.cgi?id=49510
9661
9662        Refactor to only add fullscreen sheet rules when document is in fullscreen mode.
9663
9664        * css/CSSStyleSelector.cpp:
9665        (WebCore::CSSStyleSelector::CSSStyleSelector):
9666        (WebCore::loadFullDefaultStyle):
9667        (WebCore::loadFullScreenRulesIfNeeded):
9668        (WebCore::CSSStyleSelector::styleForElement):
9669
96702010-11-18  Steve Falkenburg  <sfalken@apple.com>
9671
9672        Reviewed by Adam Roben.
9673
9674        Debug_Internal Windows configuration is unnecessary, should be removed
9675        https://bugs.webkit.org/show_bug.cgi?id=49753
9676
9677        * WebCorePrefix.h:
9678
96792010-11-18  Steve Falkenburg  <sfalken@apple.com>
9680
9681        Reviewed by Adam Roben.
9682
9683        Clean up vcproj errors
9684        https://bugs.webkit.org/show_bug.cgi?id=49741
9685
9686        * WebCore.vcproj/WebCore.vcproj:
9687
96882010-11-18  Alexey Proskuryakov  <ap@apple.com>
9689
9690        Reviewed by Anders Carlsson.
9691
9692        https://bugs.webkit.org/show_bug.cgi?id=49694
9693        Add some comments about XSLStyleSheet owner node
9694
9695        No change in behavior, so no tests.
9696
9697        * dom/ProcessingInstruction.cpp:
9698        (WebCore::ProcessingInstruction::checkStyleSheet):
9699        * xml/XSLStyleSheet.h:
9700        (WebCore::XSLStyleSheet::create):
9701        (WebCore::XSLStyleSheet::createEmbedded):
9702        (WebCore::XSLStyleSheet::createForXSLTProcessor):
9703        * xml/XSLStyleSheetLibxslt.cpp:
9704        (WebCore::XSLStyleSheet::XSLStyleSheet):
9705        * xml/XSLTProcessorLibxslt.cpp:
9706        (WebCore::xsltStylesheetPointer):
9707        * xml/XSLTProcessorQt.cpp:
9708        (WebCore::XSLTProcessor::transformToString):
9709
97102010-11-18  Jer Noble  <jer.noble@apple.com>
9711
9712        Reviewed by Eric Carlson.
9713
9714        REGRESSION (Safari 5.0.1): HTML5 videos on YouTube never start playing on Windows
9715        https://bugs.webkit.org/show_bug.cgi?id=44439
9716        <rdar://problem/8342407>
9717        
9718        setUpCookiesForQuickTime() previously depended on having setFrameView() called first
9719        in order to get a Frame, and when it wasn't set, the cookie-copy failed.  Now, 
9720        setUpCookiesForQuickTime uses the MediaPlayerClient function mediaPlayerOwningDocument() 
9721        to retrieve the document and subsequently, the Frame.
9722
9723        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
9724        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
9725
97262010-11-18  Joseph Pecoraro  <joepeck@webkit.org>
9727
9728        Reviewed by Darin Adler.
9729
9730        Allow no-store resources to be used for back navigation
9731        https://bugs.webkit.org/show_bug.cgi?id=49672
9732
9733        Test: http/tests/cache/history-only-cached-subresource-loads.html
9734
9735        HTTP allows "Cache-Control: no-store" resources to "cached" for the
9736        purposes of history, such as back/forward navigation. Previously
9737        WebCore just immediately evicted these resources, now we leave them in
9738        the cache as long as they are not "https". This allows us to use them
9739        if they are used in a back navigation, or lazily evict and replace
9740        them on other load types expecting non-stale resources.
9741
9742        (WebCore::CachedResource::CachedResource):
9743        (WebCore::CachedResource::removeClient): instead of immediately removing the resource from the cache, leave it in the cache.
9744        * loader/cache/CachedResourceLoader.cpp:
9745        (WebCore::CachedResourceLoader::checkForReload):
9746        (WebCore::CachedResourceLoader::requestResource): allow history only resources if the CachePolicy is CachePolicyHistoryBuffer (back/forward navigation).
9747        * loader/cache/MemoryCache.cpp:
9748        (WebCore::MemoryCache::requestResource): lazily remove history only resources if it is requested for a load type expecting non-stale resources.
9749        * loader/cache/MemoryCache.h: default the forHistory parameter to false.
9750
9751          Rename cache policy CachePolicyAllowStale to CachePolicyHistoryBuffer.
9752
9753        * loader/FrameLoader.cpp:
9754        (WebCore::FrameLoader::subresourceCachePolicy):
9755        * loader/cache/CachePolicy.h:
9756        * loader/cache/CachedResource.cpp:
9757
97582010-11-18  Alexey Proskuryakov  <ap@apple.com>
9759
9760        Reviewed by Darin Adler.
9761
9762        https://bugs.webkit.org/show_bug.cgi?id=49700
9763        XSLTProcessor.importNode is only tested with document nodes, and hits an assertion
9764
9765        Test: fast/xsl/import-non-document-node.xhtml
9766
9767        * css/CSSStyleSheet.cpp:
9768        (WebCore::isAcceptableCSSStyleSheetParent):
9769        (WebCore::CSSStyleSheet::CSSStyleSheet):
9770        * css/StyleSheet.cpp:
9771        (WebCore::StyleSheet::StyleSheet):
9772        Moved the assertion - hopefully, it's valid for CSS stylesheets.
9773
97742010-11-18  Charlie Reis  <creis@chromium.org>
9775
9776        Reviewed by Darin Fisher.
9777
9778        Update correct content state during back/forward navigations
9779        https://bugs.webkit.org/show_bug.cgi?id=48809
9780
9781        Ensures that history's previousItem is non-null when clients try to
9782        update content state (e.g., Chromium's UpdateSessionHistory).  We now
9783        track load completions with a boolean field rather than by clearing
9784        previousItem.
9785
9786        Behavior covered by existing tests in fast/history and fast/loader.
9787
9788        * loader/HistoryController.cpp:
9789
97902010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
9791
9792        Unreviewed, rolling out r72288.
9793        http://trac.webkit.org/changeset/72288
9794        https://bugs.webkit.org/show_bug.cgi?id=49730
9795
9796        'krit attempted to do that, but revert got stuck' (Requested
9797        by antonm on #webkit).
9798
9799        * Android.mk:
9800        * CMakeLists.txt:
9801        * DerivedSources.make:
9802        * GNUmakefile.am:
9803        * WebCore.gyp/WebCore.gyp:
9804        * WebCore.gypi:
9805        * WebCore.order:
9806        * WebCore.pro:
9807        * WebCore.vcproj/WebCore.vcproj:
9808        * WebCore.xcodeproj/project.pbxproj:
9809        * bindings/js/JSBindingsAllInOne.cpp:
9810        * bindings/js/JSDOMBinding.cpp:
9811        (WebCore::setDOMException):
9812        * bindings/js/JSDOMBinding.h:
9813        (WebCore::createDOMObjectWrapper):
9814        (WebCore::getDOMObjectWrapper):
9815        * bindings/js/JSSVGPathSegCustom.cpp:
9816        (WebCore::toJS):
9817        * bindings/js/JSSVGPathSegListCustom.cpp: Added.
9818        (WebCore::JSSVGPathSegList::clear):
9819        (WebCore::JSSVGPathSegList::initialize):
9820        (WebCore::JSSVGPathSegList::getItem):
9821        (WebCore::JSSVGPathSegList::insertItemBefore):
9822        (WebCore::JSSVGPathSegList::replaceItem):
9823        (WebCore::JSSVGPathSegList::removeItem):
9824        (WebCore::JSSVGPathSegList::appendItem):
9825        * bindings/scripts/CodeGenerator.pm:
9826        * bindings/scripts/CodeGeneratorJS.pm:
9827        * bindings/scripts/CodeGeneratorObjC.pm:
9828        * bindings/scripts/CodeGeneratorV8.pm:
9829        * rendering/SVGRenderTreeAsText.cpp:
9830        (WebCore::operator<<):
9831        * svg/SVGAllInOne.cpp:
9832        * svg/SVGAnimatedPathData.cpp: Added.
9833        * svg/SVGAnimatedPathData.h: Copied from WebCore/svg/SVGPathSegClosePath.h.
9834        (WebCore::SVGAnimatedPathData::~SVGAnimatedPathData):
9835        * svg/SVGAnimatedPathData.idl: Copied from WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl.
9836        * svg/SVGPathElement.cpp:
9837        (WebCore::SVGPathElement::SVGPathElement):
9838        (WebCore::SVGPathElement::getPathSegAtLength):
9839        (WebCore::SVGPathElement::createSVGPathSegClosePath):
9840        (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
9841        (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
9842        (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
9843        (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
9844        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
9845        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
9846        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
9847        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
9848        (WebCore::SVGPathElement::createSVGPathSegArcAbs):
9849        (WebCore::SVGPathElement::createSVGPathSegArcRel):
9850        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
9851        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
9852        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
9853        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
9854        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
9855        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
9856        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
9857        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
9858        (WebCore::SVGPathElement::parseMappedAttribute):
9859        (WebCore::SVGPathElement::svgAttributeChanged):
9860        (WebCore::SVGPathElement::synchronizeProperty):
9861        (WebCore::SVGPathElement::pathSegList):
9862        (WebCore::SVGPathElement::normalizedPathSegList):
9863        (WebCore::SVGPathElement::animatedPathSegList):
9864        (WebCore::SVGPathElement::animatedNormalizedPathSegList):
9865        (WebCore::SVGPathElement::toPathData):
9866        * svg/SVGPathElement.h:
9867        (WebCore::SVGPathElement::isValid):
9868        (WebCore::SVGPathElement::supportsMarkers):
9869        * svg/SVGPathElement.idl:
9870        * svg/SVGPathParserFactory.cpp:
9871        (WebCore::globalSVGPathSegListBuilder):
9872        (WebCore::SVGPathParserFactory::buildPathFromByteStream):
9873        (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
9874        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
9875        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
9876        (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
9877        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
9878        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
9879        (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
9880        * svg/SVGPathParserFactory.h:
9881        * svg/SVGPathSeg.cpp: Copied from WebCore/svg/SVGPathSegLinetoHorizontalRel.idl.
9882        (WebCore::SVGPathSeg::associatedAttributeName):
9883        * svg/SVGPathSeg.h:
9884        (WebCore::SVGPathSegSingleCoord::setX):
9885        (WebCore::SVGPathSegSingleCoord::x):
9886        (WebCore::SVGPathSegSingleCoord::setY):
9887        (WebCore::SVGPathSegSingleCoord::y):
9888        (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
9889        * svg/SVGPathSeg.idl:
9890        * svg/SVGPathSegArc.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
9891        (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
9892        (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
9893        * svg/SVGPathSegArc.h:
9894        (WebCore::SVGPathSegArc::SVGPathSegArc):
9895        (WebCore::SVGPathSegArc::setX):
9896        (WebCore::SVGPathSegArc::x):
9897        (WebCore::SVGPathSegArc::setY):
9898        (WebCore::SVGPathSegArc::y):
9899        (WebCore::SVGPathSegArc::setR1):
9900        (WebCore::SVGPathSegArc::r1):
9901        (WebCore::SVGPathSegArc::setR2):
9902        (WebCore::SVGPathSegArc::r2):
9903        (WebCore::SVGPathSegArc::setAngle):
9904        (WebCore::SVGPathSegArc::angle):
9905        (WebCore::SVGPathSegArc::setLargeArcFlag):
9906        (WebCore::SVGPathSegArc::largeArcFlag):
9907        (WebCore::SVGPathSegArc::setSweepFlag):
9908        (WebCore::SVGPathSegArc::sweepFlag):
9909        (WebCore::SVGPathSegArcAbs::create):
9910        (WebCore::SVGPathSegArcAbs::pathSegType):
9911        (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
9912        (WebCore::SVGPathSegArcRel::create):
9913        (WebCore::SVGPathSegArcRel::pathSegType):
9914        (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
9915        * svg/SVGPathSegArcAbs.idl:
9916        * svg/SVGPathSegArcRel.idl:
9917        * svg/SVGPathSegClosePath.cpp: Added.
9918        * svg/SVGPathSegClosePath.h:
9919        (WebCore::SVGPathSegClosePath::create):
9920        (WebCore::SVGPathSegClosePath::SVGPathSegClosePath):
9921        * svg/SVGPathSegCurvetoCubic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
9922        (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
9923        (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
9924        * svg/SVGPathSegCurvetoCubic.h:
9925        (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
9926        (WebCore::SVGPathSegCurvetoCubic::setX):
9927        (WebCore::SVGPathSegCurvetoCubic::x):
9928        (WebCore::SVGPathSegCurvetoCubic::setY):
9929        (WebCore::SVGPathSegCurvetoCubic::y):
9930        (WebCore::SVGPathSegCurvetoCubic::setX1):
9931        (WebCore::SVGPathSegCurvetoCubic::x1):
9932        (WebCore::SVGPathSegCurvetoCubic::setY1):
9933        (WebCore::SVGPathSegCurvetoCubic::y1):
9934        (WebCore::SVGPathSegCurvetoCubic::setX2):
9935        (WebCore::SVGPathSegCurvetoCubic::x2):
9936        (WebCore::SVGPathSegCurvetoCubic::setY2):
9937        (WebCore::SVGPathSegCurvetoCubic::y2):
9938        (WebCore::SVGPathSegCurvetoCubicAbs::create):
9939        (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
9940        (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
9941        (WebCore::SVGPathSegCurvetoCubicRel::create):
9942        (WebCore::SVGPathSegCurvetoCubicRel::pathSegType):
9943        (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
9944        * svg/SVGPathSegCurvetoCubicAbs.idl:
9945        * svg/SVGPathSegCurvetoCubicRel.idl:
9946        * svg/SVGPathSegCurvetoCubicSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
9947        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
9948        (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
9949        * svg/SVGPathSegCurvetoCubicSmooth.h:
9950        (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
9951        (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
9952        (WebCore::SVGPathSegCurvetoCubicSmooth::x):
9953        (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
9954        (WebCore::SVGPathSegCurvetoCubicSmooth::y):
9955        (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
9956        (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
9957        (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
9958        (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
9959        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
9960        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
9961        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
9962        (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
9963        (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
9964        (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
9965        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
9966        * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
9967        * svg/SVGPathSegCurvetoQuadratic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
9968        (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
9969        (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
9970        * svg/SVGPathSegCurvetoQuadratic.h:
9971        (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
9972        (WebCore::SVGPathSegCurvetoQuadratic::setX):
9973        (WebCore::SVGPathSegCurvetoQuadratic::x):
9974        (WebCore::SVGPathSegCurvetoQuadratic::setY):
9975        (WebCore::SVGPathSegCurvetoQuadratic::y):
9976        (WebCore::SVGPathSegCurvetoQuadratic::setX1):
9977        (WebCore::SVGPathSegCurvetoQuadratic::x1):
9978        (WebCore::SVGPathSegCurvetoQuadratic::setY1):
9979        (WebCore::SVGPathSegCurvetoQuadratic::y1):
9980        (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
9981        (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
9982        (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
9983        (WebCore::SVGPathSegCurvetoQuadraticRel::create):
9984        (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
9985        (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
9986        * svg/SVGPathSegCurvetoQuadraticAbs.idl:
9987        * svg/SVGPathSegCurvetoQuadraticRel.idl:
9988        * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
9989        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
9990        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
9991        * svg/SVGPathSegCurvetoQuadraticSmooth.h:
9992        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
9993        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType):
9994        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
9995        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
9996        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType):
9997        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
9998        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
9999        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
10000        * svg/SVGPathSegLineto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
10001        (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
10002        (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
10003        * svg/SVGPathSegLineto.h:
10004        (WebCore::SVGPathSegLinetoAbs::create):
10005        (WebCore::SVGPathSegLinetoAbs::pathSegType):
10006        (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
10007        (WebCore::SVGPathSegLinetoRel::create):
10008        (WebCore::SVGPathSegLinetoRel::pathSegType):
10009        (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
10010        * svg/SVGPathSegLinetoAbs.idl:
10011        * svg/SVGPathSegLinetoHorizontal.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
10012        (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
10013        (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
10014        * svg/SVGPathSegLinetoHorizontal.h:
10015        (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
10016        (WebCore::SVGPathSegLinetoHorizontal::setX):
10017        (WebCore::SVGPathSegLinetoHorizontal::x):
10018        (WebCore::SVGPathSegLinetoHorizontalAbs::create):
10019        (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType):
10020        (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
10021        (WebCore::SVGPathSegLinetoHorizontalRel::create):
10022        (WebCore::SVGPathSegLinetoHorizontalRel::pathSegType):
10023        (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
10024        * svg/SVGPathSegLinetoHorizontalAbs.idl:
10025        * svg/SVGPathSegLinetoHorizontalRel.idl:
10026        * svg/SVGPathSegLinetoRel.idl:
10027        * svg/SVGPathSegLinetoVertical.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
10028        (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
10029        (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
10030        * svg/SVGPathSegLinetoVertical.h:
10031        (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
10032        (WebCore::SVGPathSegLinetoVertical::setY):
10033        (WebCore::SVGPathSegLinetoVertical::y):
10034        (WebCore::SVGPathSegLinetoVerticalAbs::create):
10035        (WebCore::SVGPathSegLinetoVerticalAbs::pathSegType):
10036        (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
10037        (WebCore::SVGPathSegLinetoVerticalRel::create):
10038        (WebCore::SVGPathSegLinetoVerticalRel::pathSegType):
10039        (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
10040        * svg/SVGPathSegLinetoVerticalAbs.idl:
10041        * svg/SVGPathSegLinetoVerticalRel.idl:
10042        * svg/SVGPathSegList.cpp:
10043        (WebCore::SVGPathSegList::SVGPathSegList):
10044        * svg/SVGPathSegList.h:
10045        (WebCore::SVGPathSegList::create):
10046        * svg/SVGPathSegList.idl:
10047        * svg/SVGPathSegListBuilder.cpp:
10048        (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
10049        (WebCore::SVGPathSegListBuilder::moveTo):
10050        (WebCore::SVGPathSegListBuilder::lineTo):
10051        (WebCore::SVGPathSegListBuilder::lineToHorizontal):
10052        (WebCore::SVGPathSegListBuilder::lineToVertical):
10053        (WebCore::SVGPathSegListBuilder::curveToCubic):
10054        (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
10055        (WebCore::SVGPathSegListBuilder::curveToQuadratic):
10056        (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
10057        (WebCore::SVGPathSegListBuilder::arcTo):
10058        (WebCore::SVGPathSegListBuilder::closePath):
10059        * svg/SVGPathSegListBuilder.h:
10060        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
10061        (WebCore::SVGPathSegListBuilder::cleanup):
10062        * svg/SVGPathSegListSource.cpp:
10063        (WebCore::SVGPathSegListSource::SVGPathSegListSource):
10064        (WebCore::SVGPathSegListSource::parseSVGSegmentType):
10065        (WebCore::SVGPathSegListSource::nextCommand):
10066        (WebCore::SVGPathSegListSource::parseMoveToSegment):
10067        (WebCore::SVGPathSegListSource::parseLineToSegment):
10068        (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
10069        * svg/SVGPathSegListSource.h:
10070        (WebCore::SVGPathSegListSource::create):
10071        * svg/SVGPathSegMoveto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
10072        (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
10073        (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
10074        * svg/SVGPathSegMoveto.h:
10075        (WebCore::SVGPathSegMovetoAbs::create):
10076        (WebCore::SVGPathSegMovetoAbs::pathSegType):
10077        (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
10078        (WebCore::SVGPathSegMovetoRel::create):
10079        (WebCore::SVGPathSegMovetoRel::pathSegType):
10080        (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
10081        * svg/SVGPathSegMovetoAbs.idl:
10082        * svg/SVGPathSegMovetoRel.idl:
10083        * svg/SVGPathSegWithContext.h: Removed.
10084        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Removed.
10085        * svg/properties/SVGPathSegListPropertyTearOff.cpp: Removed.
10086        * svg/properties/SVGPathSegListPropertyTearOff.h: Removed.
10087
100882010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
10089
10090        Unreviewed, rolling out r72292.
10091        http://trac.webkit.org/changeset/72292
10092        https://bugs.webkit.org/show_bug.cgi?id=49732
10093
10094        will break win build (Requested by loislo on #webkit).
10095
10096        * inspector/CodeGeneratorInspector.pm:
10097
100982010-11-18  Ilya Tikhonovsky  <loislo@chromium.org>
10099
10100        Reviewed by Yury Semikhatsky.
10101
10102        Web Inspector: reduce the footprint of InspectorBackendDispatcher.
10103        InspectorBackendDispatcher is a generated file.
10104        Its content is not optimal and loc may be reduced by a quarter.
10105        In each generated function we have a code for getting 'in' values from
10106        the arguments properties object. I've extracted this code into separate getters.
10107        The side effect is better readability of the generated code.
10108
10109        https://bugs.webkit.org/show_bug.cgi?id=49729
10110
10111        * inspector/CodeGeneratorInspector.pm:
10112
101132010-11-18  Alexander Pavlov  <apavlov@chromium.org>
10114
10115        Reviewed by Pavel Feldman.
10116
10117        [v8] fast/css/getFloatValueForUnit.html fails since http://trac.webkit.org/changeset/72189
10118        https://bugs.webkit.org/show_bug.cgi?id=49656
10119
10120        Explicitly specify indexerType for the generation of V8WebKitCSSTransformValue binding.
10121
10122        * bindings/scripts/CodeGeneratorV8.pm:
10123
101242010-11-18  Nikolas Zimmermann  <nzimmermann@rim.com>
10125
10126        Reviewed by Dirk Schulze.
10127
10128        Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
10129        https://bugs.webkit.org/show_bug.cgi?id=49580
10130
10131        SVGPathElement.cloneNode loses generated pathSegList
10132        https://bugs.webkit.org/show_bug.cgi?id=43388
10133
10134        SVG Path elements are not correctly updated through pathSegList manipulation on relative values
10135        https://bugs.webkit.org/show_bug.cgi?id=30219
10136
10137        Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
10138        https://bugs.webkit.org/show_bug.cgi?id=19741
10139
10140        SVGPathElement should only build SVGPathSeg* list on demand
10141        https://bugs.webkit.org/show_bug.cgi?id=10827
10142
10143        Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
10144               svg/dom/SVGPathSegList-appendItem.xhtml
10145               svg/dom/SVGPathSegList-clear-and-initialize.xhtml
10146               svg/dom/SVGPathSegList-cloning.html
10147               svg/dom/SVGPathSegList-insertItemBefore.xhtml
10148               svg/dom/SVGPathSegList-removeItem.xhtml
10149               svg/dom/SVGPathSegList-replaceItem.xhtml
10150               svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
10151               svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
10152               svg/dom/SVGPathSegList-segment-modification.svg
10153
10154        Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
10155        Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
10156        and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
10157        themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
10158        and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
10159
10160        Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
10161        to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
10162        if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
10163        the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
10164        Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
10165        String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
10166
10167        As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
10168        concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
10169
10170        * Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
10171        * CMakeLists.txt: Ditto.
10172        * DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
10173        * GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
10174        * WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
10175        * WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
10176        * WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
10177        * WebCore.pro:  Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
10178        * WebCore.vcproj/WebCore.vcproj: Ditto.
10179        * WebCore.xcodeproj/project.pbxproj: Ditto.
10180        * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
10181        * bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
10182        (WebCore::setDOMException):
10183        * bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
10184        * bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
10185        (WebCore::toJS):
10186        * bindings/js/JSSVGPathSegListCustom.cpp: Removed.
10187        * bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
10188        * bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
10189        * bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
10190        * bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
10191        * rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
10192        (WebCore::operator<<):
10193        * svg/SVGAllInOne.cpp: Remove obsolete cpp files.
10194        * svg/SVGAnimatedPathData.cpp: Removed.
10195        * svg/SVGAnimatedPathData.h: Removed.
10196        * svg/SVGAnimatedPathData.idl: Removed.
10197        * svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
10198        (WebCore::SVGPathElement::SVGPathElement):
10199        (WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
10200        (WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
10201        (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
10202        (WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
10203        (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
10204        (WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
10205        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
10206        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
10207        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
10208        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
10209        (WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
10210        (WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
10211        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
10212        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
10213        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
10214        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
10215        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
10216        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
10217        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
10218        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
10219        (WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
10220        (WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
10221        (WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
10222        (WebCore::SVGPathElement::synchronizeD): Added.
10223        (WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
10224        (WebCore::SVGPathElement::normalizedPathSegList): Ditto.
10225        (WebCore::SVGPathElement::animatedPathSegList): Ditto.
10226        (WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
10227        (WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
10228        (WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
10229        * svg/SVGPathElement.h: Add new accessors...
10230        (WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
10231        (WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
10232        * svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
10233        * svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
10234        (WebCore::globalSVGPathSegListBuilder):
10235        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
10236        (WebCore::SVGPathParserFactory::buildPathFromByteStream):
10237        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
10238        (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
10239        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
10240        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
10241        (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
10242        * svg/SVGPathParserFactory.h:
10243        * svg/SVGPathSeg.cpp: Removed.
10244        * svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
10245        (WebCore::SVGPathSeg::SVGPathSeg):
10246        * svg/SVGPathSeg.idl: Reindented.
10247        * svg/SVGPathSegArc.cpp: Removed.
10248        * svg/SVGPathSegArc.h: All setters now call the commitChange() method.
10249        * svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
10250        * svg/SVGPathSegArcRel.idl: Ditto.
10251        * svg/SVGPathSegClosePath.cpp: Removed.
10252        * svg/SVGPathSegClosePath.h:
10253        * svg/SVGPathSegCurvetoCubic.cpp: Removed.
10254        * svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
10255        * svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
10256        * svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
10257        * svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
10258        * svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
10259        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
10260        * svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
10261        * svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
10262        * svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
10263        * svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
10264        * svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
10265        * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
10266        * svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
10267        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
10268        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
10269        * svg/SVGPathSegLineto.cpp: Removed.
10270        * svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
10271        * svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
10272        * svg/SVGPathSegLinetoHorizontal.cpp: Removed.
10273        * svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
10274        * svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
10275        * svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
10276        * svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
10277        * svg/SVGPathSegLinetoVertical.cpp: Removed.
10278        * svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
10279        * svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
10280        * svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
10281        * svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
10282        (WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
10283        (WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
10284        * svg/SVGPathSegList.h:
10285        (WebCore::SVGPathSegList::SVGPathSegList):
10286        * svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed. 
10287        * svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
10288        (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
10289        (WebCore::SVGPathSegListBuilder::moveTo):
10290        (WebCore::SVGPathSegListBuilder::lineTo):
10291        (WebCore::SVGPathSegListBuilder::lineToHorizontal):
10292        (WebCore::SVGPathSegListBuilder::lineToVertical):
10293        (WebCore::SVGPathSegListBuilder::curveToCubic):
10294        (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
10295        (WebCore::SVGPathSegListBuilder::curveToQuadratic):
10296        (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
10297        (WebCore::SVGPathSegListBuilder::arcTo):
10298        (WebCore::SVGPathSegListBuilder::closePath):
10299        * svg/SVGPathSegListBuilder.h: Ditto.
10300        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
10301        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
10302        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
10303        (WebCore::SVGPathSegListBuilder::cleanup):
10304        * svg/SVGPathSegListSource.cpp: Ditto.
10305        (WebCore::SVGPathSegListSource::SVGPathSegListSource):
10306        (WebCore::SVGPathSegListSource::parseSVGSegmentType):
10307        (WebCore::SVGPathSegListSource::nextCommand):
10308        (WebCore::SVGPathSegListSource::parseMoveToSegment):
10309        (WebCore::SVGPathSegListSource::parseLineToSegment):
10310        (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
10311        * svg/SVGPathSegListSource.h: Ditto.
10312        (WebCore::SVGPathSegListSource::create):
10313        * svg/SVGPathSegMoveto.cpp: Removed.
10314        * svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
10315        * svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
10316        * svg/SVGPathSegMovetoRel.idl: Ditto.
10317        * svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
10318        (WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
10319        (WebCore::SVGPathSegWithContext::animatedProperty):
10320        (WebCore::SVGPathSegWithContext::setContextAndRole):
10321        (WebCore::SVGPathSegWithContext::commitChange):
10322        (WebCore::SVGPathSegSingleCoordinate::x):
10323        (WebCore::SVGPathSegSingleCoordinate::setX):
10324        (WebCore::SVGPathSegSingleCoordinate::y):
10325        (WebCore::SVGPathSegSingleCoordinate::setY):
10326        (WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
10327        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added. 
10328        (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
10329        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
10330        (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
10331        (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
10332        (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
10333        * svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
10334        (WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
10335        (WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
10336        (WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
10337        (WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
10338        (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
10339        * svg/properties/SVGPathSegListPropertyTearOff.h: Added.
10340        (WebCore::SVGPathSegListPropertyTearOff::create):
10341        (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
10342        (WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
10343        (WebCore::SVGPathSegListPropertyTearOff::initialize):
10344        (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
10345        (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
10346        (WebCore::SVGPathSegListPropertyTearOff::appendItem):
10347        (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
10348        (WebCore::SVGPathSegListPropertyTearOff::commitChange):
10349        (WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
10350
103512010-11-18  Mario Sanchez Prada  <msanchez@igalia.com>
10352
10353        Reviewed by Martin Robinson.
10354
10355        [Gtk]  atk_text_get_selection returns the wrong offsets after a link
10356        https://bugs.webkit.org/show_bug.cgi?id=49514
10357
10358        Consider possible embedded objects to calculate startOffset.
10359
10360        So far we were using offsetInContainerNode() to calculate the
10361        value of startOffset when checking the offsets for the current
10362        selection, which was wrong because that wouldn't work ok if any
10363        embedded object was present in the paragraph before the
10364        selection. Thus, we need to consider this fact when calculating
10365        the startOffset from the point of view of the object this function
10366        is called on, in order to return the right and actual values.
10367
10368        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
10369        (getSelectionOffsetsForObject): Check range length from the first
10370        position in the object the function is called on until the first
10371        position of current selection, and use it as startOffset.
10372
103732010-11-12  Stephen White  <senorblanco@chromium.org>
10374
10375        Reviewed by Simon Fraser.
10376
10377        Fix for multiple urls in a background-image causing repeated repaints.
10378        https://bugs.webkit.org/show_bug.cgi?id=42390
10379
10380        Change the key of RenderBoxModelObject's LastPaintSizeMap to include
10381        the layer of the element being drawn, so that the same URL used
10382        repeated in the same background-image, or another element's
10383        background-image, can be uniquely identified.  The layer is a void
10384        pointer, since it is only used as part of the key and using a
10385        void pointer will discourage dereferencing it.  This pointer is NULL
10386        when called from RenderImage (<img> elements).
10387
10388        Covered by fast/backgrounds/size/contain-and-cover.html
10389
10390        * rendering/RenderBoxModelObject.cpp:
10391        (WebCore::ImageQualityController::keyDestroyed):
10392        The old objectDestroyed() is renamed to keyDestroyed().
10393        (WebCore::ImageQualityController::objectDestroyed):
10394        The new objectDestroyed() iterates over all outstanding resizes
10395        to remove any resizes pertaining to this object.
10396        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
10397        Retrieve the RenderBoxModelObject from the pair's "first" member.
10398        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
10399        Create a key from the {object, layer} pair, and use it to access
10400        the repaint size map.
10401        (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
10402        Plumb the layer through to the image quality controller.
10403        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
10404        Pass the bgLayer when checking 
10405        * rendering/RenderBoxModelObject.h:
10406        Add the void* layer parameter to shouldPaintAtLowQuality.
10407        * rendering/RenderImage.cpp:
10408        (WebCore::RenderImage::paintIntoRect):
10409        Pass 0 (null) for the layer parameter in this case.
10410
104112010-11-18  Chris Rogers  <crogers@google.com>
10412
10413        Reviewed by Dimitri Glazkov.
10414
10415        Add loadPlatformAudioResource() and decodeAudioFileData() to ChromiumBridge
10416        https://bugs.webkit.org/show_bug.cgi?id=49557
10417
10418        No new tests since audio API is not yet implemented.
10419
10420        * platform/chromium/ChromiumBridge.h:
10421
104222010-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>
10423
10424        Unreviewed, rolling out r72228.
10425        http://trac.webkit.org/changeset/72228
10426        https://bugs.webkit.org/show_bug.cgi?id=49712
10427
10428        Caused many >10 regressions on Win and Linux gpu layout test
10429        runs. (Requested by dave_levin on #webkit).
10430
10431        * html/canvas/WebGLFramebuffer.cpp:
10432        (WebCore::WebGLFramebuffer::onAccess):
10433        (WebCore::WebGLFramebuffer::initializeRenderbuffers):
10434        * html/canvas/WebGLFramebuffer.h:
10435        * html/canvas/WebGLRenderingContext.cpp:
10436        (WebCore::WebGLRenderingContext::clear):
10437        (WebCore::WebGLRenderingContext::copyTexImage2D):
10438        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
10439        (WebCore::WebGLRenderingContext::drawArrays):
10440        (WebCore::WebGLRenderingContext::drawElements):
10441        (WebCore::WebGLRenderingContext::readPixels):
10442        (WebCore::WebGLRenderingContext::texImage2DBase):
10443
104442010-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>
10445
10446        Unreviewed, rolling out r72243.
10447        http://trac.webkit.org/changeset/72243
10448        https://bugs.webkit.org/show_bug.cgi?id=49710
10449
10450        Seemed to cause a large set of Chromium layout test to start
10451        failing. (Requested by dave_levin on #webkit).
10452
10453        * bindings/v8/V8NPUtils.cpp:
10454        (WebCore::convertV8ObjectToNPVariant):
10455
104562010-11-17  Adam Roben  <aroben@apple.com>
10457
10458        Fix Acid3 in Safari for Windows
10459
10460        Reviewed by Dave Hyatt.
10461
10462        * platform/graphics/win/SimpleFontDataWin.cpp:
10463        (WebCore::SimpleFontData::initGDIFont): Initialize all our metrics to 0
10464        if we have a font size of 0.
10465
104662010-11-17  Dimitri Glazkov  <dglazkov@chromium.org>
10467
10468        Reviewed by Darin Adler.
10469
10470        Converge means of querying a parent node into one way, which is Node::parentNode.
10471        https://bugs.webkit.org/show_bug.cgi?id=49686
10472
10473        No change in behavior, so no new tests.
10474
10475        * accessibility/AccessibilityObject.cpp:
10476        (WebCore::renderListItemContainerForNode): Changed to use parentNode.
10477        * accessibility/AccessibilityRenderObject.cpp:
10478        (WebCore::AccessibilityRenderObject::mouseButtonListener): Ditto.
10479        (WebCore::siblingWithAriaRole): Ditto.
10480        (WebCore::AccessibilityRenderObject::getDocumentLinks): Ditto.
10481        (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): Ditto.
10482        * accessibility/mac/AccessibilityObjectWrapper.mm: Ditto.
10483        (blockquoteLevel): Ditto.
10484        * bindings/v8/V8GCController.cpp:
10485        (WebCore::ObjectGrouperVisitor::visitDOMWrapper): Ditto.
10486        * dom/ContainerNode.cpp: Ditto.
10487        (WebCore::ContainerNode::insertBefore): Ditto.
10488        (WebCore::ContainerNode::insertBeforeCommon): Ditto.
10489        (WebCore::ContainerNode::replaceChild): Ditto.
10490        (WebCore::ContainerNode::removeChild): Ditto.
10491        (WebCore::ContainerNode::appendChild): Ditto.
10492        (WebCore::ContainerNode::parserAddChild): Ditto.
10493        * dom/DocumentType.cpp:
10494        (WebCore::DocumentType::insertedIntoDocument): Ditto.
10495        * dom/Element.cpp:
10496        (WebCore::Element::computeInheritedLanguage): Ditto.
10497        * dom/MouseRelatedEvent.cpp:
10498        (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
10499        * dom/Position.cpp:
10500        (WebCore::Position::isCandidate): Changed to use parentNode.
10501        * dom/PositionIterator.cpp:
10502        (WebCore::PositionIterator::isCandidate): Ditto.
10503        * editing/AppendNodeCommand.cpp:
10504        (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
10505        * editing/ApplyStyleCommand.cpp:
10506        (WebCore::dummySpanAncestorForNode): Ditto.
10507        (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Ditto.
10508        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto.
10509        (WebCore::highestEmbeddingAncestor): Ditto.
10510        (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto.
10511        (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): Ditto.
10512        (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): Ditto.
10513        * editing/CompositeEditCommand.cpp:
10514        (WebCore::CompositeEditCommand::splitTreeToNode): Ditto.
10515        * editing/DeleteSelectionCommand.cpp:
10516        (WebCore::updatePositionForNodeRemoval): Ditto.
10517        * editing/Editor.cpp:
10518        (WebCore::Editor::textDirectionForSelection): Ditto.
10519        * editing/MergeIdenticalElementsCommand.cpp:
10520        (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto.
10521        * editing/htmlediting.cpp:
10522        (WebCore::isEmptyTableCell): Ditto.
10523        * editing/markup.cpp:
10524        (WebCore::StyledMarkupAccumulator::serializeNodes): Ditto.
10525        * editing/visible_units.cpp:
10526        (WebCore::previousLinePosition): Ditto.
10527        (WebCore::nextLinePosition): Ditto.
10528        * html/HTMLAreaElement.cpp:
10529        (WebCore::HTMLAreaElement::imageElement): Ditto.
10530        * html/HTMLElement.cpp:
10531        (WebCore::HTMLElement::setOuterHTML): Ditto.
10532        (WebCore::HTMLElement::insertAdjacent): Ditto.
10533        (WebCore::HTMLElement::supportsFocus): Ditto.
10534        * html/HTMLEmbedElement.cpp:
10535        (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto.
10536        (WebCore::HTMLEmbedElement::attributeChanged): Ditto.
10537        * html/HTMLTableElement.cpp:
10538        (WebCore::HTMLTableElement::insertRow): Ditto.
10539        * html/HTMLTableRowsCollection.cpp: Ditto.
10540        (WebCore::isInHead): Ditto.
10541        (WebCore::isInBody): Ditto.
10542        (WebCore::isInFoot): Ditto.
10543        (WebCore::HTMLTableRowsCollection::rowAfter): Ditto.
10544        * html/HTMLViewSourceDocument.cpp:
10545        (WebCore::HTMLViewSourceDocument::addRange): Ditto.
10546        * html/MediaDocument.cpp:
10547        (WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto.
10548        * html/parser/HTMLConstructionSite.cpp:
10549        (WebCore::HTMLConstructionSite::attach): Ditto.
10550        (WebCore::HTMLConstructionSite::findFosterSite): Ditto.
10551        * html/parser/HTMLTreeBuilder.cpp:
10552        * page/FocusController.cpp:
10553        (WebCore::FocusController::findFocusableNodeInDirection): Ditto.
10554        * rendering/MediaControlElements.cpp:
10555        (WebCore::MediaControlElement::rendererIsNeeded): Ditto.
10556        (WebCore::MediaControlElement::attach): Ditto.
10557        (WebCore::MediaControlElement::updateStyle): Ditto.
10558        (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto.
10559        (WebCore::MediaControlInputElement::attach): Ditto.
10560        (WebCore::MediaControlInputElement::updateStyle): Ditto.
10561        * rendering/RenderSVGGradientStop.cpp:
10562        (WebCore::RenderSVGGradientStop::gradientElement): Ditto.
10563        * svg/SVGAElement.cpp:
10564        (WebCore::SVGAElement::createRenderer): Ditto.
10565        (WebCore::SVGAElement::childShouldCreateRenderer): Ditto.
10566        * svg/SVGFELightElement.cpp:
10567        (WebCore::SVGFELightElement::svgAttributeChanged): Ditto.
10568        (WebCore::SVGFELightElement::childrenChanged): Ditto.
10569        * svg/SVGFEMergeNodeElement.cpp:
10570        (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto.
10571        * svg/SVGLength.cpp:
10572        (WebCore::SVGLength::determineViewport): Ditto.
10573        * svg/SVGStyledElement.cpp:
10574        (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Ditto.
10575        * svg/SVGUseElement.cpp:
10576        (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree): Ditto.
10577        * svg/animation/SVGSMILElement.cpp:
10578        (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
10579        * xml/XPathNodeSet.cpp:
10580        (WebCore::XPath::NodeSet::sort): Ditto.
10581        * xml/XPathStep.cpp:
10582        (WebCore::XPath::Step::nodesInAxis): Ditto.
10583        * xml/XSLTProcessorLibxslt.cpp:
10584        (WebCore::xsltStylesheetPointer): Ditto.
10585
105862010-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
10587
10588        Reviewed by Andreas Kling.
10589
10590        ScrollView: Don't translate by scrollX/scrollY or clip when paintsEntireContents()
10591
10592        This makes paint() with paintEntireContents() do exactly what it's supposed to:
10593        paint from 0,0 to contentsSize().
10594
10595        The clipping was a no-op anyway since visibleContentRect() will return the whole
10596        rect in paintsEntireContents() mode.
10597
10598        * platform/ScrollView.cpp:
10599        (WebCore::ScrollView::paint):
10600
106012010-11-17  Kenneth Rohde Christansen  <kenneth@webkit.org>
10602
10603        Reviewed by Andreas Kling.
10604
10605        ScrollView: Update the actualVisibleContentRect after delegating a scroll.
10606
10607        This lets us avoid updating the actualVisibleContentRect from the client
10608        after each scroll. We had to do this synchronously for WebKit2 to support
10609        programmatic "animated scrolling" from JS.
10610
10611        * platform/ScrollView.cpp:
10612        (WebCore::ScrollView::setScrollPosition):
10613
106142010-11-17  Andreas Kling  <kling@webkit.org>
10615
10616        Reviewed by Kenneth Rohde Christiansen.
10617
10618        ScrollView: Decouple actualVisibleContentRect from visibleContentRect
10619
10620        Added actualVisibleContentRect() which will return the override provided
10621        by setActualVisibleContentRect() or fall back to visibleContentRect()
10622        if no override has been set.
10623
10624        This is similar to what the iPhone does.
10625
10626        * platform/ScrollView.cpp:
10627        (WebCore::ScrollView::visibleContentRect):
10628        * platform/ScrollView.h:
10629        (WebCore::ScrollView::actualVisibleContentRect):
10630        (WebCore::ScrollView::setActualVisibleContentRect): IntRect -> const IntRect&
10631
106322010-11-17  Tony Chang  <tony@chromium.org>
10633
10634        Reviewed by Adam Barth.
10635
10636        [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
10637        https://bugs.webkit.org/show_bug.cgi?id=49036
10638
10639        No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html
10640
10641        In http://codereview.chromium.org/11574, the forked chromium test
10642        plugin changed how it testGetIntIdentifier to work around a change
10643        caused by a silverlight specific plugin fix:
10644        http://codereview.chromium.org/11569/diff/1/2
10645
10646        It's not clear to me that this change is needed anymore since
10647        silverlight has had multiple releases, testing without this patch
10648        works on a test windows build, and safari win seems to run silverlight
10649        without this either.  Since there's no test for this behavior, I'm
10650        rolling it out so we can match the upstream test.
10651
10652        * bindings/v8/V8NPUtils.cpp:
10653        (WebCore::convertV8ObjectToNPVariant):
10654
106552010-11-17  Andreas Kling  <kling@webkit.org>
10656
10657        Reviewed by Kenneth Rohde Christiansen.
10658
10659        ScrollView: Let visibleContentRect() return the contentsSize() if paintsEntireContents()
10660
10661        * platform/ScrollView.cpp:
10662        (WebCore::ScrollView::visibleContentRect):
10663
106642010-11-17  James Simonsen  <simonjam@chromium.org>
10665
10666        Reviewed by Tony Chang.
10667
10668        [chromium] Fix negative letter spacing in complex text on linux
10669        https://bugs.webkit.org/show_bug.cgi?id=49563
10670
10671        Test: fast/text/atsui-negative-spacing-features.html
10672
10673        * platform/graphics/chromium/FontLinux.cpp: Make spacing signed.
10674
106752010-11-17  Andreas Kling  <kling@webkit.org>
10676
10677        Reviewed by Kenneth Rohde Christiansen.
10678
10679        ScrollView: Avoid unnecessary work in setScrollPosition() when scrolling is delegated.
10680
10681        * platform/ScrollView.cpp:
10682        (WebCore::ScrollView::setScrollPosition): If delegatesScrolling(), we never use the
10683        newScrollPosition, so move that calculation below the delegation path.
10684
106852010-11-17  Dave Hyatt  <hyatt@apple.com>
10686
10687        Reviewed by Sam Weinig.
10688
10689        https://bugs.webkit.org/show_bug.cgi?id=48537
10690
10691        Fonts with no vertical metrics should synthesize baselines when they appear
10692        on lines that do use fonts with vertical metrics.  Basically we want to make
10693        sure that English text behaves like vertical-align:middle, i.e., its baseline
10694        should be treated as though it cuts through the middle of the ascent+descent.
10695        
10696        The way this works is that each line in the line box tree is labeled as having
10697        a baseline type that is either ideographic or alphabetic for the purposes of
10698        vertical alignment.  A line becomes ideographic if any font with vertical tables
10699        is either explicitly specified as the primary font or in any of the used fonts
10700        in the text on that line.
10701        
10702        This baselineType is passed down to computeLogicalBoxHeights and placeBoxesInBlockDirection,
10703        and passed to the ascent and descent methods of the fonts that are examined.
10704        The underlying Font code selects an appropriate baseline given the type passed in.
10705        
10706        This patch also rewrites vertical alignment to lop 4 bytes off all RenderInlines and
10707        to instead carry around the cached vertical positions for RenderInlines in a new
10708        VerticalPositionCache object.  This cache only lives for a single layout
10709        operation, but it does cache information across all the lines built and placed during the
10710        layout.
10711        
10712        This matches the old behavior, since every call to layoutInlineChildren invalidated
10713        all of the vertical positions in all of the RenderInlines anyway.
10714        
10715        The VerticalPositionCache consists of two HashMaps, and it caches vertical alignment
10716        positions for both alphabetic and ideographic baseline types.
10717        
10718        The vertical-align computation has now been moved out of RenderBoxModelObject and
10719        RenderInline and just placed right into verticalPositionForBox in InlineFlowBox.
10720        This function has been changed to no longer be recursive when checking parents,
10721        and it now relies on the fact that the parent vertical alignment computation result
10722        has already been stored in the logicalTop() of that parent's line box.  By checking
10723        the line box logicalTop() value instead of recurring, the performance of first lines
10724        now significantly improves to no longer have O(n^2) behavior in the depth of the line
10725        box tree on the first line.
10726        
10727        All of the baselinePosition functions on the various RenderObjects have been amended
10728        to take a FontBaseline as the first argument.  This patch does not attempt to fix up
10729        MathML or form controls yet and just hardcodes AlphabeticBaselines for those renderers.
10730        
10731        The RenderTableCell baselinePosition virtual method has been made non-virtual and had
10732        all arguments removed, since it actually had no real connection with the rest of the 
10733        baseline positioning system.  Cell baseline positioning works by calling firstLineBoxBaseline,
10734        and that method has been patched to use the cached baselineType for the first line box
10735        when computing the baseline of that line.
10736         
10737        Added fast/blockflow/vertical-baseline-alignment.html and fast/blockflow/vertical-align-table-baseline.html.
10738
10739        * WebCore.xcodeproj/project.pbxproj:
10740        * mathml/RenderMathMLFraction.cpp:
10741        (WebCore::RenderMathMLFraction::baselinePosition):
10742        * mathml/RenderMathMLFraction.h:
10743        * mathml/RenderMathMLOperator.cpp:
10744        (WebCore::RenderMathMLOperator::baselinePosition):
10745        * mathml/RenderMathMLOperator.h:
10746        * mathml/RenderMathMLRow.cpp:
10747        (WebCore::RenderMathMLRow::baselinePosition):
10748        * mathml/RenderMathMLRow.h:
10749        * mathml/RenderMathMLSubSup.cpp:
10750        (WebCore::RenderMathMLSubSup::baselinePosition):
10751        * mathml/RenderMathMLSubSup.h:
10752        * mathml/RenderMathMLUnderOver.cpp:
10753        (WebCore::RenderMathMLUnderOver::layout):
10754        (WebCore::RenderMathMLUnderOver::baselinePosition):
10755        * mathml/RenderMathMLUnderOver.h:
10756        * platform/graphics/SimpleFontData.h:
10757        * rendering/InlineBox.h:
10758        (WebCore::InlineBox::baselinePosition):
10759        * rendering/InlineFlowBox.cpp:
10760        (WebCore::verticalPositionForBox):
10761        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
10762        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
10763        * rendering/InlineFlowBox.h:
10764        * rendering/InlineTextBox.cpp:
10765        (WebCore::InlineTextBox::baselinePosition):
10766        * rendering/InlineTextBox.h:
10767        * rendering/RenderBlock.cpp:
10768        (WebCore::RenderBlock::baselinePosition):
10769        (WebCore::RenderBlock::firstLineBoxBaseline):
10770        (WebCore::RenderBlock::lastLineBoxBaseline):
10771        * rendering/RenderBlock.h:
10772        * rendering/RenderBlockLineLayout.cpp:
10773        (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
10774        (WebCore::RenderBlock::layoutInlineChildren):
10775        * rendering/RenderBox.cpp:
10776        (WebCore::RenderBox::baselinePosition):
10777        * rendering/RenderBox.h:
10778        * rendering/RenderBoxModelObject.cpp:
10779        * rendering/RenderBoxModelObject.h:
10780        * rendering/RenderFileUploadControl.cpp:
10781        (WebCore::RenderFileUploadControl::paintObject):
10782        * rendering/RenderInline.cpp:
10783        (WebCore::RenderInline::RenderInline):
10784        (WebCore::RenderInline::baselinePosition):
10785        * rendering/RenderInline.h:
10786        * rendering/RenderListBox.cpp:
10787        (WebCore::RenderListBox::baselinePosition):
10788        * rendering/RenderListBox.h:
10789        * rendering/RenderListMarker.cpp:
10790        (WebCore::RenderListMarker::baselinePosition):
10791        * rendering/RenderListMarker.h:
10792        * rendering/RenderSlider.cpp:
10793        (WebCore::RenderSlider::baselinePosition):
10794        * rendering/RenderSlider.h:
10795        * rendering/RenderTableCell.cpp:
10796        (WebCore::RenderTableCell::baselinePosition):
10797        * rendering/RenderTableCell.h:
10798        * rendering/RenderTextControlMultiLine.cpp:
10799        (WebCore::RenderTextControlMultiLine::baselinePosition):
10800        * rendering/RenderTextControlMultiLine.h:
10801        * rendering/RootInlineBox.cpp:
10802        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
10803        * rendering/RootInlineBox.h:
10804        (WebCore::RootInlineBox::baselinePosition):
10805        * rendering/VerticalPositionCache.h: Added.
10806        (WebCore::VerticalPositionCache::VerticalPositionCache):
10807        (WebCore::VerticalPositionCache::get):
10808        (WebCore::VerticalPositionCache::set):
10809        * rendering/svg/SVGInlineTextBox.cpp:
10810        (WebCore::SVGInlineTextBox::calculateBoundaries):
10811
108122010-11-17  Sam Weinig  <sam@webkit.org>
10813
10814        Reviewed by Anders Carlsson.
10815
10816        Add stubbed out ScrollAnimator for the Mac
10817        https://bugs.webkit.org/show_bug.cgi?id=49678
10818
10819        * WebCore.xcodeproj/project.pbxproj:
10820        Add ScrollAnimator.h/cpp.
10821
10822        * platform/mac/ScrollAnimatorMac.cpp: Added.
10823        (WebCore::ScrollAnimator::create):
10824        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
10825        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
10826        (WebCore::ScrollAnimatorMac::scroll):
10827        (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
10828        * platform/mac/ScrollAnimatorMac.h: Added.
10829        ScrollAnimatorMac just calls through to the base class for now.
10830
108312010-11-17  Cris Neckar  <cdn@chromium.org>
10832
10833        Reviewed by Adam Barth.
10834
10835        Modified codepath for object fallback content which has failed to load.
10836        Refactored CachedResource error handling to use more granular statuses instead of a boolean value.
10837        https://bugs.webkit.org/show_bug.cgi?id=46921
10838
10839        Test: fast/html/object-image-nested-fallback.html
10840
10841        * html/HTMLObjectElement.cpp:
10842        (WebCore::HTMLObjectElement::renderFallbackContent):
10843        * loader/cache/CachedCSSStyleSheet.cpp:
10844        (WebCore::CachedCSSStyleSheet::error):
10845        * loader/cache/CachedCSSStyleSheet.h:
10846        * loader/cache/CachedFont.cpp:
10847        (WebCore::CachedFont::ensureCustomFontData):
10848        (WebCore::CachedFont::error):
10849        * loader/cache/CachedFont.h:
10850        * loader/cache/CachedImage.cpp:
10851        (WebCore::CachedImage::data):
10852        (WebCore::CachedImage::error):
10853        * loader/cache/CachedImage.h:
10854        * loader/cache/CachedResource.cpp:
10855        (WebCore::CachedResource::CachedResource):
10856        (WebCore::CachedResource::canUseCacheValidator):
10857        (WebCore::CachedResource::mustRevalidate):
10858        * loader/cache/CachedResource.h:
10859        (WebCore::CachedResource::error):
10860        (WebCore::CachedResource::httpStatusCodeError):
10861        (WebCore::CachedResource::errorOccurred):
10862        * loader/cache/CachedScript.cpp:
10863        (WebCore::CachedScript::error):
10864        * loader/cache/CachedScript.h:
10865        * loader/cache/CachedXSLStyleSheet.cpp:
10866        (WebCore::CachedXSLStyleSheet::error):
10867        * loader/cache/CachedXSLStyleSheet.h:
10868        * loader/loader.cpp:
10869        (WebCore::Loader::load):
10870        (WebCore::Loader::didFinishLoading):
10871        (WebCore::Loader::didFail):
10872        (WebCore::Loader::didReceiveData):
10873
108742010-11-16  Zhenyao Mo  <zmo@google.com>
10875
10876        Reviewed by Kenneth Russell.
10877
10878        WebGLRenderingContext needs to zero textures and renderbuffers
10879        https://bugs.webkit.org/show_bug.cgi?id=49355
10880
10881        Test: fast/canvas/webgl/uninitialized-test.html
10882
10883        * html/canvas/WebGLFramebuffer.cpp:
10884        (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
10885        (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
10886        * html/canvas/WebGLFramebuffer.h: Modify onAccess function signature.
10887        * html/canvas/WebGLRenderingContext.cpp:
10888        (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
10889        (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
10890        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
10891        (WebCore::WebGLRenderingContext::drawArrays): Ditto.
10892        (WebCore::WebGLRenderingContext::drawElements): Ditto.
10893        (WebCore::WebGLRenderingContext::readPixels): Ditto.
10894        (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
10895
108962010-11-17  Ryosuke Niwa  <rniwa@webkit.org>
10897
10898        Reviewed by Darin Adler.
10899
10900        Merge ScriptElement and ScriptElementData
10901        https://bugs.webkit.org/show_bug.cgi?id=49647
10902
10903        Merged two classes.
10904
10905        * dom/AsyncScriptRunner.cpp:
10906        (WebCore::AsyncScriptRunner::executeScriptSoon): Takes ScriptElement* instead of ScriptElementData*.
10907        (WebCore::AsyncScriptRunner::timerFired): Uses ScriptElement* instead of ScriptElementData*.
10908        * dom/AsyncScriptRunner.h:
10909        * dom/ScriptElement.cpp:
10910        (WebCore::ScriptElement::ScriptElement): Merged with ScriptElementData::ScriptElementData.
10911        (WebCore::ScriptElement::~ScriptElement): Merged with ScriptElementData::~ScriptElementData.
10912        (WebCore::ScriptElement::insertedIntoDocument): Calls createdByParser, isAsynchronous, requestScript, and scriptContent.
10913        (WebCore::ScriptElement::removedFromDocument): Calls stopLoadRequest.
10914        (WebCore::ScriptElement::childrenChanged): Calls createdByParser and accesses m_element.
10915        (WebCore::ScriptElement::finishParsingChildren): Calls scriptContent.
10916        (WebCore::ScriptElement::handleSourceAttribute): Calls ignoresLoadRequest and requestScript.
10917        (WebCore::ScriptElement::requestScript): Moved from ScriptElementData; calls dispatchErrorEvent.
10918        (WebCore::ScriptElement::evaluateScript): Moved from ScriptElementData.
10919        (WebCore::ScriptElement::executeScript): Ditto.
10920        (WebCore::ScriptElement::stopLoadRequest): Ditto.
10921        (WebCore::ScriptElement::execute): Moved from ScriptElementData; calls dispatchErrorEvent and dispatchLoadEvent.
10922        (WebCore::ScriptElement::notifyFinished): Moved from ScriptElementData.
10923        (WebCore::ScriptElement::ignoresLoadRequest): Ditto.
10924        (WebCore::ScriptElement::shouldExecuteAsJavaScript): Moved from ScriptElementData; calls typeAttributeValue, languageAttributeValue,
10925        forAttributeValue, and eventAttributeValue.
10926        (WebCore::ScriptElement::scriptCharset): Moved from ScriptElementData.
10927        (WebCore::ScriptElement::scriptContent): Ditto.
10928        (WebCore::ScriptElement::isAsynchronous): Moved from ScriptElementData; calls sourceAttributeValue and asyncAttributeValue.
10929        (WebCore::ScriptElement::isDeferred): Moved from ScriptElementData; calls sourceAttributeValue, asyncAttributeValue,
10930        and deferAttributeValue.
10931        * dom/ScriptElement.h:
10932        (WebCore::ScriptElement::element):
10933        (WebCore::ScriptElement::haveFiredLoadEvent):
10934        (WebCore::ScriptElement::setHaveFiredLoadEvent):
10935        (WebCore::ScriptElement::createdByParser):
10936        (WebCore::ScriptElement::isEvaluated):
10937
109382010-11-17  Tenghui Zhu  <ztenghui@google.com>
10939
10940        Reviewed by Jeremy Orlow.
10941
10942        profileCallback and profileEndCallback  should be guarded with ENABLE_JAVASCRIPT_DEBUGGER
10943        https://bugs.webkit.org/show_bug.cgi?id=49623
10944
10945        No new tests. Just a compiling error fix.
10946
10947        * bindings/v8/custom/V8ConsoleCustom.cpp:
10948          Add the guard ENABLE_JAVA_SCRIPT_DEBUGGER to profileCallback and profileEndCallback
10949
109502010-11-17  John Knottenbelt  <jknotten@chromium.org>
10951
10952        Reviewed by Jeremy Orlow.
10953
10954        Introduce GeoNotifierVector typedef for increased readability
10955        https://bugs.webkit.org/show_bug.cgi?id=49597
10956
10957        * page/Geolocation.cpp:
10958        (WebCore::Geolocation::Watchers::getNotifiersVector):
10959        (WebCore::Geolocation::sendError):
10960        (WebCore::Geolocation::sendPosition):
10961        (WebCore::Geolocation::stopTimer):
10962        (WebCore::Geolocation::stopTimersForOneShots):
10963        (WebCore::Geolocation::stopTimersForWatchers):
10964        (WebCore::Geolocation::cancelRequests):
10965        (WebCore::Geolocation::cancelAllRequests):
10966        (WebCore::Geolocation::handleError):
10967        (WebCore::Geolocation::makeSuccessCallbacks):
10968        * page/Geolocation.h:
10969
109702010-11-17  John Knottenbelt  <jknotten@chromium.org>
10971
10972        Reviewed by Jeremy Orlow.
10973
10974        Convert correctly between GeolocationPosition and Geoposition
10975        timestamp formats.
10976        https://bugs.webkit.org/show_bug.cgi?id=48518
10977
10978        Test: fast/dom/Geolocation/timestamp.html
10979
10980        * page/Geolocation.cpp:
10981        (WebCore::createGeoposition):
10982
109832010-11-17  Chang Shu  <chang.shu@nokia.com>
10984
10985        Reviewed by Antonio Gomes.
10986
10987        [Mac] Suppress single select popup menu when spatial navigation is enabled on Mac.
10988        This makes spatial navigation work properly for single select box.
10989
10990        Test: fast/events/spatial-navigation/snav-single-select.html
10991
10992        * dom/SelectElement.cpp:
10993        (WebCore::nextValidIndex):
10994        (WebCore::SelectElement::menuListDefaultEventHandler):
10995
109962010-11-17  Satish Sampath  <satish@chromium.org>
10997
10998        Reviewed by Jeremy Orlow.
10999
11000        Clear the speech input mock explicitly before each test.
11001        https://bugs.webkit.org/show_bug.cgi?id=49660
11002
11003        * platform/mock/SpeechInputClientMock.cpp:
11004        (WebCore::SpeechInputClientMock::clearResults): Added clearResults method.
11005        * platform/mock/SpeechInputClientMock.h:
11006
110072010-11-17  Alexander Pavlov  <apavlov@chromium.org>
11008
11009        [Chromium] Unreviewed, fix Chromium-Mac build from r72189.
11010
11011        * css/CSSPrimitiveValue.cpp:
11012        (WebCore::CSSPrimitiveValue::getDoubleValue):
11013
110142010-11-17  Hans Wennborg  <hans@chromium.org>
11015
11016        Reviewed by Jeremy Orlow.
11017
11018        IndexedDB: IDBKey::whereSyntax should impose conditions on all columns
11019        https://bugs.webkit.org/show_bug.cgi?id=49601
11020
11021        The WHERE clause should specifiy a condition for each key column to
11022        make sure that the ObjectStoreData_composit index can be used when
11023        querying the object store based on key. Not using the index causes
11024        severe performance degradation for common IDB operations.
11025
11026        * storage/IDBKey.cpp:
11027        (WebCore::IDBKey::whereSyntax):
11028
110292010-11-17  Eric Uhrhane  <ericu@chromium.org>
11030
11031        Reviewed by David Levin.
11032
11033        [Chromium] implementation of async FileWriter for workers
11034        https://bugs.webkit.org/show_bug.cgi?id=47681
11035
11036        Tests are in a separate changelist.
11037
11038        * platform/CrossThreadCopier.h: Changed CrossThreadCopier[Base] to support PassRefPtrs
11039
110402010-11-17  Alejandro G. Castro  <alex@igalia.com>
11041
11042        Reviewed by Martin Robinson.
11043
11044        [gtk] r69119 modified just the gtk2 version of the
11045        scrolled_window_paint function but not the gtk3 version
11046        https://bugs.webkit.org/show_bug.cgi?id=49585
11047
11048        Use gtk_paint_shadow the same as the actual code from GTK+. Avoid
11049        using state and use the same values we are using for gtk2 in the
11050        paint function.
11051
11052        * platform/gtk/ScrollbarThemeGtk.cpp:
11053        (WebCore::ScrollbarThemeGtk::paintButton): Initialized the
11054        depressed attribute of the state variable to avoid using it
11055        without initialization.
11056        * platform/gtk/gtk3drawing.c:
11057        (moz_gtk_scrolled_window_paint):
11058
110592010-11-16  Alexander Pavlov  <apavlov@chromium.org>
11060
11061        Reviewed by Simon Fraser.
11062
11063        CSSPrimitiveValue.getFloatValue does not convert sizes
11064        https://bugs.webkit.org/show_bug.cgi?id=35770
11065
11066        Implemented all same-category unit conversions (length, angle, time, frequency) and retained
11067        absolute-relative (cm, mm, in, pt, pc) length conversions intact.
11068        Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.
11069
11070        * css/CSSPrimitiveValue.cpp:
11071        (WebCore::unitCategory):
11072        (WebCore::conversionToCanonicalUnitsScaleFactor):
11073        (WebCore::CSSPrimitiveValue::getDoubleValue):
11074        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
11075        (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
11076        (WebCore::CSSPrimitiveValue::getIdent):
11077        * css/CSSPrimitiveValue.h:
11078        (WebCore::CSSPrimitiveValue::getFloatValue):
11079        (WebCore::CSSPrimitiveValue::getIntValue):
11080
110812010-11-17  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
11082
11083        Reviewed by Andreas Kling.
11084
11085        Document::nodesFromRect() has wrong source code documentation
11086        https://bugs.webkit.org/show_bug.cgi?id=49610
11087
11088        * dom/Document.h: fix nodesFromRect() documentation
11089
110902010-11-17  Alexis Menard  <alexis.menard@nokia.com>, Simon Hausmann  <simon.hausmann@nokia.com>
11091
11092        Reviewed by Kenneth Christiansen, Tor Arne Vestbø.
11093
11094        [Qt] Add support for use GStreamer with the Qt build
11095
11096        Make it possible to use gstreamer with the Qt build via the USE_GSTREAMER macro. The
11097        integration is rather basic at this point, allowing for software based rendering
11098        only at the moment. AC integration and fullscreen playback is still missing.
11099
11100        * WebCore.pro: Added a bunch of gstreamer files to the build and guard it as a
11101        build option with the USE_GSTREAMER macro.
11102        * platform/graphics/MediaPlayer.cpp:
11103        (WebCore::installedMediaEngines): Don't use the generic media player registration
11104        when using GStreamer. These #ifdefs should be removed, but the gstreamer folks want
11105        to be able to build with gstreamer _and_ another backend simultaenously.
11106        * platform/graphics/gstreamer/ImageGStreamer.h:
11107        * platform/graphics/gstreamer/ImageGStreamerQt.cpp: Added.
11108        (ImageGStreamer::createImage):
11109        (ImageGStreamer::ImageGStreamer):
11110        (ImageGStreamer::~ImageGStreamer):
11111        * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Added.
11112        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: Added.
11113        (FullScreenVideoWindow::FullScreenVideoWindow):
11114        (FullScreenVideoWindow::keyPressEvent):
11115        (FullScreenVideoWindow::event):
11116        (PlatformVideoWindow::PlatformVideoWindow):
11117        (PlatformVideoWindow::~PlatformVideoWindow):
11118        (PlatformVideoWindow::prepareForOverlay):
11119
111202010-11-17  Alexander Pavlov  <apavlov@chromium.org>
11121
11122        Reviewed by Pavel Feldman.
11123
11124        Web Inspector: [REGRESSION] editing disabled styles breaks style bodies.
11125        https://bugs.webkit.org/show_bug.cgi?id=49602
11126
11127        * inspector/InspectorStyleSheet.cpp:
11128        (WebCore::InspectorStyle::setPropertyText):
11129        * inspector/front-end/StylesSidebarPane.js:
11130        (WebInspector.StylePropertyTreeElement.prototype.get name):
11131        (WebInspector.StylePropertyTreeElement.prototype.get priority):
11132        (WebInspector.StylePropertyTreeElement.prototype.get value):
11133
111342010-11-16  Adam Roben  <aroben@apple.com>
11135
11136        Move QTMovieWin's settings into a vsprops file
11137
11138        Fixes <http://webkit.org/b/49644> QTMovieWin should use a vsprops file
11139
11140        Reviewed by Steve Falkenburg.
11141
11142        * WebCore.vcproj/QTMovieWin.vcproj:
11143        * WebCore.vcproj/QTMovieWinCommon.vsprops: Added.
11144
111452010-11-16  Andy Estes  <aestes@apple.com>
11146
11147        Reviewed by Dave Hyatt.
11148
11149        WebKit mishandles line boxes where the content height exceeds the
11150        specified line-height.
11151        https://bugs.webkit.org/show_bug.cgi?id=49410
11152
11153        If a line height is explicitly specified on a text box and fallback
11154        fonts are in use, only the primary font should be considered when
11155        computing the box's ascent and descent. This prevents the inline box
11156        from being sized larger than the specified line height.
11157
11158        This patch also fixes a math error when computing a used font's descent
11159        in the case where line height isn't explicitly set. This change results
11160        in a number of layout tests needing re-baselining.
11161
11162        Test: fast/css/line-height-determined-by-primary-font.html
11163
11164        * rendering/InlineFlowBox.cpp:
11165        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
11166
111672010-11-15  Ryosuke Niwa  <rniwa@webkit.org>
11168
11169        Reviewed by Darin Adler.
11170
11171        ScriptElementData should be a private member of ScriptElement
11172        https://bugs.webkit.org/show_bug.cgi?id=49578
11173
11174        Privatized m_data of ScriptElement. Added haveFiredLoadEvent, setHaveFiredLoadEvent, createdByParser,
11175        and isEvaluated to ScriptElement to proxy calls from HTMLScriptElement and SVGScriptElement to ScriptElementData.
11176
11177        No tests are added since this is a cleanup.
11178
11179        * dom/ScriptElement.h:
11180        (WebCore::ScriptElement::haveFiredLoadEvent): Added.
11181        (WebCore::ScriptElement::setHaveFiredLoadEvent): Added.
11182        (WebCore::ScriptElement::createdByParser): Added.
11183        (WebCore::ScriptElement::isEvaluated): Added.
11184        * html/HTMLScriptElement.cpp:
11185        (WebCore::HTMLScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent and setHaveFiredLoadEvent.
11186        (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Calls isEvaluated.
11187        * html/HTMLScriptElement.h:
11188        (WebCore::HTMLScriptElement::text): Calls scriptContent.
11189        (WebCore::HTMLScriptElement::haveFiredLoadEvent): Calls haveFiredLoadEvent.
11190        * svg/SVGScriptElement.cpp:
11191        (WebCore::SVGScriptElement::svgAttributeChanged): Calls haveFiredLoadEvent and createdByParser.
11192        (WebCore::SVGScriptElement::insertedIntoDocument): Calls createdByParser.
11193        (WebCore::SVGScriptElement::finishParsingChildren): Calls setHaveFiredLoadEvent.
11194        (WebCore::SVGScriptElement::haveLoadedRequiredResources): Ditto.
11195        (WebCore::SVGScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent.
11196        (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Calls createdByParser,
11197        haveFiredLoadEvent, and setHaveFiredLoadEvent.
11198
111992010-11-16  Antti Koivisto  <antti@apple.com>
11200
11201        Reviewed by Darin Adler.
11202
11203        https://bugs.webkit.org/show_bug.cgi?id=49320
11204        Minor ResourceLoadScheduler cleanups
11205
11206        * loader/ResourceLoadScheduler.cpp:
11207        (WebCore::ResourceLoadScheduler::scheduleLoad):
11208        (WebCore::ResourceLoadScheduler::servePendingRequests):
11209        (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
11210        (WebCore::ResourceLoadScheduler::HostInformation::remove):
11211        (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
11212        * loader/ResourceLoadScheduler.h:
11213
112142010-11-16  Dave Hyatt  <hyatt@apple.com>
11215
11216        Reviewed by Sam Weinig.
11217
11218        Add a baselineType member to RootInlineBox that caches whether the default baseline behavior for that
11219        line should be ideographic or alphabetic.  Add a requiresIdeographicsBaseline recursive function to
11220        InlineFlowBox that scans for the use of any vertical fonts.
11221
11222        * rendering/InlineFlowBox.cpp:
11223        (WebCore::InlineFlowBox::requiresIdeographicBaseline):
11224        * rendering/InlineFlowBox.h:
11225        * rendering/RootInlineBox.cpp:
11226        (WebCore::RootInlineBox::RootInlineBox):
11227        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
11228        * rendering/RootInlineBox.h:
11229        (WebCore::RootInlineBox::baselineType):
11230
112312010-11-16  Dave Hyatt  <hyatt@apple.com>
11232
11233        Reviewed by Sam Weinig.
11234
11235        Add FontBaseline.h and make ascent and descent take a baseline parameter so that both an
11236        alphabetic and ideographic baseline can be requested.
11237
11238        * WebCore.xcodeproj/project.pbxproj:
11239        * platform/graphics/Font.h:
11240        (WebCore::Font::ascent):
11241        (WebCore::Font::descent):
11242        * platform/graphics/FontBaseline.h: Added.
11243        * platform/graphics/SimpleFontData.h:
11244        (WebCore::SimpleFontData::ascent):
11245        (WebCore::SimpleFontData::descent):
11246        (WebCore::SimpleFontData::height):
11247
112482010-11-16  Antti Koivisto  <koivisto@iki.fi>
11249
11250        Reviewed by Adam Barth.
11251
11252        https://bugs.webkit.org/show_bug.cgi?id=31223
11253        Make primitive values immutable.
11254        
11255        Make CSSPrimitiveValue setFloatValue and setStringValue always throw NO_MODIFICATION_ALLOWED exception.
11256    
11257        Reasoning:
11258        - these setters never worked correctly, style was not invalidated so changing values would have no effect on rendering
11259        - computed style is immutable in all cases, and it wasn't
11260        - no other engine seems to support mutable primitives, as a result there is no content using these APIs
11261        - mutable primitive values are pointless, the usual way to change the value of a propertly is to replace it with a new value
11262        - allowing mutation of primitive values makes optimizations harder
11263
11264        * css/CSSPrimitiveValue.cpp:
11265        (WebCore::CSSPrimitiveValue::setFloatValue):
11266        (WebCore::CSSPrimitiveValue::setStringValue):
11267
112682010-11-16  Steve Falkenburg  <sfalken@apple.com>
11269
11270        Reviewed by Adam Roben.
11271
11272        Disable LTCG for Windows Release builds. Add new Release_LTCG configuration.
11273        https://bugs.webkit.org/show_bug.cgi?id=49632
11274
11275        * WebCore.vcproj/QTMovieWin.vcproj:
11276        * WebCore.vcproj/WebCore.make:
11277        * WebCore.vcproj/WebCore.sln:
11278        * WebCore.vcproj/WebCore.vcproj:
11279
112802010-11-16  Anders Carlsson  <andersca@apple.com>
11281
11282        Reviewed by John Sullivan.
11283
11284        Set the original URL for downloads
11285        https://bugs.webkit.org/show_bug.cgi?id=49628
11286
11287        Export symbols needed by WebKit2.
11288
11289        * WebCore.exp.in:
11290
112912010-11-16  Dave Hyatt  <hyatt@apple.com>
11292
11293        Reviewed by Dan Bernstein.
11294
11295        https://bugs.webkit.org/show_bug.cgi?id=11004
11296        
11297        font-size:0 is ignored.  Remove the minimum font size of 1 in CSSStyleSelector.
11298        Change the pref value for minimum font size from 1 to 0.  Make sure to never use the NSFont's size,
11299        since it doesn't honor a size of 0.  Instead pass the size in to the FontPlatformData(NSFont*) version
11300        of the constructor rather than using [NSFont pointSize].
11301
11302        https://bugs.webkit.org/show_bug.cgi?id=49582
11303        
11304        Negative leading is not handled correctly.  There are two bugs here.  The first is that
11305        maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
11306        set them before so that we can allow them to be < 0.
11307        
11308        The second issue is that we should understand where fonts will end up relative to
11309        our baseline (excluding line height), and only allow those boxes to impact ascent and
11310        descent if the actual font box (without factoring in line height) is above or below the
11311        root line box baseline.
11312
11313        Added fast/css/negative-leading.html
11314        
11315        These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
11316
11317        * WebCore.exp.in:
11318        * css/CSSStyleSelector.cpp:
11319        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
11320        * platform/graphics/cocoa/FontPlatformData.h:
11321        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
11322        (WebCore::FontPlatformData::FontPlatformData):
11323        * platform/graphics/mac/FontCacheMac.mm:
11324        (WebCore::FontCache::getFontDataForCharacters):
11325        (WebCore::FontCache::createFontPlatformData):
11326        * platform/graphics/mac/SimpleFontDataMac.mm:
11327        (WebCore::SimpleFontData::smallCapsFontData):
11328        * rendering/InlineFlowBox.cpp:
11329        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
11330        * rendering/InlineFlowBox.h:
11331        * rendering/RootInlineBox.cpp:
11332        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
11333
113342010-11-16  Darin Adler  <darin@apple.com>
11335
11336        https://bugs.webkit.org/show_bug.cgi?id=49611
11337        REGRESSION (r72115): 5 layout tests are broken
11338
11339        * loader/FrameLoader.cpp:
11340        (WebCore::FrameLoader::loadFrameRequest): Roll change from
11341        https://bugs.webkit.org/show_bug.cgi?id=48603 out. I'll roll
11342        it back in after fixing the failing tests.
11343
113442010-11-16  Dan Bernstein  <mitz@apple.com>
11345
11346        Reviewed by Simon Fraser.
11347
11348        <rdar://problem/8672000> REGRESSION (r72040): Error image with alt text can cause style to be frozen in a subtree
11349        https://bugs.webkit.org/show_bug.cgi?id=49579
11350
11351        r72040 introduced a call to setNeedsStyleRecalc() from RenderImage::imageChanged(). When imageChanged()
11352        got called beneath recalcStyle() on some ancestor element, the result was that the ancestor’s
11353        childNeedsStyleRecalc flag got cleared, but its descendants all the way down to the image did not.
11354        Thereafter, setNeedsStyleRecalc() would fail to propagate from that subtree up to the root. The fix
11355        is to avoid the newly-added setNeedsStyleRecalc() in most cases, including during reclacStyle(), and
11356        just keep it for when it is needed.
11357
11358        Tests: fast/block/float/015.html
11359               fast/images/style-access-during-imageChanged-style-freeze.html
11360
11361        * dom/Document.cpp:
11362        (WebCore::Document::isPendingStyleRecalc): Added.
11363        * dom/Document.h:
11364        * rendering/RenderImage.cpp:
11365        (WebCore::RenderImage::imageChanged): Only defer intrinsic size compoutation if a style recalc
11366        is coming (indicating that current style() is stale).
11367
113682010-11-11  Zhenyao Mo  <zmo@google.com>
11369
11370        Reviewed by Kenneth Russell.
11371
11372        Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
11373        https://bugs.webkit.org/show_bug.cgi?id=47196
11374
11375        * html/canvas/WebGLRenderingContext.cpp:
11376        (WebCore::WebGLRenderingContext::texImage2DImpl): Apply UNPACK_COLORSPACE_CONVERSION settings to image uploading.
11377        (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
11378        * platform/graphics/GraphicsContext3D.cpp:
11379        (WebCore::GraphicsContext3D::extractImageData): Ditto.
11380        * platform/graphics/GraphicsContext3D.h:
11381        * platform/graphics/ImageSource.cpp:
11382        (WebCore::ImageSource::ImageSource): Add ignoreGammaColorProfile parameter.
11383        (WebCore::ImageSource::setData): Ditto.
11384        * platform/graphics/ImageSource.h:
11385        * platform/graphics/cg/GraphicsContext3DCG.cpp:
11386        (WebCore::GraphicsContext3D::getImageData): Ditto.
11387        * platform/graphics/cg/ImageSourceCG.cpp:
11388        (WebCore::ImageSource::ImageSource): Ditto.
11389        * platform/graphics/qt/GraphicsContext3DQt.cpp:
11390        (WebCore::GraphicsContext3D::getImageData): Ditto.
11391        * platform/graphics/qt/ImageDecoderQt.cpp:
11392        (WebCore::ImageDecoder::create): Ditto.
11393        (WebCore::ImageDecoderQt::ImageDecoderQt): Ditto.
11394        * platform/graphics/qt/ImageDecoderQt.h:
11395        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
11396        (WebCore::GraphicsContext3D::getImageData): Ditto.
11397        * platform/image-decoders/ImageDecoder.cpp:
11398        (WebCore::ImageDecoder::create): Ditto.
11399        * platform/image-decoders/ImageDecoder.h:
11400        (WebCore::ImageDecoder::ImageDecoder): Ditto.
11401        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
11402        (WebCore::BMPImageDecoder::BMPImageDecoder):
11403        * platform/image-decoders/bmp/BMPImageDecoder.h:
11404        * platform/image-decoders/gif/GIFImageDecoder.cpp:
11405        (WebCore::GIFImageDecoder::GIFImageDecoder): Ditto.
11406        * platform/image-decoders/gif/GIFImageDecoder.h:
11407        * platform/image-decoders/ico/ICOImageDecoder.cpp:
11408        (WebCore::ICOImageDecoder::ICOImageDecoder): Ditto.
11409        (WebCore::ICOImageDecoder::decodeAtIndex): Ditto.
11410        * platform/image-decoders/ico/ICOImageDecoder.h:
11411        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
11412        (WebCore::JPEGImageDecoder::JPEGImageDecoder): Ditto.
11413        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
11414        * platform/image-decoders/png/PNGImageDecoder.cpp:
11415        (WebCore::PNGImageDecoder::PNGImageDecoder): Ditto.
11416        (WebCore::PNGImageDecoder::headerAvailable): Ignore gamma settings if ignoreGammaAndColorProfile is true.
11417        * platform/image-decoders/png/PNGImageDecoder.h:
11418        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
11419        (WebCore::WEBPImageDecoder::WEBPImageDecoder): Add ignoreGammaAndColorProfile parameter.
11420        * platform/image-decoders/webp/WEBPImageDecoder.h:
11421
114222010-11-16  Eric Carlson  <eric.carlson@apple.com>
11423
11424        Unreviewed attempt to fix GTK build after http://trac.webkit.org/changeset/72117
11425
11426        * platform/graphics/MediaPlayer.cpp:
11427        (WebCore::installedMediaEngines):
11428
114292010-11-12  Zhenyao Mo  <zmo@google.com>
11430
11431        Reviewed by Kenneth Russell.
11432
11433        Refactor GL backend flags
11434        https://bugs.webkit.org/show_bug.cgi?id=49460
11435
11436        * html/canvas/WebGLRenderingContext.cpp:
11437        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Call setupFlags().
11438        (WebCore::WebGLRenderingContext::initializeNewContext): Remove flag initialization to setupFlags().
11439        (WebCore::WebGLRenderingContext::setupFlags): Initialize GL flags.
11440        (WebCore::WebGLRenderingContext::getRenderbufferParameter): Use accessor function instead of member.
11441        (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
11442        * html/canvas/WebGLRenderingContext.h: Use flags set in setupFlags instead of querying underlying GL implementation.
11443        (WebCore::WebGLRenderingContext::isGLES2Compliant):
11444        (WebCore::WebGLRenderingContext::isGLES2NPOTStrict):
11445        (WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses):
11446        (WebCore::WebGLRenderingContext::isResourceSafe):
11447        (WebCore::WebGLRenderingContext::isDepthStencilSupported):
11448        * platform/graphics/Extensions3D.h: Add NPOT extension.
11449        * platform/graphics/GraphicsContext3D.h: Remove GL flag queries at this level.
11450        * platform/graphics/chromium/Extensions3DChromium.h: Add resource_safe and strict_attribs extensions.
11451        * platform/graphics/mac/GraphicsContext3DMac.mm: Remove GL flag queries at this level.
11452
114532010-11-16  Kenneth Russell  <kbr@google.com>
11454
11455        Reviewed by Dimitri Glazkov.
11456
11457        WebIDL conversions from string to number and array to number should not generate TypeError
11458        https://bugs.webkit.org/show_bug.cgi?id=49218
11459
11460        Recent SVG-related changes to the StrictTypeChecking extended attribute in
11461        CodeGeneratorJS.pm and CodeGeneratorV8.pm were not correct according to the Web IDL and
11462        ECMA-262 specifications. In particular, when an attribute or function argument is specified
11463        as a number type (floating-point or integer), passing in a String or object is not supposed
11464        to raise an exception.
11465
11466        The original intent of the StrictTypeChecking extended attribute was to properly raise
11467        TypeError when an interface type is required, but the supplied object does not implement the
11468        interface type (http://dev.w3.org/2006/webapi/WebIDL/#es-interface). Historically WebKit has
11469        silently passed null to the C++ bindings in this case. The handling of strings in the
11470        original StrictTypeChecking implementation was also incorrect, raising exceptions when it
11471        should not.
11472
11473        The semantics of StrictTypeChecking have been changed to enforce only the restrictions on
11474        interface types. The V8 custom bindings for WebGL have been updated to match the behavior of
11475        the autogenerated code.
11476
11477        Test: fast/canvas/webgl/type-conversion-test.html
11478
11479        * bindings/scripts/CodeGeneratorJS.pm:
11480        * bindings/scripts/CodeGeneratorV8.pm:
11481        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
11482        (WebCore::getObjectParameter):
11483        (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
11484        (WebCore::V8WebGLRenderingContext::getParameterCallback):
11485        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
11486        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
11487        (WebCore::vertexAttribAndUniformHelperf):
11488
114892010-11-16  Alexey Proskuryakov  <ap@apple.com>
11490
11491        Windows build fix.
11492
11493        * DerivedSources.cpp: Removing CSS Variables generated files.
11494
114952010-11-16  Eric Carlson  <eric.carlson@apple.com>
11496
11497        Reviewed by John Sullivan.
11498
11499        getMIMEType(s)ForExtension should consult system mapping
11500        https://bugs.webkit.org/show_bug.cgi?id=49497
11501
11502        No new tests possible.
11503
11504        * platform/MIMETypeRegistry.cpp:
11505        (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Add the type returned by getMIMETypeForExtension. 
11506        Put the result of mediaMIMETypeMap().get() in a local variable and test instead of calling
11507        constains() and then get().
11508        (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): Ditto.
11509
115102010-11-16  Eric Carlson  <eric.carlson@apple.com>
11511
11512        Reviewed by Darin Adler.
11513
11514        Rename QTKit based media engine class name
11515        https://bugs.webkit.org/show_bug.cgi?id=36663
11516
11517        No new tests as this just renames a class and restructures existing code.
11518
11519        * platform/graphics/MediaPlayer.cpp:
11520        (WebCore::installedMediaEngines): Use a macro with the platform media player class name to reduce the
11521        number of #ifs in the code.
11522
11523        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Rename MediaPlayerPrivate to MediaPlayerPrivateQTKit.
11524        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
11525        (WebCore::MediaPlayerPrivateQTKit::create):
11526        (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
11527        (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
11528        (WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit):
11529        (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
11530        (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
11531        (WebCore::MediaPlayerPrivateQTKit::detachQTMovieView):
11532        (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
11533        (WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer):
11534        (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
11535        (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
11536        (WebCore::MediaPlayerPrivateQTKit::currentRenderingMode):
11537        (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
11538        (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
11539        (WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering):
11540        (WebCore::MediaPlayerPrivateQTKit::hasSetUpVideoRendering):
11541        (WebCore::MediaPlayerPrivateQTKit::createQTTime):
11542        (WebCore::MediaPlayerPrivateQTKit::resumeLoad):
11543        (WebCore::MediaPlayerPrivateQTKit::load):
11544        (WebCore::MediaPlayerPrivateQTKit::loadInternal):
11545        (WebCore::MediaPlayerPrivateQTKit::prepareToPlay):
11546        (WebCore::MediaPlayerPrivateQTKit::platformMedia):
11547        (WebCore::MediaPlayerPrivateQTKit::platformLayer):
11548        (WebCore::MediaPlayerPrivateQTKit::play):
11549        (WebCore::MediaPlayerPrivateQTKit::pause):
11550        (WebCore::MediaPlayerPrivateQTKit::duration):
11551        (WebCore::MediaPlayerPrivateQTKit::currentTime):
11552        (WebCore::MediaPlayerPrivateQTKit::seek):
11553        (WebCore::MediaPlayerPrivateQTKit::doSeek):
11554        (WebCore::MediaPlayerPrivateQTKit::cancelSeek):
11555        (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
11556        (WebCore::MediaPlayerPrivateQTKit::paused):
11557        (WebCore::MediaPlayerPrivateQTKit::seeking):
11558        (WebCore::MediaPlayerPrivateQTKit::naturalSize):
11559        (WebCore::MediaPlayerPrivateQTKit::hasVideo):
11560        (WebCore::MediaPlayerPrivateQTKit::hasAudio):
11561        (WebCore::MediaPlayerPrivateQTKit::supportsFullscreen):
11562        (WebCore::MediaPlayerPrivateQTKit::setVolume):
11563        (WebCore::MediaPlayerPrivateQTKit::hasClosedCaptions):
11564        (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
11565        (WebCore::MediaPlayerPrivateQTKit::setRate):
11566        (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
11567        (WebCore::MediaPlayerPrivateQTKit::buffered):
11568        (WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable):
11569        (WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded):
11570        (WebCore::MediaPlayerPrivateQTKit::bytesLoaded):
11571        (WebCore::MediaPlayerPrivateQTKit::totalBytes):
11572        (WebCore::MediaPlayerPrivateQTKit::cancelLoad):
11573        (WebCore::MediaPlayerPrivateQTKit::cacheMovieScale):
11574        (WebCore::MediaPlayerPrivateQTKit::isReadyForVideoSetup):
11575        (WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
11576        (WebCore::MediaPlayerPrivateQTKit::updateStates):
11577        (WebCore::MediaPlayerPrivateQTKit::loadStateChanged):
11578        (WebCore::MediaPlayerPrivateQTKit::rateChanged):
11579        (WebCore::MediaPlayerPrivateQTKit::sizeChanged):
11580        (WebCore::MediaPlayerPrivateQTKit::timeChanged):
11581        (WebCore::MediaPlayerPrivateQTKit::didEnd):
11582        (WebCore::MediaPlayerPrivateQTKit::setSize):
11583        (WebCore::MediaPlayerPrivateQTKit::setVisible):
11584        (WebCore::MediaPlayerPrivateQTKit::hasAvailableVideoFrame):
11585        (WebCore::MediaPlayerPrivateQTKit::repaint):
11586        (WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext):
11587        (WebCore::MediaPlayerPrivateQTKit::paint):
11588        (WebCore::MediaPlayerPrivateQTKit::getSupportedTypes):
11589        (WebCore::MediaPlayerPrivateQTKit::supportsType):
11590        (WebCore::MediaPlayerPrivateQTKit::isAvailable):
11591        (WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks):
11592        (WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks):
11593        (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
11594        (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
11595        (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin):
11596        (WebCore::MediaPlayerPrivateQTKit::movieLoadType):
11597        (WebCore::MediaPlayerPrivateQTKit::setPreload):
11598        (WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue):
11599        (-[WebCoreMovieObserver initWithCallback:]):
11600
116012010-11-16  Alexey Proskuryakov  <ap@apple.com>
11602
11603        Reviewed by Dave Hyatt.
11604
11605        https://bugs.webkit.org/show_bug.cgi?id=49483
11606        Remove CSS Variable support
11607
11608        * Android.derived.jscbindings.mk:
11609        * Android.derived.v8bindings.mk:
11610        * Android.mk:
11611        * CMakeLists.txt:
11612        * DerivedSources.make:
11613        * GNUmakefile.am:
11614        * WebCore.gypi:
11615        * WebCore.pri:
11616        * WebCore.pro:
11617        * WebCore.vcproj/WebCore.vcproj:
11618        * WebCore.xcodeproj/project.pbxproj:
11619        * bindings/js/JSCSSRuleCustom.cpp:
11620        (WebCore::toJS):
11621        * bindings/v8/custom/V8DOMWindowCustom.cpp
11622        * bindings/objc/DOMCSS.mm:
11623        (kitClass):
11624        * bindings/scripts/CodeGeneratorJS.pm:
11625        * css/CSSComputedStyleDeclaration.cpp:
11626        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
11627        * css/CSSGrammar.y:
11628        * css/CSSMutableStyleDeclaration.cpp:
11629        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
11630        (WebCore::CSSMutableStyleDeclaration::removeProperty):
11631        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
11632        (WebCore::CSSMutableStyleDeclaration::copy):
11633        * css/CSSMutableStyleDeclaration.h:
11634        (WebCore::CSSMutableStyleDeclaration::create):
11635        * css/CSSParser.cpp:
11636        (WebCore::CSSParser::CSSParser):
11637        (WebCore::CSSParser::~CSSParser):
11638        (WebCore::CSSParser::parseValue):
11639        (WebCore::CSSParser::lex):
11640        (WebCore::CSSParser::recheckAtKeyword):
11641        (WebCore::CSSParser::text):
11642        (WebCore::CSSParser::createMediaRule):
11643        (WebCore::CSSParser::createKeyframesRule):
11644        (WebCore::CSSParser::createStyleRule):
11645        (WebCore::CSSParser::createFontFaceRule):
11646        (WebCore::CSSParser::addNamespace):
11647        (WebCore::CSSParser::createPageRule):
11648        * css/CSSParser.h:
11649        * css/CSSParserValues.cpp:
11650        (WebCore::CSSParserValueList::addValue):
11651        (WebCore::CSSParserValueList::deleteValueAt):
11652        (WebCore::CSSParserValue::createCSSValue):
11653        * css/CSSParserValues.h:
11654        (WebCore::CSSParserValueList::CSSParserValueList):
11655        * css/CSSPrimitiveValue.cpp:
11656        (WebCore::CSSPrimitiveValue::cleanup):
11657        (WebCore::CSSPrimitiveValue::getStringValue):
11658        (WebCore::CSSPrimitiveValue::cssText):
11659        (WebCore::CSSPrimitiveValue::parserValue):
11660        * css/CSSPrimitiveValue.h:
11661        * css/CSSProperty.cpp:
11662        (WebCore::CSSProperty::cssText):
11663        * css/CSSPropertyNames.in:
11664        * css/CSSRule.h:
11665        * css/CSSRule.idl:
11666        * css/CSSStyleDeclaration.cpp:
11667        (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
11668        * css/CSSStyleSelector.cpp:
11669        (WebCore::CSSStyleSelector::addMatchedDeclaration):
11670        (WebCore::CSSRuleSet::addRulesFromSheet):
11671        (WebCore::CSSStyleSelector::applyProperty):
11672        * css/CSSStyleSelector.h:
11673        * css/CSSValue.h:
11674        * css/CSSVariableDependentValue.cpp: Removed.
11675        * css/CSSVariableDependentValue.h: Removed.
11676        * css/CSSVariablesDeclaration.cpp: Removed.
11677        * css/CSSVariablesDeclaration.h: Removed.
11678        * css/CSSVariablesDeclaration.idl: Removed.
11679        * css/CSSVariablesRule.cpp: Removed.
11680        * css/CSSVariablesRule.h: Removed.
11681        * css/CSSVariablesRule.idl: Removed.
11682        * css/StyleBase.h:
11683        (WebCore::StyleBase::isMediaRule):
11684        * css/tokenizer.flex:
11685        * page/DOMWindow.idl:
11686
116872010-11-16  Darin Adler  <darin@apple.com>
11688
11689        Reviewed by Sam Weinig.
11690
11691        https://bugs.webkit.org/show_bug.cgi?id=48603
11692        Boolean logic mistake in local file check
11693
11694        * loader/FrameLoader.cpp:
11695        (WebCore::FrameLoader::loadFrameRequest): Fix logic so that both checks have to pass
11696        before accepting a local file load.
11697
116982010-11-15  Darin Adler  <darin@apple.com>
11699
11700        Reviewed by Sam Weinig.
11701
11702        Harden additional string functions against large lengths
11703        https://bugs.webkit.org/show_bug.cgi?id=49574
11704
11705        * platform/text/TextCodecUTF16.cpp:
11706        (WebCore::TextCodecUTF16::encode): Check for length that is
11707        too large for size_t.
11708
11709        * platform/text/TextStream.cpp:
11710        (WebCore::TextStream::operator<<): Check for length that is
11711        too large for size_t.
11712
117132010-11-16  Pavel Feldman  <pfeldman@chromium.org>
11714
11715        Not reviewed. Touching inspector controller to make gtk / qt happier.
11716
11717        * inspector/InspectorController.cpp:
11718
117192010-11-16  Carlos Garcia Campos  <cgarcia@igalia.com>
11720
11721        Reviewed by Martin Robinson.
11722
11723        [GTK] Use gdk_pixbuf_get_from_surface() when available
11724        https://bugs.webkit.org/show_bug.cgi?id=49532
11725
11726        * platform/graphics/gtk/GdkCairoUtilities.cpp:
11727        (cairoImageSurfaceToGdkPixbuf):
11728
117292010-11-16  Pavel Feldman  <pfeldman@chromium.org>
11730
11731        Reviewed by Yury Semikhatsky.
11732
11733        Web Inspector: init front-end UI upon DOMContentLoaded, not load event.
11734        https://bugs.webkit.org/show_bug.cgi?id=49596
11735
11736        * inspector/front-end/inspector.js:
11737        (windowLoaded):
11738
117392010-11-15  Alexander Pavlov  <apavlov@chromium.org>
11740
11741        Reviewed by Pavel Feldman.
11742
11743        Web Inspector: Migrate frontend to the new CSS editing/retrieval API
11744        https://bugs.webkit.org/show_bug.cgi?id=49492
11745
11746        Test: inspector/styles-new-API.html
11747
11748        * inspector/front-end/AuditRules.js:
11749        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
11750        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
11751        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
11752        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
11753        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
11754        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
11755        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
11756        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
11757        * inspector/front-end/CSSStyleModel.js:
11758        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
11759        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
11760        (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
11761        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
11762        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
11763        (WebInspector.CSSStyleModel.prototype.addRule):
11764        (WebInspector.CSSStyleModel.prototype.addRule.callback):
11765        (WebInspector.CSSStyleDeclaration):
11766        (WebInspector.CSSStyleDeclaration.prototype.propertyAt):
11767        (WebInspector.CSSStyleDeclaration.prototype.pastLastSourcePropertyIndex):
11768        (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
11769        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
11770        (WebInspector.CSSStyleDeclaration.prototype.appendProperty):
11771        (WebInspector.CSSRule):
11772        (WebInspector.CSSProperty.prototype.get propertyText):
11773        (WebInspector.CSSProperty.prototype.setText):
11774        (WebInspector.CSSProperty.prototype.setDisabled):
11775        (WebInspector.CSSStyleSheet):
11776        (WebInspector.CSSStyleSheet.createForId):
11777        (WebInspector.CSSStyleSheet.prototype.getText):
11778        (WebInspector.CSSStyleSheet.prototype.setText):
11779        * inspector/front-end/Settings.js:
11780        * inspector/front-end/StylesSidebarPane.js:
11781        (WebInspector.StylePropertiesSection.prototype.onpopulate):
11782        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
11783        (WebInspector.StylePropertiesSection.prototype._debugShowStyle.removeStyleBox):
11784        (WebInspector.StylePropertiesSection.prototype._debugShowStyle):
11785        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
11786        (WebInspector.StylePropertyTreeElement.prototype):
11787        (WebInspector.StylePropertyTreeElement.prototype.):
11788        * inspector/front-end/inspector.css:
11789        (.styles-section .properties li.not-parsed-ok):
11790        (.styles-section .properties li.not-parsed-ok::before):
11791        (.styles-section .properties .inactive):
11792
117932010-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
11794
11795        Unreviewed, rolling out r72082.
11796        http://trac.webkit.org/changeset/72082
11797        https://bugs.webkit.org/show_bug.cgi?id=49594
11798
11799        "broken SnowLeopard build" (Requested by apavlov on #webkit).
11800
11801        * css/CSSPrimitiveValue.cpp:
11802        (WebCore::scaleFactorForConversion):
11803        (WebCore::CSSPrimitiveValue::getDoubleValue):
11804        (WebCore::CSSPrimitiveValue::getIdent):
11805        * css/CSSPrimitiveValue.h:
11806        (WebCore::CSSPrimitiveValue::getFloatValue):
11807        (WebCore::CSSPrimitiveValue::getIntValue):
11808
118092010-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
11810
11811        Unreviewed, rolling out r72087.
11812        http://trac.webkit.org/changeset/72087
11813        https://bugs.webkit.org/show_bug.cgi?id=49593
11814
11815        "broken build" (Requested by apavlov on #webkit).
11816
11817        * css/CSSPrimitiveValue.cpp:
11818        (WebCore::unitCategory):
11819
118202010-11-15  Pavel Feldman  <pfeldman@chromium.org>
11821
11822        Reviewed by Yury Semikhatsky.
11823
11824        Web Inspector: rename StoragePanel to ResourcesPanel.
11825        https://bugs.webkit.org/show_bug.cgi?id=49534
11826
11827        * WebCore.gypi:
11828        * WebCore.vcproj/WebCore.vcproj:
11829        * inspector/front-end/DatabaseQueryView.js:
11830        (WebInspector.DatabaseQueryView.prototype._queryFinished):
11831        * inspector/front-end/DatabaseTableView.js:
11832        (WebInspector.DatabaseTableView.prototype._queryFinished):
11833        * inspector/front-end/ExtensionServer.js:
11834        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
11835        * inspector/front-end/Images/storageIcon.png: Removed.
11836        * inspector/front-end/ResourceManager.js:
11837        (WebInspector.ResourceManager.prototype.setOverrideContent):
11838        (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
11839        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
11840        (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
11841        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
11842        (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
11843        * inspector/front-end/StoragePanel.js: Removed.
11844        * inspector/front-end/WebKit.qrc:
11845        * inspector/front-end/inspector.css:
11846        (.resources.panel .sidebar):
11847        (.resources.panel .sidebar li):
11848        (.resources.panel .sidebar li.parent):
11849        (.resources.panel .sidebar li.selected):
11850        (.resources.panel .sidebar li.selected .selection):
11851        (.resources.panel .sidebar :focus li.selected .selection):
11852        (body.inactive .resources.panel .sidebar li.selected .selection):
11853        (.resources.panel .sidebar .icon):
11854        (.resources.panel .base-storage-tree-element-title):
11855        (.resources.panel .status):
11856        (.resources.panel li .status .bubble):
11857        * inspector/front-end/inspector.html:
11858        * inspector/front-end/inspector.js:
11859        (WebInspector._createPanels):
11860        (WebInspector.openResource):
11861        (WebInspector.showPanel):
11862        (WebInspector.selectDatabase):
11863        (WebInspector.selectDOMStorage):
11864        (WebInspector.addDatabase):
11865        (WebInspector.addDOMStorage):
11866        (WebInspector.updateDOMStorage):
11867        (WebInspector.updateApplicationCacheStatus):
11868        (WebInspector.didGetFileSystemPath):
11869        (WebInspector.didGetFileSystemError):
11870        (WebInspector.didGetFileSystemDisabled):
11871        (WebInspector.updateNetworkState):
11872        (WebInspector._choosePanelToShowSourceLine):
11873
118742010-11-16  Alexander Pavlov  <apavlov@chromium.org>
11875
11876        Unreviewed SnowLeopard build fix.
11877
11878        * css/CSSPrimitiveValue.cpp:
11879        (WebCore::unitCategory):
11880
118812010-11-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
11882
11883        Reviewed by Andreas Kling.
11884
11885        Viewport meta tag: Fix geometry computation
11886
11887        Available width and height should also be divided by the device pixel ratio.
11888
11889        * dom/ViewportArguments.cpp:
11890        (WebCore::computeViewportAttributes):
11891        * platform/network/qt/DnsPrefetchHelper.cpp:
11892
118932010-11-12  Alexander Pavlov  <apavlov@chromium.org>
11894
11895        Reviewed by Simon Fraser.
11896
11897        CSSPrimitiveValue.getFloatValue does not convert sizes
11898        https://bugs.webkit.org/show_bug.cgi?id=35770
11899
11900        Implemented all same-category unit conversions (length, angle, time, frequency) and retained
11901        absolute-relative (cm, mm, in, pt, pc) length conversions intact.
11902        Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.
11903
11904        * css/CSSPrimitiveValue.cpp:
11905        (WebCore::unitCategory):
11906        (WebCore::scaleFactorForConversion):
11907        (WebCore::CSSPrimitiveValue::getDoubleValue):
11908        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
11909        (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
11910        * css/CSSPrimitiveValue.h:
11911
119122010-11-15  Pavel Feldman  <pfeldman@chromium.org>
11913
11914        Reviewed by Yury Semikhatsky.
11915
11916        Web Inspector: extract HTML title setter in treeoutline.js.
11917        https://bugs.webkit.org/show_bug.cgi?id=49540
11918
11919        * inspector/front-end/ElementsTreeOutline.js:
11920        (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
11921        (WebInspector.ElementsTreeElement.prototype.updateTitle):
11922        * inspector/front-end/treeoutline.js:
11923        (TreeElement.prototype.get titleHTML):
11924        (TreeElement.prototype.set titleHTML):
11925        (TreeElement.prototype._setListItemNodeContent):
11926
119272010-11-16  John Knottenbelt  <jknotten@chromium.org>
11928
11929        Reviewed by Jeremy Orlow.
11930
11931        Assert that DeviceOrientationClientMock is used by only one controller.
11932        https://bugs.webkit.org/show_bug.cgi?id=48506
11933
11934        This is a design constraint of the DeviceOrientationClientMock because the
11935        m_controller field can only store a pointer to a single instance of the
11936        corresponding DeviceOrientationController.
11937
11938        * platform/mock/DeviceOrientationClientMock.cpp:
11939        (WebCore::DeviceOrientationClientMock::setController):
11940
119412010-11-16  Mihai Parparita  <mihaip@chromium.org>
11942
11943        Reviewed by Adam Barth.
11944
11945        fast/images/size-failure.html results in malloc of 2 Gb after switching to WebKit image decoders
11946        https://bugs.webkit.org/show_bug.cgi?id=48634
11947        
11948        Specify the capacity when calling CFDataCreateMutable, which can signal
11949        malloc failures (by returning NULL), unlike CFDataSetLength.
11950
11951        * platform/image-decoders/cg/ImageDecoderCG.cpp:
11952        (WebCore::RGBA32Buffer::setSize):
11953
119542010-11-15  Rob Buis  <rwlbuis@gmail.com>
11955
11956        Reviewed by Dirk Schulze and Darin Adler.
11957
11958        requiredFeatures does not adapt to SVGStringList changes
11959        https://bugs.webkit.org/show_bug.cgi?id=40887
11960
11961        Centralize the const_cast handling and only do it if needed.
11962        Remove the const_cast in all svgAttributeChanged functions and move
11963        it to SVGTest::handleAttributeChange. Add an early return to
11964        handleAttributeChange to avoid unnecessary const_casts.
11965
11966        No tests necessary as functionality has not changed.
11967
11968        * svg/SVGCircleElement.cpp:
11969        (WebCore::SVGCircleElement::svgAttributeChanged):
11970        * svg/SVGEllipseElement.cpp:
11971        (WebCore::SVGEllipseElement::svgAttributeChanged):
11972        * svg/SVGForeignObjectElement.cpp:
11973        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
11974        * svg/SVGGElement.cpp:
11975        (WebCore::SVGGElement::svgAttributeChanged):
11976        * svg/SVGImageElement.cpp:
11977        (WebCore::SVGImageElement::svgAttributeChanged):
11978        * svg/SVGLineElement.cpp:
11979        (WebCore::SVGLineElement::svgAttributeChanged):
11980        * svg/SVGPathElement.cpp:
11981        (WebCore::SVGPathElement::svgAttributeChanged):
11982        * svg/SVGPolyElement.cpp:
11983        (WebCore::SVGPolyElement::svgAttributeChanged):
11984        * svg/SVGRectElement.cpp:
11985        (WebCore::SVGRectElement::svgAttributeChanged):
11986        * svg/SVGSVGElement.cpp:
11987        (WebCore::SVGSVGElement::svgAttributeChanged):
11988        * svg/SVGTests.cpp:
11989        (WebCore::SVGTests::handleAttributeChange):
11990        * svg/SVGTests.h:
11991        * svg/SVGTextContentElement.cpp:
11992        (WebCore::SVGTextContentElement::svgAttributeChanged):
11993        * svg/SVGUseElement.cpp:
11994        (WebCore::SVGUseElement::svgAttributeChanged):
11995
119962010-11-15  Dimitri Glazkov  <dglazkov@chromium.org>
11997
11998        Reviewed by Darin Adler.
11999
12000        REGRESSION(r71934): Removing an element with a shadow DOM from under a cursor causes a crash.
12001        https://bugs.webkit.org/show_bug.cgi?id=49569
12002
12003        Test: fast/events/remove-shadow-host-crash.html
12004
12005        * rendering/TextControlInnerElements.h:
12006        (WebCore::TextControlInnerElement::isShadowNode):
12007        (WebCore::TextControlInnerElement::shadowParentNode):
12008
120092010-11-12  Ryosuke Niwa  <rniwa@webkit.org>
12010
12011        Reviewed by Darin Adler.
12012
12013        ScriptElement rather than HTMLScriptElement and SVGScriptElement should have ScriptElementData
12014        https://bugs.webkit.org/show_bug.cgi?id=49469
12015
12016        Moved m_data, scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript from
12017        HTMLScriptElement and SVGScriptElement to ScriptElementData.
12018
12019        Also made insertedIntoDocument, removedFromDocument, childrenChanged, finishParsingChildren,
12020        and handleSourceAttribute of ScriptElement non-static.
12021
12022        No new tests are added since this is a cleanup.
12023
12024        * dom/ScriptElement.cpp:
12025        (WebCore::ScriptElement::scriptCharset): Added.
12026        (WebCore::ScriptElement::scriptContent): Added.
12027        (WebCore::ScriptElement::shouldExecuteAsJavaScript): Added.
12028        (WebCore::ScriptElement::executeScript): Added.
12029        (WebCore::ScriptElement::insertedIntoDocument): Made non-static. Accesses m_data.
12030        (WebCore::ScriptElement::removedFromDocument): Ditto.
12031        (WebCore::ScriptElement::childrenChanged): Ditto.
12032        (WebCore::ScriptElement::finishParsingChildren): Ditto.
12033        (WebCore::ScriptElement::handleSourceAttribute): Ditto.
12034        * dom/ScriptElement.h: Moved the declaration of ScriptElement after that of ScriptElementData
12035        because ScriptElement has to instantiate ScriptElementData.
12036        (WebCore::ScriptElement::ScriptElement): Initializes m_data.
12037        * html/HTMLScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript.
12038        (WebCore::HTMLScriptElement::HTMLScriptElement): Initializes ScriptElement instead of ScriptElementData.
12039        (WebCore::HTMLScriptElement::childrenChanged): Calls ScriptElement::childrenChanged.
12040        (WebCore::HTMLScriptElement::parseMappedAttribute): Calls ScriptElement::handleSourceAttribute.
12041        (WebCore::HTMLScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren.
12042        (WebCore::HTMLScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument.
12043        (WebCore::HTMLScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument.
12044        * html/HTMLScriptElement.h:
12045        * svg/SVGScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript.
12046        (WebCore::SVGScriptElement::SVGScriptElement): Initializes ScriptElement instead of ScriptElementData.
12047        (WebCore::SVGScriptElement::svgAttributeChanged): Calls ScriptElement::handleSourceAttribute.
12048        (WebCore::SVGScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument.
12049        (WebCore::SVGScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument.
12050        (WebCore::SVGScriptElement::childrenChanged): Calls ScriptElement::childrenChanged.
12051        (WebCore::SVGScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren.
12052        * svg/SVGScriptElement.h:
12053
120542010-11-15  Kent Tamura  <tkent@chromium.org>
12055
12056        Reviewed by Darin Adler.
12057
12058        Refactor HTMLInputElement: Move a part of HTMLInputElement::
12059        defaultEventHandler() to InputTypes.
12060        https://bugs.webkit.org/show_bug.cgi?id=48317
12061
12062        Move out the followings to InputTypes:
12063         - click event processing,
12064         - the first keydown event processing, and
12065         - DOMActivate event processing.
12066
12067        Move m_xPos and m_yPos from HTMLInputElement to ImageInputType as
12068        m_clickLocation. It's ok to move them because they should be valid only
12069        when HTMLInputElement::m_activeSubmit is true. For type=image,
12070        m_activeSubmit is true only in DOMActivate event handling. So we reset
12071        m_clickLocation in handleDOMActivateEvent() with Event::underlyingEvent().
12072
12073        No new tests because this is just a refactoring.
12074
12075        * html/BaseDateAndTimeInputType.cpp:
12076        (WebCore::BaseDateAndTimeInputType::handleKeydownEvent):
12077        * html/BaseDateAndTimeInputType.h:
12078        * html/FileInputType.cpp:
12079        (WebCore::FileInputType::handleDOMActivateEvent):
12080        * html/FileInputType.h:
12081        * html/HTMLInputElement.cpp:
12082        (WebCore::HTMLInputElement::HTMLInputElement):
12083        (WebCore::HTMLInputElement::defaultEventHandler):
12084        * html/HTMLInputElement.h:
12085        * html/ImageInputType.cpp:
12086        (WebCore::ImageInputType::appendFormData):
12087        (WebCore::ImageInputType::handleDOMActivateEvent):
12088        * html/ImageInputType.h:
12089        * html/InputType.cpp:
12090        (WebCore::InputType::handleClickEvent):
12091        (WebCore::InputType::handleDOMActivateEvent):
12092        (WebCore::InputType::handleKeydownEvent):
12093        * html/InputType.h:
12094        * html/NumberInputType.cpp:
12095        (WebCore::NumberInputType::handleKeydownEvent):
12096        * html/NumberInputType.h:
12097        * html/RadioInputType.cpp:
12098        (WebCore::RadioInputType::handleClickEvent):
12099        * html/RadioInputType.h:
12100        * html/RangeInputType.cpp:
12101        (WebCore::RangeInputType::handleKeydownEvent):
12102        * html/RangeInputType.h:
12103        * html/ResetInputType.cpp:
12104        (WebCore::ResetInputType::handleDOMActivateEvent):
12105        * html/ResetInputType.h:
12106        * html/SubmitInputType.cpp:
12107        (WebCore::SubmitInputType::handleDOMActivateEvent):
12108        * html/SubmitInputType.h:
12109        * html/TextFieldInputType.cpp:
12110        (WebCore::TextFieldInputType::handleKeydownEvent):
12111        (WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
12112        * html/TextFieldInputType.h:
12113
121142010-11-15  Chris Rogers  <crogers@google.com>
12115
12116        Reviewed by Kenneth Russell.
12117
12118        Add AudioNode custom bindings
12119        https://bugs.webkit.org/show_bug.cgi?id=49119
12120
12121        No new tests since audio API is not yet implemented.
12122
12123        * bindings/js/JSAudioNodeCustom.cpp: Added.
12124        (WebCore::JSAudioNode::connect):
12125        (WebCore::JSAudioNode::disconnect):
12126        * bindings/v8/custom/V8AudioNodeCustom.cpp: Added.
12127        (WebCore::V8AudioNode::connectCallback):
12128        (WebCore::V8AudioNode::disconnectCallback):
12129        * webaudio/AudioNode.idl:
12130
121312010-11-15  Dave Hyatt  <hyatt@apple.com>
12132
12133        Reviewed by Dan Bernstein.
12134
12135        https://bugs.webkit.org/show_bug.cgi?id=49570
12136        
12137        Put italics specialization check back in CSSFontSelector.  I had to back it out, since it broke
12138        a layout test, and the issue was that local font fallback fonts should not be considered by the
12139        specialization check (since you never want to pick a fallback over an actual @font-face rule if
12140        the @font-face rule can handle it).
12141 
12142        * css/CSSFontFace.h:
12143        (WebCore::CSSFontFace::create):
12144        (WebCore::CSSFontFace::isLocalFallback):
12145        (WebCore::CSSFontFace::CSSFontFace):
12146        * css/CSSFontSelector.cpp:
12147        (WebCore::CSSFontSelector::addFontFaceRule):
12148        (WebCore::compareFontFaces):
12149
121502010-11-15  Adele Peterson  <adele@apple.com>
12151
12152        Reviewed by Darin Adler.
12153
12154        Fix for: https://bugs.webkit.org/show_bug.cgi?id=49452
12155        Placeholder should not be swapped in and out of the text control's inner text element
12156
12157        There's no need to swap the placeholder text in and out of the inner text element.  Instead, just paint the text.
12158        This reduces complexity and makes it easier to make independent decisions about the placeholder text and the text control value.
12159
12160        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueFromRenderer):
12161        Since updatePlaceholderVisibility checks the value, set the value before calling updatePlaceholderVisibility.
12162        * rendering/RenderTextControl.cpp:
12163        (WebCore::RenderTextControl::updatePlaceholderVisibility): Remove code that set the inner text value with the placeholder text.
12164        (WebCore::RenderTextControl::paintObject):  Paint the placeholder text during the background phase.
12165        * rendering/RenderTextControl.h:
12166        * rendering/RenderTextControlMultiLine.cpp:
12167        (WebCore::RenderTextControlMultiLine::nodeAtPoint): Remove custom hit testing that tried to avoid hitting the placeholder text at the wrong time.
12168        (WebCore::RenderTextControlMultiLine::updateFromElement):  Remove code that set the inner text value with the placeholder text.
12169        (WebCore::RenderTextControlMultiLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement.
12170        (WebCore::RenderTextControlMultiLine::textBoxInsetLeft): Added.
12171        (WebCore::RenderTextControlMultiLine::textBoxInsetRight): Added.
12172        * rendering/RenderTextControlMultiLine.h:
12173        * rendering/RenderTextControlSingleLine.cpp:
12174        (WebCore::RenderTextControlSingleLine::updateFromElement): Remove code that set the inner text value with the placeholder text.
12175        (WebCore::RenderTextControlSingleLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement.
12176        (WebCore::RenderTextControlSingleLine::textBoxInsetLeft): Added.
12177        (WebCore::RenderTextControlSingleLine::textBoxInsetRight): Added.
12178        * rendering/RenderTextControlSingleLine.h:
12179        * rendering/TextControlInnerElements.cpp: Removed custom hit testing that tried to avoid hitting the placeholder text at the wrong time.
12180
121812010-11-15  Andreas Kling  <kling@webkit.org>
12182
12183        Unreviewed buildfix (Qt WebKit2 minimal)
12184
12185        * platform/qt/CookieJarQt.cpp: Add missing <QStringList> include.
12186
121872010-11-15  Chris Rogers  <crogers@google.com>
12188
12189        Reviewed by Kenneth Russell.
12190
12191        Add Event and EventListener hooks for JavaScriptAudioNode and AudioProcessingEvent
12192        https://bugs.webkit.org/show_bug.cgi?id=49357
12193
12194        No new tests since audio API is not yet implemented.
12195
12196        * bindings/js/JSEventCustom.cpp:
12197        (WebCore::toJS):
12198        * bindings/js/JSEventTarget.cpp:
12199        (WebCore::toJS):
12200        * bindings/v8/V8DOMWrapper.cpp:
12201        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
12202        * bindings/v8/custom/V8EventCustom.cpp:
12203        (WebCore::toV8):
12204        * dom/Event.cpp:
12205        (WebCore::Event::isAudioProcessingEvent):
12206        * dom/Event.h:
12207        * dom/EventNames.h:
12208        * dom/EventTarget.cpp:
12209        (WebCore::EventTarget::toJavaScriptAudioNode):
12210        * dom/EventTarget.h:
12211
122122010-11-15  Alexey Proskuryakov  <ap@apple.com>
12213
12214        Reviewed by Darin Adler.
12215
12216        A minor style fix in StyledElement.cpp.
12217
12218        * dom/StyledElement.cpp:
12219        (WebCore::StyledElement::addCSSProperty):
12220        (WebCore::StyledElement::addCSSImageProperty):
12221
122222010-11-15  Alexey Proskuryakov  <ap@apple.com>
12223
12224        Reviewed by Darin Adler.
12225
12226        https://bugs.webkit.org/show_bug.cgi?id=49565
12227        Remove Attr.style accessor
12228
12229        * dom/Attr.idl: Only keep the accessor for Objective C API. Inspector doesn't seem to need
12230        it any more.
12231
122322010-11-15  Beth Dakin  <bdakin@apple.com>
12233
12234        Reviewed by Darin Adler.
12235
12236        Fix for https://bugs.webkit.org/show_bug.cgi?id=49555 
12237        Frame::scalePage() should treat the origin as an absolute 
12238        coordinate
12239        -and corresponding-
12240        <rdar://problem/8667138>
12241
12242        * page/Frame.cpp:
12243        (WebCore::Frame::scalePage):
12244
122452010-11-15  Dan Bernstein  <mitz@apple.com>
12246
12247        Reviewed by Darin Adler.
12248
12249        <rdar://problem/8662770> Error image has incorrect size when a custom font is used
12250
12251        Test: fast/images/style-access-during-imageChanged-crash.html
12252
12253        * rendering/RenderImage.cpp:
12254        (WebCore::RenderImage::RenderImage): Added initialization of m_needsToSetSizeForAltText.
12255        (WebCore::RenderImage::imageSizeForError): Factored the non-alt-text dependent size computation
12256        out of setImageSizeForAltText() into this function.
12257        (WebCore::RenderImage::setImageSizeForAltText): Changed to use imageSizeForError().
12258        (WebCore::RenderImage::styleDidChange): Added. If m_needsToSetSizeForAltText is true, sets the
12259        intrinsic size and calls imageDimensionsChanged() as needed to cause layout or invalidation.
12260        (WebCore::RenderImage::imageChanged): Moved some code from here...
12261        (WebCore::RenderImage::imageDimensionsChanged): ...to here.
12262        * rendering/RenderImage.h:
12263
122642010-11-15  Anders Carlsson  <andersca@apple.com>
12265
12266        Reviewed by Dimitri Glazkov.
12267
12268        ASSERTION (r72003): Assertion failure when running layout tests
12269        https://bugs.webkit.org/show_bug.cgi?id=49561
12270
12271        r72003 added the 'formaction' URL attribute to HTMLButtonElement and HTMLInputElement,
12272        but did not add the attribute to the isURLAttribute which lead to assertion failures
12273        when running the layout tests with a debug build.
12274
12275        * html/HTMLButtonElement.cpp:
12276        (WebCore::HTMLButtonElement::isURLAttribute):
12277        * html/HTMLButtonElement.h:
12278        * html/HTMLInputElement.cpp:
12279        (WebCore::HTMLInputElement::isURLAttribute):
12280
122812010-11-15  Alexey Proskuryakov  <ap@apple.com>
12282
12283        Reviewed by Darin Adler.
12284
12285        https://bugs.webkit.org/show_bug.cgi?id=49559
12286        DOMWindow.getComputedStyle pseudo element argument lacks ConvertUndefinedOrNullToNullString
12287
12288        No observable change in behavior, so no tests.
12289
12290        * page/DOMWindow.idl: Added ConvertUndefinedOrNullToNullString.
12291
122922010-11-15  Andreas Kling  <kling@webkit.org>
12293
12294        Reviewed by Tor Arne Vestbø.
12295
12296        [Qt] Make WTF_USE_MEEGOTOUCH available for WebKit2 as well
12297
12298        Move this into WebCore/features.pri which is used by both WebCore and WebKit2.
12299
12300        * WebCore.pro:
12301        * features.pri:
12302
123032010-11-15  Martin Robinson  <mrobinson@igalia.com>
12304
12305        Build fix for GTK+.
12306
12307        * GNUmakefile.am: Add some missing generated files to the source list.
12308
123092010-11-15  Kenneth Russell  <kbr@google.com>
12310
12311        Reviewed by James Robinson.
12312
12313        [chromium] Avoid copying of SkBitmap in LayerRendererChromium
12314        https://bugs.webkit.org/show_bug.cgi?id=49560
12315
12316        Ran CSS 3D content to test. No other new tests.
12317
12318        * platform/graphics/chromium/LayerRendererChromium.cpp:
12319        (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
12320
123212010-11-15  Vangelis Kokkevis  <vangelis@chromium.org>
12322
12323        Reviewed by Kenneth Russell.
12324
12325        [chromium] Fixes layer opacity implementation of composited layers
12326        https://bugs.webkit.org/show_bug.cgi?id=49233
12327
12328        This introduces a fairly drastic change in how LayerRendererChromium draws
12329        composited layers. Layers that have non-zero opacity as well as layers that
12330        clip their descendants (and have non-trivial transforms) are now first
12331        rendered onto off-screen surfaces (RenderSurfaceChromium's). The compositing
12332        operation now consists of two distinct phases: First a hierarchical traversal
12333        of the layer tree to compute the layer transforms, determine what the necessary
12334        RenderSurfaces are and sort layer that preserve-3d based on their z-value. A second
12335        pass goes through all the RenderSurfaces discovered by the first pass and updates
12336        their contents.
12337        Additional significant side-effects of this change are:
12338        1. Depth buffer and depth testing is no longer used. Drawing relies on a painter's
12339           algorithm to render layers with the preserves-3d property from back to front using
12340           the Z coordinate of their center. This will further be improved in the future with
12341           the intoduction of a BSP tree to properly deal with intersecting layers.
12342        2. Compositor no longer uses the stencil buffer to do clipping. Clipping is now performed
12343           by rendering layer subtrees into an offscreen buffer and setting the appropriate
12344           scissor and viewport transformation.
12345
12346        Tests: abs-position-inside-opacity.html (for the opacity implementation)
12347               and the rest of the compositing layout tests to verify that
12348               everything still works.
12349
12350        * WebCore.gypi:
12351        * platform/graphics/chromium/ContentLayerChromium.cpp:
12352        (WebCore::ContentLayerChromium::cleanupResources):
12353        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
12354        (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
12355        (WebCore::ContentLayerChromium::updateContents):
12356        * platform/graphics/chromium/LayerChromium.cpp:
12357        (WebCore::LayerChromium::LayerChromium):
12358        (WebCore::LayerChromium::cleanupResources):
12359        (WebCore::LayerChromium::createRenderSurface):
12360        (WebCore::LayerChromium::descendantsDrawContent):
12361        (WebCore::LayerChromium::descendantsDrawContentRecursive):
12362        * platform/graphics/chromium/LayerChromium.h:
12363        (WebCore::LayerChromium::drawTransform):
12364        (WebCore::LayerChromium::layerRenderer):
12365        * platform/graphics/chromium/LayerRendererChromium.cpp:
12366        (WebCore::orthoMatrix):
12367        (WebCore::isScaleOrTranslation):
12368        (WebCore::LayerRendererChromium::compareLayerZ):
12369        (WebCore::LayerRendererChromium::LayerRendererChromium):
12370        (WebCore::LayerRendererChromium::prepareToDrawLayers):
12371        (WebCore::LayerRendererChromium::drawLayers):
12372        (WebCore::LayerRendererChromium::updateLayersRecursive):
12373        (WebCore::LayerRendererChromium::useRenderSurface):
12374        (WebCore::LayerRendererChromium::drawLayer):
12375        (WebCore::LayerRendererChromium::setScissorToRect):
12376        (WebCore::LayerRendererChromium::setDrawViewportRect):
12377        (WebCore::LayerRendererChromium::initializeSharedObjects):
12378        (WebCore::LayerRendererChromium::cleanupSharedObjects):
12379        * platform/graphics/chromium/LayerRendererChromium.h:
12380        * platform/graphics/chromium/RenderSurfaceChromium.cpp: Added.
12381        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
12382        (WebCore::RenderSurfaceChromium::~RenderSurfaceChromium):
12383        (WebCore::RenderSurfaceChromium::cleanupResources):
12384        (WebCore::RenderSurfaceChromium::layerRenderer):
12385        (WebCore::RenderSurfaceChromium::prepareContentsTexture):
12386        * platform/graphics/chromium/RenderSurfaceChromium.h: Added.
12387        (WebCore::RenderSurfaceChromium::contentRectCenter):
12388        (WebCore::RenderSurfaceChromium::contentRect):
12389        * platform/graphics/chromium/VideoLayerChromium.cpp:
12390        (WebCore::VideoLayerChromium::cleanupResources):
12391
123922010-11-15  Martin Robinson  <mrobinson@igalia.com>
12393
12394        Reviewed by Andreas Kling.
12395
12396        [GTK] gdk_pixbuf_get_from_surface from GtkVersioning.h is broken on GTK+ 2 builds
12397        https://bugs.webkit.org/show_bug.cgi?id=49549
12398
12399        No new tests. This can be verified by loading any existing vertical text test
12400        in GtkLauncher and noticing the lack of CRITICAL GLib exceptions. There's currently
12401        no automatic way of verifying custom cursors.
12402
12403        * platform/gtk/GtkVersioning.c:
12404        (gdk_pixbuf_get_from_surface): Reverse a sanity check in this method to be correct.
12405
124062010-11-12  Jer Noble  <jer.noble@apple.com>
12407
12408        Reviewed by Brady Eidson.
12409
12410        Can't view HTML5 video when running Safari with an authenticated proxy server
12411        <rdar://problem/8351926>
12412        
12413        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
12414        (WebCore::MediaPlayerPrivate::createQTMovie):
12415
124162010-11-14  Abhishek Arya  <inferno@chromium.org>
12417
12418        Reviewed by Dimitri Glazkov.
12419
12420        Event dispatch call can blow away the node's renderer initialized
12421        before the call in updateSelectionForMouseDrag function. We need
12422        to initialize it after the call.
12423        https://bugs.webkit.org/show_bug.cgi?id=49524
12424
12425        * page/EventHandler.cpp:
12426        (WebCore::EventHandler::updateSelectionForMouseDrag):
12427
124282010-11-15  Patrick Gansterer  <paroga@webkit.org>
12429
12430        Reviewed by Martin Robinson.
12431
12432        Make ContextShadow compile on all platforms
12433        https://bugs.webkit.org/show_bug.cgi?id=49535
12434
12435        Add a void* typedef for PlatformImage and PlatformContext for unsupported platforms
12436        and move them into the WebCore namespace like all other Platform* typedefs.
12437
12438        * platform/graphics/ContextShadow.h:
12439
124402010-11-15  Renata Hodovan  <reni@webkit.org>
12441
12442        Reviewed by Andreas Kling.
12443
12444        SVGFEImageElement doesn't support dynamic invalidation
12445        https://bugs.webkit.org/show_bug.cgi?id=49536
12446
12447        The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
12448
12449        Tests: svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr.html
12450               svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop.html
12451
12452        * svg/SVGFEImageElement.cpp:
12453        (WebCore::SVGFEImageElement::svgAttributeChanged):
12454        * svg/SVGFEImageElement.h:
12455
124562010-11-15  Yael Aharon  <yael.aharon@nokia.com>
12457
12458        Reviewed by Antonio Gomes.
12459
12460        [Qt] Focus ring does not show on focused links.
12461        https://bugs.webkit.org/show_bug.cgi?id=49515
12462
12463        After http://trac.webkit.org/changeset/69766 the focus ring on links is no longer
12464        visible in Qt.
12465        The reason is that Qt always returned true in RenderTheme::supportsFocusRing(),
12466        but until r69766, we did not check that for links. Qt draws its own focus ring
12467        for controls that it draws, but not for links.
12468        Change the return value to false if the style's appearance is not something that Qt
12469        draws by itself or does not support.
12470        Added a Qt specific test result for the new test added in r69766.
12471
12472        * platform/qt/RenderThemeQt.cpp:
12473        (WebCore::RenderThemeQt::supportsFocusRing):
12474
124752010-11-15  Dai Mikurube  <dmikurube@google.com>
12476
12477        Reviewed by Kent Tamura.
12478
12479        Implement formaction, formenctype, formmethod and formtarget attributes for input and button tags
12480        https://bugs.webkit.org/show_bug.cgi?id=49240
12481
12482        Tests: fast/forms/formaction-attribute.html
12483               fast/forms/formmethod-attribute-button-html.html
12484               fast/forms/formmethod-attribute-input-html.html
12485               fast/forms/formtarget-attribute-button-html.html
12486               fast/forms/formtarget-attribute-input-html.html
12487               fast/forms/mailto/formenctype-attribute-button-html.html
12488               fast/forms/mailto/formenctype-attribute-input-html.html
12489               fast/forms/submit-form-attributes.html
12490
12491        * html/HTMLAttributeNames.in: Added formaction, formmethod, formtarget and formenctype attributes
12492        * html/HTMLButtonElement.idl:
12493        * html/HTMLInputElement.idl:
12494        * loader/FormSubmission.cpp: Modified to check the pressed button and its attributes
12495        (WebCore::FormSubmission::Attributes::copyFrom):
12496        (WebCore::FormSubmission::create):
12497        * loader/FormSubmission.h:
12498
124992010-11-15  Pavel Feldman  <pfeldman@chromium.org>
12500
12501        Reviewed by Yury Semikhatsky.
12502
12503        Web Inspector: Do not hide default Ctrl+A behavior on non-Mac.
12504        https://bugs.webkit.org/show_bug.cgi?id=49527
12505
12506        * inspector/front-end/TextPrompt.js:
12507        (WebInspector.TextPrompt.prototype._onKeyDown):
12508
125092010-11-15  Ilya Sherman  <isherman@chromium.org>
12510
12511        Reviewed by Kent Tamura.
12512
12513        Add capability for displaying warnings to autofill popup
12514        Warnings are displayed in dark gray italic.
12515        https://bugs.webkit.org/show_bug.cgi?id=49291
12516        http://code.google.com/p/chromium/issues/detail?id=58509
12517
12518        * platform/chromium/PopupMenuChromium.cpp:
12519        (WebCore::PopupListBox::getRowFont):
12520          Use item-specific font, not just the generic menu font.
12521        (WebCore::PopupListBox::selectIndex):
12522          Updated to clear the selection when hovering over a non-selectable item.
12523        * platform/chromium/PopupMenuChromium.h: Minor cleanup
12524
125252010-11-14  David Hyatt  <hyatt@apple.com>
12526
12527        Back out the italics portion of the previous patch until I can figure out why it
12528        doesn't work.
12529
12530        * css/CSSFontSelector.cpp:
12531        (WebCore::compareFontFaces):
12532
125332010-11-14  Kent Tamura  <tkent@chromium.org>
12534
12535        Reviewed by Dimitri Glazkov.
12536
12537        Improve API for form validation message strings
12538        https://bugs.webkit.org/show_bug.cgi?id=34945
12539        
12540        This change introduces three new functions;
12541        validationMessageTypeMismatchFor*Text(). The implementation for each
12542        platform is just a call to validationMessageTypeMismatchText().
12543
12544        Some validationMessage*() functions have new parameters.  The parameters
12545        are ignored in all platforms for now.
12546
12547        This change doesn't change any behavior. However a platform can add
12548        additional information to validation messages.  e.g. Changing "type
12549        mismatch" to "Please specify an e-mail address" for <input type=email>.
12550
12551        * html/EmailInputType.cpp:
12552        (WebCore::EmailInputType::typeMismatchText): Call validationMessageTypeMismatchForEmailText()
12553          or validationMessageTypeMismatchForMultipleEmailText().
12554        * html/EmailInputType.h:
12555        * html/HTMLFormControlElement.h: Add maxLength() and value() to access them from ValidityState.
12556        * html/HTMLInputElement.cpp: Add the following functions to pass extra
12557          information to validation message string functions.
12558        (WebCore::HTMLInputElement::minimumString):
12559        (WebCore::HTMLInputElement::maximumString):
12560        (WebCore::HTMLInputElement::stepBaseString):
12561        (WebCore::HTMLInputElement::stepString):
12562        (WebCore::HTMLInputElement::typeMismatchText):
12563        * html/HTMLInputElement.h:
12564        * html/HTMLTextAreaElement.h:
12565        * html/InputType.cpp:
12566        (WebCore::InputType::typeMismatchText): Call validationMessageTypeMismatchText().
12567        * html/InputType.h:
12568        * html/URLInputType.cpp:
12569        (WebCore::URLInputType::typeMismatchText): Call validationMessageTypeMismatchForURLText().
12570        * html/URLInputType.h:
12571        * html/ValidityState.cpp:
12572        (WebCore::ValidityState::validationMessage):
12573        * platform/LocalizedStrings.cpp:
12574        (WebCore::validationMessageTypeMismatchForEmailText):
12575        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12576        (WebCore::validationMessageTypeMismatchForURLText):
12577        (WebCore::validationMessageTooLongText):
12578        (WebCore::validationMessageRangeUnderflowText):
12579        (WebCore::validationMessageRangeOverflowText):
12580        (WebCore::validationMessageStepMismatchText):
12581        * platform/LocalizedStrings.h:
12582          - Add validationMessageTypeMismatchForEmailText(),
12583            validationMessageTypeMismatchForMultipleEmailText() and
12584            validationMessageTypeMismatchForURLText()
12585          - Add length parameters to validationMessageTooLongText().
12586          - Add the minimum value parameter to validationMessageRangeUnderflowText()
12587          - Add the maximum value parameter to validationMessageRangeOverflowText()
12588          - Add parameters of the base value and the step value to validationMessageStepMismatchText()
12589        * platform/android/LocalizedStringsAndroid.cpp:
12590        (WebCore::validationMessageTypeMismatchForEmailText):
12591        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12592        (WebCore::validationMessageTypeMismatchForURLText):
12593        (WebCore::validationMessageTooLongText):
12594        (WebCore::validationMessageRangeUnderflowText):
12595        (WebCore::validationMessageRangeOverflowText):
12596        (WebCore::validationMessageStepMismatchText):
12597        * platform/brew/LocalizedStringsBrew.cpp:
12598        (WebCore::validationMessageTypeMismatchForEmailText):
12599        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12600        (WebCore::validationMessageTypeMismatchForURLText):
12601        (WebCore::validationMessageTooLongText):
12602        (WebCore::validationMessageRangeUnderflowText):
12603        (WebCore::validationMessageRangeOverflowText):
12604        (WebCore::validationMessageStepMismatchText):
12605        * platform/efl/LocalizedStringsEfl.cpp:
12606        (WebCore::validationMessageRangeOverflowText):
12607        (WebCore::validationMessageRangeUnderflowText):
12608        (WebCore::validationMessageStepMismatchText):
12609        (WebCore::validationMessageTooLongText):
12610        (WebCore::validationMessageTypeMismatchForEmailText):
12611        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12612        (WebCore::validationMessageTypeMismatchForURLText):
12613        * platform/gtk/LocalizedStringsGtk.cpp:
12614        (WebCore::validationMessageTypeMismatchForEmailText):
12615        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12616        (WebCore::validationMessageTypeMismatchForURLText):
12617        (WebCore::validationMessageTooLongText):
12618        (WebCore::validationMessageRangeUnderflowText):
12619        (WebCore::validationMessageRangeOverflowText):
12620        (WebCore::validationMessageStepMismatchText):
12621        * platform/haiku/LocalizedStringsHaiku.cpp:
12622        (WebCore::validationMessageTypeMismatchForEmailText):
12623        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12624        (WebCore::validationMessageTypeMismatchForURLText):
12625        (WebCore::validationMessageTooLongText):
12626        (WebCore::validationMessageRangeUnderflowText):
12627        (WebCore::validationMessageRangeOverflowText):
12628        (WebCore::validationMessageStepMismatchText):
12629        * platform/wx/LocalizedStringsWx.cpp:
12630        (WebCore::validationMessageTypeMismatchForEmailText):
12631        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
12632        (WebCore::validationMessageTypeMismatchForURLText):
12633        (WebCore::validationMessageTooLongText):
12634        (WebCore::validationMessageRangeUnderflowText):
12635        (WebCore::validationMessageRangeOverflowText):
12636        (WebCore::validationMessageStepMismatchText):
12637
126382010-11-14  Kent Tamura  <tkent@chromium.org>
12639
12640        Reviewed by Andreas Kling.
12641
12642        KeyboardEvent::keyIdentifier() should return "const String&"
12643        https://bugs.webkit.org/show_bug.cgi?id=49426
12644
12645        No new tests. This shouldn't change the current behavior.
12646
12647        * dom/KeyboardEvent.h:
12648        (WebCore::KeyboardEvent::keyIdentifier): Change the return type; String -> const String&
12649        * dom/SelectElement.cpp:
12650        (WebCore::SelectElement::menuListDefaultEventHandler):
12651          Change the type of a variable to have keyIdentifier(); String -> const String&
12652        (WebCore::SelectElement::listBoxDefaultEventHandler): ditto.
12653        * html/HTMLInputElement.cpp:
12654        (WebCore::HTMLInputElement::defaultEventHandler): ditto.
12655        (WebCore::HTMLInputElement::handleKeyEventForRange): ditto.
12656        * page/EventHandler.cpp:
12657        (WebCore::EventHandler::handleKeyboardSelectionMovement): ditto.
12658
126592010-11-14  Kenichi Ishibashi  <bashi@google.com>
12660
12661        Reviewed by Kent Tamura.
12662
12663        [HTML5] "form" attribute support for form control elements
12664        https://bugs.webkit.org/show_bug.cgi?id=47813
12665
12666        Adds a list of form-associated elements with form attribute into
12667        the Document class to support form attribute.
12668        Adds a function to determine the right place to locate
12669        form-associated elements with form attribute into
12670        m_associatedElements of HTMLFormElement class.
12671
12672        Tests: fast/forms/form-attribute-elements-order.html
12673               fast/forms/form-attribute-elements-order2.html
12674               fast/forms/form-attribute-elements.html
12675               fast/forms/form-attribute.html
12676
12677        * dom/Document.cpp:
12678        (WebCore::Document::registerFormElementWithFormAttribute): Added.
12679        (WebCore::Document::unregisterFormElementWithFormAttribute): Added.
12680        (WebCore::Document::resetFormElementsOwner): Added.
12681        * dom/Document.h: Added the list for elements with form attribute.
12682        * html/HTMLAttributeNames.in: Added form attribute.
12683        * html/HTMLFormControlElement.cpp:
12684        (WebCore::HTMLFormControlElement::insertedIntoTree): Modified to handle
12685        form attribute.
12686        (WebCore::HTMLFormControlElement::removedFromTree): Ditto.
12687        (WebCore::HTMLFormControlElement::resetFormOwner): Added.
12688        (WebCore::HTMLFormControlElement::attributeChanged): Added.
12689        * html/HTMLFormControlElement.h:
12690        * html/HTMLFormElement.cpp:
12691        (WebCore::HTMLFormElement::HTMLFormElement): Modified to initialize
12692        newly-added variables.
12693        (WebCore::HTMLFormElement::insertedIntoDocument): Modified to reset
12694        form owner of form-associated elements.
12695        (WebCore::HTMLFormElement::removedFromDocument): Ditto.
12696        (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): Added.
12697        (WebCore::HTMLFormElement::formElementIndex): Modified to treat
12698        form-associated elements with form attribute separately.
12699        (WebCore::HTMLFormElement::removeFormElement): Modified to handle
12700        form-associated elements with form attribute.
12701        * html/HTMLFormElement.h: Added three variables to handle form attribute.
12702        * html/HTMLOutputElement.cpp: Removed "FIXME" comment.
12703        (WebCore::HTMLOutputElement::parseMappedAttribute):
12704        * html/HTMLOutputElement.h: Removed setForm().
12705
127062010-11-14  David Hyatt  <hyatt@apple.com>
12707
12708        Reviewed by Dan Bernstein.
12709
12710        https://bugs.webkit.org/show_bug.cgi?id=49521
12711
12712        REGRESSION svg/W3C-SVG-1.1/fonts-desc-02-t.svg broken by r71979.
12713        
12714        Refine the font selection function for @font-face to be smarter about what fonts it prefers.  If
12715        a font is labeled as only supporting small-caps, then prefer it to one that claims to support both
12716        normal and small-caps.  The specialized font is more likely to be true small-caps and to not rely
12717        on synthesis.
12718        
12719        Added the same logic for italic as well.  Prefer the font that is specifically restricted to
12720        italic to one that claims it can support anything.
12721
12722        * css/CSSFontSelector.cpp:
12723        (WebCore::compareFontFaces):
12724
127252010-11-14  Ryuan Choi  <ryuan.choi@samsung.com>
12726
12727        Reviewed by Martin Robinson.
12728
12729        [EFL] add pango support
12730        https://bugs.webkit.org/show_bug.cgi?id=46029
12731
12732        Include pango related files.
12733        No new tests; functionality is unchanged.
12734
12735        * CMakeListsEfl.txt:
12736
127372010-11-12  Tenghui Zhu  <ztenghui@google.com>
12738
12739        Reviewed by Andreas Kling.
12740
12741        [V8] Code generation script error in generating the SVGStaticListPropertyTearOff
12742        https://bugs.webkit.org/show_bug.cgi?id=49463
12743
12744        * bindings/scripts/CodeGeneratorV8.pm: The svgNativeType is the one containing
12745        the SVGStaticListPropertyTearOff string, not the svgListPropertyType.
12746
127472010-11-14  Patrick Gansterer  <paroga@webkit.org>
12748
12749        Reviewed by Andreas Kling.
12750
12751        Sort CMakeLists.txt
12752        https://bugs.webkit.org/show_bug.cgi?id=49507
12753
12754        * CMakeLists.txt:
12755
127562010-11-13  Patrick Gansterer  <paroga@webkit.org>
12757
12758        Reviewed by Yury Semikhatsky.
12759
12760        Buildfix for !ENABLE(INSPECTOR)
12761        https://bugs.webkit.org/show_bug.cgi?id=49500
12762
12763        Also unify the position of the condition in the cpp files.
12764
12765        * inspector/ConsoleMessage.cpp:
12766        * inspector/InspectorResourceAgent.cpp:
12767        * inspector/InspectorState.cpp:
12768        * inspector/ScriptCallFrame.cpp:
12769        * inspector/ScriptCallStack.cpp:
12770
127712010-11-13  David Hyatt  <hyatt@apple.com>
12772
12773        Reviewed by Anders Carlsson.
12774
12775        https://bugs.webkit.org/show_bug.cgi?id=49506
12776
12777        Repaint is broken across writing mode boundaries.  It's not enough to add in flipped offsets.  You have
12778        to flip the rect itself.
12779
12780        Added fast/repaint/repaint-across-writing-mode-boundary.html
12781
12782        * rendering/RenderBox.cpp:
12783        (WebCore::RenderBox::computeRectForRepaint):
12784
127852010-11-13  David Hyatt  <hyatt@apple.com>
12786
12787        Reviewed by Dan Bernstein.
12788
12789        https://bugs.webkit.org/show_bug.cgi?id=49505
12790        
12791        REGRESSION: @font-face doesn't work with the small-caps variant.  This was broken by the addition of SVG fonts
12792        support long ago.  This patch fixes the SVG code so that it doesn't break non-SVG fonts.
12793
12794        Added fast/blockflow/broken-ideograph-small-caps.html
12795
12796        * css/CSSFontFace.cpp:
12797        (WebCore::CSSFontFace::hasSVGFontFaceSource):
12798        * css/CSSFontFace.h:
12799        * css/CSSFontFaceSource.cpp:
12800        (WebCore::CSSFontFaceSource::getFontData):
12801        * css/CSSFontFaceSource.h:
12802        * css/CSSFontSelector.cpp:
12803        (WebCore::CSSFontSelector::addFontFaceRule):
12804        (WebCore::CSSFontSelector::getFontData):
12805
128062010-11-13  Dan Bernstein  <mitz@apple.com>
12807
12808        Reviewed by Dave Hyatt.
12809
12810        fast/text/hyphen* tests have different results on Leopard
12811        https://bugs.webkit.org/show_bug.cgi?id=43296
12812
12813        * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
12814        (WebCore::topLanguagePreference): Changed to look up the value of the AppleLanguages default
12815        through the normal NSUserDefaults search order rather than skipping the application domain.
12816        This makes this function respect DumpRenderTree’s setting of the default in the application
12817        domain.
12818
128192010-11-13  David Hyatt  <hyatt@apple.com>
12820
12821        Reviewed by Dan Bernstein.
12822
12823        https://bugs.webkit.org/show_bug.cgi?id=49499
12824        
12825        broken-ideographic-font.html causes layout test flakiness in release builds.  The reason for this is
12826        that the custom font data for m_brokenIdeographFontData was never getting pruned out of the tree.
12827        The same problem exists for custom small caps fonts, so I made sure that the small caps fonts get
12828        pruned as well.  In addition, custom small caps fonts were never getting deleted either.
12829        
12830        I also made allowsLigatures in FontPlatformData orientation-independent, and the callers check it
12831        instead.
12832        
12833        Unskip fast/blockflow/broken-ideographic-font.html
12834
12835        * platform/graphics/SimpleFontData.cpp:
12836        (WebCore::SimpleFontData::~SimpleFontData):
12837        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
12838        (WebCore::SimpleFontData::platformDestroy):
12839        (WebCore::SimpleFontData::smallCapsFontData):
12840        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
12841        (WebCore::SimpleFontData::platformDestroy):
12842        (WebCore::SimpleFontData::smallCapsFontData):
12843        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
12844        (WebCore::FontPlatformData::allowsLigatures):
12845        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
12846        (WebCore::SimpleFontData::platformDestroy):
12847        (WebCore::SimpleFontData::smallCapsFontData):
12848        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
12849        (WebCore::SimpleFontData::platformDestroy):
12850        (WebCore::SimpleFontData::smallCapsFontData):
12851        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
12852        (WebCore::disableLigatures):
12853        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
12854        (WebCore::SimpleFontData::getCFStringAttributes):
12855        * platform/graphics/mac/SimpleFontDataMac.mm:
12856        (WebCore::SimpleFontData::platformDestroy):
12857        * platform/graphics/win/SimpleFontDataWin.cpp:
12858        (WebCore::SimpleFontData::platformDestroy):
12859        (WebCore::SimpleFontData::smallCapsFontData):
12860        * platform/graphics/wx/SimpleFontDataWx.cpp:
12861        (WebCore::SimpleFontData::platformDestroy):
12862        (WebCore::SimpleFontData::smallCapsFontData):
12863
128642010-11-13  David Hyatt  <hyatt@apple.com>
12865
12866        https://bugs.webkit.org/show_bug.cgi?id=49496
12867
12868        Fix broken-ideographic-font.html.  I had the font installed locally on my machine, and this covered up
12869        the fact that CoreText was implicitly using it as fallback in the vertical case only.  The bots don't have
12870        the font installed locally, and so they showed the bug.
12871
12872        Make sure the GlyphPage is filled with horizontal glyphs for a broken ideograph font, so that CoreText is
12873        willing to fill.
12874
12875        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
12876        (WebCore::SimpleFontData::getCFStringAttributes):
12877
128782010-11-13  David Hyatt  <hyatt@apple.com>
12879
12880        Reviewed by Dan Bernstein.
12881
12882        https://bugs.webkit.org/show_bug.cgi?id=49464
12883        
12884        Fix bugs with the orientation of fonts when the font is brought in via fallback, when the font contains no
12885        vertical tables, or when the font is loaded via font-face in both horizontal and vertical forms.
12886        
12887        (1) Include orientation as part of the @font-face hashtables so that the fonts are treated as
12888        distinct when used in horizontal and vertical forms.
12889        
12890        (2) Let the orientation member of FontPlatformData represent the desired orientation rather than
12891        the supported one.  Add an orientation member to SimpleFontData that represents the actual
12892        supported orientation of the font.
12893        
12894        (3) For fonts with no vertical tables, add a brokenIdeographicsFont accessor that is invoked when
12895        CJK ideographs are encountered.  This is essentially identical to the small caps fallback mechanism
12896        but invoked only for ideographs.  The special ideograph font locks the orientation to vertical and
12897        renders the glyphs upright even when the font has no vertical tables.  Punctuation and such will
12898        still look funny, and really this is a bug in the font, but at least this way it will be apparent
12899        that the font is to blame.
12900
12901        Added fast/blockflow/broken-ideographic-font.html and fast/blockflow/vertical-font-fallback.html.
12902
12903        * css/CSSFontFaceSource.cpp:
12904        (WebCore::CSSFontFaceSource::getFontData):
12905        * css/CSSSegmentedFontFace.cpp:
12906        (WebCore::CSSSegmentedFontFace::getFontData):
12907        * platform/graphics/Font.cpp:
12908        (WebCore::Font::isCJKIdeograph):
12909        * platform/graphics/Font.h:
12910        * platform/graphics/FontFastPath.cpp:
12911        (WebCore::Font::glyphDataForCharacter):
12912        * platform/graphics/SimpleFontData.cpp:
12913        (WebCore::SimpleFontData::SimpleFontData):
12914        (WebCore::SimpleFontData::~SimpleFontData):
12915        (WebCore::SimpleFontData::brokenIdeographFontData):
12916        * platform/graphics/SimpleFontData.h:
12917        (WebCore::SimpleFontData::orientation):
12918        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
12919        (WebCore::FontPlatformData::FontPlatformData):
12920        * platform/graphics/mac/FontMac.mm:
12921        (WebCore::showGlyphsWithAdvances):
12922        * platform/graphics/mac/SimpleFontDataMac.mm:
12923        (WebCore::SimpleFontData::platformInit):
12924        (WebCore::SimpleFontData::platformBoundsForGlyph):
12925        (WebCore::SimpleFontData::platformWidthForGlyph):
12926
129272010-11-13  Rob Buis  <rwlbuis@gmail.com>
12928
12929        Reviewed by Dirk Schulze.
12930
12931        requiredFeatures does not adapt to SVGStringList changes
12932        https://bugs.webkit.org/show_bug.cgi?id=40887
12933
12934        Centralize logic of handling of SVGElement validity changes.
12935        The logic is to detach the SVGElement when changing from valid
12936        to invalid, and to attach when changing from invalid to valid.
12937
12938        Tests: svg/dynamic-updates/SVGCircleElement-dom-requiredFeatures.html
12939               svg/dynamic-updates/SVGCircleElement-svgdom-requiredFeatures.html
12940               svg/dynamic-updates/SVGEllipseElement-dom-requiredFeatures.html
12941               svg/dynamic-updates/SVGEllipseElement-svgdom-requiredFeatures.html
12942               svg/dynamic-updates/SVGForeignObjectElement-dom-requiredFeatures.html
12943               svg/dynamic-updates/SVGForeignObjectElement-svgdom-requiredFeatures.html
12944               svg/dynamic-updates/SVGGElement-dom-requiredFeatures.html
12945               svg/dynamic-updates/SVGGElement-svgdom-requiredFeatures.html
12946               svg/dynamic-updates/SVGImageElement-dom-requiredFeatures.html
12947               svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures.html
12948               svg/dynamic-updates/SVGLineElement-dom-requiredFeatures.html
12949               svg/dynamic-updates/SVGLineElement-svgdom-requiredFeatures.html
12950               svg/dynamic-updates/SVGPathElement-dom-requiredFeatures.html
12951               svg/dynamic-updates/SVGPathElement-svgdom-requiredFeatures.html
12952               svg/dynamic-updates/SVGPolygonElement-dom-requiredFeatures.html
12953               svg/dynamic-updates/SVGPolygonElement-svgdom-requiredFeatures.html
12954               svg/dynamic-updates/SVGPolylineElement-dom-requiredFeatures.html
12955               svg/dynamic-updates/SVGPolylineElement-svgdom-requiredFeatures.html
12956               svg/dynamic-updates/SVGRectElement-dom-requiredFeatures.html
12957               svg/dynamic-updates/SVGRectElement-svgdom-requiredFeatures.html
12958               svg/dynamic-updates/SVGSVGElement-dom-requiredFeatures.html
12959               svg/dynamic-updates/SVGSVGElement-svgdom-requiredFeatures.html
12960               svg/dynamic-updates/SVGTextElement-dom-requiredFeatures.html
12961               svg/dynamic-updates/SVGTextElement-svgdom-requiredFeatures.html
12962               svg/dynamic-updates/SVGUseElement-dom-requiredFeatures.html
12963               svg/dynamic-updates/SVGUseElement-svgdom-requiredFeatures.html
12964
12965        * svg/SVGCircleElement.cpp:
12966        (WebCore::SVGCircleElement::svgAttributeChanged):
12967        * svg/SVGEllipseElement.cpp:
12968        (WebCore::SVGEllipseElement::svgAttributeChanged):
12969        * svg/SVGForeignObjectElement.cpp:
12970        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
12971        * svg/SVGGElement.cpp:
12972        (WebCore::SVGGElement::svgAttributeChanged):
12973        * svg/SVGImageElement.cpp:
12974        (WebCore::SVGImageElement::svgAttributeChanged):
12975        * svg/SVGLineElement.cpp:
12976        (WebCore::SVGLineElement::svgAttributeChanged):
12977        * svg/SVGPathElement.cpp:
12978        (WebCore::SVGPathElement::svgAttributeChanged):
12979        * svg/SVGPolyElement.cpp:
12980        (WebCore::SVGPolyElement::svgAttributeChanged):
12981        * svg/SVGRectElement.cpp:
12982        (WebCore::SVGRectElement::svgAttributeChanged):
12983        * svg/SVGSVGElement.cpp:
12984        (WebCore::SVGSVGElement::svgAttributeChanged):
12985        * svg/SVGTests.cpp:
12986        (WebCore::knownAttribute):
12987        (WebCore::SVGTests::isKnownAttribute):
12988        (WebCore::SVGTests::handleAttributeChange): Centralized handling of SVGElement validity changes.
12989        * svg/SVGTests.h:
12990        * svg/SVGTextContentElement.cpp:
12991        (WebCore::SVGTextContentElement::svgAttributeChanged):
12992        (WebCore::SVGTextContentElement::isKnownAttribute):
12993        * svg/SVGTextContentElement.h:
12994        * svg/SVGUseElement.cpp:
12995        (WebCore::SVGUseElement::svgAttributeChanged):
12996
129972010-11-13  Andrey Kosyakov  <caseq@chromium.org>
12998
12999        Reviewed by Pavel Feldman.
13000
13001        Web Inspector: [refactoring] support Views in TabbedPane and streamline tab selection in resource view
13002        https://bugs.webkit.org/show_bug.cgi?id=49493
13003
13004        * inspector/front-end/NetworkPanel.js:
13005        (WebInspector.NetworkPanel.prototype._showResource):
13006        * inspector/front-end/ResourceView.js:
13007        (WebInspector.ResourceView):
13008        (WebInspector.ResourceView.prototype.selectContentTab):
13009        (WebInspector.ResourceView.prototype._selectTab):
13010        (WebInspector.ResourceView.prototype._refreshCookies):
13011        (WebInspector.ResourceCookiesTab.prototype.show):
13012        * inspector/front-end/StoragePanel.js:
13013        (WebInspector.StoragePanel.prototype.showResource):
13014        * inspector/front-end/TabbedPane.js:
13015        (WebInspector.TabbedPane.prototype.appendTab):
13016        (WebInspector.TabbedPane.prototype.hasTab):
13017        (WebInspector.TabbedPane.prototype.selectTabById):
13018        (WebInspector.TabbedPane.prototype._hideTab):
13019        (WebInspector.TabbedPane.prototype._showTab):
13020        * inspector/front-end/inspector.css:
13021        (.resource-view-cookies):
13022        (.resource-view-cookies.visible):
13023
130242010-11-13  Yury Semikhatsky  <yurys@chromium.org>
13025
13026        Reviewed by Pavel Feldman.
13027
13028        REGRESSION(71515): Web Inspector: Safari crash calling console.log when Log JavaScript Exceptions to Console is checked
13029        https://bugs.webkit.org/show_bug.cgi?id=49362
13030
13031        * page/Console.cpp:
13032        (WebCore::Console::addMessage): avoid accessing ScriptArguments and ScriptCallStack after their ownership
13033        has been passed to the inspector.
13034
130352010-11-13  Yury Semikhatsky  <yurys@chromium.org>
13036
13037        Reviewed by Pavel Feldman.
13038
13039        Web Inspector: DOM event listener name is cropped in Elements panel
13040        https://bugs.webkit.org/show_bug.cgi?id=49387
13041
13042        * inspector/front-end/inspector.css:
13043        (.event-bar): use margin-left instead of left to fit child node into its parent
13044
130452010-11-13  Ilya Sherman  <isherman@chromium.org>
13046
13047        Reviewed by Shinichiro Hamaji.
13048
13049        Fixes regression from previous patch -- computes y offsets for elements
13050        that are scrolled out of the window.
13051        https://bugs.webkit.org/show_bug.cgi?id=49306
13052
13053        * manual-tests/select-scroll.html: Added.
13054        * platform/chromium/PopupMenuChromium.cpp:
13055        (WebCore::PopupListBox::layout):
13056
130572010-11-12  Daniel Bates  <dbates@rim.com>
13058
13059        Reviewed by Adam Barth.
13060
13061        Transferred <iframe>s may not have a unique internal name
13062        https://bugs.webkit.org/show_bug.cgi?id=48768
13063
13064        Fixes an issue where an <iframe> that is transferred from
13065        document A to document B, where A != B, may not have a
13066        unique internal name in B.
13067
13068        Test: fast/frames/iframe-reparenting-unique-name.html
13069
13070        * html/HTMLFrameElementBase.cpp:
13071        (WebCore::HTMLFrameElementBase::setNameAndOpenURL): Inlined code from
13072        HTMLFrameElementBase::setName() so that we can remove setName(), which
13073        was only called being called by HTMLFrameElementBase::setNameAndOpenURL().
13074        * html/HTMLFrameElementBase.h: Removed HTMLFrameElementBase::setName().
13075        * html/HTMLFrameOwnerElement.h: Removed HTMLFrameOwnerElement::setName().
13076        * page/Frame.cpp:
13077        (WebCore::Frame::transferChildFrameToNewDocument): Modified to call FrameTree::transferChild().
13078        * page/FrameTree.cpp:
13079        (WebCore::FrameTree::transferChild): Added.
13080        (WebCore::FrameTree::appendChild): Moved the majority of the code into FrameTree::actuallyAppendChild().
13081        (WebCore::FrameTree::actuallyAppendChild): Added.
13082        * page/FrameTree.h:
13083
130842010-11-12  Joseph Pecoraro  <joepeck@webkit.org>
13085
13086        Reviewed by Alexey Proskuryakov.
13087
13088        Some FrameLoader.h Cleanup
13089        https://bugs.webkit.org/show_bug.cgi?id=49484
13090
13091        Removed function signatures without any implementation. The functions
13092        used to exist, and were nicely refactored into PageCache in r60688 and
13093        the signatures were left behind.
13094
13095        Removed function signature setLoadType. Added in r17238 back when the
13096        file was named WebFrameLoader, and the implementation was lost during
13097        the transition from its mm implementation.
13098
13099        Removed function signature updateHistoryAfterClientRedirect. Implementation
13100        and call points were removed in r18541 but the signature was left behind,
13101        and jumped files!
13102
13103        Removed unused debug variable m_didDispatchDidCommitLoad. It was added
13104        and used in Assertions in r28399. It was removed soon after, in r28464
13105        because they were, "firing like crazy. Not sure why yet." It was
13106        never used again.
13107
13108        Added const qualifier and moved interruptionForPolicyChangeError to
13109        be more like its buddies.
13110
13111        * loader/FrameLoader.cpp:
13112        (WebCore::FrameLoader::FrameLoader):
13113        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
13114        (WebCore::FrameLoader::interruptionForPolicyChangeError):
13115        (WebCore::FrameLoader::dispatchDidCommitLoad):
13116        * loader/FrameLoader.h:
13117
131182010-11-12  Yael Aharon  <yael.aharon@nokia.com>
13119
13120        Reviewed by David Hyatt.
13121
13122        Spatial Navigation: Cannot focus on some ContainerNode
13123        https://bugs.webkit.org/show_bug.cgi?id=48393
13124
13125        ContainerNode::getLowerRightCorner() assumes that the lowest right corner of its last child 
13126        is its own lowest right corner. If that child is an empty text node after an image, it does 
13127        not have size and position information, so we should go to the previous child.
13128
13129        Tests: fast/events/spatial-navigation/snav-container-only-white-space.html
13130               fast/events/spatial-navigation/snav-container-white-space.html
13131
13132        * dom/ContainerNode.cpp:
13133        (WebCore::ContainerNode::getLowerRightCorner):
13134
131352010-11-12  James Simonsen  <simonjam@chromium.org>
13136
13137        Reviewed by Darin Fisher.
13138
13139        [Web Timing] Rename interfaces:
13140        - Navigation -> PerformanceNavigation
13141        - Timing -> PerformanceTiming
13142        https://bugs.webkit.org/show_bug.cgi?id=48919
13143
13144        * DerivedSources.cpp:
13145        * DerivedSources.make:
13146        * GNUmakefile.am:
13147        * WebCore.gypi:
13148        * WebCore.vcproj/WebCore.vcproj:
13149        * WebCore.xcodeproj/project.pbxproj:
13150        * page/Performance.cpp:
13151        (WebCore::Performance::navigation):
13152        (WebCore::Performance::timing):
13153        * page/Performance.h:
13154        * page/Performance.idl:
13155        * page/PerformanceNavigation.cpp: Renamed from WebCore/page/Navigation.cpp.
13156        (WebCore::PerformanceNavigation::PerformanceNavigation):
13157        (WebCore::PerformanceNavigation::frame):
13158        (WebCore::PerformanceNavigation::disconnectFrame):
13159        (WebCore::PerformanceNavigation::type):
13160        (WebCore::PerformanceNavigation::redirectCount):
13161        * page/PerformanceNavigation.h: Renamed from WebCore/page/Navigation.h.
13162        (WebCore::PerformanceNavigation::create):
13163        * page/PerformanceNavigation.idl: Renamed from WebCore/page/Navigation.idl.
13164        * page/PerformanceTiming.cpp: Renamed from WebCore/page/Timing.cpp.
13165        (WebCore::toIntegerMilliseconds):
13166        (WebCore::getPossiblySkewedTimeInKnownRange):
13167        (WebCore::PerformanceTiming::PerformanceTiming):
13168        (WebCore::PerformanceTiming::frame):
13169        (WebCore::PerformanceTiming::disconnectFrame):
13170        (WebCore::PerformanceTiming::navigationStart):
13171        (WebCore::PerformanceTiming::unloadEventEnd):
13172        (WebCore::PerformanceTiming::redirectStart):
13173        (WebCore::PerformanceTiming::redirectEnd):
13174        (WebCore::PerformanceTiming::fetchStart):
13175        (WebCore::PerformanceTiming::domainLookupStart):
13176        (WebCore::PerformanceTiming::domainLookupEnd):
13177        (WebCore::PerformanceTiming::connectStart):
13178        (WebCore::PerformanceTiming::connectEnd):
13179        (WebCore::PerformanceTiming::requestStart):
13180        (WebCore::PerformanceTiming::requestEnd):
13181        (WebCore::PerformanceTiming::responseStart):
13182        (WebCore::PerformanceTiming::responseEnd):
13183        (WebCore::PerformanceTiming::domLoading):
13184        (WebCore::PerformanceTiming::domInteractive):
13185        (WebCore::PerformanceTiming::domContentLoaded):
13186        (WebCore::PerformanceTiming::domComplete):
13187        (WebCore::PerformanceTiming::loadEventStart):
13188        (WebCore::PerformanceTiming::loadEventEnd):
13189        (WebCore::PerformanceTiming::documentLoader):
13190        (WebCore::PerformanceTiming::documentTiming):
13191        (WebCore::PerformanceTiming::documentLoadTiming):
13192        (WebCore::PerformanceTiming::resourceLoadTiming):
13193        (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
13194        * page/PerformanceTiming.h: Renamed from WebCore/page/Timing.h.
13195        (WebCore::PerformanceTiming::create):
13196        * page/PerformanceTiming.idl: Renamed from WebCore/page/Timing.idl.
13197
131982010-11-12  Eric Carlson  <eric.carlson@apple.com>
13199
13200        Reviewed by Simon Fraser.
13201
13202        Remove unused code from HTMLMediaElement
13203        https://bugs.webkit.org/show_bug.cgi?id=49451
13204
13205        Just removing code, so no new tests.
13206
13207        * html/HTMLMediaElement.cpp: Removed unused functions.
13208        * html/HTMLMediaElement.h:
13209
132102010-11-12  Ryosuke Niwa  <rniwa@webkit.org>
13211
13212        Unreviewed Xcode project fix.
13213
13214        * WebCore.xcodeproj/project.pbxproj:
13215
132162010-11-12  Alexey Proskuryakov  <ap@apple.com>
13217
13218        Reviewed by Simon Fraser.
13219
13220        https://bugs.webkit.org/show_bug.cgi?id=49473
13221        WebKitCSSMatrix shouldn't inherit from StyleBase
13222
13223        No change in behavior, so no tests.
13224
13225        * css/WebKitCSSMatrix.cpp:
13226        (WebCore::WebKitCSSMatrix::WebKitCSSMatrix): We don't inherit from StyleBase any more, so
13227        no need to initialize always-null parent.
13228        (WebCore::WebKitCSSMatrix::setMatrixValue): Since there was never a parent, useStrictParsing()
13229        just returned true.
13230
13231        * css/WebKitCSSMatrix.h: Just inherit from RefCounted<WebKitCSSMatrix>. Removed unused default
13232        constructor and copy constructor.
13233
13234        * html/canvas/WebGLRenderingContext.h: Removed an unnneded forward declaration.
13235
132362010-11-12  Helder Correia  <helder@sencha.com>
13237
13238        Reviewed by Andreas Kling.
13239
13240        [Qt] Path::addArc() does not set right angle direction on full arcs
13241        https://bugs.webkit.org/show_bug.cgi?id=49138
13242
13243        Ensure correctness of nonzero winding rule for full arc paths.
13244        Invert the sign of the span if the direction is counterclockwise.
13245
13246        Test: fast/canvas/canvas-arc-360-winding.html
13247
13248        * platform/graphics/qt/PathQt.cpp:
13249        (WebCore::Path::addArc):
13250
132512010-11-05  Dimitri Glazkov  <dglazkov@chromium.org>
13252
13253        Reviewed by Darin Adler.
13254
13255        Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
13256        https://bugs.webkit.org/show_bug.cgi?id=46015
13257
13258        Test: fast/events/shadow-boundary-crossing-2.html
13259
13260        This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
13261        for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
13262
13263        This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
13264        appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
13265
13266        * Android.mk: Added EventContext, WindowEventContext files.
13267        * CMakeLists.txt: Ditto.
13268        * GNUmakefile.am: Ditto.
13269        * WebCore.gypi: Ditto.
13270        * WebCore.pro: Ditto.
13271        * WebCore.xcodeproj/project.pbxproj: Ditto.
13272        * WebCore.vcproj/WebCore.vcproj: Ditto.
13273        * dom/ContainerNode.cpp:
13274        (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
13275        * dom/EventContext.cpp: Added.
13276        * dom/EventContext.h: Added.
13277        * dom/Node.cpp:
13278        (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
13279        (WebCore::Node::createRendererIfNeeded): Ditto.
13280        (WebCore::Node::parentOrHostNode): Added new helper method.
13281        (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
13282        (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
13283        (WebCore::Node::getEventAncestors): Renamed and refactored to collect a vector of EventContexts.
13284        (WebCore::Node::topEventContext): Added.
13285        (WebCore::eventHasListeners): Changed to use EventContexts.
13286        (WebCore::Node::dispatchGenericEvent): Ditto.
13287        * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
13288            and changed signature of eventAncestors to use EventContexts.
13289        * dom/Text.cpp:
13290        (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
13291        * dom/WindowEventContext.cpp: Added.
13292        * dom/WindowEventContext.h: Added.
13293        * inspector/InspectorDOMAgent.cpp:
13294        (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
13295        * page/EventHandler.cpp:
13296        (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
13297        * rendering/RenderTextControlMultiLine.cpp:
13298        (WebCore::RenderTextControlMultiLine::subtreeHasChanged): Removed event invocation that's
13299            no longer necessary.
13300        * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
13301        is deleted.
13302        * rendering/TextControlInnerElements.cpp:
13303        (WebCore::TextControlInnerTextElement::defaultEventHandler): Flipped the condition back
13304            from where it was prior to r60418.
13305        * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
13306        * svg/SVGElement.h: Ditto.
13307
133082010-11-12  Ryuan Choi  <ryuan.choi@samsung.com>
13309
13310        Reviewed by Martin Robinson.
13311
13312        [GTK] Remove unnecessary header for FontPlatformDataPango.cpp
13313        https://bugs.webkit.org/show_bug.cgi?id=46029
13314
13315        Remove unnecessary header includes.
13316        No new tests, as there's no functionality.
13317
13318        * platform/graphics/pango/FontPlatformDataPango.cpp:
13319
133202010-11-11  Abhishek Arya  <inferno@chromium.org>
13321
13322        Reviewed by Adam Barth.
13323
13324        Not allow drag and drop across different origins.
13325        https://bugs.webkit.org/show_bug.cgi?id=49098
13326
13327        Test: http/tests/security/drag-drop-different-origin.html
13328
13329        * page/DragController.cpp:
13330        (WebCore::DragController::tryDocumentDrag):
13331        * page/SecurityOrigin.cpp:
13332        (WebCore::SecurityOrigin::canDropOnTarget):
13333        * page/SecurityOrigin.h:
13334
133352010-11-11  Alexander Pavlov  <apavlov@chromium.org>
13336
13337        Reviewed by Yury Semikhatsky.
13338
13339        Web Inspector: Inspect element tooltip obscures element metrics
13340        https://bugs.webkit.org/show_bug.cgi?id=47822
13341
13342        * inspector/InspectorController.cpp:
13343        (WebCore::InspectorController::drawNodeHighlight):
13344        (WebCore::InspectorController::drawElementTitle):
13345
133462010-11-12  Luiz Agostini  <luiz.agostini@openbossa.org>
13347
13348        Reviewed by Kenneth Rohde Christiansen.
13349
13350        [Qt] Button's background style from default Qt Mobile Theme  is overriding facebook's button style
13351        https://bugs.webkit.org/show_bug.cgi?id=48198
13352
13353        Instead of creating gradients that goes from white to grey and cover the whole element the gradients
13354        are created by varying the alpha channel of a dark color. This way the effect will not override the
13355        background color of the elements.
13356
13357        * css/themeQtMobile.css:
13358
133592010-11-12  Justin Schuh  <jschuh@chromium.org>
13360
13361        Reviewed by Adam Barth.
13362
13363        Use a RefPtr inside ContainerNode::willRemove loop
13364        https://bugs.webkit.org/show_bug.cgi?id=49237
13365
13366        Test: fast/innerHTML/innerHTML-iframe.html
13367
13368        * dom/ContainerNode.cpp:
13369        (WebCore::ContainerNode::willRemove):
13370
133712010-11-12  Pavel Feldman  <pfeldman@chromium.org>
13372
13373        Reviewed by Yury Semikhatsky.
13374
13375        Web Inspector: add more event listener breakpoint types, add support for regular breakpoint hit state, beautify hit rendering.
13376        https://bugs.webkit.org/show_bug.cgi?id=49130
13377
13378        * English.lproj/localizedStrings.js:
13379        * inspector/front-end/BreakpointManager.js:
13380        (WebInspector.BreakpointManager.prototype.debuggerPaused):
13381        (WebInspector.Breakpoint.jsBreakpointId):
13382        (WebInspector.Breakpoint.prototype.get id):
13383        * inspector/front-end/BreakpointsSidebarPane.js:
13384        (WebInspector.EventListenerBreakpointsSidebarPane):
13385        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
13386        * inspector/front-end/CallStackSidebarPane.js:
13387        (WebInspector.CallStackSidebarPane.prototype._breakpointHit): don't call populateStatusMessage for JS breakpoints
13388        since there is no specific message in that case.
13389        * inspector/front-end/ScriptsPanel.js:
13390        (WebInspector.ScriptsPanel):
13391        (WebInspector.ScriptsPanel.prototype.reset):
13392        * inspector/front-end/inspector.css:
13393        (#elements-sidebar):
13394        (.pane > .body):
13395        (#scripts-sidebar):
13396        (li.breakpoint-hit .breakpoint-hit-marker):
13397
133982010-11-12  Andrey Kosyakov  <caseq@chromium.org>
13399
13400        Reviewed by Yury Semikhatsky.
13401
13402        Web Inspector: [Extensions API] [refactoring] generate public API interfaces automatically
13403        https://bugs.webkit.org/show_bug.cgi?id=49441
13404
13405        * inspector/front-end/ExtensionAPI.js:
13406        (WebInspector.injectedExtensionAPI.PanelImpl):
13407        (WebInspector.injectedExtensionAPI):
13408        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPane):
13409        (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
13410        (WebInspector.injectedExtensionAPI.AuditResultImpl):
13411        (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity):
13412        (WebInspector.injectedExtensionAPI.):
13413
134142010-11-12  Renata Hodovan  <reni@webkit.org>
13415
13416        Reviewed by Nikolas Zimmermann.
13417
13418        SVGFEDisplacementMapElement doesn't support dynamic invalidation
13419        https://bugs.webkit.org/show_bug.cgi?id=49430
13420
13421        The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
13422
13423        Tests: svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr.html
13424               svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr.html
13425               svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr.html
13426               svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr.html
13427               svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr.html
13428               svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop.html
13429               svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop.html
13430               svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop.html
13431               svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop.html
13432               svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop.html
13433
13434        * svg/SVGFEDisplacementMapElement.cpp:
13435        (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
13436        * svg/SVGFEDisplacementMapElement.h:
13437
134382010-11-12  Andrey Kosyakov  <caseq@chromium.org>
13439
13440        Reviewed by Yury Semikhatsky.
13441
13442        Web Inspector: [refactoring] do not use absolute positioning for tabbed panes
13443        https://bugs.webkit.org/show_bug.cgi?id=49439
13444
13445        * inspector/front-end/TabbedPane.js:
13446        (WebInspector.TabbedPane):
13447        (WebInspector.TabbedPane.prototype.appendTab):
13448        * inspector/front-end/inspector.css:
13449        (.resource-view.visible):
13450        (.resource-view .tabbed-pane-header):
13451        (.resource-view-cookies):
13452        (.tabbed-pane):
13453        (.tabbed-pane-content):
13454        * inspector/front-end/networkPanel.css:
13455
134562010-11-12  John Knottenbelt  <jknotten@chromium.org>
13457
13458        Reviewed by Steve Block.
13459
13460        Rename GeolocationControllerClient to GeolocationClient.
13461        https://bugs.webkit.org/show_bug.cgi?id=49259
13462
13463        No new tests, renaming only.
13464
13465        * GNUmakefile.am:
13466        * WebCore.gypi:
13467        * WebCore.order:
13468        * WebCore.vcproj/WebCore.vcproj:
13469        * WebCore.xcodeproj/project.pbxproj:
13470        * page/GeolocationClient.h: Renamed from WebCore/page/GeolocationControllerClient.h.
13471        (WebCore::GeolocationClient::~GeolocationClient):
13472        * page/GeolocationController.cpp:
13473        (WebCore::GeolocationController::GeolocationController):
13474        * page/GeolocationController.h:
13475        * page/Page.h:
13476
134772010-11-12  Ilya Sherman  <isherman@chromium.org>
13478
13479        Reviewed by Eric Seidel.
13480
13481        Remove some trailing whitespace
13482        https://bugs.webkit.org/show_bug.cgi?id=49433
13483
13484        * platform/PopupMenuClient.h:
13485        * platform/chromium/PopupMenuChromium.cpp:
13486        (WebCore::PopupContainer::show):
13487        (WebCore::PopupListBox::paintRow):
13488        (WebCore::PopupListBox::scrollToRevealRow):
13489        * platform/chromium/PopupMenuChromium.h:
13490        * platform/chromium/SearchPopupMenuChromium.cpp:
13491        * rendering/RenderMenuList.h:
13492        (WebCore::RenderMenuList::toRenderMenuList):
13493        * rendering/RenderTextControlSingleLine.h:
13494        (WebCore::toRenderTextControlSingleLine):
13495
134962010-11-12  Ryosuke Niwa  <rniwa@webkit.org>
13497
13498        Reviewed by Csaba Osztrogonác.
13499
13500        [qt] script-clone tests added in r71895 fails on qt platform
13501        https://bugs.webkit.org/show_bug.cgi?id=49429
13502
13503        Fixed parseEndElement to call ScriptElement's executeScript as supposed to that of ScriptController.
13504
13505        * dom/XMLDocumentParserQt.cpp:
13506        (WebCore::XMLDocumentParser::parseEndElement):
13507
135082010-11-05  MORITA Hajime  <morrita@google.com>
13509
13510        Reviewed by Kent Tamura.
13511
13512        Refactoring: Return values of TextCheckingHelper::paragraphAlignedRange should form a class.
13513        https://bugs.webkit.org/show_bug.cgi?id=49053
13514
13515        Replaced paragraphAlignedRange() function call into
13516        TextCheckingParagraph class. The class encapsulates a range of a
13517        paragraph, and its relation within associated checking range.
13518        Instance variables of the class are computed lazily. So we can save unnecessary
13519        memory allocation and DOM tree traversal.
13520        
13521        No new tests, no behavior change. 
13522
13523        * editing/Editor.cpp:
13524        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Replaced paragraphAlignedRange() call.
13525        (WebCore::Editor::changeBackToReplacedString): Replaced paragraphAlignedRange() call.
13526        * editing/TextCheckingHelper.cpp:
13527        (WebCore::expandToParagraphBoundary):
13528        (WebCore::TextCheckingParagraph::TextCheckingParagraph):
13529        (WebCore::TextCheckingParagraph::~TextCheckingParagraph):
13530        (WebCore::TextCheckingParagraph::expandRangeToNextEnd):
13531        (WebCore::TextCheckingParagraph::invalidateParagraphRangeValues):
13532        (WebCore::TextCheckingParagraph::rangeLength):
13533        (WebCore::TextCheckingParagraph::paragraphRange):
13534        (WebCore::TextCheckingParagraph::subrange):
13535        (WebCore::TextCheckingParagraph::offsetTo):
13536        (WebCore::TextCheckingParagraph::isEmpty):
13537        (WebCore::TextCheckingParagraph::offsetAsRange):
13538        (WebCore::TextCheckingParagraph::text):
13539        (WebCore::TextCheckingParagraph::checkingStart):
13540        (WebCore::TextCheckingParagraph::checkingEnd):
13541        (WebCore::TextCheckingParagraph::checkingLength):
13542        (WebCore::TextCheckingHelper::findFirstBadGrammar): Replaced paragraphAlignedRange() call.
13543        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Replaced paragraphAlignedRange() call.
13544        * editing/TextCheckingHelper.h:
13545        (WebCore::TextCheckingParagraph::textLength):
13546        (WebCore::TextCheckingParagraph::textSubstring):
13547        (WebCore::TextCheckingParagraph::textCharacters):
13548        (WebCore::TextCheckingParagraph::textCharAt):
13549        (WebCore::TextCheckingParagraph::checkingSubstring):
13550        (WebCore::TextCheckingParagraph::checkingRangeMatches):
13551        (WebCore::TextCheckingParagraph::isCheckingRangeCoveredBy):
13552        (WebCore::TextCheckingParagraph::checkingRangeCovers):
13553        (WebCore::TextCheckingParagraph::checkingRange):
13554        (WebCore::TextCheckingParagraph::isTextEmpty):
13555        (WebCore::TextCheckingParagraph::isRangeEmpty):
13556
135572010-11-11  Ryosuke Niwa  <rniwa@webkit.org>
13558
13559        Reviewed by Darin Adler.
13560
13561        Script runs more than once after a clone
13562        https://bugs.webkit.org/show_bug.cgi?id=48966
13563
13564        The bug was caused by cloneElementWithoutChildren's not propagating isEvaluated flag,
13565        which indicates whether or not the script has already started, and the fact
13566        neither HTMLScriptRunner nor XMLDocumentParser was setting isEvaluated flag to true.
13567
13568        Fixed the bug by making cloneElementWithoutChildren call a virtual cloneElementWithoutAttributesAndChildren,
13569        and override it in HTMLScriptElement and SVGScriptElement to propagate isEvaluated flag,
13570        and replacing direct access to ScriptController by a call to new ScriptElementData::executeScript,
13571        which updates the isEvaluated flag properly.
13572
13573        See also: http://www.whatwg.org/specs/web-apps/current-work/#already-started
13574
13575        Tests: fast/dom/script-clone-rerun-self.html
13576               fast/dom/script-clone-rerun.html
13577               svg/dom/SVGScriptElement/script-clone-rerun-self.svg
13578               svg/dom/SVGScriptElement/script-clone-rerun.svg
13579
13580        * dom/Element.cpp:
13581        (WebCore::Element::cloneElementWithoutChildren): Calls cloneElementWithoutChildren.
13582        (WebCore::Element::cloneElementWithoutAttributesAndChildren): Extracted from cloneElementWithoutChildren.
13583        * dom/Element.h:
13584        * dom/ScriptElement.cpp:
13585        (WebCore::ScriptElementData::ScriptElementData): Added isEvaluated flag to the argument list.
13586        (WebCore::ScriptElementData::evaluateScript): Extracted from HTMLScriptRunner::executeScript.
13587        (WebCore::ScriptElementData::executeScript): Renamed evaluated to isEvaluated.
13588        (WebCore::ScriptElementData::ignoresLoadRequest): Renamed evaluated to isEvaluated.
13589        * dom/ScriptElement.h: Renamed evaluated to isEvaluated.
13590        (WebCore::ScriptElementData::isEvaluated): Added.
13591        * dom/XMLDocumentParserLibxml2.cpp:
13592        (WebCore::XMLDocumentParser::endElementNs): Calls ScriptElement::executeScript.
13593        * html/HTMLScriptElement.cpp:
13594        (WebCore::HTMLScriptElement::HTMLScriptElement): Added isEvaluated flag to the argument list.
13595        (WebCore::HTMLScriptElement::create): Calls the constructor with the isEvaluated flag set to false.
13596        (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Propagates isEvaluated.
13597        (WebCore::HTMLScriptElement::executeScript): Added; calls ScriptElementData::executeScript.
13598        * html/HTMLScriptElement.h:
13599        * html/parser/HTMLScriptRunner.cpp:
13600        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Added an assertion that was lost
13601        in extracting ScriptElementData::executeScript.
13602        (WebCore::HTMLScriptRunner::runScript): Calls ScriptElementData::executeScript.
13603        * html/parser/HTMLScriptRunner.h:
13604        * svg/SVGScriptElement.cpp:
13605        (WebCore::SVGScriptElement::SVGScriptElement): Added isEvaluated flag to the argument list.
13606        (WebCore::SVGScriptElement::create): Calls the constructor with the isEvaluated flag set to false.
13607        (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Propagates isEvaluated.
13608        (WebCore::SVGScriptElement::executeScript): Added; calls ScriptElementData::executeScript.
13609        * svg/SVGScriptElement.h:
13610
136112010-11-11  Shinichiro Hamaji  <hamaji@chromium.org>
13612
13613        Reviewed by Darin Adler.
13614
13615        REGRESSION: window.print in onload doesn't fire if there's an img
13616        https://bugs.webkit.org/show_bug.cgi?id=48195
13617
13618        This issue was introduced in
13619        https://bugs.webkit.org/show_bug.cgi?id=43658
13620        This happens because FrameLoader::isLoading() is false while an
13621        image is still loading. Now, window.print() happens after all
13622        resources are loaded.
13623
13624        Also changed the name of a member variable as Darin suggested in Bug 43658.
13625
13626        Added a manual test as DRT doesn't support window.print() yet.
13627
13628        * loader/DocumentLoader.cpp:
13629        (WebCore::DocumentLoader::DocumentLoader):
13630        (WebCore::DocumentLoader::updateLoading):
13631        * loader/DocumentLoader.h:
13632        * page/DOMWindow.cpp:
13633        (WebCore::DOMWindow::DOMWindow):
13634        (WebCore::DOMWindow::print):
13635        (WebCore::DOMWindow::finishedLoading):
13636        * page/DOMWindow.h:
13637
136382010-11-11  James Simonsen  <simonjam@chromium.org>
13639
13640        Reviewed by Tony Chang.
13641
13642        [chromium] Support letter spacing and fix whitespace wrapping on linux
13643
13644        When lines wrapped on RTL text, the whitespace was inserted before
13645        the first character on the new line instead of at the end of the
13646        previous line. This has been fixed.
13647
13648        The missing cluster information needed for letter spacing was hidden in
13649        harfbuzz's attributes struct.
13650
13651        https://bugs.webkit.org/show_bug.cgi?id=49405
13652
13653        * platform/graphics/chromium/FontLinux.cpp:
13654        (WebCore::TextRunWalker::letterSpacing): Added.
13655        (WebCore::TextRunWalker::isWordBreak): No need for isRTL.
13656        (WebCore::TextRunWalker::setPadding): Ditto.
13657        (WebCore::TextRunWalker::setGlyphXPositions): Support letter spacing. No whitespace before RTL text on new line.
13658        (WebCore::glyphIndexForXPositionInScriptRun): Support letter spacing.
13659
136602010-11-11  Kavita Kanetkar  <kkanetkar@chromium.org>
13661
13662        Reviewed by Dumitru Daniliuc.
13663
13664        FileSystem: Fix a link error for non-chromium WebKit build
13665        https://bugs.webkit.org/show_bug.cgi?id=49296
13666
13667        * WebCore.xcodeproj/project.pbxproj:
13668        * inspector/InspectorFileSystemAgent.cpp:
13669        (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
13670        (WebCore::InspectorFileSystemAgentCallbacks::didReadDirectoryEntry):
13671        (WebCore::InspectorFileSystemAgentCallbacks::didReadDirectoryEntries):
13672        (WebCore::InspectorFileSystemAgentCallbacks::didCreateFileWriter):
13673        (WebCore::InspectorFileSystemAgentCallbacks::didFail):
13674        (WebCore::InspectorFileSystemAgent::revealFolderInOS):
13675
136762010-11-11  Nate Chapin  <japhet@chromium.org>
13677
13678        Reviewed by Antti Koivisto.
13679
13680        Cleanup after http://trac.webkit.org/changeset/71562, namely:
13681        Make deferred request handle simpler.
13682        Don't perform callbacks associated with network load starting
13683        (e.g., willSendRequest) until the load is in fact sent to the network.
13684        Make ResourceLoadScheduler a friend of ResourceLoader and make
13685        ResourceLoader::start() protected to try to ensure loads actually
13686        go through the scheduler.
13687        https://bugs.webkit.org/show_bug.cgi?id=49351
13688
13689        Behavior should be covered by existing tests.
13690
13691        * loader/NetscapePlugInStreamLoader.cpp:
13692        (WebCore::NetscapePlugInStreamLoader::create):
13693        * loader/ResourceLoadScheduler.cpp:
13694        (WebCore::ResourceLoadScheduler::servePendingRequests):
13695        * loader/ResourceLoadScheduler.h:
13696        (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
13697        * loader/ResourceLoader.cpp:
13698        (WebCore::ResourceLoader::init):
13699        (WebCore::ResourceLoader::start):
13700        (WebCore::ResourceLoader::setDefersLoading):
13701        (WebCore::ResourceLoader::didCancel):
13702        * loader/ResourceLoader.h:
13703        (WebCore::ResourceLoader::reachedTerminalState):
13704        (WebCore::ResourceLoader::request):
13705        * loader/SubresourceLoader.cpp:
13706        (WebCore::SubresourceLoader::create):
13707        * loader/loader.cpp:
13708        (WebCore::Loader::load):
13709        (WebCore::Loader::willSendRequest):
13710        * loader/loader.h:
13711
137122010-11-11  Carol Szabo <carol.szabo@nokia.com>
13713
13714        Reviewed by Kent Tamura.
13715
13716        css2:order of counters in out-of flow content
13717        https://bugs.webkit.org/show_bug.cgi?id=32412
13718
13719        Tests: fast/css/content/content-none.html
13720               fast/css/content/content-normal.html
13721
13722        * css/CSSParser.cpp:
13723        (WebCore::CSSParser::parseContent):
13724        Added support for none, normal, open-quote, no-open-quote, etc.
13725        identifiers in terms of parsing only, as this has effect on the
13726        evaluation of counters. No further implementation needed for 
13727        none and normal, the others are parsed but do not work as expected.
13728
137292010-11-11  Julie-Jeongeun-Kim  <jiyuluna@gmail.com>
13730
13731        Reviewed by Kent Tamura.
13732
13733        SelectionStart, selectionEnd properties return wrong values when the selection is in a read-only input or textarea element
13734        https://bugs.webkit.org/show_bug.cgi?id=25444
13735
13736        'rootEditableElement()' is checked on RenderTextControl::indexForVisiblePosition.
13737        It means that just editable elements can get selection information.
13738        ReadOnly element is not editable element. So, it just returns and can't get correct selection information.
13739        INPUT and TEXTAREA elements can be read-only but 'indexForVisiblePosition' doesn't accept them.
13740        So, Selectable elements, INPUT and TEXTAREA, checking is added for that case.
13741        Even if they are read-only, they are selectable.
13742
13743        new tests:fast/forms/selection-start-end-readonly.html
13744
13745        * html/HTMLInputElement.idl:
13746        * rendering/RenderTextControl.cpp:
13747        (WebCore::RenderTextControl::isSelectableElement):
13748        (WebCore::RenderTextControl::indexForVisiblePosition):
13749        * rendering/RenderTextControl.h:
13750
137512010-11-11  Adam Barth  <abarth@webkit.org>
13752
13753        Reviewed by David Levin.
13754
13755        Add some RefPtrs to be on the safe side
13756        https://bugs.webkit.org/show_bug.cgi?id=49301
13757
13758        Hopefully no behavior change.
13759
13760        * html/parser/HTMLTreeBuilder.cpp:
13761        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
13762
137632010-11-11  Chris Rogers  <crogers@google.com>
13764
13765        Reviewed by Kenneth Russell.
13766
13767        Fix Accelerate.framework issues in VectorMath 32-bit ppc & i386 vs. other architectures (64-bit, ARM, etc.).
13768        On the Mac we use the highly optimized versions in Accelerate.framework
13769        In 32-bit mode (__ppc__ or __i386__) <Accelerate/Accelerate.h> includes <vecLib/vDSP_translate.h> which defines macros
13770        of the same name as our namespaced function names, so we must handle this case differently.
13771        Other architectures (64bit, ARM, etc.) do not include this header file.
13772        
13773        https://bugs.webkit.org/show_bug.cgi?id=49112
13774
13775        No new tests since audio API is not yet implemented.
13776
13777        * platform/audio/VectorMath.cpp:
13778        (WebCore::VectorMath::vsmul):
13779        (WebCore::VectorMath::vadd):
13780
137812010-11-11  Dan Bernstein  <mitz@apple.com>
13782
13783        Reviewed by Darin Adler.
13784
13785        <rdar://problem/8657116> fast/text/justification-padding-mid-word.html fails on Windows
13786        https://bugs.webkit.org/show_bug.cgi?id=49378
13787
13788        * platform/graphics/win/UniscribeController.cpp:
13789        (WebCore::UniscribeController::shapeAndPlaceItem): For all characters that need to be treated
13790        as zero-width spaces, substitute the space glyph with zero advance. Apply justification padding
13791        and word spacing only at characters treated as (non-zero-width) spaces.
13792
137932010-11-11  Darin Adler  <darin@apple.com>
13794
13795        Reviewed by Sam Weinig.
13796
13797        Harden some string functions against large lengths
13798        https://bugs.webkit.org/show_bug.cgi?id=49293
13799
13800        * rendering/RenderText.cpp:
13801        (WebCore::makeCapitalized): Check before incrementing length.
13802
138032010-11-10  Zhenyao Mo  <zmo@google.com>
13804
13805        Reviewed by Kenneth Russell.
13806
13807        bufferData/bufferSubData should not crash with null data input
13808        https://bugs.webkit.org/show_bug.cgi?id=49350
13809
13810        * html/canvas/WebGLRenderingContext.cpp: return early if input data is null.
13811        (WebCore::WebGLRenderingContext::bufferData):
13812        (WebCore::WebGLRenderingContext::bufferSubData):
13813
138142010-11-10  Zhenyao Mo  <zmo@google.com>
13815
13816        Reviewed by Kenneth Russell.
13817
13818        Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
13819        https://bugs.webkit.org/show_bug.cgi?id=47196
13820
13821        This is the first patch for this bug.  We add constants and methods, but haven't hooked it up with texture uploading yet.  Also, in order to check in constants.html, we need to remove out-dated constants, and update affected tests correspondingly.
13822
13823        Test: fast/canvas/webgl/constants.html
13824
13825        * html/canvas/WebGLRenderingContext.cpp:
13826        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Move init code to initializeNewContext.
13827        (WebCore::WebGLRenderingContext::initializeNewContext): Ditto.
13828        (WebCore::WebGLRenderingContext::getParameter): Implement UNPACK_COLORSPACE_CONVERSION_WEBGL.
13829        (WebCore::WebGLRenderingContext::pixelStorei): Ditto.
13830        * html/canvas/WebGLRenderingContext.h: Add a member to track UNPACK_COLORSPACE_CONVERSION_WEBGL setting.
13831        * html/canvas/WebGLRenderingContext.idl: Update constants.
13832        * platform/graphics/GraphicsContext3D.h: Update constants.
13833
138342010-11-11  Chris Marrin  <cmarrin@apple.com>
13835
13836        Reviewed by James Robinson.
13837
13838        Add multisampling support to DrawingBuffer.
13839        https://bugs.webkit.org/show_bug.cgi?id=49206
13840
13841        Added support for the GL_ANGLE_framebuffer_blit and GL_ANGLE_framebuffer_multisample
13842        extensions to Extensions3D. Then I use these to add multisample support to DrawingBuffer.
13843
13844        This re-lands changes rolled out by http://trac.webkit.org/changeset/71839. It includes
13845        the change from http://trac.webkit.org/changeset/71831 and additional changes to 
13846        DrawingBufferChromium.cpp which cause the broken canvas tests to pass.
13847
13848        * platform/graphics/Extensions3D.h:
13849        * platform/graphics/chromium/DrawingBufferChromium.cpp:
13850        (WebCore::DrawingBuffer::DrawingBuffer):
13851        (WebCore::DrawingBuffer::~DrawingBuffer):
13852        (WebCore::DrawingBuffer::publishToPlatformLayer):
13853        (WebCore::DrawingBuffer::didReset):
13854        (WebCore::DrawingBuffer::platformColorBuffer):
13855        * platform/graphics/chromium/Extensions3DChromium.h:
13856        (WebCore::Extensions3DChromium::blitFramebuffer):
13857        (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
13858        * platform/graphics/gpu/DrawingBuffer.cpp:
13859        (WebCore::DrawingBuffer::create):
13860        (WebCore::DrawingBuffer::clear):
13861        (WebCore::DrawingBuffer::reset):
13862        (WebCore::DrawingBuffer::commit):
13863        (WebCore::DrawingBuffer::bind):
13864        * platform/graphics/gpu/DrawingBuffer.h:
13865        (WebCore::DrawingBuffer::multisample):
13866        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
13867        (WebCore::DrawingBuffer::DrawingBuffer):
13868        (WebCore::DrawingBuffer::didReset):
13869        (WebCore::DrawingBuffer::platformColorBuffer):
13870        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
13871        (WebCore::Extensions3DOpenGL::supports):
13872        (WebCore::Extensions3DOpenGL::blitFramebuffer):
13873        (WebCore::Extensions3DOpenGL::renderbufferStorageMultisample):
13874        * platform/graphics/opengl/Extensions3DOpenGL.h:
13875        * platform/graphics/skia/ImageBufferSkia.cpp:
13876        (WebCore::ImageBuffer::draw):
13877
138782010-11-11  David Hyatt  <hyatt@apple.com>
13879
13880        Reviewed by Simon Fraser.
13881
13882        https://bugs.webkit.org/show_bug.cgi?id=48664
13883        
13884        Make repaint invalidation work with flipped blocks ("rl" and "bt" writing modes).
13885        
13886        This patch disables the layout state for flipped blocks, since the paint offset isn't right.
13887        
13888        Bugs in the overflow sides for lines have been fixed.  before/AfterSideVisible/LayoutOverflowForLine
13889        now respect flipping (and don't incorrectly change sides).  This is a very confusing aspect of
13890        the overflow stuff (and at some point we should consider renaming top/left/right/bottom since they
13891        aren't physical).
13892        
13893        offsetFromContainer and mapLocalToContainer remain physical and refer to the top left offset.
13894        This means at every step up you convert to the correct physical coordinate.  It also means these
13895        functions will be unreliable during layout for flipped blocks.  At first glance, this seems to be
13896        more or less ok.
13897        
13898        computeRectForRepaint now delays flipping conversions until you cross a writing-mode boundary.  This
13899        allows for documents to be fully flipped and repaint during layout can still be reliable.  This is
13900        critical for incremental line layout repainting.
13901        
13902        Added new tests in fast/repaint and also rebaselined the tests in that directory because I'm tired
13903        of all the stale results and failures.
13904
13905        * editing/SelectionController.cpp:
13906        (WebCore::SelectionController::absoluteBoundsForLocalRect):
13907        (WebCore::SelectionController::paintCaret):
13908        * rendering/InlineTextBox.cpp:
13909        (WebCore::InlineTextBox::selectionRect):
13910        * rendering/RenderBlock.cpp:
13911        (WebCore::RenderBlock::layoutBlock):
13912        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
13913        (WebCore::RenderBlock::paintSelection):
13914        * rendering/RenderBlockLineLayout.cpp:
13915        (WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
13916        (WebCore::RenderBlock::afterSideVisibleOverflowForLine):
13917        (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
13918        (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
13919        * rendering/RenderBox.cpp:
13920        (WebCore::RenderBox::layout):
13921        (WebCore::RenderBox::mapLocalToContainer):
13922        (WebCore::RenderBox::offsetFromContainer):
13923        (WebCore::RenderBox::clippedOverflowRectForRepaint):
13924        (WebCore::RenderBox::computeRectForRepaint):
13925        (WebCore::RenderBox::flipForWritingMode):
13926        (WebCore::RenderBox::locationOffsetIncludingFlipping):
13927        * rendering/RenderBox.h:
13928        * rendering/RenderFlexibleBox.cpp:
13929        (WebCore::RenderFlexibleBox::layoutBlock):
13930        * rendering/RenderInline.cpp:
13931        (WebCore::RenderInline::clippedOverflowRectForRepaint):
13932        * rendering/RenderSlider.cpp:
13933        (WebCore::RenderSlider::layout):
13934        * rendering/RenderTable.cpp:
13935        (WebCore::RenderTable::layout):
13936        * rendering/RenderTableRow.cpp:
13937        (WebCore::RenderTableRow::layout):
13938        * rendering/RenderTableSection.cpp:
13939        (WebCore::RenderTableSection::layout):
13940        (WebCore::RenderTableSection::layoutRows):
13941        * rendering/RenderView.cpp:
13942        (WebCore::RenderView::computeRectForRepaint):
13943        * rendering/ShadowElement.cpp:
13944        (WebCore::ShadowBlockElement::layoutAsPart):
13945
139462010-11-11  Chris Marrin  <cmarrin@apple.com>
13947
13948        Reviewed by Simon Fraser.
13949
13950        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
13951        https://bugs.webkit.org/show_bug.cgi?id=49388
13952
13953        Renamed GraphicsLayerCA.* to GraphicsLayerMac.*
13954
13955        * WebCore.xcodeproj/project.pbxproj:
13956        * platform/graphics/mac/GraphicsLayerCA.h: Removed.
13957        * platform/graphics/mac/GraphicsLayerCA.mm: Removed.
13958        * platform/graphics/mac/GraphicsLayerMac.h: Copied from WebCore/platform/graphics/mac/GraphicsLayerCA.h.
13959        * platform/graphics/mac/GraphicsLayerMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsLayerCA.mm.
13960
139612010-11-11  Kenneth Russell  <kbr@google.com>
13962
13963        Reviewed by James Robinson.
13964
13965        [chromium] Missing adoptPtr in GraphicsContext3DSkia.cpp
13966        https://bugs.webkit.org/show_bug.cgi?id=49359
13967
13968        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
13969        (WebCore::GraphicsContext3D::getImageData):
13970
139712010-11-11  Dan Bernstein  <mitz@apple.com>
13972
13973        Reviewed by Adam Roben.
13974
13975        <rdar://problem/8113511> Enable auto-hyphenation
13976
13977        * WebCore.vcproj/WebCore.vcproj: Included HyphenationCF.cpp instead of Hyphenation.cpp.
13978        * platform/text/cf/HyphenationCF.cpp: Added functions and definitions for Windows to look up CFStringGetHyphenationLocationBeforeIndex
13979        and CFStringIsHyphenationAvailableForLocale at runtime.
13980        (wkCFStringGetHyphenationLocationBeforeIndex):
13981        (wkCFStringIsHyphenationAvailableForLocale):
13982        (WebCore::lastHyphenLocation): Added a cast.
13983
139842010-11-11  Eric Carlson  <eric.carlson@apple.com>
13985
13986        Reviewed by Eric Seidel.
13987
13988        video-pause-immediately.html sometimes fails
13989        https://bugs.webkit.org/show_bug.cgi?id=49397
13990
13991        * html/HTMLMediaElement.cpp:
13992        (WebCore::HTMLMediaElement::playInternal): Don't bother calling invalidateCachedTime, it
13993        will be called from updatePlayState.
13994        (WebCore::HTMLMediaElement::pauseInternal): Don't bother calling refreshCachedTime, it
13995        will be called from updatePlayState.
13996        (WebCore::HTMLMediaElement::updatePlayState): Call refreshCachedTime after telling the media
13997        engine to pause so we cache the post-paused time.
13998
139992010-11-11  Mihai Parparita  <mihaip@chromium.org>
14000
14001        Unreviewed rollout. 
14002        
14003        Roll out r71827 and r71831, which caused many GPU canvas test failures.
14004
14005        * platform/graphics/Extensions3D.h:
14006        * platform/graphics/chromium/DrawingBufferChromium.cpp:
14007        (WebCore::DrawingBuffer::reset):
14008        (WebCore::DrawingBuffer::getRenderingResultsAsTexture):
14009        * platform/graphics/chromium/Extensions3DChromium.h:
14010        * platform/graphics/gpu/DrawingBuffer.cpp:
14011        (WebCore::DrawingBuffer::create):
14012        (WebCore::DrawingBuffer::clear):
14013        (WebCore::DrawingBuffer::bind):
14014        * platform/graphics/gpu/DrawingBuffer.h:
14015        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
14016        (WebCore::SharedGraphicsContext3D::create):
14017        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
14018        (WebCore::DrawingBuffer::DrawingBuffer):
14019        (WebCore::DrawingBuffer::reset):
14020        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
14021        (WebCore::Extensions3DOpenGL::supports):
14022        * platform/graphics/opengl/Extensions3DOpenGL.h:
14023        * platform/graphics/skia/ImageBufferSkia.cpp:
14024        (WebCore::ImageBuffer::draw):
14025
140262010-11-11  Eric Carlson  <eric.carlson@apple.com>
14027
14028        Restore the portion of the ChangeLog removed in my last commit.
14029
140302010-11-11  Eric Carlson  <eric.carlson@apple.com>
14031
14032        Unreviewed Leoaprd build fix.
14033
14034        * html/HTMLMediaElement.cpp:
14035        (WebCore::HTMLMediaElement::invalidateCachedTime): Make the const a double.
14036
140372010-11-11  Dirk Schulze  <krit@webkit.org>
14038
14039        Unreviewed Qt build fix.
14040
14041        SVGAnimation calcMode 'spline' should be useable for from-to and from-by animations
14042        https://bugs.webkit.org/show_bug.cgi?id=49284
14043
14044        * svg/SVGAnimationElement.cpp:
14045        (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
14046        (WebCore::SVGAnimationElement::startedActiveInterval):
14047
140482010-11-11  Hans Wennborg  <hans@chromium.org>
14049
14050        Reviewed by Jeremy Orlow.
14051
14052        IndexedDB: signal IDBFactoryBackendInterface destruction to embedder
14053        https://bugs.webkit.org/show_bug.cgi?id=49313
14054
14055        Define IDBFactoryBackendInterface destructor out-of-line to allow
14056        for embedder-specific implementation. For Chromium, have the
14057        destructor call ChromiumBridge::idbShutdown().
14058
14059        * platform/chromium/ChromiumBridge.h:
14060        * storage/IDBFactoryBackendInterface.cpp:
14061        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
14062        * storage/IDBFactoryBackendInterface.h:
14063        * storage/chromium/IDBFactoryBackendInterface.cpp:
14064        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
14065
140662010-11-11  Dirk Schulze  <krit@webkit.org>
14067
14068        Reviewed by Nikolas Zimmermann.
14069
14070        SVGAnimation calcMode 'spline' should be useable for from-to and from-by animations
14071        https://bugs.webkit.org/show_bug.cgi?id=49284
14072
14073        Add support for from-to and from-by animations in combination with calcMode 'spline' for SVGAnimations.
14074
14075        Tests: svg/animations/animate-calcMode-spline-by.html
14076               svg/animations/animate-calcMode-spline-from-by.html
14077               svg/animations/animate-calcMode-spline-from-to.html
14078               svg/animations/animate-calcMode-spline-to.html
14079               svg/animations/animate-calcMode-spline-values.html
14080
14081        * svg/SVGAnimationElement.cpp:
14082        (WebCore::SVGAnimationElement::calculateKeyTimesIndex): Added to share more code.
14083        (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
14084        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
14085        (WebCore::SVGAnimationElement::startedActiveInterval):
14086        (WebCore::SVGAnimationElement::updateAnimation):
14087        * svg/SVGAnimationElement.h:
14088
140892010-11-10  Chris Marrin  <cmarrin@apple.com>
14090
14091        Reviewed by James Robinson.
14092
14093        Add multisampling support to DrawingBuffer.
14094        https://bugs.webkit.org/show_bug.cgi?id=49206
14095
14096        Added support for the GL_ANGLE_framebuffer_blit and GL_ANGLE_framebuffer_multisample
14097        extensions to Extensions3D. Then I use these to add multisample support to DrawingBuffer.
14098
14099        * platform/graphics/Extensions3D.h:
14100        * platform/graphics/chromium/DrawingBufferChromium.cpp:
14101        (WebCore::DrawingBuffer::platformColorBuffer):
14102        * platform/graphics/chromium/Extensions3DChromium.h:
14103        (WebCore::Extensions3DChromium::blitFramebuffer):
14104        (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
14105        * platform/graphics/gpu/DrawingBuffer.cpp:
14106        (WebCore::DrawingBuffer::create):
14107        (WebCore::DrawingBuffer::clear):
14108        (WebCore::DrawingBuffer::reset):
14109        (WebCore::DrawingBuffer::commit):
14110        (WebCore::DrawingBuffer::bind):
14111        * platform/graphics/gpu/DrawingBuffer.h:
14112        (WebCore::DrawingBuffer::multisample):
14113        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
14114        (WebCore::DrawingBuffer::DrawingBuffer):
14115        (WebCore::DrawingBuffer::platformLayer):
14116        (WebCore::DrawingBuffer::platformColorBuffer):
14117        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
14118        (WebCore::Extensions3DOpenGL::supports):
14119        (WebCore::Extensions3DOpenGL::blitFramebuffer):
14120        (WebCore::Extensions3DOpenGL::renderbufferStorageMultisample):
14121        * platform/graphics/opengl/Extensions3DOpenGL.h:
14122        * platform/graphics/skia/ImageBufferSkia.cpp:
14123        (WebCore::ImageBuffer::draw):
14124
141252010-11-11  Eric Carlson  <eric.carlson@apple.com>
14126
14127        Build fix after r71824.
14128
14129        * html/HTMLMediaElement.cpp:
14130        (WebCore::HTMLMediaElement::invalidateCachedTime): Use an explicit cast from double to float.
14131        (WebCore::HTMLMediaElement::currentTime): Ditto.
14132
141332010-11-11  Eric Carlson  <eric.carlson@apple.com>
14134
14135        Reviewed by Antti Koivisto.
14136
14137        Lots of time spent in MediaPlayerPrivate::currentTime() when playing multiple videos.
14138        https://bugs.webkit.org/show_bug.cgi?id=49009
14139
14140        Make it possible for HTMLMediaElement to cache the movie time and report 'currentTime'
14141        as [cached time + elapsed wall time]. The media engine returns the maximum duration it 
14142        is safe to calculate time before resampling the actual movie time with the new
14143        maximumDurationToCacheMovieTime method. Because this may be different for different media
14144        engines the default return value is 0, making it an opt-in feature.
14145
14146        No new tests were added because the existing tests already check currentTime, and because
14147        it is only possible to look for drift between the calculated and actual media time by 
14148        calculating the time AND getting the actual media time - which the defeats the purpose of
14149        the change. Building with LOG_CACHED_TIME_WARNINGS defined enables code that does both
14150        and logs warnings when the delta between calculated and observed is greater than 0.01.
14151
14152        * html/HTMLMediaElement.cpp:
14153        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member variables.
14154        (WebCore::HTMLMediaElement::prepareForLoad): Force a time resync before setting m_paused.
14155        (WebCore::HTMLMediaElement::seek): Force a time resync before getting the current time before
14156        seeking so there is no drift.
14157        (WebCore::HTMLMediaElement::refreshCachedTime): New, update the cached movie time and the
14158        wall clock time it was recorded.
14159        (WebCore::HTMLMediaElement::invalidateCachedTime): New, flag the cached time as invalid.
14160        (WebCore::HTMLMediaElement::currentTime): Use a cached movie time for as long as the media
14161        engine says it is safe. Lots of optional logging can be enabled to help ports fine tune
14162        the maximum cache interval.
14163        (WebCore::HTMLMediaElement::ended): Force a time resync before setting m_paused.
14164        (WebCore::HTMLMediaElement::endScrubbing): Fix a typo in the logging.
14165        (WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Call currentTime() instead of calling
14166        MediaPlayer so we use the cached time as much as it possible.
14167        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Invalidate cached time because the engine
14168        seeked.
14169        (WebCore::HTMLMediaElement::mediaPlayerRateChanged): Ditto.
14170        (WebCore::HTMLMediaElement::updatePlayState): Invalidate cached time before changing m_paused.
14171        * html/HTMLMediaElement.h:
14172
14173        * platform/graphics/MediaPlayer.cpp:
14174        (WebCore::MediaPlayer::maximumDurationToCacheMovieTime): New.
14175        * platform/graphics/MediaPlayer.h:
14176        * platform/graphics/MediaPlayerPrivate.h:
14177        (WebCore::MediaPlayerPrivateInterface::maximumDurationToCacheMovieTime): New.
14178
14179        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
14180        (WebCore::MediaPlayerPrivate::maximumDurationToCacheMovieTime): New, say it is safe to cache
14181        time for five seconds (based on lots of experimenting with LOG_CACHED_TIME_WARNINGS enabled).
14182
141832010-11-11  Adam Roben  <aroben@apple.com>
14184
14185        Windows build fix after r71816
14186
14187        r71816 renamed
14188        WebCore/platform/graphics/cairo/FontPlatformDataCairoWin.h to
14189        WebCore/platform/graphics/win/FontPlatformData.h. This made Apple's
14190        Windows port pick up this header in preference to
14191        WebCore/platform/cg/FontPlatformData.h, thus breaking the build. I
14192        moved the file to
14193        WebCore/platform/graphics/win/cairo/FontPlatformData.h so it won't be
14194        picked up by Apple's Windows build.
14195
14196        * WebCore.vcproj/WebCore.vcproj: Updated for file move and let VS
14197        re-sort the files.
14198
14199        * WebCore.vcproj/WebCoreCairo.vsprops: Added
14200        platform/graphics/win/cairo to the include path.
14201
14202        * WebCore.vcproj/copyForwardingHeaders.cmd: Copy files from
14203        platform/graphics/win/cairo to $WebKitOutputDir.
14204
14205        * platform/graphics/cg/FontPlatformData.h: Touched to force this file
14206        to be recopied for Apple's build.
14207
14208        * platform/graphics/win/cairo/FontPlatformData.h: Renamed from
14209        WebCore/platform/graphics/win/FontPlatformData.h.
14210
142112010-11-11  Balazs Kelemen  <kbalazs@webkit.org>
14212
14213        Reviewed by Andreas Kling.
14214
14215        [Qt][WK2] Implement BackingStore
14216        https://bugs.webkit.org/show_bug.cgi?id=49377
14217        No change in functionality so no tests.
14218
14219        Add a way to hand off ownership of the QPainter and the underlying
14220        QPaintDevice to the GraphicsContext.
14221        * platform/graphics/GraphicsContext.h:
14222        * platform/graphics/qt/GraphicsContextQt.cpp:
14223        (WebCore::GraphicsContextPlatformPrivate::takeOwnershipOfPlatformContext):
14224        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
14225        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
14226        (WebCore::GraphicsContext::takeOwnershipOfPlatformContext):
14227
142282010-11-11  Ryuan Choi  <ryuan.choi@samsung.com>
14229
14230        Reviewed by Adam Barth.
14231
14232        [GTK] Move font related files.
14233        https://bugs.webkit.org/show_bug.cgi?id=48116
14234
14235        Move pango and freetype related files to share non-GTK+ platforms.
14236
14237        No new tests because this is pure refactoring.
14238
14239        * CMakeListsEfl.txt:
14240        * GNUmakefile.am:
14241        * WebCore.vcproj/WebCore.vcproj:
14242        * platform/graphics/cairo/FontCacheFreeType.cpp: Removed.
14243        * platform/graphics/cairo/FontCustomPlatformData.cpp: Removed.
14244        * platform/graphics/cairo/FontPlatformData.h: Removed.
14245        * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Removed.
14246        * platform/graphics/cairo/FontPlatformDataFreeType.h: Removed.
14247        * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Removed.
14248        * platform/graphics/cairo/SimpleFontDataCairo.cpp: Removed.
14249        * platform/graphics/freetype: Added.
14250        * platform/graphics/freetype/FontCacheFreeType.cpp: Copied from WebCore/platform/graphics/cairo/FontCacheFreeType.cpp.
14251        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: Copied from WebCore/platform/graphics/cairo/FontCustomPlatformData.cpp.
14252        * platform/graphics/freetype/FontPlatformData.h: Copied from WebCore/platform/graphics/cairo/FontPlatformDataFreeType.h.
14253        * platform/graphics/freetype/FontPlatformDataFreeType.cpp: Copied from WebCore/platform/graphics/cairo/FontPlatformDataFreeType.cpp.
14254        * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp: Copied from WebCore/platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp.
14255        * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Copied from WebCore/platform/graphics/cairo/SimpleFontDataCairo.cpp.
14256        * platform/graphics/gtk/FontCachePango.cpp: Removed.
14257        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Removed.
14258        * platform/graphics/gtk/FontPlatformDataPango.cpp: Removed.
14259        * platform/graphics/gtk/FontPlatformDataPango.h: Removed.
14260        * platform/graphics/gtk/GlyphPageTreeNodePango.cpp: Removed.
14261        * platform/graphics/gtk/SimpleFontDataPango.cpp: Removed.
14262        * platform/graphics/pango: Added.
14263        * platform/graphics/pango/FontCachePango.cpp: Copied from WebCore/platform/graphics/gtk/FontCachePango.cpp.
14264        * platform/graphics/pango/FontCustomPlatformDataPango.cpp: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformDataPango.cpp.
14265        * platform/graphics/pango/FontPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontPlatformDataPango.h.
14266        * platform/graphics/pango/FontPlatformDataPango.cpp: Copied from WebCore/platform/graphics/gtk/FontPlatformDataPango.cpp.
14267        * platform/graphics/pango/GlyphPageTreeNodePango.cpp: Copied from WebCore/platform/graphics/gtk/GlyphPageTreeNodePango.cpp.
14268        * platform/graphics/pango/SimpleFontDataPango.cpp: Copied from WebCore/platform/graphics/gtk/SimpleFontDataPango.cpp.
14269        * platform/graphics/win/FontPlatformData.h: Copied from WebCore/platform/graphics/win/FontPlatformDataCairoWin.h.
14270        * platform/graphics/win/FontPlatformDataCairoWin.h: Removed.
14271
142722010-11-11  Pavel Feldman  <pfeldman@chromium.org>
14273
14274        Reviewed by Yury Semikhatsky.
14275
14276        Web Inspector: size of resources in summary is 0
14277        when there are redirects.
14278        https://bugs.webkit.org/show_bug.cgi?id=49242
14279
14280        * inspector/front-end/NetworkPanel.js:
14281        (WebInspector.NetworkPanel.prototype._updateSummaryBar):
14282
142832010-11-11  Ben Murdoch  <benm@google.com>
14284
14285        Reviewed by Darin Fisher.
14286
14287        document.createTouch and document.createTouchList should specify EnabledAtRuntime
14288        https://bugs.webkit.org/show_bug.cgi?id=49324
14289
14290        The createTouch and createTouchList APIs added to Document.idl in
14291        http://trac.webkit.org/changeset/70047 should have EnabledAtRuntime
14292        specified as touch related features are controlled by a
14293        RuntimeEnabledFeature flag in addition to a compile time guard.
14294
14295        No new tests. This should have been part of r70047 and 
14296        that revision provided adequate tests of the new feature.
14297
14298        * bindings/generic/RuntimeEnabledFeatures.h:
14299        (WebCore::RuntimeEnabledFeatures::createTouchEnabled):
14300        (WebCore::RuntimeEnabledFeatures::createTouchListEnabled):
14301        * dom/Document.idl: Add EnabledAtRuntime specifier to the
14302            idl methods.
14303
143042010-11-09  Pavel Feldman  <pfeldman@chromium.org>
14305
14306        Reviewed by Yury Semikhatsky.
14307
14308        Web Inspector: Provide context menu item 'Reveal in Elements Panel'
14309        on elements in inspector UI.
14310        https://bugs.webkit.org/show_bug.cgi?id=49161
14311
14312        * English.lproj/localizedStrings.js:
14313        * inspector/front-end/ElementsTreeOutline.js:
14314        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
14315        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
14316        * inspector/front-end/ObjectPropertiesSection.js:
14317        (WebInspector.ObjectPropertyTreeElement.prototype.update):
14318        (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
14319        (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired.revealElement):
14320
143212010-11-11  Pavel Feldman  <pfeldman@chromium.org>
14322
14323        Reviewed by Yury Semikhatsky.
14324
14325        Web Inspector: Audit panel toolbar icon shifts left when clicked.
14326        https://bugs.webkit.org/show_bug.cgi?id=48766
14327
14328        * inspector/front-end/Images/auditsIcon.png:
14329
143302010-11-11  Nikolas Zimmermann  <nzimmermann@rim.com>
14331
14332        Reviewed by Dirk Schulze.
14333
14334        chrome.dll!WebCore::SVGLengthInternal::valueInSpecifiedUnitsAttrGetter ReadAV@NULL (4cf97a4f3ebe8006a2f5ffcc5bc10aeb)
14335        https://bugs.webkit.org/show_bug.cgi?id=49331
14336
14337        Test: svg/dom/SVGPolygonElement-baseVal-list-removal-crash.html
14338
14339        * svg/properties/SVGListProperty.h:
14340        (WebCore::SVGListProperty::replaceItemValuesAndWrappers): Avoid premature deletion of 'oldItem'.
14341        (WebCore::SVGListProperty::removeItemValuesAndWrappers): Ditto.
14342
143432010-11-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
14344
14345        Reviewed by Andreas Kling.
14346
14347        Make it possible to override the visibleContentRect in the case the
14348        client is handling the scrolling. This is similar to what the iPhone does.
14349
14350        * platform/ScrollView.cpp:
14351        (WebCore::ScrollView::visibleContentRect):
14352        * platform/ScrollView.h:
14353        (WebCore::ScrollView::setActualVisibleContentRect):
14354
143552010-11-11  Andreas Kling  <kling@webkit.org>
14356
14357        Reviewed by Kenneth Rohde Christiansen.
14358
14359        FrameView: Don't clip to visibleContentRect in paintEntireContents mode
14360        https://bugs.webkit.org/show_bug.cgi?id=49375
14361
14362        In paintEntireContents mode (used in combination with tiling) we
14363        cannot clip to the actual visibleContentRect as the clipped regions
14364        will not be updated again on scroll. If paintsEntireContents is
14365        enabled, return the actual content rect.
14366
14367        * page/FrameView.cpp:
14368        (WebCore::FrameView::windowClipRect):
14369
143702010-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
14371
14372        Reviewed by Dirk Schulze.
14373
14374        Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept
14375        https://bugs.webkit.org/show_bug.cgi?id=49311
14376
14377        Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept.
14378        Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now.
14379
14380        Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg
14381               svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg
14382               svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg
14383               svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg
14384               svg/W3C-SVG-1.1-SE/types-dom-01-b.svg
14385               svg/W3C-SVG-1.1-SE/types-dom-02-f.svg
14386               svg/W3C-SVG-1.1-SE/types-dom-03-b.svg
14387               svg/W3C-SVG-1.1-SE/types-dom-04-b.svg
14388               svg/W3C-SVG-1.1-SE/types-dom-05-b.svg
14389               svg/dom/SVGMatrix.html
14390               svg/dom/SVGTransform.html
14391               svg/dom/SVGTransformList.html
14392
14393        * Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp.
14394        * Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp.
14395        * CMakeLists.txt: Remove JSSVGMatrixCustom.cpp. 
14396        * GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build.
14397        * WebCore.gypi: Ditto.
14398        * WebCore.pro: Ditto.
14399        * WebCore.vcproj/WebCore.vcproj: Ditto.
14400        * WebCore.xcodeproj/project.pbxproj: Ditto.
14401        * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp
14402        * bindings/js/JSSVGMatrixCustom.cpp: Removed.
14403        * bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept.
14404        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
14405        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
14406        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
14407        * bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed.
14408        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling.
14409        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
14410        * svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes.
14411        (WebCore::transformListFor):
14412        (WebCore::SVGAnimateTransformElement::resetToBaseValue):
14413        (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
14414        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
14415        * svg/SVGAnimatedTransformList.h: Added.
14416        * svg/SVGGradientElement.cpp: Ditto.
14417        (WebCore::SVGGradientElement::SVGGradientElement):
14418        (WebCore::SVGGradientElement::parseMappedAttribute):
14419        * svg/SVGGradientElement.h: Ditto.
14420        * svg/SVGLinearGradientElement.cpp: Ditto.
14421        (WebCore::SVGLinearGradientElement::collectGradientAttributes):
14422        * svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements.
14423        (WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix.
14424        (WebCore::SVGMatrix::scale): Ditto.
14425        (WebCore::SVGMatrix::scaleNonUniform): Ditto.
14426        (WebCore::SVGMatrix::rotate): Ditto.
14427        (WebCore::SVGMatrix::flipX): Ditto.
14428        (WebCore::SVGMatrix::flipY): Ditto.
14429        (WebCore::SVGMatrix::skewX): Ditto.
14430        (WebCore::SVGMatrix::skewY): Ditto.
14431        (WebCore::SVGMatrix::multiply): Ditto.
14432        (WebCore::SVGMatrix::inverse): Ditto.
14433        (WebCore::SVGMatrix::rotateFromVector): Dittto.
14434        * svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions.
14435        * svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes.
14436        (WebCore::SVGPatternElement::SVGPatternElement):
14437        (WebCore::SVGPatternElement::parseMappedAttribute):
14438        (WebCore::SVGPatternElement::collectPatternAttributes):
14439        * svg/SVGPatternElement.h: Ditto.
14440        * svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme.
14441        * svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes.
14442        (WebCore::SVGRadialGradientElement::collectGradientAttributes):
14443        * svg/SVGSVGElement.cpp: Ditto.
14444        (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
14445        (WebCore::SVGSVGElement::viewBoxToViewTransform):
14446        * svg/SVGSVGElement.h: Ditto.
14447        * svg/SVGStyledTransformableElement.cpp: Ditto.
14448        (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
14449        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
14450        (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
14451        * svg/SVGStyledTransformableElement.h: Ditto.
14452        * svg/SVGTextElement.cpp: Ditto.
14453        (WebCore::SVGTextElement::SVGTextElement):
14454        (WebCore::SVGTextElement::parseMappedAttribute):
14455        (WebCore::SVGTextElement::animatedLocalTransform):
14456        * svg/SVGTextElement.h: Ditto.
14457        * svg/SVGTransform.cpp: Modernize code, inlined some getters.
14458        (WebCore::SVGTransform::SVGTransform):
14459        (WebCore::SVGTransform::setMatrix):
14460        * svg/SVGTransform.h: Reindent header.
14461        (WebCore::SVGTransform::type):
14462        (WebCore::SVGTransform::svgMatrix):
14463        (WebCore::SVGTransform::matrix):
14464        (WebCore::SVGTransform::angle):
14465        (WebCore::SVGTransform::rotationCenter):
14466        (WebCore::SVGTransform::isValid):
14467        (WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly.
14468        (WebCore::operator!=):
14469        * svg/SVGTransform.idl:
14470        * svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>.
14471        (WebCore::SVGTransformList::createSVGTransformFromMatrix):
14472        (WebCore::SVGTransformList::consolidate):
14473        (WebCore::SVGTransformList::concatenate):
14474        (WebCore::SVGTransformList::valueAsString):
14475        * svg/SVGTransformList.h:
14476        (WebCore::SVGTransformList::SVGTransformList):
14477        * svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions.
14478        * svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes.
14479        (WebCore::SVGTransformable::parseTransformAttribute):
14480        * svg/SVGTransformable.h: Ditto.
14481        * svg/SVGViewSpec.cpp: Ditto.
14482        (WebCore::SVGViewSpec::SVGViewSpec):
14483        (WebCore::SVGViewSpec::setTransform):
14484        (WebCore::SVGViewSpec::parseViewSpec):
14485        * svg/SVGViewSpec.h: Ditto.
14486        (WebCore::SVGViewSpec::transform):
14487        * svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected.
14488        * svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros.
14489        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects.
14490        (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
14491        (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
14492        (WebCore::SVGAnimatedTransformListPropertyTearOff::create):
14493        (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff):
14494        * svg/properties/SVGListPropertyTearOff.h: Made construct and members protected.
14495        * svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method.
14496        * svg/properties/SVGPropertyTraits.h: Handle SVGTransformList.
14497        * svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types
14498                                                               that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff).
14499        (WebCore::SVGStaticPropertyWithParentTearOff::create):
14500        (WebCore::SVGStaticPropertyWithParentTearOff::commitChange):
14501        (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):
14502        * svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix.
14503        (WebCore::SVGTransformListPropertyTearOff::create):
14504        (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
14505        (WebCore::SVGTransformListPropertyTearOff::consolidate):
14506        (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
14507
145082010-11-11  Alejandro G. Castro  <alex@igalia.com>
14509
14510        Reviewed by Nikolas Zimmermann.
14511
14512        Fixed WebKitGTK gtk3 compilation.
14513
14514        * platform/gtk/WidgetRenderingContextGtk3.cpp:
14515        (WebCore::WidgetRenderingContext::WidgetRenderingContext):
14516
145172010-11-11  Dan Bernstein  <mitz@apple.com>
14518
14519        Reverted r71975:71976. That change was wrong, and the tests caught it.
14520
14521        * platform/graphics/mac/ComplexTextController.h:
14522        (WebCore::ComplexTextController::ComplexTextRun::create):
14523        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
14524        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
14525        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
14526
145272010-11-11  Matthew Delaney  <mdelaney@apple.com>
14528
14529        Reviewed by Dan Bernstein.
14530
14531        Fix LayoutTests/canvas/philip/tests/2d.drawImage.null.html
14532        https://bugs.webkit.org/show_bug.cgi?id=48307
14533
14534        There are no new tests because this is a fix for a pre-existing failing test.)
14535
14536        * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Corrected expection throwing cases to match up with spec.
14537
145382010-11-10  Ryosuke Niwa  <rniwa@webkit.org>
14539
14540        Reviewed by Adam Barth.
14541
14542        [HTML5] 10.2.8.4 Scripts that modify the page as it is being parsed
14543        https://bugs.webkit.org/show_bug.cgi?id=49364
14544
14545        Fixed HTMLScriptRunner's executeScript to use the ScriptController of the frame to which script element belongs
14546        as supposed to that of the frame associated with the HTMLScriptRunner.
14547
14548        See also: http://www.whatwg.org/specs/web-apps/current-work/#scripts-that-modify-the-page-as-it-is-being-parsed
14549
14550        Test: fast/parser/script-modify-page-outer.html
14551
14552        * html/parser/HTMLScriptRunner.cpp:
14553        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Calls executeScript.
14554        (WebCore::HTMLScriptRunner::executeScript): Uses the correct ScriptController instance.
14555        (WebCore::HTMLScriptRunner::runScript): Call executeScript.
14556        * html/parser/HTMLScriptRunner.h:
14557
145582010-11-10  Dan Bernstein  <mitz@apple.com>
14559
14560        Style fix I said I’d make then forgot to make.
14561
14562        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
14563        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
14564
145652010-11-10  Ned Holbrook  <nholbrook@apple.com>
14566
14567        Reviewed by Dan Bernstein.
14568
14569        Allow for the possibility of CoreText generating multiple runs for a single text run.
14570        https://bugs.webkit.org/show_bug.cgi?id=49353
14571
14572        * platform/graphics/mac/ComplexTextController.h:
14573        (WebCore::ComplexTextController::ComplexTextRun::create):
14574        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
14575        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
14576        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
14577
145782010-10-15  Martin Robinson  <mrobinson@igalia.com>
14579
14580        Reviewed by Xan Lopez.
14581
14582        [GTK] Widgets do not support CSS transformations
14583        https://bugs.webkit.org/show_bug.cgi?id=40139
14584
14585        Instead of rendering directly onto the target drawable when rendering
14586        form controls on GTK+ 2.0, render onto an intermediate surface and use
14587        cairo to blit the result back to the target surface. This has two
14588        benefits. The first is that it always honors the current Cairo
14589        transformation. The second is that since the intermediate drawable is
14590        always a 32-bit GdkPixmap, we do not have to have a set of widgets
14591        per-colormap any longer.
14592
14593        This change also begins the abstraction of widget rendering so that GTK+
14594        2 and GTK+ 3 can use the same code path. The WidgetRenderingContext will
14595        eventually hide all version differences from RenderThemeGtk, which can
14596        just focus on interpreting the GtkStyle properties. 
14597
14598        * GNUmakefile.am: Add WidgetRenderinContext source files to the sources list.
14599        * platform/graphics/cairo/PlatformRefPtrCairo.cpp:
14600        (WTF::refPlatformPtr): Add a specialization for Cairo patterns.
14601        (WTF::derefPlatformPtr): Ditto.
14602        * platform/graphics/cairo/PlatformRefPtrCairo.h: Ditto.
14603        * platform/gtk/RenderThemeGtk.cpp:
14604        (WebCore::RenderThemeGtk::RenderThemeGtk): No longer keep a set of
14605        widgets per-colormap for GTK+, instead just determine if we can use RGBA
14606        colormaps and go from there.
14607        (WebCore::RenderThemeGtk::~RenderThemeGtk): Ditto.
14608        (WebCore::RenderThemeGtk::getIndicatorMetrics): Put the logic for
14609        getting toggle button indicator metrics into this helper.
14610        (WebCore::RenderThemeGtk::paintRenderObject): Now uses
14611        WidgetRenderingContext to do widget rendering.
14612        (WebCore::setToggleSize): Use the new getIndicatorMetrics helper.
14613        * platform/gtk/RenderThemeGtk.h: Added a member to track whether or not
14614          the widgets are using a RGBA colormap. Also remove a defunct Page*
14615          member.
14616        * platform/gtk/ScrollbarThemeGtk.cpp: Switch all widget drawing
14617        operations to use WidgetRenderingContext.
14618        (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
14619        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
14620        (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
14621        (WebCore::ScrollbarThemeGtk::paint): Ditto.
14622        (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
14623        * platform/gtk/WidgetRenderingContext.h: Added.
14624        * platform/gtk/WidgetRenderingContextGtk2.cpp: Added.
14625        (WebCore::purgeScratchBuffer): Added, this is similar to the scratch
14626        buffer implementation from ContextShadow.
14627        (WebCore::PurgeScratchBufferTimer::fired): Ditto.
14628        (WebCore::scheduleScratchBufferPurge): Ditto.
14629        (WebCore::getExtraSpaceForWidget):
14630        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Added.
14631        (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Added.
14632        (WebCore::WidgetRenderingContext::paintMozillaWidget): Added.
14633        * platform/gtk/WidgetRenderingContextGtk3.cpp: Added.
14634        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Added.
14635        (WebCore::~WidgetRenderingContext::WidgetRenderingContext): Added.
14636        (WebCore::WidgetRenderingContext::paintMozillaWidget): Added.
14637
146382010-11-10  Beth Dakin  <bdakin@apple.com>
14639
14640        Reviewed by Simon Fraser.
14641
14642        Fix for https://bugs.webkit.org/show_bug.cgi?id=49356 
14643        -[WebView _scaleWebView:] should take and origin and scroll the 
14644        document
14645        -and corresponding-
14646        <rdar://problem/8643921>
14647
14648        Apply the scale to the origin, and set a new scroll position.
14649        * page/Frame.cpp:
14650        (WebCore::Frame::scalePage):
14651        * page/Frame.h:
14652        * WebCore.exp.in:
14653
146542010-11-10  Dan Bernstein  <mitz@apple.com>
14655
14656        Reviewed by Darin Adler.
14657
14658        REGRESSION (r71566): r71566 breaks bidi-control-chars-treated-as-ZWS.html
14659        https://bugs.webkit.org/show_bug.cgi?id=49295
14660
14661        * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Reverted to r71565. Eliding bidi
14662        control characters from ATSUI is no longer necessary since ComplexTextController removes
14663        any glyphs corresponding to them.
14664        (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation):
14665        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
14666
146672010-11-10  Pascal Massimino  <pascal.massimino@gmail.com>
14668
14669        Reviewed by Adam Barth.
14670
14671        Simplify the alpha-detection code in png's decoding loop.
14672        https://bugs.webkit.org/show_bug.cgi?id=49333
14673
14674        Added a special test for this case: png_per_row_alpha_decoding.html
14675
14676        * platform/image-decoders/png/PNGImageDecoder.cpp:
14677        (WebCore::PNGImageDecoder::rowAvailable): modified loop.
14678
146792010-11-10  Dan Bernstein  <mitz@apple.com>
14680
14681        Reviewed by Simon Fraser.
14682
14683        <rdar://problem/8647848> REGRESSION (r68551): Spaces shown at soft hyphens with complex justification
14684        https://bugs.webkit.org/show_bug.cgi?id=49352
14685
14686        Test: fast/text/justification-padding-mid-word.html
14687
14688        * platform/graphics/mac/ComplexTextController.cpp:
14689        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Changed to add justification padding
14690        and word spacing only at characters that are treated as space, instead of all characters that
14691        use the space glyph (which includes characters treated as zero-width space as well).
14692
146932010-11-10  Matthew Delaney  <mdelaney@apple.com>
14694
14695        Reviewed by Darin Adler.
14696
14697        Crash in documentWillBecomeInactive() when closing window with Reader showing content with SVG
14698        https://bugs.webkit.org/show_bug.cgi?id=49084
14699
14700        Manual test added.
14701
14702        * manual-tests/svg-deep-clone-to-new-doc.html: Added manual test for reproducing bug since an automated version proved to be a bit tough to craft up.
14703        * svg/SVGSVGElement.cpp: Added in necessary document ownership transfer calls.
14704        * svg/SVGSVGElement.h:
14705
147062010-11-10  Pavel Feldman  <pfeldman@chromium.org>
14707
14708        Reviewed by Yury Semikhatsky.
14709
14710        Web Inspector: Red error bubbles don't fit content.
14711        https://bugs.webkit.org/show_bug.cgi?id=49305
14712
14713        * inspector/front-end/textViewer.css:
14714        (.webkit-html-message-bubble):
14715
147162010-11-10  Alexey Proskuryakov  <ap@apple.com>
14717
14718        Release build fix.
14719
14720        * css/StyleSheet.cpp: isAcceptableStyleSheetParent() is a debug-only function.
14721
147222010-11-08  Alexey Proskuryakov  <ap@apple.com>
14723
14724        Reviewed by Darin Adler.
14725
14726        https://bugs.webkit.org/show_bug.cgi?id=45205
14727        <rdar://problem/8391455> Detached elements shouldn't have style sheets.
14728
14729        Tests: fast/dom/StyleSheet/detached-style-2.html
14730               fast/dom/StyleSheet/detached-style-pi.xhtml
14731               fast/dom/StyleSheet/detached-style.html
14732               fast/dom/StyleSheet/detached-style-pi-2.xhtml
14733
14734        * bindings/js/JSStyleSheetCustom.cpp: (WebCore::JSStyleSheet::markChildren):
14735        There is no longer a need to mark owner nodes - StyleSheet->ownerNode() is only non-null when
14736        the node is in document.
14737
14738        * css/StyleSheet.cpp: (WebCore::StyleSheet::StyleSheet): Added an assertion checking that
14739        all nodes that can be StyleSheet parents have been verified.
14740
14741        * css/StyleSheet.h: (WebCore::StyleSheet::clearOwnerNode): Added.
14742
14743        * dom/ProcessingInstruction.cpp:
14744        (WebCore::ProcessingInstruction::~ProcessingInstruction): Clear stylesheet's owner node. This
14745        shouldn't have observable effect, since a processing instruction that is in document can only
14746        be destroyed with document, and a reachable stylsheet keeps document alive.
14747        (WebCore::ProcessingInstruction::removedFromDocument): Clear the relationship between node and style sheet when removed.
14748        (WebCore::ProcessingInstruction::setCSSStyleSheet): If the element was removed during load, we still
14749        don't want to create a style sheet.
14750
14751        * dom/StyleElement.cpp:
14752        (WebCore::StyleElement::sheet): There is no reason for lazy creation. It was a wrong fix for
14753        bug 14462, whose regression test still passes.
14754        (WebCore::StyleElement::removedFromDocument): Clear the relationship between node and style sheet when removed.
14755        (WebCore::StyleElement::finishParsingChildren): Don't call sheet(), it doens't have side effects any more.
14756        (WebCore::StyleElement::createSheet): Assert that the element is in document. We never want
14757        to create a style sheet for an element that isn't.
14758
14759        * dom/StyleElement.h: (WebCore::StyleElement::sheet): Made implementation inline, now that
14760        it's a simple getter.
14761
14762        * html/HTMLLinkElement.cpp:
14763        (WebCore::HTMLLinkElement::~HTMLLinkElement): Clear stylesheet's owner node.
14764        (WebCore::HTMLLinkElement::process): Assert that there is no style sheet lingering for any reason.
14765        (WebCore::HTMLLinkElement::removedFromDocument): Clear the relationship between node and style sheet when removed.
14766        (WebCore::HTMLLinkElement::setCSSStyleSheet): If the element was removed during load, we still
14767        don't want to create a style sheet.
14768
14769        * html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::~HTMLStyleElement):
14770        * html/HTMLStyleElement.h:
14771        * svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::~SVGStyleElement):
14772        * svg/SVGStyleElement.h:
14773        Clear stylesheet's owner node. As above, this shouldn't have observable effect.
14774
14775        * xml/XSLTProcessor.h:
14776        * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::~XSLTProcessor):
14777        * dom/Document.cpp: (WebCore::Document::~Document):
14778        * css/CSSParser.cpp: (WebCore::CSSParser::parseSelector):
14779        Assert that stylesheet won't outlive its owner node. We don't really use refcounting here.
14780
147812010-11-10  Dan Bernstein  <mitz@apple.com>
14782
14783        Reviewed by Dave Hyatt.
14784
14785        REGRESSION (r71566): r71566 breaks bidi-control-chars-treated-as-ZWS.html
14786        https://bugs.webkit.org/show_bug.cgi?id=49295
14787
14788        * platform/graphics/mac/ComplexTextController.h: Added m_indexOffset.
14789        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
14790        (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Use m_indexOffset
14791        instead of computing the offset based on m_directionalOverride.
14792        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Set m_indexOffset to
14793        the offset between indices in m_characters and indices in the text passed to ATSUI.
14794
147952010-11-10  Pavel Feldman  <pfeldman@chromium.org>
14796
14797        Reviewed by Yury Semikhatsky.
14798
14799        Web Inspector: Gear menu floats to right edge and expands
14800        to bottom of "Styles" section.
14801        https://bugs.webkit.org/show_bug.cgi?id=49303
14802
14803        This fixes computed style's option wrapping to the next line.
14804
14805        * inspector/front-end/inspector.css:
14806        (.sidebar-pane-subtitle):
14807
148082010-11-10  Stephen White  <senorblanco@chromium.org>
14809
14810        Reviewed by James Robinson.
14811
14812        Fix canvas.putImageData(canvas.getImageData(...)) to be lossless.
14813        https://bugs.webkit.org/show_bug.cgi?id=49330
14814
14815        These cycles should be lossless for valid colours.  A similar fix went
14816        into the CG port at r32878.
14817
14818        Covered by canvas/philip/tests/2d.imageData.put.unchanged.html.
14819
14820        * platform/graphics/skia/ImageBufferSkia.cpp:
14821        (WebCore::mulDiv255Ceil):
14822        A helper function to do (a + b + 254) / 255 without a divide.
14823        (WebCore::putImageData):
14824        Use the above helper to round up when premultiplying alpha.
14825
148262010-11-10  Csaba Osztrogonác  <ossy@webkit.org>
14827
14828        Reviewed by David Hyatt.
14829
14830        HTML5 Ruby support should be mandatory feature
14831        https://bugs.webkit.org/show_bug.cgi?id=49272
14832
14833        Remove Ruby as optional feature.
14834
14835        * Configurations/FeatureDefines.xcconfig:
14836        * DerivedSources.make:
14837        * GNUmakefile.am:
14838        * WebCorePrefix.h: Touch WebCorePrefix.h to avoid incremental build failure on Windows.
14839        * config.h: Touch config.h to avoid incremental build failure on Windows.
14840        * features.pri:
14841        * html/HTMLTagNames.in:
14842        * rendering/RenderBlock.cpp: Remove ENABLE_RUBY guard.
14843        (WebCore::canMergeContiguousAnonymousBlocks):
14844        * rendering/RenderObject.cpp: Remove ENABLE_RUBY guard.
14845        (WebCore::RenderObject::createObject):
14846        * rendering/RenderRuby.cpp: Remove ENABLE_RUBY guard.
14847        * rendering/RenderRuby.h: Remove ENABLE_RUBY guard.
14848        * rendering/RenderRubyBase.cpp: Remove ENABLE_RUBY guard.
14849        * rendering/RenderRubyBase.h: Remove ENABLE_RUBY guard.
14850        * rendering/RenderRubyRun.cpp: Remove ENABLE_RUBY guard.
14851        * rendering/RenderRubyRun.h: Remove ENABLE_RUBY guard.
14852        * rendering/RenderRubyText.cpp: Remove ENABLE_RUBY guard.
14853        * rendering/RenderRubyText.h: Remove ENABLE_RUBY guard.
14854
148552010-11-10  Martin Robinson  <mrobinson@igalia.com>
14856
14857        Reviewed by Xan Lopez.
14858
14859        [GTK] Complex text does not have full CSS text-shadow support
14860        https://bugs.webkit.org/show_bug.cgi?id=45597
14861
14862        Add ContextShadow support to FontGtk, which enables non-solid shadows
14863        for complex text rendering.
14864
14865        Test: platform/gtk/fonts/complex-text-shadows.html
14866
14867        * platform/graphics/gtk/FontGtk.cpp:
14868        (WebCore::destroyPangoRegion): Added this helper, which helps reduce
14869        the number of #ifdefs when dealing with GTK+ region type differences.
14870        (WebCore::getPangoRegionExtents): Ditto.
14871        (WebCore::drawGlyphsShadow): Added this helper which either renders
14872        a solid shadow manually or uses ContextShadow to render a blurry shadow.
14873        (WebCore::Font::drawComplexText): Use the new helpers.
14874
148752010-11-10  Alejandro G. Castro  <alex@igalia.com>
14876
14877        Reviewed by Martin Robinson.
14878
14879        [gtk] The revision r71528 causes crashes in GObjectEventListener
14880        https://bugs.webkit.org/show_bug.cgi?id=49314
14881
14882        Moved the addition of the event listener to the node after calling
14883        the constructor of the event listener. This is required beacuse
14884        the addEventListener API receives the EventListener inside a
14885        PassRefPtr.
14886
14887        * bindings/gobject/GObjectEventListener.cpp:
14888        (WebCore::GObjectEventListener::GObjectEventListener):
14889        * bindings/gobject/GObjectEventListener.h:
14890        (WebCore::GObjectEventListener::addEventListener):
14891
148922010-11-02  Alexander Pavlov  <apavlov@chromium.org>
14893
14894        Reviewed by Pavel Feldman.
14895
14896        Web Inspector: Enable InspectorCSSAgent (not used by frontend for CSS editing yet)
14897        https://bugs.webkit.org/show_bug.cgi?id=48834
14898
14899        Drive-by fix: use a single API method to retrieve all node-related styles instead of a bunch of separate calls.
14900
14901        Test: inspector/styles-new-API.html
14902
14903        * inspector/CodeGeneratorInspector.pm:
14904        * inspector/Inspector.idl:
14905        * inspector/InspectorCSSAgent.cpp:
14906        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
14907        (WebCore::InspectorCSSAgent::setDOMAgent):
14908        (WebCore::InspectorCSSAgent::reset):
14909        (WebCore::InspectorCSSAgent::getStylesForNode2):
14910        (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
14911        (WebCore::InspectorCSSAgent::addRule2):
14912        (WebCore::InspectorCSSAgent::querySelectorAll):
14913        * inspector/InspectorCSSAgent.h:
14914        * inspector/InspectorController.cpp:
14915        (WebCore::InspectorController::InspectorController):
14916        (WebCore::InspectorController::connectFrontend):
14917        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
14918        (WebCore::InspectorController::didCommitLoad):
14919        * inspector/InspectorController.h:
14920        (WebCore::InspectorController::cssAgent):
14921        * inspector/InspectorDOMAgent.cpp:
14922        * inspector/InspectorDOMAgent.h:
14923        * inspector/InspectorStyleSheet.cpp:
14924        (WebCore::InspectorStyle::setPropertyText):
14925        (WebCore::InspectorStyle::styleText):
14926        (WebCore::InspectorStyle::disableProperty):
14927        (WebCore::InspectorStyle::populateAllProperties):
14928        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
14929        (WebCore::InspectorStyleSheet::buildObjectForRule):
14930        (WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges):
14931        (WebCore::InspectorStyleSheet::ensureSourceData):
14932        (WebCore::InspectorStyleSheetForInlineStyle::text):
14933        * inspector/InspectorStyleSheet.h:
14934        (WebCore::InspectorStyleProperty::setRawTextFromStyleDeclaration):
14935        (WebCore::InspectorStyleProperty::hasRawText):
14936
149372010-11-10  Alexander Pavlov  <apavlov@chromium.org>
14938
14939        Reviewed by Yury Semikhatsky.
14940
14941        Web Inspector: Move CSSStyleDeclaration from DOMAgent.js into CSSStyleModel.js
14942        https://bugs.webkit.org/show_bug.cgi?id=49312
14943
14944        No new tests, as it's just code motion.
14945
14946        * inspector/front-end/CSSStyleModel.js:
14947        (WebInspector.CSSStyleDeclaration):
14948        (WebInspector.CSSStyleDeclaration.parsePayload):
14949        (WebInspector.CSSStyleDeclaration.prototype.get allProperties):
14950        (WebInspector.CSSStyleDeclaration.prototype.getLiveProperty):
14951        (WebInspector.CSSStyleDeclaration.prototype.getPropertyValue):
14952        (WebInspector.CSSStyleDeclaration.prototype.getPropertyPriority):
14953        (WebInspector.CSSStyleDeclaration.prototype.getPropertyShorthand):
14954        (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
14955        (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
14956        (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
14957        (WebInspector.CSSStyleDeclaration.prototype.getShorthandValue):
14958        (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
14959        (WebInspector.CSSStyleDeclaration.prototype.appendProperty):
14960        (WebInspector.CSSStyleDeclaration.prototype.propertyAt):
14961        (WebInspector.CSSRule):
14962        (WebInspector.CSSRule.parsePayload):
14963        (WebInspector.CSSRule.prototype.get isUserAgent):
14964        (WebInspector.CSSRule.prototype.get isUser):
14965        (WebInspector.CSSRule.prototype.get isViaInspector):
14966        (WebInspector.CSSRule.prototype.get isRegular):
14967        (WebInspector.CSSProperty):
14968        (WebInspector.CSSProperty.parsePayload):
14969        (WebInspector.CSSProperty.prototype.get propertyText):
14970        (WebInspector.CSSProperty.prototype.get isLive):
14971        (WebInspector.CSSProperty.prototype.get active):
14972        (WebInspector.CSSProperty.prototype.get styleBased):
14973        (WebInspector.CSSProperty.prototype.get inactive):
14974        (WebInspector.CSSProperty.prototype.get disabled):
14975        (WebInspector.CSSProperty.prototype.setText):
14976        (WebInspector.CSSProperty.prototype.setValue):
14977        (WebInspector.CSSProperty.prototype.setDisabled.callback):
14978        (WebInspector.CSSProperty.prototype.setDisabled):
14979        * inspector/front-end/DOMAgent.js:
14980
149812010-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
14982
14983        Unreviewed, rolling out r71733.
14984        http://trac.webkit.org/changeset/71733
14985        https://bugs.webkit.org/show_bug.cgi?id=49319
14986
14987        made qt bot crashy and sad (Requested by kling on #webkit).
14988
14989        * page/FrameView.cpp:
14990        (WebCore::FrameView::windowClipRect):
14991
149922010-11-10  Peter Rybin  <peter.rybin@gmail.com>
14993
14994        Reviewed by Adam Barth.
14995
14996        HTML parser should provide script column position within HTML document to JavaScript engine
14997        https://bugs.webkit.org/show_bug.cgi?id=45271
14998
14999        Replaces line number with TextPosition struct so that script engine
15000        gets script starting line/column.
15001
15002        * ForwardingHeaders/wtf/text/TextPosition.h: Added.
15003        * bindings/js/ScriptSourceCode.h:
15004        (WebCore::ScriptSourceCode::ScriptSourceCode):
15005        * bindings/v8/ScheduledAction.cpp:
15006        (WebCore::ScheduledAction::ScheduledAction):
15007        * bindings/v8/ScriptController.cpp:
15008        (WebCore::ScriptController::eventHandlerPosition):
15009        * bindings/v8/ScriptController.h:
15010        * bindings/v8/ScriptEventListener.cpp:
15011        (WebCore::createAttributeEventListener):
15012        * bindings/v8/ScriptSourceCode.h:
15013        (WebCore::ScriptSourceCode::ScriptSourceCode):
15014        (WebCore::ScriptSourceCode::startLine):
15015        (WebCore::ScriptSourceCode::startPosition):
15016        * bindings/v8/V8LazyEventListener.cpp:
15017        (WebCore::V8LazyEventListener::V8LazyEventListener):
15018        (WebCore::V8LazyEventListener::prepareListenerObject):
15019        * bindings/v8/V8LazyEventListener.h:
15020        (WebCore::V8LazyEventListener::create):
15021        * bindings/v8/V8Proxy.cpp:
15022        (WebCore::V8Proxy::compileScript):
15023        (WebCore::V8Proxy::evaluate):
15024        (WebCore::V8Proxy::runScript):
15025        * bindings/v8/V8Proxy.h:
15026        * bindings/v8/WorkerContextExecutionProxy.cpp:
15027        (WebCore::WorkerContextExecutionProxy::evaluate):
15028        (WebCore::WorkerContextExecutionProxy::runScript):
15029        * bindings/v8/WorkerContextExecutionProxy.h:
15030        * bindings/v8/WorkerScriptController.cpp:
15031        (WebCore::WorkerScriptController::evaluate):
15032        * dom/PendingScript.cpp:
15033        (WebCore::PendingScript::releaseElementAndClear):
15034        * dom/PendingScript.h:
15035        (WebCore::PendingScript::PendingScript):
15036        (WebCore::PendingScript::operator=):
15037        (WebCore::PendingScript::startingPosition):
15038        * dom/ScriptableDocumentParser.h:
15039        * dom/XMLDocumentParser.h:
15040        * dom/XMLDocumentParserLibxml2.cpp:
15041        (WebCore::XMLDocumentParser::XMLDocumentParser):
15042        (WebCore::XMLDocumentParser::startElementNs):
15043        (WebCore::XMLDocumentParser::endElementNs):
15044        (WebCore::XMLDocumentParser::lineNumber):
15045        (WebCore::XMLDocumentParser::columnNumber):
15046        (WebCore::XMLDocumentParser::textPosition):
15047        (WebCore::XMLDocumentParser::textPositionOneBased):
15048        * dom/XMLDocumentParserQt.cpp:
15049        (WebCore::XMLDocumentParser::XMLDocumentParser):
15050        (WebCore::XMLDocumentParser::textPosition):
15051        (WebCore::XMLDocumentParser::parseStartElement):
15052        (WebCore::XMLDocumentParser::parseEndElement):
15053        * html/parser/HTMLDocumentParser.cpp:
15054        (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
15055        (WebCore::HTMLDocumentParser::textPosition):
15056        * html/parser/HTMLDocumentParser.h:
15057        * html/parser/HTMLScriptRunner.cpp:
15058        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
15059        (WebCore::HTMLScriptRunner::execute):
15060        (WebCore::HTMLScriptRunner::runScript):
15061        * html/parser/HTMLScriptRunner.h:
15062        * html/parser/HTMLTreeBuilder.cpp:
15063        (WebCore::uninitializedPositionValue1):
15064        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
15065        (WebCore::HTMLTreeBuilder::takeScriptToProcess):
15066        (WebCore::HTMLTreeBuilder::processEndTag):
15067        (WebCore::HTMLTreeBuilder::processScriptStartTag):
15068        * html/parser/HTMLTreeBuilder.h:
15069
150702010-11-10  Ilya Sherman  <isherman@chromium.org>
15071
15072        Reviewed by Shinichiro Hamaji.
15073
15074        Fix autofill popup height computation -- take icon heights into account.
15075        https://bugs.webkit.org/show_bug.cgi?id=49306
15076
15077        * platform/chromium/PopupMenuChromium.cpp:
15078        (WebCore::PopupListBox::layout):
15079
150802010-11-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
15081
15082        Reviewed by Andreas Kling.
15083
15084        In paintEntireContents mode (used in combination with tiling) we
15085        cannot clip to the actual visibleContentRect as the clipped regions
15086        will not be updated again on scroll. If paintsEntireContents is
15087        enabled, return the actual content rect.
15088
15089        * page/FrameView.cpp:
15090        (WebCore::FrameView::windowClipRect):
15091
150922010-11-10  Shinichiro Hamaji  <hamaji@chromium.org>
15093
15094        Adding a manual test which I forgot to add in r71618.
15095
15096        [Chromium] display:none has no effect on <option> element
15097        https://bugs.webkit.org/show_bug.cgi?id=49169
15098
15099        * manual-tests/display-none-option.html: Added.
15100
151012010-11-10  Shane Stephens  <shanestephens@google.com>
15102
15103        Reviewed by Dirk Schulze.
15104
15105        SVGTextElement supplemental transforms pre-multiplied but should be 
15106        post-multiplied in animatedLocalTransform
15107        https://bugs.webkit.org/show_bug.cgi?id=48215
15108
15109        Test: svg/animations/animate-text-nested-transforms.svg
15110
15111        * svg/SVGTextElement.cpp:
15112        (WebCore::SVGTextElement::animatedLocalTransform):
15113
15114        Switched order of multiplication.  Note that due to a bug in 
15115        AffineTransform's operator* implementation the order of arguments is
15116        reversed (see http://bugs.webkit.org/show_bug.cgi?id=48031).
15117
151182010-11-09  Abhishek Arya  <inferno@chromium.org>
15119
15120        Reviewed by Dan Bernstein.
15121
15122        Fieldsets avoid floats. Legend elements are expected to have their parent
15123        as fieldset. When this not the case, floats get added incorrectly added to the
15124        legend blocks. This patch tries to prevent those floats addition.
15125        https://bugs.webkit.org/show_bug.cgi?id=49214
15126
15127        Test: fast/blockflow/overhanging-float-legend-crash.html
15128
15129        * rendering/RenderBox.cpp:
15130        (WebCore::RenderBox::avoidsFloats):
15131        * rendering/RenderObject.cpp:
15132        (WebCore::RenderObject::isLegend):
15133        * rendering/RenderObject.h:
15134
151352010-11-10  Cris Neckar  <cdn@chromium.org>
15136
15137        Reviewed by Nikolas Zimmermann.
15138
15139        Added check to ensure that svg viewport containers are not treated in the same way as generic svg containers.
15140        https://bugs.webkit.org/show_bug.cgi?id=49188
15141
15142        Test: svg/dom/viewport-container-crash.svg
15143
15144        * rendering/SVGImageBufferTools.cpp:
15145        (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
15146
151472010-11-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
15148
15149        Reviewed by Eric Seidel.
15150
15151        [WML] Fix build breaks when WML is enabled.
15152        https://bugs.webkit.org/show_bug.cgi?id=49168
15153
15154        The backForward() of Page class returns BackForwarddController class type. 
15155        So, WML classes need to include the BackForwardController.h file. And, select() 
15156        of RenderTextControl.h was removed. Thus, the select() should be replaced by 
15157        setSelectionRange().
15158
15159        * wml/WMLDoElement.cpp: Includes BackForwardController.h.
15160        * wml/WMLDocument.cpp: ditto.
15161        * wml/WMLInputElement.cpp: 
15162        (WebCore::WMLInputElement::select): Replaced by setSelectionRange().
15163        * wml/WMLPageState.cpp: Includes BackForwardController.h.
15164        * wml/WMLPrevElement.cpp: ditto.
15165
151662010-11-09  Chris Rogers  <crogers@google.com>
15167
15168        Reviewed by Kenneth Russell.
15169
15170        Add JavaScriptAudioNode files
15171        https://bugs.webkit.org/show_bug.cgi?id=48875
15172
15173        No new tests since audio API is not yet implemented.
15174
15175        * webaudio/JavaScriptAudioNode.cpp: Added.
15176        (WebCore::JavaScriptAudioNode::create):
15177        (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
15178        (WebCore::JavaScriptAudioNode::~JavaScriptAudioNode):
15179        (WebCore::JavaScriptAudioNode::initialize):
15180        (WebCore::JavaScriptAudioNode::uninitialize):
15181        (WebCore::JavaScriptAudioNode::toJavaScriptAudioNode):
15182        (WebCore::JavaScriptAudioNode::process):
15183        (WebCore::JavaScriptAudioNode::fireProcessEventDispatch):
15184        (WebCore::JavaScriptAudioNode::fireProcessEvent):
15185        (WebCore::JavaScriptAudioNode::reset):
15186        (WebCore::JavaScriptAudioNode::scriptExecutionContext):
15187        * webaudio/JavaScriptAudioNode.h: Added.
15188        (WebCore::JavaScriptAudioNode::eventTargetData):
15189        (WebCore::JavaScriptAudioNode::ensureEventTargetData):
15190        (WebCore::JavaScriptAudioNode::bufferSize):
15191        (WebCore::JavaScriptAudioNode::doubleBufferIndex):
15192        (WebCore::JavaScriptAudioNode::swapBuffers):
15193        (WebCore::JavaScriptAudioNode::refEventTarget):
15194        (WebCore::JavaScriptAudioNode::derefEventTarget):
15195        * webaudio/JavaScriptAudioNode.idl: Added.
15196
151972010-11-09  Nico Weber  <thakis@chromium.org>
15198
15199        Reviewed by Kenneth Russell.
15200
15201        [Chromium] Text jitter during 2D CSS transform
15202        https://bugs.webkit.org/show_bug.cgi?id=49224
15203
15204        Text subpixel rendering only works in AlphaPremultipliedFirst |
15205        kCGBitmapByteOrder32Host contexts:
15206        http://www.cocoabuilder.com/archive/cocoa/228931-sub-pixel-font-smoothing-with-cgbitmapcontext.html
15207
15208        Changing this has the added benefit that the data layout now matches
15209        skia.
15210
15211        * platform/graphics/chromium/ContentLayerChromium.cpp:
15212        (WebCore::ContentLayerChromium::SharedValues::SharedValues):
15213        (WebCore::ContentLayerChromium::updateContents):
15214        * platform/graphics/chromium/ImageLayerChromium.cpp:
15215        (WebCore::ImageLayerChromium::updateContents):
15216        * platform/graphics/chromium/LayerRendererChromium.cpp:
15217        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
15218
152192010-11-09  Helder Correia  <helder@sencha.com>
15220
15221        Reviewed by Darin Adler.
15222
15223        Philip Canvas test 2d.path.rect.winding fails
15224        https://bugs.webkit.org/show_bug.cgi?id=49225
15225
15226        Rect path direction is important for nonzero winding rule.
15227
15228        The rect(x, y, w, h) method must create a new subpath containing just the four points
15229        (x, y), (x+w, y), (x+w, y+h), (x, y+h), with those four points connected by straight
15230        lines, and must then mark the subpath as closed.
15231
15232        * html/canvas/CanvasRenderingContext2D.cpp:
15233        (WebCore::CanvasRenderingContext2D::rect):
15234
152352010-11-09  Fumitoshi Ukai  <ukai@chromium.org>
15236
15237        Unreviewed build fix on Chromium/Win at r71711
15238
15239        RefCound.h reported an error that it cannot access private member
15240        declared in class 'WebCore::FileWriterSync' at
15241        WebCore::FileWriterSync::~FileWriterSync.
15242
15243        * fileapi/FileWriterSync.h: make destructor public
15244
152452010-11-09  Chris Rogers  <crogers@google.com>
15246
15247        Reviewed by James Robinson.
15248
15249        AudioFileReaderMac.cpp must include <CoreServices/CoreServices.h>
15250        https://bugs.webkit.org/show_bug.cgi?id=49270
15251
15252        * platform/audio/mac/AudioFileReaderMac.cpp:
15253
152542010-11-09  Eric Uhrhane  <ericu@chromium.org>
15255
15256        Reviewed by David Levin.
15257
15258        Add idl and mock classes for FileWriterSync.
15259        https://bugs.webkit.org/show_bug.cgi?id=48693
15260
15261        No new tests, as there's no functionality.
15262
15263        Build file additions.
15264        * CMakeLists.txt:
15265        * DerivedSources.cpp:
15266        * DerivedSources.make:
15267        * GNUmakefile.am:
15268        * WebCore.gypi:
15269        * WebCore.pro:
15270        * WebCore.vcproj/WebCore.vcproj:
15271        * WebCore.xcodeproj/project.pbxproj:
15272        * bindings/scripts/CodeGeneratorV8.pm:
15273
15274        * fileapi/FileWriterSync.cpp: Added.
15275        * fileapi/FileWriterSync.h: Added.
15276        * fileapi/FileWriterSync.idl: Added.
15277
152782010-11-09  Mario Sanchez Prada  <msanchez@igalia.com>
15279
15280        Reviewed by Chris Fleizach.
15281
15282        [GTK] Improve accessibility of focusable lists
15283        https://bugs.webkit.org/show_bug.cgi?id=25679
15284
15285        Emit the 'selected' and 'focused' events as needed.
15286
15287        This is the last bit of a series of patches to fix bug 25679,
15288        which just ensures that the right signals are emmited whenever a
15289        selection inside a listbox object changes, that is, the signals
15290        'state-changed::selected', 'state-changed::focused' and
15291        'focus-event', along with the right detail for each of them to
15292        report if the focus/selection has been activated or not.
15293
15294        * accessibility/gtk/AXObjectCacheAtk.cpp:
15295        (WebCore::notifyChildrenSelectionChange): New, takes care of
15296        emitting all the needed signals when children selection has
15297        changed, both from the point of view of the container and the
15298        selected/unselected items inside of it. It currently supports
15299        listboxes (html 'select' controls) only.
15300        (WebCore::AXObjectCache::postPlatformNotification): Replaced some
15301        old code with a simple call to notifyChildrenSelectionChange().
15302
153032010-11-09  David Hyatt  <hyatt@apple.com>
15304
15305        Reviewed by Dan Bernstein.
15306
15307        https://bugs.webkit.org/show_bug.cgi?id=49202
15308        
15309        Make lists work with vertical text.
15310        
15311        (1) Patch all the CSS rules in html.css so that the margins are directionally abstract.
15312        (2) Add a transposedRect and transposedSize method to IntRect and IntSize for swapping x/y and width/height.
15313        (3) Add adjustLineDirectionPosition as a helper for moving a line box only in the line direction.
15314        (4) Fix a bug in addIntrudingFLoats uncovered by list test cases where the top margin of an element was being
15315        incorrectly added to a float's physical left side instead of its top side.
15316        (5) Make positioning and painting and selection of list markers account for all writing modes.
15317        (6) Add helpers for setting the start and end margins directly in a RenderStyle, since lists do this to hack
15318        marker margins before they have been calculated and set on the box.
15319        
15320        Cloned a bunch of fast/lists tests into fast/lists/*-vertical.html versions.
15321        
15322        * css/html.css:
15323        * platform/graphics/IntRect.h:
15324        (WebCore::IntRect::transposedRect):
15325        * platform/graphics/IntSize.h:
15326        (WebCore::IntSize::transposedSize):
15327        * rendering/InlineBox.h:
15328        (WebCore::InlineBox::adjustLineDirectionPosition):
15329        * rendering/RenderBlock.cpp:
15330        (WebCore::RenderBlock::addIntrudingFloats):
15331        * rendering/RenderListItem.cpp:
15332        (WebCore::getParentOfFirstLineBox):
15333        (WebCore::RenderListItem::positionListMarker):
15334        (WebCore::RenderListItem::paint):
15335        * rendering/RenderListMarker.cpp:
15336        (WebCore::RenderListMarker::localSelectionRect):
15337        (WebCore::RenderListMarker::paint):
15338        (WebCore::RenderListMarker::layout):
15339        (WebCore::RenderListMarker::computePreferredLogicalWidths):
15340        (WebCore::RenderListMarker::updateMargins):
15341        (WebCore::RenderListMarker::getRelativeMarkerRect):
15342        * rendering/style/RenderStyle.cpp:
15343        (WebCore::RenderStyle::setMarginStart):
15344        (WebCore::RenderStyle::setMarginEnd):
15345        * rendering/style/RenderStyle.h:
15346
153472010-11-09  Abhishek Arya  <inferno@chromium.org>
15348
15349        Reviewed by Antti Koivisto.
15350
15351        Call to SVGSMILElement::applyResultsToTarget can blow away the SVGSMILElement.
15352        Refptr the SVGSMILElement in the ResultElementMap to protect it.
15353        https://bugs.webkit.org/show_bug.cgi?id=49274
15354
15355        Test: svg/animations/animate-update-crash.xhtml
15356
15357        * svg/animation/SMILTimeContainer.cpp:
15358        (WebCore::SMILTimeContainer::updateAnimations):
15359
153602010-11-09  Alexey Proskuryakov  <ap@apple.com>
15361
15362        Reviewed by Darin Adler.
15363
15364        https://bugs.webkit.org/show_bug.cgi?id=49281
15365        Remove broken code for embedded CSS xml-stylesheet
15366
15367        * dom/Document.cpp: (WebCore::Document::recalcStyleSelector): This made no sense, was untested,
15368        and didn't match Firefox.
15369
153702010-11-09  Brady Eidson  <beidson@apple.com>
15371
15372        Reviewed by Darin Adler.
15373
15374        <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720
15375        Customizable context menu support in WebKit2.
15376
15377        Various WebCore support to allow WebKit2 to create new ContextMenuItems with
15378        the information it has.
15379
15380        * WebCore.exp.in:
15381
15382        * platform/ContextMenu.h:
15383        * platform/ContextMenuItem.h:
15384
15385        * platform/mac/ContextMenuItemMac.mm:
15386        (WebCore::ContextMenuItem::ContextMenuItem):
15387        (WebCore::ContextMenuItem::setSubMenu):
15388        * platform/mac/ContextMenuMac.mm:
15389        (WebCore::platformMenuDescription):
15390
15391        * platform/qt/ContextMenuItemQt.cpp:
15392        (WebCore::ContextMenuItem::ContextMenuItem):
15393        (WebCore::ContextMenuItem::setSubMenu):
15394        * platform/qt/ContextMenuQt.cpp:
15395        (WebCore::platformMenuDescription):
15396
15397        * platform/win/ContextMenuItemWin.cpp:
15398        (WebCore::ContextMenuItem::ContextMenuItem):
15399        (WebCore::ContextMenuItem::setSubMenu):
15400        * platform/win/ContextMenuWin.cpp:
15401        (WebCore::platformMenuDescription):
15402
154032010-11-09  Sam Weinig  <sam@webkit.org>
15404
15405        Reviewed by Anders Carlsson.
15406
15407        Need WebKit2 mechanism for getting the visible page text
15408        <rdar://problem/8646928>
15409        https://bugs.webkit.org/show_bug.cgi?id=49275
15410
15411        * WebCore.exp.in: Add necessary exports.
15412
154132010-11-09  Simon Fraser  <simon.fraser@apple.com>
15414
15415        Reviewed by James Robinson.
15416
15417        Make showLayerTree() more useful for debugging
15418        https://bugs.webkit.org/show_bug.cgi?id=49273
15419
15420        Three things to make showLayerTree() more useful when called from gdb:
15421        1. Add showLayerTree(RenderObject*)
15422        2. Make it not update layout, so you can call it when debugging layout code.
15423        3. Add output of the 'needs layout' flags for each renderer.
15424
15425        * rendering/RenderLayer.cpp:
15426        (showLayerTree):
15427        * rendering/RenderLayer.h:
15428        * rendering/RenderTreeAsText.cpp:
15429        (WebCore::RenderTreeAsText::writeRenderObject):
15430        (WebCore::externalRepresentation):
15431        * rendering/RenderTreeAsText.h:
15432
154332010-11-09  Chris Rogers  <crogers@google.com>
15434
15435        Reviewed by James Robinson.
15436
15437        AudioChannel.h is including AudioFloatArray.h instead of AudioArray.h
15438        https://bugs.webkit.org/show_bug.cgi?id=49269
15439
15440        * platform/audio/AudioChannel.h:
15441
154422010-11-09  Dan Bernstein  <mitz@apple.com>
15443
15444        Reviewed by Dave Hyatt.
15445
15446        Made tables hit-test correctly in all writing modes.
15447
15448        Part of: Make tables work with vertical text
15449        https://bugs.webkit.org/show_bug.cgi?id=46417
15450
15451        Test: fast/blockflow/table-hit-test.html
15452
15453        * rendering/RenderTable.cpp:
15454        (WebCore::RenderTable::nodeAtPoint):
15455        * rendering/RenderTableRow.cpp:
15456        (WebCore::RenderTableRow::nodeAtPoint):
15457        * rendering/RenderTableSection.cpp:
15458        (WebCore::RenderTableSection::nodeAtPoint):
15459
154602010-11-09  Simon Fraser  <simon.fraser@apple.com>
15461
15462        Reviewed by Darin Adler.
15463
15464        Caret fails to render with some combination of iframes and compositing
15465        https://bugs.webkit.org/show_bug.cgi?id=49079
15466        
15467        Because it's possible for the caret to jump between different
15468        compositing layers and the view, caret repainting currently dirties
15469        both the view and all compositing layers that intersect the caret rect,
15470        via repaintRectangleInViewAndCompositedLayers().
15471        
15472        When an iframe contained compositing layers, we erroneously skipped
15473        invalidating the compositing layer inside the iframe, which caused
15474        the caret to fail to blink.
15475
15476        * manual-tests/compositing/caret-in-compositing-frame.html: Added.
15477        * manual-tests/compositing/resources/editable-compositing-subframe.html: Added.
15478        * rendering/RenderView.cpp:
15479        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
15480
154812010-11-09  Peter Rybin  <peter.rybin@gmail.com>
15482
15483        Reviewed by Adam Barth.
15484
15485        XMLDocumentParser gets deleted and then used in LayoutTest/fast/frames/set-parent-src-synchronously.xhtml on QT/Linux
15486        https://bugs.webkit.org/show_bug.cgi?id=48643
15487
15488        * dom/XMLDocumentParserQt.cpp:
15489        (WebCore::XMLDocumentParser::doWrite):
15490
154912010-11-09  Simon Fraser  <simon.fraser@apple.com>
15492
15493        Reviewed by Dave Hyatt.
15494
15495        https://bugs.webkit.org/show_bug.cgi?id=49197
15496        <rdar://problem/8642746>
15497        
15498        When starting an accelerated transform animation on a renderer, check
15499        that it's a RenderBox before allow transform animations (and before
15500        calling borderBoxRect()), because transforms are currently disallowed
15501        on inline elements.
15502
15503        Test: animations/animation-on-inline-crash.html
15504
15505        * rendering/RenderLayerBacking.cpp:
15506        (WebCore::RenderLayerBacking::startAnimation):
15507
155082010-11-09  Simon Fraser  <simon.fraser@apple.com>
15509
15510        Reviewed by Dave Hyatt.
15511
15512        https://bugs.webkit.org/show_bug.cgi?id=49204
15513        <rdar://problem/8643412>
15514        
15515        Add checks to the CSSStyleSelector code to ensure that the
15516        casts to the various CSSValue types are safe, and do more
15517        rigorous checking of the lengths of CSSValueLists, and
15518        non-null members of Pair in some cases.
15519
15520        * css/CSSBorderImageValue.h:
15521        (WebCore::CSSBorderImageValue::isBorderImageValue):
15522        * css/CSSCursorImageValue.h:
15523        (WebCore::CSSCursorImageValue::isCursorImageValue):
15524        * css/CSSImageValue.h:
15525        (WebCore::CSSImageValue::isImageValue):
15526        * css/CSSReflectValue.h:
15527        (WebCore::CSSReflectValue::isReflectValue):
15528        * css/CSSStyleSelector.cpp:
15529        (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
15530        (WebCore::CSSRuleSet::addRulesFromSheet):
15531        (WebCore::CSSRuleSet::addStyleRule):
15532        (WebCore::applyCounterList):
15533        (WebCore::CSSStyleSelector::applyProperty):
15534        (WebCore::CSSStyleSelector::mapFillSize):
15535        (WebCore::CSSStyleSelector::mapAnimationDelay):
15536        (WebCore::CSSStyleSelector::mapAnimationDirection):
15537        (WebCore::CSSStyleSelector::mapAnimationFillMode):
15538        (WebCore::CSSStyleSelector::mapAnimationName):
15539        (WebCore::CSSStyleSelector::mapAnimationPlayState):
15540        (WebCore::CSSStyleSelector::mapNinePieceImage):
15541        (WebCore::CSSStyleSelector::createTransformOperations):
15542        * css/CSSValue.h:
15543        (WebCore::CSSValue::isBorderImageValue):
15544        (WebCore::CSSValue::isCursorImageValue):
15545        (WebCore::CSSValue::isFontFamilyValue):
15546        (WebCore::CSSValue::isReflectValue):
15547        (WebCore::CSSValue::isShadowValue):
15548        * css/FontFamilyValue.h:
15549        (WebCore::FontFamilyValue::isFontFamilyValue):
15550        * css/SVGCSSStyleSelector.cpp:
15551        (WebCore::CSSStyleSelector::applySVGProperty):
15552        * css/ShadowValue.h:
15553        (WebCore::ShadowValue::isShadowValue):
15554        * platform/graphics/transforms/TransformOperations.h:
15555        (WebCore::TransformOperations::clear):
15556
155572010-11-09  Ben Murdoch  <benm@google.com>
15558
15559        Reviewed by Steve Block.
15560
15561        Android is missing implementation of V8GCController::checkMemoryUsage
15562        https://bugs.webkit.org/show_bug.cgi?id=49255
15563
15564        This patch adds the necessary code to WebCore to implement the
15565        functionality. The implementation of the PlatformBridge on Android
15566        does not live upstream yet, so not patching that here.
15567
15568        No new test as this is a platform specific change on Android.
15569
15570        * bindings/v8/V8GCController.cpp:
15571        (WebCore::V8GCController::checkMemoryUsage): Implement on Android.
15572        * platform/android/PlatformBridge.h: Add necessary methods to read
15573            device specific memory usage and constraints.
15574
155752010-11-09  Andreas Kling  <kling@webkit.org>
15576
15577        Reviewed by Kenneth Rohde Christiansen.
15578
15579        ScrollView::updateScrollbars() shouldn't do anything when scrolling is delegated.
15580
15581        * platform/ScrollView.cpp:
15582        (WebCore::ScrollView::updateScrollbars):
15583
155842010-11-09  Steve Block  <steveblock@google.com>
15585
15586        Reviewed by Andreas Kling.
15587
15588        Unused parameter warning causes JSC build failure with deviceorientation
15589        https://bugs.webkit.org/show_bug.cgi?id=49251
15590
15591        No new tests, build fix only.
15592
15593        * bindings/js/JSDeviceMotionEventCustom.cpp:
15594        (WebCore::JSDeviceMotionEvent::interval):
15595        * bindings/js/JSDeviceOrientationEventCustom.cpp:
15596        (WebCore::JSDeviceOrientationEvent::alpha):
15597        (WebCore::JSDeviceOrientationEvent::beta):
15598        (WebCore::JSDeviceOrientationEvent::gamma):
15599
156002010-11-09  Renata Hodovan  <reni@webkit.org>
15601
15602        Reviewed by Nikolas Zimmermann.
15603
15604        SVGFETileElement doesn't support dynamic invalidation, when attributes change.
15605        https://bugs.webkit.org/show_bug.cgi?id=49247
15606
15607        The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
15608
15609        Tests: svg/dynamic-updates/SVGFETileElement-dom-in-attr.html
15610               svg/dynamic-updates/SVGFETileElement-svgdom-in-prop.html
15611
15612        * svg/SVGFETileElement.cpp:
15613        (WebCore::SVGFETileElement::svgAttributeChanged):
15614        * svg/SVGFETileElement.h:
15615
156162010-11-09  Jenn Braithwaite  <jennb@chromium.org>
15617
15618        Reviewed by Dmitry Titov.
15619
15620        Update ProgressTracker when moving a frame between documents
15621        https://bugs.webkit.org/show_bug.cgi?id=48368
15622
15623        No new tests. andersca informs me it's not possible to test
15624        ProgressTracker changes via layouttests. Review extra carefully...
15625
15626        * loader/DocumentLoader.cpp:
15627        (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
15628        Changed to use FrameLoader to deliver the notification to the
15629        client via the notifier.
15630        * loader/FrameLoader.cpp:
15631        (WebCore::FrameLoader:;transferLoadingResourcesFromPage):
15632        Update old and new progress tracker about frame progress.
15633        (WebCore::FrameLoader::dispatchTransferLoadingResourceFromPage):
15634        Added to route notification via the notifier.
15635        * loader/FrameLoader.h:
15636        * loader/ProgressTracker.cpp:
15637        (WebCore::ProgressTracker::completeProgress):
15638        Comment change only.
15639        * loader/ResourceLoadNotifier.cpp:
15640        (WebCore::ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage):
15641        Added to provide one place to notify client and progress tracker -
15642        and probably inspector controller (separate patch).
15643        * loader/ResourceLoadNotifier.h:
15644
156452010-11-09  Dai Mikurube  <dmikurube@google.com>
15646
15647        Reviewed by Kent Tamura.
15648
15649        Too precise serialization from floating point number to string for "number" input elements
15650        https://bugs.webkit.org/show_bug.cgi?id=48308
15651
15652        Modified to consider decimal places when handling step and base in applyStep().
15653
15654        * html/HTMLInputElement.cpp: Considering decimal places of the given "step" attribtue.
15655        (WebCore::HTMLInputElement::getAllowedValueStep):
15656        (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
15657        (WebCore::HTMLInputElement::applyStep):
15658        * html/HTMLInputElement.h:
15659        * html/InputType.cpp: Added virtual functions for decimal places and an acceptable error.
15660        (WebCore::InputType::stepBaseWithDecimalPlaces):
15661        (WebCore::InputType::acceptableError):
15662        (WebCore::InputType::parseToDoubleWithDecimalPlaces):
15663        * html/InputType.h:
15664        * html/NumberInputType.cpp:
15665        (WebCore::NumberInputType::stepMismatch): Using the virtual function acceptableError().
15666        (WebCore::NumberInputType::stepBaseWithDecimalPlaces): Considering decimal places of the given "base" attribute.
15667        (WebCore::NumberInputType::parseToDoubleWithDecimalPlaces):
15668        (WebCore::NumberInputType::acceptableError): Concrete acceptableError() for the number type.
15669        * html/NumberInputType.h:
15670        * html/parser/HTMLParserIdioms.cpp:
15671        (WebCore::parseToDoubleForNumberTypeWithDecimalPlaces): Parsing numbers with decimal places.
15672        * html/parser/HTMLParserIdioms.h:
15673
156742010-11-09  Yuzo Fujishima  <yuzo@google.com>
15675
15676        Reviewed by Shinichiro Hamaji.
15677
15678        Fix for Bug 48984 - [Chromium] @media print crash due to paged media support
15679        Page context has been inheriting from document element style that becomes null if display property is none.
15680        It should inherit from document style instead to properly handle direction property (and to avoid the null reference).
15681        https://bugs.webkit.org/show_bug.cgi?id=48984
15682
15683        Test: printing/page-format-data-display-none.html
15684
15685        * css/CSSStyleSelector.cpp:
15686        (WebCore::CSSStyleSelector::styleForPage): Page context inherits from
15687        document style.
15688
156892010-11-09  Chris Rogers  <crogers@google.com>
15690
15691        Reviewed by Kenneth Russell.
15692
15693        Add custom bindings for AudioContext
15694        https://bugs.webkit.org/show_bug.cgi?id=49115
15695
15696        No new tests since audio API is not yet implemented.
15697
15698        * bindings/js/JSAudioContextCustom.cpp: Added.
15699        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
15700        * bindings/v8/custom/V8AudioContextCustom.cpp: Added.
15701        (WebCore::V8AudioContext::constructorCallback):
15702
157032010-11-09  Shinichiro Hamaji  <hamaji@chromium.org>
15704
15705        Reviewed by Dimitri Glazkov.
15706
15707        [Chromium] display:none has no effect on <option> element
15708        https://bugs.webkit.org/show_bug.cgi?id=49169
15709
15710        Added a manual test because it's hard to test the content of
15711        <option> element.
15712
15713        * manual-tests/display-none-option.html: Added.
15714        * platform/PopupMenuStyle.h:
15715        (WebCore::PopupMenuStyle::PopupMenuStyle):
15716        (WebCore::PopupMenuStyle::isDisplayNone):
15717        * platform/chromium/PopupMenuChromium.cpp:
15718        (WebCore::PopupListBox::getRowHeight):
15719        (WebCore::PopupListBox::layout):
15720        * rendering/RenderMenuList.cpp:
15721        (WebCore::RenderMenuList::itemStyle):
15722        (WebCore::RenderMenuList::menuStyle):
15723        * rendering/RenderTextControlSingleLine.cpp:
15724        (WebCore::RenderTextControlSingleLine::menuStyle):
15725
157262010-11-09  Chris Rogers  <crogers@google.com>
15727
15728        Reviewed by Kenneth Russell.
15729
15730        audio engine: add audio resources abstraction
15731        https://bugs.webkit.org/show_bug.cgi?id=34660
15732
15733        No new tests since audio API is not yet implemented.
15734
15735        * platform/audio/AudioBus.h:
15736        * platform/audio/HRTFElevation.cpp:
15737        (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
15738        (WebCore::HRTFElevation::createByInterpolatingSlices):
15739        * platform/audio/mac/AudioBusMac.mm: Added.
15740        (WebCore::AudioBus::loadPlatformResource):
15741
157422010-11-09  James Simonsen  <simonjam@chromium.org>
15743
15744        Reviewed by Dimitri Glazkov.
15745
15746        [Web Timing] Remove requestEnd
15747        https://bugs.webkit.org/show_bug.cgi?id=48924
15748
15749        * page/Timing.cpp:
15750        * page/Timing.h:
15751        * page/Timing.idl:
15752
157532010-11-09  Sam Magnuson  <smagnuson@netflix.com>
15754
15755        Reviewed by Andreas Kling.
15756
15757        [Qt] image borders do not render correctly
15758        https://bugs.webkit.org/show_bug.cgi?id=49191
15759
15760        Test: fast/borders/border-image-01.html
15761
15762        * platform/graphics/qt/ImageQt.cpp:
15763        (WebCore::Image::drawPattern):
15764
157652010-11-08  James Simonsen  <simonjam@chromium.org>
15766
15767        Reviewed by Dimitri Glazkov.
15768
15769        [Web Timing] Split domContentLoaded into start/end
15770        https://bugs.webkit.org/show_bug.cgi?id=48920
15771
15772        * dom/Document.cpp:
15773        (WebCore::Document::finishedParsing):
15774        * dom/DocumentTiming.h:
15775        (WebCore::DocumentTiming::DocumentTiming):
15776        * page/Timing.cpp:
15777        (WebCore::Timing::domContentLoadedStart):
15778        (WebCore::Timing::domContentLoadedEnd):
15779        * page/Timing.h:
15780        * page/Timing.idl:
15781
157822010-11-08  Nate Chapin  <japhet@chromium.org>
15783
15784        Reviewed by Adam Barth.
15785
15786        Call ApplicationCacheHost::maybeLoadResource() in
15787        ResourceLoader::start() instead of ResourceLoader::load().
15788        maybeLoadResource() might mutate the ResourceRequest, and
15789        in its current location any modifications are lost.
15790
15791        https://bugs.webkit.org/show_bug.cgi?id=49221
15792
15793        Fixes a couple of http/tests/appcache tests
15794        failing on chromium.
15795
15796        * loader/ResourceLoader.cpp:
15797        (WebCore::ResourceLoader::load):
15798        (WebCore::ResourceLoader::start):
15799
158002010-11-08  Chang Shu  <chang.shu@nokia.com>
15801
15802        Reviewed by Antonio Gomes.
15803
15804        [GTK] Use Space to toggle arrow key handling for selection change or
15805        spatial navigation. Put the logic in common code to pass both Qt and
15806        GTK. Mac won't work because arrow keys trigger the popup.
15807        https://bugs.webkit.org/show_bug.cgi?id=49150
15808
15809        Existing test: fast/events/spatial-navigation/snav-single-select.html
15810
15811        * dom/SelectElement.cpp:
15812        (WebCore::SelectElement::menuListDefaultEventHandler):
15813
158142010-11-08  Jenn Braithwaite  <jennb@chromium.org>
15815
15816        Reviewed by Pavel Feldman.
15817
15818        _bindResourceURL in ResourceManager.js may not add resource to map
15819        https://bugs.webkit.org/show_bug.cgi?id=49088
15820
15821        No new tests. pfeldman working on better test harness and tests.
15822
15823        * inspector/front-end/ResourceManager.js:
15824        (WebInspector.ResourceManager.prototype._bindResourceURL):
15825
158262010-11-08  John Knottenbelt  <jknotten@chromium.org>
15827
15828        Reviewed by Steve Block.
15829
15830        Convert to and from DOMTimeStamp with converter functions.
15831        This is a refactoring only, covered by existing layout tests.
15832        https://bugs.webkit.org/show_bug.cgi?id=49066 
15833
15834        * GNUmakefile.am:
15835        * WebCore.gypi:
15836        * WebCore.pro:
15837        * WebCore.vcproj/WebCore.vcproj:
15838        * WebCore.xcodeproj/project.pbxproj:
15839        * dom/DOMTimeStamp.h: Added.
15840        (WebCore::convertSecondsToDOMTimeStamp):
15841        (WebCore::convertDOMTimeStampToSeconds):
15842        * dom/Event.cpp:
15843        (WebCore::Event::Event):
15844        * dom/Event.h:
15845        * page/Geolocation.cpp:
15846        (WebCore::Geolocation::haveSuitableCachedPosition):
15847        * platform/android/GeolocationServiceAndroid.cpp:
15848        (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
15849
158502010-11-08  Ryosuke Niwa  <rniwa@webkit.org>
15851
15852        Unreviewed build fix for Chromium Mac for r71590.
15853
15854        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
15855        (WebCore::provideStringAndAttributes):
15856
158572010-11-08  Anton Muhin  <antonm@chromium.org>
15858
15859        Reviewed by Nate Chapin.
15860
15861        [v8] Get rid of automatically generated named property getter for classes with namedItem method
15862        https://bugs.webkit.org/show_bug.cgi?id=48770
15863
15864        * bindings/scripts/CodeGeneratorV8.pm:
15865        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
15866
158672010-11-08  Ned Holbrook  <nholbrook@apple.com>
15868
15869        Reviewed by Adam Barth.
15870
15871        Avoid CFAttributedString creation in ComplexTextController by adopting UniChar provider SPI.
15872        https://bugs.webkit.org/show_bug.cgi?id=48886
15873
15874        * WebCore.exp.in:
15875        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
15876        (WebCore::provideStringAndAttributes):
15877        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
15878        * platform/mac/WebCoreSystemInterface.h:
15879        * platform/mac/WebCoreSystemInterface.mm:
15880
158812010-11-08  David Hyatt  <hyatt@apple.com>
15882
15883        Reviewed by Simon Fraser.
15884
15885        https://bugs.webkit.org/show_bug.cgi?id=49228
15886        
15887        REGRESSION: caret too short when a positive line height is specified.  Now that lineTop no longer
15888        accidentally incorporates the top leading, we need to use selectionTop/Bottom for the caret rect.
15889
15890        * rendering/RenderText.cpp:
15891        (WebCore::RenderText::localCaretRect):
15892
158932010-11-08  Pierre-Antoine LaFayette  <pierre.lafayette@gmail.com>
15894
15895        Reviewed by Darin Fisher.
15896
15897        [chromium] Adding hasUserGesture flag to the ResourceRequest
15898        https://bugs.webkit.org/show_bug.cgi?id=37057
15899
15900        This flag is to be used on the browser side to indicate when a
15901        download has been user initiated.
15902
15903        No new tests. This change will be tested through a browser UI test.
15904
15905        * platform/network/chromium/ResourceRequest.h:
15906        (WebCore::ResourceRequest::ResourceRequest):
15907        (WebCore::ResourceRequest::hasUserGesture):
15908        (WebCore::ResourceRequest::setHasUserGesture):
15909
159102010-11-08  Chris Rogers  <crogers@google.com>
15911
15912        Reviewed by Kenneth Russell.
15913
15914        Remove obsolete PASSTHROUGH and MATRIXMIX panner mode
15915        https://bugs.webkit.org/show_bug.cgi?id=49087
15916
15917        No new tests since audio API is not yet implemented.
15918
15919        * platform/audio/Panner.cpp:
15920        (WebCore::Panner::create):
15921        * platform/audio/Panner.h:
15922        * webaudio/AudioPannerNode.h:
15923        * webaudio/AudioPannerNode.idl:
15924
159252010-11-08  Patrick Gansterer  <paroga@webkit.org>
15926
15927        Reviewed by Adam Roben.
15928
15929        Merge EditorWinCE.cpp into EditorWin.cpp
15930        https://bugs.webkit.org/show_bug.cgi?id=49095
15931
15932        * platform/win/EditorWin.cpp:
15933        (WebCore::Editor::newGeneralClipboard):
15934        * platform/wince/EditorWinCE.cpp: Removed.
15935
159362010-11-08  David Hyatt  <hyatt@apple.com>
15937
15938        Reviewed by Simon Fraser.
15939
15940        https://bugs.webkit.org/show_bug.cgi?id=49217
15941        
15942        Fix coordinate space mismatch in RenderReplaced and make sure RenderText retains its old behavior of
15943        preferring later lines when there is overlap.
15944
15945        * rendering/RenderReplaced.cpp:
15946        (WebCore::RenderReplaced::positionForPoint):
15947        * rendering/RenderText.cpp:
15948        (WebCore::RenderText::positionForPoint):
15949
159502010-11-08  Steve Block  <steveblock@google.com>
15951
15952        Reviewed by David Levin.
15953
15954        Building for Android generates several compiler warnings
15955        https://bugs.webkit.org/show_bug.cgi?id=49175
15956
15957        Fixes these warnings, most of which are trivial.
15958        - PREFIX_FOR_WEBCORE was previously required for STL's algorithm, but is no
15959          longer. See
15960          http://android.git.kernel.org/?p=platform/external/webkit.git;a=commit;h=a47ab5294213cca2741f453b450b02666e08cac8
15961        - The definition of EXPORT is required only for the JNI entry point in
15962          WebKit/android, so does not need to be in WebCorePrefix.h
15963
15964        No new tests, fixes compile warnings only.
15965
15966        * WebCorePrefix.h:
15967        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
15968        (JSC::Bindings::convertValueToJValue):
15969        * platform/android/FileSystemAndroid.cpp:
15970        (WebCore::listDirectory):
15971
159722010-11-08  Dan Bernstein  <mitz@apple.com>
15973
15974        Reviewed by Darin Adler.
15975
15976        <rdar://problem/8119781> Crash zooming into Word document at office.live.com
15977        https://bugs.webkit.org/show_bug.cgi?id=49203
15978
15979        Test: fast/css/zoom-change-triggering-layout.html
15980
15981        RenderBox::styleDidChange() was calling scrollLeft() and scrollTop(), whose RenderTextControlSingleLine
15982        overrides can trigger layout.
15983
15984        * rendering/RenderBox.cpp:
15985        (WebCore::RenderBox::styleDidChange): Use the layer directly for updating the scroll offsets when
15986        the zoom factor changes.
15987
159882010-11-08  David Hyatt  <hyatt@apple.com>
15989
15990        Reviewed by Simon Fraser.
15991
15992        https://bugs.webkit.org/show_bug.cgi?id=48587
15993        
15994        Make Ruby work with vertical text.  Ruby already nearly does work.  The only big issue I found was with
15995        flipped lines writing modes.  Make sure to mutate the writing-mode of the RenderRubyRun to ensure that
15996        the ruby text is on the correct side of the ruby base.
15997
15998        Added fast/blockflow tests of the various writing modes.
15999
16000        * rendering/RenderBlock.cpp:
16001        (WebCore::RenderBlock::baselinePosition):
16002        (WebCore::RenderBlock::firstLineBoxBaseline):
16003        (WebCore::RenderBlock::lastLineBoxBaseline):
16004        * rendering/RenderRubyRun.cpp:
16005        (WebCore::RenderRubyRun::staticCreateRubyRun):
16006
160072010-11-08  Brent Fulgham  <bfulgham@webkit.org>
16008
16009        Unreviewed build correction after @70369/@70846.
16010
16011        Please use PLATFORM(CG) to define CG-specific code, not
16012        PLATFORM(CF).
16013
16014        * platform/image-decoders/ImageDecoder.cpp:
16015        * platform/image-decoders/ImageDecoder.h:
16016
160172010-11-08  James Robinson  <jamesr@chromium.org>
16018
16019        Reviewed by Dimitri Glazkov.
16020
16021        Input element with inner spin button set to display:none causes crash
16022        https://bugs.webkit.org/show_bug.cgi?id=49121
16023
16024        Null check the inner spin button's renderer before dereferencing it.
16025
16026        Test: fast/forms/input-number-spinbutton-crash.html
16027
16028        * rendering/RenderTextControlSingleLine.cpp:
16029        (WebCore::RenderTextControlSingleLine::forwardEvent):
16030
160312010-11-08  Xiaomei Ji  <xji@chromium.org>
16032
16033        Reviewed by Dan Bernstein.
16034
16035        Fix Unicode explicit bidi control characters are removed in editing operations,
16036        such as insert/copy/cut/paste.
16037        https://bugs.webkit.org/show_bug.cgi?id=25321
16038
16039        Unicode explicit bidi control characters were excluded in BidiRun and
16040        consequently from InlineTextBoxes due to their effect on rendering complex
16041        text with ATSUI.
16042        The fix is including those characters in BidiRun and remove them from
16043        ComplexTextRun with ATSUI.
16044
16045        Test: editing/inserting/insert-paste-bidi-control.html
16046               fast/text/atsui-bidi-control.html
16047
16048        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
16049        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
16050        * platform/text/BidiResolver.h:
16051        (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
16052        (WebCore::::lowerExplicitEmbeddingLevel):
16053        (WebCore::::raiseExplicitEmbeddingLevel):
16054        (WebCore::::createBidiRunsForLine):
16055
160562010-11-08  David Hyatt  <hyatt@apple.com>
16057
16058        Reviewed by Dan Bernstein.
16059
16060        https://bugs.webkit.org/show_bug.cgi?id=49126
16061        
16062        RenderBlock::positionForPoint is not writing-mode aware.  Patch the function to examine lines in the correct
16063        writing-mode direction.  Patched and renamed a number of helpers used by positionForPoint.
16064        
16065        Fixed a bug with RenderReplaced's positionForPoint. There was a coordinate space mismatch between what the
16066        function expected (local coordinates) and what was passed in (containing block coords), which meant the function didn't even work.
16067        
16068        Fixed a bug with the propagation of selection state on RenderReplaced to its containing block.  The bit double propagated
16069        because both the base class function and the derived class function did the propagation, and the setter function did not
16070        do the right thing if this happened.
16071        
16072        Patched the localSelectionRect method on RenderReplaced so that selection draws in the right place in all writing modes.
16073        
16074        Added new tests of positionForPoint and replaced elements in fast/blockflow.
16075
16076        * editing/visible_units.cpp:
16077        (WebCore::previousLinePosition):
16078        (WebCore::nextLinePosition):
16079        * platform/graphics/IntPoint.h:
16080        (WebCore::IntPoint::transpose):
16081        * rendering/InlineBox.cpp:
16082        (WebCore::InlineBox::paint):
16083        * rendering/RenderBlock.cpp:
16084        (WebCore::RenderBlock::nodeAtPoint):
16085        (WebCore::RenderBlock::hitTestFloats):
16086        (WebCore::positionForPointRespectingEditingBoundaries):
16087        (WebCore::RenderBlock::positionForPointWithInlineChildren):
16088        (WebCore::RenderBlock::positionForPoint):
16089        * rendering/RenderReplaced.cpp:
16090        (WebCore::RenderReplaced::positionForPoint):
16091        (WebCore::RenderReplaced::localSelectionRect):
16092        (WebCore::RenderReplaced::setSelectionState):
16093        * rendering/RenderReplaced.h:
16094        * rendering/RenderText.cpp:
16095        (WebCore::RenderText::positionForPoint):
16096        * rendering/RootInlineBox.cpp:
16097        (WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition):
16098        * rendering/RootInlineBox.h:
16099
161002010-11-08  Nate Chapin  <japhet@chromium.org>
16101
16102        Reviewed by Alexey Proskuryakov.
16103
16104        Move connection-per-host counting and request prioritization out
16105        of Loader and down to the ResourceLoader level.
16106
16107        https://bugs.webkit.org/show_bug.cgi?id=27165
16108
16109        Refactor only, so no new tests.
16110
16111        * CMakeLists.txt:
16112        * GNUmakefile.am:
16113        * WebCore.exp.in:
16114        * WebCore.gypi:
16115        * WebCore.pro:
16116        * WebCore.vcproj/WebCore.vcproj:
16117        * WebCore.xcodeproj/project.pbxproj:
16118        * dom/ContainerNode.cpp:
16119        (WebCore::ContainerNode::suspendPostAttachCallbacks):
16120        (WebCore::ContainerNode::resumePostAttachCallbacks):
16121        * loader/DocumentThreadableLoader.cpp:
16122        (WebCore::DocumentThreadableLoader::loadRequest):
16123        * loader/MainResourceLoader.cpp:
16124        (WebCore::MainResourceLoader::loadNow):
16125        * loader/NetscapePlugInStreamLoader.cpp:
16126        (WebCore::NetscapePlugInStreamLoader::create):
16127        * loader/NetscapePlugInStreamLoader.h:
16128        * loader/ResourceLoadScheduler.cpp: Added.
16129        (WebCore::ResourceLoadScheduler::hostForURL):
16130        (WebCore::resourceLoadScheduler): Returns the single ResourceLoadScheduler instance
16131        (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
16132        (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
16133        (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
16134        (WebCore::ResourceLoadScheduler::addMainResourceLoad):
16135        (WebCore::ResourceLoadScheduler::scheduleLoad):
16136        (WebCore::ResourceLoadScheduler::remove):
16137        (WebCore::ResourceLoadScheduler::crossOriginRedirectReceived):
16138        (WebCore::ResourceLoadScheduler::servePendingRequests):
16139        (WebCore::ResourceLoadScheduler::suspendPendingRequests):
16140        (WebCore::ResourceLoadScheduler::resumePendingRequests):
16141        (WebCore::ResourceLoadScheduler::scheduleServePendingRequests):
16142        (WebCore::ResourceLoadScheduler::requestTimerFired):
16143        (WebCore::ResourceLoadScheduler::assertLoaderBeingCounted):
16144        (WebCore::ResourceLoadScheduler::HostInformation::assertLoaderBeingCounted):
16145        (WebCore::ResourceLoadScheduler::HostInformation::HostInformation):
16146        (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
16147        (WebCore::ResourceLoadScheduler::HostInformation::schedule):
16148        (WebCore::ResourceLoadScheduler::HostInformation::addLoadInProgress):
16149        (WebCore::ResourceLoadScheduler::HostInformation::remove):
16150        (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
16151        * loader/ResourceLoadScheduler.h: Added.
16152        (WebCore::ResourceLoadScheduler::HostInformation::name):
16153        (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
16154        (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
16155        * loader/ResourceLoader.cpp:
16156        (WebCore::ResourceLoader::releaseResources): Remove this from ResourceLoadScheduler's counting.
16157        (WebCore::ResourceLoader::load):
16158        (WebCore::ResourceLoader::start): Create the ResourceHandle, called by ResourceLoadScheduler.
16159        (WebCore::ResourceLoader::willSendRequest): Ensure ResourceLoadScheduler counts redirects
16160            correctly.
16161        * loader/ResourceLoader.h:
16162        (WebCore::ResourceLoader::url):
16163        * loader/icon/IconLoader.cpp:
16164        (WebCore::IconLoader::startLoading):
16165        * loader/loader.cpp: Move scheduling to ResourceLoadScheduler, remove Host subclass
16166            and make Loader the SubresourceLoaderClient instead.
16167        (WebCore::determinePriority):
16168        (WebCore::Loader::load): Schedule the creation of the ResourceHandle, rather than
16169            doing it immediately.
16170        (WebCore::Loader::cancelRequests):
16171        (WebCore::Loader::didFinishLoading):
16172        (WebCore::Loader::didFail):
16173        (WebCore::Loader::didReceiveResponse):
16174        (WebCore::Loader::didReceiveData):
16175        (WebCore::Loader::didReceiveCachedMetadata):
16176        * loader/loader.h:
16177        * page/EventSource.cpp:
16178        (WebCore::EventSource::connect):
16179        (WebCore::EventSource::endRequest):
16180        * plugins/PluginStream.cpp:
16181        (WebCore::PluginStream::start):
16182        * xml/XMLHttpRequest.cpp:
16183        (WebCore::XMLHttpRequest::XMLHttpRequest):
16184        (WebCore::XMLHttpRequest::~XMLHttpRequest):
16185        (WebCore::XMLHttpRequest::createRequest):
16186        (WebCore::XMLHttpRequest::didFail):
16187        (WebCore::XMLHttpRequest::didFinishLoading):
16188        * xml/XMLHttpRequest.h:
16189
161902010-11-08  Ryosuke Niwa  <rniwa@webkit.org>
16191
16192        Reviewed by Darin Adler.
16193
16194        Remove the remaining editing-style functions from ApplyStyleCommand
16195        https://bugs.webkit.org/show_bug.cgi?id=49155
16196
16197        Replaced removeNonEditingProperties, editingStyleAtPosition, prepareEditingStyleToApplyAt,
16198        and removeStylesAddedByNode in ApplyStyleCommand.cpp by removeNonEditingProperties, EditingStyle::create,
16199        prepareToApplyAt, and removeStyleAddedByNode in EditingStyle.cpp.
16200
16201        Also removed unnecessary header includes from various cpp files.
16202
16203        No tests are added since this is a cleanup.
16204
16205        * editing/ApplyStyleCommand.cpp: Removed removeNonEditingProperties, editingStyleAtPosition,
16206        prepareEditingStyleToApplyAt, and removeStylesAddedByNode.
16207        * editing/ApplyStyleCommand.h: Ditto.
16208        * editing/DeleteSelectionCommand.cpp: Removed removeEnclosingAnchorStyle.
16209        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Calls removeStylesAddedByNode instead.
16210        * editing/EditingStyle.cpp:
16211        (WebCore::copyEditingProperties): Moved and renamed ApplyStyleCommand::removeNonEditingProperties.
16212        (WebCore::editingStyleFromComputedStyle): Calls copyEditingProperties. Changed the argument to PassRefPtr
16213        as supposed to a raw pointer for convenience.
16214        (WebCore::EditingStyle::init): Calls editingStyleFromComputedStyle.
16215        (WebCore::EditingStyle::removeStyleAddedByNode): Added.
16216        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added.
16217        (WebCore::EditingStyle::removeNonEditingProperties): Added.
16218        (WebCore::editingStyleIncludingTypingStyle): Calls copyEditingProperties.
16219        * editing/EditingStyle.h: Added prototypes.
16220        * editing/Editor.cpp:
16221        (WebCore::Editor::selectionComputedStyle): Uses EditingStyle.
16222        * editing/InsertParagraphSeparatorCommand.cpp:
16223        (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Ditto.
16224        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
16225        * editing/InsertParagraphSeparatorCommand.h:
16226        * editing/RemoveFormatCommand.cpp:
16227        (WebCore::RemoveFormatCommand::doApply): Ditto.
16228        * editing/ReplaceSelectionCommand.cpp:
16229        (WebCore::handleStyleSpansBeforeInsertion): Ditto.
16230        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Ditto.
16231        (WebCore::ReplaceSelectionCommand::doApply): Ditto.
16232        (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
16233        * editing/ReplaceSelectionCommand.h:
16234        * editing/markup.cpp: Removed removeEnclosingMailBlockquoteStyle and removeDefaultStyles.
16235        (WebCore::createMarkup): Uses EditingStyle.
16236
162372010-11-08  Simon Fraser  <simon.fraser@apple.com>
16238
16239        Reviewed by Dan Bernstein.
16240
16241        Media objects in nested iframes showing above everything else in TinyMCE
16242        https://bugs.webkit.org/show_bug.cgi?id=44877
16243
16244        Tests: compositing/iframes/become-composited-nested-iframes.html
16245               compositing/iframes/overlapped-nested-iframes.html
16246        
16247        The overlap testing logic that connects compositing across iframe boundaries
16248        needed to be educated about nestd iframes, for platforms (i.e. Mac) where iframes
16249        are allowed to be independently composited.
16250        
16251        Also fix a bug that could cause iframes (and possibly other elements) that share
16252        style to fail to become composited.
16253
16254        * css/CSSStyleSelector.cpp:
16255        (WebCore::CSSStyleSelector::canShareStyleWithElement): Disable style sharing for elements
16256        that force synethetic style updates in order to gain RenderLayers, so they can become
16257        composited. This is tested by become-composited-nested-iframes.html, though it is very
16258        timing-dependent.
16259        
16260        * page/FrameView.h:
16261        * page/FrameView.cpp:
16262        (WebCore::FrameView::hasCompositedContentIncludingDescendants): New method that
16263        is a "deep" version of hasCompositedContent() on platforms where that is necessary to ask.
16264        
16265        (WebCore::FrameView::hasCompositingAncestor): New method.
16266        (WebCore::FrameView::setIsOverlapped): If we can have independently composited iframes,
16267        we need to force all descendant iframes to update so that compositing gets hooked up across
16268        nested iframes.
16269        
16270        (WebCore::FrameView::isOverlappedIncludingAncestors): New method, only called on platforms
16271        where allowsIndependentlyCompositedIFrames() is true.
16272
16273        * rendering/RenderLayerCompositor.h:
16274        * rendering/RenderLayerCompositor.cpp:
16275        (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedIFrames): Utility method that
16276        returns true if an iframe can be a compositing root.
16277        
16278        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Make use of
16279        allowsIndependentlyCompositedIFrames().
16280        
16281        (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): We need to notify all
16282        descendant frames, not just children.
16283        
16284        * rendering/RenderObject.cpp:
16285        (WebCore::RenderObject::setStyle): Add assert to ensure that we don't do style sharing
16286        for elements that play tricks with synthetic style changes.
16287
16288        * rendering/RenderWidget.cpp:
16289        (WebCore::RenderWidget::paint): Run overlap testing if a frame has any composited
16290        descendants.
16291
162922010-11-08  Darin Adler  <darin@apple.com>
16293
16294        Reviewed by Alexey Proskuryakov.
16295
16296        Incorrect image map used when multiple maps have the same name
16297        https://bugs.webkit.org/show_bug.cgi?id=49086
16298
16299        Tests: fast/images/image-map-multiple.html
16300               fast/images/image-map-multiple-xhtml.xhtml
16301
16302        Factored out the code used to look up elements by id and reused it
16303        to look up maps by name. It handles multiple elements efficiently.
16304
16305        * dom/Document.cpp:
16306        (WebCore::Document::DocumentOrderedMap::clear): Added.
16307        (WebCore::Document::DocumentOrderedMap::add): Added. Has code that
16308        was formerly in addElementById.
16309        (WebCore::Document::DocumentOrderedMap::remove): Added. Has code that
16310        was formerly in removeElementById.
16311        (WebCore::Document::DocumentOrderedMap::get): Added. Has code that
16312        was formerly in getElementById.
16313        (WebCore::keyMatchesId): Added.
16314        (WebCore::Document::getElementById): Use DocumentOrderedMap::get.
16315        (WebCore::Document::addElementById): Use DocumentOrderedMap::add.
16316        (WebCore::Document::removeElementById): Use DocumentOrderedMap::remove.
16317        (WebCore::Document::addImageMap): Use DocumentOrderedMap::add.
16318        (WebCore::Document::removeImageMap): Use DocumentOrderedMap::remove.
16319        (WebCore::keyMatchesMapName): Added.
16320        (WebCore::keyMatchesLowercasedMapName): Added.
16321        (WebCore::Document::getImageMap): Use DocumentOrderedMap::get.
16322
16323        * dom/Document.h: Added DocumentOrderedMap class, used inside the
16324        Document class. Changed m_imageMapsByName to be a DocumentOrderedMap.
16325        Changed m_elementsById to be a DocumentOrderedMap. Eliminated
16326        m_duplicateIds, since DocumentOrderedMap now has that internally.
16327
163282010-11-08  Alexey Proskuryakov  <ap@apple.com>
16329
16330        Reviewed by Darin Adler.
16331
16332        https://bugs.webkit.org/show_bug.cgi?id=48685
16333        Notify UI process about focused frame
16334
16335        * WebCore.xcodeproj/project.pbxproj: Adding developmentRegion back.
16336
16337        * loader/EmptyClients.h: (WebCore::EmptyChromeClient::focusedFrameChanged):
16338        * page/Chrome.cpp: (WebCore::Chrome::focusedFrameChanged):
16339        * page/Chrome.h:
16340        * page/ChromeClient.h:
16341        Added a new Chrome client notification.
16342
16343        * page/FocusController.cpp: (WebCore::FocusController::setFocusedFrame): Notify chrome.
16344
163452010-11-08  Anders Carlsson  <andersca@apple.com>
16346
16347        Reviewed by Adam Roben.
16348
16349        Remove use of HIGetScaleFactor
16350        https://bugs.webkit.org/show_bug.cgi?id=49186
16351        <rdar://problem/8618410>
16352
16353        Scale factors can vary on a display-by-display basis and it doesn't make sense
16354        to compute scale factor event coordinates like this.
16355
16356        * plugins/mac/PluginViewMac.mm:
16357        (WebCore::PluginView::globalMousePosForPlugin):
16358
163592010-11-08  Noam Rosenthal  <noam.rosenthal@nokia.com>
16360
16361        Reviewed by Kenneth Rohde Christiansen.
16362
16363        [Texmap] [Qt] Texture mapper initial implementation
16364        https://bugs.webkit.org/show_bug.cgi?id=47070
16365
16366        Make the necessary changes in TextureMapperNode in preparation of making it possible to paint it
16367        from a different thread.
16368        The main problematic part was the cache, which made it so that textures can become invalid and have to
16369        be rerendered from content during paint. This is solved here by creating a pack/unpack function for
16370        textures, which lets a texture archive its data away from video memory, or do whatever the platform
16371        thinks is right for freeing memory without needing to re-render again from content (which cannot be
16372        made thread safe).
16373
16374        After this change, TextureMapperNode moved to its own file, and has 2 entry points: paint and syncCompositingState.
16375        The idea is that syncCompositingState has to be called in the UI thread, paint can be called from a different
16376        thread, and they should block each other.
16377
16378        The new test tests the cache code-path, to show that the pack/unpack technique works for cases where it
16379        kicks in.
16380
16381        Test: compositing/layer-creation/many-layers.html
16382
16383        * WebCore.pro:
16384        * platform/graphics/opengl/TextureMapperGL.cpp:
16385        (WebCore::BitmapTextureGL::~BitmapTextureGL):
16386        (WebCore::BitmapTextureGL::BitmapTextureGL):
16387        (WebCore::TextureMapperGL::TextureMapperGL):
16388        (WebCore::TextureMapperGL::drawTexture):
16389        * platform/graphics/opengl/TextureMapperGL.h:
16390        (WebCore::TextureMapperGL::create):
16391        * platform/graphics/qt/TextureMapperQt.cpp:
16392        (WebCore::BitmapTextureQt::pack):
16393        (WebCore::BitmapTextureQt::unpack):
16394        (WebCore::TextureMapper::create):
16395        (WebCore::BitmapTextureQt::BitmapTextureQt):
16396        * platform/graphics/qt/TextureMapperQt.h: Added.
16397
163982010-11-08  Simon Fraser  <simon.fraser@apple.com>
16399
16400        Reviewed by Sam Weinig.
16401
16402        Allow applets to participate in accelerated compositing
16403        https://bugs.webkit.org/show_bug.cgi?id=49117
16404        <rdar://problem/8625819>
16405        
16406        Add RenderApplet to the list of renderers that can optionally get RenderLayers,
16407        and be composited for some reason.
16408
16409        Not currently testable.
16410
16411        * rendering/RenderApplet.h: Outdented the class declaration.
16412
16413        * rendering/RenderApplet.cpp:
16414        (WebCore::RenderApplet::requiresLayer): Return true if the underlying widget
16415        has a platform layer.
16416        (WebCore::RenderApplet::allowsAcceleratedCompositing): Check the widget to see
16417        if it has a platform layer.
16418
16419        * rendering/RenderLayer.cpp:
16420        (WebCore::RenderLayer::shouldBeNormalFlowOnly): Reformat, and add isApplet().
16421        (WebCore::RenderLayer::isSelfPaintingLayer): Reformat, and add isApplet().
16422        * rendering/RenderLayerBacking.cpp:
16423        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Use 'renderer' local variable
16424        for efficiency. Now check for embedded objects and applets.
16425        * rendering/RenderLayerCompositor.cpp:
16426        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Check for embedded objects and applets.
16427
164282010-11-08  Xan Lopez  <xlopez@igalia.com>
16429
16430        Reviewed by Martin Robinson.
16431
16432        * GNUmakefile.am: add missing files to fix distcheck.
16433
164342010-11-08  Alexander Pavlov  <apavlov@chromium.org>
16435
16436        Reviewed by David Hyatt.
16437
16438        getPropertyValue("background") causes crash
16439        https://bugs.webkit.org/show_bug.cgi?id=49055
16440
16441        Test: fast/css/background-norepeat-crash.html
16442
16443        * css/CSSMutableStyleDeclaration.cpp:
16444        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
16445
164462010-11-08  Martin Robinson  <mrobinson@igalia.com>
16447
16448        Reviewed by Xan Lopez.
16449
16450        [GTK] Wrapped DOM bindings GObjects do not disconnect event listeners when they die
16451        https://bugs.webkit.org/show_bug.cgi?id=49136
16452
16453        When GObjects are finalized and freed, disconnect their event listeners, so that
16454        WebCore does not try to fire signals on dead GObjects. We do this by holding a weak
16455        reference to the GObject in the signal listener. When the weak reference notification
16456        callback is executed, we disconnect the event listener.
16457
16458        No new tests; this fix is proved by prevention of crashes in soon to be
16459        landed editing delegate signals, which are covered by the layout tests.
16460
16461        * bindings/gobject/GObjectEventListener.cpp:
16462        (WebCore::GObjectEventListener::GObjectEventListener): Updated the constructor.
16463        (WebCore::GObjectEventListener::~GObjectEventListener): Disconnect the weak reference
16464        if the GObject is still alive.
16465        (WebCore::GObjectEventListener::gobjectDestroyed): When the GObject is destroyed,
16466        disconnect the appropriate event listener.
16467        (WebCore::GObjectEventListener::handleEvent): Changes to reflect use of CString
16468        instead of WebCore string.
16469        * bindings/gobject/GObjectEventListener.h:
16470        (WebCore::GObjectEventListener::addEventListener): Changed create to addEventListener,
16471        so that the connection and disconnection is an internal contract to the class.
16472        (WebCore::GObjectEventListener::gobjectDestroyedCallback): Added.
16473        * bindings/scripts/CodeGeneratorGObject.pm: Modified the code generate to use
16474        GObjectEventListener::addEventListener and no longer call addEventListener on
16475        its own.
16476
164772010-11-08  Adam Roben  <aroben@apple.com>
16478
16479        Windows Release build fix after r71514
16480
16481        The build was failing due to an alignment error. Strangely, depending
16482        on the order of SVGStaticPropertyTearOff's members, the build will
16483        either fail in Release (as it does before this change), or Debug (as it
16484        did before r71514), but not both.
16485
16486        * svg/properties/SVGStaticPropertyTearOff.h:
16487        (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Copied
16488        the #pragma pack trick from JSSVGPODTypeWrapper.h, which has similar
16489        issues.
16490
164912010-11-08  Yury Semikhatsky  <yurys@chromium.org>
16492
16493        Reviewed by Pavel Feldman.
16494
16495        Web Inspector: decouple ScriptArguments from ScriptCallStack
16496        https://bugs.webkit.org/show_bug.cgi?id=48058
16497
16498        ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
16499        The factory functions that allow to create ScriptCallStack from VM-specific
16500        objects are defined in ScriptCallStackFactory.cpp.
16501
16502        ScriptArguments class is used for passing arguments from JS code to the native
16503        part.
16504
16505        No new tests. This refactoring is covered with existing Console tests.
16506
16507        * Android.jscbindings.mk:
16508        * Android.v8bindings.mk:
16509        * CMakeLists.txt:
16510        * GNUmakefile.am:
16511        * WebCore.gypi:
16512        * WebCore.pro:
16513        * WebCore.vcproj/WebCore.vcproj:
16514        * WebCore.xcodeproj/project.pbxproj:
16515        * bindings/js/JSBindingsAllInOne.cpp:
16516        * bindings/js/JSConsoleCustom.cpp:
16517        (WebCore::JSConsole::profile):
16518        (WebCore::JSConsole::profileEnd):
16519        * bindings/js/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/js/ScriptCallStack.cpp.
16520        (WebCore::createScriptCallStack):
16521        (WebCore::createScriptArguments):
16522        (WebCore::ScriptCallStack::stackTrace):
16523        * bindings/js/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp.
16524        * bindings/js/ScriptState.cpp:
16525        (WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr):
16526        (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
16527        (WebCore::ScriptStateProtectedPtr::get):
16528        * bindings/js/ScriptState.h:
16529        * bindings/scripts/CodeGeneratorJS.pm:
16530        * bindings/scripts/CodeGeneratorV8.pm:
16531        * bindings/scripts/test/JS/JSTestObj.cpp:
16532        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
16533        * bindings/scripts/test/V8/V8TestObj.cpp:
16534        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
16535        * bindings/v8/ScriptCallFrame.h: Removed.
16536        * bindings/v8/ScriptCallStack.h: Removed.
16537        * bindings/v8/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/v8/ScriptCallStack.cpp.
16538        (WebCore::toScriptCallFrame):
16539        (WebCore::toScriptCallFramesVector):
16540        (WebCore::createScriptCallStack):
16541        (WebCore::createScriptArguments):
16542        (WebCore::ScriptCallStack::stackTrace):
16543        * bindings/v8/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp.
16544        * bindings/v8/ScriptController.cpp:
16545        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
16546        * bindings/v8/ScriptState.h:
16547        (WebCore::ScriptStateProtectedPtr::get):
16548        * bindings/v8/V8ConsoleMessage.cpp:
16549        (WebCore::V8ConsoleMessage::handler):
16550        (WebCore::V8ConsoleMessage::dispatchNow):
16551        * bindings/v8/V8ConsoleMessage.h:
16552        * bindings/v8/custom/V8ConsoleCustom.cpp:
16553        (WebCore::V8Console::traceCallback):
16554        (WebCore::V8Console::assertCallback):
16555        (WebCore::V8Console::profileCallback):
16556        (WebCore::V8Console::profileEndCallback):
16557        * dom/NodeFilter.h:
16558        * inspector/ConsoleMessage.cpp:
16559        (WebCore::ConsoleMessage::ConsoleMessage):
16560        (WebCore::ConsoleMessage::addToFrontend):
16561        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
16562        (WebCore::ConsoleMessage::isEqual):
16563        * inspector/ConsoleMessage.h:
16564        * inspector/InspectorController.cpp:
16565        (WebCore::InspectorController::addMessageToConsole):
16566        (WebCore::InspectorController::startGroup):
16567        * inspector/InspectorController.h:
16568        * inspector/ScriptArguments.cpp: Copied from WebCore/bindings/v8/ScriptCallFrame.cpp.
16569        (WebCore::ScriptArguments::ScriptArguments):
16570        (WebCore::ScriptArguments::~ScriptArguments):
16571        (WebCore::ScriptArguments::argumentAt):
16572        (WebCore::ScriptArguments::globalState):
16573        (WebCore::ScriptArguments::getFirstArgumentAsString):
16574        (WebCore::ScriptArguments::isEqual):
16575        * inspector/ScriptArguments.h: Copied from WebCore/bindings/js/ScriptCallFrame.h.
16576        (WebCore::ScriptArguments::argumentCount):
16577        * inspector/ScriptCallFrame.cpp: Renamed from WebCore/bindings/v8/ScriptCallFrame.cpp.
16578        (WebCore::ScriptCallFrame::ScriptCallFrame):
16579        (WebCore::ScriptCallFrame::~ScriptCallFrame):
16580        (WebCore::ScriptCallFrame::isEqual):
16581        (WebCore::ScriptCallFrame::buildInspectorObject):
16582        * inspector/ScriptCallFrame.h: Renamed from WebCore/bindings/js/ScriptCallFrame.h.
16583        (WebCore::ScriptCallFrame::functionName):
16584        (WebCore::ScriptCallFrame::sourceURL):
16585        (WebCore::ScriptCallFrame::lineNumber):
16586        * inspector/ScriptCallStack.cpp: Renamed from WebCore/bindings/js/ScriptCallFrame.cpp.
16587        (WebCore::ScriptCallStack::ScriptCallStack):
16588        (WebCore::ScriptCallStack::~ScriptCallStack):
16589        (WebCore::ScriptCallStack::at):
16590        (WebCore::ScriptCallStack::size):
16591        (WebCore::ScriptCallStack::isEqual):
16592        (WebCore::ScriptCallStack::buildInspectorObject):
16593        * inspector/ScriptCallStack.h: Renamed from WebCore/bindings/js/ScriptCallStack.h.
16594        * page/Console.cpp:
16595        (WebCore::Console::addMessage):
16596        (WebCore::Console::debug):
16597        (WebCore::Console::error):
16598        (WebCore::Console::info):
16599        (WebCore::Console::log):
16600        (WebCore::Console::dir):
16601        (WebCore::Console::dirxml):
16602        (WebCore::Console::trace):
16603        (WebCore::Console::assertCondition):
16604        (WebCore::Console::count):
16605        (WebCore::Console::markTimeline):
16606        (WebCore::Console::profile):
16607        (WebCore::Console::profileEnd):
16608        (WebCore::Console::timeEnd):
16609        (WebCore::Console::group):
16610        (WebCore::Console::groupCollapsed):
16611        (WebCore::Console::shouldCaptureFullStackTrace):
16612        (WebCore::Console::warn):
16613        * page/Console.h:
16614        (WebCore::Console::profiles):
16615        * page/Console.idl:
16616
166172010-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
16618
16619        Not reviewed. Build fix.
16620        
16621        Attempt to fix windows builds after r71512. Swap order of members to avoid warning C4121.
16622
16623        * svg/properties/SVGStaticPropertyTearOff.h:
16624        (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff):
16625
166262010-11-08  Mikhail Naganov  <mnaganov@chromium.org>
16627
16628        Unreviewed. Fix Qt build after r71511.
16629
16630        * inspector/InspectorController.cpp:
16631        (WebCore::InspectorController::restoreInspectorStateFromCookie):
16632
166332010-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
16634
16635        Reviewed by Dirk Schulze.
16636
16637        Convert SVGPoint/SVGPointList to the new SVGPropertyTearOff concept
16638        https://bugs.webkit.org/show_bug.cgi?id=49067
16639
16640        Remove SVGAnimatedPoints interface, not reachable through bindings anyway, it was just another MI interface, that
16641        now has been integrated into SVGPolylineElement/SVGPolygonElement, simplfying the generation and avoiding virtual
16642        calls in SVGPolylineElement/SVGPolygonElement.
16643
16644        Remove the need to use manual XML <-> SVG DOM synchronization. The points/animatedPoints methods now create
16645        SVGListPropertyTearOffs, thus using the same synchronization/expose-to-bindings concept like all other
16646        animated properties.
16647
16648        Convert SVGPoint/SVGPointList to use the new SVGPropertyTearOff concept, adapted all code, as SVGPointList
16649        is now a plain Vector<FloatPoint>. Enable StrictTypeChecking for SVGPoint.
16650
16651        Test: svg/dom/SVGPoint.html
16652
16653        * Android.derived.v8bindings.mk: Remove SVGAnimatedPoints (and IDL generation).
16654        * Android.mk: Ditto.
16655        * CMakeLists.txt: Ditto.
16656        * DerivedSources.make: Ditto.
16657        * GNUmakefile.am: Ditto. Add SVGStaticPropertyTearOff.h to build.
16658        * WebCore.gypi: Ditto.
16659        * WebCore.order: Remove SVGAnimatedPoints symbols.
16660        * WebCore.pro: Remove SVGAnimatedPoints (and IDL generation). Add SVGStaticPropertyTearOff.h to build.
16661        * WebCore.vcproj/WebCore.vcproj: Ditto.
16662        * WebCore.xcodeproj/project.pbxproj: Ditto.
16663        * bindings/objc/DOMSVG.h: Remove DOMSVGAnimatedPoints include.
16664        * bindings/scripts/CodeGenerator.pm: Adapt code converting SVGPoint/SVGPointList to use the new SVGPropertyTearOff concepts.
16665        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
16666        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
16667        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
16668        * rendering/SVGRenderTreeAsText.cpp: Adapt for SVGPolyElement API change, use pointList() instead of points() (which is only used for bindings now).
16669        (WebCore::operator<<):
16670        * svg/SVGAllInOne.cpp: Remove SVGAnimatedPoints.cpp.
16671        * svg/SVGAnimateElement.cpp: Adapt for SVGPointList API change, it's not refcounted anymore.
16672        (WebCore::SVGAnimateElement::calculateAnimatedValue):
16673        (WebCore::SVGAnimateElement::calculateFromAndToValues):
16674        (WebCore::SVGAnimateElement::applyResultsToTarget):
16675        * svg/SVGAnimateElement.h:  Ditto.
16676        * svg/SVGAnimatedPoints.cpp: Removed.
16677        * svg/SVGAnimatedPoints.h: Removed.
16678        * svg/SVGAnimatedPoints.idl: Removed.
16679        * svg/SVGParserUtilities.cpp: Adapt for SVGPointList API change, it's not refcounted anymore.
16680        (WebCore::pointsListFromSVGData):
16681        * svg/SVGParserUtilities.h: Ditto.
16682        * svg/SVGPoint.idl: Remove PODType marker, and add StrictTypeChecking for x/y attributes.
16683        * svg/SVGPointList.cpp: SVGPointList is now a plain Vector<FloatPoint>, rewrite.
16684        (WebCore::SVGPointList::valueAsString):
16685        (WebCore::SVGPointList::createAnimated):
16686        * svg/SVGPointList.h: Ditto.
16687        (WebCore::SVGPointList::SVGPointList):
16688        * svg/SVGPolyElement.cpp: Remove manual SVG <-> XML DOM synchronization. Now handles through the SVGAnimatedPropertyTearOff concept.
16689        (WebCore::SVGPolyElement::parseMappedAttribute):
16690        (WebCore::SVGPolyElement::svgAttributeChanged):
16691        (WebCore::SVGPolyElement::synchronizeProperty):
16692        (WebCore::SVGPolyElement::synchronizePoints):
16693        (WebCore::SVGPolyElement::points):
16694        (WebCore::SVGPolyElement::animatedPoints):
16695        * svg/SVGPolyElement.h: Reindented.
16696        (WebCore::SVGPolyElement::pointList):
16697        (WebCore::SVGPolyElement::isValid):
16698        (WebCore::SVGPolyElement::supportsMarkers):
16699        * svg/SVGPolygonElement.cpp: Adapt for SVGPointList API change.
16700        (WebCore::SVGPolygonElement::toPathData):
16701        * svg/SVGPolygonElement.idl: Remove SVGAnimatedPoints inheritance.
16702        * svg/SVGPolylineElement.cpp: Adapt for SVGPointList API change.
16703        (WebCore::SVGPolylineElement::toPathData):
16704        * svg/SVGPolylineElement.idl: Remove SVGAnimatedPoints inheritance.
16705        * svg/SVGSVGElement.cpp:
16706        (WebCore::SVGSVGElement::setCurrentTranslate): Use updateCurrentTranslate().
16707        (WebCore::SVGSVGElement::updateCurrentTranslate): Added, only used by the bindings, after changing a value of SVGStaticPropertyTearOff object.
16708        * svg/SVGSVGElement.h:
16709        (WebCore::SVGSVGElement::currentTranslate): Return reference to m_translation.
16710        * svg/properties/SVGPropertyTearOff.h: Made constructors protected, as SVGStaticPropertyTearOff inherits from it.
16711        (WebCore::SVGPropertyTearOff::commitChange):
16712        * svg/properties/SVGPropertyTraits.h: Add SVGPointList handing.
16713        * svg/properties/SVGStaticPropertyTearOff.h: Added. Used for SVGProperty types returned by attributes, that are not associated with a SVGAnimatedProperty. (SVGSVGElement::currentTranslate).
16714        (WebCore::SVGStaticPropertyTearOff::create):
16715        (WebCore::SVGStaticPropertyTearOff::commitChange):
16716        (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff):
16717
167182010-11-08  Mikhail Naganov  <mnaganov@chromium.org>
16719
16720        Reviewed by Adam Barth.
16721
16722        Web Inspector [Chromium]: Make CPU profiling to survive navigation.
16723
16724        https://bugs.webkit.org/show_bug.cgi?id=48843
16725
16726        * inspector/Inspector.idl:
16727        * inspector/InspectorController.cpp:
16728        (WebCore::InspectorController::restoreInspectorStateFromCookie):
16729        (WebCore::InspectorController::reuseFrontend):
16730        (WebCore::InspectorController::disconnectFrontend):
16731        (WebCore::InspectorController::populateScriptObjects):
16732        (WebCore::InspectorController::restoreProfiler):
16733        (WebCore::InspectorController::didCommitLoad):
16734        (WebCore::InspectorController::startUserInitiatedProfiling):
16735        (WebCore::InspectorController::stopUserInitiatedProfiling):
16736        * inspector/InspectorController.h:
16737        (WebCore::InspectorController::startProfiling):
16738        (WebCore::InspectorController::stopProfiling):
16739        * inspector/InspectorProfilerAgent.cpp:
16740        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
16741        (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
16742        * inspector/InspectorProfilerAgent.h:
16743        * inspector/InspectorState.cpp:
16744        (WebCore::InspectorState::InspectorState):
16745        * inspector/InspectorState.h:
16746        * inspector/front-end/ProfilesPanel.js:
16747        (WebInspector.ProfilesPanel.prototype.hasTemporaryProfile):
16748        (WebInspector.ProfilesPanel.prototype.hasProfile):
16749        * inspector/front-end/inspector.js:
16750        (WebInspector.setRecordingProfile):
16751
167522010-11-08  Renata Hodovan  <reni@webkit.org>
16753
16754        Reviewed by Nikolas Zimmermann.
16755
16756        SVGFEConvolveMatrixElement doesn't support dynamic invalidation
16757        https://bugs.webkit.org/show_bug.cgi?id=47660
16758
16759        Wrap orderX and orderY into the common order property according to the w3 standard and remove them from svnattrs.in.
16760        The patch implements the orderXIdentifier and orderYIdentifier getter functions to reach
16761        properly the orderX and orderY components of order property from SVG DOM.
16762
16763        Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html
16764               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html
16765               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html
16766               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html
16767               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html
16768               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html
16769               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html
16770               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html
16771               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html
16772               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html
16773
16774        * svg/SVGFEConvolveMatrixElement.cpp:
16775        (WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
16776        (WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
16777        * svg/SVGFEConvolveMatrixElement.h:
16778        * svg/svgattrs.in:
16779
167802010-11-08  Adam Barth  <abarth@webkit.org>
16781
16782        Reviewed by Antti Koivisto.
16783
16784        Rename CachedResourceLoader::m_doc to CachedResourceLoader::m_document
16785        https://bugs.webkit.org/show_bug.cgi?id=49163
16786
16787        The usual convention is to use "document", not "doc" to refer to the
16788        document.
16789
16790        * css/CSSCursorImageValue.cpp:
16791        (WebCore::CSSCursorImageValue::cachedImage):
16792        * dom/XMLDocumentParserLibxml2.cpp:
16793        (WebCore::shouldAllowExternalLoad):
16794        * loader/cache/CachedResourceLoader.cpp:
16795        (WebCore::CachedResourceLoader::CachedResourceLoader):
16796        (WebCore::CachedResourceLoader::frame):
16797        (WebCore::CachedResourceLoader::requestImage):
16798        (WebCore::CachedResourceLoader::canRequest):
16799        (WebCore::CachedResourceLoader::requestResource):
16800        (WebCore::CachedResourceLoader::printAccessDeniedMessage):
16801        (WebCore::CachedResourceLoader::preload):
16802        (WebCore::CachedResourceLoader::checkForPendingPreloads):
16803        (WebCore::CachedResourceLoader::requestPreload):
16804        * loader/cache/CachedResourceLoader.h:
16805        (WebCore::CachedResourceLoader::document):
16806        * loader/cache/MemoryCache.cpp:
16807        (WebCore::MemoryCache::requestResource):
16808        * loader/loader.cpp:
16809        (WebCore::Loader::load):
16810        (WebCore::Loader::Host::servePendingRequests):
16811        (WebCore::Loader::Host::didFinishLoading):
16812        (WebCore::Loader::Host::didFail):
16813        * xml/XSLTProcessorLibxslt.cpp:
16814        (WebCore::docLoaderFunc):
16815
168162010-11-07  Adam Barth  <abarth@webkit.org>
16817
16818        Unreviewed.  Remove some unneeded includes.
16819
16820        * loader/FrameLoader.cpp:
16821        * loader/PlaceholderDocument.cpp:
16822
168232010-11-07  Adam Barth  <abarth@webkit.org>
16824
16825        Reviewed by Eric Seidel.
16826
16827        Rename Cache to MemoryCache
16828        https://bugs.webkit.org/show_bug.cgi?id=49159
16829
16830        So sayeth the diagram.
16831
16832        * Android.mk:
16833        * CMakeLists.txt:
16834        * GNUmakefile.am:
16835        * WebCore.gypi:
16836        * WebCore.pro:
16837        * WebCore.vcproj/WebCore.vcproj:
16838        * WebCore.xcodeproj/project.pbxproj:
16839        * css/CSSImageValue.cpp:
16840        * dom/ContainerNode.cpp:
16841        * history/PageCache.cpp:
16842        * inspector/InspectorCSSStore.h:
16843        * inspector/InspectorResourceAgent.cpp:
16844        * loader/FrameLoader.cpp:
16845        * loader/archive/cf/LegacyWebArchive.cpp:
16846        * loader/cache/Cache.cpp: Removed.
16847        * loader/cache/Cache.h: Removed.
16848        * loader/cache/CachedCSSStyleSheet.cpp:
16849        (WebCore::CachedCSSStyleSheet::allClientsRemoved):
16850        * loader/cache/CachedFont.cpp:
16851        * loader/cache/CachedFont.h:
16852        * loader/cache/CachedImage.cpp:
16853        (WebCore::CachedImage::destroyDecodedData):
16854        * loader/cache/CachedImage.h:
16855        * loader/cache/CachedResource.cpp:
16856        * loader/cache/CachedResource.h:
16857        * loader/cache/CachedResourceLoader.cpp:
16858        * loader/cache/CachedResourceLoader.h:
16859        * loader/cache/CachedScript.cpp:
16860        (WebCore::CachedScript::destroyDecodedData):
16861        * loader/cache/MemoryCache.cpp: Copied from WebCore/loader/cache/Cache.cpp.
16862        (WebCore::cache):
16863        (WebCore::MemoryCache::MemoryCache):
16864        (WebCore::MemoryCache::requestResource):
16865        (WebCore::MemoryCache::requestUserCSSStyleSheet):
16866        (WebCore::MemoryCache::revalidateResource):
16867        (WebCore::MemoryCache::revalidationSucceeded):
16868        (WebCore::MemoryCache::revalidationFailed):
16869        (WebCore::MemoryCache::resourceForURL):
16870        (WebCore::MemoryCache::deadCapacity):
16871        (WebCore::MemoryCache::liveCapacity):
16872        (WebCore::MemoryCache::pruneLiveResources):
16873        (WebCore::MemoryCache::pruneDeadResources):
16874        (WebCore::MemoryCache::setCapacities):
16875        (WebCore::MemoryCache::makeResourcePurgeable):
16876        (WebCore::MemoryCache::evict):
16877        (WebCore::MemoryCache::addCachedResourceLoader):
16878        (WebCore::MemoryCache::removeCachedResourceLoader):
16879        (WebCore::MemoryCache::lruListFor):
16880        (WebCore::MemoryCache::removeFromLRUList):
16881        (WebCore::MemoryCache::insertInLRUList):
16882        (WebCore::MemoryCache::resourceAccessed):
16883        (WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
16884        (WebCore::MemoryCache::insertInLiveDecodedResourcesList):
16885        (WebCore::MemoryCache::addToLiveResourcesSize):
16886        (WebCore::MemoryCache::removeFromLiveResourcesSize):
16887        (WebCore::MemoryCache::adjustSize):
16888        (WebCore::MemoryCache::TypeStatistic::addResource):
16889        (WebCore::MemoryCache::getStatistics):
16890        (WebCore::MemoryCache::setDisabled):
16891        (WebCore::MemoryCache::dumpStats):
16892        (WebCore::MemoryCache::dumpLRULists):
16893        * loader/cache/MemoryCache.h: Copied from WebCore/loader/cache/Cache.h.
16894        (WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction):
16895        * loader/loader.cpp:
16896        * page/EventSource.cpp:
16897        * page/Settings.h:
16898        * xml/XMLHttpRequest.cpp:
16899        (WebCore::XMLHttpRequest::createRequest):
16900
169012010-11-07  Eric Seidel  <eric@webkit.org>
16902
16903        Unreviewed.  Attempt to fix the windows build.
16904
16905        Move the rest of the cache-related files into loader/cache
16906        https://bugs.webkit.org/show_bug.cgi?id=49156
16907
16908        * WebCore.vcproj/WebCoreCommon.vsprops:
16909        * WebCore.vcproj/copyForwardingHeaders.cmd:
16910
169112010-11-07  Eric Seidel  <eric@webkit.org>
16912
16913        Reviewed by Adam Barth.
16914
16915        Move the rest of the cache-related files into loader/cache
16916        https://bugs.webkit.org/show_bug.cgi?id=49156
16917
16918        * GNUmakefile.am:
16919        * WebCore.gypi:
16920        * WebCore.vcproj/WebCore.vcproj:
16921        * WebCore.xcodeproj/project.pbxproj:
16922        * loader/CachePolicy.h: Removed.
16923        * loader/CachedCSSStyleSheet.cpp: Removed.
16924        * loader/CachedCSSStyleSheet.h: Removed.
16925        * loader/CachedFont.cpp: Removed.
16926        * loader/CachedFont.h: Removed.
16927        * loader/CachedImage.cpp: Removed.
16928        * loader/CachedImage.h: Removed.
16929        * loader/CachedResource.cpp: Removed.
16930        * loader/CachedResource.h: Removed.
16931        * loader/CachedResourceClient.h: Removed.
16932        * loader/CachedResourceClientWalker.cpp: Removed.
16933        * loader/CachedResourceClientWalker.h: Removed.
16934        * loader/CachedResourceHandle.cpp: Removed.
16935        * loader/CachedResourceHandle.h: Removed.
16936        * loader/CachedResourceLoader.cpp: Removed.
16937        * loader/CachedResourceLoader.h: Removed.
16938        * loader/CachedScript.cpp: Removed.
16939        * loader/CachedScript.h: Removed.
16940        * loader/CachedXSLStyleSheet.cpp: Removed.
16941        * loader/CachedXSLStyleSheet.h: Removed.
16942        * loader/cache/CachePolicy.h: Copied from WebCore/loader/CachePolicy.h.
16943        * loader/cache/CachedCSSStyleSheet.cpp: Copied from WebCore/loader/CachedCSSStyleSheet.cpp.
16944        * loader/cache/CachedCSSStyleSheet.h: Copied from WebCore/loader/CachedCSSStyleSheet.h.
16945        * loader/cache/CachedFont.cpp: Copied from WebCore/loader/CachedFont.cpp.
16946        * loader/cache/CachedFont.h: Copied from WebCore/loader/CachedFont.h.
16947        * loader/cache/CachedImage.cpp: Copied from WebCore/loader/CachedImage.cpp.
16948        * loader/cache/CachedImage.h: Copied from WebCore/loader/CachedImage.h.
16949        * loader/cache/CachedResource.cpp: Copied from WebCore/loader/CachedResource.cpp.
16950        * loader/cache/CachedResource.h: Copied from WebCore/loader/CachedResource.h.
16951        * loader/cache/CachedResourceClient.h: Copied from WebCore/loader/CachedResourceClient.h.
16952        * loader/cache/CachedResourceClientWalker.cpp: Copied from WebCore/loader/CachedResourceClientWalker.cpp.
16953        * loader/cache/CachedResourceClientWalker.h: Copied from WebCore/loader/CachedResourceClientWalker.h.
16954        * loader/cache/CachedResourceHandle.cpp: Copied from WebCore/loader/CachedResourceHandle.cpp.
16955        * loader/cache/CachedResourceHandle.h: Copied from WebCore/loader/CachedResourceHandle.h.
16956        * loader/cache/CachedResourceLoader.cpp: Copied from WebCore/loader/CachedResourceLoader.cpp.
16957        * loader/cache/CachedResourceLoader.h: Copied from WebCore/loader/CachedResourceLoader.h.
16958        * loader/cache/CachedScript.cpp: Copied from WebCore/loader/CachedScript.cpp.
16959        * loader/cache/CachedScript.h: Copied from WebCore/loader/CachedScript.h.
16960        * loader/cache/CachedXSLStyleSheet.cpp: Copied from WebCore/loader/CachedXSLStyleSheet.cpp.
16961        * loader/cache/CachedXSLStyleSheet.h: Copied from WebCore/loader/CachedXSLStyleSheet.h.
16962
169632010-11-07  Adam Barth  <abarth@webkit.org>
16964
16965        Reviewed by Eric Seidel.
16966
16967        Rename X-Purpose to Purpose
16968        https://bugs.webkit.org/show_bug.cgi?id=47802
16969
16970        As requested by IETF HTTP WG.  This patch is part of a larger movement
16971        in the HTTP community to move away from X- headers.  Various senior
16972        folks at the IETF believe they're a failed experiment:
16973
16974        http://tools.ietf.org/html/draft-saintandre-xdash-considered-harmful
16975
16976        * loader/loader.cpp:
16977        (WebCore::Loader::Host::servePendingRequests):
16978
169792010-11-07  Daniel Bates  <dbates@rim.com>
16980
16981        Reviewed by Adam Barth.
16982
16983        Assert that a non-null PassRefPtr<Document> has a non-null frame in Frame::setDocument()
16984        https://bugs.webkit.org/show_bug.cgi?id=49152
16985
16986        Add an ASSERT to ensure that a non-null Document has a non-null Frame
16987        in Frame::setDocument().
16988
16989        Currently, whenever Frame::setDocument() is called with a non-null
16990        Document the Document has a non-null Frame. We should assert this
16991        invariant.
16992
16993        * page/Frame.cpp:
16994        (WebCore::Frame::setDocument):
16995
169962010-11-07  Eric Seidel  <eric@webkit.org>
16997
16998        Reviewed by Adam Barth.
16999
17000        Move Cache.* into loader/cache in as a start to cleaning up loader/
17001        https://bugs.webkit.org/show_bug.cgi?id=49153
17002
17003        * Android.mk:
17004        * CMakeLists.txt:
17005        * GNUmakefile.am:
17006        * WebCore.gypi:
17007        * WebCore.pro:
17008        * WebCore.vcproj/WebCore.vcproj:
17009        * WebCore.xcodeproj/project.pbxproj:
17010        * loader/cache/Cache.cpp: Renamed from WebCore/loader/Cache.cpp.
17011        (WebCore::cache):
17012        (WebCore::Cache::Cache):
17013        (WebCore::createResource):
17014        (WebCore::Cache::requestResource):
17015        (WebCore::Cache::requestUserCSSStyleSheet):
17016        (WebCore::Cache::revalidateResource):
17017        (WebCore::Cache::revalidationSucceeded):
17018        (WebCore::Cache::revalidationFailed):
17019        (WebCore::Cache::resourceForURL):
17020        (WebCore::Cache::deadCapacity):
17021        (WebCore::Cache::liveCapacity):
17022        (WebCore::Cache::pruneLiveResources):
17023        (WebCore::Cache::pruneDeadResources):
17024        (WebCore::Cache::setCapacities):
17025        (WebCore::Cache::makeResourcePurgeable):
17026        (WebCore::Cache::evict):
17027        (WebCore::Cache::addCachedResourceLoader):
17028        (WebCore::Cache::removeCachedResourceLoader):
17029        (WebCore::fastLog2):
17030        (WebCore::Cache::lruListFor):
17031        (WebCore::Cache::removeFromLRUList):
17032        (WebCore::Cache::insertInLRUList):
17033        (WebCore::Cache::resourceAccessed):
17034        (WebCore::Cache::removeFromLiveDecodedResourcesList):
17035        (WebCore::Cache::insertInLiveDecodedResourcesList):
17036        (WebCore::Cache::addToLiveResourcesSize):
17037        (WebCore::Cache::removeFromLiveResourcesSize):
17038        (WebCore::Cache::adjustSize):
17039        (WebCore::Cache::TypeStatistic::addResource):
17040        (WebCore::Cache::getStatistics):
17041        (WebCore::Cache::setDisabled):
17042        (WebCore::Cache::dumpStats):
17043        (WebCore::Cache::dumpLRULists):
17044        * loader/cache/Cache.h: Renamed from WebCore/loader/Cache.h.
17045        (WebCore::Cache::LRUList::LRUList):
17046        (WebCore::Cache::TypeStatistic::TypeStatistic):
17047        (WebCore::Cache::loader):
17048        (WebCore::Cache::disabled):
17049        (WebCore::Cache::setPruneEnabled):
17050        (WebCore::Cache::prune):
17051        (WebCore::Cache::setDeadDecodedDataDeletionInterval):
17052        (WebCore::Cache::deadDecodedDataDeletionInterval):
17053        (WebCore::Cache::remove):
17054        (WebCore::Cache::shouldMakeResourcePurgeableOnEviction):
17055
170562010-11-05  Helder Correia  <helder@sencha.com>
17057
17058        Reviewed by Andreas Kling.
17059
17060        [Qt] box-shadow does not blur (is solid) when using border-radius
17061        https://bugs.webkit.org/show_bug.cgi?id=46327
17062
17063        Implement blurred box-shadow when styling with border-radius.
17064        This change is related to https://bugs.webkit.org/show_bug.cgi?id=44488
17065
17066        * platform/graphics/qt/GraphicsContextQt.cpp:
17067        (WebCore::GraphicsContext::fillRoundedRect):
17068
170692010-11-07  John Reck  <jreck@google.com>
17070
17071        Reviewed by Steve Block.
17072
17073        Implements navigator.language for Android
17074        https://bugs.webkit.org/show_bug.cgi?id=49099
17075        
17076        Android was previously hardcoding the value for WebCore::platformDefaultLanguage().
17077        This patch removes the hardcoding and calls into the PlatformBridge to get the
17078        correct language based off of the user's settings.
17079
17080        No new tests needed, this is already covered
17081
17082        * Android.mk:
17083        * platform/android/LanguageAndroid.cpp: Added.
17084        (WebCore::platformDefaultLanguage):
17085        * platform/android/PlatformBridge.h:
17086        * platform/android/TemporaryLinkStubs.cpp:
17087
170882010-11-07  Robert Hogan  <robert@webkit.org>
17089
17090        Reviewed by Andreas Kling.
17091
17092        [qt] screenDepthPerComponent returns the wrong value
17093
17094        Return best estimate of the number of bits per color
17095        rather than screen depth.
17096
17097        Add a layout test to sanity check screenDepthPerComponent.
17098
17099        https://bugs.webkit.org/show_bug.cgi?id=20289
17100
17101        Test: fast/css/media-rule-screenDepthPerComponent.html
17102
17103        * platform/qt/PlatformScreenQt.cpp:
17104        (WebCore::screenDepthPerComponent):
17105
171062010-11-07  Chang Shu  <chang.shu@nokia.com>
17107
17108        Reviewed by Antonio Gomes.
17109
17110        Add a helper function to avoid duplicated code.
17111        https://bugs.webkit.org/show_bug.cgi?id=49085
17112
17113        * dom/SelectElement.cpp:
17114        * editing/SelectionController.cpp:
17115        (WebCore::SelectionController::modify):
17116        * html/HTMLInputElement.cpp:
17117        (WebCore::HTMLInputElement::isKeyboardFocusable):
17118        * page/EventHandler.cpp:
17119        (WebCore::EventHandler::defaultArrowEventHandler):
17120        * page/SpatialNavigation.cpp:
17121        (WebCore::isSpatialNavigationEnabled):
17122        * page/SpatialNavigation.h:
17123
171242010-11-06  Pavel Feldman  <pfeldman@chromium.org>
17125
17126        Reviewed by Simon Fraser.
17127
17128        Web Inspector: Some image resources don't display the image when selected in the Resources panel.
17129        https://bugs.webkit.org/show_bug.cgi?id=48935
17130
17131        Marked resources loaded from memory cache as finished.
17132
17133        * inspector/front-end/ResourceManager.js:
17134        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
17135
171362010-11-06  Pavel Feldman  <pfeldman@chromium.org>
17137
17138        Reviewed by Timothy Hatcher.
17139
17140        Web Inspector: XHR logging is not checked in context menu after browser restart.
17141        https://bugs.webkit.org/show_bug.cgi?id=49133
17142
17143        * inspector/InspectorState.cpp:
17144        (WebCore::InspectorState::InspectorState):
17145
171462010-11-06  Ryosuke Niwa  <rniwa@webkit.org>
17147
17148        Unreviewed Windows build fix.
17149
17150        * editing/EditingAllInOne.cpp: Added EditingStyle.cpp
17151
171522010-11-04  Ryosuke Niwa  <rniwa@webkit.org>
17153
17154        Reviewed by Darin Adler.
17155
17156        Bug 46335 - Add EditingStyle
17157        https://bugs.webkit.org/show_bug.cgi?id=46335
17158
17159        Added EditingStyle to WebCore/editing.  This class is intended to encapsulate getPropertiesNotIn, removeNonEditingProperties,
17160        editingStyleAtPosition, and prepareEditingStyleToApplyAt in ApplyStyleCommand.cpp once deployed everywhere.
17161        Deployed it in typing styles.
17162
17163        No new tests are added since this is a refactoring in progress.
17164
17165        * CMakeLists.txt: Added EditingStyle.cpp
17166        * GNUmakefile.am: Added EditingStyle.cpp and EditingStyle.h
17167        * WebCore.gypi: Ditto.
17168        * WebCore.pro: Ditto.
17169        * WebCore.xcodeproj/project.pbxproj: Ditto.
17170        * editing/CompositeEditCommand.cpp:
17171        (WebCore::CompositeEditCommand::moveParagraphs): Calls editingStyleIncludingTypingStyle.
17172        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses EditingStyle.
17173        * editing/DeleteSelectionCommand.cpp:
17174        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto.
17175        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
17176        * editing/DeleteSelectionCommand.h:
17177        * editing/EditingStyle.cpp: Added.
17178        (WebCore::editingStyleFromComputedStyle): Added.
17179        (WebCore::EditingStyle::EditingStyle): Added.
17180        (WebCore::EditingStyle::init): Added; a clone of ApplyStyleCommand::editingStyleAtPosition.
17181        (WebCore::EditingStyle::removeTextFillAndStrokeColorsIfNeeded): Extracted from init.
17182        (WebCore::EditingStyle::replaceFontSizeByKeywordIfPossible): Extracted from init.
17183        (WebCore::EditingStyle::isEmpty): Added.
17184        (WebCore::EditingStyle::setStyle): Added.
17185        (WebCore::EditingStyle::clear): Added.
17186        (WebCore::EditingStyle::removeBlockProperties): Added.
17187        (WebCore::EditingStyle::prepareToApplyAt): Added.
17188        (WebCore::editingStyleIncludingTypingStyle): Added.
17189        * editing/EditingStyle.h: Added.
17190        (WebCore::EditingStyle::create): Added.
17191        (WebCore::EditingStyle::style): Added.
17192        * editing/RemoveFormatCommand.cpp:
17193        (WebCore::RemoveFormatCommand::doApply): Uses EditingStyle.
17194        * editing/SelectionController.h:
17195        (WebCore::SelectionController::typingStyle): Uses EditingStyle.
17196        (WebCore::SelectionController::clearTypingStyle): Uses EditingStyle.
17197        (WebCore::SelectionController::setTypingStyle): Uses EditingStyle.
17198        * rendering/style/RenderStyle.h: Added EditingStyle as a friend.
17199
172002010-11-05  David Hyatt  <hyatt@apple.com>
17201
17202        Reviewed by Dan Bernstein and Simon Fraser.
17203
17204        https://bugs.webkit.org/show_bug.cgi?id=47237
17205        
17206        Make selection work with vertical text.  This patch fixes a bug in the computation of lineTop.  For lines
17207        with positive leading, lineTop was incorrectly including the top leading.  Since the flipping of lines
17208        for "lr" and "bt" writing modes involved flipping using lineTop and lineBottom, an incorrect lineTop meant
17209        that those modes were mis-rendering.  This is why the Japanese "lr" text examples have the first line smushed
17210        too far against the border.
17211        
17212        Fixing lineTop to no longer incorrectly include top leading has implications for editing.  I ended up
17213        rewriting positionForPoint to exactly match selection, since that seemed to be the most intuitive
17214        behavior.  I got rid of the verticalClickFudgeFactor and now just use selectionTop and selectionBottom
17215        instead of lineTop and lineBottom.  I am pretty sure the code used selectionTop in a previous incarnation
17216        anyway and that I moved away from it when I implemented lineTop and lineBottom.  The code then grew
17217        more complicated from people trying to work with lineTop and lineBottom, but going back to selectionTop
17218        and selectionBottom is the right behavior I think.  One editing test has been updated after this change
17219        (editing/selection/after-line-break.html), and one DOM test has been changed to not hit test past the
17220        bottom of a line (fast/dom/Document/CaretRangeFromPoint/basic.html).
17221        
17222        I patched selection painting of InlineTextBoxes so that the leading going up to the next line box is used
17223        for "lr" and "bt" modes instead of the previous box.  This makes sense for English text, but we may want
17224        a different policy for Japanese text eventually (possibly just splitting the difference instead).  Leaving it
17225        this way for now, and we can collect feedback on the design.
17226        
17227        I rewrote all of the selection gap painting code to be writing-mode aware.  During the course of rewriting this
17228        code I noticed a bug in the logicalLeftSelectionOffset and logicalRightSelectionOffset functions where there
17229        was a coordinate space mismatch on a comparison.  Fixing this improves the repaint/selection-clear.html test.
17230
17231        Added new tests in fast/blockflow/.
17232
17233        * rendering/InlineFlowBox.cpp:
17234        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
17235        * rendering/InlineFlowBox.h:
17236        * rendering/InlineTextBox.cpp:
17237        (WebCore::InlineTextBox::selectionBottom):
17238        (WebCore::InlineTextBox::paintSelection):
17239        (WebCore::InlineTextBox::paintCompositionBackground):
17240        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
17241        (WebCore::InlineTextBox::paintTextMatchMarker):
17242        * rendering/InlineTextBox.h:
17243        * rendering/RenderBlock.cpp:
17244        (WebCore::RenderBlock::selectionGapRectsForRepaint):
17245        (WebCore::RenderBlock::paintSelection):
17246        (WebCore::clipOutPositionedObjects):
17247        (WebCore::blockDirectionOffset):
17248        (WebCore::inlineDirectionOffset):
17249        (WebCore::RenderBlock::logicalRectToPhysicalRect):
17250        (WebCore::RenderBlock::selectionGaps):
17251        (WebCore::RenderBlock::inlineSelectionGaps):
17252        (WebCore::RenderBlock::blockSelectionGaps):
17253        (WebCore::RenderBlock::blockSelectionGap):
17254        (WebCore::RenderBlock::logicalLeftSelectionGap):
17255        (WebCore::RenderBlock::logicalRightSelectionGap):
17256        (WebCore::RenderBlock::logicalLeftSelectionOffset):
17257        (WebCore::RenderBlock::logicalRightSelectionOffset):
17258        * rendering/RenderBlock.h:
17259        * rendering/RenderBox.cpp:
17260        (WebCore::RenderBox::flipForWritingMode):
17261        * rendering/RenderBox.h:
17262        (WebCore::RenderBox::logicalBottom):
17263        * rendering/RootInlineBox.cpp:
17264        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
17265        (WebCore::RootInlineBox::lineSelectionGap):
17266        (WebCore::RootInlineBox::selectionTop):
17267        (WebCore::RootInlineBox::selectionBottom):
17268        * rendering/RootInlineBox.h:
17269
172702010-11-05  Simon Fraser  <simon.fraser@apple.com>
17271
17272        Just put things back the way they were. Too many mysterious linker errors.
17273
172742010-11-05  Simon Fraser  <simon.fraser@apple.com>
17275
17276        Undo most of the previous commit since the compiler seems to have trouble
17277        with an inlined operator++ in debug builds.
17278
17279        * platform/DeprecatedPtrListImpl.cpp:
17280        (WebCore::DeprecatedPtrListImplIterator::operator++):
17281        * platform/DeprecatedPtrListImpl.h:
17282
172832010-11-05  Simon Fraser  <simon.fraser@apple.com>
17284
17285        Reviewed by Dave Hyatt.
17286
17287        Inline some DeprecatedPtrListImplIterator methods for performance
17288        https://bugs.webkit.org/show_bug.cgi?id=49124
17289
17290        This is a ~4% performance improvement on some Peacekeepr "Community" tests.
17291
17292        * platform/DeprecatedPtrListImpl.cpp:
17293        * platform/DeprecatedPtrListImpl.h:
17294        (WebCore::DeprecatedListNode::DeprecatedListNode):
17295        (WebCore::DeprecatedPtrListImplIterator::current):
17296        (WebCore::DeprecatedPtrListImplIterator::operator++):
17297
172982010-11-05  Adam Barth  <abarth@webkit.org>
17299
17300        Reviewed by Eric Seidel.
17301
17302        Gray-scale PNGs with color profiles don't decode properly on Chromium Mac
17303        https://bugs.webkit.org/show_bug.cgi?id=49110
17304
17305        Applying the color profile from this PNG was causing the image to
17306        triple in width.  This seems to be because both the PNG decoder and
17307        CoreGraphics were trying to expand the gray-scale image to RGB.  To fix
17308        this issue, I've disabled color profile support for gray-scale PNGs.
17309
17310        Test: fast/images/gray-scale-png-with-color-profile.html
17311
17312        * platform/image-decoders/png/PNGImageDecoder.cpp:
17313        (WebCore::PNGImageDecoder::headerAvailable):
17314
173152010-11-05  Jian Li  <jianli@chromium.org>
17316
17317        Reviewed by Dmitry Titov.
17318
17319        Need to check if page is detached in Frame::transferChildFrameToNewDocument to avoid occasional crash
17320        https://bugs.webkit.org/show_bug.cgi?id=49116
17321
17322        The fix is to add the check.
17323
17324        * page/Frame.cpp:
17325        (WebCore::Frame::transferChildFrameToNewDocument):
17326
173272010-11-04  Enrica Casucci  <enrica@apple.com>
17328
17329        Reviewed by Adele Peterson.
17330
17331        Pasting large amounts of plain text in a text area is very slow
17332        https://bugs.webkit.org/show_bug.cgi?id=49040
17333        <rdar://problem/7640912>
17334        
17335        The optimization consists in skipping the ApplyStyle command when
17336        pasting into a text area or into an element that has -webkit-user-modify: read-write-plaintext-only.
17337        The biggest performance hit comes from iterating through
17338        a large number of paragraph when no style change is needed.
17339        A further step will be to improve the paragraph iteration when it
17340        can't be avoided.
17341        
17342        * editing/ReplaceSelectionCommand.cpp:
17343        (WebCore::ReplaceSelectionCommand::doApply): Check if the selection
17344        is in a text form control or in an element that has -webkit-user-modify: read-write-plaintext-only
17345        and force no style matching.
17346
173472010-11-05  Ryosuke Niwa  <rniwa@webkit.org>
17348
17349        Reviewed by David Levin.
17350
17351        JSCallbackData::invokeCallback triggers layout from a worker thread
17352        https://bugs.webkit.org/show_bug.cgi?id=49096
17353
17354        Fixed the bug by only calling updateStyleForAllDocuments when the context is document in
17355        JSCallbackData::invokeCallback.
17356
17357        No new tests are added since many of existing workers tests hit the added assertion in debug builds.
17358
17359        * bindings/js/JSCallbackData.cpp:
17360        (WebCore::JSCallbackData::invokeCallback): No longer calls updateStyleForAllDocuments unconditionally.
17361        * dom/Document.cpp:
17362        (WebCore::Document::updateStyleIfNeeded): Added ASSERT(isMainThread()).
17363        (WebCore::Document::updateStyleForAllDocuments): Ditto.
17364        (WebCore::Document::updateLayout): Ditto.
17365
173662010-11-05  Ilya Sherman  <isherman@chromium.org>
17367
17368        Reviewed by Simon Fraser.
17369
17370        Querying selection start and end should be const
17371        https://bugs.webkit.org/show_bug.cgi?id=48786
17372
17373        * rendering/RenderTextControl.cpp:
17374        (WebCore::RenderTextControl::selectionStart):
17375        (WebCore::RenderTextControl::selectionEnd):
17376        (WebCore::RenderTextControl::visiblePositionForIndex):
17377        (WebCore::RenderTextControl::indexForVisiblePosition):
17378        * rendering/RenderTextControl.h:
17379
173802010-11-05  Chris Marrin  <cmarrin@apple.com>
17381
17382        Reviewed by Simon Fraser.
17383
17384        Move resumeAnimations/suspendAnimations from Frame to AnimationController.
17385        https://bugs.webkit.org/show_bug.cgi?id=49073
17386
17387        Changed the name of suspendAnimations/resumeAnimations to
17388        suspendAnimationsInDocument/resumeAnimationsInDocument. These are no
17389        longer exported, but have the same functionality as before. I then
17390        added new suspendAnimations/resumeAnimations function which take
17391        no params and suspend/resume on the frame owning the animation
17392        controller and all its child frames. These are the functions that
17393        are now exported. I then changed all the platform specific WebKit
17394        code to use these functions.
17395
17396        * WebCore.exp.in:
17397        * page/Frame.cpp:
17398        * page/Frame.h:
17399        * page/animation/AnimationController.cpp:
17400        (WebCore::AnimationControllerPrivate::suspendAnimations):
17401        (WebCore::AnimationControllerPrivate::resumeAnimations):
17402
174032010-11-04  Zhenyao Mo  <zmo@google.com>
17404
17405        Reviewed by Kenneth Russell.
17406
17407        Need to simulate DEPTH_STENCIL in framebufferRenderbuffer / getFramebufferAttachmentParameter
17408        https://bugs.webkit.org/show_bug.cgi?id=49020
17409
17410        * html/canvas/WebGLFramebuffer.cpp:
17411        (WebCore::WebGLFramebuffer::getAttachment): Return the attached renderbuffer/texture.
17412        (WebCore::WebGLFramebuffer::isIncomplete): Add an extra parameter deciding whether we should check internal format matching the attachment point or not.
17413        (WebCore::WebGLFramebuffer::onAccess): Pass extra parameter in isIncomplete.
17414        * html/canvas/WebGLFramebuffer.h:
17415        * html/canvas/WebGLRenderingContext.cpp:
17416        (WebCore::WebGLRenderingContext::checkFramebufferStatus): Pass extra parameter in isIncomplete.
17417        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Emulate DEPTH_STENCIL_ATTACHMENT; re-attach previously conflicted buffers upon detachment.
17418        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Throw an error when conflicted attachments exist.
17419        (WebCore::WebGLRenderingContext::renderbufferStorage): Map DEPTH_STENCIL to DEPTH24_STENCIL8.
17420        * platform/graphics/Extensions3D.h: Add DEPTH24_STENCIL8 enum and update the documentation.
17421        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
17422        (WebCore::GraphicsContext3D::framebufferRenderbuffer): Remove emulation code at this level.
17423
174242010-11-05  Chris Guillory  <chris.guillory@google.com>
17425
17426        Reviewed by Chris Fleizach.
17427
17428        Keep a reference to the scrollbar in accessibility scrollbar.
17429        https://bugs.webkit.org/show_bug.cgi?id=48896
17430
17431        * accessibility/AccessibilityScrollbar.h:
17432        (WebCore::AccessibilityScrollbar::scrollbar):
17433
174342010-11-05  Chang Shu  <chang.shu@nokia.com>
17435
17436        Reviewed by Antonio Gomes.
17437
17438        Add support for <select> element in single selection mode. We use space to
17439        trigger arrow key handling for selection change or spatial navigation.
17440        https://bugs.webkit.org/show_bug.cgi?id=48937
17441
17442        * dom/SelectElement.cpp:
17443        (WebCore::isSpatialNavigationEnabled):
17444        (WebCore::SelectElement::menuListDefaultEventHandler):
17445        (WebCore::SelectElement::listBoxDefaultEventHandler):
17446
174472010-11-05  Charlie Reis  <creis@chromium.org>
17448
17449        Reviewed by Darin Fisher.
17450
17451        Need to expose HistoryController::previousItem() for Chromium WebKit API.
17452        https://bugs.webkit.org/show_bug.cgi?id=48809
17453
17454        * loader/HistoryController.h:
17455
174562010-11-05  Ryosuke Niwa  <rniwa@webkit.org>
17457
17458        Reviewed by Darin Adler.
17459
17460        Crash in ApplyStyleCommand::surroundNodeRangeWithElement
17461        https://bugs.webkit.org/show_bug.cgi?id=48581
17462
17463        The crash was caused by a false assertion that we can always recover selection in
17464        ApplyStyleCommand::removeInlineStyle.  Fixed the crash by removing the assertion
17465        and adding an early exit to the call site.  Also converted raw pointers to RefPtr
17466        in surroundNodeRangeWithElement and addInlineStyleIfNeeded.
17467
17468        Test (non-Mac platforms): editing/style/iframe-onload-crash.html
17469
17470        * editing/ApplyStyleCommand.cpp:
17471        (WebCore::ApplyStyleCommand::applyInlineStyle):
17472        (WebCore::ApplyStyleCommand::removeInlineStyle):
17473        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
17474        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
17475        * editing/ApplyStyleCommand.h:
17476
174772010-11-04  Alexey Proskuryakov  <ap@apple.com>
17478
17479        Reviewed by Darin Adler.
17480
17481        https://bugs.webkit.org/show_bug.cgi?id=49008
17482        <rdar://problem/7906226> Frequent crashes on mail.yahoo.co.jp
17483
17484        Instance::m_runtimeObject used to be zeroed out by RuntimeObject destructor. But the
17485        destructor may not be called immediately - GC first marks an object as dead, and only 
17486        destroys it when its cell is overwritten. So, m_runtimeObject would keep pointing to a dead
17487        object.
17488
17489        Functions in JSPluginElementFunctions.cpp put the RuntimeObject on stack for later use,
17490        but if it's already dead, it can be overwritten before use.
17491
17492        The solution is of course to use WeakGCPtr, which returns 0 for dead objects.
17493
17494        * bridge/jsc/BridgeJSC.cpp:
17495        (JSC::Bindings::Instance::Instance):
17496        (JSC::Bindings::Instance::~Instance):
17497        (JSC::Bindings::Instance::createRuntimeObject):
17498        (JSC::Bindings::Instance::willDestroyRuntimeObject):
17499        (JSC::Bindings::Instance::willInvalidateRuntimeObject):
17500        * bridge/jsc/BridgeJSC.h:
17501        * bridge/runtime_object.cpp:
17502        (JSC::Bindings::RuntimeObject::~RuntimeObject):
17503        (JSC::Bindings::RuntimeObject::invalidate):
17504
175052010-11-05  Chris Marrin  <cmarrin@apple.com>
17506
17507        Reviewed by Simon Fraser.
17508
17509        Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state
17510        https://bugs.webkit.org/show_bug.cgi?id=46945
17511
17512        Add new funtions to suspend and resume animations. The go through all subframes and suspend or resume them
17513        recursively.
17514
17515        Test: animations/stop-animation-on-suspend.html
17516
17517        * WebCore.exp.in:
17518        * page/Frame.cpp:
17519        (WebCore::Frame::suspendAnimations):
17520        (WebCore::Frame::resumeAnimations):
17521        * page/Frame.h:
17522
175232010-11-05  Pavel Feldman  <pfeldman@chromium.org>
17524
17525        Reviewed by Timothy Hatcher.
17526
17527        Web Inspector: Crash in InspectorDOMAgent::innerParentNode.
17528        https://bugs.webkit.org/show_bug.cgi?id=49054
17529
17530        * inspector/InspectorDOMAgent.cpp:
17531        (WebCore::InspectorDOMAgent::setOuterHTML):
17532
175332010-11-05  Pavel Feldman  <pfeldman@chromium.org>
17534
17535        Reviewed by Timothy Hatcher.
17536
17537        Web Inspector: XHR logging in console should give complete view of resource.
17538        https://bugs.webkit.org/show_bug.cgi?id=48998
17539
17540        Drive-by fixes: linkify line number to scripts panel, fall back to resources;
17541        enable multiline console entry on shift modifier as well.
17542        
17543        * inspector/front-end/NetworkPanel.js:
17544        (WebInspector.NetworkPanel):
17545        (WebInspector.NetworkPanel.prototype._reset):
17546        (WebInspector.NetworkPanel.prototype.refreshResource):
17547        (WebInspector.NetworkPanel.prototype.canShowSourceLine):
17548        (WebInspector.NetworkPanel.prototype.showSourceLine):
17549        * inspector/front-end/StoragePanel.js:
17550        (WebInspector.StoragePanel.prototype.show):
17551        (WebInspector.StoragePanel.prototype.showSourceLine):
17552        * inspector/front-end/inspector.js:
17553        (WebInspector.showPanel):
17554        (WebInspector.linkifyStringAsFragment):
17555
175562010-10-27  Jeremy Orlow  <jorlow@chromium.org>
17557
17558        Reviewed by Steve Block.
17559
17560        Clean up IDBTransactionBackend/Coordinator
17561        https://bugs.webkit.org/show_bug.cgi?id=48425
17562
17563        Get rid of obsolete id and thus we don't need the factory method
17564        on IDBTransactionCoordinator that creates IDBTransactionBackends.
17565
17566        Add an assert to IDBTransactionBackend to make sure we're not in
17567        the coordinator and then remove the coordinators ref counting link
17568        to the transaction.
17569
17570        Have the transaction backend zero out refs to the database when its
17571        done using it.
17572
17573        Existing tests provide coverage for this refactoring.
17574
17575        * storage/IDBDatabaseBackendImpl.cpp:
17576        (WebCore::IDBDatabaseBackendImpl::setVersion):
17577        (WebCore::IDBDatabaseBackendImpl::transaction):
17578        * storage/IDBTransactionBackendImpl.cpp:
17579        (WebCore::IDBTransactionBackendImpl::create):
17580        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
17581        (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
17582        (WebCore::IDBTransactionBackendImpl::abort):
17583        (WebCore::IDBTransactionBackendImpl::commit):
17584        * storage/IDBTransactionBackendImpl.h:
17585        * storage/IDBTransactionBackendInterface.h:
17586        * storage/IDBTransactionCoordinator.cpp:
17587        (WebCore::IDBTransactionCoordinator::didStartTransaction):
17588        (WebCore::IDBTransactionCoordinator::didFinishTransaction):
17589        (WebCore::IDBTransactionCoordinator::isActive):
17590        (WebCore::IDBTransactionCoordinator::processStartedTransactions):
17591        * storage/IDBTransactionCoordinator.h:
17592
175932010-10-27  Jeremy Orlow  <jorlow@chromium.org>
17594
17595        Reviewed by Steve Block.
17596
17597        IDBFactoryBackend's reference to IDBDatabaseBackend should be weak
17598        https://bugs.webkit.org/show_bug.cgi?id=48416
17599
17600        The factory's lifetime is that of the application, so without making
17601        this weak, IDBDatabaseBackend's will never be closed until the app
17602        terminates.
17603
17604        * storage/IDBDatabaseBackendImpl.cpp:
17605        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
17606        (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
17607        * storage/IDBDatabaseBackendImpl.h:
17608        (WebCore::IDBDatabaseBackendImpl::create):
17609        * storage/IDBFactoryBackendImpl.cpp:
17610        (WebCore::IDBFactoryBackendImpl::removeIDBDatabaseBackend):
17611        (WebCore::IDBFactoryBackendImpl::removeSQLiteDatabase):
17612        (WebCore::IDBFactoryBackendImpl::open):
17613        * storage/IDBFactoryBackendImpl.h:
17614
176152010-10-27  Jeremy Orlow  <jorlow@chromium.org>
17616
17617        Reviewed by Steve Block.
17618
17619        IDBObjectStoreBackend and IDBIndexBackend should not depend on IDBDatabaseBackend
17620        https://bugs.webkit.org/show_bug.cgi?id=48410
17621
17622        Break dependency cyles between IDBDatabaseBackend and the other classes listed.
17623        This was causing memory leaks.
17624
17625        * storage/IDBCursorBackendImpl.cpp:
17626        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
17627        (WebCore::IDBCursorBackendImpl::updateInternal):
17628        (WebCore::IDBCursorBackendImpl::removeInternal):
17629        (WebCore::IDBCursorBackendImpl::database):
17630        * storage/IDBCursorBackendImpl.h:
17631        (WebCore::IDBCursorBackendImpl::create):
17632        * storage/IDBDatabaseBackendImpl.cpp:
17633        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
17634        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
17635        * storage/IDBIndexBackendImpl.cpp:
17636        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
17637        (WebCore::IDBIndexBackendImpl::openCursorInternal):
17638        (WebCore::IDBIndexBackendImpl::sqliteDatabase):
17639        * storage/IDBIndexBackendImpl.h:
17640        (WebCore::IDBIndexBackendImpl::create):
17641        (WebCore::IDBIndexBackendImpl::storeName):
17642        * storage/IDBObjectStoreBackendImpl.cpp:
17643        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
17644        (WebCore::IDBObjectStoreBackendImpl::createIndex):
17645        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
17646        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
17647        (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
17648        * storage/IDBObjectStoreBackendImpl.h:
17649        (WebCore::IDBObjectStoreBackendImpl::create):
17650
176512010-11-05  Pavel Feldman  <pfeldman@chromium.org>
17652
17653        Reviewed by Timothy Hatcher.
17654
17655        Web Inspector: inspector lags on large resources with numerous <script> tags.
17656        https://bugs.webkit.org/show_bug.cgi?id=49060
17657
17658        * inspector/front-end/ScriptsPanel.js:
17659        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
17660
176612010-11-05  Patrick Gansterer  <paroga@webkit.org>
17662
17663        Reviewed by David Kilzer.
17664
17665        Replace ARRAYSIZE with WTF_ARRAY_LENGTH
17666        https://bugs.webkit.org/show_bug.cgi?id=48903
17667
17668        * platform/UUID.cpp:
17669        (WebCore::createCanonicalUUIDString):
17670        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
17671        (WebCore::FontCache::getFontDataForCharacters):
17672        * platform/graphics/win/FontCacheWin.cpp:
17673        (WebCore::FontCache::getLastResortFallbackFont):
17674        * platform/graphics/win/IconWin.cpp:
17675        (WebCore::Icon::createIconForFiles):
17676        * platform/win/ClipboardUtilitiesWin.cpp:
17677        (WebCore::getWebLocData):
17678        * platform/win/ClipboardWin.cpp:
17679        (WebCore::createGlobalHDropContent):
17680        (WebCore::createGlobalImageFileDescriptor):
17681        (WebCore::ClipboardWin::files):
17682        (WebCore::ClipboardWin::writeURL):
17683        * platform/win/DragDataWin.cpp:
17684        (WebCore::DragData::asFilenames):
17685        * platform/win/FileSystemWin.cpp:
17686        (WebCore::safeCreateFile):
17687
176882010-11-05  Roland Steiner  <rolandsteiner@chromium.org>
17689
17690        Reviewed by Dirk Schulze.
17691
17692        Bug 48979 - [Chromium] SVGListPropertyTearOff.h: function commitChange ASSERTs on Win & Mac
17693        https://bugs.webkit.org/show_bug.cgi?id=48979
17694
17695        Function removeItemValuesAndWrappers(): Move code out of 'if' statement so that
17696        'wrappers' and 'values' stay synced.
17697
17698        test: svg/dom/baseVal-animVal-crash.html doesn't ASSERT
17699
17700        * svg/properties/SVGListProperty.h:
17701        (WebCore::SVGListProperty::removeItemValuesAndWrappers):
17702
177032010-11-05  John Reck  <jreck@google.com>
17704
17705        Reviewed by Nikolas Zimmermann.
17706
17707        The change to SVGPropertyTearOff by CodeGeneratorV8.pm caused two build failures
17708        for Android. One was a missing SVGPropertyTearOff.h include, the other was a 
17709        missing forward declaration of FloatRect. Seems to be the result of:
17710        https://bugs.webkit.org/show_bug.cgi?id=48204
17711
17712        Bug: https://bugs.webkit.org/show_bug.cgi?id=49025
17713
17714        No tests needed, fixes build issue.
17715
17716        * bindings/scripts/CodeGeneratorV8.pm:
17717
177182010-11-05  Rob Buis  <rwlbuis@gmail.com>
17719
17720        Reviewed by David Hyatt.
17721
17722        CSSRule#parentRule always null
17723        https://bugs.webkit.org/show_bug.cgi?id=46228
17724
17725        Ensure MediaList child rules have the MediaList set as parent
17726        in order to correct their parentRule correctness.
17727
17728        Test: fast/dom/css-mediarule-parentRule.html
17729
17730        * css/CSSMediaRule.cpp:
17731        (WebCore::CSSMediaRule::CSSMediaRule):
17732
177332010-11-04  Xan Lopez  <xlopez@igalia.com>
17734
17735        Fix the GTK+ build.
17736
17737        * GNUmakefile.am:
17738
177392010-10-20  Chang Shu  <chang.shu@nokia.com>, Antonio Gomes <tonikitoo@webkit.org>
17740
17741        Reviewed by Simon Fraser.
17742
17743        [Qt] Makes <input type=text> and <textarea> functional with
17744        Spatial Navigation enabled. Before this patch, the focus cannot
17745        move away from input box once it is in. This patch allows focus
17746        move to neighbor nodes when the caret reaches the edge of the texts.
17747        This patch does not support yet cases where the focused <input>
17748        has a JS handler for the arrow keys.
17749        https://bugs.webkit.org/show_bug.cgi?id=37153
17750
17751        Tests: fast/events/spatial-navigation/snav-input.html
17752               fast/events/spatial-navigation/snav-textarea.html
17753
17754        * editing/EditorCommand.cpp:
17755        (WebCore::executeMoveDown):
17756        (WebCore::executeMoveLeft):
17757        (WebCore::executeMoveRight):
17758        (WebCore::executeMoveUp):
17759        * editing/SelectionController.cpp:
17760        (WebCore::SelectionController::modify):
17761
177622010-11-04  Dan Bernstein  <mitz@apple.com>
17763
17764        Build fix.
17765
17766        * editing/Editor.cpp:
17767        (WebCore::Editor::dismissCorrectionPanel):
17768
177692010-11-04  Jia Pu  <jpu@apple.com>
17770
17771        Reviewed by Dan Bernstein.
17772
17773        reversion bubble in WebViews
17774        https://bugs.webkit.org/show_bug.cgi?id=47630
17775        <rdar://problem/8530960>
17776
17777        Added manual test:
17778        manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html
17779        manual-tests/autocorrection/delete-to-dismiss-reversion.html
17780        manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html
17781        manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html
17782        manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html
17783
17784        We can only manully test this feature for two reasons:
17785        1. On Mac OS X, the result of spell checking is partly determined by past user usage. We can't
17786           realiably generating test cases until we can disable user custom data during spell checking.
17787        2. To exerciese this feature, we need a minimum of 0.3 second delay using WebCore timer.
17788
17789        This patch is to add reversion to correction panel. It consists of following major code changes:
17790        1. Collected all autocorrection related member variables in Editor into a CorrectionPanelInfo
17791           class to improve readability.
17792        2. Changed signature of Editor::startCorrectionPanelTimer() to allow caller to specify the
17793           type of correction panel--regular correction or reversion.
17794        3. Made necessary changes to adopt reversion API in AppKit.
17795        4. Use SUPPORT_CORRECTION_PANEL macro to improve readability.
17796
17797        * GNUmakefile.am: Added CorrectionPanelInfo.h.
17798        * WebCore.gypi: Ditto.
17799        * WebCore.pro: Ditto.
17800        * WebCore.vcproj/WebCore.vcproj: Ditto.
17801        * WebCore.xcodeproj/project.pbxproj:
17802        * editing/CorrectionPanelInfo.h: Added.
17803        * editing/Editor.cpp:
17804        (WebCore::Editor::respondToChangedSelection): Start correction panel timer for reversion when
17805          the new selection is a caret selection at end of a previously corrected word.
17806        (WebCore::Editor::appliedEditing): Stop timer at the beginning of the method instead of at the end.
17807        (WebCore::Editor::~Editor): Adopted new method dismissCorrectionPanel().
17808        (WebCore::Editor::markMisspellingsAfterTypingToPosition): Adopted new method applyCorrectionPanelInfo().
17809        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Code change for new m_correctionPanelInfo
17810          member variable.
17811        (WebCore::Editor::correctionPanelTimerFired): Change to handle reversion panel type.
17812        (WebCore::Editor::handleRejectedCorrection): Ditto.
17813        (WebCore::Editor::startCorrectionPanelTimer): Changed signature to allow passing in panel type.
17814        (WebCore::Editor::stopCorrectionPanelTimer): Adopted macro SUPPORT_CORRECTION_PANEL.
17815        (WebCore::Editor::handleCancelOperation): Ditto.
17816        (WebCore::Editor::isShowingCorrectionPanel): Ditto.
17817        (WebCore::Editor::dismissCorrectionPanel): Update m_correctionPanelInfo when correction panel
17818          is dismissed.
17819        (WebCore::Editor::applyCorrectionPanelInfo): Factored out code that applies autocorrection.
17820        (WebCore::Editor::changeSelectionAfterCommand): Adopt macro SUPPORT_CORRECTION_PANEL.
17821        * editing/Editor.h: Adopted CorrectionPanelInfo and add new member methods.
17822        * editing/EditorCommand.cpp: Adopted macro SUPPORT_CORRECTION_PANEL
17823        (WebCore::createCommandMap):
17824        * editing/TypingCommand.cpp: Adopted macro SUPPORT_CORRECTION_PANEL and new signature of
17825          startCorrectionPanelTimer().
17826        (WebCore::TypingCommand::markMisspellingsAfterTyping):
17827        * loader/EmptyClients.h:
17828        (WebCore::EmptyEditorClient::showCorrectionPanel): Adopted new signature of base class method.
17829        (WebCore::EmptyEditorClient::dismissCorrectionPanel):  Ditto.
17830        * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Added.
17831        * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Added.
17832        * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Added.
17833        * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Added.
17834        * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Added.
17835        * page/EditorClient.h: Changed signature of showCorrectionPanel() and dismissCorrectionPanel().
17836        * platform/graphics/mac/GraphicsContextMac.mm: Added comment to improve readability.
17837        (WebCore::GraphicsContext::drawLineForTextChecking):
17838
178392010-11-04  Dan Bernstein  <mitz@apple.com>
17840
17841        Reviewed by Dave Hyatt.
17842
17843        Made table layout and painting work with all writing modes. Hit-testing, repainting, tables
17844        where some elements have their own layers, and cells whose writing mode differs from the
17845        table’s are not supported yet.
17846
17847        Part of: Make tables work with vertical text
17848        https://bugs.webkit.org/show_bug.cgi?id=46417
17849
17850        Tests: fast/table/027-vertical.html
17851               fast/table/028-vertical.html
17852               fast/table/035-vertical.html
17853               fast/table/038-vertical.html
17854               fast/table/040-vertical.html
17855               fast/table/auto-with-percent-height-vertical.html
17856               fast/table/border-collapsing/001-vertical.html
17857               fast/table/border-collapsing/002-vertical.html
17858               fast/table/border-collapsing/003-vertical.html
17859               fast/table/border-collapsing/004-vertical.html
17860               fast/table/border-collapsing/border-collapsing-head-foot-vertical.html
17861               fast/table/border-collapsing/equal-precedence-resolution-vertical.html
17862               fast/table/border-collapsing/rtl-border-collapsing-vertical.html
17863               fast/table/colspanMinWidth-vertical.html
17864               fast/table/fixed-with-auto-with-colspan-vertical.html
17865               fast/table/growCellForImageQuirk-vertical.html
17866               fast/table/height-percent-test-vertical.html
17867               fast/table/percent-widths-stretch-vertical.html
17868               fast/table/rowspan-paint-order-vertical.html
17869               fast/table/table-display-types-vertical.html
17870
17871        * css/CSSStyleSelector.cpp:
17872        (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to allow all writing modes for tables,
17873        make row groups, rows, column groups and columns inherit the table’s writing mode. For now,
17874        make cells do this too.
17875        * html/HTMLTableElement.cpp:
17876        (WebCore::HTMLTableElement::parseMappedAttribute): Map align=center using logical properties.
17877        * rendering/RenderTable.cpp:
17878        (WebCore::RenderTable::RenderTable): Initialize m_borderStart and m_borderEnd.
17879        (WebCore::RenderTable::styleDidChange): Changed the rule for when to use auto layout to look
17880        at the logical width instead of the width.
17881        (WebCore::RenderTable::computeLogicalWidth): Uses logical widths and works with perpendicular
17882        containing blocks.
17883        (WebCore::RenderTable::layout): Use logical lengths.
17884        (WebCore::RenderTable::setCellLogicalWidths): Renamed setCellWidths() to this and updated for
17885        the renaming of RenderTableSection::setCellWidths().
17886        (WebCore::RenderTable::paintObject): Account for flipped modes.
17887        (WebCore::RenderTable::subtractCaptionRect): Added this helper method the considers writing modes.
17888        (WebCore::RenderTable::paintBoxDecorations): Adopted subtractCaptionRect().
17889        (WebCore::RenderTable::paintMask): Ditto.
17890        (WebCore::RenderTable::computePreferredLogicalWidths): Updated for the renaming of
17891        recalcHorizontalBorders().
17892        (WebCore::RenderTable::calcBorderStart): Renamed calcBorderLeft() to this and changed it to use
17893        borderStart(). Splits odd number of pixels based on the physical side.
17894        (WebCore::RenderTable::calcBorderEnd): Similar.
17895        (WebCore::RenderTable::recalcBordersInRowDirection): Renamed recalcHorizontalBorders() to this
17896        and updated for other renames.
17897        (WebCore::RenderTable::borderBefore): Replaced borderTop() with this.
17898        (WebCore::RenderTable::borderAfter): Similar.
17899        (WebCore::RenderTable::outerBorderBefore): Similar.
17900        (WebCore::RenderTable::outerBorderAfter): Similar.
17901        (WebCore::RenderTable::outerBorderStart): Similar.
17902        (WebCore::RenderTable::outerBorderEnd): Similar.
17903        (WebCore::RenderTable::firstLineBoxBaseline): Changed to use logical heights.
17904        (WebCore::RenderTable::overflowClipRect): Account for writing modes.
17905        * rendering/RenderTable.h:
17906        (WebCore::RenderTable::borderStart):
17907        (WebCore::RenderTable::borderEnd):
17908        (WebCore::RenderTable::borderLeft):
17909        (WebCore::RenderTable::borderRight):
17910        (WebCore::RenderTable::borderTop):
17911        (WebCore::RenderTable::borderBottom):
17912        (WebCore::RenderTable::outerBorderLeft):
17913        (WebCore::RenderTable::outerBorderRight):
17914        (WebCore::RenderTable::outerBorderTop):
17915        (WebCore::RenderTable::outerBorderBottom):
17916        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Changed to match its name.
17917        * rendering/RenderTableRow.cpp:
17918        (WebCore::RenderTableRow::styleWillChange): Changed to detect changes to logical height.
17919        * rendering/RenderTableSection.cpp:
17920        (WebCore::setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative): Renamed and changed to use
17921        logical heights.
17922        (WebCore::RenderTableSection::RenderTableSection): Updated initializers for new member variables.
17923        (WebCore::RenderTableSection::addChild): Updated for rename.
17924        (WebCore::RenderTableSection::ensureRows): Ditto.
17925        (WebCore::RenderTableSection::addCell): Ditto. Also use logical heights.
17926        (WebCore::RenderTableSection::setCellLogicalWidths): Renamed setCellWidths() to this, changed
17927        to use logical widths.
17928        (WebCore::RenderTableSection::calcRowLogicalHeight): Added “logical” to the name. Updated with
17929        logical heights.
17930        (WebCore::RenderTableSection::layoutRows):
17931        (WebCore::RenderTableSection::calcOuterBorderBefore):
17932        (WebCore::RenderTableSection::calcOuterBorderAfter):
17933        (WebCore::RenderTableSection::calcOuterBorderStart):
17934        (WebCore::RenderTableSection::calcOuterBorderEnd):
17935        (WebCore::RenderTableSection::recalcOuterBorder):
17936        (WebCore::RenderTableSection::firstLineBoxBaseline):
17937        (WebCore::RenderTableSection::paintCell):
17938        (WebCore::RenderTableSection::recalcCells):
17939        * rendering/RenderTableSection.h:
17940        (WebCore::RenderTableSection::outerBorderBefore):
17941        (WebCore::RenderTableSection::outerBorderAfter):
17942        (WebCore::RenderTableSection::outerBorderStart):
17943        (WebCore::RenderTableSection::outerBorderEnd):
17944
179452010-11-04  Kent Tamura  <tkent@chromium.org>
17946
17947        Unreviewed, trivial test fix.
17948
17949        Fix GTK build for http://trac.webkit.org/changeset/71373 .
17950
17951        * GNUmakefile.am: Add HTMLOutputElement.{cpp,h}
17952
179532010-11-04  MORITA Hajime  <morrita@google.com>
17954
17955        Reviewed by Kent Tamura.
17956
17957        Stale reference to RenderObject held as FrameView layoutRoot
17958        https://bugs.webkit.org/show_bug.cgi?id=48019
17959        
17960        <progress> and <meter> shouldn't have children of its RenderObject,
17961        which caused unexpected result.
17962        This change suppresses child creation to prevent it.
17963
17964        Tests: fast/dom/HTMLMeterElement/meter-element-with-child-crash.html
17965               fast/dom/HTMLProgressElement/progress-element-with-child-crash.html
17966
17967        * rendering/RenderIndicator.h:
17968        (WebCore::RenderIndicator::canHaveChildren):
17969
179702010-11-04  Kenichi Ishibashi  <bashi@google.com>
17971
17972        Reviewed by Kent Tamura.
17973
17974        [HTML5][Forms] Support for <output> element
17975        https://bugs.webkit.org/show_bug.cgi?id=29363
17976
17977        Support for <output> element.
17978
17979        Tests: fast/dom/HTMLOutputElement/dom-settable-token-list.html
17980               fast/dom/HTMLOutputElement/htmloutputelement-reset-event.html
17981               fast/dom/HTMLOutputElement/htmloutputelement-validity.html
17982               fast/dom/HTMLOutputElement/htmloutputelement-value.html
17983               fast/dom/HTMLOutputElement/htmloutputelement.html
17984
17985        * Android.derived.jscbindings.mk: Added JSHTMLOutputElement.h.
17986        * Android.derived.v8bindings.mk: Added V8HTMLOutputElement.h.
17987        * Android.jscbindings.mk: Added JSHTMLOutputElementCustom.cpp.
17988        * Android.mk: Added HTMLOutputElement.cpp.
17989        * Android.v8bindings.mk: Added V8HTMLOutputElementCustom.cpp.
17990        * CMakeLists.txt: Added HTMLOutputElement.{idl,cpp} and JSHTMLOutputElementCustom.cpp.
17991        * DerivedSources.cpp: Added JSHTMLOutputElement.cpp.
17992        * DerivedSources.make: Added HTMLOutputElement entry.
17993        * GNUmakefile.am: Added JSHTMLOutputElement.{cpp,h}
17994        * WebCore.gypi: Added HTMLOutputElement.{idl,cpp,h}, JSHTMLOutputElementCustom.cpp and V8HTMLOutputElementCustom.cpp
17995        * WebCore.pri: Added HTMLOutputElement.idl.
17996        * WebCore.pro: Added V8HTMLOutputElementCustom.cpp, JSHTMLOutputElementCustom.cpp and HTMLOutputElement.cpp.
17997        * WebCore.vcproj/WebCore.vcproj: Added entries for JSHTMLOutputElement.{cpp,h} and JSHTMLOutputElementCustom.cpp.
17998        * WebCore.xcodeproj/project.pbxproj: Added entries for JSHTMLOutputElementCustom.cpp, HTMLOutputElement.{cpp,h,idl}, JSHTMLOutputElement.{cpp,h}
17999        * bindings/js/JSBindingsAllInOne.cpp: Added JSHTMLOutputElementCustom.cpp.
18000        * bindings/js/JSHTMLOutputElementCustom.cpp: Added.
18001        (WebCore::JSHTMLOutputElement::htmlFor):
18002        (WebCore::JSHTMLOutputElement::setHtmlFor):
18003        * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Modified.
18004        (WebCore::V8DOMSettableTokenList::indexedPropertyGetter): Returns null if the index is out of range.
18005        * bindings/v8/custom/V8HTMLOutputElementCustom.cpp: Added.
18006        (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
18007        (WebCore::V8HTMLOutputElement::htmlForAccessorSetter):
18008        * css/html.css: Added a default style of output element.
18009        (output):
18010        * html/DOMSettableTokenList.cpp: Fix bugs.
18011        (WebCore::DOMSettableTokenList::item): Returns null string if the index is out of range.
18012        (WebCore::DOMSettableTokenList::addInternal): Added check m_tokens.isNull().
18013        (WebCore::DOMSettableTokenList::setValue): Set the value case sensitive.
18014        * html/HTMLOutputElement.cpp: Added.
18015        (WebCore::HTMLOutputElement::HTMLOutputElement):
18016        (WebCore::HTMLOutputElement::create):
18017        (WebCore::HTMLOutputElement::formControlType):
18018        (WebCore::HTMLOutputElement::parseMappedAttribute):
18019        (WebCore::HTMLOutputElement::htmlFor):
18020        (WebCore::HTMLOutputElement::setFor):
18021        (WebCore::HTMLOutputElement::setForm):
18022        (WebCore::HTMLOutputElement::childrenChanged):
18023        (WebCore::HTMLOutputElement::reset):
18024        (WebCore::HTMLOutputElement::value):
18025        (WebCore::HTMLOutputElement::setValue):
18026        (WebCore::HTMLOutputElement::defaultValue):
18027        (WebCore::HTMLOutputElement::setDefaultValue):
18028        (WebCore::HTMLOutputElement::setTextContentInternal):
18029        * html/HTMLOutputElement.h: Added.
18030        (WebCore::HTMLOutputElement::isEnumeratable):
18031        (WebCore::HTMLOutputElement::willValidate):
18032        * html/HTMLOutputElement.idl: Added.
18033        * html/HTMLTagNames.in: Added "output".
18034        * page/DOMWindow.idl: Added an attribute for HTMLOutputElement.
18035
180362010-11-04  Zhenyao Mo  <zmo@google.com>
18037
18038        Reviewed by Kenneth Russell.
18039
18040        Remove IMPLEMENTATION_COLOR_READ_FORMAT and TYPE
18041        https://bugs.webkit.org/show_bug.cgi?id=48938
18042
18043        * html/canvas/WebGLRenderingContext.cpp:
18044        (WebCore::WebGLRenderingContext::initializeNewContext):
18045        (WebCore::WebGLRenderingContext::getParameter):
18046        (WebCore::WebGLRenderingContext::readPixels):
18047        * html/canvas/WebGLRenderingContext.h:
18048        * html/canvas/WebGLRenderingContext.idl:
18049        * platform/graphics/GraphicsContext3D.h:
18050        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
18051        (WebCore::GraphicsContext3D::getIntegerv):
18052
180532010-11-04  Zhenyao Mo  <zmo@google.com>
18054
18055        Reviewed by Kenneth Russell.
18056
18057        TypedArray should throw exception if length not a multiple of element size
18058        https://bugs.webkit.org/show_bug.cgi?id=45487
18059
18060        * bindings/js/JSArrayBufferViewHelper.h:
18061        (WebCore::constructArrayBufferView):
18062        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
18063        (WebCore::constructWebGLArray):
18064
180652010-11-04  Kenneth Russell  <kbr@google.com>
18066
18067        Reviewed by Adam Barth.
18068
18069        [chromium] Mac: WebGL: all textured content is blue
18070        https://bugs.webkit.org/show_bug.cgi?id=49021
18071
18072        Added support for 8-bit, little-endian CGImages. The previous
18073        image decode path used the default byte order, which is apparently
18074        big-endian.
18075
18076        Tested with various WebGL content and layout tests in Chromium.
18077        Ran layout tests in WebKit and tested various WebGL content in
18078        Safari. Was not able to run layout tests with Chromium port of
18079        DumpRenderTree due to build failures currently in the tree.
18080
18081        * platform/graphics/GraphicsContext3D.cpp:
18082        (WebCore::doPacking):
18083        * platform/graphics/GraphicsContext3D.h:
18084        * platform/graphics/cg/GraphicsContext3DCG.cpp:
18085        (WebCore::getSourceDataFormat):
18086        (WebCore::GraphicsContext3D::getImageData):
18087
180882010-11-03  Zhenyao Mo  <zmo@google.com>
18089
18090        Reviewed by Kenneth Russell.
18091
18092        renderbufferStorage(DEPTH_STENCIL) shouldn't generate an error
18093        https://bugs.webkit.org/show_bug.cgi?id=48891
18094
18095        * html/canvas/WebGLFramebuffer.cpp:
18096        (WebCore::WebGLFramebuffer::isIncomplete): Considering the case where DEPTH_STENCIL is not supported.
18097        * html/canvas/WebGLRenderbuffer.cpp:
18098        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
18099        * html/canvas/WebGLRenderbuffer.h: Add members and accessor functions.
18100        (WebCore::WebGLRenderbuffer::setInternalFormat): 
18101        (WebCore::WebGLRenderbuffer::setSize):
18102        (WebCore::WebGLRenderbuffer::getWidth):
18103        (WebCore::WebGLRenderbuffer::getHeight):
18104        (WebCore::WebGLRenderbuffer::setIsValid):
18105        (WebCore::WebGLRenderbuffer::isValid):
18106        * html/canvas/WebGLRenderingContext.cpp:
18107        (WebCore::WebGLRenderingContext::initializeNewContext): Check if packed_depth_stencil extension exists.
18108        (WebCore::WebGLRenderingContext::getRenderbufferParameter): Simulate the case for DEPTH_STENCIL where packed_depth_stencil is not supported.
18109        (WebCore::WebGLRenderingContext::renderbufferStorage): Bypass the call if packed_depth_stencil is not supported.
18110        * html/canvas/WebGLRenderingContext.h:
18111
181122010-11-04  Kavita Kanetkar  <kkanetkar@chromium.org>
18113
18114        Reviewed by Adam Barth.
18115
18116        Web Inspector: Enable files ystem UI for chromium
18117        https://bugs.webkit.org/show_bug.cgi?id=48963
18118
18119        * inspector/Inspector.idl:
18120        * inspector/InspectorFileSystemAgent.cpp:
18121        (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
18122        * inspector/InspectorFileSystemAgent.h:
18123        * inspector/front-end/FileSystemView.js:
18124        (WebInspector.FileSystemView):
18125        (WebInspector.FileSystemView.prototype.setFileSystemDisabled):
18126        (WebInspector.FileSystemView.prototype._createTextAndButton):
18127        (WebInspector.FileSystemView.prototype.refreshFileSystem):
18128        * inspector/front-end/StoragePanel.js:
18129        (WebInspector.StoragePanel.prototype.setFileSystemDisabled):
18130        * inspector/front-end/inspector.js:
18131        (WebInspector.didGetFileSystemDisabled):
18132        (WebInspector.reset):
18133
181342010-11-04  Robert Hogan  <robert@webkit.org>
18135
18136        Reviewed by Darin Adler.
18137
18138        Stale reference to JSDOMWindow in ScriptController::m_cacheableBindingObject
18139
18140        After bug 37725 we need to update the globalObject() (i.e. JSDOMWindow)
18141        associated with the m_cacheablebindingRootObject every time we clear the
18142        frame and load a new page. This allows the runtime objects
18143        (e.g. LayoutTestController etc.) to persist between navigations as
18144        before but also ensures that when qt_runtime, or any other bridge,
18145        looks at the root->globalObject() of a cacheable binding object
18146        it gets the DOMWindow of the current page rather than the DOMWindow
18147        that was in place when m_cacheableBindingRootObject was created.
18148
18149        Fixes fast/dom/nodesFromRect-basic.html on Qt.
18150
18151        https://bugs.webkit.org/show_bug.cgi?id=48758
18152
18153        * bindings/js/ScriptController.cpp:
18154        (WebCore::ScriptController::clearWindowShell):
18155        * bridge/runtime_root.cpp:
18156        (JSC::Bindings::RootObject::updateGlobalObject):
18157        * bridge/runtime_root.h:
18158
181592010-11-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18160
18161        Reviewed by David Hyatt.
18162
18163        Delegate scrolling via a separate method
18164        https://bugs.webkit.org/show_bug.cgi?id=48988
18165
18166        Add a delegatedScrollRequested method to HostWindow for delegating
18167        scrolling to the view. This is only used in conjunction with tiling,
18168        and is ifdef'ed.
18169
18170        * page/Chrome.cpp:
18171        (WebCore::Chrome::delegatedScrollRequested):
18172        * page/Chrome.h:
18173        * page/ChromeClient.h:
18174        * platform/HostWindow.h:
18175        * platform/ScrollView.cpp:
18176        (WebCore::ScrollView::setScrollPosition):
18177
181782010-11-04  Pavel Feldman  <pfeldman@chromium.org>
18179
18180        Reviewed by Timothy Hatcher.
18181
18182        Web Inspector: Need better way of switching back to the Timeline view of the Network tab.
18183        https://bugs.webkit.org/show_bug.cgi?id=48995
18184
18185        - Moved close button to the left, preceding tab headers;
18186        - Auto-adjusting summary bar width when switching to the preview mode
18187        - Auto-scrolling network log if it was scrolled to bottom.
18188
18189        * inspector/front-end/DataGrid.js:
18190        (WebInspector.DataGrid):
18191        (WebInspector.DataGrid.prototype.isScrolledToLastRow):
18192        (WebInspector.DataGrid.prototype.scrollToLastRow):
18193        * inspector/front-end/NetworkPanel.js:
18194        (WebInspector.NetworkPanel):
18195        (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
18196        (WebInspector.NetworkPanel.prototype._positionSummaryBar):
18197        (WebInspector.NetworkPanel.prototype.refresh):
18198        (WebInspector.NetworkPanel.prototype._reset):
18199        (WebInspector.NetworkPanel.prototype._toggleGridMode):
18200        * inspector/front-end/inspector.css:
18201        (.tabbed-pane-header li):
18202        * inspector/front-end/networkPanel.css:
18203        (.network-summary-bar):
18204        (#network-close-button):
18205        (#network-views.small #network-close-button):
18206        (#network-views .resource-view .tabbed-pane-header):
18207        (#network-views.small .resource-view .tabbed-pane-header):
18208
182092010-11-04  Erik Arvidsson  <arv@chromium.org>
18210
18211        Reviewed by Dimitri Glazkov.
18212
18213        Support box-sizing without the vendor prefix
18214        https://bugs.webkit.org/show_bug.cgi?id=36713
18215
18216        Based on patch by Peter Beverloo <peter@lvp-media.com>
18217
18218        Test: fast/css/box-sizing-backwards-compat-prefix.html
18219
18220        * css/CSSComputedStyleDeclaration.cpp:
18221        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
18222        * css/CSSParser.cpp:
18223        (WebCore::CSSParser::parseValue):
18224        (WebCore::cssPropertyID): This handles -webkit-box-sizing and maps it to box-sizing.
18225        * css/CSSPropertyNames.in:
18226        * css/CSSStyleSelector.cpp:
18227        (WebCore::CSSStyleSelector::applyProperty):
18228        * css/quirks.css: Change -webkit-box-sizing to box-sizing.
18229        (input:not([type=image]), textarea):
18230        * css/view-source.css: Ditto.
18231        (.webkit-line-gutter-backdrop, .webkit-line-number):
18232        * css/wml.css: Ditto.
18233        (do):
18234        (select):
18235
182362010-11-04  John Reck  <jreck@google.com>
18237
18238        Reviewed by Steve Block.
18239
18240        Fix a linker failure when building for Android
18241        https://bugs.webkit.org/show_bug.cgi?id=48964
18242        
18243        The Android stub for setCookieStoragePrivateBrowsingEnabled(bool) wasn't in the WebCore namespace, which caused
18244        a linker failure when building for Android. Moved the stub to the WebCore namespace. This was caused by 
18245        http://trac.webkit.org/changeset/70400
18246        
18247        No new tests, build fix only
18248
18249        * platform/android/TemporaryLinkStubs.cpp:
18250
182512010-11-04  Joseph Pecoraro  <joepeck@webkit.org>
18252
18253        Reviewed by Andreas Kling.
18254
18255        Request.h getters can be made const
18256        https://bugs.webkit.org/show_bug.cgi?id=49003
18257
18258        Added the const qualifier to some getters that don't mutate the object.
18259
18260        * loader/Request.h:
18261        (WebCore::Request::cachedResource):
18262        (WebCore::Request::cachedResourceLoader):
18263        (WebCore::Request::isIncremental):
18264        (WebCore::Request::isMultipart):
18265
182662010-11-03  Brian Weinstein  <bweinstein@apple.com>
18267
18268        Reviewed by Brady Eidson.
18269
18270        User scripts shouldn't be injected in a frame's empty initial document.
18271        https://bugs.webkit.org/show_bug.cgi?id=48970
18272        <rdar://problem/8618164>
18273        <rdar://problem/8082122>
18274        
18275        When a frame loads, it first creates an empty initial document, then navigates to the correct URL. Our
18276        current policy with user scripts is to inject them into both the initial empty document, and then inject
18277        them again.
18278        
18279        This causes developers to think their scripts have been injected twice into all iframes, and there is a timing
18280        issue between WebKit1 and WebKit2 that causes start scripts to be injected into the initial empty document
18281        of the main frame when a new tab or window is created.
18282        
18283        The fix for this is to not inject user scripts when the frame is creating its initial empty document before loading
18284        the correct source.
18285
18286        * page/Frame.cpp:
18287        (WebCore::Frame::injectUserScripts):
18288
182892010-11-04  Andreas Kling  <kling@webkit.org>
18290
18291        Reviewed by Nikolas Zimmermann.
18292
18293        GraphicsContext: Don't do full save/restore when painting with low quality scaling
18294        https://bugs.webkit.org/show_bug.cgi?id=48738
18295
18296        Stash the imageInterpolationQuality() in a local and reset it after painting.
18297
18298        * platform/graphics/GraphicsContext.cpp:
18299        (WebCore::GraphicsContext::drawImage):
18300        (WebCore::GraphicsContext::drawTiledImage):
18301        (WebCore::GraphicsContext::drawImageBuffer):
18302        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
18303        (WebCore::GraphicsContext::imageInterpolationQuality):
18304        * platform/graphics/skia/GraphicsContextSkia.cpp:
18305        (WebCore::GraphicsContext::imageInterpolationQuality):
18306        * platform/graphics/wince/GraphicsContextWinCE.cpp:
18307        (WebCore::GraphicsContext::imageInterpolationQuality):
18308
183092010-11-04  Nikolas Zimmermann  <nzimmermann@rim.com>
18310
18311        Reviewed by Andreas Kling.
18312
18313        Refactor SVGStringListPropertyTearOff/SVGListPropertyTearOff to use a common base class
18314        https://bugs.webkit.org/show_bug.cgi?id=48990
18315
18316        Introduce SVGListProperty as common base class between static lists (SVGStringListPropertyTearOff) and dynamic lists (SVGListPropertyTearOff).
18317        This is a preparation for the addition of the next static list type: SVGPointList.
18318
18319        * GNUmakefile.am: Add new files to build.
18320        * WebCore.gypi: Ditto.
18321        * WebCore.pro: Ditto.
18322        * WebCore.vcproj/WebCore.vcproj: Ditto.
18323        * WebCore.xcodeproj/project.pbxproj: Ditto.
18324        * bindings/scripts/CodeGenerator.pm: s/SVGStringListPropertyTearOff/SVGStaticListPropertyTearOff/.
18325        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
18326        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
18327        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
18328        * svg/properties/SVGAnimatedListPropertyTearOff.h: Include SVGStaticListPropertyTearOff.h here, to avoid special dependencies in CodeGenerator*.pm
18329        * svg/properties/SVGListProperty.h: Added.
18330        * svg/properties/SVGListPropertyTearOff.h: Use SVGList API implementation from SVGListProperty base class.
18331        * svg/properties/SVGStaticListPropertyTearOff.h: Added. Use SVGList API implementation from SVGListProperty base class.
18332        * svg/properties/SVGStringListPropertyTearOff.h: Removed.
18333
183342010-11-04  Ryosuke Niwa  <rniwa@webkit.org>
18335
18336        Unreviewed. Fixed WebCore.xcodeproject
18337
18338        * WebCore.xcodeproj/project.pbxproj:
18339
183402010-11-04  Pratik Solanki  <psolanki@apple.com>
18341
18342        Reviewed by Darin Adler.
18343
18344        Should make use of purge priorities for different resource types
18345        https://bugs.webkit.org/show_bug.cgi?id=48684
18346
18347        Assign purge priorities to CachedResource objects. JavaScript and CSS stylesheets are more
18348        important than images so hint to the kernel to purge them last. We do this by repurposing
18349        the previously unused function, PurgeableBuffer::setPurgePriority(). It now just sets the
18350        priority field and does not have side-effects like calling makePurgeable(true).
18351
18352        Also, remove unusued PurgeableBuffer::create(const Vector<char>&) function and move the
18353        purgeable memory size threshold from CachedResource to PurgeableBuffer.
18354
18355        * WebCore.xcodeproj/project.pbxproj: Add new PurgePriority.h header and mark it as private
18356        header.
18357        * loader/CachedCSSStyleSheet.h:
18358        (WebCore::CachedCSSStyleSheet::purgePriority):
18359        * loader/CachedImage.h:
18360        (WebCore::CachedImage::purgePriority):
18361        * loader/CachedResource.cpp:
18362        (WebCore::CachedResource::makePurgeable): Set the purge priority on the PurgeableBffer.
18363        Also, move the check for purgeable size threshold to PurgeableBuffer.
18364        * loader/CachedResource.h:
18365        (WebCore::CachedResource::purgePriority): Added. New virtual method that lets the class
18366        specify its purge priority.
18367        * loader/CachedScript.h:
18368        (WebCore::CachedScript::purgePriority):
18369        * platform/PurgePriority.h: Added. Move the PurgePriority enum from PurgeableBuffer class to
18370        its own header file.
18371        (WebCore::):
18372        * platform/PurgeableBuffer.h:
18373        (WebCore::PurgeableBuffer::setPurgePriority): Update this previously unused function to just
18374        set the priority and not call makePurgeable(true).
18375        * platform/mac/PurgeableBufferMac.cpp: Update size threshold to 16KB which is what
18376        CachedResource was using.
18377
183782010-11-04  Chris Guillory  <chris.guillory@google.com>
18379
18380        Reviewed by Chris Fleizach.
18381
18382        Ignore static text children of text field controls in the accessibility tree.
18383        https://bugs.webkit.org/show_bug.cgi?id=48944
18384
18385        * accessibility/AccessibilityRenderObject.cpp:
18386        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
18387
183882010-11-04  Erik Arvidsson  <arv@chromium.org>
18389
18390        Reviewed by Tony Chang.
18391
18392        Computed style is not correct for negative values in the presence of zooming
18393        https://bugs.webkit.org/show_bug.cgi?id=48855
18394
18395        * rendering/style/RenderStyle.h:
18396        (WebCore::adjustForAbsoluteZoom): When the value is less than zero we need to decrement instead of increment.
18397
183982010-11-04  Shane Stephens  <shanestephens@google.com>
18399
18400        Reviewed by Tony Chang.
18401
18402        SVGStyledTransformableElement supplemental transforms pre-multiplied
18403        but should be post-multiplied.
18404        https://bugs.webkit.org/show_bug.cgi?id=48026
18405
18406        Test: svg/animations/animate-path-nested-transforms.svg
18407
18408        * svg/SVGStyledTransformableElement.cpp:
18409        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
18410        
18411        Switched order of multiplication.  Note that due to a bug in
18412        AffineTransform's operator* implementation the order of arguments is
18413        reversed (see http://bugs.webkit.org/show_bug.cgi?id=48031).
18414
184152010-11-04  James Simonsen  <simonjam@chromium.org>
18416
18417        Reviewed by Darin Fisher.
18418
18419        [Web Timing] Implement dom* timing marks
18420        https://bugs.webkit.org/show_bug.cgi?id=46301
18421
18422        Test: fast/dom/webtiming-document-open.html
18423
18424        * GNUmakefile.am: Added DocumentTiming.h
18425        * WebCore.gypi: Ditto.
18426        * WebCore.vcproj/WebCore.vcproj: Ditto.
18427        * WebCore.xcodeproj/project.pbxproj: Ditto.
18428        * dom/Document.cpp:
18429        (WebCore::Document::setReadyState): Set DOM WebTiming marks.
18430        (WebCore::Document::finishedParsing): Set DOM WebTiming marks.
18431        * dom/Document.h:
18432        (WebCore::Document::timing): Added.
18433        * dom/DocumentTiming.h: Added.
18434        (WebCore::DocumentTiming::DocumentTiming):
18435        * page/Timing.cpp: Added DOM timing.
18436        (WebCore::Timing::domLoading): Ditto.
18437        (WebCore::Timing::domInteractive): Ditto.
18438        (WebCore::Timing::domContentLoaded): Ditto.
18439        (WebCore::Timing::domComplete): Ditto.
18440        (WebCore::Timing::documentTiming): Ditto.
18441        * page/Timing.h: Ditto.
18442        * page/Timing.idl: Ditto.
18443
184442010-11-04  Carlos Garcia Campos  <cgarcia@igalia.com>
18445
18446        Reviewed by Martin Robinson.
18447
18448        [GTK] Implement unencodable characters handling in TextCodecGtk::encode()
18449        https://bugs.webkit.org/show_bug.cgi?id=48902
18450
18451        Fixes a crash in test fast/encoding/char-encoding.html.
18452
18453        * platform/text/gtk/TextCodecGtk.cpp:
18454        (WebCore::TextCodecGtk::encode):
18455
184562010-11-04  Adam Barth  <abarth@webkit.org>
18457
18458        Enabled ICCJPEG on Chromium Mac
18459        https://bugs.webkit.org/show_bug.cgi?id=48977
18460
18461        Add iccjpeg as a dependency.
18462
18463        * WebCore.gyp/WebCore.gyp:
18464
184652010-11-03  Kent Tamura  <tkent@chromium.org>
18466
18467        Reviewed by Dimitri Glazkov.
18468
18469        Framework to show form validation message for invalid controls
18470        https://bugs.webkit.org/show_bug.cgi?id=31718
18471
18472        HTMLFormElement::validateInteractively() shows a validation message for
18473        an invalid control by HTMLFormControlElement::updateVisibleValidationMessage(),
18474        and the message is hidden when the invalid control looses focus, becomes
18475        valid, detached, or the form is submitted again.
18476
18477        Introduce ValidationMessage class to manage visible form validation
18478        message. It has no implementation to show/hide a message yet.
18479
18480        No new tests. New behavior is disabled by default, and is timing-dependent.
18481
18482        * Android.mk: Add ValidationMessage.
18483        * CMakeLists.txt: ditto.
18484        * GNUmakefile.am: ditto.
18485        * WebCore.gypi: ditto.
18486        * WebCore.pro: ditto.
18487        * WebCore.vcproj/WebCore.vcproj: ditto.
18488        * WebCore.xcodeproj/project.pbxproj: ditto.
18489        * html/HTMLFormControlElement.cpp:
18490        (WebCore::HTMLFormControlElement::detach): Hides a validation message.
18491        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
18492           Hides a validation message if validation is not needed.
18493        (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
18494        (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
18495        (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
18496          Hides a validation message or updates the validation message.
18497        (WebCore::HTMLFormControlElement::dispatchBlurEvent):
18498          Hides a validation message.
18499        (WebCore::HTMLFormControlElement::visibleValidationMessage):
18500        * html/HTMLFormControlElement.h:
18501        * html/HTMLFormElement.cpp:
18502        (WebCore::HTMLFormElement::validateInteractively):
18503         - Hide existing validation messages before showing new message.
18504         - Show new validation message.
18505        * html/ValidationMessage.cpp: Added.
18506        (WebCore::ValidationMessage::ValidationMessage):
18507        (WebCore::ValidationMessage::~ValidationMessage):
18508        (WebCore::ValidationMessage::create):
18509        (WebCore::ValidationMessage::setMessage):
18510        (WebCore::ValidationMessage::hideMessage):
18511        * html/ValidationMessage.h: Added.
18512        (WebCore::ValidationMessage::message):
18513
185142010-11-03  Patrick Gansterer  <paroga@webkit.org>
18515
18516        Reviewed by Adam Roben.
18517
18518        Port WCDataObject.cpp to WinCE
18519        https://bugs.webkit.org/show_bug.cgi?id=48921
18520
18521        OleDuplicateData is not supported on WinCE.
18522
18523        * platform/win/WCDataObject.cpp:
18524        (WebCore::WCDataObject::CopyMedium):
18525
185262010-11-03  Patrick Gansterer  <paroga@webkit.org>
18527
18528        Reviewed by Adam Roben.
18529
18530        Port ClipboardWin.cpp to WinCE
18531        https://bugs.webkit.org/show_bug.cgi?id=48412
18532
18533        * platform/win/ClipboardWin.cpp:
18534        (WebCore::writeFileToDataObject):
18535
185362010-11-03  Patrick Gansterer  <paroga@webkit.org>
18537
18538        Reviewed by Adam Roben.
18539
18540        Port ClipboardWin.cpp to WinCE
18541        https://bugs.webkit.org/show_bug.cgi?id=48412
18542
18543        * platform/win/ClipboardWin.cpp:
18544        (WebCore::filesystemPathFromUrlOrTitle):
18545        (WebCore::createGlobalHDropContent):
18546        (WebCore::ClipboardWin::files):
18547
185482010-11-03  Vincent Scheib  <scheib@chromium.org>
18549
18550        Reviewed by James Robinson.
18551
18552        [chromium] GraphicsContext3D creation attributes include canRecoverFromContextLoss option
18553        https://bugs.webkit.org/show_bug.cgi?id=48850
18554
18555        Implementations of GraphicsContext3D may respect the creation attribute
18556        canRecoverFromContextLoss being false, and then only succeeding initialization if
18557        the context can satisfy that request of never being lost. DX9 on XP can not satisfy
18558        such a request.
18559
18560        Test by use of accelerated canvas 2d in Chromium with ANGLE on XP machines.
18561
18562        * platform/graphics/GraphicsContext3D.h:
18563        (WebCore::GraphicsContext3D::Attributes::Attributes):
18564        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
18565        (WebCore::SharedGraphicsContext3D::create):
18566
185672010-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
18568
18569        Reviewed by Martin Robinson.
18570
18571        [GTK] Use sentence boundaries instead of start/end sentence
18572        https://bugs.webkit.org/show_bug.cgi?id=48422
18573
18574        Using sentence boundaries all intersentence
18575        whitespace/control/format characters are assigned to a
18576        sentence. This is what ICU does, so we have to do the same in
18577        order to get the same results with glib unicode backend. It fixes
18578        the sentence tests cases in test fast/dom/Range/range-expand.html.
18579
18580        * platform/text/gtk/TextBreakIteratorGtk.cpp:
18581        (WebCore::textBreakNext):
18582        (WebCore::textBreakPrevious):
18583
185842010-11-03  Zhenyao Mo  <zmo@google.com>
18585
18586        Reviewed by Kenneth Russell.
18587
18588        depthRange should generate INVALID_OPERATION if zNear is greater than zFar
18589        https://bugs.webkit.org/show_bug.cgi?id=48676
18590
18591        * html/canvas/WebGLRenderingContext.cpp:
18592        (WebCore::WebGLRenderingContext::depthRange):
18593
185942010-11-03  Adrienne Walker  <enne@google.com>
18595
18596        Reviewed by Kenneth Russell.
18597
18598        Properly return empty strings instead of null when using invalid
18599        objects for some WebGL calls.  This fixes issues caused by r71274.
18600        https://bugs.webkit.org/show_bug.cgi?id=48962
18601
18602        * html/canvas/WebGLRenderingContext.cpp:
18603        (WebCore::WebGLRenderingContext::getProgramInfoLog):
18604        (WebCore::WebGLRenderingContext::getShaderInfoLog):
18605        (WebCore::WebGLRenderingContext::getShaderSource):
18606
186072010-11-01  Ryosuke Niwa  <rniwa@webkit.org>
18608
18609        Reviewed by Darin Adler.
18610
18611        Crash in ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle
18612        https://bugs.webkit.org/show_bug.cgi?id=48581
18613
18614        The crash was caused by RemoveNodePreservingChildrenCommand's calling removeNode
18615        on m_node without checking that m_node has a parent and it's still in the document.
18616        Fixed the crash by adding an early exit in CompositeEditCommand::removeNode and
18617        deploying RefPtr in several places of ApplyStyleCommand.cpp.
18618
18619        Test: editing/style/iframe-onload-crash.html
18620
18621        * editing/ApplyStyleCommand.cpp:
18622        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
18623        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
18624        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
18625        * editing/ApplyStyleCommand.h:
18626        * editing/CompositeEditCommand.cpp:
18627        (WebCore::CompositeEditCommand::removeNode):
18628
186292010-11-03  Jia Pu  <jpu@apple.com>
18630
18631        Reviewed by Darin Adler.
18632
18633        Crashes in WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair() when deleting multiple lines of text.
18634        https://bugs.webkit.org/show_bug.cgi?id=48918
18635        <rdar://problem/8620602>
18636
18637        I haven't been able to found a reliable way to reproduce the bug. However, whenever it happens,
18638        the crash is caused by a null node pointer returned by TextIterator. So it seems to be a 
18639        safe fix to guard against that. 
18640
18641        * editing/Editor.cpp: (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
18642
186432010-11-02  Zhenyao Mo  <zmo@google.com>
18644
18645        Reviewed by Kenneth Russell.
18646
18647        A different mask or reference value in stencil operations should generate INVALID_OPERATION
18648        https://bugs.webkit.org/show_bug.cgi?id=48669
18649
18650        * html/canvas/WebGLRenderingContext.cpp:
18651        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init stencil func ref/mask and stencil mask to default.
18652        (WebCore::WebGLRenderingContext::stencilFunc): Cache ref/mask value.
18653        (WebCore::WebGLRenderingContext::stencilFuncSeparate): Generate error if front/back values differ.
18654        (WebCore::WebGLRenderingContext::stencilMask): Cache mask value.
18655        (WebCore::WebGLRenderingContext::stencilMaskSeparate): Generate error if front/back values differ.
18656        (WebCore::WebGLRenderingContext::validateFace): Validate face parameter.
18657        (WebCore::WebGLRenderingContext::validateStencilFunc): Validate stencil func parameter.
18658        * html/canvas/WebGLRenderingContext.h: Add members to track stencil func ref/mask and stencil mask.
18659
186602010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
18661
18662        Reverting r71244, r71248 and r71250. Broke default event handling inside text fields.
18663        https://bugs.webkit.org/show_bug.cgi?id=46015
18664
18665        * Android.mk:
18666        * CMakeLists.txt:
18667        * GNUmakefile.am:
18668        * WebCore.gypi:
18669        * WebCore.pro:
18670        * WebCore.vcproj/WebCore.vcproj:
18671        * WebCore.xcodeproj/project.pbxproj:
18672        * dom/ContainerNode.cpp:
18673        (WebCore::notifyChildInserted):
18674        * dom/DOMAllInOne.cpp:
18675        * dom/EventContext.cpp: Removed.
18676        * dom/EventContext.h: Removed.
18677        * dom/Node.cpp:
18678        (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
18679        (WebCore::Node::createRendererIfNeeded):
18680        (WebCore::Node::eventParentNode):
18681        (WebCore::Node::enclosingLinkEventParentOrSelf):
18682        (WebCore::eventTargetAsSVGElementInstance):
18683        (WebCore::eventTargetRespectingSVGTargetRules):
18684        (WebCore::Node::eventAncestors):
18685        (WebCore::Node::dispatchGenericEvent):
18686        * dom/Node.h:
18687        * dom/Text.cpp:
18688        (WebCore::Text::createRenderer):
18689        * dom/WindowEventContext.cpp: Removed.
18690        * dom/WindowEventContext.h: Removed.
18691        * inspector/InspectorDOMAgent.cpp:
18692        (WebCore::InspectorDOMAgent::getEventListenersForNode):
18693        * inspector/InspectorInstrumentation.cpp:
18694        (WebCore::eventHasListeners):
18695        (WebCore::InspectorInstrumentation::willDispatchEventImpl):
18696        * inspector/InspectorInstrumentation.h:
18697        (WebCore::InspectorInstrumentation::willDispatchEvent):
18698        * page/EventHandler.cpp:
18699        (WebCore::EventHandler::updateMouseEventTargetNode):
18700        * rendering/ShadowElement.h:
18701        (WebCore::ShadowElement::shadowParent):
18702        (WebCore::ShadowElement::shadowParentNode):
18703        * svg/SVGElement.cpp:
18704        (WebCore::SVGElement::eventParentNode):
18705        * svg/SVGElement.h:
18706
187072010-11-03  Adam Barth  <abarth@webkit.org>
18708
18709        Reviewed by Eric Seidel.
18710
18711        CG use of WebKit image decoders crashes on some animated GIFs
18712        https://bugs.webkit.org/show_bug.cgi?id=48955
18713
18714        It turns out CFDataGetMutableBytePtr isn't safe call on a null pointer.
18715
18716        Test: fast/images/dont-crash-with-null-gif-frames.html
18717
18718        * platform/image-decoders/cg/ImageDecoderCG.cpp:
18719        (WebCore::RGBA32Buffer::copyReferenceToBitmapData):
18720        (WebCore::RGBA32Buffer::copyBitmapData):
18721
187222010-11-03  Adrienne Walker  <enne@google.com>
18723
18724        Reviewed by Kenneth Russell.
18725
18726        Implement lost, restored, and creation failure context events for
18727        WebGLRenderingContext.  The lost and restored functions are not hooked
18728        up yet, but the context now acts according to the spec as it should
18729        during a lost context.  Tested manually, as there's no programmatic
18730        way to lose a context yet.
18731        https://bugs.webkit.org/show_bug.cgi?id=35626
18732
18733        * WebCore.gypi:
18734        * WebCore.xcodeproj/project.pbxproj:
18735        * bindings/js/JSWebGLRenderingContextCustom.cpp:
18736        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
18737        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
18738        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
18739        * dom/EventNames.h:
18740        * html/canvas/WebGLContextEvent.cpp: Added.
18741        (WebCore::WebGLContextEvent::WebGLContextEvent):
18742        (WebCore::WebGLContextEvent::~WebGLContextEvent):
18743        (WebCore::WebGLContextEvent::initEvent):
18744        * html/canvas/WebGLContextEvent.h: Added.
18745        (WebCore::WebGLContextEvent::create):
18746        (WebCore::WebGLContextEvent::statusMessage):
18747        * html/canvas/WebGLContextEvent.idl: Added.
18748        * html/canvas/WebGLRenderingContext.cpp:
18749        (WebCore::WebGLRenderingContext::create):
18750        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
18751        (WebCore::WebGLRenderingContext::initializeNewContext):
18752        (WebCore::WebGLRenderingContext::activeTexture):
18753        (WebCore::WebGLRenderingContext::attachShader):
18754        (WebCore::WebGLRenderingContext::bindAttribLocation):
18755        (WebCore::WebGLRenderingContext::bindBuffer):
18756        (WebCore::WebGLRenderingContext::bindFramebuffer):
18757        (WebCore::WebGLRenderingContext::bindRenderbuffer):
18758        (WebCore::WebGLRenderingContext::bindTexture):
18759        (WebCore::WebGLRenderingContext::blendColor):
18760        (WebCore::WebGLRenderingContext::blendEquation):
18761        (WebCore::WebGLRenderingContext::blendEquationSeparate):
18762        (WebCore::WebGLRenderingContext::blendFunc):
18763        (WebCore::WebGLRenderingContext::blendFuncSeparate):
18764        (WebCore::WebGLRenderingContext::bufferData):
18765        (WebCore::WebGLRenderingContext::bufferSubData):
18766        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
18767        (WebCore::WebGLRenderingContext::clear):
18768        (WebCore::WebGLRenderingContext::clearColor):
18769        (WebCore::WebGLRenderingContext::clearDepth):
18770        (WebCore::WebGLRenderingContext::clearStencil):
18771        (WebCore::WebGLRenderingContext::colorMask):
18772        (WebCore::WebGLRenderingContext::compileShader):
18773        (WebCore::WebGLRenderingContext::copyTexImage2D):
18774        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
18775        (WebCore::WebGLRenderingContext::createBuffer):
18776        (WebCore::WebGLRenderingContext::createFramebuffer):
18777        (WebCore::WebGLRenderingContext::createTexture):
18778        (WebCore::WebGLRenderingContext::createProgram):
18779        (WebCore::WebGLRenderingContext::createRenderbuffer):
18780        (WebCore::WebGLRenderingContext::createShader):
18781        (WebCore::WebGLRenderingContext::cullFace):
18782        (WebCore::WebGLRenderingContext::deleteBuffer):
18783        (WebCore::WebGLRenderingContext::deleteFramebuffer):
18784        (WebCore::WebGLRenderingContext::deleteProgram):
18785        (WebCore::WebGLRenderingContext::deleteRenderbuffer):
18786        (WebCore::WebGLRenderingContext::deleteShader):
18787        (WebCore::WebGLRenderingContext::deleteTexture):
18788        (WebCore::WebGLRenderingContext::depthFunc):
18789        (WebCore::WebGLRenderingContext::depthMask):
18790        (WebCore::WebGLRenderingContext::depthRange):
18791        (WebCore::WebGLRenderingContext::detachShader):
18792        (WebCore::WebGLRenderingContext::disable):
18793        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
18794        (WebCore::WebGLRenderingContext::drawArrays):
18795        (WebCore::WebGLRenderingContext::drawElements):
18796        (WebCore::WebGLRenderingContext::enable):
18797        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
18798        (WebCore::WebGLRenderingContext::finish):
18799        (WebCore::WebGLRenderingContext::flush):
18800        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
18801        (WebCore::WebGLRenderingContext::framebufferTexture2D):
18802        (WebCore::WebGLRenderingContext::frontFace):
18803        (WebCore::WebGLRenderingContext::generateMipmap):
18804        (WebCore::WebGLRenderingContext::getActiveAttrib):
18805        (WebCore::WebGLRenderingContext::getActiveUniform):
18806        (WebCore::WebGLRenderingContext::getAttachedShaders):
18807        (WebCore::WebGLRenderingContext::getAttribLocation):
18808        (WebCore::WebGLRenderingContext::getBufferParameter):
18809        (WebCore::WebGLRenderingContext::getContextAttributes):
18810        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
18811        (WebCore::WebGLRenderingContext::getParameter):
18812        (WebCore::WebGLRenderingContext::getProgramParameter):
18813        (WebCore::WebGLRenderingContext::getProgramInfoLog):
18814        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
18815        (WebCore::WebGLRenderingContext::getShaderParameter):
18816        (WebCore::WebGLRenderingContext::getShaderInfoLog):
18817        (WebCore::WebGLRenderingContext::getShaderSource):
18818        (WebCore::WebGLRenderingContext::getTexParameter):
18819        (WebCore::WebGLRenderingContext::getUniform):
18820        (WebCore::WebGLRenderingContext::getUniformLocation):
18821        (WebCore::WebGLRenderingContext::getVertexAttrib):
18822        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
18823        (WebCore::WebGLRenderingContext::hint):
18824        (WebCore::WebGLRenderingContext::isBuffer):
18825        (WebCore::WebGLRenderingContext::isContextLost):
18826        (WebCore::WebGLRenderingContext::isEnabled):
18827        (WebCore::WebGLRenderingContext::isFramebuffer):
18828        (WebCore::WebGLRenderingContext::isProgram):
18829        (WebCore::WebGLRenderingContext::isRenderbuffer):
18830        (WebCore::WebGLRenderingContext::isShader):
18831        (WebCore::WebGLRenderingContext::isTexture):
18832        (WebCore::WebGLRenderingContext::lineWidth):
18833        (WebCore::WebGLRenderingContext::linkProgram):
18834        (WebCore::WebGLRenderingContext::pixelStorei):
18835        (WebCore::WebGLRenderingContext::polygonOffset):
18836        (WebCore::WebGLRenderingContext::readPixels):
18837        (WebCore::WebGLRenderingContext::releaseShaderCompiler):
18838        (WebCore::WebGLRenderingContext::renderbufferStorage):
18839        (WebCore::WebGLRenderingContext::sampleCoverage):
18840        (WebCore::WebGLRenderingContext::scissor):
18841        (WebCore::WebGLRenderingContext::shaderSource):
18842        (WebCore::WebGLRenderingContext::stencilFunc):
18843        (WebCore::WebGLRenderingContext::stencilFuncSeparate):
18844        (WebCore::WebGLRenderingContext::stencilMask):
18845        (WebCore::WebGLRenderingContext::stencilMaskSeparate):
18846        (WebCore::WebGLRenderingContext::stencilOp):
18847        (WebCore::WebGLRenderingContext::stencilOpSeparate):
18848        (WebCore::WebGLRenderingContext::texImage2D):
18849        (WebCore::WebGLRenderingContext::texParameter):
18850        (WebCore::WebGLRenderingContext::texSubImage2DBase):
18851        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
18852        (WebCore::WebGLRenderingContext::texSubImage2D):
18853        (WebCore::WebGLRenderingContext::uniform1f):
18854        (WebCore::WebGLRenderingContext::uniform1fv):
18855        (WebCore::WebGLRenderingContext::uniform1i):
18856        (WebCore::WebGLRenderingContext::uniform1iv):
18857        (WebCore::WebGLRenderingContext::uniform2f):
18858        (WebCore::WebGLRenderingContext::uniform2fv):
18859        (WebCore::WebGLRenderingContext::uniform2i):
18860        (WebCore::WebGLRenderingContext::uniform2iv):
18861        (WebCore::WebGLRenderingContext::uniform3f):
18862        (WebCore::WebGLRenderingContext::uniform3fv):
18863        (WebCore::WebGLRenderingContext::uniform3i):
18864        (WebCore::WebGLRenderingContext::uniform3iv):
18865        (WebCore::WebGLRenderingContext::uniform4f):
18866        (WebCore::WebGLRenderingContext::uniform4fv):
18867        (WebCore::WebGLRenderingContext::uniform4i):
18868        (WebCore::WebGLRenderingContext::uniform4iv):
18869        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
18870        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
18871        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
18872        (WebCore::WebGLRenderingContext::useProgram):
18873        (WebCore::WebGLRenderingContext::validateProgram):
18874        (WebCore::WebGLRenderingContext::vertexAttribPointer):
18875        (WebCore::WebGLRenderingContext::viewport):
18876        (WebCore::WebGLRenderingContext::loseContext):
18877        (WebCore::WebGLRenderingContext::restoreContext):
18878        (WebCore::WebGLRenderingContext::addObject):
18879        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
18880        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
18881        * html/canvas/WebGLRenderingContext.h:
18882        * html/canvas/WebGLRenderingContext.idl:
18883        * platform/graphics/GraphicsContext3D.h:
18884
188852010-11-03  Kenneth Russell  <kbr@google.com>
18886
18887        Reviewed by Chris Marrin.
18888
18889        Redesign extension mechanism in GraphicsContext3D
18890        https://bugs.webkit.org/show_bug.cgi?id=46894
18891
18892        Upon request, factored out extension support from GraphicsContext3D
18893        into a new Extensions3D class. (The plural was chosen because the
18894        class and subclasses hold multiple extensions.)
18895
18896        Unlike GraphicsContext3D, Extensions3D contains only pure virtual
18897        methods. This was done because Extensions3D's inheritance diagram
18898        and usage pattern is very different from that of GraphicsContext3D,
18899        and the concrete subclasses need to decide how to implement the
18900        various entry points. Requiring them to be placed at the
18901        Extensions3D level will cause implementation details to leak into
18902        the base class, which is highly undesirable. Any virtual call
18903        overhead to these entry points will be negligible.
18904
18905        Changed call sites utilizing these extensions to call through the
18906        Extensions3D object or its subclasses.
18907
18908        Tested:
18909         - Chromium on Linux with accelerated 2D canvas and HTML5 video
18910         - Chromium on Mac OS X with WebGL and CSS 3D content
18911         - Safari on Mac OS X with WebGL and CSS 3D content
18912
18913        No new tests. Covered by existing tests.
18914
18915        * WebCore.gypi:
18916        * WebCore.pro:
18917        * WebCore.xcodeproj/project.pbxproj:
18918        * platform/graphics/Extensions3D.h: Added.
18919        (WebCore::Extensions3D::~Extensions3D):
18920        * platform/graphics/GraphicsContext3D.cpp:
18921        * platform/graphics/GraphicsContext3D.h:
18922        * platform/graphics/chromium/DrawingBufferChromium.cpp:
18923        (WebCore::DrawingBuffer::DrawingBuffer):
18924        (WebCore::DrawingBuffer::publishToPlatformLayer):
18925        * platform/graphics/chromium/Extensions3DChromium.h: Added.
18926        * platform/graphics/chromium/VideoLayerChromium.cpp:
18927        (WebCore::VideoLayerChromium::updateTexture):
18928        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
18929        (WebCore::SharedGraphicsContext3D::supportsBGRA):
18930        * platform/graphics/gpu/SharedGraphicsContext3D.h:
18931        * platform/graphics/gpu/Texture.cpp:
18932        (WebCore::convertFormat):
18933        * platform/graphics/mac/GraphicsContext3DMac.mm:
18934        * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added.
18935        (WebCore::Extensions3DOpenGL::Extensions3DOpenGL):
18936        (WebCore::Extensions3DOpenGL::~Extensions3DOpenGL):
18937        (WebCore::Extensions3DOpenGL::supports):
18938        (WebCore::Extensions3DOpenGL::getGraphicsResetStatusARB):
18939        * platform/graphics/opengl/Extensions3DOpenGL.h: Added.
18940        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
18941        (WebCore::GraphicsContext3D::getExtensions):
18942        * platform/graphics/qt/Extensions3DQt.cpp: Added.
18943        (WebCore::Extensions3DQt::Extensions3DQt):
18944        (WebCore::Extensions3DQt::~Extensions3DQt):
18945        (WebCore::Extensions3DQt::supports):
18946        (WebCore::Extensions3DQt::getGraphicsResetStatusARB):
18947        * platform/graphics/qt/Extensions3DQt.h: Added.
18948        * platform/graphics/qt/GraphicsContext3DQt.cpp:
18949        (WebCore::GraphicsContext3D::getExtensions):
18950        * platform/graphics/skia/PlatformContextSkia.cpp:
18951        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
18952
189532010-11-03  Mike Thole  <mthole@apple.com>
18954
18955        Reviewed by Darin Adler.
18956        
18957        Tweak coding style (follow-up to r71264).
18958        
18959        * platform/mac/Language.mm:
18960        (WebCore::createHTTPStyleLanguageCode): Style tweaks.
18961
189622010-11-03  Darin Adler  <darin@apple.com>
18963
18964        Updated Xcode projects by opening them with Xcode 3.2.4.
18965        Updated svn:ignore for Xcode projects.
18966
18967        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Added property svn:ignore.
18968        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Updated with Xcode 3.2.4.
18969
189702010-11-03  Matthew Delaney  <mdelaney@apple.com>
18971
18972        Reviewed by Darin Adler.
18973
18974        Fix canvas/philip/tests/2d.pattern.image.undefined.html
18975        https://bugs.webkit.org/show_bug.cgi?id=48894
18976
18977        * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Changed error thrown to match the spec.
18978
189792010-11-03  Simon Fraser  <simon.fraser@apple.com>
18980
18981        Reviewed by John Sullivan.
18982
18983        Crash when setting context font to bad value
18984        https://bugs.webkit.org/show_bug.cgi?id=48948
18985        
18986        Null-check the CSSValue passed to CSSStyleSelector::applyPropertyToStyle(),
18987        since it may be null if the style declaration does not contain a value
18988        for the 'font' property.
18989
18990        Test: fast/canvas/invalid-set-font-crash.html
18991
18992        * css/CSSStyleSelector.cpp:
18993        (WebCore::CSSStyleSelector::applyPropertyToStyle):
18994
189952010-11-03  Mike Thole  <mthole@apple.com>
18996
18997        Reviewed by Alexey Proskuryakov.
18998
18999        Crash under WebCore::platformDefaultLanguage() when using Arabic language
19000        https://bugs.webkit.org/show_bug.cgi?id=48946
19001
19002        * platform/mac/Language.mm:
19003        (WebCore::createHTTPStyleLanguageCode):
19004        Retain the lowercaseLanguageCode string before returning it.  This was the code path that
19005        would lead to a crash.  Also removed early return to prevent a leak of preferredLanguageCode.
19006
190072010-11-03  Dan Bernstein  <mitz@apple.com>
19008
19009        Reviewed by Dave Hyatt.
19010
19011        Made table column width allocation algorithms use logical widths.
19012
19013        Part of: Make tables work with vertical text
19014        https://bugs.webkit.org/show_bug.cgi?id=46417
19015
19016        No new tests since tables don’t support different block flows yet.
19017
19018        * rendering/AutoTableLayout.cpp:
19019        (WebCore::AutoTableLayout::AutoTableLayout):
19020        (WebCore::AutoTableLayout::recalcColumn):
19021        (WebCore::AutoTableLayout::fullRecalc):
19022        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
19023        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
19024        (WebCore::AutoTableLayout::insertSpanCell):
19025        (WebCore::AutoTableLayout::layout):
19026        * rendering/AutoTableLayout.h:
19027        (WebCore::AutoTableLayout::Layout::Layout):
19028        * rendering/FixedTableLayout.cpp:
19029        (WebCore::FixedTableLayout::calcWidthArray):
19030        (WebCore::FixedTableLayout::computePreferredLogicalWidths):
19031        (WebCore::FixedTableLayout::layout):
19032        * rendering/FixedTableLayout.h:
19033        * rendering/RenderTable.h:
19034        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Renamed, but not changed yet.
19035
190362010-11-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
19037
19038        Unreviewed build fix for r71253
19039
19040        #endif for TILED_BACKING_STORE was at the wrong place.
19041
19042        * platform/graphics/qt/GraphicsLayerQt.cpp:
19043        (WebCore::GraphicsLayerQtImpl::tiledBackingStoreBackgroundColor):
19044
190452010-11-03  David Hyatt  <hyatt@apple.com>
19046
19047        Reviewed by Dan Bernstein.
19048
19049        https://bugs.webkit.org/show_bug.cgi?id=48945
19050        
19051        Patch logicalLeftSelectionOffset and logicalRightSelectionOffset to be directionally abstract.
19052        
19053        Also make sure writing mode roots are also selection painting roots.
19054
19055        * rendering/RenderBlock.cpp:
19056        (WebCore::RenderBlock::isSelectionRoot):
19057        (WebCore::RenderBlock::logicalLeftSelectionOffset):
19058        (WebCore::RenderBlock::logicalRightSelectionOffset):
19059        * rendering/RenderBlock.h:
19060
190612010-11-03  Pavel Feldman  <pfeldman@chromium.org>
19062
19063        Reviewed by Timothy Hatcher.
19064
19065        Web Inspector: main resource is being re-assigned upon iframe's commit load.
19066        https://bugs.webkit.org/show_bug.cgi?id=48940
19067
19068        * inspector/front-end/ResourceManager.js:
19069        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
19070        (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
19071
190722010-11-03  Nate Chapin  <japhet@chromium.org>
19073
19074        Reviewed by Alexey Proskuryakov.
19075
19076        Wait to stop all loads for a frame being detached until after its
19077        chidlren have been detached. This ensures that any loads started
19078        by a child's unload event handler will be properly cancelled.
19079        https://bugs.webkit.org/show_bug.cgi?id=46579
19080
19081        Tests: fast/loader/ping-error.html
19082               http/tests/navigation/image-load-in-subframe-unload-handler.html
19083
19084        * loader/FrameLoader.cpp:
19085        (WebCore::FrameLoader::detachFromParent):
19086
190872010-11-03  Pavel Feldman  <pfeldman@chromium.org>
19088
19089        Reviewed by Simon Fraser.
19090
19091        Web Inspector: show proper image size for cached resources.
19092        https://bugs.webkit.org/show_bug.cgi?id=48915
19093
19094        * inspector/front-end/ExtensionServer.js:
19095        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
19096        * inspector/front-end/ImageView.js:
19097        (WebInspector.ImageView.prototype.contentTabSelected.onImageLoad):
19098        (WebInspector.ImageView.prototype.contentTabSelected):
19099        (WebInspector.ImageView.prototype._base64ToSize):
19100        * inspector/front-end/NetworkPanel.js:
19101        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
19102        * inspector/front-end/Resource.js:
19103        (WebInspector.Resource.prototype.set finished):
19104        (WebInspector.Resource.prototype.get content):
19105        (WebInspector.Resource.prototype.requestContent):
19106        (WebInspector.Resource.prototype._innerRequestContent):
19107        * inspector/front-end/ResourceManager.js:
19108        (WebInspector.ResourceManager.requestContent):
19109        * inspector/front-end/SourceView.js:
19110        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
19111
191122010-11-03  Noam Rosenthal  <noam.rosenthal@nokia.com>
19113
19114        Reviewed by Kenneth Rohde Christiansen.
19115
19116        [Qt] GraphicsLayer: support tiling
19117        https://bugs.webkit.org/show_bug.cgi?id=39691
19118
19119        Add support for TiledBackingStore in GraphicsLayerQt, when a layer is too large.
19120
19121        No new tests. Tests in LayoutTests/compositing/tiling now work with OpenGL enabled.
19122
19123        * platform/graphics/qt/GraphicsLayerQt.cpp:
19124        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
19125        (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
19126        (WebCore::GraphicsLayerQtImpl::recache):
19127        (WebCore::GraphicsLayerQtImpl::paint):
19128        (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaintBegin):
19129        (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaint):
19130        (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaintEnd):
19131        (WebCore::GraphicsLayerQtImpl::tiledBackingStoreContentsRect):
19132        (WebCore::GraphicsLayerQtImpl::tiledBackingStoreBackgroundColor):
19133        (WebCore::GraphicsLayerQtImpl::tiledBackingStoreVisibleRect):
19134
191352010-11-03  Tony Chang  <tony@chromium.org>
19136
19137        Reviewed by Ojan Vafai.
19138
19139        Undo r54932 which inappropriately adjusts font sizes on zoomed pages
19140        https://bugs.webkit.org/show_bug.cgi?id=48890
19141
19142        Test: editing/inserting/page-zoom-font-size.html
19143
19144        * editing/ReplaceSelectionCommand.cpp:
19145        (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
19146
191472010-11-03  Dan Bernstein  <mitz@apple.com>
19148
19149        Reviewed by Dave Hyatt.
19150
19151        Make collapsed borders in tables work with different block flows
19152        https://bugs.webkit.org/show_bug.cgi?id=46191
19153
19154        No new tests since tables don’t support different block flows yet.
19155
19156        This change still doesn’t support cells whose block flow differs from the table’s.
19157
19158        * rendering/AutoTableLayout.cpp:
19159        (WebCore::AutoTableLayout::recalcColumn): Updated for the renaming of styleOrColWidth().
19160        (WebCore::AutoTableLayout::calcEffectiveWidth): Ditto.
19161        * rendering/FixedTableLayout.cpp:
19162        (WebCore::FixedTableLayout::calcWidthArray): Ditto.
19163        * rendering/RenderBlock.cpp:
19164        (WebCore::RenderBlock::computePreferredLogicalWidths): Ditto.
19165        * rendering/RenderTableCell.cpp:
19166        (WebCore::RenderTableCell::styleOrColLogicalWidth): Renamed styleOrColWidth() to this and
19167        changed to use logical widths.
19168        (WebCore::RenderTableCell::computePreferredLogicalWidths): Updated for the above rename.
19169        (WebCore::RenderTableCell::updateLogicalWidth): Renamed updateWidth() to this and changed
19170        to set the logical width.
19171        (WebCore::RenderTableCell::collapsedStartBorder): Changed collapsedLeftBorder() into this.
19172        Note that “start” here will refer to the table’s block flow, not the cell’s, once we allow
19173        the two to differ.
19174        (WebCore::RenderTableCell::collapsedEndBorder): Similar.
19175        (WebCore::RenderTableCell::collapsedBeforeBorder): Similar.
19176        (WebCore::RenderTableCell::collapsedAfterBorder): Similar.
19177        (WebCore::RenderTableCell::collapsedLeftBorder): Resolves “left” to a logical side using
19178        the table’s block flow.
19179        (WebCore::RenderTableCell::collapsedRightBorder): Similar.
19180        (WebCore::RenderTableCell::collapsedTopBorder): Similar.
19181        (WebCore::RenderTableCell::collapsedBottomBorder): Similar.
19182        (WebCore::RenderTableCell::borderStart): Use borderHalfStart().
19183        (WebCore::RenderTableCell::borderEnd): Similar.
19184        (WebCore::RenderTableCell::borderBefore): Similar.
19185        (WebCore::RenderTableCell::borderAfter): Similar.
19186        (WebCore::RenderTableCell::borderHalfLeft): Resolves “left” to a logical side using the
19187        table’s block flow.
19188        (WebCore::RenderTableCell::borderHalfRight): Similar.
19189        (WebCore::RenderTableCell::borderHalfTop): Similar.
19190        (WebCore::RenderTableCell::borderHalfBottom): Similar.
19191        (WebCore::RenderTableCell::borderHalfStart): Added. Uses collapsedStartBorder(). Splits odd
19192        widths based on physical side.
19193        (WebCore::RenderTableCell::borderHalfEnd): Similar.
19194        (WebCore::RenderTableCell::borderHalfBefore): Similar.
19195        (WebCore::RenderTableCell::borderHalfAfter): Similar.
19196        (WebCore::RenderTableCell::collectBorderStyles): Use logical methods.
19197        (WebCore::RenderTableCell::paintCollapsedBorder): Updated.
19198        * rendering/RenderTableCell.h:
19199        * rendering/RenderTableSection.cpp:
19200        (WebCore::RenderTableSection::setCellWidths): Updated for the renaming of updateWidth().
19201        * rendering/style/RenderStyle.cpp:
19202        (WebCore::RenderStyle::borderBefore): Added.
19203        (WebCore::RenderStyle::borderAfter): Added.
19204        (WebCore::RenderStyle::borderStart): Added.
19205        (WebCore::RenderStyle::borderEnd): Adeed.
19206        * rendering/style/RenderStyle.h:
19207
192082010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
19209
19210        Fix Win build correctly after r71244 and r71248
19211
19212        * WebCore.vcproj/WebCore.vcproj: Added XML gobbledygook back.
19213        * dom/DOMAllInOne.cpp: Added files to build into a combined file.
19214
192152010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
19216
19217        Fix Qt, Win builds after r71244.
19218
19219        * WebCore.vcproj/WebCore.vcproj: Removed XML gobbledygook that prevents files from building.
19220        * dom/Text.cpp:
19221        (WebCore::Text::createRenderer): Moved parentOrHost inside ENABLE(SVG) guard.
19222
192232010-11-03  David Hyatt  <hyatt@apple.com>
19224
19225        Reviewed by Dan Bernstein.
19226
19227        https://bugs.webkit.org/show_bug.cgi?id=48928
19228        
19229        Rename all the selection gap functions to not be directionally specific.  Left and Right turn into LogicalLeft and
19230        LogicalRight.  Horizontal becomes Line.  Vertical becomes Block.
19231
19232        * rendering/RenderBlock.cpp:
19233        (WebCore::RenderBlock::selectionGapRectsForRepaint):
19234        (WebCore::RenderBlock::paintSelection):
19235        (WebCore::RenderBlock::fillSelectionGaps):
19236        (WebCore::RenderBlock::fillInlineSelectionGaps):
19237        (WebCore::RenderBlock::fillBlockSelectionGaps):
19238        (WebCore::RenderBlock::fillLineSelectionGap):
19239        (WebCore::RenderBlock::fillBlockSelectionGap):
19240        (WebCore::RenderBlock::fillLogicalLeftSelectionGap):
19241        (WebCore::RenderBlock::fillLogicalRightSelectionGap):
19242        (WebCore::RenderBlock::getSelectionGapInfo):
19243        (WebCore::RenderBlock::logicalLeftSelectionOffset):
19244        (WebCore::RenderBlock::logicalRightSelectionOffset):
19245        * rendering/RenderBlock.h:
19246        * rendering/RootInlineBox.cpp:
19247        (WebCore::RootInlineBox::fillLineSelectionGap):
19248
192492010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
19250
19251        Reviewed by Darin Adler.
19252
19253        Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
19254        https://bugs.webkit.org/show_bug.cgi?id=46015
19255
19256        This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
19257        for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
19258
19259        This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
19260        appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
19261
19262        * Android.mk: Added EventContext, WindowEventContext files.
19263        * CMakeLists.txt: Ditto.
19264        * GNUmakefile.am: Ditto.
19265        * WebCore.gypi: Ditto.
19266        * WebCore.pro: Ditto.
19267        * WebCore.xcodeproj/project.pbxproj: Ditto.
19268        * WebCore.vcproj/WebCore.vcproj: Ditto.
19269        * dom/ContainerNode.cpp:
19270        (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
19271        * dom/EventContext.cpp: Added.
19272        * dom/EventContext.h: Added.
19273        * dom/Node.cpp:
19274        (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
19275        (WebCore::Node::createRendererIfNeeded): Ditto.
19276        (WebCore::Node::parentOrHostNode): Added new helper method.
19277        (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
19278        (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
19279        (WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
19280        (WebCore::Node::topEventContext): Added.
19281        (WebCore::eventHasListeners): Changed to use EventContexts.
19282        (WebCore::Node::dispatchGenericEvent): Ditto.
19283        * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
19284            and changed signature of eventAncestors to use EventContexts.
19285        * dom/Text.cpp:
19286        (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
19287        * inspector/InspectorDOMAgent.cpp:
19288        (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
19289        * page/EventHandler.cpp:
19290        (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
19291        * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
19292        is deleted.
19293        * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
19294        * svg/SVGElement.h: Ditto.
19295        * dom/WindowEventContext.cpp: Added.
19296        * dom/WindowEventContext.h: Added.
19297
192982010-11-02  Mikhail Naganov  <mnaganov@chromium.org>
19299
19300        Reviewed by Pavel Feldman.
19301
19302        Web Inspector: Fix console messages about starting and finishing profiling.
19303
19304        https://bugs.webkit.org/show_bug.cgi?id=48825
19305
19306        * inspector/InspectorProfilerAgent.cpp:
19307        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
19308        * inspector/front-end/ProfilesPanel.js:
19309        (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
19310
193112010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
19312
19313        Reviewed by Andreas Kling.
19314
19315        chrome.dll!WebCore::SVGLength::SVGLength ...
19316        https://bugs.webkit.org/show_bug.cgi?id=48831
19317
19318        Test: svg/dom/baseVal-animVal-crash.html
19319
19320        * svg/properties/SVGListPropertyTearOff.h:
19321        (WebCore::SVGListPropertyTearOff::initialize): Renamed removeItemFromListIfNeeded to processIncomingListItem, to reflect its new job.
19322        (WebCore::SVGListPropertyTearOff::insertItemBefore): Ditto.
19323        (WebCore::SVGListPropertyTearOff::replaceItem): Ditto.
19324        (WebCore::SVGListPropertyTearOff::appendItem): Ditto.
19325        (WebCore::SVGListPropertyTearOff::processIncomingListItem): Copy incoming item, if necessary, see inline comments.
19326        * svg/properties/SVGPropertyTearOff.h:
19327        (WebCore::SVGPropertyTearOff::detachWrapper): Remove association with SVGAnimatedProperty, when wrapper is detached.
19328
193292010-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19330
19331        Reviewed by Andreas Kling.
19332
19333        Make it possible to delegate scrolling to the UI
19334        https://bugs.webkit.org/show_bug.cgi?id=48907
19335
19336        Add a WebCore setting for delegating scrolling to the actual
19337        WebKit view, which means that setScrollPosition will call
19338        scrollContents directly without going though the scrollbar
19339        code.
19340
19341        * page/FrameView.cpp:
19342        (WebCore::FrameView::delegatesScrolling):
19343        * page/FrameView.h:
19344        * page/Settings.cpp:
19345        (WebCore::Settings::Settings):
19346        (WebCore::Settings::setShouldDelegateScrolling):
19347        * page/Settings.h:
19348        (WebCore::Settings::shouldDelegateScrolling):
19349        * platform/ScrollView.cpp:
19350        (WebCore::ScrollView::setScrollPosition):
19351        * platform/ScrollView.h:
19352        (WebCore::ScrollView::delegatesScrolling):
19353
193542010-11-03  Patrick Gansterer  <paroga@webkit.org>
19355
19356        Reviewed by Adam Roben.
19357
19358        [WINCE] Add SharedBitmap
19359        https://bugs.webkit.org/show_bug.cgi?id=28272
19360
19361        SharedBitmap is a helper class used as NativeImagePtr for WinCE.
19362        It's wide used by WinCE graphics files as a replacement of HBITMAP.
19363
19364        Originally written by Yong Li <yong.li@torchmobile.com>.
19365
19366        * platform/graphics/wince/GraphicsContextWinCE.cpp:
19367        (WebCore::TransparentLayerDC::TransparentLayerDC):
19368        (WebCore::TransparentLayerDC::~TransparentLayerDC):
19369        (WebCore::ScopeDCProvider::ScopeDCProvider):
19370        (WebCore::ScopeDCProvider::~ScopeDCProvider):
19371        (WebCore::GraphicsContext::drawText):
19372        * platform/graphics/wince/SharedBitmap.cpp: Added.
19373        (WebCore::SharedBitmap::create):
19374        (WebCore::SharedBitmap::SharedBitmap):
19375        (WebCore::SharedBitmap::~SharedBitmap):
19376        (WebCore::SharedBitmap::resetPixels):
19377        (WebCore::convert32To16):
19378        (WebCore::SharedBitmap::to16bit):
19379        (WebCore::SharedBitmap::freeMemory):
19380        (WebCore::SharedBitmap::createHandle):
19381        (WebCore::SharedBitmap::ensureHandle):
19382        (WebCore::SharedBitmap::draw):
19383        (WebCore::SharedBitmap::clipBitmap):
19384        (WebCore::drawPatternSimple):
19385        (WebCore::normalizePhase):
19386        (WebCore::SharedBitmap::drawPattern):
19387        (WebCore::SharedBitmap::DCProvider::getDC):
19388        (WebCore::SharedBitmap::DCProvider::releaseDC):
19389        (WebCore::SharedBitmap::clearPixels):
19390        * platform/graphics/wince/SharedBitmap.h: Added.
19391        (WebCore::DCProvider::getDC):
19392        (WebCore::DCProvider::releaseDC):
19393        (WebCore::DCProvider::DCHolder::DCHolder):
19394        (WebCore::DCProvider::DCHolder::~DCHolder):
19395        (WebCore::DCProvider::DCHolder::set):
19396        (WebCore::DCProvider::DCHolder::get):
19397        (WebCore::DCProvider::DCHolder::clearInternal):
19398        (WebCore::DCProvider::DCHolder::setInternal):
19399
194002010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
19401
19402        Reviewed by Dirk Schulze.
19403
19404        chrome.dll!WebCore::SVGListPropertyTearOff<...>::getItem ReadAV@NULL (578c0f7f21ca517ba29a4eafb7099c1b)
19405        https://bugs.webkit.org/show_bug.cgi?id=48829
19406
19407        Share SVGPropertyTearOff wrapper cache between SVGAnimatedListPropertyTearOff::baseVal/animVal.
19408        When modifying the list through baseVal, and then grabbing the animVal list an assertion was fired,
19409        as the wrapper cache was out of sync with the underlying SVG*List vector.
19410
19411        Test: svg/dom/baseVal-animVal-list-crash.html
19412
19413        * svg/properties/SVGAnimatedListPropertyTearOff.h:
19414        (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
19415        (WebCore::SVGAnimatedListPropertyTearOff::animVal):
19416        (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
19417        (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
19418        (WebCore::SVGAnimatedListPropertyTearOff::values):
19419        (WebCore::SVGAnimatedListPropertyTearOff::wrappers):
19420        (WebCore::SVGAnimatedListPropertyTearOff::create):
19421        (WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
19422        * svg/properties/SVGListPropertyTearOff.h:
19423        (WebCore::SVGListPropertyTearOff::create):
19424        (WebCore::SVGListPropertyTearOff::removeItemFromList):
19425        (WebCore::SVGListPropertyTearOff::clear):
19426        (WebCore::SVGListPropertyTearOff::numberOfItems):
19427        (WebCore::SVGListPropertyTearOff::initialize):
19428        (WebCore::SVGListPropertyTearOff::getItem):
19429        (WebCore::SVGListPropertyTearOff::insertItemBefore):
19430        (WebCore::SVGListPropertyTearOff::replaceItem):
19431        (WebCore::SVGListPropertyTearOff::removeItem):
19432        (WebCore::SVGListPropertyTearOff::appendItem):
19433        (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
19434        (WebCore::SVGListPropertyTearOff::commitChange):
19435
194362010-11-02  Ilya Tikhonovsky  <loislo@chromium.org>
19437
19438        Reviewed by Pavel Feldman.
19439
19440        Web Inspector: Remove obsolete code.
19441        It is not required to push onload and DOMContentLoaded events times to the fresh instance of Inspector.
19442        Network Panel is showing the markers only after reloading the inspected page.
19443        https://bugs.webkit.org/show_bug.cgi?id=48854
19444
19445        * inspector/InspectorController.cpp:
19446        (WebCore::InspectorController::InspectorController):
19447        (WebCore::InspectorController::populateScriptObjects):
19448        (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
19449        (WebCore::InspectorController::mainResourceFiredLoadEvent):
19450        * inspector/InspectorController.h:
19451
194522010-11-03  Pavel Feldman  <pfeldman@chromium.org>
19453
19454        Reviewed by Jeremy Orlow.
19455
19456        Web Inspector: brush up breakpoints UI and UX.
19457        https://bugs.webkit.org/show_bug.cgi?id=48901
19458
19459        * inspector/front-end/BreakpointManager.js:
19460        (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
19461        (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
19462        * inspector/front-end/BreakpointsSidebarPane.js:
19463        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpointItem):
19464        (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
19465        (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
19466        (WebInspector.BreakpointItem):
19467        * inspector/front-end/ElementsTreeOutline.js:
19468        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
19469        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
19470        * inspector/front-end/PropertiesSection.js:
19471        (WebInspector.PropertiesSection):
19472        * inspector/front-end/inspector.css:
19473        (.monospace):
19474        (body.platform-mac.platform-mac-snowleopard .source-code):
19475        (body.platform-windows .monospace, body.platform-windows .source-code):
19476        (body.platform-linux .monospace, body.platform-linux .source-code):
19477        (.source-code):
19478        (.section .header):
19479        (.section .header::before):
19480        (.section .header .title, .event-bar .header .title):
19481        (.section .header .subtitle, .event-bar .header .subtitle):
19482        (.section.expanded .properties, .event-bar.expanded .event-properties):
19483        (.event-listener-breakpoints .event-category):
19484        (.event-listener-breakpoints.properties-tree .children li):
19485        (.event-listener-breakpoints .checkbox-elem):
19486        (.event-bar):
19487        (.event-bars .event-bar .header .title):
19488        (.event-bars .event-bar .header::before):
19489        (.pane > .body .info):
19490        (.pane > .body .placard + .info):
19491        (ol.breakpoint-list):
19492        (.breakpoint-list li):
19493        (.pane .breakpoint-hit):
19494        (.cursor-pointer):
19495        (.cursor-auto):
19496
194972010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
19498
19499        Not reviewed.
19500
19501        Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
19502        https://bugs.webkit.org/show_bug.cgi?id=48898
19503
19504        Fix Chromium/V8 build for real, verified using a local ToT Chromium build.
19505
19506        * bindings/scripts/CodeGeneratorV8.pm:
19507
195082010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
19509
19510        Not reviewed.
19511
19512        Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
19513        https://bugs.webkit.org/show_bug.cgi?id=48898
19514
19515        Next attempt to fix the Chromium/V8 builds - a class forward in the headers was still missing.
19516
19517        * bindings/scripts/CodeGeneratorV8.pm: Add SVGStringListPropertyTearOff in the V8SVGStringList header.
19518
195192010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
19520
19521        Not reviewed.
19522
19523        Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
19524        https://bugs.webkit.org/show_bug.cgi?id=48898
19525
19526        Attempt to fix the Chromium/V8 builds.
19527
19528        * bindings/scripts/CodeGeneratorV8.pm: Add missing "SVGStringListPropertyTearOff.h" include, also replaces some commas by semicolons (no idea why it worked before, Perl is not strict...)
19529
195302010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
19531
19532        Reviewed by Dirk Schulze.
19533
19534        Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
19535        https://bugs.webkit.org/show_bug.cgi?id=48898
19536
19537        Convert SVGAnimatedString/SVGStringList to the new svg animated type concept.
19538        SVGStringList is special compared to all other SVG*Lists, as it returns non-live elements.
19539        That means myStringList.getItem(0) = 'foobar' doesn't take effect.
19540
19541        When appending an item to a SVGStringList, that has been taken from another list, it's not removed from the list origin.
19542        That demanded a new SVGStringListPropertyTearOff which does just that.
19543
19544        Tests: svg/W3C-SVG-1.1-SE/types-dom-06-f.svg
19545               svg/dom/SVGStringList.html
19546
19547        * GNUmakefile.am: Add SVGAnimatedString.h / SVGStringListPropertyTearOff.h to build.
19548        * WebCore.gypi: Ditto.
19549        * WebCore.pro: Ditto.
19550        * WebCore.vcproj/WebCore.vcproj: Ditto.
19551        * WebCore.xcodeproj/project.pbxproj: Ditto.
19552        * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedString as new style svg animated type. Map SVGStringList to SVGStringListPropertyTearOff.
19553        * bindings/scripts/CodeGeneratorJS.pm: Handle SVGStringListPropertyTearOff in GetSVGPropertyTypes.
19554        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
19555        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
19556        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedString handling.
19557        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
19558        * svg/SVGAElement.cpp: Renamed target to svgTarget() to avoid clashes with Element::target(), adjust the bindings to call svgTarget() instead of target(), when processing SVGAElement.
19559        (WebCore::SVGAElement::parseMappedAttribute):
19560        (WebCore::SVGAElement::synchronizeProperty):
19561        * svg/SVGAElement.h:
19562        * svg/SVGAltGlyphElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
19563        * svg/SVGAnimatedString.h: Added.
19564        * svg/SVGCursorElement.h: Ditto.
19565        * svg/SVGFEBlendElement.h: Ditto.
19566        * svg/SVGFEColorMatrixElement.h: Ditto.
19567        * svg/SVGFEComponentTransferElement.h: Ditto.
19568        * svg/SVGFECompositeElement.h: Ditto.
19569        * svg/SVGFEConvolveMatrixElement.h: Ditto.
19570        * svg/SVGFEDiffuseLightingElement.h: Ditto.
19571        * svg/SVGFEDisplacementMapElement.h: Ditto.
19572        * svg/SVGFEGaussianBlurElement.h: Ditto.
19573        * svg/SVGFEImageElement.h: Ditto.
19574        * svg/SVGFEMergeNodeElement.h: Ditto.
19575        * svg/SVGFEMorphologyElement.h: Ditto.
19576        * svg/SVGFEOffsetElement.h: Ditto.
19577        * svg/SVGFESpecularLightingElement.h: Ditto.
19578        * svg/SVGFETileElement.h: Ditto.
19579        * svg/SVGFilterElement.h: Ditto.
19580        * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
19581        * svg/SVGForeignObjectElement.h: Ditto.
19582        * svg/SVGGradientElement.h: Ditto.
19583        * svg/SVGImageElement.h: Ditto. 
19584        * svg/SVGLengthList.idl: Remove leftover SVGListProperty marker.
19585        * svg/SVGMPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
19586        * svg/SVGPatternElement.h: Ditto.
19587        * svg/SVGScriptElement.h: Ditto.
19588        * svg/SVGStringList.cpp: Make SVGStringList a plain Vector<String>.
19589        (WebCore::SVGStringList::commitChange): React to SVGStringList changes.
19590        (WebCore::SVGStringList::reset):
19591        (WebCore::SVGStringList::parse):
19592        * svg/SVGStringList.h:
19593        (WebCore::SVGStringList::SVGStringList):
19594        * svg/SVGStyledElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
19595        * svg/SVGTRefElement.h: Ditto.
19596        * svg/SVGTests.cpp: Adapt to SVGStringList API changes.
19597        (WebCore::SVGTests::SVGTests):
19598        (WebCore::SVGTests::hasExtension):
19599        (WebCore::SVGTests::isValid):
19600        (WebCore::SVGTests::parseMappedAttribute):
19601        (WebCore::SVGTests::isKnownAttribute):
19602        * svg/SVGTests.h: Ditto.
19603        (WebCore::SVGTests::requiredFeatures):
19604        (WebCore::SVGTests::requiredExtensions):
19605        (WebCore::SVGTests::systemLanguage):
19606        * svg/SVGTextPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
19607        * svg/SVGURIReference.h: Adapt to SVGStringList API changes.
19608        (WebCore::SVGURIReference::~SVGURIReference):
19609        * svg/SVGUseElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
19610        * svg/SVGViewElement.cpp: Adapt to SVGStringList API changes.
19611        (WebCore::SVGViewElement::SVGViewElement):
19612        (WebCore::SVGViewElement::parseMappedAttribute):
19613        * svg/SVGViewElement.h: Ditto.
19614        (WebCore::SVGViewElement::viewTarget):
19615        * svg/properties/SVGAnimatedPropertyMacros.h: Moved GetOwnerElementForType heleprs from SVGAnimatedPropertySynchronizer into this file.
19616        * svg/properties/SVGAnimatedPropertySynchronizer.h: 
19617        * svg/properties/SVGPropertyTraits.h: Handle SVGStringList.
19618        * svg/properties/SVGStringListPropertyTearOff.h: Added. This is a simplified version of SVGListPropertyTearOff, tied to SVGStringList and its special demands.
19619        (WebCore::SVGStringListPropertyTearOff::create):
19620        (WebCore::SVGStringListPropertyTearOff::clear):
19621        (WebCore::SVGStringListPropertyTearOff::numberOfItems):
19622        (WebCore::SVGStringListPropertyTearOff::initialize):
19623        (WebCore::SVGStringListPropertyTearOff::getItem):
19624        (WebCore::SVGStringListPropertyTearOff::insertItemBefore):
19625        (WebCore::SVGStringListPropertyTearOff::replaceItem):
19626        (WebCore::SVGStringListPropertyTearOff::removeItem):
19627        (WebCore::SVGStringListPropertyTearOff::appendItem):
19628        (WebCore::SVGStringListPropertyTearOff::SVGStringListPropertyTearOff):
19629
196302010-11-03  Zoltan Herczeg  <zherczeg@webkit.org>
19631
19632        Reviewed by Dirk Schulze.
19633
19634        SVG FELighting performance issues
19635        https://bugs.webkit.org/show_bug.cgi?id=48212
19636
19637        This patch speeds-up FELighting filter painting by 40%
19638        It reduces the number of floating point operations and
19639        empolys faster pixel manipulation (both for read and
19640        write). Furthermore the length() member of FloatPoint3D
19641        is made inline to speed up vector length calculations.
19642
19643        The lighting filter pixels tests are cover this patch.
19644
19645        * platform/graphics/FloatPoint3D.cpp:
19646        * platform/graphics/FloatPoint3D.h:
19647        (WebCore::FloatPoint3D::length):
19648        * platform/graphics/filters/FELighting.cpp:
19649        (WebCore::FELighting::LightingData::topLeft):
19650        (WebCore::FELighting::LightingData::topRow):
19651        (WebCore::FELighting::LightingData::topRight):
19652        (WebCore::FELighting::LightingData::leftColumn):
19653        (WebCore::FELighting::LightingData::interior):
19654        (WebCore::FELighting::LightingData::rightColumn):
19655        (WebCore::FELighting::LightingData::bottomLeft):
19656        (WebCore::FELighting::LightingData::bottomRow):
19657        (WebCore::FELighting::LightingData::bottomRight):
19658        (WebCore::FELighting::inlineSetPixel):
19659        (WebCore::FELighting::setPixel):
19660        (WebCore::FELighting::drawLighting):
19661        (WebCore::FELighting::apply):
19662        * platform/graphics/filters/FELighting.h:
19663        * platform/graphics/filters/LightSource.cpp:
19664        (WebCore::PointLightSource::updatePaintingData):
19665        (WebCore::SpotLightSource::updatePaintingData):
19666        (WebCore::DistantLightSource::initPaintingData):
19667        * platform/graphics/filters/LightSource.h:
19668
196692010-11-03  Daniel Bates  <dbates@rim.com>
19670
19671        Reviewed by Adam Barth.
19672
19673        For unnamed frames, window.name returns a generated name
19674        https://bugs.webkit.org/show_bug.cgi?id=6751
19675
19676        Part 2 of 2.
19677
19678        Fixes an issue where the window.name of an unnamed frame returns
19679        a unique generated name that is used internally to identify the
19680        frame. Instead, we should return an empty string as implied by
19681        section 5.1.6 of the HTML5 spec. (http://www.w3.org/TR/html5/browsers.html#browsing-context-names).
19682        This section describes that a browsing context can have no name or be
19683        the empty string.
19684
19685        * html/HTMLFrameElementBase.cpp:
19686        (WebCore::HTMLFrameElementBase::openURL): Removed ASSERT for empty
19687        frame name since this is valid as per the HTML5 spec.
19688        (WebCore::HTMLFrameElementBase::setName): Removed the call to FrameTree::uniqueChildName()
19689        since the loader code no longer depends on the frame name being unique.
19690        * page/DOMWindow.cpp:
19691        (WebCore::DOMWindow::name): Modified to call FrameTree::name().
19692        * page/FrameTree.cpp:
19693        (WebCore::FrameTree::setName):
19694        (WebCore::FrameTree::clearName):
19695        * page/FrameTree.h:
19696        (WebCore::FrameTree::name): Re-added; returns the DOM-specified name of the
19697        frame. Previously, this method returned the internal frame name.
19698
196992010-11-03  takano takumi  <takano1@asia.apple.com>
19700
19701        Reviewed by Dan Bernstein.
19702
19703        Add text-combine property to our property list. Reflect the setting to a RenderStyle object.
19704        https://bugs.webkit.org/show_bug.cgi?id=48608
19705
19706        Test: fast/text/international/text-combine-parser-test.html
19707
19708        * css/CSSComputedStyleDeclaration.cpp: Added text-combine property support.
19709        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
19710        * css/CSSParser.cpp: Added text-combine property support.
19711        (WebCore::CSSParser::parseValue):
19712        * css/CSSPrimitiveValueMappings.h: Added a primitive value mapper for text-combine
19713        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
19714        (WebCore::CSSPrimitiveValue::operator TextCombine):
19715        * css/CSSPropertyNames.in: Added "text-combine".
19716        * css/CSSStyleSelector.cpp: Added text-combine property support.
19717        (WebCore::CSSStyleSelector::applyProperty):
19718        * css/CSSValueKeywords.in: Added values for text-combine.
19719        * rendering/style/RenderStyle.cpp:
19720        (WebCore::RenderStyle::diff): Added check of text-combine value.
19721        * rendering/style/RenderStyle.h: Added accessors for text-combine.
19722        (WebCore::InheritedFlags::textCombine):
19723        (WebCore::InheritedFlags::setTextCombine):
19724        (WebCore::InheritedFlags::initialTextCombine):
19725        * rendering/style/RenderStyleConstants.h:
19726        * rendering/style/StyleRareNonInheritedData.cpp: Added text-combine property support.
19727        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
19728        (WebCore::StyleRareNonInheritedData::operator==):
19729        * rendering/style/StyleRareNonInheritedData.h: Added text-combine entry for RenderStyle object here.
19730
197312010-11-02  Daniel Bates  <dbates@rim.com>
19732
19733        Reviewed by Adam Barth.
19734
19735        For unnamed frames, window.name returns a generated name
19736        https://bugs.webkit.org/show_bug.cgi?id=6751
19737
19738        Part 1 of 2.
19739
19740        Towards fixing bug #6751, rename FrameTree::name() to FrameTree::uniqueName(),
19741        which is more descriptive of its purpose. A follow up patch will re-add
19742        FrameTree::name() which will return the DOM-specified name of the frame.
19743
19744        We will also take this opportunity to verify that we have found all the
19745        call sites of FrameTree::name().
19746
19747        * loader/DocumentLoader.cpp:
19748        (WebCore::DocumentLoader::mainResource): Use FrameTree::uniqueName().
19749        * loader/FrameLoader.cpp:
19750        (WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
19751        (WebCore::FrameLoader::commitProvisionalLoad): Ditto.
19752        * loader/HistoryController.cpp:
19753        (WebCore::HistoryController::saveDocumentState): Ditto.
19754        (WebCore::HistoryController::restoreDocumentState): Ditto.
19755        (WebCore::HistoryController::createItem): Ditto.
19756        (WebCore::HistoryController::currentFramesMatchItem): Ditto.
19757        * loader/ProgressTracker.cpp:
19758        (WebCore::ProgressTracker::progressStarted): Ditto.
19759        (WebCore::ProgressTracker::progressCompleted): Ditto.
19760        * loader/archive/cf/LegacyWebArchive.cpp:
19761        (WebCore::LegacyWebArchive::create): Ditto.
19762        * page/DOMWindow.cpp:
19763        (WebCore::DOMWindow::name): Ditto.
19764        * page/FrameTree.cpp:
19765        (WebCore::FrameTree::setName): Ditto.
19766        (WebCore::FrameTree::clearName): Ditto.
19767        (WebCore::FrameTree::uniqueChildName): Ditto.
19768        (WebCore::FrameTree::child): Ditto.
19769        (WebCore::FrameTree::find): Ditto.
19770        * page/FrameTree.h:
19771        (WebCore::FrameTree::uniqueName): Renamed (formerly FrameTree::name()).
19772
197732010-11-02  Chris Rogers  <crogers@google.com>
19774
19775        Reviewed by James Robinson.
19776
19777        Add AudioProcessingEvent files
19778        https://bugs.webkit.org/show_bug.cgi?id=48884
19779
19780        No new tests since audio API is not yet implemented.
19781
19782        * webaudio/AudioProcessingEvent.cpp: Added.
19783        (WebCore::AudioProcessingEvent::create):
19784        (WebCore::AudioProcessingEvent::AudioProcessingEvent):
19785        (WebCore::AudioProcessingEvent::~AudioProcessingEvent):
19786        (WebCore::AudioProcessingEvent::isAudioProcessingEvent):
19787        * webaudio/AudioProcessingEvent.h: Added.
19788        (WebCore::AudioProcessingEvent::inputBuffer):
19789        (WebCore::AudioProcessingEvent::outputBuffer):
19790        * webaudio/AudioProcessingEvent.idl: Added.
19791
197922010-11-02  Al Patrick  <apatrick@chromium.org>
19793
19794        Reviewed by Kenneth Russell.
19795
19796        Added PluginLayerChromium, which composites plugin instances that have an associated OpenGL backing texture.
19797
19798        https://bugs.webkit.org/show_bug.cgi?id=48032
19799
19800        * WebCore.gypi:
19801        * loader/SubframeLoader.cpp
19802        (WebCore::SubframeLoader::loadPlugin):
19803        * platform/graphics/chromium/LayerChromium.cpp:
19804        (WebCore::LayerChromium::setNeedsDisplay):
19805        * platform/graphics/chromium/LayerRendererChromium.cpp:
19806        (WebCore::LayerRendererChromium::initializeSharedObjects):
19807        (WebCore::LayerRendererChromium::cleanupSharedObjects):
19808        * platform/graphics/chromium/LayerRendererChromium.h:
19809        (WebCore::LayerRendererChromium::pluginLayerSharedValues):
19810        * platform/graphics/chromium/PluginLayerChromium.cpp: Added.
19811        (WebCore::PluginLayerChromium::SharedValues::SharedValues):
19812        (WebCore::PluginLayerChromium::SharedValues::~SharedValues):
19813        (WebCore::PluginLayerChromium::create):
19814        (WebCore::PluginLayerChromium::PluginLayerChromium):
19815        (WebCore::PluginLayerChromium::updateContents):
19816        (WebCore::PluginLayerChromium::draw):
19817        * platform/graphics/chromium/PluginLayerChromium.h: Added.
19818        (WebCore::PluginLayerChromium::drawsContent):
19819        (WebCore::PluginLayerChromium::setTextureId):
19820        (WebCore::PluginLayerChromium::SharedValues::shaderProgram):
19821        (WebCore::PluginLayerChromium::SharedValues::shaderSamplerLocation):
19822        (WebCore::PluginLayerChromium::SharedValues::shaderMatrixLocation):
19823        (WebCore::PluginLayerChromium::SharedValues::shaderAlphaLocation):
19824        (WebCore::PluginLayerChromium::SharedValues::initialized):
19825
198262010-11-02  James Simonsen  <simonjam@chromium.org>
19827
19828        Reviewed by Adam Barth.
19829
19830        mathml in html sometimes incorrectly parsed
19831        https://bugs.webkit.org/show_bug.cgi?id=48105
19832
19833        * html/parser/HTMLTreeBuilder.cpp:
19834        (WebCore::HTMLTreeBuilder::processEndTag): Fixed to match HTML5 spec.
19835
198362010-11-02  Chris Guillory  <chris.guillory@google.com>
19837
19838        Reviewed by Dmitry Titov.
19839
19840        Null check obj in AXObjectCache::postPlatformNotification.
19841        https://bugs.webkit.org/show_bug.cgi?id=48896
19842
19843        * accessibility/chromium/AXObjectCacheChromium.cpp:
19844        (WebCore::AXObjectCache::postPlatformNotification):
19845
198462010-11-02  Kavita Kanetkar  <kkanetkar@chromium.org>
19847
19848        Reviewed by Dumitru Daniliuc.
19849
19850        [FileSystem] Support not creating directories when queried by inspector.
19851        https://bugs.webkit.org/show_bug.cgi?id=48169
19852
19853        * fileapi/LocalFileSystem.cpp:
19854        (WebCore::openFileSystem):
19855        (WebCore::LocalFileSystem::readFileSystem):
19856        (WebCore::LocalFileSystem::requestFileSystem):
19857        * fileapi/LocalFileSystem.h:
19858        * platform/AsyncFileSystem.cpp:
19859        (WebCore::AsyncFileSystem::openFileSystem):
19860        * platform/AsyncFileSystem.h:
19861
198622010-11-02  Chris Rogers  <crogers@google.com>
19863
19864        Reviewed by Kenneth Russell.
19865
19866        Add AudioBufferSourceNode files
19867        https://bugs.webkit.org/show_bug.cgi?id=48012
19868
19869        No new tests since audio API is not yet implemented.
19870
19871        * webaudio/AudioBufferSourceNode.cpp: Added.
19872        (WebCore::AudioBufferSourceNode::create):
19873        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
19874        (WebCore::AudioBufferSourceNode::~AudioBufferSourceNode):
19875        (WebCore::AudioBufferSourceNode::process):
19876        (WebCore::AudioBufferSourceNode::provideInput):
19877        (WebCore::AudioBufferSourceNode::readFromBuffer):
19878        (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
19879        (WebCore::AudioBufferSourceNode::reset):
19880        (WebCore::AudioBufferSourceNode::setBuffer):
19881        (WebCore::AudioBufferSourceNode::numberOfChannels):
19882        (WebCore::AudioBufferSourceNode::noteOn):
19883        (WebCore::AudioBufferSourceNode::noteGrainOn):
19884        (WebCore::AudioBufferSourceNode::noteOff):
19885        (WebCore::AudioBufferSourceNode::totalPitchRate):
19886        * webaudio/AudioBufferSourceNode.h: Added.
19887        (WebCore::AudioBufferSourceNode::buffer):
19888        (WebCore::AudioBufferSourceNode::looping):
19889        (WebCore::AudioBufferSourceNode::setLooping):
19890        (WebCore::AudioBufferSourceNode::gain):
19891        (WebCore::AudioBufferSourceNode::playbackRate):
19892        (WebCore::AudioBufferSourceNode::setPannerNode):
19893        * webaudio/AudioBufferSourceNode.idl: Added.
19894
198952010-11-02  Martin Robinson  <mrobinson@igalia.com>
19896
19897        Reviewed by Adam Barth.
19898
19899        [Cairo] Remove PlatformRefPtrCairo
19900        https://bugs.webkit.org/show_bug.cgi?id=48192
19901
19902        Replace PlatformRefPtrCairo with a RefPtr specialization for Cairo and
19903        Fontconfig types. This is the first step toward removing PlatformRefPtr,
19904        whose job is better handled by RefPtr.
19905
19906        * CMakeListsEfl.txt: Update the sources list to include RefPtrCairo
19907        instead of PlatformRefPtrCairo.
19908        * GNUmakefile.am: Ditto.
19909        * WebCore.vcproj/WebCore.vcproj: Ditto.
19910        * platform/graphics/GraphicsContext.h: Replace PlatformRefPtrCairo with
19911        RefPtrCairo.
19912        * platform/graphics/cairo/CairoUtilities.cpp: Ditto.
19913        (WebCore::drawPatternToCairoContext): Ditto.
19914        * platform/graphics/cairo/FontCacheFreeType.cpp: Ditto.
19915        (WebCore::FontCache::getFontDataForCharacters): Ditto.
19916        (WebCore::FontCache::createFontPlatformData): Ditto.
19917        * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Ditto.
19918        (WebCore::FontPlatformData::FontPlatformData): Ditto.
19919        (WebCore::FontPlatformData::initializeWithFontFace): Ditto.
19920        * platform/graphics/cairo/FontPlatformDataFreeType.h: Ditto.
19921        * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
19922        * platform/graphics/cairo/ImageCairo.cpp: Ditto.
19923        * platform/graphics/cairo/RefPtrCairo.cpp: Renamed from WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp.
19924        (WTF::refIfNotNull): Added.
19925        (WTF::derefIfNotNull): Added.
19926        * platform/graphics/cairo/RefPtrCairo.h: Renamed from WebCore/platform/graphics/cairo/PlatformRefPtrCairo.h.
19927        * platform/gtk/CursorGtk.cpp: Replace PlatformRefPtrCairo with
19928        RefPtrCairo.
19929        (WebCore::createNamedCursor): Ditto.
19930        * platform/gtk/DragImageGtk.cpp: Ditto.
19931        (WebCore::scaleDragImage): Ditto.
19932        (WebCore::dissolveDragImageToFraction): Ditto.
19933        * plugins/gtk/PluginViewGtk.cpp: Ditto.
19934        (WebCore::PluginView::paint): Ditto.
19935
199362010-11-02  Chris Rogers  <crogers@google.com>
19937
19938        Reviewed by Kenneth Russell.
19939
19940        Simple followup changes to files affected by AudioNodeInput thread safety
19941        https://bugs.webkit.org/show_bug.cgi?id=48661
19942
19943        No new tests since audio API is not yet implemented.
19944
19945        * webaudio/AudioBasicProcessorNode.cpp:
19946        (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
19947        * webaudio/AudioChannelSplitter.cpp:
19948        (WebCore::AudioChannelSplitter::process):
19949        * webaudio/AudioDestinationNode.cpp:
19950        (WebCore::AudioDestinationNode::initialize):
19951        (WebCore::AudioDestinationNode::uninitialize):
19952        (WebCore::AudioDestinationNode::provideInput):
19953        * webaudio/AudioGainNode.cpp:
19954        (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
19955        * webaudio/AudioPannerNode.cpp:
19956        (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
19957
199582010-11-02  Chris Guillory  <chris.guillory@google.com>
19959
19960        Reviewed by Chris Fleizach.
19961
19962        Chromium: Propagate a document value changed notification on scroll.
19963        https://bugs.webkit.org/show_bug.cgi?id=48817
19964
19965        * accessibility/AccessibilityObject.h:
19966        (WebCore::AccessibilityObject::isAccessibilityScrollbar):
19967        * accessibility/AccessibilityScrollbar.h:
19968        (WebCore::AccessibilityScrollbar::scrollbar):
19969        (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
19970        * accessibility/chromium/AXObjectCacheChromium.cpp:
19971        (WebCore::AXObjectCache::postPlatformNotification):
19972
199732010-11-02  Chris Rogers  <crogers@google.com>
19974
19975        Reviewed by Kenneth Russell.
19976
19977        Add ConvolverNode files
19978        https://bugs.webkit.org/show_bug.cgi?id=47941
19979
19980        No new tests since audio API is not yet implemented.
19981
19982        * webaudio/ConvolverNode.cpp: Added.
19983        (WebCore::ConvolverNode::ConvolverNode):
19984        (WebCore::ConvolverNode::~ConvolverNode):
19985        (WebCore::ConvolverNode::process):
19986        (WebCore::ConvolverNode::reset):
19987        (WebCore::ConvolverNode::initialize):
19988        (WebCore::ConvolverNode::uninitialize):
19989        (WebCore::ConvolverNode::setBuffer):
19990        (WebCore::ConvolverNode::buffer):
19991        * webaudio/ConvolverNode.h: Added.
19992        (WebCore::ConvolverNode::create):
19993        * webaudio/ConvolverNode.idl: Added.
19994
199952010-11-02  Chris Rogers  <crogers@google.com>
19996
19997        Reviewed by Kenneth Russell.
19998
19999        Add RealtimeAnalyser files
20000        https://bugs.webkit.org/show_bug.cgi?id=48810
20001
20002        No new tests since audio API is not yet implemented.
20003
20004        * webaudio/RealtimeAnalyser.cpp: Added.
20005        (WebCore::RealtimeAnalyser::RealtimeAnalyser):
20006        (WebCore::RealtimeAnalyser::~RealtimeAnalyser):
20007        (WebCore::RealtimeAnalyser::reset):
20008        (WebCore::RealtimeAnalyser::setFftSize):
20009        (WebCore::RealtimeAnalyser::writeInput):
20010        (WebCore::RealtimeAnalyser::doFFTAnalysis):
20011        (WebCore::RealtimeAnalyser::getFloatFrequencyData):
20012        (WebCore::RealtimeAnalyser::getByteFrequencyData):
20013        (WebCore::RealtimeAnalyser::getByteTimeDomainData):
20014        * webaudio/RealtimeAnalyser.h: Added.
20015        (WebCore::RealtimeAnalyser::fftSize):
20016        (WebCore::RealtimeAnalyser::frequencyBinCount):
20017        (WebCore::RealtimeAnalyser::setMinDecibels):
20018        (WebCore::RealtimeAnalyser::minDecibels):
20019        (WebCore::RealtimeAnalyser::setMaxDecibels):
20020        (WebCore::RealtimeAnalyser::maxDecibels):
20021        (WebCore::RealtimeAnalyser::setSmoothingTimeConstant):
20022        (WebCore::RealtimeAnalyser::smoothingTimeConstant):
20023        (WebCore::RealtimeAnalyser::magnitudeBuffer):
20024
200252010-11-02  Ilya Sherman  <isherman@chromium.org>
20026
20027        Reviewed by Kent Tamura.
20028
20029        Avoid overlapping label text in autofill popup with icon.
20030        Updates the menu width computation to take the icon width into account.
20031        https://bugs.webkit.org/show_bug.cgi?id=48497
20032
20033        * platform/chromium/PopupMenuChromium.cpp:
20034        (WebCore::PopupListBox::paintRow):
20035        (WebCore::PopupListBox::layout):
20036
200372010-10-28  Zhenyao Mo  <zmo@google.com>
20038
20039        Reviewed by Kenneth Russell.
20040
20041        Perform framebuffer attachment checking upon draw call rather than attachment
20042        https://bugs.webkit.org/show_bug.cgi?id=46318
20043
20044        * html/canvas/WebGLFramebuffer.cpp:
20045        (WebCore::getInternalFormat): Helper function to get an attachment's internal format.
20046        (WebCore::isUninitialized): Helper function to decide if an attachment is initialized or not.
20047        (WebCore::setInitialized): Helper funtion to set an attachment as being initialized.
20048        (WebCore::WebGLFramebuffer::setAttachment): No longer perform buffer initialization at this point.
20049        (WebCore::WebGLFramebuffer::removeAttachment): Ditto.
20050        (WebCore::WebGLFramebuffer::getColorBufferFormat): Make it const.
20051        (WebCore::WebGLFramebuffer::isIncomplete): Attachments conflict check.
20052        (WebCore::WebGLFramebuffer::onAccess): Check atatchment conflicts and buffer initialization if necessary.
20053        (WebCore::WebGLFramebuffer::initializeRenderbuffers): Return a boolean whether the framebuffer is complete or not.
20054        * html/canvas/WebGLFramebuffer.h: Add new function declaration and remove some outdated functions.
20055        (WebCore::WebGLFramebuffer::isColorAttached):
20056        (WebCore::WebGLFramebuffer::isDepthAttached): Make this private.
20057        (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
20058        (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
20059        * html/canvas/WebGLRenderbuffer.h:
20060        (WebCore::WebGLRenderbuffer::setInternalFormat): Also set the renderbuffer as uninitialized.
20061        * html/canvas/WebGLRenderingContext.cpp:
20062        (WebCore::WebGLRenderingContext::bindFramebuffer): No longer perform framebuffer initialization at this point.
20063        (WebCore::WebGLRenderingContext::checkFramebufferStatus): Check WebGL specific attachment conflicts.
20064        (WebCore::WebGLRenderingContext::clear): Call WebGLFramebuffer::onAccess.
20065        (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
20066        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
20067        (WebCore::WebGLRenderingContext::drawArrays): Ditto.
20068        (WebCore::WebGLRenderingContext::drawElements): Ditto.
20069        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): No longer perform framebuffer initialization at this point.
20070        (WebCore::WebGLRenderingContext::readPixels): Call WebGLFramebuffer::onAccess.
20071        (WebCore::WebGLRenderingContext::renderbufferStorage): No longer perform framebuffer initialization at this point.
20072        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
20073
200742010-11-01  Zhenyao Mo  <zmo@google.com>
20075
20076        Reviewed by Kenneth Russell.
20077
20078        blendFunc should generate INVALID_OPERATION if constant color and constant alpha are together as source and destination factors
20079        https://bugs.webkit.org/show_bug.cgi?id=48674
20080
20081        Test: fast/canvas/webgl/webgl-specific.html
20082
20083        * html/canvas/WebGLRenderingContext.cpp:
20084        (WebCore::WebGLRenderingContext::blendFunc):
20085        (WebCore::WebGLRenderingContext::blendFuncSeparate):
20086        * html/canvas/WebGLRenderingContext.h:
20087        (WebCore::WebGLRenderingContext::validateBlendFuncFactors): Helper function to do the checking.
20088
200892010-11-02  Simon Fraser  <simon.fraser@apple.com>
20090
20091        Reviewed by Dan Bernstein.
20092
20093        Overlapped nested iframes show smearing when scrolled
20094        https://bugs.webkit.org/show_bug.cgi?id=48873
20095
20096        A FrameView goes into slow scrolling mode (not blitting) when told that it is
20097        overlapped. However, a nested iframe could still try to use fast scrolling
20098        when its parent is overlapped, which could result in bad rendering.
20099        
20100        Fixed by making useSlowRepaints() and useSlowRepaintsIfNotOverlapped()
20101        walk up their parent chain, asking if their parents also use slow
20102        repaints.
20103        
20104        All the places that call setCanBlitOnScroll() now call
20105        updateCanBlitOnScrollRecursively() to ensure that the canBlitOnScroll
20106        flag is updated correctly on subframes.
20107        
20108        Repaint tests do not work on nested iframes, so added manual test.
20109
20110        * manual-tests/frames/nested-iframe-blit-on-scroll.html: Added.
20111        * manual-tests/frames/resources/blit-on-scroll-subframe.html: Added.
20112        * manual-tests/frames/resources/blit-on-scroll-subsubframe.html: Added.
20113        * page/FrameView.cpp:
20114        (WebCore::FrameView::layout):
20115        (WebCore::FrameView::useSlowRepaints):
20116        (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
20117        (WebCore::FrameView::updateCanBlitOnScrollRecursively):
20118        (WebCore::FrameView::setUseSlowRepaints):
20119        (WebCore::FrameView::addSlowRepaintObject):
20120        (WebCore::FrameView::removeSlowRepaintObject):
20121        (WebCore::FrameView::addFixedObject):
20122        (WebCore::FrameView::removeFixedObject):
20123        (WebCore::FrameView::setIsOverlapped):
20124        (WebCore::FrameView::setContentIsOpaque):
20125        * page/FrameView.h:
20126
201272010-11-02  Simon Fraser  <simon.fraser@apple.com>
20128
20129        Reviewed by Dan Bernstein.
20130
20131        Iframes nested inside a compositing layer don't repaint correctly
20132        https://bugs.webkit.org/show_bug.cgi?id=48880
20133        <rdar://problem/8194698>
20134        
20135        The isEnclosedInCompositingLayer() is used to modify the behavior of
20136        -[WebClipView visibleRect:] in WebKit, so that scrolling-related repaints
20137        are correct in composited iframes. Previously it only asked whether the
20138        frame's renderer was in a compositing layer, but we actually need to
20139        consult all ancestors.
20140        
20141        Test: compositing/iframes/nested-iframe-scrolling.html
20142
20143        * page/FrameView.cpp:
20144        (WebCore::FrameView::isEnclosedInCompositingLayer):
20145
201462010-11-02  David Hyatt  <hyatt@apple.com>
20147
20148        Reviewed by Dan Bernstein.
20149
20150        https://bugs.webkit.org/show_bug.cgi?id=48672
20151        
20152        Make vertical glyph offset hit testing work with inline boxes.  This allows selection to paint
20153        properly for vertical text (although gap-filling is still broken).
20154        
20155        Refactored and cleaned up the writing mode flipping functions, and also did some cleanup to
20156        better share code between hit testing and painting.
20157
20158        * rendering/InlineBox.cpp:
20159        (WebCore::InlineBox::locationIncludingFlipping):
20160        (WebCore::InlineBox::flipForWritingMode):
20161        * rendering/InlineBox.h:
20162        * rendering/InlineFlowBox.cpp:
20163        (WebCore::InlineFlowBox::nodeAtPoint):
20164        (WebCore::InlineFlowBox::paint):
20165        (WebCore::InlineFlowBox::paintBoxDecorations):
20166        (WebCore::InlineFlowBox::paintMask):
20167        * rendering/InlineTextBox.cpp:
20168        (WebCore::InlineTextBox::selectionRect):
20169        (WebCore::InlineTextBox::nodeAtPoint):
20170        (WebCore::InlineTextBox::paint):
20171        (WebCore::InlineTextBox::textPos):
20172        (WebCore::InlineTextBox::offsetForPosition):
20173        (WebCore::InlineTextBox::positionForOffset):
20174        * rendering/RenderBlock.cpp:
20175        (WebCore::RenderBlock::paintChildren):
20176        (WebCore::RenderBlock::paintFloats):
20177        (WebCore::RenderBlock::hitTestFloats):
20178        (WebCore::RenderBlock::hitTestContents):
20179        * rendering/RenderBox.cpp:
20180        (WebCore::RenderBox::computeRectForRepaint):
20181        (WebCore::RenderBox::flipForWritingMode):
20182        (WebCore::RenderBox::locationOffsetIncludingFlipping):
20183        * rendering/RenderBox.h:
20184        * rendering/RenderInline.cpp:
20185        (WebCore::RenderInline::clippedOverflowRectForRepaint):
20186        * rendering/RenderLineBoxList.cpp:
20187        (WebCore::RenderLineBoxList::rangeIntersectsRect):
20188        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
20189        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
20190        (WebCore::RenderLineBoxList::paint):
20191        (WebCore::RenderLineBoxList::hitTest):
20192        * rendering/RenderLineBoxList.h:
20193        * rendering/RenderText.cpp:
20194        (WebCore::RenderText::positionForPoint):
20195
201962010-11-02  Adam Barth  <abarth@webkit.org>
20197
20198        Reviewed by Eric Seidel.
20199
20200        JPEG decoders should understand color profiles
20201        https://bugs.webkit.org/show_bug.cgi?id=48819
20202
20203        This patch is currently a no-op because no one defines USE(ICCJPEG).
20204        We'll enable this for Chromium Mac once we have ICCJPEG landed in
20205        Chromium's third_party directory.
20206
20207        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
20208        (WebCore::readColorProfile):
20209        (WebCore::JPEGImageReader::JPEGImageReader):
20210        (WebCore::JPEGImageReader::decode):
20211        (WebCore::JPEGImageDecoder::outputScanlines):
20212        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
20213        (WebCore::JPEGImageDecoder::setColorProfile):
20214
202152010-11-02  Mihai Parparita  <mihaip@chromium.org>
20216
20217        Reviewed by Adam Barth.
20218
20219        [Chromium] Crash when encountering history.back() call during Page::goToItem execution
20220        https://bugs.webkit.org/show_bug.cgi?id=48477
20221        
20222        For the Chromium port, BackForwardList::itemAtIndex synthesizes a 
20223        HistoryItem and saves a pointer to it in m_pendingItem. During 
20224        Page::goToItem we call FrameLoader::stopAllLoaders, which can trigger
20225        onload handlers (if a subframe was not considered committed by the frame
20226        loader). If one of those handlers calls calls history.back() or another
20227        operation that ends up in NavigationScheduler::scheduleHistoryNavigation,
20228        we would call BackForwardList::itemAtIndex, which means that we would 
20229        lose the m_pendingItem RefPtr that pointed to the item being navigated 
20230        to, causing its ref count to go to 0*, and thus for the HistoryItem to
20231        be deleted before we were done navigating to it.
20232        
20233        This is fixed in two ways:
20234        - Add a protector RefPtr in Page::goToItem to make sure that the item is
20235          still around for when we pass it to HistoryController:goToItem.
20236        - Change NavigationScheduler::scheduleHistoryNavigation to not use
20237          BackForwardList::itemAtIndex and instead look at the
20238          forward/backListCount() (since it doesn't actually care about the
20239          returned HistoryItem).
20240        
20241        * Full annotated stack trace of this is at http://crbug.com/59554#c9.        
20242
20243        Test: http/tests/history/back-during-onload-triggered-by-back.html
20244
20245        * loader/NavigationScheduler.cpp:
20246        (WebCore::NavigationScheduler::scheduleHistoryNavigation):
20247        * page/Page.cpp:
20248        (WebCore::Page::goToItem):
20249
202502010-10-28  Zhenyao Mo  <zmo@google.com>
20251
20252        Reviewed by Kenneth Russell.
20253
20254        Update getUniform for bvec[234] to return boolean[] rather than Uint8Array
20255        https://bugs.webkit.org/show_bug.cgi?id=47568
20256
20257        * html/canvas/WebGLRenderingContext.cpp:
20258        (WebCore::WebGLRenderingContext::getUniform):
20259
202602010-11-02  Chris Rogers  <crogers@google.com>
20261
20262        Reviewed by Kenneth Russell.
20263
20264        Add RealtimeAnalyserNode files
20265        https://bugs.webkit.org/show_bug.cgi?id=48798
20266
20267        No new tests since audio API is not yet implemented.
20268
20269        * webaudio/RealtimeAnalyserNode.cpp: Added.
20270        (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
20271        (WebCore::RealtimeAnalyserNode::~RealtimeAnalyserNode):
20272        (WebCore::RealtimeAnalyserNode::process):
20273        (WebCore::RealtimeAnalyserNode::pullInputs):
20274        (WebCore::RealtimeAnalyserNode::reset):
20275        * webaudio/RealtimeAnalyserNode.h: Added.
20276        (WebCore::RealtimeAnalyserNode::create):
20277        (WebCore::RealtimeAnalyserNode::fftSize):
20278        (WebCore::RealtimeAnalyserNode::setFftSize):
20279        (WebCore::RealtimeAnalyserNode::frequencyBinCount):
20280        (WebCore::RealtimeAnalyserNode::setMinDecibels):
20281        (WebCore::RealtimeAnalyserNode::minDecibels):
20282        (WebCore::RealtimeAnalyserNode::setMaxDecibels):
20283        (WebCore::RealtimeAnalyserNode::maxDecibels):
20284        (WebCore::RealtimeAnalyserNode::setSmoothingTimeConstant):
20285        (WebCore::RealtimeAnalyserNode::smoothingTimeConstant):
20286        (WebCore::RealtimeAnalyserNode::getFloatFrequencyData):
20287        (WebCore::RealtimeAnalyserNode::getByteFrequencyData):
20288        (WebCore::RealtimeAnalyserNode::getByteTimeDomainData):
20289        * webaudio/RealtimeAnalyserNode.idl: Added.
20290
202912010-11-02  Sheriff Bot  <webkit.review.bot@gmail.com>
20292
20293        Unreviewed, rolling out r71152.
20294        http://trac.webkit.org/changeset/71152
20295        https://bugs.webkit.org/show_bug.cgi?id=48866
20296
20297        Causes lots and lots of crashes (Requested by jamesr_ on
20298        #webkit).
20299
20300        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
20301        (WebCore::JPEGImageReader::JPEGImageReader):
20302        (WebCore::JPEGImageReader::decode):
20303        (WebCore::JPEGImageDecoder::outputScanlines):
20304        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
20305
203062010-11-02  Alexey Proskuryakov  <ap@apple.com>
20307
20308        Reviewed by Timothy Hatcher.
20309
20310        https://bugs.webkit.org/show_bug.cgi?id=48813
20311        <rdar://problem/8602552> REGRESSION (r63622): DNS prefetching for <link> tags doesn't work
20312        in non-HTTP documents
20313
20314        Cannot test DNS prefetching.
20315
20316        * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): We should be looking at
20317        preferences, not at whether this document has prefetching enabled.
20318
203192010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20320
20321        Not reviewed: Web Inspector: follow up to r71139. Fixed Mac monospace
20322        height style.
20323
20324        * inspector/front-end/PropertiesSection.js:
20325        (WebInspector.PropertiesSection):
20326        * inspector/front-end/inspector.css:
20327
203282010-11-02  Adam Barth  <abarth@webkit.org>
20329
20330        Reviewed by Eric Seidel.
20331
20332        JPEG decoders should understand color profiles
20333        https://bugs.webkit.org/show_bug.cgi?id=48819
20334
20335        This patch is currently a no-op because no one defines USE(ICCJPEG).
20336        We'll enable this for Chromium Mac once we have ICCJPEG landed in
20337        Chromium's third_party directory.
20338
20339        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
20340        (WebCore::readColorProfile):
20341        (WebCore::JPEGImageReader::JPEGImageReader):
20342        (WebCore::JPEGImageReader::decode):
20343        (WebCore::JPEGImageDecoder::outputScanlines):
20344        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
20345        (WebCore::JPEGImageDecoder::setColorProfile):
20346
203472010-11-02  Ilya Sherman  <isherman@chromium.org>
20348
20349        Reviewed by Simon Fraser.
20350
20351        Marks selectionStart() and selectionEnd() as const.
20352        https://bugs.webkit.org/show_bug.cgi?id=48786
20353
20354        * html/HTMLFormControlElement.cpp:
20355        (WebCore::HTMLTextFormControlElement::selectionStart):
20356        (WebCore::HTMLTextFormControlElement::selectionEnd):
20357        * html/HTMLFormControlElement.h:
20358
203592010-11-02  Chris Rogers  <crogers@google.com>
20360
20361        Reviewed by Kenneth Russell.
20362
20363        Fix license for audio files
20364        https://bugs.webkit.org/show_bug.cgi?id=48859
20365
20366        * webaudio/AudioChannelSplitter.cpp:
20367        * webaudio/AudioChannelSplitter.h:
20368        * webaudio/AudioDestinationNode.cpp:
20369        * webaudio/AudioDestinationNode.h:
20370        * webaudio/AudioGainNode.cpp:
20371        * webaudio/AudioGainNode.h:
20372        * webaudio/AudioPannerNode.cpp:
20373        * webaudio/AudioPannerNode.h:
20374        * webaudio/AudioPannerNode.idl:
20375
203762010-11-02  Martin Robinson  <mrobinson@igalia.com>
20377
20378        Reviewed by Xan Lopez.
20379
20380        Remove special handling of HashTableDeletedValue in PlatformRefPtr and manually manage memory that cannot be controlled by HashTraits
20381        https://bugs.webkit.org/show_bug.cgi?id=48841
20382
20383        Switch to manually managing the memory in FontPlatformDataFreeType. This
20384        is necessary because smart pointers do not know how to deal with a pointer
20385        value of -1 (HashTableDeletedValue) and HashTraits can only manage the type
20386        contained in the HashMap. 
20387
20388        No new tests as this should not change functionality.
20389
20390        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
20391        (WebCore::FontPlatformData::FontPlatformData):
20392        (WebCore::FontPlatformData::operator=):
20393        (WebCore::FontPlatformData::~FontPlatformData):
20394        (WebCore::FontPlatformData::operator==):
20395        (WebCore::FontPlatformData::initializeWithFontFace):
20396        * platform/graphics/cairo/FontPlatformDataFreeType.h:
20397        (WebCore::FontPlatformData::FontPlatformData):
20398        (WebCore::FontPlatformData::scaledFont):
20399        (WebCore::FontPlatformData::hash):
20400        (WebCore::FontPlatformData::isHashTableDeletedValue):
20401        (WebCore::FontPlatformData::hashTableDeletedFontValue):
20402        * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp:
20403        (WebCore::GlyphPage::fill):
20404        * platform/graphics/cairo/SimpleFontDataCairo.cpp:
20405        (WebCore::SimpleFontData::platformInit):
20406        (WebCore::SimpleFontData::containsCharacters):
20407        (WebCore::SimpleFontData::platformWidthForGlyph):
20408
204092010-11-02  Adam Barth  <abarth@webkit.org>
20410
20411        Reviewed by Eric Seidel.
20412
20413        querySelectorAll('body>:last-child') does not work unless HTML file ends with 'new-line'.
20414        https://bugs.webkit.org/show_bug.cgi?id=47166
20415
20416        We need to pop all the open elements when we end the document in the
20417        AfterAfterBody state.
20418
20419        Test: fast/parser/pop-all-after-after-body.html
20420
20421        * html/parser/HTMLTreeBuilder.cpp:
20422        (WebCore::HTMLTreeBuilder::processEndOfFile):
20423
204242010-11-02  Patrick Gansterer  <paroga@webkit.org>
20425
20426        Reviewed by Adam Roben.
20427
20428        Cleanup createGlobalImageFileDescriptor in ClipboardWin
20429        https://bugs.webkit.org/show_bug.cgi?id=48189
20430
20431        * platform/win/ClipboardWin.cpp:
20432        (WebCore::ClipboardWin::writeURL):
20433
204342010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20435
20436        Reviewed by Timothy Hatcher.
20437
20438        Web Inspector: display frame names in the resources panel.
20439        https://bugs.webkit.org/show_bug.cgi?id=48839
20440
20441        * inspector/Inspector.idl:
20442        * inspector/InspectorResourceAgent.cpp:
20443        (WebCore::frameId):
20444        (WebCore::buildObjectForDocumentLoader):
20445        (WebCore::buildObjectForFrame):
20446        (WebCore::buildObjectForFrameTree):
20447        (WebCore::InspectorResourceAgent::didCommitLoad):
20448        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
20449        (WebCore::InspectorResourceAgent::frameForId):
20450        (WebCore::InspectorResourceAgent::resourceContent):
20451        * inspector/InspectorResourceAgent.h:
20452        * inspector/front-end/ResourceManager.js:
20453        (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
20454        (WebInspector.ResourceManager.prototype._processCachedResources):
20455        (WebInspector.ResourceManager.prototype._addFramesRecursively):
20456        (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
20457        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
20458        * inspector/front-end/StoragePanel.js:
20459        (WebInspector.StoragePanel.prototype.addOrUpdateFrame):
20460        (WebInspector.BaseStorageTreeElement.prototype.get titleText):
20461        (WebInspector.FrameTreeElement):
20462        (WebInspector.FrameTreeElement.prototype.onattach):
20463        (WebInspector.FrameTreeElement.prototype.get nameForSorting):
20464        (WebInspector.FrameTreeElement.prototype.setTitles):
20465        (WebInspector.FrameTreeElement.prototype.set hovered):
20466        * inspector/front-end/inspector.css:
20467        (li.selected .base-storage-tree-element-subtitle):
20468        (.base-storage-tree-element-subtitle):
20469
204702010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20471
20472        Not reviewed. Follow up to r71139: removing unused images.
20473        https://bugs.webkit.org/show_bug.cgi?id=48827
20474
20475        * WebCore.gypi:
20476        * inspector/front-end/Images/grayConnectorPoint.png: Removed.
20477        * inspector/front-end/Images/whiteConnectorPoint.png: Removed.
20478        * inspector/front-end/WebKit.qrc:
20479
204802010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20481
20482        Reviewed by Timothy Hatcher.
20483
20484        Web Inspector: make properties and event listeners look consistent with the styles section.
20485        https://bugs.webkit.org/show_bug.cgi?id=48827
20486
20487        * inspector/front-end/EventListenersSidebarPane.js:
20488        * inspector/front-end/PropertiesSection.js:
20489        (WebInspector.PropertiesSection):
20490        * inspector/front-end/PropertiesSidebarPane.js:
20491        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
20492        (WebInspector.PropertiesSidebarPane.prototype.update):
20493        * inspector/front-end/inspector.css:
20494        (.events-pane .section:not(:nth-of-type(1))):
20495        (.event-bar:first-child):
20496        (.section .header):
20497        (.section .header::before):
20498        (.section.expanded .header::before):
20499        (.section .header .title, .event-bar .header .title):
20500        (.section .header .subtitle, .event-bar .header .subtitle):
20501        (.section.expanded .properties, .event-bar.expanded .event-properties):
20502        (.properties-tree):
20503        (.event-bar):
20504        (.event-bars .event-bar .header):
20505        (.event-bars .event-bar .header .title):
20506        (.event-bars .event-bar .header::before):
20507
205082010-11-02  Dan Bernstein  <mitz@apple.com>
20509
20510        Reviewed by Anders Carlsson.
20511
20512        Remove unused methods and member variables from AutoTableLayout.
20513
20514        * rendering/AutoTableLayout.cpp:
20515        (WebCore::AutoTableLayout::AutoTableLayout): Removed initialization of m_percentagesDirty
20516        and m_totalPercent.
20517        (WebCore::AutoTableLayout::fullRecalc): Removed setting of m_percentagesDirty.
20518        (WebCore::AutoTableLayout::calcPercentages): Removed.
20519        * rendering/AutoTableLayout.h: Removed totalPercent(), m_percentagesDirty, and m_totalPercent.
20520
205212010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20522
20523        Reviewed by Timothy Hatcher.
20524
20525        Web Inspector: clear / hide timing information for cached resources.
20526        https://bugs.webkit.org/show_bug.cgi?id=48848
20527
20528        * inspector/front-end/Resource.js:
20529        (WebInspector.Resource.prototype.set cached):
20530        (WebInspector.Resource.prototype.get timing):
20531        (WebInspector.Resource.prototype.set timing):
20532        * inspector/front-end/ResourceManager.js:
20533        (WebInspector.ResourceManager.prototype.markResourceAsCached):
20534
205352010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20536
20537        Reviewed by Timothy Hatcher.
20538
20539        Web Inspector: improve network's 'preview close' usability.
20540        https://bugs.webkit.org/show_bug.cgi?id=48846
20541
20542        * inspector/front-end/networkPanel.css:
20543        (#network-close-button:hover):
20544        (#network-close-button:active):
20545
205462010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20547
20548        Reviewed by Timothy Hatcher.
20549
20550        Web Inspector: Image heights are displayed as 0.
20551        https://bugs.webkit.org/show_bug.cgi?id=40817
20552
20553        * inspector/front-end/ImageView.js:
20554        (WebInspector.ImageView.prototype.contentTabSelected):
20555        (WebInspector.ImageView.prototype.contentTabSelected.onImageLoad):
20556
20557 2010-10-31  Noam Rosenthal  <noam.rosenthal@nokia.com>
20558
20559        Reviewed by Kenneth Rohde Christiansen.
20560
20561        [Texmap] [Qt] Texture mapper initial implementation
20562        https://bugs.webkit.org/show_bug.cgi?id=47070
20563
20564        Some refactor for texmap to enable WebKit2: remove globals, and allow TextureMapper to exist without a GraphicsContext.
20565        This will allow rendering the TextureMapperNode tree without an active QPainter, into the current GL context.
20566        Most of the changes simply move the globas in TextureMapperGL into members of that class.
20567
20568        No new tests. Old tests in LayoutTests/compositing cover this.
20569
20570        * platform/graphics/opengl/TextureMapperGL.cpp:
20571        (WebCore::TextureMapperGLData::ShaderInfo::getUniformLocation):
20572        (WebCore::TextureMapperGLData::ShaderInfo::createShaderProgram):
20573        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
20574        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
20575        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::DirectlyCompositedImageRepository):
20576        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
20577        (WebCore::TextureMapperGLData::TextureMapperGLData):
20578        (WebCore::TextureMapperGL::TextureMapperGL):
20579        (WebCore::TextureMapperGL::drawTexture):
20580        (WebCore::BitmapTextureGL::setContentsToImage):
20581        (WebCore::BitmapTextureGL::destroy):
20582        (WebCore::TextureMapperGL::~TextureMapperGL):
20583        (WebCore::TextureMapperGL::makeContextCurrent):
20584        (WebCore::TextureMapperGL::obtainCurrentContext):
20585        (WebCore::TextureMapperGL::bindSurface):
20586        (WebCore::TextureMapperGL::paintToTarget):
20587        (WebCore::TextureMapperGL::createTexture):
20588        * platform/graphics/opengl/TextureMapperGL.h:
20589        (WebCore::TextureMapperGL::data):
20590        * platform/graphics/qt/TextureMapperQt.cpp:
20591        (WebCore::TextureMapperQt::TextureMapperQt):
20592        (WebCore::TextureMapperQt::setGraphicsContext):
20593        (WebCore::TextureMapper::create):
20594        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
20595        (WebCore::TextureMapperNode::paint):
20596        (WebCore::TextureMapperNode::uploadTextureFromContent):
20597        * platform/graphics/texmap/TextureMapper.h:
20598        (WebCore::TextureMapper::setGraphicsContext):
20599        (WebCore::TextureMapper::setImageInterpolationQuality):
20600        (WebCore::TextureMapper::setTextDrawingMode):
20601        (WebCore::TextureMapper::imageInterpolationQuality):
20602        (WebCore::TextureMapper::textDrawingMode):
20603        (WebCore::TextureMapper::TextureMapper):
20604        * platform/graphics/texmap/TextureMapperPlatformLayer.h:
20605        (WebCore::TextureMapperContentLayer::paint):
20606
20607 2010-11-02  Adele Peterson  <adele@apple.com>
20608
20609        Reviewed by Kent Tamura.
20610
20611        Fix for https://bugs.webkit.org/show_bug.cgi?id=48814
20612        <rdar://problem/8546143> Attempting to redo typing in apple.com/startpage search field causes infinite recursion in TextControlInnerTextElement::defaultEventHandler
20613
20614        Test: editing/undo/redo-after-detach.html
20615
20616        * rendering/TextControlInnerElements.cpp: (WebCore::TextControlInnerTextElement::defaultEventHandler):
20617        A TextControlInnerTextElement will almost always have a shadowAncestorNode, the HTMLInputElement.  In this case, 
20618        after the renderer was destroyed, this shadow node was kept alive by the EditCommand, even though its not hooked up 
20619        anymore to the shadow DOM.  EditCommands can sometimes operate on stale selections and are expected to fail silently.  
20620        So here we prevent the infinite loop during event dispatch, and the rest of the redo operation will fail silently.
20621
206222010-11-02  Chris Marrin  <cmarrin@apple.com>
20623
20624        Reviewed by Simon Fraser.
20625
20626        When animations are paused, play-state can cause them to be unpaused.
20627        https://bugs.webkit.org/show_bug.cgi?id=46525
20628
20629        I Changed updatePlayState() to only unpause when both play-state is 
20630        "running" and not suspended. Likewise I pause animation when either
20631        play-state is "paused" or suspended.
20632
20633        Test: animations/play-state-suspend.html
20634
20635        * page/animation/AnimationBase.cpp:
20636        (WebCore::AnimationBase::updatePlayState):
20637
206382010-11-02  Chris Marrin  <cmarrin@apple.com>
20639
20640        Reviewed by Adam Roben.
20641
20642        Make RenderStyle::playState() return typed value and cleanup naming in Animation code
20643        https://bugs.webkit.org/show_bug.cgi?id=48844
20644
20645        playState() function was returning unsigned value, but there is a EAnimPlayState
20646        enum type which has the legal playState values. This type is now used everywhere.
20647        I also changed the naming of the m_isSuspended to m_suspended to match the style
20648        elsewhere in the code.
20649
20650        * page/animation/AnimationBase.cpp:
20651        (WebCore::AnimationBase::updatePlayState):
20652        * page/animation/AnimationBase.h:
20653        * page/animation/AnimationController.cpp:
20654        (WebCore::AnimationControllerPrivate::clear):
20655        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
20656        * page/animation/CompositeAnimation.cpp:
20657        (WebCore::CompositeAnimation::updateKeyframeAnimations):
20658        (WebCore::CompositeAnimation::suspendAnimations):
20659        (WebCore::CompositeAnimation::resumeAnimations):
20660        * page/animation/CompositeAnimation.h:
20661        (WebCore::CompositeAnimation::suspended):
20662        (WebCore::CompositeAnimation::CompositeAnimation):
20663        * platform/animation/Animation.h:
20664        (WebCore::Animation::playState):
20665        (WebCore::Animation::setPlayState):
20666        (WebCore::Animation::initialAnimationPlayState):
20667
206682010-11-01  Zhenyao Mo  <zmo@google.com>
20669
20670        Reviewed by Andreas Kling.
20671
20672        vertexAttribPointer should generate INVALID_VALUE if the stride exceeds 255
20673        https://bugs.webkit.org/show_bug.cgi?id=48677
20674
20675        Test: fast/canvas/webgl/gl-vertexattribpointer.html
20676
20677        * html/canvas/WebGLRenderingContext.cpp:
20678        (WebCore::WebGLRenderingContext::vertexAttribPointer): Generate INVALID_VALUE if stride > 255.
20679
206802010-11-01  Martin Robinson  <mrobinson@igalia.com>
20681
20682        Reviewed by Xan Lopez.
20683
20684        [Soup] Random crashes in http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html
20685        https://bugs.webkit.org/show_bug.cgi?id=48805
20686
20687        Track active WebSocket handles via a sequential id. This ensures
20688        that when a handle is reallocated into a recently used segment of
20689        memory, it doesn't trigger a false positive in the code which ensures
20690        the original handle is active.
20691
20692        No new tests. This test should stop crashing on the bots, proving the fix.
20693
20694        * platform/network/soup/SocketStreamHandle.h:
20695        (WebCore::SocketStreamHandle::id): Added an m_id member and accessor
20696        to SocketStreamHandle.
20697        * platform/network/soup/SocketStreamHandleSoup.cpp:
20698        (WebCore::getHandleFromId): Updated to work with HashMap of handle ids to
20699        SocketStreamHandle*.
20700        (WebCore::deactivateHandle): Ditto.
20701        (WebCore::activateHandle): Ditto.
20702        (WebCore::SocketStreamHandle::SocketStreamHandle): Ditto.
20703        (WebCore::SocketStreamHandle::connected): Ditto.
20704        (WebCore::SocketStreamHandle::readBytes): Ditto.
20705        (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Ditto.
20706        (WebCore::connectedCallback): Ditto.
20707        (WebCore::readReadyCallback): Ditto.
20708        (WebCore::writeReadyCallback): Ditto.
20709
207102010-11-02  Csaba Osztrogonác  <ossy@webkit.org>
20711
20712        Unreviewed trivial fix.
20713
20714        * WebCore.pro: Remove inspector/InspectorResource.h after r71035.
20715
207162010-11-02  Pavel Podivilov  <podivilov@chromium.org>
20717
20718        Reviewed by Pavel Feldman.
20719
20720        Web Inspector: make xhr breakpoints editable
20721        https://bugs.webkit.org/show_bug.cgi?id=48830
20722
20723        * inspector/front-end/BreakpointManager.js:
20724        (WebInspector.Breakpoint.prototype.set sourceText):
20725        (WebInspector.Breakpoint.prototype.click):
20726        (WebInspector.Breakpoint.prototype.populateLabelElement):
20727        (WebInspector.XHRBreakpoint.prototype.populateEditElement):
20728        * inspector/front-end/BreakpointsSidebarPane.js:
20729        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpointItem):
20730        (WebInspector.BreakpointsSidebarPane.prototype._breakpointItemClicked):
20731        (WebInspector.BreakpointsSidebarPane.prototype._contextMenuEventFired):
20732        (WebInspector.BreakpointsSidebarPane.prototype._addListElement):
20733        (WebInspector.BreakpointsSidebarPane.prototype._removeListElement):
20734        (WebInspector.XHRBreakpointsSidebarPane.addButtonClicked):
20735        (WebInspector.XHRBreakpointsSidebarPane):
20736        (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
20737        (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
20738        (WebInspector.XHRBreakpointsSidebarPane.prototype._breakpointItemClicked):
20739        (WebInspector.BreakpointItem):
20740        (WebInspector.BreakpointItem.prototype.get element):
20741        (WebInspector.BreakpointItem.prototype.click):
20742        (WebInspector.BreakpointItem.prototype.populateEditElement):
20743        (WebInspector.BreakpointItem.prototype.remove):
20744        (WebInspector.BreakpointItem.prototype._hitStateChanged):
20745        (WebInspector.BreakpointItem.prototype._labelChanged):
20746        (WebInspector.BreakpointItem.prototype._createLabelElement):
20747        * inspector/front-end/inspector.js:
20748        (WebInspector.createJSBreakpointsSidebarPane.breakpointAdded):
20749        (WebInspector.createJSBreakpointsSidebarPane):
20750        (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
20751        (WebInspector.createDOMBreakpointsSidebarPane):
20752        (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
20753        (WebInspector.createXHRBreakpointsSidebarPane):
20754
207552010-11-02  Pavel Podivilov  <podivilov@chromium.org>
20756
20757        Reviewed by Pavel Feldman.
20758
20759        Web Inspector: fix for breakpoints not restored on live edit bug
20760        https://bugs.webkit.org/show_bug.cgi?id=48833
20761
20762        * inspector/front-end/ScriptsPanel.js:
20763        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
20764        * inspector/front-end/inspector.js:
20765        (WebInspector.pausedScript):
20766
207672010-11-02  Alexander Pavlov  <apavlov@chromium.org>
20768
20769        Reviewed by Pavel Feldman.
20770
20771        Web Inspector: [REGRESSION] Rule addition/selector editing result in unusable rules
20772        https://bugs.webkit.org/show_bug.cgi?id=48826
20773
20774        * inspector/front-end/CSSStyleModel.js:
20775        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
20776        (WebInspector.CSSStyleModel.prototype.addRule):
20777        * inspector/front-end/StylesSidebarPane.js:
20778        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
20779        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
20780
207812010-11-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
20782
20783        Reviewed by Andreas Kling.
20784
20785        [Qt] Don't include Objective-C sources in SOURCES
20786
20787        * WebCore.pro:
20788
207892010-11-02  Pavel Podivilov  <podivilov@chromium.org>
20790
20791        Reviewed by Pavel Feldman.
20792
20793        Web Inspector: persist native breakpoints in localStorage
20794        https://bugs.webkit.org/show_bug.cgi?id=48711
20795
20796        * inspector/InspectorController.cpp:
20797        (WebCore::InspectorController::disconnectFrontend):
20798        (WebCore::InspectorController::didCommitLoad):
20799        (WebCore::InspectorController::clearNativeBreakpoints):
20800        * inspector/InspectorController.h:
20801        * inspector/front-end/BreakpointManager.js:
20802        (WebInspector.BreakpointManager):
20803        (WebInspector.DOMBreakpoint):
20804        (WebInspector.EventListenerBreakpoint):
20805        (WebInspector.EventListenerBreakpoint.eventNameForUI):
20806        (WebInspector.EventListenerBreakpoint.prototype._uiEventName):
20807        (WebInspector.XHRBreakpoint):
20808        (WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
20809        * inspector/front-end/BreakpointsSidebarPane.js:
20810        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
20811        (WebInspector.BreakpointsSidebarPane.prototype._breakpointHit):
20812        (WebInspector.BreakpointItem.prototype._hitStateChanged):
20813        (WebInspector.EventListenerBreakpointsSidebarPane):
20814        * inspector/front-end/ConsoleView.js:
20815        * inspector/front-end/EventListenersSidebarPane.js:
20816        * inspector/front-end/NetworkPanel.js:
20817        * inspector/front-end/Panel.js:
20818        * inspector/front-end/ResourceView.js:
20819        * inspector/front-end/ScriptsPanel.js:
20820        * inspector/front-end/Settings.js:
20821        (WebInspector.Settings):
20822        (WebInspector.Settings.prototype.inspectedURLChanged):
20823        (WebInspector.Settings.prototype._formatProjectKey):
20824        * inspector/front-end/StoragePanel.js:
20825        * inspector/front-end/StylesSidebarPane.js:
20826        * inspector/front-end/WatchExpressionsSidebarPane.js:
20827        * inspector/front-end/inspector.css:
20828        (.pane .breakpoint-hit):
20829        * inspector/front-end/inspector.js:
20830        (WebInspector.set currentPanel):
20831        (WebInspector.doLoadedDone.onPopulateScriptObjects):
20832        (WebInspector.doLoadedDone):
20833        (WebInspector.reset):
20834        (WebInspector.inspectedURLChanged):
20835
208362010-11-01  Pavel Feldman  <pfeldman@chromium.org>
20837
20838        Reviewed by Joseph Pecoraro.
20839
20840        Web Inspector: use mimeType from cached resource
20841        in case response data contains none.
20842        https://bugs.webkit.org/show_bug.cgi?id=48773
20843
20844        * inspector/InspectorResourceAgent.cpp:
20845        (WebCore::InspectorResourceAgent::didReceiveResponse):
20846        * inspector/front-end/NetworkPanel.js:
20847        (WebInspector.NetworkPanel.prototype._createTable):
20848
208492010-11-01  Andrey Kosyakov  <caseq@chromium.org>
20850
20851        Reviewed by Pavel Feldman.
20852
20853        Web Inspector: [Extensions API] expose API to create properties watch sidebar panes
20854        https://bugs.webkit.org/show_bug.cgi?id=48761
20855
20856        * inspector/front-end/ExtensionAPI.js:
20857        (WebInspector.injectedExtensionAPI.PanelImpl.prototype.createSidebarPane):
20858        (WebInspector.injectedExtensionAPI.PanelImpl.prototype.createWatchExpressionSidebarPane.callbackWrapper):
20859        (WebInspector.injectedExtensionAPI.PanelImpl.prototype.createWatchExpressionSidebarPane):
20860        (WebInspector.injectedExtensionAPI):
20861        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl):
20862        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setExpression):
20863        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject):
20864        * inspector/front-end/ExtensionPanel.js: Added ExtensionWatchSidebarPane
20865        (WebInspector.ExtensionWatchSidebarPane):
20866        (WebInspector.ExtensionWatchSidebarPane.prototype.setObject):
20867        (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
20868        (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate):
20869        (WebInspector.ExtensionWatchSidebarPane.prototype._setObject):
20870        * inspector/front-end/ExtensionServer.js:
20871        (WebInspector.ExtensionServer):
20872        (WebInspector.ExtensionServer.prototype.notifyExtensionWatchSidebarUpdated):
20873        (WebInspector.ExtensionServer.prototype._onCreateSidebar):
20874        (WebInspector.ExtensionServer.prototype._onCreateWatchExpressionSidebarPane):
20875        (WebInspector.ExtensionServer.prototype._createSidebar):
20876        (WebInspector.ExtensionServer.prototype._onSetWatchSidebarContent):
20877        * inspector/front-end/InjectedScript.js:
20878        (injectedScriptConstructor.):
20879        * inspector/front-end/RemoteObject.js: Added a wrapper for local JSON object to simulate RemoteObject interface.
20880        (WebInspector.RemoteObject.fromLocalObject):
20881        (WebInspector.LocalJSONObject):
20882        (WebInspector.LocalJSONObject.prototype.get description):
20883        (WebInspector.LocalJSONObject.prototype.get type):
20884        (WebInspector.LocalJSONObject.prototype.get hasChildren):
20885        (WebInspector.LocalJSONObject.prototype.getOwnProperties):
20886        (WebInspector.LocalJSONObject.prototype.getProperties):
20887        (WebInspector.LocalJSONObject.prototype.isError):
20888
208892010-11-02  Ryuan Choi  <ryuan.choi@samsung.com>
20890
20891        Unreviewed build fix for EFL build with libcurl
20892
20893        [EFL] remove multiple definition with libcurl
20894        https://bugs.webkit.org/show_bug.cgi?id=48499
20895
20896        Add macro to isolate setCookieStoragePrivateBrowsingEnabled from EFL
20897        build because it was duplicated.
20898
20899        * platform/network/curl/CookieJarCurl.cpp:
20900
209012010-11-02  Pavel Feldman  <pfeldman@chromium.org>
20902
20903        Reviewed by Joseph Pecoraro.
20904
20905        Web Inspector: highlight frame on hover in resources panel.
20906        https://bugs.webkit.org/show_bug.cgi?id=48760
20907
20908        * inspector/Inspector.idl:
20909        * inspector/InspectorController.cpp:
20910        (WebCore::InspectorController::highlightFrame):
20911        * inspector/InspectorController.h:
20912        (WebCore::InspectorController::hideFrameHighlight):
20913        * inspector/front-end/StoragePanel.js:
20914        (WebInspector.StoragePanel):
20915        (WebInspector.StoragePanel.prototype.showView):
20916        (WebInspector.StoragePanel.prototype._onmousemove):
20917        (WebInspector.StoragePanel.prototype._onmouseout):
20918        (WebInspector.FrameTreeElement.prototype.onselect):
20919        (WebInspector.FrameTreeElement.prototype.ondeselect):
20920        (WebInspector.FrameTreeElement.prototype.set displayName):
20921        (WebInspector.FrameTreeElement.prototype.set hovered):
20922        * inspector/front-end/inspector.css:
20923        (.storage.panel .sidebar li.selected .selection):
20924        (.storage.panel .sidebar :focus li.selected .selection):
20925        (body.inactive .storage.panel .sidebar li.selected .selection):
20926
209272010-11-02  Nikolas Zimmermann  <nzimmermann@rim.com>
20928
20929        Reviewed by Rob Buis.
20930
20931        Convert SVGPreserveAspectRatio to the new SVGPropertyTearOff concept
20932        https://bugs.webkit.org/show_bug.cgi?id=48822
20933
20934        Convert the next type to use the SVGPropertyTearOffConcept. Just SVGAnimatedTransformList/SVGTransform/SVGStringList are missing.
20935
20936        Tests: svg/dom/SVGAnimatedPreserveAspectRatio.html
20937               svg/dom/SVGPreserveAspectRatio.html
20938
20939        * GNUmakefile.am: Add SVGAnimatedPreserveAspectRatio.h to build.
20940        * WebCore.gypi: Ditto.
20941        * WebCore.pro: Ditto.
20942        * WebCore.vcproj/WebCore.vcproj: Ditto.
20943        * WebCore.xcodeproj/project.pbxproj: Ditto.
20944        * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedPreserveAspectRatio as new style animated type.
20945        * bindings/scripts/CodeGeneratorJS.pm: Remove special SVGPreserveAspectRatio handling.
20946        * bindings/scripts/CodeGeneratorObjC.pm: Always include the type wrapped by SVGPropertyTearOff<> - this was missing before, and now become visible as missing include.
20947        * bindings/scripts/CodeGeneratorV8.pm: Remove special SVGPreserveAspectRatio handling.
20948        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGPreserveAspectRatio handling.
20949        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
20950        * svg/SVGAnimatedPreserveAspectRatio.h: Added.
20951        * svg/SVGFEImageElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
20952        * svg/SVGFitToViewBox.cpp:
20953        (WebCore::SVGFitToViewBox::viewBoxToViewTransform): SVGPreserveAspectRatio::getCTM doesn't need x/y parameters, they were not used anywhere, remove them.
20954        * svg/SVGFitToViewBox.h: Replace includes by class forwards.
20955        * svg/SVGImageElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
20956        * svg/SVGLocatable.cpp: Add SVGNames.h include, to allow Qt to build (thanks ews!).
20957        * svg/SVGMarkerElement.h: Ditto.
20958        * svg/SVGPatternElement.h: Ditto.
20959        * svg/SVGPreserveAspectRatio.cpp: Modernize code, add error handling for align/meetOrSlice covered by the new tests.
20960        (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
20961        (WebCore::SVGPreserveAspectRatio::setAlign):
20962        (WebCore::SVGPreserveAspectRatio::setMeetOrSlice):
20963        (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
20964        (WebCore::SVGPreserveAspectRatio::transformRect):
20965        (WebCore::SVGPreserveAspectRatio::getCTM):
20966        (WebCore::SVGPreserveAspectRatio::valueAsString):
20967        * svg/SVGPreserveAspectRatio.h: Reindented header.
20968        (WebCore::SVGPreserveAspectRatio::align): Inlined.
20969        (WebCore::SVGPreserveAspectRatio::meetOrSlice): Inlined.
20970        * svg/SVGPreserveAspectRatio.idl: Enable StrictTypeChecking for the align/meetOrSlice properties.
20971        * svg/SVGSVGElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
20972        * svg/SVGStyledTransformableElement.h: Add SVGAnimatedPropertyMacros.h include, needed by efl to build (thanks ews!).
20973        * svg/SVGSymbolElement.h: Ditto.
20974        * svg/SVGViewElement.h: Ditto.
20975        * svg/SVGViewSpec.h: Ditto.
20976
209772010-11-01  MORITA Hajime  <morrita@google.com>
20978
20979        Reviewed by Kent Tamura.
20980
20981        @spellcheck attribute at the child of contentEditable node is ignored.
20982        https://bugs.webkit.org/show_bug.cgi?id=48418
20983
20984        Changed to check spellcheck availability against a node under the
20985        selection (caret) instead of the focus. For shadow elements, the
20986        check now refers its host node.  Note that the original code didn't
20987        care shadows because focus is never set on them.
20988        
20989        Test: editing/spelling/spelling-attribute-at-child.html
20990
20991        * dom/Element.h:
20992        * editing/Editor.cpp:
20993        (WebCore::Editor::markMisspellingsOrBadGrammar):
20994        (WebCore::Editor::isSpellCheckingEnabledFor): 
20995        (WebCore::Editor::isSpellCheckingEnabledInFocusedNode): Now just calling isSpellCheckingEnabledFor()
20996        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
20997        * editing/Editor.h:
20998        * platform/ContextMenu.cpp:
20999        (WebCore::ContextMenu::populate):
21000        * rendering/TextControlInnerElements.cpp:
21001        (WebCore::TextControlInnerElement::isSpellCheckingEnabled): Added.
21002        * rendering/TextControlInnerElements.h:
21003
210042010-11-01  Martin Robinson  <mrobinson@igalia.com>
21005
21006        Reviewed by Daniel Bates.
21007
21008        [GTK] PopupMenuGtk has a very confusing if-else block
21009        https://bugs.webkit.org/show_bug.cgi?id=48816
21010
21011        Small code cleanup for PopupMenuGtk.
21012
21013        * platform/gtk/PopupMenuGtk.cpp:
21014        (WebCore::PopupMenuGtk::show):
21015
210162010-11-01  Adam Barth  <abarth@webkit.org>
21017
21018        Reviewed by Eric Seidel.
21019
21020        [Chromium] Add ICC support for PNG on Mac
21021        https://bugs.webkit.org/show_bug.cgi?id=48170
21022
21023        This just pipes the ICC profile from libpng to CoreGraphics.  This
21024        patch would have been a lot prettier on Snow Leopard, but we have to
21025        use a somewhat ugly API to get this to work on Leopard.
21026
21027        This is covered by about infinite tests.
21028
21029        * platform/image-decoders/ImageDecoder.cpp:
21030        (WebCore::RGBA32Buffer::setColorProfile):
21031        * platform/image-decoders/ImageDecoder.h:
21032        * platform/image-decoders/cg/ImageDecoderCG.cpp:
21033        (WebCore::RGBA32Buffer::asNewNativeImage):
21034        * platform/image-decoders/png/PNGImageDecoder.cpp:
21035        (WebCore::PNGImageDecoder::headerAvailable):
21036        (WebCore::PNGImageDecoder::rowAvailable):
21037        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
21038        (WebCore::RGBA32Buffer::setColorProfile):
21039        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
21040        (WebCore::RGBA32Buffer::setColorProfile):
21041
210422010-11-01  Chang Shu  <chang.shu@nokia.com>
21043
21044        Reviewed by Antonio Gomes.
21045
21046        Leave SelectElement key handling without setting event default
21047        handled when the selection reaches the boundary so focus can 
21048        move to neighbor nodes in spatial navigation.
21049        https://bugs.webkit.org/show_bug.cgi?id=48145
21050
21051        * dom/SelectElement.cpp:
21052        (WebCore::SelectElement::listBoxDefaultEventHandler):
21053
210542010-11-01  Sheriff Bot  <webkit.review.bot@gmail.com>
21055
21056        Unreviewed, rolling out r71080.
21057        http://trac.webkit.org/changeset/71080
21058        https://bugs.webkit.org/show_bug.cgi?id=48815
21059
21060        This change caused many crashes on the debug bot. (Requested
21061        by mrobinson on #webkit).
21062
21063        * platform/network/soup/SocketStreamHandle.h:
21064        * platform/network/soup/SocketStreamHandleSoup.cpp:
21065        (WebCore::isActiveHandle):
21066        (WebCore::deactivateHandle):
21067        (WebCore::SocketStreamHandle::SocketStreamHandle):
21068        (WebCore::SocketStreamHandle::connected):
21069        (WebCore::SocketStreamHandle::readBytes):
21070        (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
21071        (WebCore::connectedCallback):
21072        (WebCore::readReadyCallback):
21073        (WebCore::writeReadyCallback):
21074
210752010-11-01  Martin Robinson  <mrobinson@igalia.com>
21076
21077        Reviewed by Xan Lopez.
21078
21079        [Soup] Random crashes in http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html
21080        https://bugs.webkit.org/show_bug.cgi?id=48805
21081
21082        Track active WebSocket handles via a sequential id. This ensures
21083        that when a handle is reallocated into a recently used segment of
21084        memory, it doesn't trigger a false positive in the code which ensures
21085        the original handle is active.
21086
21087        No new tests. This test should stop crashing on the bots, proving the fix.
21088
21089        * platform/network/soup/SocketStreamHandle.h:
21090        (WebCore::SocketStreamHandle::id): Added an m_id member and accessor
21091        to SocketStreamHandle.
21092        * platform/network/soup/SocketStreamHandleSoup.cpp:
21093        (WebCore::getHandleFromId): Updated to work with HashMap of handle ids to
21094        SocketStreamHandle*.
21095        (WebCore::deactivateHandle): Ditto.
21096        (WebCore::activateHandle): Ditto.
21097        (WebCore::SocketStreamHandle::SocketStreamHandle): Ditto.
21098        (WebCore::SocketStreamHandle::connected): Ditto.
21099        (WebCore::SocketStreamHandle::readBytes): Ditto.
21100        (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Ditto.
21101        (WebCore::connectedCallback): Ditto.
21102        (WebCore::readReadyCallback): Ditto.
21103        (WebCore::writeReadyCallback): Ditto.
21104
211052010-11-01  Kent Tamura  <tkent@chromium.org>
21106
21107        Unreviewed. Run sort-Xcode-project-file.
21108
21109        * WebCore.xcodeproj/project.pbxproj:
21110
211112010-11-01  Simon Fraser  <simon.fraser@apple.com>
21112
21113        Reviewed by Dan Bernstein.
21114
21115        Assertion failure in FrameView::layout when clicking on a YouTube video on youtube.com front page
21116        https://bugs.webkit.org/show_bug.cgi?id=44287
21117        
21118        When removing subframes, it's possible for layout() to get called on a FrameView
21119        for a Frame that has been removed from the frame tree. This can happen if the parent
21120        document happens to do a layout() while RenderView still has a reference to the widget
21121        for the removed frame; updateWidgetPosition() will try to force a layout() on the 
21122        subframe.
21123        
21124        Fix by checking that the FrameView's Frame still has a reference to the page before
21125        calling layout() on the subframe.
21126
21127        Test: fast/frames/layout-after-destruction.html
21128
21129        * rendering/RenderWidget.cpp:
21130        (WebCore::RenderWidget::updateWidgetPosition):
21131
211322010-11-01  Sheriff Bot  <webkit.review.bot@gmail.com>
21133
21134        Unreviewed, rolling out r71065.
21135        http://trac.webkit.org/changeset/71065
21136        https://bugs.webkit.org/show_bug.cgi?id=48801
21137
21138        Seem to breake a lot of tests on Chromium bots (Requested by
21139        dimich on #webkit).
21140
21141        * platform/image-decoders/ImageDecoder.cpp:
21142        * platform/image-decoders/ImageDecoder.h:
21143        * platform/image-decoders/cg/ImageDecoderCG.cpp:
21144        (WebCore::RGBA32Buffer::asNewNativeImage):
21145        * platform/image-decoders/png/PNGImageDecoder.cpp:
21146        (WebCore::PNGImageDecoder::headerAvailable):
21147        (WebCore::PNGImageDecoder::rowAvailable):
21148        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
21149        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
21150
211512010-11-01  Matthew Delaney  <mdelaney@apple.com>
21152
21153        Reviewed by Simon Fraser.
21154
21155        Setting attr repeatDur=0 on SVG element causes hang
21156        https://bugs.webkit.org/show_bug.cgi?id=48785
21157
21158        Test: svg/animations/repeatDur-zero.xhtml
21159
21160        * svg/animation/SVGSMILElement.cpp: Fixing bound checking for legal repeatDur values.
21161
211622010-10-31  Adam Barth  <abarth@webkit.org>
21163
21164        Reviewed by Eric Seidel.
21165
21166        [Chromium] Add ICC support for PNG on Mac
21167        https://bugs.webkit.org/show_bug.cgi?id=48170
21168
21169        This just pipes the ICC profile from libpng to CoreGraphics.  This
21170        patch would have been a lot prettier on Snow Leopard, but we have to
21171        use a somewhat ugly API to get this to work on Leopard.
21172
21173        This is covered by about infinite tests.
21174
21175        * platform/image-decoders/ImageDecoder.cpp:
21176        (WebCore::RGBA32Buffer::setColorProfile):
21177        * platform/image-decoders/ImageDecoder.h:
21178        * platform/image-decoders/cg/ImageDecoderCG.cpp:
21179        (WebCore::RGBA32Buffer::asNewNativeImage):
21180        * platform/image-decoders/png/PNGImageDecoder.cpp:
21181        (WebCore::PNGImageDecoder::headerAvailable):
21182        (WebCore::PNGImageDecoder::rowAvailable):
21183        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
21184        (WebCore::RGBA32Buffer::setColorProfile):
21185        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
21186        (WebCore::RGBA32Buffer::setColorProfile):
21187
211882010-11-01  David Hyatt  <hyatt@apple.com>
21189
21190        Reviewed by Dan Bernstein.
21191
21192        https://bugs.webkit.org/show_bug.cgi?id=48776
21193        
21194        Change isVertical() on InlineBox to isHorizontal() instead.  This makes the horizontal code path come
21195        first if you branch on isHorizontal() and makes the code read better (since that's the more common code
21196        path).
21197
21198        * rendering/InlineBox.cpp:
21199        (WebCore::InlineBox::logicalHeight):
21200        * rendering/InlineBox.h:
21201        (WebCore::InlineBox::InlineBox):
21202        (WebCore::InlineBox::isHorizontal):
21203        (WebCore::InlineBox::setIsHorizontal):
21204        (WebCore::InlineBox::width):
21205        (WebCore::InlineBox::height):
21206        (WebCore::InlineBox::logicalLeft):
21207        (WebCore::InlineBox::setLogicalLeft):
21208        (WebCore::InlineBox::logicalTop):
21209        (WebCore::InlineBox::setLogicalTop):
21210        (WebCore::InlineBox::baselinePosition):
21211        (WebCore::InlineBox::lineHeight):
21212        * rendering/InlineFlowBox.cpp:
21213        (WebCore::InlineFlowBox::addToLine):
21214        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
21215        (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
21216        (WebCore::InlineFlowBox::paintFillLayer):
21217        (WebCore::InlineFlowBox::paintBoxDecorations):
21218        (WebCore::InlineFlowBox::paintMask):
21219        * rendering/InlineFlowBox.h:
21220        (WebCore::InlineFlowBox::marginLogicalLeft):
21221        (WebCore::InlineFlowBox::marginLogicalRight):
21222        (WebCore::InlineFlowBox::borderLogicalLeft):
21223        (WebCore::InlineFlowBox::borderLogicalRight):
21224        (WebCore::InlineFlowBox::paddingLogicalLeft):
21225        (WebCore::InlineFlowBox::paddingLogicalRight):
21226        (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
21227        (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
21228        * rendering/InlineTextBox.cpp:
21229        (WebCore::InlineTextBox::selectionRect):
21230        (WebCore::InlineTextBox::applyShadowToGraphicsContext):
21231        (WebCore::paintTextWithShadows):
21232        (WebCore::InlineTextBox::paint):
21233        (WebCore::InlineTextBox::paintDecoration):
21234        * rendering/InlineTextBox.h:
21235        * rendering/RenderBlockLineLayout.cpp:
21236        (WebCore::RenderBlock::createLineBoxes):
21237        * rendering/RenderBox.cpp:
21238        (WebCore::RenderBox::blockDirectionOverflow):
21239        * rendering/RenderBox.h:
21240        * rendering/RenderBoxModelObject.cpp:
21241        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
21242        * rendering/RenderLineBoxList.cpp:
21243        (WebCore::RenderLineBoxList::hitTest):
21244        * rendering/RootInlineBox.cpp:
21245        (WebCore::RootInlineBox::RootInlineBox):
21246        (WebCore::RootInlineBox::placeEllipsis):
21247        * rendering/RootInlineBox.h:
21248        (WebCore::RootInlineBox::baselinePosition):
21249        (WebCore::RootInlineBox::lineHeight):
21250
212512010-11-01  Simon Fraser  <simon.fraser@apple.com>
21252
21253        Reviewed by Dave Hyatt.
21254
21255        Multiple background properties are not retrievable via DOM method getComputedStyle
21256        https://bugs.webkit.org/show_bug.cgi?id=23203
21257        
21258        Return lists of values from getComputedStyle() for multiple backgrounds,
21259        and multiple masks.
21260
21261        Test: fast/backgrounds/multiple-backgrounds-computed-style.html
21262
21263        * css/CSSComputedStyleDeclaration.cpp:
21264        (WebCore::fillSizeToCSSValue):
21265        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
21266
212672010-11-01  David Hyatt  <hyatt@apple.com>
21268
21269        Reviewed by Dan Bernstein.
21270
21271        https://bugs.webkit.org/show_bug.cgi?id=48663
21272
21273        Make repaint invalidation work with vertical lines.  Rewrite linesBoundingBox for RenderText and
21274        RenderInline to give the correct rectangle back for vertical lines.  Also patch linesVisibleOverflowBoundingBox
21275        to give back the correct rectangle for vertical lines.
21276
21277        Fix bugs in the overflow accessors of InlineFlowBox when m_overflow was 0.
21278        
21279        Patch hit testing to also account for "rt" and "bt" blocks.
21280
21281        * rendering/InlineBox.cpp:
21282        (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
21283        * rendering/InlineFlowBox.cpp:
21284        (WebCore::InlineFlowBox::nodeAtPoint):
21285        * rendering/InlineFlowBox.h:
21286        (WebCore::InlineFlowBox::logicalLeftVisibleOverflow):
21287        (WebCore::InlineFlowBox::logicalRightVisibleOverflow):
21288        (WebCore::InlineFlowBox::bottomLayoutOverflow):
21289        (WebCore::InlineFlowBox::rightLayoutOverflow):
21290        (WebCore::InlineFlowBox::bottomVisualOverflow):
21291        (WebCore::InlineFlowBox::rightVisualOverflow):
21292        * rendering/InlineTextBox.cpp:
21293        (WebCore::InlineTextBox::nodeAtPoint):
21294        * rendering/RenderBlock.cpp:
21295        (WebCore::RenderBlock::hitTestFloats):
21296        (WebCore::RenderBlock::hitTestContents):
21297        * rendering/RenderBox.cpp:
21298        (WebCore::RenderBox::computeRectForRepaint):
21299        (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
21300        * rendering/RenderBox.h:
21301        * rendering/RenderInline.cpp:
21302        (WebCore::RenderInline::linesBoundingBox):
21303        (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
21304        (WebCore::RenderInline::clippedOverflowRectForRepaint):
21305        * rendering/RenderText.cpp:
21306        (WebCore::RenderText::linesBoundingBox):
21307
213082010-11-01  Brady Eidson  <beidson@apple.com>
21309
21310        Reviewed by Anders Carlsson.
21311
21312        <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
21313        Context menu support for WebKit 2.
21314
21315        Add a "showContextMenu" call to Chrome/ChromeClient:
21316        * loader/EmptyClients.h:
21317        (WebCore::EmptyChromeClient::showContextMenu):
21318        * page/Chrome.cpp:
21319        (WebCore::Chrome::showContextMenu):
21320        * page/Chrome.h:
21321        * page/ChromeClient.h:
21322
21323        Add a "platform description to ContextMenuItem" creator, will be needed by WebKit2
21324        * platform/ContextMenu.h:
21325        * platform/mac/ContextMenuMac.mm:
21326        (WebCore::contextMenuItemVector):
21327
21328        * platform/mac/ContextMenuItemMac.mm:
21329        (WebCore::ContextMenuItem::checked): WebKit2 ports now need this implemented.
21330
21331        Stub these out to keep their WK2 ports building:
21332        * platform/qt/ContextMenuItemQt.cpp:
21333        (WebCore::ContextMenuItem::checked):
21334        * platform/qt/ContextMenuQt.cpp:
21335        (WebCore::contextMenuItemVector):
21336        * platform/win/ContextMenuItemWin.cpp:
21337        (WebCore::ContextMenuItem::checked):
21338        * platform/win/ContextMenuWin.cpp:
21339        (WebCore::contextMenuItemVector):
21340
213412010-11-01  Eric Carlson  <eric.carlson@apple.com>
21342
21343        Reviewed by Adam Roben.
21344
21345        Seeking by very small increment doesn't generate 'seeked' event
21346        https://bugs.webkit.org/show_bug.cgi?id=48530
21347
21348        Test: media/video-seek-by-small-increment.html
21349
21350        * html/HTMLMediaElement.cpp:
21351        (WebCore::HTMLMediaElement::seek): Ask the media engine for its closest time value so we can
21352        avoid asking it to seek to the current time.
21353
21354        * platform/graphics/MediaPlayer.cpp:
21355        (WebCore::MediaPlayer::mediaTimeForTimeValue): New.
21356        * platform/graphics/MediaPlayer.h:
21357        * platform/graphics/MediaPlayerPrivate.h:
21358        (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue): Ditto.
21359
21360        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
21361        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
21362        (WebCore::MediaPlayerPrivate::mediaTimeForTimeValue): Return the closest value in the movie's time scale.
21363
21364        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
21365        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue): Ditto
21366        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
21367
21368        * platform/graphics/win/QTMovie.cpp:
21369        (QTMovie::timeScale): Return the movie's time scale.
21370        * platform/graphics/win/QTMovie.h:
21371
213722010-11-01  Pavel Feldman  <pfeldman@chromium.org>
21373
21374        Not reviewed: Chromium build fix. Adding missing transitive dependency.
21375
21376        * inspector/InspectorResourceAgent.cpp:
21377
213782010-11-01  Pavel Feldman  <pfeldman@chromium.org>
21379
21380        Not reviewed. Removing references to removed file from project files.
21381
21382        * WebCore.gypi:
21383        * inspector/front-end/WebKit.qrc:
21384        * inspector/front-end/inspector.css:
21385
213862010-11-01  Pavel Feldman  <pfeldman@chromium.org>
21387
21388        Reviewed by Timothy Hatcher.
21389
21390        Web Inspector: remove old resources panel.
21391        https://bugs.webkit.org/show_bug.cgi?id=45657
21392
21393        * CMakeLists.txt:
21394        * English.lproj/localizedStrings.js:
21395        * GNUmakefile.am:
21396        * WebCore.gypi:
21397        * WebCore.pro:
21398        * WebCore.vcproj/WebCore.vcproj:
21399        * WebCore.xcodeproj/project.pbxproj:
21400        * bindings/js/JSInjectedScriptHostCustom.cpp:
21401        * inspector/InjectedScriptHost.cpp:
21402        * inspector/Inspector.idl:
21403        * inspector/InspectorCSSStore.cpp:
21404        * inspector/InspectorController.cpp:
21405        (WebCore::InspectorController::~InspectorController):
21406        (WebCore::InspectorController::connectFrontend):
21407        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
21408        (WebCore::InspectorController::populateScriptObjects):
21409        (WebCore::InspectorController::unbindAllResources):
21410        (WebCore::InspectorController::didCommitLoad):
21411        (WebCore::InspectorController::frameDetachedFromParent):
21412        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
21413        (WebCore::InspectorController::identifierForInitialRequest):
21414        (WebCore::InspectorController::willSendRequest):
21415        (WebCore::InspectorController::markResourceAsCached):
21416        (WebCore::InspectorController::didReceiveResponse):
21417        (WebCore::InspectorController::didReceiveContentLength):
21418        (WebCore::InspectorController::didFinishLoading):
21419        (WebCore::InspectorController::didFailLoading):
21420        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
21421        (WebCore::InspectorController::scriptImported):
21422        (WebCore::InspectorController::didCreateWebSocket):
21423        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
21424        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
21425        (WebCore::InspectorController::didCloseWebSocket):
21426        * inspector/InspectorController.h:
21427        * inspector/InspectorFrontendHost.cpp:
21428        * inspector/InspectorResource.cpp: Removed.
21429        * inspector/InspectorResource.h: Removed.
21430        * inspector/InspectorResourceAgent.cpp:
21431        (WebCore::InspectorResourceAgent::setOverrideContent):
21432        * inspector/InspectorResourceAgent.h:
21433        * inspector/front-end/ConsoleView.js:
21434        (WebInspector.ConsoleView.prototype.addMessage):
21435        (WebInspector.ConsoleView.prototype.clearMessages):
21436        * inspector/front-end/ExtensionServer.js:
21437        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
21438        * inspector/front-end/Images/resourcesSilhouette.png: Removed.
21439        * inspector/front-end/Resource.js:
21440        * inspector/front-end/ResourceManager.js:
21441        (WebInspector.ResourceManager.getContent):
21442        * inspector/front-end/ResourcesPanel.js: Removed.
21443        * inspector/front-end/Settings.js:
21444        * inspector/front-end/StoragePanel.js:
21445        (WebInspector.StoragePanel):
21446        (WebInspector.StoragePanel.prototype.get toolbarItemLabel):
21447        * inspector/front-end/WebKit.qrc:
21448        * inspector/front-end/inspector.html:
21449        * inspector/front-end/inspector.js:
21450        (WebInspector._createPanels):
21451        (WebInspector.get networkResources):
21452        (WebInspector.forAllResources):
21453        (WebInspector.resourceForURL):
21454        (WebInspector.doLoadedDone.populateInspectorState):
21455        (WebInspector.openResource):
21456        (WebInspector.domContentEventFired):
21457        (WebInspector.loadEventFired):
21458        (WebInspector.reset):
21459        (WebInspector._choosePanelToShowSourceLine):
21460
214612010-10-28  Zhenyao Mo  <zmo@google.com>
21462
21463        Reviewed by Kenneth Russell.
21464
21465        Fix enum naming style violation in GraphicsContext3D
21466        https://bugs.webkit.org/show_bug.cgi?id=48441
21467
21468        * platform/graphics/GraphicsContext3D.cpp:
21469        (WebCore::GraphicsContext3D::extractImageData):
21470        (WebCore::GraphicsContext3D::extractTextureData):
21471        (WebCore::doPacking):
21472        (WebCore::GraphicsContext3D::packPixels):
21473        * platform/graphics/GraphicsContext3D.h:
21474        * platform/graphics/cg/GraphicsContext3DCG.cpp:
21475        (WebCore::getSourceDataFormat):
21476        (WebCore::GraphicsContext3D::getImageData):
21477        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
21478        (WebCore::GraphicsContext3D::getImageData):
21479
214802010-11-01  Martin Robinson  <mrobinson@igalia.com>
21481
21482        Reviewed by Xan Lopez.
21483
21484        [GTK] Pasting markup into Thunderbird compose window produces no text
21485        https://bugs.webkit.org/show_bug.cgi?id=43737
21486
21487        Include a content-type meta tag prefix on all clipboard markup. Programs like
21488        Thunderbird expect this meta tag and will not paste anything unless it is there.
21489
21490        This is covered by changes to WebKit/gtk/tests/testcopyandpaste.c. This patch was
21491        written in such a way as to not affect layout test results, otherwise there
21492        would be many new GTK+-specific results that say "FAIL").
21493
21494        * platform/gtk/PasteboardHelper.cpp:
21495        (WebCore::removeMarkupPrefix): Added this helper which removes the prefix
21496        when found on incoming clipboard and drag-and-drop text.
21497        (WebCore::PasteboardHelper::getClipboardContents): Remove the meta tag prefix.
21498        (WebCore::PasteboardHelper::fillSelectionData): Add the meta tag prefix.
21499        (WebCore::PasteboardHelper::fillDataObjectFromDropData): Remove the meta tag prefix
21500
215012010-11-01  Justin Schuh  <jschuh@chromium.org>
21502
21503        Reviewed by Dirk Schulze.
21504
21505        Check for NULL node in SVGUseElement::associateInstancesWithShadowTreeElements loop
21506        https://bugs.webkit.org/show_bug.cgi?id=48741
21507
21508        Test: svg/custom/use-on-use-with-child-and-empty-target.svg
21509
21510        * svg/SVGUseElement.cpp:
21511        (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
21512
215132010-11-01  Mario Sanchez Prada  <msanchez@igalia.com>
21514
21515        Reviewed by Martin Robinson.
21516
21517        [Gtk] AtkHyperlink needs to be implemented
21518        https://bugs.webkit.org/show_bug.cgi?id=33785
21519
21520        Implemented the AtkHyperlink/AtkHypertext stuff in the GTK port.
21521
21522        Even thought these kind of tasks are usually about implementing an
21523        interface, in this case it was needed to implement some more
21524        things due to the fact that AtkHyperlink is neither an interface
21525        nor an AtkObject, but just an abstract class child of GObject that
21526        needs to be redefined in a specific subclass of that one. On top
21527        of that, it was needed to implement the AtkAction interface as
21528        well for that new class, so exposed hyperlinks can work as
21529        expected with Assistive Technologies based on ATK.
21530
21531        Furthermore, as there's no mechanism to get an instance of that
21532        AtkHyperlink other than doing it through an AtkObject implementing
21533        the AtkHypertext interface, it was needed to also add the code to
21534        implement that one, so it makes possible to ask for the
21535        'hyperlinks' under an 'hypertext' accessible object.
21536
21537        Finally, to complete the implementation of all this stuff and make
21538        it all consistent, it was needed as well to implement the
21539        AtkHyperlinkImpl interface (providing just one method only) so
21540        that allows retrieving the AtkHyperlink object associated to an
21541        AtkObject implementing such an interface.
21542
21543        * GNUmakefile.am: Add the new WebKitAccessibleHyperlink.[h|cpp]
21544        files to the sources list for the GTK port.
21545
21546        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
21547        (core): New function to return the core accessibility object
21548        related to an AtkObject implementing the AtkHypertext interface.
21549        (webkitAccessibleHypertextGetLink): New, part of the
21550        implementation of the AtkHypertext interface.
21551        (webkitAccessibleHypertextGetNLinks): New, likewise.
21552        (webkitAccessibleHypertextGetLinkIndex): New, likewise.
21553        (atkHypertextInterfaceInit): New, initialize the AtkHypertext
21554        interface.
21555        (webkitAccessibleHyperlinkImplGetHyperlink): New, part of the
21556        implementation of the AtkHyperlinkImpl interface.
21557        (atkHyperlinkImplInterfaceInit): New, initialize the
21558        AtkHyperlinkImpl interface.
21559        (GetAtkInterfaceTypeFromWAIType): Add ATK_TYPE_HYPERTEXT and
21560        ATK_TYPE_HYPERLINK_IMPL to the list of recognized types.
21561        (getInterfaceMaskFromObject): Decide when it's needed to add
21562        WAI_HYPERTEXT and WAI_HYPERLINK to the interface mask.
21563
21564        * accessibility/gtk/WebKitAccessibleHyperlink.h: Added.
21565        * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Added.
21566        (returnString): Return (const char*) from String variables.
21567        (core): Return the associated AccessibilityObject.
21568        (webkitAccessibleHyperlinkActionDoAction): Part of the
21569        implementation of the AtkAction interface.
21570        (webkitAccessibleHyperlinkActionGetNActions): Likewise.
21571        (webkitAccessibleHyperlinkActionGetDescription): Likewise.
21572        (webkitAccessibleHyperlinkActionGetKeybinding): Likewise.
21573        (webkitAccessibleHyperlinkActionGetName): Likewise.
21574        (atkActionInterfaceInit): Initialize the AtkAction interface.
21575        (getRangeLengthForObject): Returns the length for a given Range,
21576        considering special cases (e.g. List item markers).
21577        (webkitAccessibleHyperlinkGetURI): Implementation of one of the
21578        methods in the AtkHyperlink abstract class.
21579        (webkitAccessibleHyperlinkGetObject): Likewise.
21580        (webkitAccessibleHyperlinkGetStartIndex): Likewise.
21581        (webkitAccessibleHyperlinkGetEndIndex): Likewise.
21582        (webkitAccessibleHyperlinkIsValid): Likewise.
21583        (webkitAccessibleHyperlinkGetNAnchors): Likewise.
21584        (webkitAccessibleHyperlinkIsSelectedLink): Likewise.
21585        (webkitAccessibleHyperlinkGetProperty): Getter method.
21586        (webkitAccessibleHyperlinkSetProperty): Setter method.
21587        (webkitAccessibleHyperlinkFinalize): Finalize method.
21588        (webkitAccessibleHyperlinkClassInit): Initialize the
21589        WebKitAccessibleHyperlink class.
21590        (webkitAccessibleHyperlinkInit): Initialize the
21591        WebKitAccessibleHyperlink instance.
21592        (webkitAccessibleHyperlinkGetType): Implementation of the
21593        get_type() function for the WebKitAccessibleHyperlink class.
21594        (webkitAccessibleHyperlinkNew): Returns an instance of the class
21595        associated to a given AtkHyperlinkImpl object.
21596        (webkitAccessibleHyperlinkGetAccessibilityObject): Public function
21597        returning the AccessibilityObject associated to the instance of
21598        the WebKitAccessibleHyperlink class.
21599
216002010-11-01  Pavel Feldman  <pfeldman@chromium.org>
21601
21602        Not reviewed: simplify inspector styles test to make all bots happy.
21603        (drive-by fix for overriden inspector styles in network panel).
21604
21605        * inspector/InspectorController.h:
21606        * inspector/front-end/networkPanel.css:
21607
216082010-11-01  Nikolas Zimmermann  <nzimmermann@rim.com>
21609
21610        Reviewed by Rob Buis.
21611
21612        Enable StrictTypeChecking for all types using SVG(Animated)PropertyTearOff
21613        https://bugs.webkit.org/show_bug.cgi?id=48715
21614
21615        Enable StrictTypeChecking for all readwrite attributes and function calls of all types using the new SVG(Animated)PropertyTearOff concept.
21616        Also enable RequiresAllArguments=Raise for all function calls of these new types. Cover this functionality by tests for each of them.
21617
21618        When testing SVGLength it became obvious that quite a lot of functionality was missing.
21619        Conversion from relative arguments (percentage, ems, exs) to user specified units was missing, added that functionality and tested it.
21620        User units to pt conversion was wrong, fixed that.
21621
21622        Tests: svg/dom/SVGAnimatedAngle.html
21623               svg/dom/SVGAnimatedBoolean.html
21624               svg/dom/SVGAnimatedEnumeration.html
21625               svg/dom/SVGAnimatedInteger.html
21626               svg/dom/SVGAnimatedLength.html
21627               svg/dom/SVGAnimatedLengthList.html
21628               svg/dom/SVGAnimatedRect.html
21629               svg/dom/SVGLength-px-with-context.html
21630               svg/dom/SVGLength-px.html
21631               svg/dom/SVGLength.html
21632
21633        * bindings/js/JSSVGLengthCustom.cpp: These SVGLength methods now take an ExceptionCode parameter, adapt to that. 
21634        (WebCore::JSSVGLength::value):
21635        (WebCore::JSSVGLength::setValue):
21636        (WebCore::JSSVGLength::convertToSpecifiedUnits):
21637        * bindings/scripts/CodeGeneratorObjC.pm: Remove FIXMEs, pass real context instead off null pointer. DOMSVGLength::value is functional now.
21638        * bindings/v8/custom/V8SVGLengthCustom.cpp: These SVGLength methods now take an ExceptionCode parameter, adapt to that.
21639        (WebCore::V8SVGLength::valueAccessorGetter):
21640        (WebCore::V8SVGLength::valueAccessorSetter):
21641        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
21642        * rendering/style/SVGRenderStyle.h: Adapt to SVGLength API changes.
21643        (WebCore::SVGRenderStyle::initialBaselineShiftValue):
21644        (WebCore::SVGRenderStyle::initialKerning):
21645        (WebCore::SVGRenderStyle::initialStrokeDashOffset):
21646        (WebCore::SVGRenderStyle::initialStrokeWidth):
21647        * svg/SVGAngle.idl: Add StrictTypeChecking, RequiresAllArguments=Raise to all methods.
21648        * svg/SVGAnimatedBoolean.idl: Remove StrictTypeChecking from animVal, it's readonly so this is useless.
21649        * svg/SVGAnimatedEnumeration.idl: Add StrictTypeChecking to all attributes.
21650        * svg/SVGAnimatedInteger.idl: Ditto.
21651        * svg/SVGLength.cpp: Implement all missing features of SVGLength. Conform to our style guide (s/.0f// etc)
21652        (WebCore::lengthTypeToString):
21653        (WebCore::SVGLength::SVGLength):
21654        (WebCore::SVGLength::value): Throw NOT_SUPPORTED_ERR when trying to obtain to relative units, when no context is given (SVGLength created by createSVGLength()).
21655        (WebCore::SVGLength::setValue): Ditto, for the setter.
21656        (WebCore::SVGLength::valueAsPercentage): Use m_valueInSpecifiedUnits instead of valueInSpecifiedUnits().
21657        (WebCore::SVGLength::setValueAsString): Throw SYNTAX_ERR if parsing failed.
21658        (WebCore::SVGLength::valueAsString): Use makeString() instead of String and operator+.
21659        (WebCore::SVGLength::newValueSpecifiedUnits): Add ExceptionCode parameter, throw NOT_SUPPORTED_ERR, if the given unit type is invalid.
21660        (WebCore::SVGLength::convertToSpecifiedUnits): Ditto.
21661        (WebCore::SVGLength::determineViewport): Added helper function used by convertValue*Percentage*.
21662        (WebCore::SVGLength::convertValueFromUserUnitsToPercentage): Add new helper functions, used by value/setValue.
21663        (WebCore::SVGLength::convertValueFromPercentageToUserUnits): Ditto.
21664        (WebCore::SVGLength::convertValueFromUserUnitsToEMS): Ditto.
21665        (WebCore::SVGLength::convertValueFromEMSToUserUnits): Ditto.
21666        (WebCore::SVGLength::convertValueFromUserUnitsToEXS): Ditto.
21667        (WebCore::SVGLength::convertValueFromEXSToUserUnits): Ditto.
21668        (WebCore::SVGLength::fromCSSPrimitiveValue): Adapt to newValueSpecifiedUnits API change.
21669        (WebCore::SVGLength::toCSSPrimitiveValue): Remove default switch case.
21670        * svg/SVGLength.h:
21671        (WebCore::SVGLength::valueInSpecifiedUnits): Inlined.
21672        (WebCore::SVGLength::setValueInSpecifiedUnits): Ditto.
21673        (WebCore::SVGLength::isRelative):
21674        * svg/SVGLength.idl: Add StrictTypeChecking for all attributes/functions and RequiresAllArguments=Raise for all functions.
21675        * svg/SVGLengthList.cpp: Adapt to SVGLength API changes.
21676        (WebCore::SVGLengthList::parse):
21677
216782010-10-31  Pavel Feldman  <pfeldman@chromium.org>
21679
21680        Reviewed by Timothy Hatcher.
21681
21682        Web Inspector: unhide new network and resources panels.
21683        https://bugs.webkit.org/show_bug.cgi?id=48725
21684
21685        * English.lproj/localizedStrings.js:
21686        * inspector/InspectorController.h:
21687        * inspector/front-end/NetworkPanel.js:
21688        (WebInspector.NetworkPanel):
21689        * inspector/front-end/Settings.js:
21690        * inspector/front-end/StoragePanel.js:
21691        (WebInspector.StoragePanel):
21692        (WebInspector.StoragePanel.prototype.reset):
21693        (WebInspector.StoragePanel.prototype.addResourceToFrame):
21694        (WebInspector.StoragePanel.prototype.addDocumentURL):
21695        (WebInspector.StoragePanel.prototype.showFileSystem):
21696        (WebInspector.FileSystemTreeElement):
21697        (WebInspector.FileSystemTreeElement.prototype.get itemURL):
21698        (WebInspector.FileSystemTreeElement.prototype.onselect):
21699        * inspector/front-end/inspector.js:
21700        (WebInspector.updateResource):
21701        * inspector/front-end/networkPanel.css:
21702        (#network-close-button):
21703        (.network.panel.viewing-resource #network-close-button):
21704
217052010-10-26  MORITA Hajime  <morrita@google.com>
21706
21707        Reviewed by Kent Tamura.
21708
21709        Refactoring: Spellchecking related static functions could form a class
21710        https://bugs.webkit.org/show_bug.cgi?id=48287
21711
21712        Extracted spellcheck related static functions to TextCheckingHelper class,
21713        which has EditorClient and Range as its member.
21714        
21715        No new tests. Just a refactoring.
21716
21717        * CMakeLists.txt:
21718        * GNUmakefile.am:
21719        * WebCore.gypi:
21720        * WebCore.pro:
21721        * WebCore.vcproj/WebCore.vcproj:
21722        * WebCore.xcodeproj/project.pbxproj:
21723        * editing/EditingAllInOne.cpp
21724        * editing/Editor.cpp:
21725        (WebCore::Editor::advanceToNextMisspelling):
21726        (WebCore::Editor::isSelectionUngrammatical):
21727        (WebCore::Editor::guessesForUngrammaticalSelection):
21728        (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
21729        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
21730        (WebCore::Editor::markMisspellingsOrBadGrammar):
21731        (WebCore::Editor::markMisspellings):
21732        (WebCore::Editor::markBadGrammar):
21733        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
21734        (WebCore::Editor::changeBackToReplacedString):
21735        * editing/Editor.h:
21736        * editing/TextCheckingHelper.cpp: Added.
21737        (WebCore::TextCheckingHelper::TextCheckingHelper):
21738        (WebCore::TextCheckingHelper::~TextCheckingHelper):
21739        (WebCore::TextCheckingHelper::paragraphAlignedRange):
21740        (WebCore::TextCheckingHelper::findFirstMisspelling):
21741        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
21742        (WebCore::TextCheckingHelper::findFirstGrammarDetail):
21743        (WebCore::TextCheckingHelper::findFirstBadGrammar):
21744        (WebCore::TextCheckingHelper::isUngrammatical):
21745        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
21746        (WebCore::TextCheckingHelper::markAllMisspellings):
21747        (WebCore::TextCheckingHelper::markAllBadGrammar):
21748        * editing/TextCheckingHelper.h: Added.
21749
217502010-10-31  Xan Lopez  <xlopez@igalia.com>
21751
21752        Try to fix the GTK+ build.
21753
21754        Do not use broken/deprecated functions that won't be available
21755        with G_DISABLE_DEPRECATED (used in debug builds).
21756
21757        * plugins/gtk/PluginPackageGtk.cpp:
21758        (WebCore::PluginPackage::fetchInfo):
21759
217602010-10-31  Kenichi Ishibashi  <bashi@google.com>
21761
21762        Reviewed by Adam Barth.
21763
21764        V8 binding for DOMSettableTokenList
21765        https://bugs.webkit.org/show_bug.cgi?id=47812
21766
21767        Tests for this change will be included in the change for supporting
21768        the <output> element.
21769        See https://bugs.webkit.org/show_bug.cgi?id=29363.
21770
21771        * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Implemented.
21772        (WebCore::V8DOMSettableTokenList::indexedPropertyGetter): Just calls DOMSettableTokenList::item(index).
21773
217742010-10-31  Robert Hogan  <robert@webkit.org>
21775
21776        Reviewed by Antonio Gomes.
21777
21778        [Qt] [Gtk] Plug-ins having upper case in mime type are failing to load
21779
21780        Qt and Gtk are case-sensitive when storing the declared mime-type
21781        of plugins. Since plugin mime-types are lowercased prior to searching
21782        for them in the plugin database, ensure they are loaded with the
21783        mime-type in lower case too.
21784
21785        https://bugs.webkit.org/show_bug.cgi?id=36815
21786
21787        * plugins/gtk/PluginPackageGtk.cpp:
21788        (WebCore::PluginPackage::fetchInfo):
21789        * plugins/qt/PluginPackageQt.cpp:
21790        (WebCore::PluginPackage::setMIMEDescription):
21791
217922010-10-31  Robert Hogan  <robert@webkit.org>
21793
21794        Reviewed by Antonio Gomes.
21795
21796        [Qt] Support nodesFromRect in DRT
21797
21798        Pass a Document object as a QWebElement. 
21799
21800        https://bugs.webkit.org/show_bug.cgi?id=48716
21801
21802        * bridge/qt/qt_runtime.cpp:
21803        (JSC::Bindings::convertValueToQVariant):
21804
218052010-10-31  Peter Kasting  <pkasting@google.com>
21806
21807        Reviewed by Adam Barth.
21808
21809        Treat GIFs with no loop count as "loop once".
21810        https://bugs.webkit.org/show_bug.cgi?id=47302
21811
21812        Test: fast/images/gif-loop-count.html
21813
21814        * platform/image-decoders/gif/GIFImageDecoder.cpp:
21815        (WebCore::GIFImageDecoder::repetitionCount):
21816        (WebCore::GIFImageDecoder::gifComplete):
21817
218182010-10-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
21819
21820        Reviewed by Andreas Kling.
21821
21822        [Texmap] [Qt] Texture mapper initial implementation
21823        https://bugs.webkit.org/show_bug.cgi?id=47070
21824
21825        Build fix for X11.
21826
21827        No new tests; build fix.
21828
21829        * plugins/qt/PluginViewQt.cpp:
21830        (WebCore::PluginView::invalidateRect):
21831        (WebCore::PluginView::platformStart):
21832
218332010-10-31  Andreas Kling  <kling@webkit.org>
21834
21835        Reviewed by Dirk Schulze.
21836
21837        Remove the unused GraphicsContext::clipOutEllipseInRect(IntRect)
21838        https://bugs.webkit.org/show_bug.cgi?id=48727
21839
21840        This function was added in <http://trac.webkit.org/changeset/18654> for CSS3 box-shadows.
21841        All use of the function was removed in <http://trac.webkit.org/changeset/21601>
21842
21843        * platform/graphics/GraphicsContext.h:
21844        * platform/graphics/cairo/GraphicsContextCairo.cpp:
21845        * platform/graphics/cg/GraphicsContextCG.cpp:
21846        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
21847        (WebCore::GraphicsContext::clipOut):
21848        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
21849        * platform/graphics/qt/GraphicsContextQt.cpp:
21850        * platform/graphics/skia/GraphicsContextSkia.cpp:
21851        (WebCore::GraphicsContext::clipOut):
21852        * platform/graphics/wince/GraphicsContextWinCE.cpp:
21853        * platform/graphics/wx/GraphicsContextWx.cpp:
21854
218552010-10-31  Andreas Kling  <kling@webkit.org>
21856
21857        Reviewed by Dirk Schulze.
21858
21859        [Qt] Respect the "antialiased" argument in clipConvexPolygon()
21860        https://bugs.webkit.org/show_bug.cgi?id=48734
21861
21862        Set (or unset) the QPainter::Antialiased render hint for antialiased
21863        clipping based on the "antialiased" argument.
21864
21865        No test since Qt doesn't have pixel tests yet.
21866
21867        * platform/graphics/qt/GraphicsContextQt.cpp:
21868        (WebCore::GraphicsContext::clipConvexPolygon):
21869
218702010-10-31  Andreas Kling  <kling@webkit.org>
21871
21872        Reviewed by Dirk Schulze.
21873
21874        Remove the unused GraphicsContext::strokeRect(FloatRect)
21875        https://bugs.webkit.org/show_bug.cgi?id=48726
21876
21877        This function was only implemented by GraphicsContextOpenVG and not
21878        called from anywhere.
21879
21880        * platform/graphics/GraphicsContext.h:
21881        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
21882
218832010-10-31  Andreas Kling  <kling@webkit.org>
21884
21885        Reviewed by Dirk Schulze.
21886
21887        Remove the unused GraphicsContext::origin()
21888        https://bugs.webkit.org/show_bug.cgi?id=48732
21889
21890        This method was not called from anywhere.
21891
21892        * platform/graphics/GraphicsContext.h:
21893        * platform/graphics/cairo/GraphicsContextCairo.cpp:
21894        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
21895        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
21896        * platform/graphics/qt/GraphicsContextQt.cpp:
21897        * platform/graphics/wince/GraphicsContextWinCE.cpp:
21898
218992010-10-31  Andreas Kling  <kling@webkit.org>
21900
21901        Reviewed by Dirk Schulze.
21902
21903        [Qt] Remove GraphicsContext::pen()
21904        https://bugs.webkit.org/show_bug.cgi?id=48733
21905
21906        Have PathQt obtain the pen() through the platformContext() instead.
21907
21908        * platform/graphics/GraphicsContext.h:
21909        * platform/graphics/qt/GraphicsContextQt.cpp:
21910        * platform/graphics/qt/PathQt.cpp:
21911        (WebCore::Path::strokeContains):
21912        (WebCore::Path::strokeBoundingRect):
21913
219142010-10-31  Sheriff Bot  <webkit.review.bot@gmail.com>
21915
21916        Unreviewed, rolling out r70959.
21917        http://trac.webkit.org/changeset/70959
21918        https://bugs.webkit.org/show_bug.cgi?id=48731
21919
21920        It broke fast/events/spatial-navigation tests (Requested by
21921        Ossy on #webkit).
21922
21923        * WebCore.xcodeproj/project.pbxproj:
21924        * rendering/InlineBox.cpp:
21925        (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
21926        * rendering/InlineFlowBox.h:
21927        (WebCore::InlineFlowBox::bottomLayoutOverflow):
21928        (WebCore::InlineFlowBox::rightLayoutOverflow):
21929        (WebCore::InlineFlowBox::bottomVisualOverflow):
21930        (WebCore::InlineFlowBox::rightVisualOverflow):
21931        * rendering/RenderBox.cpp:
21932        * rendering/RenderBox.h:
21933        * rendering/RenderInline.cpp:
21934        (WebCore::RenderInline::linesBoundingBox):
21935        (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
21936        (WebCore::RenderInline::clippedOverflowRectForRepaint):
21937        * rendering/RenderText.cpp:
21938        (WebCore::RenderText::linesBoundingBox):
21939
219402010-10-30  Pavel Feldman  <pfeldman@chromium.org>
21941
21942        Reviewed by Timothy Hatcher.
21943
21944        Web Inspector: new resources and network panel usability improvements.
21945        https://bugs.webkit.org/show_bug.cgi?id=48680
21946
21947        By default, navigation clears network log, added 'preserve log' button,
21948        that prevents log from being cleared.
21949
21950        Storing expanded state of all group items, restoring last selected item,
21951        fall back to main frame's main resource by default.
21952        Do not list XHRs and redirects in resources.
21953
21954        * English.lproj/localizedStrings.js:
21955        * inspector/InspectorController.cpp:
21956        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
21957        (WebCore::InspectorController::identifierForInitialRequest):
21958        * inspector/front-end/NetworkPanel.js:
21959        (WebInspector.NetworkPanel.prototype.get statusBarItems):
21960        (WebInspector.NetworkPanel.prototype._positionSummaryBar):
21961        (WebInspector.NetworkPanel.prototype._updateFilter):
21962        (WebInspector.NetworkPanel.prototype._createStatusbarButtons):
21963        (WebInspector.NetworkPanel.prototype._onPreserveLogClicked):
21964        (WebInspector.NetworkPanel.prototype.reset):
21965        (WebInspector.NetworkPanel.prototype.refreshResource):
21966        * inspector/front-end/ResourceManager.js:
21967        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
21968        (WebInspector.ResourceManager.prototype.willSendRequest):
21969        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
21970        (WebInspector.ResourceManager.prototype.setOverrideContent):
21971        (WebInspector.ResourceManager.prototype.didCreateWebSocket):
21972        * inspector/front-end/StoragePanel.js:
21973        (WebInspector.StoragePanel):
21974        (WebInspector.StoragePanel.prototype.show):
21975        (WebInspector.StoragePanel.prototype._initDefaultSelection):
21976        (WebInspector.StoragePanel.prototype.reset):
21977        (WebInspector.StoragePanel.prototype.addResourceToFrame):
21978        (WebInspector.StoragePanel.prototype.refreshResource):
21979        (WebInspector.StoragePanel.prototype.showDatabase):
21980        (WebInspector.BaseStorageTreeElement.prototype.onselect):
21981        (WebInspector.StorageCategoryTreeElement):
21982        (WebInspector.StorageCategoryTreeElement.prototype.get itemURL):
21983        (WebInspector.StorageCategoryTreeElement.prototype.onselect):
21984        (WebInspector.StorageCategoryTreeElement.prototype.onattach):
21985        (WebInspector.StorageCategoryTreeElement.prototype.onexpand):
21986        (WebInspector.StorageCategoryTreeElement.prototype.oncollapse):
21987        (WebInspector.FrameTreeElement.prototype.get itemURL):
21988        (WebInspector.FrameTreeElement.prototype.onselect):
21989        (WebInspector.FrameResourceTreeElement.prototype.get itemURL):
21990        (WebInspector.FrameResourceTreeElement.prototype.onselect):
21991        (WebInspector.DatabaseTreeElement.prototype.get itemURL):
21992        (WebInspector.DatabaseTreeElement.prototype.onselect):
21993        (WebInspector.DatabaseTableTreeElement.prototype.get itemURL):
21994        (WebInspector.DatabaseTableTreeElement.prototype.onselect):
21995        (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
21996        (WebInspector.DOMStorageTreeElement.prototype.onselect):
21997        (WebInspector.CookieTreeElement.prototype.get itemURL):
21998        (WebInspector.CookieTreeElement.prototype.onselect):
21999        (WebInspector.ApplicationCacheTreeElement.prototype.get itemURL):
22000        (WebInspector.ApplicationCacheTreeElement.prototype.onselect):
22001
220022010-10-30  Patrick Gansterer  <paroga@webkit.org>
22003
22004        Unreviewed, build fix after r70846.
22005
22006        * platform/graphics/wince/ImageWinCE.cpp:
22007        (WebCore::RGBA32Buffer::asNewNativeImage):
22008
220092010-10-30  Dimitri Glazkov  <dglazkov@chromium.org>
22010
22011        Unreviewed, rolling out r70984.
22012        http://trac.webkit.org/changeset/70984
22013        https://bugs.webkit.org/show_bug.cgi?id=46015
22014
22015        Made media/audio-delete-while-slider-thumb-clicked.html crash.
22016
22017        * Android.mk:
22018        * CMakeLists.txt:
22019        * GNUmakefile.am:
22020        * WebCore.gypi:
22021        * WebCore.pro:
22022        * WebCore.xcodeproj/project.pbxproj:
22023        * dom/ContainerNode.cpp:
22024        (WebCore::notifyChildInserted):
22025        * dom/EventContext.cpp: Removed.
22026        * dom/EventContext.h: Removed.
22027        * dom/Node.cpp:
22028        (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
22029        (WebCore::Node::createRendererIfNeeded):
22030        (WebCore::Node::eventParentNode):
22031        (WebCore::Node::enclosingLinkEventParentOrSelf):
22032        (WebCore::eventTargetAsSVGElementInstance):
22033        (WebCore::eventTargetRespectingSVGTargetRules):
22034        (WebCore::Node::eventAncestors):
22035        (WebCore::Node::dispatchGenericEvent):
22036        * dom/Node.h:
22037        * dom/Text.cpp:
22038        (WebCore::Text::createRenderer):
22039        * dom/WindowEventContext.cpp: Removed.
22040        * dom/WindowEventContext.h: Removed.
22041        * inspector/InspectorDOMAgent.cpp:
22042        (WebCore::InspectorDOMAgent::getEventListenersForNode):
22043        * inspector/InspectorInstrumentation.cpp:
22044        (WebCore::eventHasListeners):
22045        (WebCore::InspectorInstrumentation::willDispatchEventImpl):
22046        * inspector/InspectorInstrumentation.h:
22047        (WebCore::InspectorInstrumentation::willDispatchEvent):
22048        * page/EventHandler.cpp:
22049        (WebCore::EventHandler::updateMouseEventTargetNode):
22050        * svg/SVGElement.cpp:
22051        (WebCore::SVGElement::eventParentNode):
22052        * svg/SVGElement.h:
22053
220542010-10-30  Dimitri Glazkov  <dglazkov@chromium.org>
22055
22056        Reviewed by Darin Adler.
22057
22058        Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
22059        https://bugs.webkit.org/show_bug.cgi?id=46015
22060
22061        This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
22062        for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
22063
22064        This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
22065        appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
22066
22067        * Android.mk: Added EventContext, WindowEventContext files.
22068        * CMakeLists.txt: Ditto.
22069        * GNUmakefile.am: Ditto.
22070        * WebCore.gypi: Ditto.
22071        * WebCore.pro: Ditto.
22072        * WebCore.xcodeproj/project.pbxproj: Ditto.
22073        * dom/ContainerNode.cpp:
22074        (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
22075        * dom/EventContext.cpp: Added.
22076        * dom/EventContext.h: Added.
22077        * dom/Node.cpp:
22078        (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
22079        (WebCore::Node::createRendererIfNeeded): Ditto.
22080        (WebCore::Node::parentOrHostNode): Added new helper method.
22081        (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
22082        (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
22083        (WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
22084        (WebCore::Node::topEventContext): Added.
22085        (WebCore::eventHasListeners): Changed to use EventContexts.
22086        (WebCore::Node::dispatchGenericEvent): Ditto.
22087        * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
22088            and changed signature of eventAncestors to use EventContexts.
22089        * dom/Text.cpp:
22090        (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
22091        * inspector/InspectorDOMAgent.cpp:
22092        (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
22093        * page/EventHandler.cpp:
22094        (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
22095        * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
22096        * svg/SVGElement.h: Ditto.
22097        * dom/WindowEventContext.cpp: Added.
22098        * dom/WindowEventContext.h: Added.
22099
221002010-10-30  Nikolas Zimmermann  <nzimmermann@rim.com>
22101
22102        Reviewed by Rob Buis.
22103
22104        Convert SVGAnimatedNumber/SVGAnimatedNumberList to the new SVGAnimatedPropertyTearOff concept
22105        https://bugs.webkit.org/show_bug.cgi?id=48686
22106
22107        Convert the next set of primitives to use the new SVG(Animated)PropertyTearOff concept.
22108
22109        Tests: svg/dom/SVGAnimatedNumber.html
22110               svg/dom/SVGAnimatedNumberList.html
22111               svg/dom/SVGNumber.html
22112
22113        * GNUmakefile.am: Add SVGAnimatedNumber.h / SVGAnimatedNumberList.h to build.
22114        * WebCore.gypi: Ditto.
22115        * WebCore.pro: Ditto.
22116        * WebCore.vcproj/WebCore.vcproj: Ditto.
22117        * WebCore.xcodeproj/project.pbxproj: Ditto.
22118        * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedNumber/SVGAnimatedNumberList as new style SVG animated properties. Remove SVGNumber from PODType hash.
22119        * bindings/scripts/CodeGeneratorJS.pm: Remove special SVGNumber handing, it's obsolete now.
22120        * bindings/scripts/CodeGeneratorObjC.pm: Add special SVGNumber handling, as it's the first of the converted dynamic SVGAnimatedProperty types that's not in WebCore namespace.
22121        * bindings/scripts/CodeGeneratorV8.pm: Use AvoidInclusionOfType method from CodeGenerator.pm, remove special SVGNumber handling, that's obsolete now.
22122        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
22123        (WebCore::extractFloatValuesFromSVGNumberList): Adapt to SVGNumberList change, which is a plain Vector<float> now.
22124        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedNumber/SVGAnimatedNumberList handling.
22125        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
22126        * svg/SVGAnimatedNumber.h: Added.
22127        * svg/SVGAnimatedNumber.idl: Enable StrictTypeChecking.
22128        * svg/SVGAnimatedNumberList.h: Added.
22129        * svg/SVGAnimatedNumberList.idl: Ditto.
22130        * svg/SVGComponentTransferFunctionElement.cpp: Switch animated float properties to the new SVGAnimatedNumber(List).
22131        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
22132        (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
22133        (WebCore::SVGComponentTransferFunctionElement::transferFunction):
22134        * svg/SVGComponentTransferFunctionElement.h:
22135        * svg/SVGFEColorMatrixElement.cpp: Ditto.
22136        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
22137        (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
22138        (WebCore::SVGFEColorMatrixElement::build):
22139        * svg/SVGFEColorMatrixElement.h:
22140        * svg/SVGFECompositeElement.h: Ditto.
22141        * svg/SVGFEConvolveMatrixElement.cpp: Ditto.
22142        (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
22143        (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier): Added, replacing char[] hack by a static atomic string.
22144        (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier): Ditto.
22145        (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
22146        (WebCore::SVGFEConvolveMatrixElement::build):
22147        * svg/SVGFEConvolveMatrixElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22148        * svg/SVGFEDiffuseLightingElement.cpp: Ditto.
22149        (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier): Remove trailing whitespace.
22150        (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier): Ditto.
22151        * svg/SVGFEDiffuseLightingElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22152        * svg/SVGFEDisplacementMapElement.h: Ditto.
22153        * svg/SVGFEGaussianBlurElement.cpp: Ditto.
22154        (WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier): Remove trailing whitespace.
22155        (WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier): Ditto.
22156        * svg/SVGFEGaussianBlurElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22157        * svg/SVGFELightElement.h: Ditto.
22158        * svg/SVGFEMorphologyElement.cpp:
22159        (WebCore::SVGFEMorphologyElement::radiusXIdentifier): Added, replacing char[] hack by a static atomic string.
22160        (WebCore::SVGFEMorphologyElement::radiusYIdentifier): Ditto.
22161        * svg/SVGFEMorphologyElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22162        * svg/SVGFEOffsetElement.h: Ditto.
22163        * svg/SVGFESpecularLightingElement.cpp:
22164        (WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier): Remove trailing whitespace.
22165        (WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier): Ditto.
22166        * svg/SVGFESpecularLightingElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22167        * svg/SVGFETurbulenceElement.cpp:
22168        (WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier): Remove trailing whitespace.
22169        (WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier): Ditto.
22170        * svg/SVGFETurbulenceElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22171        * svg/SVGFilterElement.cpp:
22172        (WebCore::SVGFilterElement::filterResXIdentifier): Remove trailing whitespace.
22173        (WebCore::SVGFilterElement::filterResYIdentifier): Ditto.
22174        * svg/SVGLengthList.idl: Remove leftover [SVGListProperty] marker.
22175        * svg/SVGMarkerElement.cpp:
22176        (WebCore::SVGMarkerElement::orientTypeIdentifier): Remove trailing whitespace.
22177        (WebCore::SVGMarkerElement::orientAngleIdentifier): Ditto.
22178        * svg/SVGNumber.idl: Remove [PODType] marker, add StrictTypeChecking.
22179        * svg/SVGNumberList.cpp: Convert from SVGPODList<RefPtr<SVGPODListItem<float> > > to plain Vector<float>, just like it has been done for SVGLengthList before.
22180        (WebCore::SVGNumberList::parse):
22181        (WebCore::SVGNumberList::valueAsString):
22182        * svg/SVGNumberList.h:
22183        (WebCore::SVGNumberList::SVGNumberList):
22184        * svg/SVGPathElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
22185        * svg/SVGStopElement.h: Ditto.
22186        * svg/SVGTextPositioningElement.cpp: Switch animated float properties to the new SVGAnimatedNumber(List).
22187        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
22188        (WebCore::SVGTextPositioningElement::parseMappedAttribute):
22189        * svg/SVGTextPositioningElement.h: Ditto.
22190        * svg/properties/SVGPropertyTraits.h: Add SVGNumberList handling.
22191
221922010-10-29  Daniel Bates  <dbates@rim.com>
22193
22194        No review, rolling out 70971.
22195        http://trac.webkit.org/changeset/70971
22196        https://bugs.webkit.org/show_bug.cgi?id=6751
22197
22198        Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
22199        it caused layout test failures on all bots. In particular, the
22200        child count in a generated frame name differs after this patch. We need
22201        to look into this further.
22202
22203        Test: fast/frames/iframe-set-inner-html.html
22204
22205        * html/HTMLFrameElementBase.cpp:
22206        (WebCore::HTMLFrameElementBase::openURL):
22207        (WebCore::HTMLFrameElementBase::setName):
22208        * html/HTMLFrameElementBase.h:
22209        * loader/DocumentLoader.cpp:
22210        (WebCore::DocumentLoader::mainResource):
22211        * loader/FrameLoader.cpp:
22212        (WebCore::FrameLoader::loadURLIntoChildFrame):
22213        (WebCore::FrameLoader::commitProvisionalLoad):
22214        * loader/HistoryController.cpp:
22215        (WebCore::HistoryController::saveDocumentState):
22216        (WebCore::HistoryController::restoreDocumentState):
22217        (WebCore::HistoryController::createItem):
22218        (WebCore::HistoryController::currentFramesMatchItem):
22219        * loader/ProgressTracker.cpp:
22220        (WebCore::ProgressTracker::progressStarted):
22221        (WebCore::ProgressTracker::progressCompleted):
22222        * loader/archive/cf/LegacyWebArchive.cpp:
22223        (WebCore::LegacyWebArchive::create):
22224        * page/FrameTree.cpp:
22225        (WebCore::FrameTree::setName):
22226        (WebCore::FrameTree::clearName):
22227        (WebCore::FrameTree::uniqueChildName):
22228        (WebCore::FrameTree::child):
22229        (WebCore::FrameTree::find):
22230        * page/FrameTree.h:
22231        (WebCore::FrameTree::name):
22232
222332010-10-28  Antonio Gomes  <agomes@rim.com>
22234
22235        Reviewed by Ojan Vafai.
22236
22237        Needs a "LinuxEditingBehavior", perhaps with a better name
22238        https://bugs.webkit.org/show_bug.cgi?id=36627
22239
22240        Added EditingUnixBehavior editing type aim to cover the cases when
22241        neither Mac or Windows behaviors are appropriated.
22242
22243        It was decided to name it Unix not Linux.
22244
22245        No new tests. The current editing tests that involve platform specific
22246        bahaviors are coded so that they go through all editing behavior
22247        types possible. There will be a follow up bug where all of them will
22248        be updated to include the new editing behavior ("unix").
22249
22250        * editing/EditingBehaviorTypes.h:
22251        * page/Settings.cpp:
22252        (WebCore::editingBehaviorTypeForPlatform):
22253        (WebCore::Settings::Settings):
22254
222552010-10-29  Daniel Bates  <dbates@rim.com>
22256
22257        Reviewed by Adam Barth.
22258
22259        For unnamed frames, window.name returns a generated name
22260        https://bugs.webkit.org/show_bug.cgi?id=6751
22261
22262        Fixes an issue where the window.name of an unnamed frame returns
22263        a unique generated name that is used internally to identify the
22264        frame. Instead, we should return an empty string as implied by
22265        section 5.1.6 of the HTML5 spec. (http://www.w3.org/TR/html5/browsers.html#browsing-context-names).
22266        This section describes that a browsing context can have no name or be
22267        the empty string.
22268
22269        * html/HTMLFrameElementBase.cpp:
22270        (WebCore::HTMLFrameElementBase::openURL): Removed ASSERT for empty
22271        frame name since this is valid as per the HTML5 spec.
22272        (WebCore::HTMLFrameElementBase::setName): Removed the call to FrameTree::uniqueChildName()
22273        since the loader code no longer depends on the frame name being unique.
22274        * html/HTMLFrameElementBase.h:
22275        * loader/DocumentLoader.cpp:
22276        (WebCore::DocumentLoader::mainResource): Use FrameTree::uniqueName().
22277        * loader/FrameLoader.cpp:
22278        (WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
22279        (WebCore::FrameLoader::commitProvisionalLoad): Ditto.
22280        * loader/HistoryController.cpp:
22281        (WebCore::HistoryController::saveDocumentState): Ditto.
22282        (WebCore::HistoryController::restoreDocumentState): Ditto.
22283        (WebCore::HistoryController::createItem):
22284        (WebCore::HistoryController::currentFramesMatchItem): Ditto.
22285        * loader/ProgressTracker.cpp:
22286        (WebCore::ProgressTracker::progressStarted): Ditto.
22287        (WebCore::ProgressTracker::progressCompleted): Ditto.
22288        * loader/archive/cf/LegacyWebArchive.cpp:
22289        (WebCore::LegacyWebArchive::create): Ditto.
22290        * page/FrameTree.cpp:
22291        (WebCore::FrameTree::setName): Modified to store the DOM-specified
22292        name of the frame.
22293        (WebCore::FrameTree::clearName):
22294        (WebCore::FrameTree::uniqueChildName): Use FrameTree::uniqueName().
22295        (WebCore::FrameTree::child): Ditto.
22296        (WebCore::FrameTree::find): Ditto.
22297        * page/FrameTree.h:
22298        (WebCore::FrameTree::uniqueName): Added.
22299
223002010-10-29  Darin Adler  <darin@apple.com>
22301
22302        Try to fix build.
22303
22304        * page/ContextMenuController.cpp: Added include of BackForwardController.h.
22305        * page/DOMWindow.cpp: Ditto.
22306        * page/History.cpp: Ditto.
22307        * platform/ContextMenu.cpp: Ditto.
22308
223092010-10-29  Darin Adler  <darin@apple.com>
22310
22311        Reviewed by Sam Weinig.
22312
22313        More back/forward refactoring
22314
22315        * WebCore.exp.in: Updated.
22316
22317        * GNUmakefile.am: Removed BackForwardControllerClient.h.
22318        * WebCore.gypi: Ditto.
22319        * WebCore.pro: Ditto.
22320        * WebCore.vcproj/WebCore.vcproj: Ditto.
22321        * WebCore.xcodeproj/project.pbxproj: Ditto.
22322
22323        * history/BackForwardControllerClient.h: Removed.
22324
22325        * history/BackForwardController.cpp:
22326        (WebCore::BackForwardController::BackForwardController):
22327        Set up just m_client.
22328        (WebCore::BackForwardController::~BackForwardController):
22329        Removed call to backForwardControllerDestroyed.
22330        (WebCore::BackForwardController::canGoBackOrForward): Added.
22331        (WebCore::BackForwardController::goBackOrForward): Added.
22332        (WebCore::BackForwardController::goBack): Added.
22333        (WebCore::BackForwardController::goForward): Added.
22334        (WebCore::BackForwardController::addItem): Added.
22335        (WebCore::BackForwardController::setCurrentItem): Added.
22336        (WebCore::BackForwardController::count): Added.
22337        (WebCore::BackForwardController::backCount): Added.
22338        (WebCore::BackForwardController::forwardCount): Added.
22339        (WebCore::BackForwardController::itemAtIndex): Added.
22340        (WebCore::BackForwardController::isActive): Added.
22341        (WebCore::BackForwardController::close): Added.
22342
22343        * history/BackForwardController.h: Added functions from Page
22344        and BackForwardList that should be called here instead.
22345        Note that BackForwardList is to be renamed BackForwardClient soon.
22346
22347        * history/BackForwardList.h: Removed many now-unneeded
22348        virtual functions.
22349
22350        * history/BackForwardListImpl.h: Moved BackForwardListClient
22351        in here.
22352
22353        * history/PageCache.cpp:
22354        (WebCore::logCanCachePageDecision): Use backForward().
22355        (WebCore::PageCache::canCache): Ditto.
22356
22357        * loader/FrameLoader.cpp:
22358        (WebCore::FrameLoader::transitionToCommitted): Removed unneeded
22359        null check of backFowardList, which is never null.
22360        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Use backForward.
22361        (WebCore::FrameLoader::didFirstLayout): Ditto.
22362        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto.
22363        (WebCore::FrameLoader::checkDidPerformFirstNavigation): Ditto.
22364        * loader/HistoryController.cpp:
22365        (WebCore::HistoryController::goToItem): Ditto.
22366        (WebCore::HistoryController::updateForStandardLoad): Ditto.
22367        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): Ditto.
22368        (WebCore::HistoryController::updateBackForwardListClippedAtTarget): Ditto.
22369        (WebCore::HistoryController::pushState): Ditto.
22370        * loader/NavigationScheduler.cpp:
22371        (WebCore::ScheduledHistoryNavigation::fire): Ditto.
22372        (WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto.
22373        * page/ContextMenuController.cpp:
22374        (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
22375        * page/DOMWindow.cpp:
22376        (WebCore::DOMWindow::close): Ditto.
22377        * page/History.cpp:
22378        (WebCore::History::length): Ditto.
22379
22380        * page/Page.cpp:
22381        (WebCore::Page::Page): Use more adoptPtr. Use backForwardClient instead of
22382        backForwardControllerClient.
22383        (WebCore::Page::~Page): Use backForward.
22384        (WebCore::Page::backForwardList): Ditto.
22385        (WebCore::Page::goBack): Ditto.
22386        (WebCore::Page::goForward): Ditto.
22387        (WebCore::Page::canGoBackOrForward): Ditto.
22388        (WebCore::Page::goBackOrForward): Ditto.
22389        (WebCore::Page::getHistoryLength): Ditto.
22390        (WebCore::Page::PageClients::PageClients): Made non-inline.
22391        (WebCore::Page::PageClients::~PageClients): Ditto.
22392
22393        * page/Page.h: Made PageClients constructor and destructor non-inline.
22394        Added backForward function. Marked old functions as deprecated.
22395
22396        * page/Settings.cpp:
22397        (WebCore::Settings::setUsesPageCache): Use backForward.
22398        * platform/ContextMenu.cpp:
22399        (WebCore::ContextMenu::populate): Ditto.
22400        (WebCore::ContextMenu::checkOrEnableIfNeeded): Ditto.
22401        * wml/WMLDoElement.cpp:
22402        (WebCore::WMLDoElement::defaultEventHandler): Ditto.
22403        * wml/WMLDocument.cpp:
22404        (WebCore::WMLDocument::finishedParsing): Ditto.
22405        * wml/WMLPageState.cpp:
22406        (WebCore::WMLPageState::reset): Ditto.
22407        (WebCore::tryAccessHistoryURLs): Ditto.
22408        * wml/WMLPrevElement.cpp:
22409        (WebCore::WMLPrevElement::executeTask): Ditto.
22410
224112010-10-29  David Hyatt  <hyatt@apple.com>
22412
22413        Reviewed by Sam Weinig.
22414
22415        https://bugs.webkit.org/show_bug.cgi?id=48663
22416
22417        Make repaint invalidation work with vertical lines.  Rewrite linesBoundingBox for RenderText and
22418        RenderInline to give the correct rectangle back for vertical lines.  Also patch linesVisibleOverflowBoundingBox
22419        to give back the correct rectangle for vertical lines.
22420        
22421        Fix bugs in the overflow accessors of InlineFlowBox when m_overflow was 0.
22422
22423        Added fast/repaint/inline-vertical-lr-overflow.html
22424
22425        * rendering/InlineBox.cpp:
22426        (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
22427        * rendering/InlineFlowBox.h:
22428        (WebCore::InlineFlowBox::logicalLeftVisibleOverflow):
22429        (WebCore::InlineFlowBox::logicalRightVisibleOverflow):
22430        (WebCore::InlineFlowBox::bottomLayoutOverflow):
22431        (WebCore::InlineFlowBox::rightLayoutOverflow):
22432        (WebCore::InlineFlowBox::bottomVisualOverflow):
22433        (WebCore::InlineFlowBox::rightVisualOverflow):
22434        * rendering/RenderBox.cpp:
22435        (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
22436        * rendering/RenderBox.h:
22437        * rendering/RenderInline.cpp:
22438        (WebCore::RenderInline::linesBoundingBox):
22439        (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
22440        (WebCore::RenderInline::clippedOverflowRectForRepaint):
22441        * rendering/RenderText.cpp:
22442        (WebCore::RenderText::linesBoundingBox):
22443
224442010-10-29  Mike Lawther  <mikelawther@chromium.org>
22445
22446        Reviewed by James Robinson.
22447
22448        Fix canvas/philip/tests/2d.imageData.get.source.negative
22449        https://bugs.webkit.org/show_bug.cgi?id=48277
22450
22451        Handle negative width/height.
22452        See http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#pixel-manipulation
22453
22454        * html/canvas/CanvasRenderingContext2D.cpp:
22455        (WebCore::CanvasRenderingContext2D::getImageData):
22456
224572010-10-29  Kavita Kanetkar  <kkanetkar@chromium.org>
22458
22459        Reviewed by Pavel Feldman.
22460
22461        Web Inspector: FileSystem integration
22462        https://bugs.webkit.org/show_bug.cgi?id=45982
22463
22464        Adding filesystem support for Inspector under storage tab. This fetches root paths for
22465        temporary and persistent filesystems and allows "reveal folder in OS" option that
22466        launches native file browser. Currently this feature is disabled for non-chromium platforms.
22467
22468        * CMakeLists.txt:
22469        * English.lproj/localizedStrings.js:
22470        * GNUmakefile.am:
22471        * WebCore.gypi:
22472        * WebCore.pro:
22473        * WebCore.vcproj/WebCore.vcproj:
22474        * inspector/CodeGeneratorInspector.pm:
22475        * inspector/Inspector.idl:
22476        * inspector/InspectorController.cpp:
22477        (WebCore::InspectorController::connectFrontend):
22478        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
22479        * inspector/InspectorController.h:
22480        (WebCore::InspectorController::fileSystemAgent):
22481        * inspector/InspectorFileSystemAgent.cpp: Added.
22482        * inspector/InspectorFileSystemAgent.h: Added.
22483        * inspector/front-end/FileSystemView.js: Added.
22484        * inspector/front-end/Settings.js:
22485        * inspector/front-end/StoragePanel.js:
22486        (WebInspector.StoragePanel):
22487        (WebInspector.StoragePanel.prototype.reset):
22488        (WebInspector.StoragePanel.prototype.addFileSystem):
22489        (WebInspector.StoragePanel.prototype.showFileSystem):
22490        (WebInspector.StoragePanel.prototype.updateFileSystemPath):
22491        (WebInspector.StoragePanel.prototype.updateFileSystemError):
22492        (WebInspector.FileSystemTreeElement):
22493        (WebInspector.FileSystemTreeElement.prototype.onselect):
22494        * inspector/front-end/WebKit.qrc:
22495        * inspector/front-end/inspector.css:
22496        (.file-system-storage-tree-item .icon):
22497        * inspector/front-end/inspector.html:
22498        * inspector/front-end/inspector.js:
22499        (WebInspector.updateResource):
22500        (WebInspector._addFileSystemOrigin):
22501        (WebInspector.didGetFileSystemPath):
22502        (WebInspector.didGetFileSystemError):
22503        (WebInspector.reset):
22504        * platform/AsyncFileSystem.h:
22505        (WebCore::AsyncFileSystem::root):
22506        * platform/FileSystem.h:
22507        * platform/chromium/ChromiumBridge.h:
22508        * platform/chromium/FileSystemChromium.cpp:
22509        (WebCore::revealFolderInOS):
22510
225112010-10-29  Ryosuke Niwa  <rniwa@webkit.org>
22512
22513        Reviewed by Darin Adler.
22514
22515        Remove RenderTextControl::setSelectionRange
22516        https://bugs.webkit.org/show_bug.cgi?id=47870
22517
22518        Made RenderTextControl::setSelectionRange a global function.
22519        Removed setSelectionStart, setSelectionEnd, and select from RenderTextControl.
22520
22521        No new tests are added since there is no behavioral change.
22522
22523        * accessibility/AccessibilityRenderObject.cpp:
22524        (WebCore::AccessibilityRenderObject::setSelectedTextRange): Calls setSelectedTextRange.
22525        * dom/InputElement.cpp:
22526        (WebCore::InputElement::updateSelectionRange): Ditto.
22527        * html/HTMLFormControlElement.cpp:
22528        (WebCore::HTMLTextFormControlElement::setSelectionStart): Ditto.
22529        (WebCore::HTMLTextFormControlElement::setSelectionEnd): Ditto.
22530        (WebCore::HTMLTextFormControlElement::select): Ditto.
22531        (WebCore::HTMLTextFormControlElement::setSelectionRange): Ditto.
22532        * rendering/RenderTextControl.cpp:
22533        (WebCore::RenderTextControl::hasVisibleTextArea): Added.
22534        (WebCore::setSelectionRange): See above.
22535        * rendering/RenderTextControl.h:
22536
225372010-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>
22538
22539        Reviewed by Andreas Kling.
22540
22541        [GTK] Crash in TextEncoding.cpp when using glib unicode
22542        https://bugs.webkit.org/show_bug.cgi?id=48521
22543
22544        When the conversion to UTF-8 fails, try to encode the original string
22545        without normalizing. Fixes tests cases:
22546         fast/url/anchor.html
22547         fast/url/query.html
22548         fast/url/standard-url.html
22549
22550        * platform/text/TextEncoding.cpp:
22551        (WebCore::TextEncoding::encode):
22552
225532010-10-29  Benjamin Poulain  <benjamin.poulain@nokia.com>
22554
22555        Reviewed by Antonio Gomes.
22556
22557        TextureMapperGL get the driver info log but do not use it
22558        https://bugs.webkit.org/show_bug.cgi?id=48247
22559
22560        Remove the call to glGetProgramInfoLog().
22561
22562        * platform/graphics/opengl/TextureMapperGL.cpp:
22563        (WebCore::TexmapShaderInfo::createShaderProgram):
22564
225652010-10-29  Benjamin Kalman  <kalman@google.com>
22566
22567        Reviewed by Tony Chang.
22568
22569        Deleting contenteditable text to the left of a non-contenteditable span inserts unnecessary placeholder <br/>
22570        https://bugs.webkit.org/show_bug.cgi?id=48658
22571
22572        * WebCore.exp.in: Update is{Start,End}OfParagraph symbols.
22573        * editing/DeleteSelectionCommand.cpp:
22574        (WebCore::DeleteSelectionCommand::doApply): Cross editability boundaries when determining whether to insert placeholder.
22575        * editing/visible_units.cpp: Allow editability boundary to be crossed in {start,end,isStart,isEnd}OfParagraph.
22576        (WebCore::startOfParagraph): Also, avoid returning a position where renderer can't accept caret, like in endOfParagraph.
22577        (WebCore::endOfParagraph):
22578        (WebCore::isStartOfParagraph):
22579        (WebCore::isEndOfParagraph):
22580        * editing/visible_units.h: Ditto.
22581
225822010-10-29  Pavel Feldman  <pfeldman@chromium.org>
22583
22584        Reviewed by Timothy Hatcher.
22585
22586        Web Inspector: last active panel is not restored upon opening inspector.
22587        https://bugs.webkit.org/show_bug.cgi?id=48668
22588
22589        * inspector/Inspector.idl:
22590        * inspector/InspectorController.cpp:
22591        (WebCore::InspectorController::InspectorController):
22592        (WebCore::InspectorController::inspect):
22593        (WebCore::InspectorController::showPanel):
22594        (WebCore::InspectorController::disconnectFrontend):
22595        (WebCore::InspectorController::populateScriptObjects):
22596        * inspector/InspectorController.h:
22597        * inspector/InspectorState.cpp:
22598        (WebCore::InspectorState::InspectorState):
22599        * inspector/front-end/Settings.js:
22600        (WebInspector.Settings):
22601        * inspector/front-end/inspector.js:
22602        (WebInspector.set currentPanel):
22603        (WebInspector.doLoadedDone.onPopulateScriptObjects):
22604        (WebInspector.doLoadedDone):
22605        (WebInspector.documentClick.followLink):
22606        (WebInspector.documentClick):
22607
226082010-10-28  Michael Nordman  <michaeln@google.com>
22609
22610        Reviewed by ap.
22611
22612        [Chrome] Fix an appcache regression introduced in r69226
22613        https://bugs.webkit.org/show_bug.cgi?id=48592
22614        Define a new ApplicationCacheHost method for the specific case of main resource redirect handling.
22615
22616        Tests: the existing layout test applies
22617
22618        * loader/MainResourceLoader.cpp: use the newly introduced method
22619        (WebCore::MainResourceLoader::willSendRequest):
22620        * loader/appcache/ApplicationCacheHost.cpp:
22621        (WebCore::ApplicationCacheHost::maybeLoadMainResourceForRedirect):
22622        * loader/appcache/ApplicationCacheHost.h:
22623
226242010-10-29  Eric Carlson  <eric.carlson@apple.com>
22625
22626        Reviewed by Adam Roben.
22627
22628        Navigating to a .wav file creates a plugin document but should create a media document
22629        https://bugs.webkit.org/show_bug.cgi?id=48546
22630        <rdar://problem/8606105>
22631
22632        Test: media/media-can-play-wav-audio.html
22633
22634        * platform/MIMETypeRegistry.cpp: Add mapping from ".wav" to "audio/x-wav".
22635
226362010-10-29  Aaron Colwell  <acolwell@chromium.org>
22637
22638        Reviewed by James Robinson.
22639
22640        Created helper method WebCore::PlatformContextSkia::getNormalizedAlpha()
22641        to centralize alpha rounding & clipping logic. 
22642        https://bugs.webkit.org/show_bug.cgi?id=48094
22643
22644        Test: media/video-canvas-alpha.html
22645
22646        * platform/graphics/skia/ImageSkia.cpp:
22647        (WebCore::paintSkBitmap):
22648        * platform/graphics/skia/PlatformContextSkia.cpp:
22649        (WebCore::PlatformContextSkia::getNormalizedAlpha):
22650        * platform/graphics/skia/PlatformContextSkia.h:
22651
226522010-10-29  Nikolas Zimmermann  <nzimmermann@rim.com>
22653
22654        Reviewed by Dirk Schulze.
22655
22656        ASSERT when SVGAnimatedProperty instance is assigned to multiple elements.
22657        https://bugs.webkit.org/show_bug.cgi?id=48555
22658
22659        Test: svg/custom/insertItemBefore-from-non-list-origin.svg
22660
22661        * bindings/scripts/CodeGeneratorJS.pm: Include SVGAnimatedPropertyTearOff.h instead of SVGPropertyTearOff.h
22662        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
22663        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
22664        * svg/properties/SVGAnimatedListPropertyTearOff.h:
22665        (WebCore::SVGAnimatedListPropertyTearOff::isAnimatedListTearOff): Return true.
22666        (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList): Devirtualize function.
22667        * svg/properties/SVGAnimatedProperty.h:
22668        (WebCore::SVGAnimatedProperty::isAnimatedListTearOff): Return false.
22669        * svg/properties/SVGListPropertyTearOff.h:
22670        (WebCore::SVGListPropertyTearOff::removeItemFromListIfNeeded): Only try to remove the passed item from its list, if its actually a list and not just a SVGAnimatedProperty.
22671
226722010-10-29  David Hyatt  <hyatt@apple.com>
22673
22674        Reviewed by Adam Roben.
22675
22676        https://bugs.webkit.org/show_bug.cgi?id=48444
22677
22678        Fix the dirty rect checks in RenderBoxLineList, InlineFlowBox, InlineTextBox.  They were still assuming horizontal-tb writing-mode.
22679        This patch makes the checks directionally abstract and also refactors the checks in RenderLineBoxList to share code. 
22680
22681        No tests yet, since the invalidation code for inlines still assumes horizontal-tb.  That will be fixed in a follow-up bug,
22682        and then repaint tests will be easy to write.
22683
22684        * rendering/InlineBox.cpp:
22685        (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
22686        * rendering/InlineBox.h:
22687        * rendering/InlineFlowBox.cpp:
22688        (WebCore::InlineFlowBox::paint):
22689        * rendering/InlineTextBox.cpp:
22690        (WebCore::InlineTextBox::paint):
22691        * rendering/RenderBox.cpp:
22692        (WebCore::RenderBox::convertFromFlippedWritingMode):
22693        * rendering/RenderBox.h:
22694        * rendering/RenderLineBoxList.cpp:
22695        (WebCore::RenderLineBoxList::rangeIntersectsDirtyRect):
22696        (WebCore::RenderLineBoxList::anyLineIntersectsDirtyRect):
22697        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
22698        (WebCore::RenderLineBoxList::paint):
22699        (WebCore::RenderLineBoxList::hitTest):
22700        * rendering/RenderLineBoxList.h:
22701
227022010-10-29  Patrick Gansterer  <paroga@webkit.org>
22703
22704        Reviewed by Adam Roben.
22705
22706        Cleanup createGlobalImageFileDescriptor in ClipboardWin
22707        https://bugs.webkit.org/show_bug.cgi?id=48189
22708
22709        * platform/win/ClipboardWin.cpp:
22710        (WebCore::createGlobalURLContent):
22711        (WebCore::createGlobalUrlFileDescriptor):
22712        (WebCore::ClipboardWin::writeURL):
22713
227142010-10-29  Dmitry Titov  <dimich@chromium.org>
22715
22716        [Chromium clang] Unreviewed fix removing compiler warning.
22717        If GIFImageReader is a struct, don't call it a class.
22718
22719        * platform/image-decoders/gif/GIFImageDecoder.h:
22720
227212010-10-29  Alexey Proskuryakov  <ap@apple.com>
22722
22723        Fix the world (d'oh!)
22724
22725        https://bugs.webkit.org/show_bug.cgi?id=48576
22726        Let WebKit2 client know when a frame is a frameset
22727
22728        * html/HTMLFrameSetElement.cpp:
22729        (WebCore::HTMLFrameSetElement::insertedIntoDocument):
22730        (WebCore::HTMLFrameSetElement::removedFromDocument):
22731        Call base class version.
22732
227332010-10-29  Jian Li  <jianli@chromium.org>
22734
22735        Unreviewed. Fix chromium build break.
22736
22737        * bindings/v8/custom/V8FileReaderCustom.cpp:
22738        (WebCore::V8FileReader::resultAccessorGetter):
22739
227402010-10-29  Jian Li  <jianli@chromium.org>
22741
22742        Reviewed by David Levin.
22743
22744        Support readAsArrayBuffer in FileReader and FileReaderSync
22745        https://bugs.webkit.org/show_bug.cgi?id=47691
22746
22747        Merge the similar code in FileReader and FileReaderSync into
22748        FileReaderLoader.
22749
22750        Test cases have been added to read-file-test-cases.js.
22751
22752        * Android.jscbindings.mk:
22753        * CMakeLists.txt:
22754        * GNUmakefile.am:
22755        * WebCore.gypi:
22756        * WebCore.pro:
22757        * WebCore.vcproj/WebCore.vcproj:
22758        * WebCore.xcodeproj/project.pbxproj:
22759        * bindings/v8/custom/V8FileReaderCustom.cpp: Added.
22760        * fileapi/FileReader.cpp:
22761        (WebCore::FileReader::FileReader):
22762        (WebCore::FileReader::readAsArrayBuffer):
22763        (WebCore::FileReader::readAsBinaryString):
22764        (WebCore::FileReader::readAsText):
22765        (WebCore::FileReader::readAsDataURL):
22766        (WebCore::FileReader::readInternal):
22767        (WebCore::FileReader::doAbort):
22768        (WebCore::FileReader::terminate):
22769        (WebCore::FileReader::start):
22770        (WebCore::FileReader::didStartLoading):
22771        (WebCore::FileReader::didReceiveData):
22772        (WebCore::FileReader::didFinishLoading):
22773        (WebCore::FileReader::didFail):
22774        (WebCore::FileReader::fireEvent):
22775        (WebCore::FileReader::arrayBufferResult):
22776        (WebCore::FileReader::stringResult):
22777        * fileapi/FileReader.h:
22778        (WebCore::FileReader::readType):
22779        * fileapi/FileReader.idl:
22780        * fileapi/FileReaderLoader.cpp: Added.
22781        * fileapi/FileReaderLoader.h: Added.
22782        * fileapi/FileReaderLoaderClient.h: Added.
22783        * fileapi/FileReaderSync.cpp:
22784        (WebCore::FileReaderSync::FileReaderSync):
22785        (WebCore::FileReaderSync::readAsArrayBuffer):
22786        (WebCore::FileReaderSync::readAsBinaryString):
22787        (WebCore::FileReaderSync::readAsText):
22788        (WebCore::FileReaderSync::readAsDataURL):
22789        (WebCore::FileReaderSync::startLoading):
22790        * fileapi/FileReaderSync.h:
22791        * fileapi/FileReaderSync.idl:
22792        * html/canvas/ArrayBuffer.cpp:
22793        (WebCore::ArrayBuffer::create):
22794        * html/canvas/ArrayBuffer.h:
22795        * loader/ThreadableLoaderClient.h:
22796
227972010-10-29  Tony Chang  <tony@chromium.org>
22798
22799        Unreviewed, rolling out r70850.
22800        http://trac.webkit.org/changeset/70850
22801        https://bugs.webkit.org/show_bug.cgi?id=45640
22802
22803        chromium and qt pixel test regressions
22804
22805        * dom/Document.cpp:
22806        * dom/Document.h:
22807        * page/FrameView.cpp:
22808        (WebCore::FrameView::invalidateRect):
22809        (WebCore::FrameView::repaintContentRectangle):
22810        (WebCore::FrameView::doDeferredRepaints):
22811        * page/FrameView.h:
22812        * rendering/RenderBlock.cpp:
22813        (WebCore::RenderBlock::paintContents):
22814        * rendering/RenderLayer.cpp:
22815        (WebCore::RenderLayer::paintLayer):
22816
228172010-10-29  Alexey Proskuryakov  <ap@apple.com>
22818
22819        Reviewed by Darin Adler.
22820
22821        https://bugs.webkit.org/show_bug.cgi?id=48576
22822        Let WebKit2 client know when a frame is a frameset
22823
22824        This can change in two cases, when document changes, and when frame is navigated to another
22825        document.
22826
22827        * dom/Document.cpp: (WebCore::Document::documentDidBecomeActive): Update the client when
22828        a document is restored from page cache.
22829
22830        * loader/FrameLoaderClient.h: Added a new client call to notify client.
22831
22832        * html/HTMLFrameSetElement.h:
22833        * html/HTMLFrameSetElement.cpp:
22834        (WebCore::HTMLFrameSetElement::insertedIntoDocument):
22835        (WebCore::HTMLFrameSetElement::removedFromDocument):
22836        Update the client when document changes, potentially becoming a frameset. Per WebCore
22837        definition, a document is a frameset when it has a FRAMESET element as direct child of
22838        document element (it may also have body elements).
22839
22840        * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::dispatchDidBecomeFrameset):
22841        Added an empty implementation.
22842
228432010-10-29  Csaba Osztrogonác  <ossy@webkit.org>
22844
22845        Unreviewed fix. Touch WebCorePrefix.h to fix incremental build failure after r70878.
22846
22847        * WebCorePrefix.h:
22848
228492010-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>
22850
22851        Reviewed by Martin Robinson.
22852
22853        [GTK] Handle surrogate pairs in TextBreakIteratorGtk
22854        https://bugs.webkit.org/show_bug.cgi?id=48227
22855
22856        TextBreakIteratorGtk uses UTF-8 because it's what pango expects, but we
22857        need to return indices for the given input string that are in UTF-16.
22858        The number of characters is the same for both UTF-16 and UTF-8 except when
22859        the input string contains surrogate pairs. We need to keep both, the
22860        index for the UTF-8 string to be used internally, and the index for the
22861        UTF-16 string to be used as return value of the iterator interface. It
22862        fixes test fast/forms/textarea-maxlength.html
22863
22864        * platform/text/gtk/TextBreakIteratorGtk.cpp:
22865        (WebCore::CharacterIterator::getText):
22866        (WebCore::CharacterIterator::getLength):
22867        (WebCore::CharacterIterator::getSize):
22868        (WebCore::CharacterIterator::getIndex):
22869        (WebCore::CharacterIterator::getUTF16Index):
22870        (WebCore::CharacterIterator::getUTF16Length):
22871        (WebCore::CharacterIterator::characterSize):
22872        (WebCore::CharacterIterator::setText):
22873        (WebCore::CharacterIterator::setIndex):
22874        (WebCore::CharacterIterator::setUTF16Index):
22875        (WebCore::CharacterIterator::first):
22876        (WebCore::CharacterIterator::last):
22877        (WebCore::CharacterIterator::next):
22878        (WebCore::CharacterIterator::previous):
22879        (WebCore::setUpIterator):
22880        (WebCore::textBreakFirst):
22881        (WebCore::textBreakLast):
22882        (WebCore::textBreakNext):
22883        (WebCore::textBreakPrevious):
22884        (WebCore::textBreakPreceding):
22885        (WebCore::textBreakFollowing):
22886        (WebCore::textBreakCurrent):
22887        (WebCore::isTextBreak):
22888
228892010-10-29  Alexander Pavlov  <apavlov@chromium.org>
22890
22891        Reviewed by Pavel Feldman.
22892
22893        Web Inspector: [REGRESSION] Addition of a new (blank) style property does not work
22894        https://bugs.webkit.org/show_bug.cgi?id=48631
22895
22896        Test: inspector/styles-add-blank-property.html
22897
22898        * inspector/front-end/StylesSidebarPane.js:
22899        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
22900        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
22901
229022010-10-29  Pavel Feldman  <pfeldman@chromium.org>
22903
22904        Reviewed by Timothy Hatcher.
22905
22906        Web Inspector: add close button to network view, make tests pass for
22907        resource manager on all ports.
22908        https://bugs.webkit.org/show_bug.cgi?id=48628
22909
22910        * inspector/InspectorController.cpp:
22911        (WebCore::InspectorController::didCommitLoad):
22912        (WebCore::InspectorController::frameDetachedFromParent):
22913        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
22914        (WebCore::InspectorController::identifierForInitialRequest):
22915        (WebCore::InspectorController::willSendRequest):
22916        (WebCore::InspectorController::markResourceAsCached):
22917        (WebCore::InspectorController::didReceiveResponse):
22918        (WebCore::InspectorController::didReceiveContentLength):
22919        (WebCore::InspectorController::didFinishLoading):
22920        (WebCore::InspectorController::didFailLoading):
22921        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
22922        (WebCore::InspectorController::scriptImported):
22923        (WebCore::InspectorController::didCreateWebSocket):
22924        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
22925        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
22926        (WebCore::InspectorController::didCloseWebSocket):
22927        * inspector/front-end/NetworkPanel.js:
22928        (WebInspector.NetworkPanel):
22929        * inspector/front-end/ResourceManager.js:
22930        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
22931        * inspector/front-end/StoragePanel.js:
22932        (WebInspector.StoragePanel.prototype.addResourceToFrame):
22933        * inspector/front-end/inspector.js:
22934        (WebInspector._createPanels):
22935        * inspector/front-end/networkPanel.css:
22936        (.network-close-button):
22937
229382010-10-29  Nikolas Zimmermann  <nzimmermann@rim.com>
22939
22940        Reviewed by Dirk Schulze.
22941
22942        Convert SVGAnimatedEnumeration/Integer to the new SVGAnimatedPropertyTearOff concept
22943        https://bugs.webkit.org/show_bug.cgi?id=48623
22944
22945        Besides converting SVGAnimatedEnumeration/Integer to the new animated property tear off concept, fix support
22946        for multiple wrappers within the new concept, which was broken - covered by existing svg/dynamic-updates/ tests.
22947
22948        Replace all 'extern char[]' usage when using the multiple wrappers macro, by static AtomicStrings.
22949
22950        * GNUmakefile.am: Add SVGAnimatedEnumeration.h / SVGAnimatedInteger.h to build.
22951        * WebCore.gypi: Ditto.
22952        * WebCore.pro: Ditto.
22953        * WebCore.vcproj/WebCore.vcproj: Ditto.
22954        * WebCore.xcodeproj/project.pbxproj: Ditto.
22955        * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedEnumeration / SVGAnimatedInteger as animated types using the new concept.
22956        * bindings/scripts/CodeGeneratorObjC.pm: Touched, to force regenerating ObjC bindings, dependency tracking is obviously broken.
22957        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedBoolean/Enumeration/Integer handling.
22958        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
22959        * svg/SVGAnimatedEnumeration.h: Added.
22960        * svg/SVGAnimatedEnumeration.idl:
22961        * svg/SVGAnimatedInteger.h: Added.
22962        * svg/SVGClipPathElement.h: Adapted all code to create new style animated property tear offs for long & int types.
22963        * svg/SVGComponentTransferFunctionElement.h:
22964        * svg/SVGFEBlendElement.h:
22965        * svg/SVGFEColorMatrixElement.h:
22966        * svg/SVGFECompositeElement.h:
22967        * svg/SVGFEConvolveMatrixElement.h:
22968        * svg/SVGFEDiffuseLightingElement.cpp:
22969        (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier): Replaced extern[] char hack using a static AtomicString.
22970        (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier): Ditto.
22971        * svg/SVGFEDiffuseLightingElement.h:
22972        * svg/SVGFEDisplacementMapElement.h:
22973        * svg/SVGFEGaussianBlurElement.cpp:
22974        (WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier): Ditto.
22975        (WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier): Ditto.
22976        * svg/SVGFEGaussianBlurElement.h:
22977        * svg/SVGFEMorphologyElement.h:
22978        * svg/SVGFESpecularLightingElement.cpp:
22979        (WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier): Ditto.
22980        (WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier): Ditto.
22981        * svg/SVGFESpecularLightingElement.h:
22982        * svg/SVGFETurbulenceElement.cpp:
22983        (WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier): Ditto.
22984        (WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier): Ditto.
22985        * svg/SVGFETurbulenceElement.h:
22986        * svg/SVGFilterElement.cpp:
22987        (WebCore::SVGFilterElement::filterResXIdentifier): Ditto.
22988        (WebCore::SVGFilterElement::filterResYIdentifier): Ditto.
22989        * svg/SVGFilterElement.h:
22990        * svg/SVGGradientElement.h:
22991        * svg/SVGMarkerElement.cpp:
22992        (WebCore::SVGMarkerElement::orientTypeIdentifier): Ditto.
22993        (WebCore::SVGMarkerElement::orientAngleIdentifier): Ditto.
22994        * svg/SVGMarkerElement.h:
22995        * svg/SVGMaskElement.h:
22996        * svg/SVGPatternElement.h:
22997        * svg/SVGTextContentElement.h:
22998        * svg/SVGTextPathElement.h:
22999        * svg/properties/SVGAnimatedPropertyMacros.h: Add new macro for multiple wrappers using static properties.
23000
230012010-10-29  Andreas Kling  <kling@webkit.org>
23002
23003        Reviewed by Kenneth Rohde Christiansen.
23004
23005        [Qt] Make GraphicsContext cheaper to construct
23006        https://bugs.webkit.org/show_bug.cgi?id=48626
23007
23008        Do less unnecessary things when creating the Qt GraphicsContext:
23009        - Don't create a black QBrush that's immediately discarded.
23010        - Don't call setPlatform*(), set the painter brush and pen directly.
23011        - Call setRenderHints() once instead of multiple setRenderHint().
23012
23013        * platform/graphics/qt/GraphicsContextQt.cpp:
23014        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
23015        (WebCore::GraphicsContext::GraphicsContext):
23016
230172010-10-29  Andreas Kling  <kling@webkit.org>
23018
23019        Reviewed by Simon Hausmann.
23020
23021        [Qt] GraphicsLayer: Don't notifySyncRequired() more than necessary
23022        https://bugs.webkit.org/show_bug.cgi?id=48624
23023
23024        Don't queue multiple meta method invocations for notifySyncRequired()
23025
23026        4% speedup on <http://ariya.github.com/clock.htm>
23027
23028        * platform/graphics/qt/GraphicsLayerQt.cpp:
23029        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
23030        (WebCore::GraphicsLayerQtImpl::notifySyncRequired):
23031        (WebCore::GraphicsLayerQtImpl::notifyChange):
23032
230332010-10-29  Zhenyao Mo  <zmo@google.com>
23034
23035        Reviewed by Chris Marrin.
23036
23037        drawArrays/drawElements with first/offset out of range but size==0 should generate no error
23038        https://bugs.webkit.org/show_bug.cgi?id=48601
23039
23040        * html/canvas/WebGLRenderingContext.cpp:
23041        (WebCore::WebGLRenderingContext::drawArrays):
23042        (WebCore::WebGLRenderingContext::drawElements):
23043
230442010-10-29  Leandro Gracia Gil  <leandrogracia@google.com>
23045
23046        Reviewed by Jeremy Orlow.
23047
23048        Patch the current speech input implementation to use the nearest
23049        language tag. The language is now passed to the startRecognition
23050        methods so that language-specific recognition could be used. Also added
23051        a second parameter to setMockSpeechInputResult for the language used in
23052        speech recognition.
23053        https://bugs.webkit.org/show_bug.cgi?id=47089
23054
23055        This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
23056        details see http://codereview.chromium.org/3615005/show,
23057        http://codereview.chromium.org/3595018/show and
23058        https://bugs.webkit.org/show_bug.cgi?id=47420.
23059
23060        Test: fast/speech/input-text-language-tag.html
23061
23062        * page/SpeechInput.cpp:
23063        (WebCore::SpeechInput::startRecognition):
23064        * page/SpeechInput.h:
23065        * page/SpeechInputClient.h:
23066        * platform/mock/SpeechInputClientMock.cpp:
23067        (WebCore::SpeechInputClientMock::startRecognition):
23068        (WebCore::SpeechInputClientMock::setRecognitionResult):
23069        (WebCore::SpeechInputClientMock::timerFired):
23070        * platform/mock/SpeechInputClientMock.h:
23071        * rendering/TextControlInnerElements.cpp:
23072        (WebCore::TextControlInnerElement::attachInnerElement):
23073        (WebCore::SearchFieldCancelButtonElement::detach):
23074        (WebCore::SpinButtonElement::defaultEventHandler):
23075        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
23076        (WebCore::InputFieldSpeechButtonElement::detach):
23077
230782010-10-29  Mads Ager  <ager@chromium.org>
23079
23080        Reviewed by Pavel Feldman.
23081
23082        [V8] The DateExtension cannot handle overwritten Date
23083        https://bugs.webkit.org/show_bug.cgi?id=48621
23084
23085        Check that the Date property is an object before attempting to get
23086        hidden properties from it.
23087
23088        Test: fast/dom/Window/slow-unload-handler-overwritten-date.html
23089
23090        * bindings/v8/DateExtension.cpp:
23091        (WebCore::DateExtension::setAllowSleep):
23092
230932010-10-27  Nikolas Zimmermann  <nzimmermann@rim.com>
23094
23095        Reviewed by Dirk Schulze.
23096
23097        Convert SVGAnimatedBoolean to the new SVGAnimatedPropertyTearOff concept
23098        https://bugs.webkit.org/show_bug.cgi?id=48469
23099
23100        Convert the next SVG animated primitive type to use the SVGAnimatedPropertyTearOff concept: SVGAnimatedBoolean.
23101        Added new test verifying that StrictTypeChecking is enabled for SVGAnimatedBooleans. It also tests that this type is "static", see LayoutTests/ChangeLog for details.
23102
23103        Add support for StrictTypeChecking for boolean types.
23104
23105        Test: svg/dom/SVGExternalResourcesRequired.html
23106
23107        * GNUmakefile.am: Add SVGAnimatedBoolean.h and SVGAnimatedStaticPropertyTearOff.h to build.
23108        * WebCore.gypi: Ditto.
23109        * WebCore.pro: Ditto.
23110        * WebCore.vcproj/WebCore.vcproj: Ditto.
23111        * WebCore.xcodeproj/project.pbxproj: Ditto.
23112        * bindings/scripts/CodeGenerator.pm: Add SVGAnimatedBoolean to the new style svg animated bindings list.
23113        * bindings/scripts/CodeGeneratorJS.pm: Add StrictTypeChecking support for boolean types.
23114        * bindings/scripts/CodeGeneratorObjC.pm: Ditto. Only generate kit() usage for new style animated types, if the wrapped type needs a tear off.
23115        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
23116        * svg/DeprecatedSVGAnimatedTemplate.h: Remove SVGAnimatedBoolean handling.
23117        * svg/SVGAElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_STATIC_PROPERTY_NEW/ for boolean types everywhere. Include SVGAnimatedPropertyMacros.h where needed.
23118        * svg/SVGAnimatedBoolean.h: Added.
23119        * svg/SVGAnimatedBoolean.idl:
23120        * svg/SVGAnimationElement.h:
23121        * svg/SVGCircleElement.h:
23122        * svg/SVGClipPathElement.h:
23123        * svg/SVGCursorElement.h:
23124        * svg/SVGDefsElement.h:
23125        * svg/SVGEllipseElement.h:
23126        * svg/SVGExternalResourcesRequired.cpp:
23127        * svg/SVGExternalResourcesRequired.h:
23128        (WebCore::SVGExternalResourcesRequired::~SVGExternalResourcesRequired):
23129        * svg/SVGFEConvolveMatrixElement.h:
23130        * svg/SVGFEImageElement.h:
23131        * svg/SVGFilterElement.h:
23132        * svg/SVGFontElement.h:
23133        * svg/SVGForeignObjectElement.h:
23134        * svg/SVGGElement.h:
23135        * svg/SVGGradientElement.h:
23136        * svg/SVGImageElement.h:
23137        * svg/SVGLineElement.h:
23138        * svg/SVGMPathElement.h:
23139        * svg/SVGMarkerElement.h:
23140        * svg/SVGMaskElement.h:
23141        * svg/SVGPathElement.h:
23142        * svg/SVGPatternElement.h:
23143        * svg/SVGPolyElement.h:
23144        * svg/SVGRectElement.h:
23145        * svg/SVGSVGElement.h:
23146        * svg/SVGScriptElement.h:
23147        * svg/SVGSwitchElement.h:
23148        * svg/SVGSymbolElement.h:
23149        * svg/SVGTextContentElement.h:
23150        * svg/SVGUseElement.h:
23151        * svg/SVGViewElement.h:
23152        * svg/properties/SVGAnimatedListPropertyTearOff.h: Moved RefPtr<SVGProperty> m_baseVal/m_animVal from SVGAnimatedProperty, as SVGAnimatedStaticPropertyTearOff doesn't need them.
23153        * svg/properties/SVGAnimatedProperty.h: Remove m_baseVal/m_animVal.
23154        (WebCore::SVGAnimatedProperty::commitChange): New method to share code between the SVGAnimated*PropertyTearOff classes.
23155        * svg/properties/SVGAnimatedPropertyMacros.h: Add new DECLARE_ANIMATED_STATIC_PROPERTY_NEW macro which creates SVGAnimatedStaticPropertyTearOff types.
23156        * svg/properties/SVGAnimatedPropertyTearOff.h: Moved RefPtr<SVGProperty> m_baseVal/m_animVal from SVGAnimatedProperty, as SVGAnimatedStaticPropertyTearOff doesn't need them.
23157        * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Added.
23158        (WebCore::SVGAnimatedStaticPropertyTearOff::baseVal): Directly returns the stored m_property as reference, no tear off is created.
23159        (WebCore::SVGAnimatedStaticPropertyTearOff::animVal): Ditto.
23160        (WebCore::SVGAnimatedStaticPropertyTearOff::setBaseVal): Directly updates the stored m_property reference, and invalidates the SVG attributes.
23161        (WebCore::SVGAnimatedStaticPropertyTearOff::setAnimVal): Not implemented.
23162        (WebCore::SVGAnimatedStaticPropertyTearOff::create):
23163        (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
23164        * svg/properties/SVGListPropertyTearOff.h:
23165        (WebCore::SVGListPropertyTearOff::commitChange): Share code, use SVGAnimatedProperty::commitChange.
23166        * svg/properties/SVGPropertyTearOff.h:
23167        (WebCore::SVGPropertyTearOff::commitChange): Ditto.
23168
231692010-10-28  MORITA Hajime  <morrita@google.com>
23170
23171        Reviewed by Kent Tamura.
23172
23173        <meter min=0 max=100 value=100> should be optimum.
23174        https://bugs.webkit.org/show_bug.cgi?id=48613
23175
23176        Changed to make the condition inclusive for better case consistently.
23177        - Values on the border between optimum and subsequntial go optimum.
23178        - Values on the border between suboptimal and even-less-than-good go suboptimal.
23179
23180        Test: fast/dom/HTMLMeterElement/meter-boundary-values.html
23181
23182        * html/HTMLMeterElement.cpp:
23183        (WebCore::HTMLMeterElement::gaugeRegion):
23184
231852010-10-29  Kenichi Ishibashi  <bashi@google.com>
23186
23187        Reviewed by Kent Tamura.
23188
23189        [HTML5] Add DOMSettableTokenList
23190        https://bugs.webkit.org/show_bug.cgi?id=47810
23191
23192        Adds DOMSettableTokenList interface to support <output> element.
23193        The DOMTokenList interface was refactored since its was tightly coupled
23194        with HTMLElement.classList property.
23195
23196        * Android.derived.jscbindings.mk: Added JSDOMSettableTokenList.h file.
23197        * Android.derived.v8bindings.mk: Added V8DOMSettableTokenList.h file.
23198        * Android.jscbindings.mk: Added JSDOMSettableTokenList.cpp file.
23199        * Android.mk: Added ClassList.cpp file.
23200        * CMakeLists.txt: Added DOMSettableTokenList.{cpp,idl} and ClassList.cpp files.
23201        * DerivedSources.cpp: Added JSDOMSettableTokenList.cpp file.
23202        * DerivedSources.make: Added DOMSettableTokenList entry.
23203        * GNUmakefile.am: Added JSDOMSettableTokenList.{h,cpp} and ClassList.{h,cpp} files.
23204        * WebCore.gypi: Added DOMSettableTokenList.{h,cpp,idl}, V8DOMSettableTokenListCustom.cpp and ClassList.{h,cpp} files.
23205        * WebCore.pri: Added DOMSettableTokenList.idl file.
23206        * WebCore.pro: Added V8DOMSettableTokenListCustom.cpp, ClassList.{h,cpp} and DOMSettableTokenList.{h,cpp} files.
23207        * WebCore.vcproj/WebCore.vcproj: Added JSDOMSettableTokenList.{h,cpp}, ClassList.{h,cpp} and DOMSettableTokenList.{h,cpp} files.
23208        * WebCore.xcodeproj/project.pbxproj: Added ClassList.{h,cpp}, DOMSettabletokenList.{h,cpp} and JSDOMSettableTokenList.{h,cpp}
23209        * bindings/gobject/GNUmakefile.am: Added WebKitDOMDOMSettableTokenList.{h,cpp} and WebKitDOMDOMSettableTokenListPrivate.cpp files.
23210        * bindings/scripts/CodeGeneratorJS.pm: Modified IndexGetterReturnsStrings() returns 1 for DOMSettableTokenList.
23211        * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Added.
23212        (WebCore::V8DOMSettableTokenList::indexedPropertyGetter):
23213        * dom/Element.cpp: Replaced DOMTokenList to ClassList.
23214        (WebCore::Element::classList):
23215        * dom/ElementRareData.h: ditto.
23216        * dom/SpaceSplitString.cpp: Added add() and remove() functions.
23217        (WebCore::SpaceSplitStringData::add):
23218        (WebCore::SpaceSplitStringData::remove):
23219        (WebCore::SpaceSplitString::add):
23220        (WebCore::SpaceSplitString::remove):
23221        * dom/SpaceSplitString.h: Added add() and remove() functions.
23222        * dom/StyledElement.cpp: Replaced DOMTokenList to ClassList.
23223        (WebCore::StyledElement::classAttributeChanged):
23224        * dom/StyledElement.h: ditto.
23225        * html/ClassList.cpp: Added, mostly from original DOMTokenList.cpp.
23226        (WebCore::ClassList::ClassList):
23227        (WebCore::ClassList::ref):
23228        (WebCore::ClassList::deref):
23229        (WebCore::ClassList::length):
23230        (WebCore::ClassList::item):
23231        (WebCore::ClassList::contains):
23232        (WebCore::ClassList::containsInternal):
23233        (WebCore::ClassList::add):
23234        (WebCore::ClassList::addInternal):
23235        (WebCore::ClassList::remove):
23236        (WebCore::ClassList::removeInternal):
23237        (WebCore::ClassList::toggle):
23238        (WebCore::ClassList::toString):
23239        (WebCore::ClassList::reset):
23240        (WebCore::ClassList::classNames):
23241        * html/ClassList.h: Added, mostly from original DOMTokenList.h.
23242        (WebCore::ClassList::create):
23243        (WebCore::ClassList::element):
23244        * html/DOMSettableTokenList.cpp: Added.
23245        (WebCore::DOMSettableTokenList::DOMSettableTokenList):
23246        (WebCore::DOMSettableTokenList::~DOMSettableTokenList):
23247        (WebCore::DOMSettableTokenList::item):
23248        (WebCore::DOMSettableTokenList::contains):
23249        (WebCore::DOMSettableTokenList::add):
23250        (WebCore::DOMSettableTokenList::addInternal):
23251        (WebCore::DOMSettableTokenList::remove):
23252        (WebCore::DOMSettableTokenList::removeInternal):
23253        (WebCore::DOMSettableTokenList::toggle):
23254        (WebCore::DOMSettableTokenList::setValue):
23255        * html/DOMSettableTokenList.h: Added.
23256        (WebCore::DOMSettableTokenList::create):
23257        (WebCore::DOMSettableTokenList::ref):
23258        (WebCore::DOMSettableTokenList::deref):
23259        (WebCore::DOMSettableTokenList::length):
23260        (WebCore::DOMSettableTokenList::toString):
23261        (WebCore::DOMSettableTokenList::value):
23262        * html/DOMSettableTokenList.idl: Added.
23263        * html/DOMTokenList.cpp: Refactored to be an abstract interface for both of ClassList and DOMSettableTokenList.
23264        (WebCore::DOMTokenList::validateToken): Changed to be a static member function of DOMTokenList.
23265        (WebCore::DOMTokenList::addToken): Added, mostly from original DOMTokenList::addInternal().
23266        (WebCore::DOMTokenList::removeToken): Added, mostly from original DOMTokenList::removeInternal().
23267        * html/DOMTokenList.h: Refactored to be an abstract interface for both of ClassList and DOMSettableTokenList.
23268        (WebCore::DOMTokenList::~DOMTokenList):
23269        (WebCore::DOMTokenList::element):
23270        * page/DOMWindow.cpp: Added an entry for DOMSettableTokenList.
23271        * page/DOMWindow.idl: ditto.
23272
232732010-10-29  Pavel Feldman  <pfeldman@chromium.org>
23274
23275        Reviewed by Timothy Hatcher.
23276
23277        Web Inspector: make legacy resource tracking optional in the native code,
23278        make cookeis work against new resource manager.
23279        https://bugs.webkit.org/show_bug.cgi?id=48532
23280
23281        * inspector/InspectorCSSStore.cpp:
23282        (WebCore::InspectorCSSStore::resourceStyleSheetText):
23283        * inspector/InspectorController.cpp:
23284        (WebCore::InspectorController::InspectorController):
23285        (WebCore::InspectorController::~InspectorController):
23286        (WebCore::InspectorController::connectFrontend):
23287        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
23288        (WebCore::InspectorController::populateScriptObjects):
23289        (WebCore::InspectorController::unbindAllResources):
23290        (WebCore::InspectorController::didCommitLoad):
23291        (WebCore::InspectorController::frameDetachedFromParent):
23292        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
23293        (WebCore::InspectorController::identifierForInitialRequest):
23294        (WebCore::InspectorController::willSendRequest):
23295        (WebCore::InspectorController::markResourceAsCached):
23296        (WebCore::InspectorController::didReceiveResponse):
23297        (WebCore::InspectorController::didReceiveContentLength):
23298        (WebCore::InspectorController::didFinishLoading):
23299        (WebCore::InspectorController::didFailLoading):
23300        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
23301        (WebCore::InspectorController::scriptImported):
23302        (WebCore::InspectorController::setResourceTrackingEnabled):
23303        (WebCore::InspectorController::getCookies):
23304        (WebCore::InspectorController::deleteCookie):
23305        (WebCore::InspectorController::didCreateWebSocket):
23306        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
23307        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
23308        (WebCore::InspectorController::didCloseWebSocket):
23309        (WebCore::InspectorController::breakpointsSettingKey):
23310        (WebCore::InspectorController::getResourceContent):
23311        * inspector/InspectorController.h:
23312        * inspector/InspectorResource.cpp:
23313        (WebCore::InspectorResource::updateScriptObject):
23314        (WebCore::InspectorResource::markFailed):
23315        * inspector/InspectorResource.h:
23316        * inspector/InspectorResourceAgent.cpp:
23317        (WebCore::populateObjectWithFrameResources):
23318        * inspector/front-end/CookieItemsView.js:
23319        (WebInspector.CookieItemsView.prototype._updateWithCookies):
23320        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
23321        * inspector/front-end/Resource.js:
23322        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
23323        (WebInspector.Resource.prototype._checkWarning):
23324        * inspector/front-end/ResourceManager.js:
23325        (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
23326        (WebInspector.ResourceManager.prototype.didFailLoading):
23327        * inspector/front-end/inspector.js:
23328        (WebInspector.forAllResources):
23329        (WebInspector.updateResource):
23330
233312010-10-29  MORITA Hajime <morrita@google.com>
23332
23333        Unreviewed attempt for fixing build break for http://trac.webkit.org/changeset/70847
23334
23335        * editing/EditingAllInOne.cpp:
23336
233372010-10-29  Mihai Parparita  <mihaip@chromium.org>
23338
23339        Reviewed by Adam Barth.
23340
23341        Support RegExp in V8 implementation of SerializedScriptValue
23342        https://bugs.webkit.org/show_bug.cgi?id=44809
23343        
23344        Add RegExp serialization/deserialization now that V8 provides API access
23345        to the RegExp type.
23346
23347        * bindings/v8/SerializedScriptValue.cpp:
23348        (WebCore::ZigZag::Writer::writeRegExp):
23349        (WebCore::ZigZag::Serializer::writeRegExp):
23350        (WebCore::ZigZag::Serializer::doSerialize):
23351        (WebCore::ZigZag::Reader::read):
23352        (WebCore::ZigZag::Reader::readRegExp):
23353
233542010-10-13  MORITA Hajime  <morrita@google.com>
23355
23356        Reviewed by David Hyatt.
23357
23358        Navigating dark background websites results in blinding white flashes between pages. 
23359        https://bugs.webkit.org/show_bug.cgi?id=45640
23360
23361        This FOUC is caused by an early layout request before the <body> is ready, 
23362        and the page's background style given for <body>, instead of <html>.
23363        So many sites have such stylesheets that we should care them.
23364        
23365        - Some DOM operation such as 'element.offsetLeft' causes page layout.
23366        - The page layout results page repaint
23367        - The page page repaint makes a white screen. because there is nothing to paint
23368          before <body> is available.
23369        
23370        This change:
23371        - extracted existing FOUC check on RenderBlock and RenderLayer to 
23372          Document::mayCauseFlashOfUnstyledContent(),
23373        - checked <body> availability on mayCauseFlashOfUnstyledContent(), and
23374        - added FOUC guards before requesting reapint on FrameView.
23375        
23376        No new tests. The data loading speed matters and it cannot be
23377        captured by DRT.
23378
23379        * dom/Document.cpp:
23380        (WebCore::Document::mayCauseFlashOfUnstyledContent): Added.
23381        * dom/Document.h:
23382        * page/FrameView.cpp:
23383        (WebCore::FrameView::invalidateRect): Added a guard.
23384        (WebCore::FrameView::repaintContentRectangle): Added a guard.
23385        (WebCore::FrameView::doDeferredRepaints): Added a guard.
23386        (WebCore::FrameView::shouldUpdate): Added.
23387        * page/FrameView.h:
23388        * rendering/RenderBlock.cpp:
23389        (WebCore::RenderBlock::paintContents): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
23390        * rendering/RenderLayer.cpp:
23391        (WebCore::RenderLayer::paintLayer): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
23392
233932010-10-29  David Hyatt  <hyatt@apple.com>
23394
23395        Reviewed by Dan Bernstein.
23396
23397        https://bugs.webkit.org/show_bug.cgi?id=48618
23398
23399        Backgrounds should clip to the border radius properly for vertical lines.  The code that does this still assumes horizontal lines.
23400        The testcase to cover this used nested spans, which also exposed a bug in the propagation of the vertical bit through the line
23401        box tree.
23402        
23403        Added fast/blockflow/border-radius-clipping-vertical-lr.html.
23404
23405        * rendering/RenderBlockLineLayout.cpp:
23406        (WebCore::RenderBlock::createLineBoxes):
23407        * rendering/RenderBoxModelObject.cpp:
23408        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
23409
234102010-10-26  MORITA Hajime  <morrita@google.com>
23411
23412        Reviewed by Kent Tamura.
23413
23414        Refactoring: Spellchecking related static functions could form a class
23415        https://bugs.webkit.org/show_bug.cgi?id=48287
23416
23417        Extracted spellcheck related static functions to TextCheckingHelper class,
23418        which has EditorClient and Range as its member.
23419        
23420        No new tests. Just a refactoring.
23421
23422        * CMakeLists.txt:
23423        * GNUmakefile.am:
23424        * WebCore.gypi:
23425        * WebCore.pro:
23426        * WebCore.vcproj/WebCore.vcproj:
23427        * WebCore.xcodeproj/project.pbxproj:
23428        * editing/Editor.cpp:
23429        (WebCore::Editor::advanceToNextMisspelling):
23430        (WebCore::Editor::isSelectionUngrammatical):
23431        (WebCore::Editor::guessesForUngrammaticalSelection):
23432        (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
23433        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
23434        (WebCore::Editor::markMisspellingsOrBadGrammar):
23435        (WebCore::Editor::markMisspellings):
23436        (WebCore::Editor::markBadGrammar):
23437        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
23438        (WebCore::Editor::changeBackToReplacedString):
23439        * editing/Editor.h:
23440        * editing/TextCheckingHelper.cpp: Added.
23441        (WebCore::TextCheckingHelper::TextCheckingHelper):
23442        (WebCore::TextCheckingHelper::~TextCheckingHelper):
23443        (WebCore::TextCheckingHelper::paragraphAlignedRange):
23444        (WebCore::TextCheckingHelper::findFirstMisspelling):
23445        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
23446        (WebCore::TextCheckingHelper::findFirstGrammarDetail):
23447        (WebCore::TextCheckingHelper::findFirstBadGrammar):
23448        (WebCore::TextCheckingHelper::isUngrammatical):
23449        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
23450        (WebCore::TextCheckingHelper::markAllMisspellings):
23451        (WebCore::TextCheckingHelper::markAllBadGrammar):
23452        * editing/TextCheckingHelper.h: Added.
23453
234542010-10-28  Adam Barth  <abarth@webkit.org>
23455
23456        Reviewed by Eric Seidel, Peter Kasting, and Darin Fisher.
23457        (Eric reviewed the CoreGraphics interactions, Peter reviewed the image
23458        decoder interaction, and Darin Fisher SGTMed the policy decision.)
23459
23460        [chromium] Chromium Mac should use WebKit's image decoders
23461        https://bugs.webkit.org/show_bug.cgi?id=47974
23462
23463        This patch teaches WebKit's image decoders how to talk to CoreGraphics.
23464        This patch doesn't handle color profiles, but that will come in a
23465        subsequent patch.
23466
23467        * WebCore.gyp/WebCore.gyp:
23468        * WebCore.gypi:
23469        * loader/CachedImage.cpp:
23470        (WebCore::CachedImage::createImage):
23471        * platform/graphics/ImageSource.h:
23472        * platform/image-decoders/ImageDecoder.cpp:
23473        (WebCore::RGBA32Buffer::clear):
23474        (WebCore::RGBA32Buffer::zeroFill):
23475        (WebCore::RGBA32Buffer::copyBitmapData):
23476        (WebCore::RGBA32Buffer::setSize):
23477        * platform/image-decoders/ImageDecoder.h:
23478        (WebCore::RGBA32Buffer::getAddr):
23479        * platform/image-decoders/cg: Added.
23480        * platform/image-decoders/cg/ImageDecoderCG.cpp: Added.
23481        (WebCore::RGBA32Buffer::copyBitmapData):
23482        (WebCore::RGBA32Buffer::setSize):
23483        (WebCore::RGBA32Buffer::asNewNativeImage):
23484
234852010-10-28  Sergio Villar Senin  <svillar@igalia.com>
23486
23487        Reviewed by Xan Lopez.
23488
23489        [GTK] GObject bindings generator issues
23490        https://bugs.webkit.org/show_bug.cgi?id=48135
23491
23492        GObject code generator must not generate conditional API's. This
23493        patch also adds an alternative return value for non-void
23494        conditional methods. With this change the conditionalMethods hack
23495        is no longer needed.
23496
23497        * bindings/scripts/CodeGeneratorGObject.pm:
23498
234992010-10-28  David Hyatt  <hyatt@apple.com>
23500
23501        Reviewed by Dan Bernstein.
23502
23503        https://bugs.webkit.org/show_bug.cgi?id=48569
23504
23505        Box shadows on vertical inlines don't paint properly.  Fix the paintBoxShadow method to treat the edges to include as
23506        logical (so that top/bottom are used instead of left/right for vertical lines).  In order to make my box-shadow tests
23507        work I had to fix a bug in the transform code of InlineTextBox that was causing the baselines of vertical lines to
23508        be wrong.
23509        
23510        Added fast/blockflow/box-shadow-* tests
23511
23512        * rendering/InlineTextBox.cpp:
23513        (WebCore::InlineTextBox::paint):
23514        * rendering/RenderBoxModelObject.cpp:
23515        (WebCore::RenderBoxModelObject::paintBoxShadow):
23516        * rendering/RenderBoxModelObject.h:
23517
235182010-10-28  James Robinson  <jamesr@chromium.org>
23519
23520        Reviewed by Simon Fraser.
23521
23522        iframes forced into slow scrolling mode by containing RenderLayer sometimes
23523        https://bugs.webkit.org/show_bug.cgi?id=48570
23524
23525        Only performs the overlap test for RenderLayers that paint themselves.  This
23526        prevents marking RenderWidgets as being overlapped unnecessarily.
23527
23528        Test: fast/repaint/iframe-scroll-repaint.html
23529
23530        * rendering/RenderLayer.cpp:
23531        (WebCore::RenderLayer::paintLayer):
23532
235332010-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>
23534
23535        Unreviewed, rolling out r70814.
23536        http://trac.webkit.org/changeset/70814
23537        https://bugs.webkit.org/show_bug.cgi?id=48612
23538
23539        Caused media/controls-drag-timebar.html to fail on multiple
23540        platforms (Requested by aroben on #webkit).
23541
23542        * html/HTMLMediaElement.cpp:
23543        (WebCore::HTMLMediaElement::seek):
23544        * platform/graphics/MediaPlayer.cpp:
23545        * platform/graphics/MediaPlayer.h:
23546        * platform/graphics/MediaPlayerPrivate.h:
23547        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
23548        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23549        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
23550        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
23551        * platform/graphics/win/QTMovie.cpp:
23552        * platform/graphics/win/QTMovie.h:
23553
235542010-10-28  Dan Bernstein  <mitz@apple.com>
23555
23556        Reviewed by Simon Fraser.
23557
23558        <rdar://problem/8597430> Crash triggered by incremental layout of block truncated by line-clamp
23559        https://bugs.webkit.org/show_bug.cgi?id=48602
23560
23561        Test: fast/flexbox/line-clamp-crash.html
23562
23563        * rendering/RenderFlexibleBox.cpp:
23564        (WebCore::RenderFlexibleBox::applyLineClamp): Even if the child needs layout, call clearTruncation(),
23565        since layout itself may be partial and not touch the truncated line (but touch its markup box).
23566
235672010-10-28  Jian Li  <jianli@chromium.org>
23568
23569        Reviewed by Dmitry Titov.
23570
23571        [chromium] UUID generation does not work in Linux that has sandbox
23572        turned on
23573        https://bugs.webkit.org/show_bug.cgi?id=48571
23574
23575        This is because we cannot access /proc when sandbox is on. The fix is to
23576        use random numbers to construct UUID.
23577
23578        * platform/UUID.cpp:
23579        (WebCore::createCanonicalUUIDString):
23580
235812010-10-28  Jia Pu  <jpu@apple.com>
23582
23583        Reviewed by Dan Bernstein.
23584
23585        Editing a word with misspell or autocorrection underline should remove the underline when the editing changes the word.
23586        https://bugs.webkit.org/show_bug.cgi?id=48078
23587        <rdar://problem/8579155>
23588
23589        Tests: platform/mac/editing/spelling/editing-multiple-words-with-markers.html
23590               platform/mac/editing/spelling/editing-word-with-marker-1.html
23591               platform/mac/editing/spelling/editing-word-with-marker-2.html
23592
23593        This patch is part of on-going improvement of autocorrection feature on Mac OS X. When an editing
23594        occurs, if it affects words (by deleting/inserting characters, spliting word, merging words) that
23595        have Spelling and/or CorrectionIndicator markers, we want to remove the markers. If subsequntial
23596        spelling checking finds spelling error in newlly formed words, it will add the markers back in.
23597
23598        * dom/DocumentMarker.h: Changed MarkerType to bit masks to make search multiple types easier.
23599
23600        * dom/DocumentMarkerController.cpp: Refactored two removeMarkers() methods to support remove
23601          markers with specific type from a node.
23602        (WebCore::DocumentMarkerController::removeMarkers): Changed signature to remove marker with specific type.
23603        (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Refactoring.
23604        (WebCore::DocumentMarkerController::hasMarkers): Convenience method to search markers in range.
23605
23606        * dom/DocumentMarkerController.h: Added new methods and matched new signature of removeMarkers().
23607
23608        * editing/Editor.cpp:
23609        (WebCore::Editor::respondToChangedContents): Remove existing markers if the change formed new word.
23610        (WebCore::Editor::cut): Remove markers on words that will be modified by this editing.
23611        (WebCore::Editor::paste): Ditto.
23612        (WebCore::Editor::pasteAsPlainText): Ditto.
23613        (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited): Main logic for removing 
23614          markers on words affected by editing.
23615
23616        * editing/Editor.h: Added removeSpellAndCorrectionMarkersFromWordsToBeEdited().  Added
23617          REMOVE_MARKERS_UPON_EDITING and SUPPORT_AUTOCORRECTION_PANEL macro to improve readability.
23618
23619        * editing/TypingCommand.cpp:
23620        (WebCore::TypingCommand::insertText): Remove markers on words that will be modified by this editing.
23621        (WebCore::TypingCommand::deleteKeyPressed): Ditto.
23622        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
23623
236242010-10-28  Brian Weinstein  <bweinstein@apple.com>
23625
23626        Reviewed by Brady Eidson.
23627
23628        Part of <https://bugs.webkit.org/show_bug.cgi?id=45980>
23629        userscripts/user-script-*-document.html tests are flaky on Windows
23630
23631        In WebFrameLoaderClient::committedLoad on Windows, we call through to PluginStream::didRecieveData
23632        if our manual loader is a plugin stream, and we can call didRecieveData with a 0 length.
23633        
23634        We shouldn't ASSERT that length is 0, because code paths exists where we call it with a 0 length.
23635        
23636        This is tested by re-enabling user-script-plugin-document.html on Windows.
23637
23638        * plugins/PluginStream.cpp:
23639        (WebCore::PluginStream::didReceiveData):
23640
236412010-10-28  Mihai Parparita  <mihaip@chromium.org>
23642
23643        Reviewed by Darin Adler.
23644
23645        [Chromium] History related tests REGRESSED after r70723
23646        https://bugs.webkit.org/show_bug.cgi?id=48513
23647        
23648        Remove backItem(), forwardItem() and currentItem() from the Chromium
23649        BackForwardList implementation, since they can use the base class
23650        behavior now (which call itemAtIndex with -1, 1, and 0 respectively).
23651
23652        * history/BackForwardList.h:
23653        * history/BackForwardListChromium.cpp:
23654
236552010-10-28  Ryosuke Niwa  <rniwa@webkit.org>
23656
23657        Reviewed by Tony Chang.
23658
23659        chrome.dll!WebCore::Node::shadowAncestorNode ReadAV@NULL (98643190851b5662363449cc7303d8a5)
23660        https://bugs.webkit.org/show_bug.cgi?id=47888
23661
23662        The crash was caused by the while loop in ApplyStyleCommand::fixRangeAndApplyInlineStyle
23663        not considering the case where startNode is the root editable element.
23664        Fixed the bug by not entering the loop when startNode is the editable root.
23665
23666        Test: editing/style/fix-range-from-root-editable-crash.html
23667
23668        * editing/ApplyStyleCommand.cpp:
23669        (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
23670
236712010-10-28  Noam Rosenthal  <noam.rosenthal@nokia.com>
23672
23673        Reviewed by Ariya Hidayat.
23674
23675        [Texmap] [Qt] Texture mapper initial implementation
23676        https://bugs.webkit.org/show_bug.cgi?id=47070
23677
23678        Build fix, some wrong changes slipped into the previous patch.
23679        No new tests: build fix.
23680
23681        * platform/graphics/GraphicsLayer.h:
23682        * platform/graphics/opengl/TextureMapperGL.cpp:
23683        (WebCore::BitmapTextureGL::setContentsToImage):
23684        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
23685        (WebCore::TextureMapperNode::uploadTextureFromContent):
23686        (WebCore::TextureMapperNode::paintRecursive):
23687        * platform/qt/QWebPageClient.h:
23688        (QWebPageClient::setRootGraphicsLayer):
23689
236902010-10-28  David Hyatt  <hyatt@apple.com>
23691
23692        Reviewed by James Robinson.
23693
23694        https://bugs.webkit.org/show_bug.cgi?id=48568
23695
23696        Backgrounds don't work right with vertical RenderInlines. Make background painting
23697        do the right thing for vertical strips.
23698
23699        Added fast/blockflow/background-* tests
23700
23701        * rendering/InlineFlowBox.cpp:
23702        (WebCore::InlineFlowBox::paintFillLayer):
23703
237042010-10-28  Eric Carlson  <eric.carlson@apple.com>
23705
23706        Reviewed by Adam Roben.
23707
23708        Seeking by very small increment doesn't generate 'seeked' event
23709        https://bugs.webkit.org/show_bug.cgi?id=48530
23710
23711        Test: media/video-seek-by-small-increment.html
23712
23713        * html/HTMLMediaElement.cpp:
23714        (WebCore::HTMLMediaElement::seek): Ask the media engine for its closest time value so we can
23715        avoid asking it to seek to the current time.
23716
23717        * platform/graphics/MediaPlayer.cpp:
23718        (WebCore::MediaPlayer::mediaTimeForTimeValue): New.
23719        * platform/graphics/MediaPlayer.h:
23720        * platform/graphics/MediaPlayerPrivate.h:
23721        (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue): Ditto.
23722
23723        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
23724        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23725        (WebCore::MediaPlayerPrivate::mediaTimeForTimeValue): Return the closest value in the movie's time scale.
23726
23727        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
23728        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue): Ditto
23729        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
23730
23731        * platform/graphics/win/QTMovie.cpp:
23732        (QTMovie::timeScale): Return the movie's time scale.
23733        * platform/graphics/win/QTMovie.h:
23734
237352010-10-28  David Hyatt  <hyatt@apple.com>
23736
23737        Reviewed by Beth Dakin.
23738
23739        https://bugs.webkit.org/show_bug.cgi?id=48443
23740        
23741        Border images don't work right with vertical RenderInlines. Make border/mask/background painting
23742        do the right thing for vertical strips.
23743
23744        Added fast/blockflow/border-image-* tests.
23745
23746        * rendering/InlineFlowBox.cpp:
23747        (WebCore::InlineFlowBox::paintBoxDecorations):
23748        (WebCore::InlineFlowBox::paintMask):
23749
237502010-10-28  Patrick Gansterer  <paroga@webkit.org>
23751
23752        Reviewed by Adam Roben.
23753
23754        Port ContextMenuItemWin.cpp to WinCE
23755        https://bugs.webkit.org/show_bug.cgi?id=48407
23756
23757        * platform/win/ContextMenuItemWin.cpp:
23758
237592010-10-28  Ryosuke Niwa  <rniwa@webkit.org>
23760
23761        Reviewed by Darin Adler.
23762
23763        queryCommandValue should fall back to queryCommandState
23764        https://bugs.webkit.org/show_bug.cgi?id=48479
23765
23766        Added a fallback to Command::value so that commands with a state function without a value function
23767        returns the value returned by the state function as a string.
23768
23769        * editing/EditorCommand.cpp:
23770        (WebCore::Editor::Command::value):
23771
237722010-10-28  Pavel Feldman  <pfeldman@chromium.org>
23773
23774        Not reviewed. Rolling out r70800.
23775
237762010-10-28  Alexey Proskuryakov  <ap@apple.com>
23777
23778        Reviewed by Dan Bernstein.
23779
23780        https://bugs.webkit.org/show_bug.cgi?id=48551
23781        HTMLDocument::isFrameSet() should not depend on renderer
23782
23783        No change in functionality, so no new tests.
23784
23785        * html/HTMLDocument.cpp: (WebCore::HTMLDocument::isFrameSet): Omit the check for renderer.
23786
23787        * rendering/RenderLayer.h: Removed unneeded includes and forward declarations.
23788
237892010-10-28  Pavel Feldman  <pfeldman@chromium.org>
23790
23791        Reviewed by Timothy Hatcher.
23792
23793        Web Inspector: make legacy resource tracking optional in the native code,
23794        make cookeis work against new resource manager.
23795        https://bugs.webkit.org/show_bug.cgi?id=48532
23796
23797        * inspector/InspectorCSSStore.cpp:
23798        (WebCore::InspectorCSSStore::resourceStyleSheetText):
23799        * inspector/InspectorController.cpp:
23800        (WebCore::InspectorController::InspectorController):
23801        (WebCore::InspectorController::~InspectorController):
23802        (WebCore::InspectorController::connectFrontend):
23803        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
23804        (WebCore::InspectorController::populateScriptObjects):
23805        (WebCore::InspectorController::unbindAllResources):
23806        (WebCore::InspectorController::didCommitLoad):
23807        (WebCore::InspectorController::frameDetachedFromParent):
23808        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
23809        (WebCore::InspectorController::identifierForInitialRequest):
23810        (WebCore::InspectorController::willSendRequest):
23811        (WebCore::InspectorController::markResourceAsCached):
23812        (WebCore::InspectorController::didReceiveResponse):
23813        (WebCore::InspectorController::didReceiveContentLength):
23814        (WebCore::InspectorController::didFinishLoading):
23815        (WebCore::InspectorController::didFailLoading):
23816        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
23817        (WebCore::InspectorController::scriptImported):
23818        (WebCore::InspectorController::setResourceTrackingEnabled):
23819        (WebCore::InspectorController::getCookies):
23820        (WebCore::InspectorController::deleteCookie):
23821        (WebCore::InspectorController::didCreateWebSocket):
23822        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
23823        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
23824        (WebCore::InspectorController::didCloseWebSocket):
23825        (WebCore::InspectorController::breakpointsSettingKey):
23826        (WebCore::InspectorController::getResourceContent):
23827        * inspector/InspectorController.h:
23828        * inspector/InspectorResource.cpp:
23829        (WebCore::InspectorResource::updateScriptObject):
23830        (WebCore::InspectorResource::markFailed):
23831        * inspector/InspectorResource.h:
23832        * inspector/InspectorResourceAgent.cpp:
23833        (WebCore::populateObjectWithFrameResources):
23834        * inspector/front-end/Resource.js:
23835        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
23836        * inspector/front-end/ResourceManager.js:
23837        (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
23838        (WebInspector.ResourceManager.prototype.didFailLoading):
23839        * inspector/front-end/inspector.js:
23840        (WebInspector.updateResource):
23841
238422010-10-28  Pavel Podivilov  <podivilov@chromium.org>
23843
23844        Reviewed by Pavel Feldman.
23845
23846        Web Inspector: fix pausing on next JavaScript statement
23847        https://bugs.webkit.org/show_bug.cgi?id=48534
23848
23849        * inspector/InspectorDebuggerAgent.cpp:
23850        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
23851        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
23852        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
23853        (WebCore::InspectorDebuggerAgent::pause):
23854        (WebCore::InspectorDebuggerAgent::didPause):
23855        * inspector/InspectorDebuggerAgent.h:
23856
238572010-10-28  Yuzo Fujishima  <yuzo@google.com>
23858
23859        Reviewed by David Hyatt.
23860
23861        Fix for Bug 14550 - Non-layout style change does not update nested first-letter
23862        https://bugs.webkit.org/show_bug.cgi?id=14550
23863
23864        If a render text fragment is accompanied by a first letter, update the
23865        first letter's style when the fragment's style is changed.
23866
23867        Test: fast/css/first-letter-nested.html
23868
23869        * rendering/RenderBlock.cpp:
23870        (WebCore::RenderBlock::styleDidChange): Stop calling updateFirstLetter
23871        from here.
23872        * rendering/RenderBlock.h: Make updateFirstLetter accessbile from
23873        RenderTextFragment.
23874        * rendering/RenderTextFragment.cpp:
23875        (WebCore::RenderTextFragment::styleDidChange): If appropriate, update
23876        first letter after removing stale cached pseudo style.
23877        (WebCore::RenderTextFragment::blockForAccompanyingFirstLetter): Helper
23878        to get the block for the first letter.
23879        * rendering/RenderTextFragment.h:
23880        * rendering/style/RenderStyle.cpp:
23881        (WebCore::RenderStyle::removeCachedPseudoStyle): Remove the specified
23882        pseudo style from cache.
23883        * rendering/style/RenderStyle.h:
23884
238852010-10-28  Benoit Jacob  <bjacob@mozilla.com>
23886
23887        Reviewed by Kenneth Russell.
23888
23889        Ensure that WebGL stencil buffers are correctly initialized
23890        https://bugs.webkit.org/show_bug.cgi?id=48351
23891
23892        * html/canvas/WebGLFramebuffer.cpp:
23893        (WebCore::WebGLFramebuffer::initializeRenderbuffers):
23894
238952010-10-28  Chris Fleizach  <cfleizach@apple.com>
23896
23897        Reviewed by Adele Peterson.
23898
23899        AX: multi select group option does not handle setting of AXSelectedChildren correctly
23900        https://bugs.webkit.org/show_bug.cgi?id=48464
23901
23902        Ensure that when selecting an item from a <select> element, it accounts for <optgroups>.
23903
23904        Test: platform/mac/accessibility/select-element-selection-with-optgroups.html
23905
23906        * accessibility/AccessibilityListBoxOption.cpp:
23907        (WebCore::AccessibilityListBoxOption::setSelected):
23908
239092010-10-28  Dan Bernstein  <mitz@apple.com>
23910
23911        Reviewed by Adam Roben.
23912
23913        No longer soft-link zlib
23914        https://bugs.webkit.org/show_bug.cgi?id=48004
23915
23916        * platform/graphics/WOFFFileFormat.cpp:
23917        (WebCore::convertWOFFToSfnt): Removed Windows-speciific code to soft-link
23918        zlib.
23919
239202010-10-27  Zhenyao Mo  <zmo@google.com>
23921
23922        Reviewed by Kenneth Russell.
23923
23924        Work around a Mac driver bug in generateMipmap
23925        https://bugs.webkit.org/show_bug.cgi?id=48489
23926
23927        * html/canvas/WebGLRenderingContext.cpp:
23928        (WebCore::WebGLRenderingContext::generateMipmap): Make sure minFilter is set to NEAREST_MIPMAP_LINEAR before generateMipmap, and after the call, set it back to the original value.
23929        * html/canvas/WebGLTexture.h:
23930        (WebCore::WebGLTexture::getMinFilter): Return the cached minFilter value.
23931
239322010-10-28  Mikhail Naganov  <mnaganov@chromium.org>
23933
23934        [Chromium clang] Unreviewed. Fix forward declaration of 'struct FileMetadata'.
23935
23936        See http://build.chromium.org/p/chromium.fyi/builders/Chromium%20Linux%20Debug%20Clang/builds/753/steps/compile/logs/stdio
23937
23938        * fileapi/FileSystemCallbacks.h:
23939        * platform/AsyncFileSystemCallbacks.h:
23940
239412010-10-28  Alexander Pavlov  <apavlov@chromium.org>
23942
23943        Reviewed by Pavel Feldman.
23944
23945        Web Inspector: Bring backend-frontend message format to follow the protocol specification
23946        https://bugs.webkit.org/show_bug.cgi?id=48406
23947
23948        * inspector/InspectorDOMAgent.cpp:
23949        (WebCore::InspectorDOMAgent::getStyles):
23950        (WebCore::InspectorDOMAgent::applyStyleText):
23951        (WebCore::InspectorDOMAgent::buildObjectForStyle):
23952        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
23953        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
23954        (WebCore::InspectorDOMAgent::buildObjectForRule):
23955        * inspector/InspectorDOMAgent.h:
23956        * inspector/front-end/AuditRules.js:
23957        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
23958        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
23959        * inspector/front-end/CSSStyleModel.js:
23960        (WebInspector.CSSStyleModel.parseRuleArrayPayload):
23961        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
23962        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
23963        (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
23964        (WebInspector.CSSStyleModel.prototype.setCSSText):
23965        * inspector/front-end/DOMAgent.js:
23966        (WebInspector.CSSStyleDeclaration):
23967        (WebInspector.CSSStyleDeclaration.parsePayload):
23968        (WebInspector.CSSStyleDeclaration.prototype.get allProperties):
23969        (WebInspector.CSSStyleDeclaration.prototype.getLiveProperty):
23970        (WebInspector.CSSStyleDeclaration.prototype.getPropertyValue):
23971        (WebInspector.CSSStyleDeclaration.prototype.getPropertyPriority):
23972        (WebInspector.CSSStyleDeclaration.prototype.getPropertyShorthand):
23973        (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
23974        (WebInspector.CSSStyleDeclaration.prototype.getShorthandValue):
23975        (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
23976        (WebInspector.CSSStyleDeclaration.prototype.appendProperty):
23977        (WebInspector.CSSStyleDeclaration.prototype.propertyAt):
23978        (WebInspector.CSSRule):
23979        (WebInspector.CSSRule.parsePayload):
23980        (WebInspector.CSSRule.prototype.get isUserAgent):
23981        (WebInspector.CSSRule.prototype.get isUser):
23982        (WebInspector.CSSRule.prototype.get isViaInspector):
23983        (WebInspector.CSSRule.prototype.get isRegular):
23984        (WebInspector.CSSProperty):
23985        (WebInspector.CSSProperty.parsePayload):
23986        (WebInspector.CSSProperty.prototype.get propertyText):
23987        (WebInspector.CSSProperty.prototype.get isLive):
23988        (WebInspector.CSSProperty.prototype.get active):
23989        (WebInspector.CSSProperty.prototype.get styleBased):
23990        (WebInspector.CSSProperty.prototype.get inactive):
23991        (WebInspector.CSSProperty.prototype.get disabled):
23992        (WebInspector.CSSProperty.prototype.setText):
23993        (WebInspector.CSSProperty.prototype.setValue):
23994        (WebInspector.CSSProperty.prototype.setDisabled.callback):
23995        (WebInspector.CSSProperty.prototype.setDisabled):
23996        * inspector/front-end/MetricsSidebarPane.js:
23997        (WebInspector.MetricsSidebarPane.prototype.update.callback):
23998        (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
23999        (WebInspector.MetricsSidebarPane.prototype.update):
24000        (WebInspector.MetricsSidebarPane.prototype._update):
24001        (WebInspector.MetricsSidebarPane.prototype.editingCommitted.callback):
24002        (WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback):
24003        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
24004        * inspector/front-end/StylesSidebarPane.js:
24005        (WebInspector.StylesSidebarPane.prototype.update):
24006        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
24007        (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
24008        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
24009        (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
24010        (WebInspector.StylesSidebarPane.prototype._containsInherited):
24011        (WebInspector.StylePropertiesSection):
24012        (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
24013        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
24014        (WebInspector.StylePropertiesSection.prototype.onpopulate):
24015        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
24016        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
24017        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
24018        (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
24019        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
24020        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
24021        (WebInspector.StylePropertyTreeElement):
24022        (WebInspector.StylePropertyTreeElement.prototype.get disabled):
24023        (WebInspector.StylePropertyTreeElement.prototype.get name):
24024        (WebInspector.StylePropertyTreeElement.prototype.get priority):
24025        (WebInspector.StylePropertyTreeElement.prototype.get value):
24026        (WebInspector.StylePropertyTreeElement.prototype.get parsedOk):
24027        (WebInspector.StylePropertyTreeElement.prototype):
24028        (WebInspector.StylePropertyTreeElement.prototype.):
24029
240302010-10-27  MORITA Hajime  <morrita@google.com>
24031
24032        Reviewed by Kent Tamura.
24033
24034        WebKit needs to expose an Element::spellcheck attribute to javascript.
24035        https://bugs.webkit.org/show_bug.cgi?id=25536
24036
24037        Published Element.spellcheck property on IDL, implemented it.
24038        
24039        Tests: editing/spelling/spelling-attribute-change.html
24040               fast/dom/HTMLElement/spellcheck.html
24041
24042        * html/HTMLElement.cpp:
24043        (WebCore::HTMLElement::spellcheck):
24044        (WebCore::HTMLElement::setSpellcheck):
24045        * html/HTMLElement.h:
24046        * html/HTMLElement.idl:
24047
240482010-10-27  Pavel Feldman  <pfeldman@chromium.org>
24049
24050        Reviewed by Timothy Hatcher.
24051
24052        Web Inspector: make debugger work against new resource manager.
24053        https://bugs.webkit.org/show_bug.cgi?id=48376
24054
24055        * inspector/Inspector.idl:
24056        * inspector/InspectorController.cpp:
24057        (WebCore::InspectorController::identifierForInitialRequest):
24058        * inspector/InspectorResourceAgent.cpp:
24059        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
24060        * inspector/InspectorResourceAgent.h:
24061        * inspector/front-end/ExtensionServer.js:
24062        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
24063        * inspector/front-end/Resource.js:
24064        (WebInspector.Resource.prototype.set content):
24065        * inspector/front-end/ResourceManager.js:
24066        (WebInspector.ResourceManager):
24067        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
24068        (WebInspector.ResourceManager.prototype._createResource):
24069        (WebInspector.ResourceManager.prototype.willSendRequest):
24070        (WebInspector.ResourceManager.prototype._updateResourceWithRequest):
24071        (WebInspector.ResourceManager.prototype.didFinishLoading):
24072        (WebInspector.ResourceManager.prototype.didFailLoading):
24073        (WebInspector.ResourceManager.prototype.setOverrideContent):
24074        (WebInspector.ResourceManager.prototype._processCachedResources):
24075        (WebInspector.ResourceManager.prototype._addFramesRecursively):
24076        (WebInspector.ResourceManager.prototype.resourceForURL):
24077        (WebInspector.ResourceManager.prototype.addConsoleMessage):
24078        (WebInspector.ResourceManager.prototype.clearConsoleMessages):
24079        (WebInspector.ResourceManager.prototype.forAllResources):
24080        (WebInspector.ResourceManager.prototype._bindResourceURL):
24081        (WebInspector.ResourceManager.prototype._unbindResourceURL):
24082        (WebInspector.ResourceManager.getContent):
24083        (WebInspector.ResourceTreeModel):
24084        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
24085        (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
24086        (WebInspector.ResourceTreeModel.prototype._clearResources):
24087        * inspector/front-end/StoragePanel.js:
24088        (WebInspector.StoragePanel.prototype.addOrUpdateFrame):
24089        * inspector/front-end/networkPanel.css:
24090        (.network.panel .resources-dividers):
24091
240922010-10-28  Andy Estes  <aestes@apple.com>
24093
24094        One more Qt fix due to r70754.
24095
24096        * html/HTMLObjectElement.cpp:
24097        (WebCore::HTMLObjectElement::hasValidClassId):
24098
240992010-10-28  Pascal Massimino  <pascal.massimino@gmail.com>
24100
24101        Reviewed by Adam Barth.
24102
24103        fix setSize() call flow: it was only called the first
24104        time (when onlySize is true)
24105        Bug URL: https://bugs.webkit.org/show_bug.cgi?id=48494
24106
24107        Testing: difficult to exercise the bug, as it requires
24108        some manual flow (change tab, scroll,...)
24109
24110        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
24111        (WebCore::WEBPImageDecoder::decode):
24112           fix: call setSize() even when onlySize is false
24113
241142010-10-28  Andy Estes  <aestes@apple.com>
24115
24116        Fix the Qt build after r70754.
24117
24118        * html/HTMLObjectElement.cpp:
24119        (WebCore::HTMLObjectElement::hasValidClassId):
24120        (WebCore::HTMLObjectElement::updateWidget):
24121        * html/HTMLObjectElement.h:
24122
241232010-10-28  Andy Estes  <aestes@apple.com>
24124
24125        Reviewed by Adam Barth.
24126
24127        Fix a test failure introduced in r70748 by supporting Qt's non-standard
24128        use of classid.
24129        https://bugs.webkit.org/show_bug.cgi?id=45679
24130
24131        * html/HTMLObjectElement.cpp:
24132        (WebCore::objectHasSupportedClassId): Return true if the object's
24133        serviceType is 'application/x-qt-plugin'.
24134        (WebCore::HTMLObjectElement::updateWidget): Do not render fallback
24135        content if a non-empty classid is specified for a Qt plugin object.
24136
241372010-10-28  Ivan Krstić  <ike@apple.com>
24138
24139        Reviewed by Mark Rowe.
24140
24141        Remove unused experimental proxied panel interface.
24142        <rdar://problem/7237059>
24143
24144        * WebCore.exp.in:
24145        * platform/mac/WebCoreSystemInterface.h:
24146        * platform/mac/WebCoreSystemInterface.mm:
24147
241482010-10-27  Andy Estes  <aestes@apple.com>
24149
24150        Reviewed by Adam Barth.
24151
24152        r66156 broke AtlasCT library, formerly affected http://map.d.co.il/
24153        https://bugs.webkit.org/show_bug.cgi?id=45679
24154
24155        This patch removes WebKit's map of classid values to MIME types. It also
24156        changes the behavior of object elements to render fallback content when
24157        a non-empty classid attribute is specified, which is the behavior HTML5
24158        specifies when a UA encounters a classid it doesn't understand.
24159
24160        Test: fast/replaced/object-with-non-empty-classid-triggers-fallback.html
24161
24162        * html/HTMLObjectElement.cpp: Remove serviceTypeForClassId(),
24163        createClassIdToTypeMap(), and the ClassIdToTypeMap typedef.
24164        (WebCore::HTMLObjectElement::updateWidget): Do not call
24165        serviceTypeForClassId() when there is no type attribute, and render
24166        fallback content if the classid attribute is non-empty.
24167
241682010-10-27  Eric Uhrhane  <ericu@chromium.org>
24169
24170        Reviewed by David Levin.
24171
24172        [Chromium] Metadata queries should return full file info, not just modification time
24173        https://bugs.webkit.org/show_bug.cgi?id=48098
24174
24175        LayoutTests that use this functionality via WorkerAsyncFileWriter are in review.
24176
24177        Build file changes to add FileMetadata.
24178        * GNUmakefile.am:
24179        * WebCore.gypi:
24180        * WebCore.pro:
24181        * WebCore.vcproj/WebCore.vcproj:
24182        * WebCore.xcodeproj/project.pbxproj:
24183
24184        The rest of the changes here just pass the new FileMetadata object through calls that used to take a modification time.
24185        * platform/FileMetadata.h: Added.
24186        (WebCore::FileMetadata::FileMetadata):
24187        * fileapi/FileSystemCallbacks.cpp:
24188        (WebCore::FileSystemCallbacksBase::didReadMetadata):
24189        (WebCore::MetadataCallbacks::didReadMetadata):
24190        * fileapi/FileSystemCallbacks.h:
24191        * platform/AsyncFileSystemCallbacks.h:
24192
241932010-10-27  Chris Rogers  <crogers@google.com>
24194
24195        Reviewed by Kenneth Russell.
24196
24197        Add VectorMath files
24198        https://bugs.webkit.org/show_bug.cgi?id=48467
24199
24200        No new tests since audio API is not yet implemented.
24201
24202        * platform/audio/VectorMath.cpp: Added.
24203        (WebCore::VectorMath::vsmul):
24204        (WebCore::VectorMath::vadd):
24205        * platform/audio/VectorMath.h: Added.
24206
242072010-10-27  Chris Rogers  <crogers@google.com>
24208
24209        Reviewed by Kenneth Russell.
24210
24211        Fixup files affected by VectorMath and related API changes
24212        https://bugs.webkit.org/show_bug.cgi?id=48481
24213
24214        No new tests since audio API is not yet implemented.
24215
24216        * platform/audio/AudioBus.cpp:
24217        * platform/audio/AudioChannel.cpp:
24218        * platform/audio/Biquad.cpp:
24219        * platform/audio/FFTConvolver.cpp:
24220        * platform/audio/FFTConvolver.h:
24221        * platform/audio/Panner.cpp:
24222        (WebCore::Panner::create):
24223        * platform/audio/Reverb.cpp:
24224        (WebCore::calculateNormalizationScale):
24225        (WebCore::Reverb::initialize):
24226        (WebCore::Reverb::process):
24227        * platform/audio/ReverbAccumulationBuffer.cpp:
24228        * platform/audio/ReverbAccumulationBuffer.h:
24229        * platform/audio/ReverbConvolver.cpp:
24230        (WebCore::ReverbConvolver::ReverbConvolver):
24231        (WebCore::ReverbConvolver::process):
24232        * platform/audio/ReverbConvolver.h:
24233        * platform/audio/ReverbConvolverStage.cpp:
24234        (WebCore::ReverbConvolverStage::ReverbConvolverStage):
24235        * platform/audio/ReverbConvolverStage.h:
24236        * platform/audio/ReverbInputBuffer.h:
24237
242382010-10-27  Kinuko Yasuda  <kinuko@chromium.org>
24239
24240        Reviewed by Dumitru Daniliuc.
24241
24242        DOMFileSystem's reference should be kept while there're any active Entries/callbacks
24243        https://bugs.webkit.org/show_bug.cgi?id=47535
24244
24245        Changed to keep DOMFileSystem's reference in each EntryBase, DirectoryReaderBase, EntryCallbacks and EntriesCallbacks.
24246
24247        Test: fast/filesystem/filesystem-reference.html
24248
24249        * fileapi/DOMFileSystemBase.cpp:
24250        (WebCore::DOMFileSystemBase::readDirectory): Changed to pass/take
24251        PassRefPtr but not a raw pointer.
24252        * fileapi/DOMFileSystemBase.h:
24253        * fileapi/DirectoryEntry.cpp:
24254        (WebCore::DirectoryEntry::DirectoryEntry): Ditto.
24255        (WebCore::DirectoryEntry::createReader):
24256        * fileapi/DirectoryEntry.h:
24257        (WebCore::DirectoryEntry::create): Ditto.
24258        * fileapi/DirectoryEntrySync.cpp:
24259        (WebCore::DirectoryEntrySync::DirectoryEntrySync): Ditto.
24260        * fileapi/DirectoryEntrySync.h:
24261        (WebCore::DirectoryEntrySync::create): Ditto.
24262        * fileapi/DirectoryReader.h:
24263        (WebCore::DirectoryReader::filesystem):
24264        * fileapi/DirectoryReaderBase.h:
24265        (WebCore::DirectoryReaderBase::filesystem):
24266        * fileapi/Entry.cpp:
24267        (WebCore::Entry::Entry): Ditto.
24268        * fileapi/Entry.h:
24269        (WebCore::Entry::filesystem):
24270        * fileapi/EntryBase.h:
24271        (WebCore::EntryBase::filesystem):
24272        (WebCore::EntryBase::EntryBase): Ditto.
24273        * fileapi/EntrySync.cpp:
24274        (WebCore::EntrySync::create): Ditto.
24275        (WebCore::EntrySync::getParent):
24276        (WebCore::EntrySync::EntrySync): Ditto.
24277        * fileapi/EntrySync.h:
24278        (WebCore::EntrySync::filesystem):
24279        * fileapi/FileEntry.cpp:
24280        (WebCore::FileEntry::FileEntry): Ditto.
24281        * fileapi/FileEntry.h:
24282        (WebCore::FileEntry::create): Ditto.
24283        * fileapi/FileEntrySync.cpp:
24284        (WebCore::FileEntrySync::FileEntrySync): Ditto.
24285        * fileapi/FileEntrySync.h:
24286        (WebCore::FileEntrySync::create): Ditto.
24287        * fileapi/FileSystemCallbacks.cpp:
24288        (WebCore::EntriesCallbacks::create): Ditto.
24289        (WebCore::EntriesCallbacks::EntriesCallbacks): Ditto.
24290        * fileapi/FileSystemCallbacks.h:
24291
242922010-10-27  Yuzo Fujishima  <yuzo@google.com>
24293
24294        Reviewed by Eric Seidel.
24295
24296        Fix for Bug 48310 - SVG font-face-name without name attribute causes a crash
24297        https://bugs.webkit.org/show_bug.cgi?id=48310
24298
24299        Test: svg/custom/font-face-name-without-name-attr.svg
24300
24301        * svg/SVGFontFaceElement.cpp:
24302        (WebCore::SVGFontFaceElement::rebuildFontFace): Don't create src
24303        property if the src value list is empty.
24304        * svg/SVGFontFaceSrcElement.cpp:
24305        (WebCore::SVGFontFaceSrcElement::srcValue): Don't add empty src
24306        values to the src value list.
24307
243082010-10-27  Chris Rogers  <crogers@google.com>
24309
24310        Reviewed by Kenneth Russell.
24311
24312        Allow AudioDSPKernel to function without an AudioDSPKernelProcessor
24313        https://bugs.webkit.org/show_bug.cgi?id=48472
24314
24315        No new tests since audio API is not yet implemented.
24316
24317        * platform/audio/AudioDSPKernel.h:
24318        (WebCore::AudioDSPKernel::AudioDSPKernel):
24319        (WebCore::AudioDSPKernel::sampleRate):
24320
243212010-10-27  Enrica Casucci  <enrica@apple.com>
24322
24323        Reviewed by Alexey Proskuryakov.
24324
24325        Support Appkit key bindings and custom key bindings in WebKit2
24326        https://bugs.webkit.org/show_bug.cgi?id=48271
24327        <rdar://problem/7660723>
24328
24329        * dom/KeyboardEvent.h:
24330        (WebCore::KeypressCommand::KeypressCommand): Added default constructor and modified assert for text
24331        insertion command constructor to support WebKit2 scenarios.
24332        The default constructor is needed to support the generated WebKit2 message processing code.
24333
243342010-10-26  Darin Adler  <darin@apple.com>
24335
24336        Reviewed by Sam Weinig.
24337
24338        WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
24339        https://bugs.webkit.org/show_bug.cgi?id=42322
24340        rdar://problem/8193631
24341
24342        WebKitTestRunner needs to support layoutTestController.clearBackForwardList
24343        https://bugs.webkit.org/show_bug.cgi?id=42333
24344        rdar://problem/8193643
24345
24346        * WebCore.exp.in: Updated exports.
24347
24348        * history/BackForwardList.h: Added comments about future refactoring.
24349        Moved functions that are not called inside WebCore into a separate
24350        section, to be removed later. Added an isActive function to replace the
24351        use of enabled() and entries().
24352
24353        * history/BackForwardListImpl.h: Removed isBackForwardListImpl.
24354        Marked virtual function overrides virtual explicitly, except for the
24355        ones that will be non-virtual once we make the changes above.
24356        Added the isActive function.
24357
24358        * history/PageCache.cpp:
24359        (WebCore::logCanCachePageDecision): Use isActive.
24360        (WebCore::PageCache::canCache): Ditto.
24361
24362        * loader/FrameLoader.cpp:
24363        (WebCore::FrameLoader::checkDidPerformFirstNavigation): Check
24364        using currentItem, backItem, and forwardItem instead of
24365        using entries.
24366
24367        * page/Settings.cpp:
24368        (WebCore::Settings::setUsesPageCache): Loop through the back/forward
24369        list entries using backListCount and forwardListCount instead of
24370        using entries.
24371
243722010-10-27  Chris Rogers  <crogers@google.com>
24373
24374        Reviewed by Chris Marrin.
24375
24376        Add ENABLE_WEB_AUDIO feature enable flag (initially disabled) to build-webkit
24377        https://bugs.webkit.org/show_bug.cgi?id=48279
24378
24379        No new tests since flag is disabled.
24380
24381        * Configurations/FeatureDefines.xcconfig:
24382
243832010-10-27  Chris Rogers  <crogers@google.com>
24384
24385        Reviewed by Kenneth Russell.
24386
24387        Add AudioResamplerKernel files
24388        https://bugs.webkit.org/show_bug.cgi?id=47624
24389
24390        No new tests since audio API is not yet implemented.
24391
24392        * platform/audio/AudioResamplerKernel.cpp: Added.
24393        (WebCore::AudioResamplerKernel::AudioResamplerKernel):
24394        (WebCore::AudioResamplerKernel::getSourcePointer):
24395        (WebCore::AudioResamplerKernel::process):
24396        (WebCore::AudioResamplerKernel::reset):
24397        (WebCore::AudioResamplerKernel::rate):
24398        * platform/audio/AudioResamplerKernel.h: Added.
24399
244002010-10-27  Adam Barth  <abarth@webkit.org>
24401
24402        Reviewed by Ojan Vafai.
24403
24404        REGRESSION(66511): CORDYS Process Factory doesn't work
24405        https://bugs.webkit.org/show_bug.cgi?id=48453
24406
24407        When Ojan refactored this function in 66511, he missed an "else",
24408        which causes us to generated HIERARCHY_REQUEST_ERR in some cases where
24409        we're not supposed to.  This patch restores the "else" behavior (using
24410        an early return) and adds a test for the cases that caused problems in
24411        the field.
24412
24413        Test: fast/dom/allowed-children.html
24414
24415        * dom/Node.cpp:
24416        (WebCore::isChildTypeAllowed):
24417
244182010-10-27  Beth Dakin  <bdakin@apple.com>
24419
24420        Reviewed by Darin Adler.
24421
24422        Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit 
24423        SPI to scale a WebView
24424        -and corresponding-
24425        <rdar://problem/8107667>
24426
24427        This patch adds SPI to Mac WebKit that scales the page by the given 
24428        scale factor. The scale factor is factored into the RenderStyle's 
24429        transform.
24430
24431        Set the current pageScale for the document.
24432        * css/CSSStyleSelector.cpp:
24433        (WebCore::CSSStyleSelector::styleForDocument):
24434
24435        Frame keeps track of the page scale factor. When 
24436        scalePage() is called, it modifies the RenderView's style to 
24437        include a transform of the appropriate scale and forces a style 
24438        recalc.
24439        * page/Frame.cpp:
24440        (WebCore::Frame::Frame):
24441        (WebCore::Frame::scalePage):
24442        * page/Frame.h:
24443        (WebCore::Frame::pageScaleFactor):
24444        * WebCore.exp.in:
24445
24446        Add a scale to the transformation matrix.
24447        * rendering/style/RenderStyle.cpp:
24448        (WebCore::RenderStyle::setPageScaleTransform):
24449        * rendering/style/RenderStyle.h:
24450
244512010-10-27  Dan Bernstein  <mitz@apple.com>
24452
24453        Reviewed by Darin Adler.
24454
24455        REGRESSION (r70335): Incorrect article layout in Safari Reader
24456        https://bugs.webkit.org/show_bug.cgi?id=48436
24457
24458        * page/DOMWindow.cpp:
24459        (WebCore::DOMWindow::getMatchedCSSRules): Return rules from all origins if the cross-origin
24460        check is disabled.
24461        * page/Settings.cpp:
24462        (WebCore::Settings::Settings): Initialize m_crossOriginCheckInGetMatchedCSSRulesDisabled.
24463        * page/Settings.h:
24464        (WebCore::Settings::setCrossOriginCheckInGetMatchedCSSRulesDisabled): Added this accessor.
24465        (WebCore::Settings::crossOriginCheckInGetMatchedCSSRulesDisabled): Ditto.
24466
244672010-10-27  Zhenyao Mo  <zmo@google.com>
24468
24469        Reviewed by Kenneth Russell.
24470
24471        refactor the nested large switch statements in GraphicsContext3DCG.cpp:getImageData()
24472        https://bugs.webkit.org/show_bug.cgi?id=47027
24473
24474        * platform/graphics/GraphicsContext3D.cpp:
24475        (WebCore::doPacking): ASSERT false if undefined format is passed in.
24476        * platform/graphics/GraphicsContext3D.h: Add kSourceFormatUndefined enum.
24477        * platform/graphics/cg/GraphicsContext3DCG.cpp:
24478        (WebCore::getSourceDataFormat): Decide source data format from componentsPerPixel, alpha format, bitsPerComponet, etc.
24479        (WebCore::GraphicsContext3D::getImageData): Refactor the code to use getSourceDataFormat and remove nested switches.
24480
244812010-10-27  Patrick Gansterer  <paroga@webkit.org>
24482
24483        Reviewed by Adam Barth.
24484
24485        Use WTF::StringHasher::createBlobHash where possible
24486        https://bugs.webkit.org/show_bug.cgi?id=48228
24487
24488        Replace StringImpl::computeHash with StringHasher::createBlobHash.
24489        This removes many duplicated code.
24490
24491        * bindings/js/JSSVGPODTypeWrapper.h:
24492        (WebCore::PODTypeWrapperCacheInfoHash::hash):
24493        * page/SecurityOriginHash.h:
24494        (WebCore::SecurityOriginHash::hash):
24495        * platform/cf/SchedulePair.h:
24496        (WebCore::SchedulePairHash::hash):
24497        * platform/graphics/FontCache.cpp:
24498        (WebCore::computeHash):
24499        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
24500        (WebCore::FontPlatformData::RefCountedHFONT::hash):
24501        * platform/graphics/cocoa/FontPlatformData.h:
24502        (WebCore::FontPlatformData::hash):
24503        * platform/graphics/gtk/FontPlatformDataPango.h:
24504        (WebCore::FontPlatformData::hash):
24505        * platform/graphics/wince/FontPlatformData.cpp:
24506        (WebCore::FixedSizeFontDataKeyHash::hash):
24507        * platform/graphics/wx/FontPlatformDataWx.cpp:
24508        (WebCore::FontPlatformData::FontPlatformData):
24509        (WebCore::FontPlatformData::computeHash):
24510        * plugins/PluginPackage.cpp:
24511        (WebCore::PluginPackage::hash):
24512        * plugins/win/PluginPackageWin.cpp:
24513        (WebCore::PluginPackage::hash):
24514        * svg/DeprecatedSVGAnimatedTemplate.h:
24515        (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::hash):
24516        * svg/properties/SVGAnimatedPropertyDescription.h:
24517        (WebCore::SVGAnimatedPropertyDescriptionHash::hash):
24518
245192010-10-27  Tony Chang  <tony@chromium.org>
24520
24521        Unreviewed, build fix after r70692.
24522
24523        * rendering/RenderBoxModelObject.cpp:
24524        (WebCore::RenderBoxModelObject::paintBorder):
24525
245262010-10-27  Leandro Pereira  <leandro@profusion.mobi>
24527
24528        Unreviewed. Build fix after r70651.
24529
24530        * CMakeListsEfl.txt: Add SoupURIUtils.cpp.
24531
245322010-10-27  Crystal Zhang  <haizhang@rim.com>
24533
24534        Reviewed by Eric Carlson.
24535
24536        https://bugs.webkit.org/show_bug.cgi?id=48446
24537
24538        Fix an issue where we were passing the wrong parameter
24539        to MIMETypeRegistry::getMIMETypeForExtension().
24540
24541        * platform/MIMETypeRegistry.cpp:
24542
245432010-10-27  David Hyatt  <hyatt@apple.com>
24544
24545        Reviewed by Beth Dakin.
24546
24547        https://bugs.webkit.org/show_bug.cgi?id=48449
24548        
24549        Make border drawing work correctly with vertical inline flows.  The top and bottom edge have to be omitted
24550        rather than the left and right edges.
24551        
24552        Also discovered that border-radius is broken with the new path-based-drawing code for all inline flows.  This
24553        is a regression from the old drawing code.  I patched the code to be correct rather than clipping out stuff
24554        that it shouldn't and applying border-radii on lines that don't even have them.
24555
24556        Added fast/blockflow/border-vertical-lr.html and fast/borders/border-radius-inline-flow.html
24557
24558        * rendering/RenderBoxModelObject.cpp:
24559        (WebCore::RenderBoxModelObject::paintBorder):
24560        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
24561        * rendering/RenderBoxModelObject.h:
24562
245632010-10-27  Martin Robinson  <mrobinson@igalia.com>
24564
24565        Reviewed by Gustavo Noronha Silva.
24566
24567        [Cairo] Font fallback determination is very ineffecient
24568        https://bugs.webkit.org/show_bug.cgi?id=42052
24569
24570        When choosing a fallback font in FontCache::getFontDataForCharacters, use FontConfig's
24571        mechanism for searching the fallback list directly, instead of scanning the list manually.
24572        If the font is a custom font or any other font with no FontConfig pattern associated with
24573        it, as FontConfig for a font that can supply the missing glyphs.
24574
24575        Test: platform/gtk/fonts/custom-font-missing-glyphs.html
24576
24577        * platform/graphics/cairo/FontCacheFreeType.cpp:
24578        (WebCore::createFontConfigPatternForCharacters): Added this helper which turns
24579        a collection of unicode characters into a FontConfig pattern.
24580        (WebCore::findBestFontGivenFallbacks): Using a FontConfig pattern created with th
24581        above helper and a FcFontSet of fallback fonts, this helper will find a font in
24582        the set which fulfills the requirments.
24583        (WebCore::FontCache::getFontDataForCharacters): Given an existing font with missing
24584        glyphs, either find an appropriate fallback font from the list of FontConfig fallbacks
24585        or ask FontConfig directly for an appropriate font.
24586        * platform/graphics/cairo/FontPlatformDataFreeType.h: Made a member mutable, as it is
24587        initialized lazily.
24588
245892010-10-27  Alexander Pavlov  <apavlov@chromium.org>
24590
24591        Reviewed by Pavel Feldman.
24592
24593        Web Inspector: "Reload Page and Audit on Load" fails to run audits when resource tracking is disabled
24594        https://bugs.webkit.org/show_bug.cgi?id=48431
24595
24596        * inspector/front-end/AuditsPanel.js:
24597        (WebInspector.AuditsPanel.prototype._reloadResources):
24598        * inspector/front-end/ResourcesPanel.js:
24599        (WebInspector.ResourcesPanel.prototype._createPanelEnabler):
24600        (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
24601
246022010-10-27  Abhishek Arya  <inferno@chromium.org>
24603
24604        Reviewed by Dave Hyatt.
24605
24606        Add a function to make sure child is allowed before adding to a
24607        render view. 
24608        https://bugs.webkit.org/show_bug.cgi?id=48328 
24609
24610        Test: fast/inline/inline-child-height-width-calc-crash.html
24611
24612        * rendering/RenderView.cpp:
24613        (WebCore::RenderView::isChildAllowed):
24614        * rendering/RenderView.h:
24615
246162010-10-27  Martin Robinson  <mrobinson@igalia.com>
24617
24618        Reviewed by Gustavo Noronha Silva.
24619
24620        [GTK] r69296 includes a cast from GdkWindow* to GtkWindow*
24621        https://bugs.webkit.org/show_bug.cgi?id=48445
24622
24623        Pass the pageClient GtkWidget* to gtk_xtbin_new instead of the
24624        GdkWindow*. The pageClient is used to get the proper visual for the
24625        plugin container widget.
24626
24627        No new tests. This patch should prevent plugins/null-npp-getvalue-pointer.html
24628        from crashing.
24629
24630        * plugins/gtk/PluginViewGtk.cpp:
24631        (WebCore::PluginView::platformStart): Pass the widget instead of the window.
24632        * plugins/gtk/gtk2xtbin.c: Accept the widget instead of the window.
24633        (gtk_xtbin_new):
24634        * plugins/gtk/gtk2xtbin.h: Update the declaration.
24635
246362010-10-27  Kwang Yul Seo  <skyul@company100.net>
24637
24638        Reviewed by James Robinson.
24639
24640        [BREWMP] Port graphics backend
24641        https://bugs.webkit.org/show_bug.cgi?id=40275
24642
24643        Add PLATFORM(BREWMP) guard to skia's FontCustomPlatformData
24644        to share OS(LINUX) implementation.
24645
24646        * loader/CachedFont.cpp:
24647        * platform/graphics/skia/FontCustomPlatformData.cpp:
24648        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
24649        (WebCore::FontCustomPlatformData::fontPlatformData):
24650        (WebCore::createFontCustomPlatformData):
24651        * platform/graphics/skia/FontCustomPlatformData.h:
24652
246532010-10-27  Satish Sampath  <satish@chromium.org>
24654
24655        Unreviewed, rolling out r70665.
24656        http://trac.webkit.org/changeset/70665
24657        https://bugs.webkit.org/show_bug.cgi?id=47089
24658
24659        Need to address Alexey's review comments.
24660
24661        * page/SpeechInput.cpp:
24662        (WebCore::SpeechInput::startRecognition):
24663        * page/SpeechInput.h:
24664        * page/SpeechInputClient.h:
24665        * platform/mock/SpeechInputClientMock.cpp:
24666        (WebCore::SpeechInputClientMock::startRecognition):
24667        (WebCore::SpeechInputClientMock::setRecognitionResult):
24668        (WebCore::SpeechInputClientMock::timerFired):
24669        * platform/mock/SpeechInputClientMock.h:
24670        * rendering/TextControlInnerElements.cpp:
24671        (WebCore::TextControlInnerElement::attachInnerElement):
24672        (WebCore::SearchFieldCancelButtonElement::detach):
24673        (WebCore::SpinButtonElement::defaultEventHandler):
24674        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
24675        (WebCore::InputFieldSpeechButtonElement::detach):
24676
246772010-10-27  ZHenyao Mo  <zmo@google.com>
24678
24679        Reviewed by Kenneth Russell.
24680
24681        Must enable GL_POINT_SPRITE in GraphicsContext3D implementations
24682        https://bugs.webkit.org/show_bug.cgi?id=45908
24683
24684        * platform/graphics/mac/GraphicsContext3DMac.mm: Enable for Mac port.
24685        (WebCore::GraphicsContext3D::GraphicsContext3D):
24686
246872010-10-27  Leandro Gracia Gil  <leandrogracia@google.com>
24688
24689        Reviewed by Jeremy Orlow.
24690
24691        Patch the current speech input implementation to use the nearest
24692        language tag. The language is now passed to the startRecognition
24693        methods so that language-specific recognition could be used. Also added
24694        a second parameter to setMockSpeechInputResult for the language used in
24695        speech recognition.
24696        https://bugs.webkit.org/show_bug.cgi?id=47089
24697
24698        This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
24699        details see http://codereview.chromium.org/3615005/show and
24700        http://codereview.chromium.org/3595018/show. The last of the 4 patches
24701        depends also on the language tag validation provided by this patch:
24702        https://bugs.webkit.org/show_bug.cgi?id=48225.
24703
24704        Test: fast/speech/input-text-language-tag.html
24705
24706        * page/SpeechInput.cpp:
24707        (WebCore::SpeechInput::startRecognition):
24708        * page/SpeechInput.h:
24709        * page/SpeechInputClient.h:
24710        * platform/mock/SpeechInputClientMock.cpp:
24711        (WebCore::SpeechInputClientMock::startRecognition):
24712        (WebCore::SpeechInputClientMock::setRecognitionResult):
24713        (WebCore::SpeechInputClientMock::timerFired):
24714        * platform/mock/SpeechInputClientMock.h:
24715        * rendering/TextControlInnerElements.cpp:
24716        (WebCore::TextControlInnerElement::attachInnerElement):
24717        (WebCore::SearchFieldCancelButtonElement::detach):
24718        (WebCore::SpinButtonElement::defaultEventHandler):
24719        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
24720        (WebCore::InputFieldSpeechButtonElement::detach):
24721
247222010-10-27  David Hyatt  <hyatt@apple.com>
24723
24724        Reviewed by Dan Bernstein.
24725
24726        https://bugs.webkit.org/show_bug.cgi?id=48381
24727
24728        Make basic layer positioning work with vertical-lr writing-mode.
24729
24730        * rendering/RenderBlock.cpp:
24731        (WebCore::RenderBlock::paintChildren):
24732        (WebCore::RenderBlock::paintFloats):
24733        * rendering/RenderBox.cpp:
24734        (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
24735        (WebCore::RenderBox::locationOffsetIncludingFlipping):
24736        * rendering/RenderBox.h:
24737        * rendering/RenderLayer.cpp:
24738        (WebCore::RenderLayer::updateLayerPosition):
24739
247402010-10-27  Zhenyao Mo  <zmo@google.com>
24741
24742        Reviewed by Kenneth Russell.
24743
24744        object-deletion-behaviour.html fails with mesa backend
24745        https://bugs.webkit.org/show_bug.cgi?id=46667
24746
24747        * html/canvas/WebGLRenderingContext.cpp:
24748        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): If object_type is 0, we return early because object_name should be always be 0.
24749
247502010-10-27  Zhenyao Mo  <zmo@google.com>
24751
24752        Reviewed by Kenneth Russell.
24753
24754        If WebGL is running on top of a strict version of OpenGL ES it should make sure attribs have buffers assigned at all times
24755        https://bugs.webkit.org/show_bug.cgi?id=47964
24756
24757        * html/canvas/WebGLRenderingContext.cpp:
24758        (WebCore::WebGLRenderingContext::validateRenderingState): Minimum checking: if input <= 0, only check if each enabled vertex attribute is bound to a buffer.
24759        (WebCore::WebGLRenderingContext::drawArrays): If underlying GL performs bounds checking, we still need to do the minimum checking using validateRenderingState.
24760        (WebCore::WebGLRenderingContext::drawElements): Ditto.
24761        * html/canvas/WebGLRenderingContext.h: Add a comment for input <= 0 in validateRenderingState.
24762
247632010-10-27  Simon Fraser  <simon.fraser@apple.com>
24764
24765        Reviewed by Dan Bernstein.
24766
24767        Accelerated animation with missing values in keyframes is broken
24768        https://bugs.webkit.org/show_bug.cgi?id=48395
24769
24770        r66339 changed the behavior of keyframe animations such that if a property
24771        is missing from a keyframe, the property will be interpolated between those
24772        keyframes that do have a value for the property. If a value is missing
24773        from the first or last keyframes, the element's unanimated style supplies
24774        that value.
24775        
24776        However, accelerated animations had a bug where if a value was missing
24777        from the first (and maybe subsequent) or last (and maybe preceding) keyframes,
24778        the animation data given to the GraphicsLayer would be missing the style from the
24779        first or final keyframe.
24780
24781        Tests: animations/missing-values-first-keyframe.html
24782               animations/missing-values-last-keyframe.html
24783
24784        * rendering/RenderLayerBacking.cpp:
24785        (WebCore::RenderLayerBacking::startAnimation):
24786
247872010-10-27  Renata Hodovan  <reni@inf.u-szeged.hu>
24788
24789        Reviewed by Dirk Schulze.
24790
24791        Calling the super class of RenderSVGImage::updateFromElement is missing
24792        https://bugs.webkit.org/show_bug.cgi?id=48347
24793
24794        RenderSVGImage::updateFromElement is an inherited function of RenderSVGModelObject what needs calling its ancestor.
24795        Lack of this call caused filters were not invalidated at SVGImage objects.
24796
24797        No new tests, because this modification is covered by SVGFEConvolveMatrixElement's dynamic update tests.
24798
24799        * rendering/RenderSVGImage.cpp:
24800        (WebCore::RenderSVGImage::updateFromElement):
24801
248022010-10-27  Justin Schuh  <jschuh@chromium.org>
24803
24804        Reviewed by Dirk Schulze.
24805
24806        Ignore invalid blend modes
24807        https://bugs.webkit.org/show_bug.cgi?id=48371
24808
24809        Test: svg/filters/feBlend-invalid-mode.xhtml
24810
24811        * platform/graphics/filters/FEBlend.cpp:
24812        (WebCore::FEBlend::apply):
24813
248142010-10-27  Sergio Villar Senin  <svillar@igalia.com>
24815
24816        Reviewed by Martin Robinson.
24817
24818        [Gtk] http/tests/xmlhttprequest/basic-auth-default.html fails
24819        https://bugs.webkit.org/show_bug.cgi?id=38956
24820
24821        Added a new utility function that turns SoupURIs into
24822        KURLs. That addresses some issues with SoupURIs like for example
24823        soup_uri_to_string ignoring the URI password. Basic authentication
24824        using URL credentials should work now.
24825
24826        * GNUmakefile.am:
24827        * platform/network/soup/ResourceHandleSoup.cpp:
24828        (WebCore::ResourceHandle::start):
24829        (WebCore::ResourceHandle::loadResourceSynchronously):
24830        * platform/network/soup/ResourceRequestSoup.cpp:
24831        (WebCore::ResourceRequest::updateFromSoupMessage):
24832        * platform/network/soup/ResourceResponseSoup.cpp:
24833        (WebCore::ResourceResponse::updateFromSoupMessage):
24834        * platform/network/soup/SoupURIUtils.cpp: Added.
24835        (WebCore::soupURIToKURL):
24836        * platform/network/soup/SoupURIUtils.h: Added.
24837
248382010-10-27  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
24839
24840        Reviewed by Andreas Kling.
24841
24842        Remove references to ancient QGVLauncher and QtLauncher
24843        https://bugs.webkit.org/show_bug.cgi?id=48430
24844
24845        * manual-tests/plugins/windowed.html: change to QtTestBrowser
24846        * manual-tests/plugins/windowless.html: ditto
24847
248482010-10-27  Patrick Gansterer  <paroga@webkit.org>
24849
24850        Reviewed by Csaba Osztrogonác.
24851
24852        [WINCE] Buildfix after r70400.
24853        https://bugs.webkit.org/show_bug.cgi?id=48419
24854
24855        * platform/wince/TemporaryLinkStubs.cpp: Added.
24856        (WebCore::setCookieStoragePrivateBrowsingEnabled):
24857
248582010-10-27  Satish Sampath  <satish@chromium.org>
24859
24860        Reviewed by Steve Block.
24861
24862        Add runtime flag check before enabling speech input in code.
24863        https://bugs.webkit.org/show_bug.cgi?id=48426
24864
24865        * html/HTMLInputElement.cpp:
24866        (WebCore::HTMLInputElement::isSpeechEnabled): Added runtime flag check.
24867
248682010-10-27  Adam Roben  <aroben@apple.com>
24869
24870        Only decompress pixel buffers when needed (and fix a crash in the
24871        process)
24872
24873        Fixes <http://webkit.org/b/48417> Crash when running
24874        compositing/video/video-background-color.html on Windows
24875
24876        Reviewed by Anders Carlsson.
24877
24878        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
24879        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Only
24880        decompress the pixel buffer when it has an incompatible format. This
24881        also has the benefit of only decompressing the buffer when a
24882        QTDecompressionSession has been created! (I assume this was just a typo
24883        from when this code was added in r70252.)
24884
248852010-10-27  Mario Sanchez Prada  <msanchez@igalia.com>
24886
24887        Reviewed by Martin Robinson.
24888
24889        getTextAtOffset returns incorrect results if a link includes text and an image
24890        https://bugs.webkit.org/show_bug.cgi?id=47365
24891
24892        Properly consider text under a non-text renderer in textForObject.
24893
24894        We need to check all the children under a non-text renderer, if
24895        any, to consider when current object is not a text object but some
24896        of its children are, in order not to miss those portions of text
24897        by not properly handling those situations.
24898
24899        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
24900        (textForRenderer): New. Get the text for a RenderObject's children.
24901        (textForObject): Use the new textForRenderer function.
24902
249032010-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>
24904
24905        Reviewed by Rob Buis.
24906
24907        Convert SVGRect to the new SVGPropertyTearOff concept
24908        https://bugs.webkit.org/show_bug.cgi?id=48204
24909
24910        Convert the next SVG primitive type to use the SVGPropertyTearOff concept: SVGRect.
24911        Added new test verifying that StrictTypeChecking is enabled for SVGRect. Refactor and share code between JSC/V8/ObjC generators.
24912
24913        Test: svg/dom/SVGRect.html
24914
24915        * GNUmakefile.am: Add SVGAnimatedRect.h to build.
24916        * WebCore.gypi: Ditto.
24917        * WebCore.pro: Ditto.
24918        * WebCore.vcproj/WebCore.vcproj: Ditto.
24919        * WebCore.xcodeproj/project.pbxproj: Ditto.
24920        * bindings/scripts/CodeGenerator.pm: Refactor SVGPropertyTearOff handling, and share code between JSC/V8/ObjC generators.
24921        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
24922        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
24923        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
24924        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedRect handling.
24925        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
24926        * svg/SVGAngle.idl: Remove [SVGProperty] flag.
24927        * svg/SVGAnimatedAngle.idl: Remove [SVGAnimatedProperty] flag.
24928        * svg/SVGAnimatedLength.idl: Ditto.
24929        * svg/SVGAnimatedLengthList.idl: Ditto.
24930        * svg/SVGAnimatedRect.h: Added.
24931        * svg/SVGFitToViewBox.h: SVGRect now uses the new tear off concept, adapt code.
24932        * svg/SVGLength.idl: Remove [SVGProperty] flag.
24933        * svg/SVGMarkerElement.h:
24934        * svg/SVGPatternElement.h:
24935        * svg/SVGRect.idl: Remove [PODType] flag, add StrictTypeChecking to all attributes.
24936        * svg/SVGSVGElement.cpp: s/setViewBox/setViewBoxBaseValue/.
24937        (WebCore::SVGSVGElement::currentView):
24938        (WebCore::SVGSVGElement::inheritViewAttributes):
24939        * svg/SVGSVGElement.h:
24940        * svg/SVGSVGElement.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
24941        * svg/SVGSymbolElement.h:
24942        * svg/SVGViewElement.h:
24943        * svg/SVGViewSpec.cpp: Take a SVGElement as context element.
24944        (WebCore::SVGViewSpec::SVGViewSpec):
24945        * svg/SVGViewSpec.h: Ditto.
24946        (WebCore::SVGViewSpec::contextElement):
24947        * svg/SVGZoomEvent.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
24948        * svg/properties/SVGAnimatedPropertyMacros.h: Support declaring animated properties on non-SVGElement types (here: SVGViewSpec), just like the old macros handled it.
24949
249502010-10-27  Pavel Podivilov  <podivilov@chromium.org>
24951
24952        Unreviewed, fix line endings in InspectorState.h
24953
24954        * inspector/InspectorState.h:
24955
249562010-10-27  Pavel Podivilov  <podivilov@chromium.org>
24957
24958        Reviewed by Pavel Feldman.
24959
24960        Web Inspector: move frontend settings to local storage
24961        https://bugs.webkit.org/show_bug.cgi?id=47715
24962
24963        * inspector/Inspector.idl:
24964        * inspector/InspectorController.cpp:
24965        (WebCore::InspectorController::InspectorController):
24966        (WebCore::InspectorController::didCommitLoad):
24967        * inspector/InspectorController.h:
24968        * inspector/InspectorState.cpp:
24969        (WebCore::InspectorState::InspectorState):
24970        * inspector/InspectorState.h:
24971        * inspector/front-end/ConsoleView.js:
24972        * inspector/front-end/EventListenersSidebarPane.js:
24973        * inspector/front-end/NetworkPanel.js:
24974        (WebInspector.NetworkPanel.prototype._createStatusbarButtons):
24975        * inspector/front-end/Panel.js:
24976        (WebInspector.Panel):
24977        * inspector/front-end/ResourcesPanel.js:
24978        (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
24979        * inspector/front-end/Settings.js:
24980        (WebInspector.Settings):
24981        (WebInspector.Settings.prototype.installApplicationSetting):
24982        (WebInspector.Settings.prototype.installProjectSetting):
24983        (WebInspector.Settings.prototype._get):
24984        (WebInspector.Settings.prototype._set):
24985        (WebInspector.Settings.prototype._getProjectSetting):
24986        (WebInspector.Settings.prototype._setProjectSetting):
24987        (WebInspector.Settings.prototype._formatProjectKey):
24988        * inspector/front-end/StylesSidebarPane.js:
24989        * inspector/front-end/WatchExpressionsSidebarPane.js:
24990        (WebInspector.WatchExpressionsSidebarPane):
24991        (WebInspector.WatchExpressionsSidebarPane.prototype.reset):
24992        * inspector/front-end/inspector.js:
24993        (WebInspector.reset):
24994
249952010-10-27  Andy Estes  <aestes@apple.com>
24996
24997        Reviewed by David Hyatt.
24998
24999        Siblings of floated elements should be cleared below the float if they
25000        are too wide to fit in the containing block.
25001        https://bugs.webkit.org/show_bug.cgi?id=48396
25002
25003        Test: fast/block/float/clear-element-too-wide-for-containing-block.html
25004
25005        WebKit did not clear elements adjacent to floats if they were wider than
25006        the containing block, instead keeping them on the same line and allowing
25007        them to spill out the right side of the containing block. We should
25008        match the spec in this regard and clear the element below the float even
25009        if it is too wide for the containing block. Doing this seems to also
25010        match IE's and Firefox's behavior.
25011
25012        * rendering/RenderBlock.cpp:
25013        (WebCore::RenderBlock::getClearDelta): Continue to compute the clear
25014        delta even if the child's minimum preferred width is greater than the
25015        containing block's available width.
25016
250172010-10-26  Rob Buis  <rwlbuis@gmail.com>
25018
25019        Reviewed by Nikolas Zimmermann.
25020
25021        Title-Element has no popup on <svg>-Elements, but on <g>
25022        https://bugs.webkit.org/show_bug.cgi?id=47669
25023
25024        Allow tooltips on non-root svg elements.
25025
25026        No new tests.
25027
25028        * svg/SVGStyledElement.cpp:
25029
250302010-10-26  Dai Mikurube  <dmikurube@google.com>
25031
25032        Reviewed by Kent Tamura.
25033
25034        constraint validation: stepMismatch (rounding error)
25035        https://bugs.webkit.org/show_bug.cgi?id=48220
25036
25037        1. Changed the computation to achieve difference from a integral
25038        multiple of the allowed value step.
25039
25040        The previous fmod(doubleValue, step) sometimes returned unacceptable
25041        remainder. For example,
25042            double doubleValue = 1.005; // Actually, near to 1.005
25043            double step = 0.005; // Actually, near to 0.005
25044            fmod(doubleValue, step) ==> (near to) 0.005
25045        It's a case that doubleValue is a little smaller than 1.005 and step is
25046        a little larger than 0.005.
25047
25048        2. Changed the error threshold.
25049
25050        Number values in HTML5 are expressed in IEEE 754 single-precision.
25051        Too precise comparison sometimes leads unintended errors.
25052
25053        For example, I found a case :
25054                  remainder = 0.00000000000000022204460
25055            acceptableError = 0.00000000000000007105427
25056
25057        * html/NumberInputType.cpp:
25058        (WebCore::NumberInputType::stepMismatch):
25059
250602010-10-26  Chris Rogers  <crogers@google.com>
25061
25062        Reviewed by Kenneth Russell.
25063
25064        Add DelayNode files
25065        https://bugs.webkit.org/show_bug.cgi?id=47516
25066
25067        No new tests since audio API is not yet implemented.
25068
25069        * webaudio/DelayNode.cpp: Added.
25070        (WebCore::DelayNode::DelayNode):
25071        (WebCore::DelayNode::delayTime):
25072        * webaudio/DelayNode.h: Added.
25073        (WebCore::DelayNode::create):
25074        (WebCore::DelayNode::delayProcessor):
25075        * webaudio/DelayNode.idl: Added.
25076
250772010-10-26  Chris Rogers  <crogers@google.com>
25078
25079        Reviewed by Kenneth Russell.
25080
25081        AudioContext and AudioNode followup changes for AudioNodeInput/AudioNodeOutput thread safety
25082        https://bugs.webkit.org/show_bug.cgi?id=47504
25083
25084        No new tests since audio API is not yet implemented.
25085
25086        * webaudio/AudioContext.cpp:
25087        (WebCore::AudioContext::isAudioThread):
25088        (WebCore::AudioContext::isGraphOwner):
25089        (WebCore::AudioContext::handlePreRenderTasks):
25090        (WebCore::AudioContext::handlePostRenderTasks):
25091        (WebCore::AudioContext::deleteMarkedNodes):
25092        (WebCore::AudioContext::markAudioNodeInputDirty):
25093        (WebCore::AudioContext::markAudioNodeOutputDirty):
25094        (WebCore::AudioContext::handleDirtyAudioNodeInputs):
25095        (WebCore::AudioContext::handleDirtyAudioNodeOutputs):
25096        * webaudio/AudioContext.h:
25097        * webaudio/AudioNode.cpp:
25098        * webaudio/AudioNode.h:
25099        (WebCore::AudioNode::isMarkedForDeletion):
25100        * webaudio/AudioNode.idl:
25101
251022010-10-26  Chris Rogers  <crogers@google.com>
25103
25104        Reviewed by Kenneth Russell.
25105
25106        Add DelayProcessor files
25107        https://bugs.webkit.org/show_bug.cgi?id=47517
25108
25109        No new tests since audio API is not yet implemented.
25110
25111        * webaudio/DelayProcessor.cpp: Added.
25112        (WebCore::DelayProcessor::DelayProcessor):
25113        (WebCore::DelayProcessor::~DelayProcessor):
25114        (WebCore::DelayProcessor::createKernel):
25115        * webaudio/DelayProcessor.h: Added.
25116        (WebCore::DelayProcessor::delayTime):
25117
251182010-10-26  Chris Rogers  <crogers@google.com>
25119
25120        Reviewed by Kenneth Russell.
25121
25122        Add AudioNodeOutput files
25123        https://bugs.webkit.org/show_bug.cgi?id=45581
25124
25125        No new tests since audio API is not yet implemented.
25126
25127        * webaudio/AudioNodeOutput.cpp: Added.
25128        (WebCore::AudioNodeOutput::AudioNodeOutput):
25129        (WebCore::AudioNodeOutput::setNumberOfChannels):
25130        (WebCore::AudioNodeOutput::setInternalBus):
25131        (WebCore::AudioNodeOutput::updateRenderingState):
25132        (WebCore::AudioNodeOutput::updateNumberOfChannels):
25133        (WebCore::AudioNodeOutput::propagateChannelCount):
25134        (WebCore::AudioNodeOutput::pull):
25135        (WebCore::AudioNodeOutput::bus):
25136        (WebCore::AudioNodeOutput::renderingFanOutCount):
25137        (WebCore::AudioNodeOutput::fanOutCount):
25138        (WebCore::AudioNodeOutput::addInput):
25139        (WebCore::AudioNodeOutput::removeInput):
25140        (WebCore::AudioNodeOutput::disconnectAllInputs):
25141        (WebCore::AudioNodeOutput::disable):
25142        (WebCore::AudioNodeOutput::enable):
25143        * webaudio/AudioNodeOutput.h: Added.
25144        (WebCore::AudioNodeOutput::node):
25145        (WebCore::AudioNodeOutput::context):
25146        (WebCore::AudioNodeOutput::numberOfChannels):
25147        (WebCore::AudioNodeOutput::isChannelCountKnown):
25148
251492010-10-26  Chris Rogers  <crogers@google.com>
25150
25151        Reviewed by Kenneth Russell.
25152
25153        Add AudioNodeInput files
25154        https://bugs.webkit.org/show_bug.cgi?id=45577
25155
25156        No new tests since audio API is not yet implemented.
25157
25158        * webaudio/AudioNodeInput.cpp: Added.
25159        (WebCore::AudioNodeInput::AudioNodeInput):
25160        (WebCore::AudioNodeInput::connect):
25161        (WebCore::AudioNodeInput::disconnect):
25162        (WebCore::AudioNodeInput::disable):
25163        (WebCore::AudioNodeInput::enable):
25164        (WebCore::AudioNodeInput::changedOutputs):
25165        (WebCore::AudioNodeInput::updateRenderingState):
25166        (WebCore::AudioNodeInput::numberOfChannels):
25167        (WebCore::AudioNodeInput::numberOfRenderingChannels):
25168        (WebCore::AudioNodeInput::bus):
25169        (WebCore::AudioNodeInput::internalSummingBus):
25170        (WebCore::AudioNodeInput::sumAllConnections):
25171        (WebCore::AudioNodeInput::pull):
25172        * webaudio/AudioNodeInput.h: Added.
25173        (WebCore::AudioNodeInput::node):
25174        (WebCore::AudioNodeInput::context):
25175        (WebCore::AudioNodeInput::numberOfRenderingConnections):
25176        (WebCore::AudioNodeInput::renderingOutput):
25177        (WebCore::AudioNodeInput::isConnected):
25178        (WebCore::AudioNodeInput::numberOfConnections):
25179
251802010-10-26  MORITA Hajime  <morrita@google.com>
25181
25182        Reviewed by Tony Chang.
25183
25184        Rolling in r70512 again, added missing null-check to
25185        Editor::isSpellCheckingEnabled().
25186        http://trac.webkit.org/changeset/70512
25187
25188        spellcheck='' should be the same as spellcheck="true"
25189        https://bugs.webkit.org/show_bug.cgi?id=25539
25190
25191        * dom/Element.cpp:
25192        (WebCore::Element::spellcheckAttributeState):
25193        (WebCore::Element::isSpellCheckingEnabled):
25194        * dom/Element.h:
25195        * editing/Editor.cpp:
25196        (WebCore::markMisspellingsOrBadGrammar):
25197        (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
25198        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
25199        * editing/Editor.h:
25200        * platform/ContextMenu.cpp:
25201        (WebCore::ContextMenu::populate):
25202
252032010-10-26  Brent Fulgham  <bfulgham@webkit.org>
25204
25205        Unreviewed build fixes.
25206
25207        * WebCore.vcproj/WebCore.vcproj: Turn off several non-WinCairo
25208        files.  We don't support CoreAnimation!
25209        * WebCore.vcproj/WebCoreCairo.vsprops: Add missing include path
25210        for 'image-decoders/webp'
25211        * platform/network/curl/CookieJarCurl.cpp:
25212        (WebCore::setCookieStoragePrivateBrowsingEnabled): Add build stub.
25213
252142010-10-26  Ryosuke Niwa  <rniwa@webkit.org>
25215
25216        Reviewed by Kent Tamura.
25217
25218        Crash in CompositeEditCommand::splitTreeToNode
25219        https://bugs.webkit.org/show_bug.cgi?id=48349
25220
25221        The bug was caused by indentIntoBlockquote's passing null pointer to splitTreeToNode.
25222        Fixed the crash by adding early exits.
25223
25224        Test: editing/execCommand/indent-node-to-split-to-crash.html
25225
25226        * editing/CompositeEditCommand.cpp:
25227        (WebCore::CompositeEditCommand::splitTreeToNode):
25228        * editing/IndentOutdentCommand.cpp:
25229        (WebCore::IndentOutdentCommand::indentIntoBlockquote):
25230
252312010-10-26  Ryosuke Niwa  <rniwa@webkit.org>
25232
25233        Reviewed by Kent Tamura.
25234
25235        REGRESSION(r67170): crash in removeImplicitlyStyledElement
25236        https://bugs.webkit.org/show_bug.cgi?id=48389
25237
25238        Fixed the crash by adding a null pointer check.
25239
25240        Test: editing/style/invalid-font-size.html
25241
25242        * editing/ApplyStyleCommand.cpp:
25243        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
25244
252452010-10-26  Dimitri Glazkov  <dglazkov@chromium.org>
25246
25247        Unreviewed, rolling out r70573.
25248        http://trac.webkit.org/changeset/70573
25249        https://bugs.webkit.org/show_bug.cgi?id=48204
25250
25251        Broke 39 tests on Chromium
25252
25253        * GNUmakefile.am:
25254        * WebCore.gypi:
25255        * WebCore.pro:
25256        * WebCore.vcproj/WebCore.vcproj:
25257        * WebCore.xcodeproj/project.pbxproj:
25258        * bindings/scripts/CodeGenerator.pm:
25259        * bindings/scripts/CodeGeneratorJS.pm:
25260        * bindings/scripts/CodeGeneratorObjC.pm:
25261        * bindings/scripts/CodeGeneratorV8.pm:
25262        * svg/DeprecatedSVGAnimatedPropertyTraits.h:
25263        * svg/DeprecatedSVGAnimatedTemplate.h:
25264        * svg/SVGAngle.idl:
25265        * svg/SVGAnimatedAngle.idl:
25266        * svg/SVGAnimatedLength.idl:
25267        * svg/SVGAnimatedLengthList.idl:
25268        * svg/SVGAnimatedRect.h: Removed.
25269        * svg/SVGFitToViewBox.h:
25270        * svg/SVGLength.idl:
25271        * svg/SVGMarkerElement.h:
25272        * svg/SVGPatternElement.h:
25273        * svg/SVGRect.idl:
25274        * svg/SVGSVGElement.cpp:
25275        (WebCore::SVGSVGElement::currentView):
25276        (WebCore::SVGSVGElement::inheritViewAttributes):
25277        * svg/SVGSVGElement.h:
25278        * svg/SVGSVGElement.idl:
25279        * svg/SVGSymbolElement.h:
25280        * svg/SVGViewElement.h:
25281        * svg/SVGViewSpec.cpp:
25282        (WebCore::SVGViewSpec::SVGViewSpec):
25283        * svg/SVGViewSpec.h:
25284        (WebCore::SVGViewSpec::contextElement):
25285        * svg/SVGZoomEvent.idl:
25286        * svg/properties/SVGAnimatedPropertyMacros.h:
25287
252882010-10-26  Anders Carlsson  <andersca@apple.com>
25289
25290        Fix 32-bit build.
25291
25292        * platform/graphics/mac/FontMac.mm:
25293        (WebCore::showGlyphsWithAdvances):
25294
252952010-10-26  Jenn Braithwaite  <jennb@chromium.org>
25296
25297        Reviewed by Dmitry Titov.
25298
25299        Resource tracking failure when trying to move a frame between documents
25300        https://bugs.webkit.org/show_bug.cgi?id=44713
25301
25302        Test: fast/frames/iframe-reparenting-fail-load.html
25303
25304        * loader/DocumentLoader.cpp:
25305        (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
25306        Added method that notifies the client to update resource tracking for
25307        loading resources that have been transferred to a different page.
25308        * loader/DocumentLoader.h:
25309        * loader/EmptyClients.h:
25310        (WebCore::EmptyFrameLoaderClient::transferLoadingResourceFromPage):
25311        Empty method.
25312        * loader/FrameLoader.h:
25313        * loader/FrameLoader.cpp:
25314        Added method that triggers resource tracking updates. This wraps
25315        the DocumentLoader method as it appears DocumentLoader is opaque
25316        to Frame.
25317        * loader/FrameLoaderClient.h:
25318        Added API to notify the client to update resource tracking for
25319        a loading resource that has been transferred to a different page.
25320        * page/Frame.cpp:
25321        (WebCore::Frame::transferChildFrameToNewDocument):
25322        Update resource tracking if page has changed.
25323
253242010-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>
25325
25326        Reviewed by Rob Buis.
25327
25328        Convert SVGRect to the new SVGPropertyTearOff concept
25329        https://bugs.webkit.org/show_bug.cgi?id=48204
25330
25331        Convert the next SVG primitive type to use the SVGPropertyTearOff concept: SVGRect.
25332        Added new test verifying that StrictTypeChecking is enabled for SVGRect. Refactor and share code between JSC/V8/ObjC generators.
25333
25334        Test: svg/dom/SVGRect.html
25335
25336        * GNUmakefile.am: Add SVGAnimatedRect.h to build.
25337        * WebCore.gypi: Ditto.
25338        * WebCore.pro: Ditto.
25339        * WebCore.vcproj/WebCore.vcproj: Ditto.
25340        * WebCore.xcodeproj/project.pbxproj: Ditto.
25341        * bindings/scripts/CodeGenerator.pm: Refactor SVGPropertyTearOff handling, and share code between JSC/V8/ObjC generators.
25342        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
25343        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
25344        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
25345        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedRect handling.
25346        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
25347        * svg/SVGAngle.idl: Remove [SVGProperty] flag.
25348        * svg/SVGAnimatedAngle.idl: Remove [SVGAnimatedProperty] flag.
25349        * svg/SVGAnimatedLength.idl: Ditto.
25350        * svg/SVGAnimatedLengthList.idl: Ditto.
25351        * svg/SVGAnimatedRect.h: Added.
25352        * svg/SVGFitToViewBox.h: SVGRect now uses the new tear off concept, adapt code.
25353        * svg/SVGLength.idl: Remove [SVGProperty] flag.
25354        * svg/SVGMarkerElement.h:
25355        * svg/SVGPatternElement.h:
25356        * svg/SVGRect.idl: Remove [PODType] flag, add StrictTypeChecking to all attributes.
25357        * svg/SVGSVGElement.cpp: s/setViewBox/setViewBoxBaseValue/.
25358        (WebCore::SVGSVGElement::currentView):
25359        (WebCore::SVGSVGElement::inheritViewAttributes):
25360        * svg/SVGSVGElement.h:
25361        * svg/SVGSVGElement.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
25362        * svg/SVGSymbolElement.h:
25363        * svg/SVGViewElement.h:
25364        * svg/SVGViewSpec.cpp: Take a SVGElement as context element.
25365        (WebCore::SVGViewSpec::SVGViewSpec):
25366        * svg/SVGViewSpec.h: Ditto.
25367        (WebCore::SVGViewSpec::contextElement):
25368        * svg/SVGZoomEvent.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
25369        * svg/properties/SVGAnimatedPropertyMacros.h: Support declaring animated properties on non-SVGElement types (here: SVGViewSpec), just like the old macros handled it.
25370
253712010-10-26  takano takumi  <takano1@asia.apple.com>
25372
25373        Reviewed by Dave Hyatt.
25374
25375        Advances are wrong and glyphs are rotated improperly in vertical writing
25376        https://bugs.webkit.org/show_bug.cgi?id=48315
25377
25378        We shouldn't use vertical metrics for Roman fonts. Also, we should rotate vertical variant
25379        glyphs back on drawing as the whole run has already been rotated beforehand.
25380
25381        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
25382        (WebCore::FontPlatformData::FontPlatformData): Changed to ignore vertical orientation when the font doesn't support vertical metrics.
25383        * platform/graphics/mac/FontMac.mm:
25384        (WebCore::showGlyphsWithAdvances): Changed to rotate glyphs -90 degree for vertical variants.
25385        (WebCore::Font::drawGlyphs):
25386
253872010-10-26  Satish Sampath  <satish@chromium.org>
25388
25389        Reviewed by Jeremy Orlow.
25390
25391        Add a 'grammar' attribute for speech input.
25392        https://bugs.webkit.org/show_bug.cgi?id=48339
25393
25394        To differentiate between various types of speech input, we add a 'x-webkit-grammar' attribute to a
25395        speech enabled input element. This is passed without validation to the speech recognizer. Typical values
25396        could be "builtin:search", "builtin:dictation" and even an externally hosted SRGS grammar XML file URI.
25397        It is up to the recognizer to interpret the value and use it as an aid in recognition.
25398
25399        * bindings/generic/RuntimeEnabledFeatures.h:
25400        (WebCore::RuntimeEnabledFeatures::webkitGrammarEnabled):
25401        * html/HTMLAttributeNames.in:
25402        * html/HTMLInputElement.idl:
25403        * page/SpeechInput.cpp:
25404        (WebCore::SpeechInput::startRecognition):
25405        * page/SpeechInput.h:
25406        * page/SpeechInputClient.h:
25407        * platform/mock/SpeechInputClientMock.cpp:
25408        (WebCore::SpeechInputClientMock::startRecognition):
25409        * platform/mock/SpeechInputClientMock.h:
25410        * rendering/TextControlInnerElements.cpp:
25411        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
25412
254132010-10-26  Pavel Feldman  <pfeldman@chromium.org>
25414
25415        Reviewed by Timothy Hatcher.
25416
25417        Web Inspector: console does not work after two reloads.
25418        https://bugs.webkit.org/show_bug.cgi?id=48318
25419
25420        * inspector/InspectorController.cpp:
25421        (WebCore::InspectorController::disconnectFrontend):
25422
254232010-10-26  Pavel Podivilov  <podivilov@chromium.org>
25424
25425        Reviewed by Pavel Feldman.
25426
25427        Web Inspector: console doesn't work in closures when window is overrode 
25428        https://bugs.webkit.org/show_bug.cgi?id=48320
25429
25430        * inspector/front-end/InjectedScript.js:
25431        (injectedScriptConstructor.):
25432
254332010-10-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
25434
25435        Reviewed by Kenneth Rohde Christiansen.
25436
25437        [Qt] Fix an assert with QtPixmapInstance creation.
25438        https://bugs.webkit.org/show_bug.cgi?id=48323
25439
25440        This places the newly refcounted QtPixmapInstance in a RefPtr
25441        to prevent an assert on the first ref() call.
25442
25443        * bridge/qt/qt_pixmapruntime.cpp:
25444        (JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
25445
254462010-10-26  Kenichi Ishibashi  <bashi@google.com>
25447
25448        Reviewed by Kent Tamura.
25449
25450        Input Method inserts conversion candidates unexpectedly
25451        https://bugs.webkit.org/show_bug.cgi?id=46868
25452
25453        Calls updateStyleIfNeeded() before setting selection for the composition to
25454        avoid inserting the previous composition text into a content editable element
25455        which has an event handler that changes the style of the element.
25456
25457        Test: platform/chromium/fast/text/chromium-mac-duplicate-ime-composition.html
25458
25459        * editing/Editor.cpp:
25460        (WebCore::Editor::setComposition): calls updateStyleIfNeeded() before setting selection.
25461
254622010-10-26  Mario Sanchez Prada  <msanchez@igalia.com>
25463
25464        Reviewed by Chris Fleizach.
25465
25466        [Gtk] Layout tables should indicate that they are not data tables via an object attribute
25467        https://bugs.webkit.org/show_bug.cgi?id=35422
25468
25469        Set the 'layout-guess' attribute to 'true' for data tables.
25470
25471        Reorganized some code in AccessibilityTable so now the function
25472        isDataTable() is more coherent by just answering that very
25473        specific question, regardless of whether the table is being
25474        exposed or not to Assistive Technologies.
25475
25476        Hence, now it's possible to make two questions separately instead
25477        of just one, meaning that the new function isAccessibleTable() is
25478        now what we formerly defined as the isDataTable() function.
25479
25480        * accessibility/AccessibilityObject.h:
25481        (WebCore::AccessibilityObject::isAccessibilityTable):
25482           New function to allow asking tables both whether they are
25483           exposed and whether they are data tables, which are different
25484           questions whose answers might be the same in many situations,
25485           but different sometimes (as it can happen in the GTK port).
25486        * accessibility/AccessibilityTable.h:
25487        * accessibility/AccessibilityTable.cpp:
25488        (WebCore::AccessibilityTable::hasARIARole):
25489           New, checks whether the table has a valid ARIA role.
25490        (WebCore::AccessibilityTable::isAccessibilityTable):
25491           New, returns the value of m_isAccessibilityTable. It's
25492           basically the former isDataTable() function renamed.
25493        (WebCore::AccessibilityTable::isDataTable):
25494           Changed behaviour. Instead of just returning the value of
25495           m_isAccessibilityTable as it did so far (which was confusing
25496           because of that's not what the name suggests), focus on
25497           checking whether it's a data table or not and return a bool
25498           value accordingly. It's basically a rename of the former
25499           isTableExposableThroughAccessibility() function, but withouth
25500           the GTK-specific if-endif region (which didn't make sense
25501           here now, because that was answering the question "is the table
25502           exposed in the GTK port?", instead of "is it a data table?").
25503        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
25504           Uses the hasAriaRole(), and isDataTable() to determine whether
25505           a table should be exposed or not. Also includes the GTK-specific
25506           if-region coming from the former implementation of the function
25507           isTableExposableThroughAccessibility() not to check whether it's
25508           a data table in case the rest of the checks succeeded (all
25509           tables are exposed in the GTK port).
25510        (WebCore::AccessibilityTable::addChildren):
25511           Replace usage of isDataTable() with isAccessibilityTable(), to
25512           keep exactly the same behaviour happening before this patch.
25513        (WebCore::AccessibilityTable::roleValue): Ditto.
25514        (WebCore::AccessibilityTable::accessibilityIsIgnored): Ditto.
25515        (WebCore::AccessibilityTable::title): Ditto.
25516
25517        Updated usage of the former function isDataTable() everywhere
25518        else, replacing it with the new isAccessibilityTable(), so keeping
25519        exactly the same behaviour happening before this patch.
25520
25521        * accessibility/AccessibilityARIAGrid.cpp:
25522        (WebCore::AccessibilityARIAGrid::addChildren):
25523           Use isAccessibilityTable() instead of isDataTable().
25524        * accessibility/AccessibilityARIAGridCell.cpp:
25525        (WebCore::AccessibilityARIAGridCell::parentTable): Ditto.
25526        * accessibility/AccessibilityARIAGridRow.cpp:
25527        (WebCore::AccessibilityARIAGridRow::disclosedRows): Ditto.
25528        (WebCore::AccessibilityARIAGridRow::disclosedByRow): Ditto.
25529        (WebCore::AccessibilityARIAGridRow::parentTable): Ditto.
25530        * accessibility/AccessibilityTableCell.cpp:
25531        (WebCore::AccessibilityTableCell::isTableCell):
25532           Use isAccessibilityTable() instead of isDataTable().
25533        * accessibility/AccessibilityTableHeaderContainer.cpp:
25534        (WebCore::AccessibilityTableHeaderContainer::addChildren): Ditto.
25535        * accessibility/AccessibilityTableRow.cpp:
25536        (WebCore::AccessibilityTableRow::isTableRow): Ditto
25537        * accessibility/mac/AccessibilityObjectWrapper.mm:
25538        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
25539           Use isAccessibilityTable() instead of isDataTable().
25540        (-[AccessibilityObjectWrapper accessibilityAttributeNames]): Ditto.
25541        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Ditto.
25542        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): Ditto.
25543        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): Ditto.
25544        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): Ditto.
25545
25546        Use the new function isAccessibilityTable() together with the
25547        modified implementation of isDataTable() to set the 'layout-guess'
25548        attribute when needed.
25549
25550        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
25551        (webkit_accessible_get_attributes):
25552           Set the 'layout-guess' attribute to 'true' to help Assistive
25553           Technologies guessing which tables are not data tables.
25554
255552010-10-26  Chris Marrin  <cmarrin@apple.com>
25556
25557        Reviewed by Simon Fraser.
25558
25559        Resuming animations causes webkitAnimationStart events to be fired
25560        https://bugs.webkit.org/show_bug.cgi?id=46540
25561
25562        Added a flag that makes sure start animation event is only ever
25563        fired once. 
25564
25565        Test: animations/suspend-resume-animation-events.html
25566
25567        * page/animation/KeyframeAnimation.cpp:
25568        (WebCore::KeyframeAnimation::KeyframeAnimation):
25569        (WebCore::KeyframeAnimation::sendAnimationEvent):
25570        * page/animation/KeyframeAnimation.h:
25571
255722010-10-26  Abhishek Arya  <inferno@chromium.org>
25573
25574        Reviewed by Dimitri Glazkov.
25575
25576        Added checks to ensure that events types are right before casting. 
25577        https://bugs.webkit.org/show_bug.cgi?id=48345
25578
25579        * html/ImageDocument.cpp:
25580        (WebCore::ImageEventListener::handleEvent):
25581        * inspector/InspectorDOMStorageResource.cpp:
25582        (WebCore::InspectorDOMStorageResource::handleEvent):
25583
255842010-10-26  Dai Mikurube  <dmikurube@google.com>
25585
25586        Reviewed by Kent Tamura.
25587
25588        Number values for form controls should be in the range of IEEE 754
25589        single-precision floating point number
25590        https://bugs.webkit.org/show_bug.cgi?id=48221
25591
25592        Changed the range of number values to fit in IEEE 754 single-precision
25593
25594        * html/parser/HTMLParserIdioms.cpp:
25595        (WebCore::parseToDoubleForNumberType):
25596        * html/NumberInputType.cpp:
25597
255982010-10-26  David Hyatt  <hyatt@apple.com>
25599
25600        Reviewed by Sam Weinig.
25601
25602        https://bugs.webkit.org/show_bug.cgi?id=48157
25603        
25604        Direction and writing-mode should propagate from the <body> to the <html> to the initial containing block.
25605        Modify the existing code that propagates from the document element to also propagate from the body.
25606        
25607        Fix the buggy code that was trying to dirty the body when the view changed size if it stretched to fill the
25608        viewport.  The code didn't consider the root element, and it only worked with one axis.  I pulled it
25609        out of calculateScrollbarModesForLayout, since it should never have been put there in the first place.
25610        
25611        Added four new tests in fast/blockflow.
25612
25613        * css/CSSStyleSelector.cpp:
25614        (WebCore::CSSStyleSelector::initElement):
25615        (WebCore::CSSStyleSelector::styleForDocument):
25616        (WebCore::CSSStyleSelector::applyProperty):
25617        * dom/Document.cpp:
25618        (WebCore::Document::Document):
25619        * dom/Document.h:
25620        (WebCore::Document::directionSetOnDocumentElement):
25621        (WebCore::Document::writingModeSetOnDocumentElement):
25622        (WebCore::Document::setDirectionSetOnDocumentElement):
25623        (WebCore::Document::setWritingModeSetOnDocumentElement):
25624        * page/FrameView.cpp:
25625        (WebCore::FrameView::calculateScrollbarModesForLayout):
25626        (WebCore::FrameView::layout):
25627        * rendering/RenderBox.cpp:
25628        (WebCore::RenderBox::styleDidChange):
25629        * rendering/RenderBox.h:
25630        (WebCore::RenderBox::stretchesToViewport):
25631
256322010-10-26  Joseph Pecoraro  <joepeck@webkit.org>
25633
25634        Reviewed by David Kilzer.
25635
25636        Fix Cache::dumpStats formatting
25637        https://bugs.webkit.org/show_bug.cgi?id=48286
25638
25639        This updates the column width in the dumpStats output to be wide enough
25640        for all the titles. Previously one of the titles was too wide and crept
25641        into later column space.
25642
25643        * loader/Cache.cpp:
25644        (WebCore::Cache::dumpStats): make columns 13 characters wide.
25645
256462010-10-26  Alexey Marinichev  <amarinichev@chromium.org>
25647
25648        Reviewed by Kenneth Russell.
25649
25650        [chromium] Check getGraphicsResetStatusARB and reinitialize the
25651        renderer in an error is returned.
25652        https://bugs.webkit.org/show_bug.cgi?id=47848
25653
25654        Tested by failure injection (stopping in the debugger and issuing a
25655        jump as if an error has occurred).
25656
25657        * platform/graphics/chromium/LayerChromium.cpp:
25658        (WebCore::LayerChromium::setLayerRenderer):
25659        * platform/graphics/chromium/LayerRendererChromium.h:
25660        (WebCore::LayerRendererChromium::transferRootLayer): added
25661
256622010-10-26  Pavel Feldman  <pfeldman@chromium.org>
25663
25664        Not reviewed. Touching inspector controller to kick gtk build, removing comments.
25665
25666        * inspector/InspectorController.cpp:
25667        * inspector/front-end/ResourceManager.js:
25668        * inspector/front-end/ScriptsPanel.js:
25669
256702010-10-26  Pavel Feldman  <pfeldman@chromium.org>
25671
25672        Web Inspector: continue making resources panel optional.
25673        https://bugs.webkit.org/show_bug.cgi?id=48261
25674
25675        This refactoring makes console, audits and extensions tests pass while taking data from
25676        resources panel. Network panel as a source is to follow.
25677
25678        * inspector/front-end/AuditLauncherView.js:
25679        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
25680        * inspector/front-end/AuditsPanel.js:
25681        * inspector/front-end/ConsoleView.js:
25682        (WebInspector.ConsoleView.prototype.addMessage):
25683        * inspector/front-end/CookieItemsView.js:
25684        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain.populateResourcesForDocuments):
25685        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
25686        * inspector/front-end/ExtensionServer.js:
25687        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
25688        (WebInspector.ExtensionServer.prototype._onGetResources):
25689        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
25690        * inspector/front-end/HAREntry.js:
25691        (WebInspector.HARLog.prototype.build):
25692        (WebInspector.HARLog.prototype.buildMainResourceTimings):
25693        (WebInspector.HARLog.prototype._convertResource):
25694        * inspector/front-end/NetworkPanel.js:
25695        (WebInspector.NetworkPanel):
25696        (WebInspector.NetworkPanel.prototype._reset):
25697        (WebInspector.NetworkPanel.prototype.get resources):
25698        (WebInspector.NetworkPanel.prototype.addResource):
25699        * inspector/front-end/Resource.js:
25700        (WebInspector.Resource.prototype.set category):
25701        * inspector/front-end/ResourceCategory.js:
25702        (WebInspector.ResourceCategory):
25703        (WebInspector.ResourceCategory.prototype.toString):
25704        * inspector/front-end/ResourceManager.js:
25705        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
25706        (WebInspector.ResourceManager.prototype.willSendRequest):
25707        (WebInspector.ResourceManager.prototype.didFinishLoading):
25708        (WebInspector.ResourceManager.prototype.didFailLoading):
25709        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
25710        (WebInspector.ResourceManager.prototype.setOverrideContent):
25711        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
25712        * inspector/front-end/ResourcesPanel.js:
25713        (WebInspector.ResourcesPanel):
25714        (WebInspector.ResourcesPanel.prototype.reset):
25715        (WebInspector.ResourcesPanel.prototype.addResource):
25716        (WebInspector.ResourcesPanel.prototype.removeResource):
25717        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
25718        * inspector/front-end/ScriptsPanel.js:
25719        (WebInspector.ScriptsPanel.prototype.addScript):
25720        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
25721        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
25722        * inspector/front-end/StylesSidebarPane.js:
25723        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
25724        * inspector/front-end/inspector.js:
25725        (WebInspector._updateFocusedNode):
25726        (WebInspector.get networkResources):
25727        (WebInspector.forAllResources):
25728        (WebInspector.resourceForURL):
25729        (WebInspector.updateResource):
25730        (WebInspector.domContentEventFired):
25731        (WebInspector.loadEventFired):
25732        (WebInspector.removeResource):
25733        (WebInspector.reset):
25734        (WebInspector.displayNameForURL):
25735        (WebInspector.linkifyStringAsFragment):
25736        (WebInspector.resourceURLForRelatedNode.callback):
25737        (WebInspector.resourceURLForRelatedNode):
25738
257392010-10-26  Jeremy Orlow  <jorlow@chromium.org>
25740
25741        Reviewed by Steve Block.
25742        Fix IndexedDB crashes
25743        https://bugs.webkit.org/show_bug.cgi?id=48266
25744
25745        If IDBKey returns null, type conversion failed. Handle this case
25746        in the bindings.
25747
25748        Change UNKNOWN_ERR to be 1 since 0 is hard coded to mean no error.
25749        This is just a stop-gap move until we get it figured out in standards
25750        land.
25751
25752        IDBObjectStore needs to handle null ranges.
25753
25754        It's actually OK for m_transaction to be non-null when hitting the
25755        destructor. We just need to then remove it from the set of pending
25756        transactions.
25757
25758        The transaction can become aborted in the middle of processing a
25759        list of tasks. Fix this.
25760
25761        All changes (except the last 2 races) are tested in LayoutTests.
25762        I couldn't find a way to reliably reproduce the races.
25763
25764        * bindings/scripts/CodeGeneratorV8.pm:
25765        * bindings/scripts/test/V8/V8TestObj.cpp:
25766        (WebCore::TestObjInternal::idbKeyCallback):
25767        * bindings/v8/IDBBindingUtilities.cpp:
25768        (WebCore::createIDBKeyFromValue):
25769        * storage/IDBDatabaseException.h:
25770        * storage/IDBDatabaseException.idl:
25771        * storage/IDBObjectStoreBackendImpl.cpp:
25772        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
25773        * storage/IDBRequest.cpp:
25774        (WebCore::IDBRequest::~IDBRequest):
25775        (WebCore::IDBRequest::timerFired):
25776        * storage/IDBTransactionBackendImpl.cpp:
25777        (WebCore::IDBTransactionBackendImpl::taskTimerFired):
25778
257792010-10-25  Andrey Kosyakov  <caseq@chromium.org>
25780
25781        Reviewed by Pavel Feldman.
25782
25783        Web Inspector: Show cookie data in the request headers in network pane
25784        https://bugs.webkit.org/show_bug.cgi?id=16531
25785
25786        * inspector/front-end/CookieItemsView.js:
25787        (WebInspector.CookieItemsView): Factor out common cookies grid logic to CookiesTable
25788        (WebInspector.CookieItemsView.prototype._populateDataGrid):
25789        * inspector/front-end/CookieParser.js: Store cookie type (request/response) within a cookie.
25790        (WebInspector.CookieParser.prototype.parseCookie):
25791        (WebInspector.CookieParser.prototype.parseSetCookie):
25792        (WebInspector.CookieParser.prototype._addCookie):
25793        (WebInspector.Cookie):
25794        * inspector/front-end/DataGrid.js:
25795        (WebInspector.DataGrid.prototype.autoSizeColumns): Optionally, traverse nested nodes when looking for max field widths.
25796        (WebInspector.DataGrid.prototype._enumerateChildren):
25797        (WebInspector.DataGrid.prototype.updateWidths): Skip attempt to calculate column widths if grid is not attached to DOM tree yet.
25798        * inspector/front-end/FontView.js:
25799        (WebInspector.FontView.prototype.resize):
25800        * inspector/front-end/ResourceView.js:
25801        (WebInspector.ResourceView.prototype.resize):
25802        (WebInspector.ResourceView.prototype._selectTab):
25803        (WebInspector.ResourceView.prototype._selectCookiesTab):
25804        (WebInspector.ResourceView.prototype._innerSelectContentTab):
25805        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
25806        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
25807        (WebInspector.ResourceView.prototype._refreshHeaders):
25808        (WebInspector.ResourceView.prototype._refreshCookies):
25809        (WebInspector.ResourceCookiesTab):
25810        (WebInspector.ResourceCookiesTab.prototype.set requestCookies):
25811        (WebInspector.ResourceCookiesTab.prototype.set responseCookies):
25812        (WebInspector.ResourceCookiesTab.prototype._populateDataGrid):
25813        (WebInspector.ResourceCookiesTab.prototype._populateCookies):
25814        (WebInspector.ResourceCookiesTab.prototype._createFolder):
25815        * inspector/front-end/SourceView.js:
25816        (WebInspector.SourceView.prototype.resize):
25817        * inspector/front-end/inspector.css:
25818        (.resource-view .resource-view-cookies):
25819        (.resource-view.headers-visible .resource-view-cookies):
25820        (.resource-view-cookies.table .data-grid):
25821        (.resource-view-cookies .data-grid .row-group):
25822
258232010-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
25824
25825        Unreviewed, rolling out r70518.
25826        http://trac.webkit.org/changeset/70518
25827        https://bugs.webkit.org/show_bug.cgi?id=48332
25828
25829        Breaks inspector tests. (Requested by pfeldman on #webkit).
25830
25831        * inspector/front-end/AuditLauncherView.js:
25832        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
25833        * inspector/front-end/AuditsPanel.js:
25834        * inspector/front-end/ConsoleView.js:
25835        (WebInspector.ConsoleView.prototype.addMessage):
25836        * inspector/front-end/CookieItemsView.js:
25837        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
25838        * inspector/front-end/ExtensionServer.js:
25839        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
25840        (WebInspector.ExtensionServer.prototype._onGetResources):
25841        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
25842        * inspector/front-end/HAREntry.js:
25843        (WebInspector.HARLog.prototype.build):
25844        (WebInspector.HARLog.prototype.buildMainResourceTimings):
25845        (WebInspector.HARLog.prototype._convertResource):
25846        * inspector/front-end/NetworkPanel.js:
25847        (WebInspector.NetworkPanel):
25848        (WebInspector.NetworkPanel.prototype._reset):
25849        (WebInspector.NetworkPanel.prototype.addResource):
25850        * inspector/front-end/Resource.js:
25851        (WebInspector.Resource.prototype.set category):
25852        * inspector/front-end/ResourceCategory.js:
25853        (WebInspector.ResourceCategory):
25854        (WebInspector.ResourceCategory.prototype.toString):
25855        (WebInspector.ResourceCategory.prototype.addResource):
25856        (WebInspector.ResourceCategory.prototype.removeResource):
25857        (WebInspector.ResourceCategory.prototype.removeAllResources):
25858        * inspector/front-end/ResourceManager.js:
25859        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
25860        (WebInspector.ResourceManager.prototype.willSendRequest):
25861        (WebInspector.ResourceManager.prototype.didFinishLoading):
25862        (WebInspector.ResourceManager.prototype.didFailLoading):
25863        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
25864        (WebInspector.ResourceManager.prototype.setOverrideContent):
25865        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
25866        * inspector/front-end/ResourcesPanel.js:
25867        (WebInspector.ResourcesPanel):
25868        (WebInspector.ResourcesPanel.prototype.reset):
25869        (WebInspector.ResourcesPanel.prototype.addResource):
25870        (WebInspector.ResourcesPanel.prototype.removeResource):
25871        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
25872        * inspector/front-end/ScriptsPanel.js:
25873        (WebInspector.ScriptsPanel.prototype.addScript):
25874        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
25875        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
25876        * inspector/front-end/StylesSidebarPane.js:
25877        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
25878        * inspector/front-end/inspector.js:
25879        (WebInspector._updateFocusedNode):
25880        (WebInspector.updateResource):
25881        (WebInspector.domContentEventFired):
25882        (WebInspector.loadEventFired):
25883        (WebInspector.removeResource):
25884        (WebInspector.reset):
25885        (WebInspector.displayNameForURL):
25886        (WebInspector.resourceForURL):
25887        (WebInspector.linkifyStringAsFragment):
25888        (WebInspector.resourceURLForRelatedNode):
25889
258902010-10-26  Jeremy Orlow  <jorlow@chromium.org>
25891
25892        Reviewed by Steve Block.
25893
25894        Quota for IndexedDB should be per origin not per database
25895        https://bugs.webkit.org/show_bug.cgi?id=48064
25896
25897        Merge all databases for each origin into a single SQLiteDatabase.
25898
25899        Replace the awkward metaData table with a Database table.
25900
25901        Create a new IDBSQLiteDatabase class that wraps SQLiteDatabase
25902        and implements weak pointer semantics for IDBFactory. It's ref
25903        counted so multiple IDBDatabaseBackendImpls can share one.
25904
25905        Fix uniqueness constraints that were overly conservitive.
25906
25907        Get rid of the code that blows away existing data every time
25908        the database is opened.
25909
25910        Get rid of the fairly useless indexedDB manual test and replace
25911        it with one that verifies data persists.
25912
25913        Use name+origin (not just name) in our cache of IDBDatabaseBackend
25914        objects (so one origin can't access anothers' data).
25915
25916        Test: storage/indexeddb/duplicates.html
25917
25918        * WebCore.gypi:
25919        * manual-tests/indexed-database.html: Removed.
25920        * manual-tests/indexeddb-persists.html: Added.
25921        * storage/IDBDatabaseBackendImpl.cpp:
25922        (WebCore::extractMetaData):
25923        (WebCore::setMetaData):
25924        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
25925        (WebCore::IDBDatabaseBackendImpl::setDescription):
25926        (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
25927        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
25928        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
25929        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
25930        * storage/IDBDatabaseBackendImpl.h:
25931        (WebCore::IDBDatabaseBackendImpl::create):
25932        (WebCore::IDBDatabaseBackendImpl::id):
25933        * storage/IDBFactoryBackendImpl.cpp:
25934        (WebCore::IDBFactoryBackendImpl::removeSQLiteDatabase):
25935        (WebCore::openSQLiteDatabase):
25936        (WebCore::createTables):
25937        (WebCore::IDBFactoryBackendImpl::open):
25938        (WebCore::IDBFactoryBackendImpl::databaseFileName):
25939        * storage/IDBFactoryBackendImpl.h:
25940        * storage/IDBObjectStoreBackendImpl.cpp:
25941        (WebCore::putObjectStoreData):
25942        (WebCore::IDBObjectStoreBackendImpl::putInternal):
25943        * storage/IDBSQLiteDatabase.cpp: Added.
25944        (WebCore::IDBSQLiteDatabase::IDBSQLiteDatabase):
25945        (WebCore::IDBSQLiteDatabase::~IDBSQLiteDatabase):
25946        * storage/IDBSQLiteDatabase.h: Added.
25947        (WebCore::IDBSQLiteDatabase::create):
25948        (WebCore::IDBSQLiteDatabase::db):
25949
259502010-10-20  Andrey Kosyakov  <caseq@chromium.org>
25951
25952        Reviewed by Yury Semikhatsky.
25953
25954        Inspector needs to use cached resources to display image resources.
25955        https://bugs.webkit.org/show_bug.cgi?id=16395
25956
25957        * inspector/Inspector.idl: Add base64Encode parameter to getContent
25958        * inspector/InspectorResourceAgent.cpp:
25959        (WebCore::InspectorResourceAgent::resourceContent):
25960        * inspector/InspectorResourceAgent.h:
25961        * inspector/front-end/ExtensionServer.js:
25962        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
25963        * inspector/front-end/ImageView.js:
25964        (WebInspector.ImageView.prototype.contentTabSelected.onResourceContent):
25965        (WebInspector.ImageView.prototype.contentTabSelected):
25966        * inspector/front-end/NetworkPanel.js:
25967        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell.):
25968        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
25969        * inspector/front-end/Resource.js:
25970        (WebInspector.Resource):
25971        (WebInspector.Resource.prototype.set finished):
25972        (WebInspector.Resource.prototype.getContent):
25973        (WebInspector.Resource.prototype.get contentURL):
25974        (WebInspector.Resource.prototype._requestContent.onResourceContent):
25975        (WebInspector.Resource.prototype._requestContent):
25976        * inspector/front-end/ResourcesPanel.js:
25977        (WebInspector.ResourceSidebarTreeElement.prototype.createIconElement.):
25978        (WebInspector.ResourceSidebarTreeElement.prototype.createIconElement):
25979        * inspector/front-end/Settings.js: Added useDataURLForResourceImageIcons
25980        * inspector/front-end/SourceView.js:
25981        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
25982
259832010-10-26  Pavel Feldman  <pfeldman@chromium.org>
25984
25985        Reviewed by Timothy Hatcher.
25986
25987        Web Inspector: continue making resources panel optional.
25988        https://bugs.webkit.org/show_bug.cgi?id=48261
25989
25990        This refactoring makes console, audits and extensions tests pass while taking data from
25991        resources panel. Network panel as a source is to follow.
25992
25993        * inspector/InspectorController.cpp:
25994        (WebCore::InspectorController::connectFrontend):
25995        * inspector/front-end/AuditLauncherView.js:
25996        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
25997        * inspector/front-end/AuditsPanel.js:
25998        * inspector/front-end/ConsoleView.js:
25999        (WebInspector.ConsoleView.prototype.addMessage):
26000        * inspector/front-end/CookieItemsView.js:
26001        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain.populateResourcesForDocuments):
26002        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
26003        * inspector/front-end/ExtensionServer.js:
26004        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
26005        (WebInspector.ExtensionServer.prototype._onGetResources):
26006        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
26007        * inspector/front-end/HAREntry.js:
26008        (WebInspector.HARLog.prototype.build):
26009        (WebInspector.HARLog.prototype.buildMainResourceTimings):
26010        (WebInspector.HARLog.prototype._convertResource):
26011        * inspector/front-end/NetworkPanel.js:
26012        (WebInspector.NetworkPanel):
26013        (WebInspector.NetworkPanel.prototype._reset):
26014        (WebInspector.NetworkPanel.prototype.get resources):
26015        (WebInspector.NetworkPanel.prototype.addResource):
26016        * inspector/front-end/Resource.js:
26017        (WebInspector.Resource.prototype.set category):
26018        * inspector/front-end/ResourceCategory.js:
26019        (WebInspector.ResourceCategory):
26020        (WebInspector.ResourceCategory.prototype.toString):
26021        * inspector/front-end/ResourceManager.js:
26022        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
26023        (WebInspector.ResourceManager.prototype.willSendRequest):
26024        (WebInspector.ResourceManager.prototype.didFinishLoading):
26025        (WebInspector.ResourceManager.prototype.didFailLoading):
26026        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
26027        (WebInspector.ResourceManager.prototype.setOverrideContent):
26028        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
26029        * inspector/front-end/ResourcesPanel.js:
26030        (WebInspector.ResourcesPanel):
26031        (WebInspector.ResourcesPanel.prototype.reset):
26032        (WebInspector.ResourcesPanel.prototype.addResource):
26033        (WebInspector.ResourcesPanel.prototype.removeResource):
26034        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
26035        * inspector/front-end/ScriptsPanel.js:
26036        (WebInspector.ScriptsPanel.prototype.addScript):
26037        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
26038        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
26039        * inspector/front-end/Settings.js:
26040        * inspector/front-end/StylesSidebarPane.js:
26041        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
26042        * inspector/front-end/inspector.js:
26043        (WebInspector._updateFocusedNode):
26044        (WebInspector.get networkResources):
26045        (WebInspector.forAllResources):
26046        (WebInspector.resourceForURL):
26047        (WebInspector.updateResource):
26048        (WebInspector.domContentEventFired):
26049        (WebInspector.loadEventFired):
26050        (WebInspector.removeResource):
26051        (WebInspector.reset):
26052        (WebInspector.displayNameForURL):
26053        (WebInspector.linkifyStringAsFragment):
26054        (WebInspector.resourceURLForRelatedNode.callback):
26055        (WebInspector.resourceURLForRelatedNode):
26056
260572010-10-26  Abhishek Arya  <inferno@chromium.org>
26058
26059        Reviewed by Adam Barth.
26060
26061        Protect the frame from being blown away in loadWithDocumentLoader function call.
26062        dispatchBeforeLoadEvent can cause the frame to be freed, which gets later used in
26063        continueLoadAfterNavigationPolicy call.
26064        https://bugs.webkit.org/show_bug.cgi?id=48281
26065
26066        Test: fast/events/form-iframe-target-before-load-crash.html
26067
26068        * loader/FrameLoader.cpp:
26069        (WebCore::FrameLoader::loadWithDocumentLoader):
26070
260712010-10-26  Xan Lopez  <xlopez@igalia.com>
26072
26073        Restore another mix-up in copy&paste error. Use height for the
26074        vertical adjustments instead of width.
26075
26076        * platform/gtk/ScrollViewGtk.cpp:
26077        (WebCore::ScrollView::setVerticalAdjustment):
26078
260792010-10-26  Xan Lopez  <xlopez@igalia.com>
26080
26081        Restore early return accidentally removed in previous
26082        patch. Should make API tests pass again.
26083
26084        * platform/gtk/ScrollViewGtk.cpp:
26085        (WebCore::ScrollView::setHorizontalAdjustment):
26086        (WebCore::ScrollView::setVerticalAdjustment):
26087
260882010-10-26  Xan Lopez  <xlopez@igalia.com>
26089
26090        Reviewed by Martin Robinson.
26091
26092        [GTK] Port to new GtkScrollable interface in GTK+ 3.x
26093        https://bugs.webkit.org/show_bug.cgi?id=48202
26094
26095        The new GtkScrollable API sets the adjustments individually, so
26096        adjust the code for this fact.
26097
26098        * platform/ScrollView.h:
26099        * platform/gtk/ScrollViewGtk.cpp:
26100        (WebCore::ScrollView::setHorizontalAdjustment): new method to set the horizontal adjustment.
26101        (WebCore::ScrollView::setVerticalAdjustment): new method to set the vertical adjustment.
26102        (WebCore::ScrollView::setGtkAdjustments): make this just call the other two methods.
26103
261042010-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
26105
26106        Unreviewed, rolling out r70512.
26107        http://trac.webkit.org/changeset/70512
26108        https://bugs.webkit.org/show_bug.cgi?id=48314
26109
26110        crashes many tests (Requested by inferno-sec on #webkit).
26111
26112        * dom/Element.cpp:
26113        * dom/Element.h:
26114        * editing/Editor.cpp:
26115        (WebCore::markMisspellingsOrBadGrammar):
26116        (WebCore::Editor::spellCheckingEnabledInFocusedNode):
26117        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
26118        * editing/Editor.h:
26119        * platform/ContextMenu.cpp:
26120        (WebCore::ContextMenu::populate):
26121
261222010-10-24  MORITA Hajime  <morrita@google.com>
26123
26124        Reviewed by Tony Chang.
26125
26126        spellcheck='' should be the same as spellcheck="true"
26127        https://bugs.webkit.org/show_bug.cgi?id=25539
26128
26129        - Added a check for empty string and missing attribute.
26130        - Extracted the check to Element::spellCheckingEnabled()
26131        - Introduced SpellcheckAttributeState enum to represent the
26132          states for spellcheck attributes.
26133
26134        * dom/Element.cpp:
26135        (WebCore::Element::spellcheckAttributeState): Added.
26136        (WebCore::Element::isSpellCheckingEnabled): Added.
26137        * dom/Element.h:
26138        * editing/Editor.cpp:
26139        (WebCore::markMisspellingsOrBadGrammar):
26140        (WebCore::Editor::isSpellCheckingEnabledInFocusedNode): Renamed, partly extracted to Element::isSpellCheckingEnabled()
26141        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
26142        * editing/Editor.h:
26143        * platform/ContextMenu.cpp:
26144        (WebCore::ContextMenu::populate):
26145
261462010-10-25  Kent Tamura  <tkent@chromium.org>
26147
26148        Reviewed by Darin Adler.
26149
26150        Refactor HTMLInputElement: Move createRender(), appendFormData(),
26151        saveFormControlState() and restoreFormControlState() to InputTypes.
26152        https://bugs.webkit.org/show_bug.cgi?id=47834
26153
26154        This change adds BaseButtonInputType and BaseCheckableInputType. They
26155        are super classes of some concrete InputType classes.
26156
26157        No new tests. Just a code refactoring.
26158
26159        * CMakeLists.txt: Add BaseButtonInputType and BaseCheckableInputType files.
26160        * GNUmakefile.am: ditto.
26161        * WebCore.gypi: ditto.
26162        * WebCore.pro: ditto.
26163        * WebCore.vcproj/WebCore.vcproj: ditto.
26164        * WebCore.xcodeproj/project.pbxproj: ditto.
26165        * html/BaseButtonInputType.cpp: Added.
26166        (WebCore::BaseButtonInputType::appendFormData):
26167        (WebCore::BaseButtonInputType::createRenderer):
26168        * html/BaseButtonInputType.h: Added.
26169        (WebCore::BaseButtonInputType::BaseButtonInputType):
26170        * html/BaseCheckableInputType.cpp: Added.
26171        (WebCore::BaseCheckableInputType::saveFormControlState):
26172        (WebCore::BaseCheckableInputType::restoreFormControlState):
26173        (WebCore::BaseCheckableInputType::appendFormData):
26174        * html/BaseCheckableInputType.h: Added.
26175        (WebCore::BaseCheckableInputType::BaseCheckableInputType):
26176        * html/ButtonInputType.h: Change the super class.
26177        (WebCore::ButtonInputType::ButtonInputType):
26178        * html/CheckboxInputType.h: Change the super class.
26179        (WebCore::CheckboxInputType::CheckboxInputType):
26180        * html/FileInputType.cpp:
26181        (WebCore::FileInputType::appendFormData):
26182        (WebCore::FileInputType::createRenderer):
26183        * html/FileInputType.h: Change the super class.
26184        (WebCore::FileInputType::FileInputType):
26185        * html/HTMLFormControlElement.h:
26186          Make placeholderShouldBeVisible() public for access from TextFieldInputType.
26187        * html/HTMLInputElement.cpp:
26188        (WebCore::HTMLInputElement::saveFormControlState):
26189        (WebCore::HTMLInputElement::restoreFormControlState):
26190        (WebCore::HTMLInputElement::createRenderer):
26191        (WebCore::HTMLInputElement::appendFormData):
26192        * html/HTMLInputElement.h:
26193          Add the following functions for ImageInputType and SubmitInputType.
26194        (WebCore::HTMLInputElement::xPosition):
26195        (WebCore::HTMLInputElement::yPosition):
26196        * html/HiddenInputType.cpp:
26197        (WebCore::HiddenInputType::createRenderer):
26198        * html/HiddenInputType.h:
26199        * html/ImageInputType.cpp:
26200        (WebCore::ImageInputType::isFormDataAppendable):
26201        (WebCore::ImageInputType::appendFormData):
26202        (WebCore::ImageInputType::createRenderer):
26203        * html/ImageInputType.h: Change the super class.
26204        (WebCore::ImageInputType::ImageInputType):
26205        * html/InputType.cpp:
26206        (WebCore::InputType::saveFormControlState):
26207        (WebCore::InputType::restoreFormControlState):
26208        (WebCore::InputType::isFormDataAppendable):
26209        (WebCore::InputType::appendFormData):
26210        (WebCore::InputType::createRenderer):
26211        * html/InputType.h:
26212        * html/PasswordInputType.cpp:
26213        (WebCore::PasswordInputType::saveFormControlState):
26214        (WebCore::PasswordInputType::restoreFormControlState):
26215        * html/PasswordInputType.h:
26216        * html/RadioInputType.h: Change the super class.
26217        (WebCore::RadioInputType::RadioInputType):
26218        * html/RangeInputType.cpp:
26219        (WebCore::RangeInputType::createRenderer):
26220        * html/RangeInputType.h:
26221        * html/ResetInputType.h:
26222        (WebCore::ResetInputType::ResetInputType):
26223        * html/SubmitInputType.cpp:
26224        (WebCore::SubmitInputType::appendFormData):
26225        * html/SubmitInputType.h: Change the super class.
26226        (WebCore::SubmitInputType::SubmitInputType):
26227        * html/TextFieldInputType.cpp:
26228        (WebCore::TextFieldInputType::createRenderer):
26229        * html/TextFieldInputType.h:
26230
262312010-10-25  Simon Fraser  <simon.fraser@apple.com>
26232
26233        Reviewed by Dan Bernstein.
26234
26235        Fix scrolling of noncomposited iframes within composited document
26236        https://bugs.webkit.org/show_bug.cgi?id=47391
26237        
26238        When an iframe that is painting into a compositing layer is scrolled,
26239        we need to repaint via the RenderObject (which dirties the compositing layer contents),
26240        rather than going out to hostWindow.
26241
26242        Test: compositing/iframes/composited-iframe-scroll.html
26243
26244        * page/FrameView.cpp:
26245        (WebCore::FrameView::scrollContentsSlowPath):
26246        * page/FrameView.h:
26247        * platform/ScrollView.cpp:
26248        (WebCore::ScrollView::scrollContents):
26249        (WebCore::ScrollView::scrollContentsSlowPath):
26250        * platform/ScrollView.h:
26251
262522010-10-25  Ryosuke Niwa  <rniwa@webkit.org>
26253
26254        Unreviewed Qt build fix for r70496.
26255
26256        * bridge/qt/qt_instance.cpp:
26257        (JSC::Bindings::QtInstance::numberValue):
26258        * bridge/qt/qt_pixmapruntime.cpp:
26259        (JSC::Bindings::QtPixmapWidthField::valueFromInstance):
26260        (JSC::Bindings::QtPixmapHeightField::valueFromInstance):
26261        * bridge/qt/qt_runtime.cpp:
26262        (JSC::Bindings::convertValueToQVariant):
26263        (JSC::Bindings::convertQVariantToValue):
26264        (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
26265        (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
26266
262672010-10-25  Andy Estes  <aestes@apple.com>
26268
26269        Reviewed by Simon Fraser.
26270
26271        Source change by Simon Fraser.
26272
26273        Setting an element's visibility property to visible has no effect when
26274        it has a hidden parent.
26275        https://bugs.webkit.org/show_bug.cgi?id=48267
26276
26277        Test: fast/layers/visible-layer-with-hidden-parent.html
26278
26279        When a layer is hidden, there is an optimization that removes it from
26280        the layer tree. If the layer is made visible again, it would only mark
26281        its own stacking context's z-order list as dirty. If there are hidden
26282        parent layers, they need to be marked dirty as well so layers with
26283        visible descendents are re-added to the layer tree.
26284
26285        * rendering/RenderLayer.cpp:
26286        (WebCore::RenderLayer::setHasVisibleContent): Dirty the z-order lists of
26287        all parent stacking context render layers up to and including the first
26288        visible stacking context.
26289
262902010-10-25  Oliver Hunt  <oliver@apple.com>
26291
26292        Reviewed by Gavin Barraclough.
26293
26294        Remove exec and globalData arguments from jsNumber
26295        https://bugs.webkit.org/show_bug.cgi?id=48270
26296
26297        Mechanical removal of exec parameter to jsNumber.
26298
26299        * bindings/js/JSAudioConstructor.cpp:
26300        (WebCore::JSAudioConstructor::JSAudioConstructor):
26301        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
26302        (WebCore::JSCSSStyleDeclaration::nameGetter):
26303        * bindings/js/JSCoordinatesCustom.cpp:
26304        (WebCore::JSCoordinates::altitude):
26305        (WebCore::JSCoordinates::altitudeAccuracy):
26306        (WebCore::JSCoordinates::heading):
26307        (WebCore::JSCoordinates::speed):
26308        * bindings/js/JSDOMWindowCustom.cpp:
26309        (WebCore::JSDOMWindow::setTimeout):
26310        (WebCore::JSDOMWindow::setInterval):
26311        * bindings/js/JSDeviceMotionEventCustom.cpp:
26312        (WebCore::createAccelerationObject):
26313        (WebCore::createRotationRateObject):
26314        (WebCore::JSDeviceMotionEvent::interval):
26315        * bindings/js/JSDeviceOrientationEventCustom.cpp:
26316        (WebCore::JSDeviceOrientationEvent::alpha):
26317        (WebCore::JSDeviceOrientationEvent::beta):
26318        (WebCore::JSDeviceOrientationEvent::gamma):
26319        * bindings/js/JSGeolocationCustom.cpp:
26320        (WebCore::JSGeolocation::watchPosition):
26321        * bindings/js/JSHTMLInputElementCustom.cpp:
26322        (WebCore::JSHTMLInputElement::selectionStart):
26323        (WebCore::JSHTMLInputElement::selectionEnd):
26324        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
26325        (WebCore::JSHTMLOptionsCollection::length):
26326        * bindings/js/JSIDBKeyCustom.cpp:
26327        (WebCore::toJS):
26328        * bindings/js/JSInjectedScriptHostCustom.cpp:
26329        (WebCore::InjectedScriptHost::createInjectedScript):
26330        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
26331        * bindings/js/JSOptionConstructor.cpp:
26332        (WebCore::JSOptionConstructor::JSOptionConstructor):
26333        * bindings/js/JSSQLResultSetRowListCustom.cpp:
26334        (WebCore::JSSQLResultSetRowList::item):
26335        * bindings/js/JSSVGLengthCustom.cpp:
26336        (WebCore::JSSVGLength::value):
26337        * bindings/js/JSScriptProfileNodeCustom.cpp:
26338        (WebCore::JSScriptProfileNode::callUID):
26339        * bindings/js/JSWebGLRenderingContextCustom.cpp:
26340        (WebCore::toJS):
26341        * bindings/js/JSWorkerContextCustom.cpp:
26342        (WebCore::JSWorkerContext::setTimeout):
26343        (WebCore::JSWorkerContext::setInterval):
26344        * bindings/js/JSWorkerContextErrorHandler.cpp:
26345        (WebCore::JSWorkerContextErrorHandler::handleEvent):
26346        * bindings/js/ScriptFunctionCall.cpp:
26347        (WebCore::ScriptCallArgumentHandler::appendArgument):
26348        * bindings/js/SerializedScriptValue.cpp:
26349        (WebCore::CloneDeserializer::readTerminal):
26350        * bindings/scripts/CodeGeneratorJS.pm:
26351        * bridge/c/c_instance.cpp:
26352        (JSC::Bindings::CInstance::numberValue):
26353        * bridge/c/c_utility.cpp:
26354        (JSC::Bindings::convertNPVariantToValue):
26355        * bridge/jni/jsc/JNIBridgeJSC.cpp:
26356        (JavaField::valueFromInstance):
26357        (JavaArray::valueAt):
26358        * bridge/jni/jsc/JavaInstanceJSC.cpp:
26359        (JavaInstance::numberValue):
26360        (JavaInstance::invokeMethod):
26361        * bridge/objc/objc_instance.mm:
26362        (ObjcInstance::numberValue):
26363        * bridge/objc/objc_utility.mm:
26364        (JSC::Bindings::convertObjcValueToValue):
26365        * bridge/runtime_array.cpp:
26366        (JSC::RuntimeArray::lengthGetter):
26367        * bridge/runtime_method.cpp:
26368        (JSC::RuntimeMethod::lengthGetter):
26369
263702010-10-21  Satish Sampath  <satish@chromium.org>
26371
26372        Reviewed by Jeremy Orlow.
26373
26374        Allow embedder to pass on all the speech recognition results to the input element.
26375        https://bugs.webkit.org/show_bug.cgi?id=48068
26376
26377        No new tests added as functionality has not changed, tests will be added in the next
26378        patch where these results are exposed as an attribute to scripts.
26379
26380        * Android.mk: Added new source files.
26381        * GNUmakefile.am:
26382        * WebCore.gypi:
26383        * WebCore.pro:
26384        * WebCore.xcodeproj/project.pbxproj:
26385        * page/SpeechInput.cpp:
26386        (WebCore::SpeechInput::setRecognitionResult): Accept an array instead of a single string.
26387        * page/SpeechInput.h:
26388        * page/SpeechInputListener.h:
26389        * page/SpeechInputResult.cpp: Added, defines a class for managing a speech input result.
26390        (WebCore::SpeechInputResult::create):
26391        (WebCore::SpeechInputResult::SpeechInputResult):
26392        (WebCore::SpeechInputResult::confidence):
26393        (WebCore::SpeechInputResult::utterance):
26394        * page/SpeechInputResult.h: Added.
26395        * platform/mock/SpeechInputClientMock.cpp:
26396        (WebCore::SpeechInputClientMock::timerFired):
26397        * rendering/TextControlInnerElements.cpp:
26398        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
26399        * rendering/TextControlInnerElements.h:
26400
264012010-10-25  Jian Li  <jianli@chromium.org>
26402
26403        Reviewed by David Levin.
26404
26405        Support appending an ArrayBuffer object in BlobBuilder
26406        https://bugs.webkit.org/show_bug.cgi?id=47701
26407
26408        Test cases have been added to read-blob-test-cases.js.
26409
26410        * fileapi/BlobBuilder.cpp:
26411        (WebCore::BlobBuilder::getBuffer):
26412        (WebCore::BlobBuilder::append): Removed bool return values since they
26413        weren't used.
26414        * fileapi/BlobBuilder.h:
26415        * fileapi/BlobBuilder.idl:
26416
264172010-10-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
26418
26419        Reviewed by Kenneth Rohde Christiansen.
26420
26421        [Texmap] [Qt] Texture mapper initial implementation
26422        https://bugs.webkit.org/show_bug.cgi?id=47070
26423
26424        Glue layer (WebCoreSupport) changes to allow connecting TextureMapper to a Qt PageClient, i.e.
26425        a QWebView or a QGraphicsWebView. This enables the new type, TextureMapperPlatformLayer, to be recognized both by
26426        the compositor and by the page client.
26427        Note that this is temporarily an opt-in, under USE(TEXTURE_MAPPER)
26428
26429        No new tests: the existing tests under LayoutTests/compositing already cover this.
26430
26431        * platform/graphics/GraphicsLayer.h:
26432        * platform/qt/QWebPageClient.h:
26433        (QWebPageClient::setRootGraphicsLayer):
26434
264352010-10-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
26436
26437        Reviewed by Kenneth Rohde Christiansen.
26438
26439        [Texmap] [Qt] Texture mapper initial implementation
26440        https://bugs.webkit.org/show_bug.cgi?id=47070
26441
26442        Add a config flag and a define (WTF_USE_TEXTURE_MAPPER) to WebCore, to enable opt-in compilation of texture-mapper with Qt.
26443
26444        No new tests: WIP for a new implementation.
26445
26446        * WebCore.pro:
26447
264482010-10-25  Jian Li  <jianli@chromium.org>
26449
26450        Reviewed by David Levin.
26451
26452        Calling FileReader.abort during reading could cause crash
26453        https://bugs.webkit.org/show_bug.cgi?id=48163
26454
26455        Test: fast/files/file-reader-abort.html
26456
26457        * fileapi/FileReader.cpp:
26458        (WebCore::delayedAbort):
26459        (WebCore::FileReader::abort): Schedule to do the abort later to work
26460        around the case that abort() could be called from event handler.
26461        (WebCore::FileReader::doAbort):
26462        (WebCore::FileReader::didFail): Do not go with normal error handling
26463        when we are in the process of aborting.
26464        (WebCore::FileReader::failed):
26465        (WebCore::FileReader::readyState):
26466        * fileapi/FileReader.h:
26467
264682010-10-25  Patrick Gansterer  <paroga@webkit.org>
26469
26470        Reviewed by Adam Roben.
26471
26472        [WINCE] Buildfix for NetworkStateNotifier
26473        https://bugs.webkit.org/show_bug.cgi?id=48240
26474
26475        WinCE does not support RegisterWaitForSingleObject, so disable it for now.
26476
26477        * platform/network/win/NetworkStateNotifierWin.cpp:
26478        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
26479
264802010-10-25  David Hyatt  <hyatt@apple.com>
26481
26482        Reviewed by Dan Bernstein.
26483
26484        https://bugs.webkit.org/show_bug.cgi?id=48257
26485
26486        Make "rl" and "bt" writing-modes work for blocks and lines.  InlineTextBox is refactored to compute the correct
26487        top left corner and left baseline edge once so that can be passed down to all the painting functions instead of
26488        tx and ty.
26489        
26490        adjustment helpers have been added that can be called before painting children or lines and that fix up
26491        the coordinates from flipped to physical.
26492        
26493        Added fast/blockflow/english-rl-text.html and fast/blockflow/english-bt-text.html
26494
26495        * rendering/InlineBox.cpp:
26496        (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
26497        * rendering/InlineBox.h:
26498        * rendering/InlineFlowBox.cpp:
26499        (WebCore::InlineFlowBox::paintBoxDecorations):
26500        (WebCore::InlineFlowBox::paintMask):
26501        * rendering/InlineTextBox.cpp:
26502        (WebCore::paintTextWithShadows):
26503        (WebCore::InlineTextBox::paint):
26504        (WebCore::InlineTextBox::paintSelection):
26505        (WebCore::InlineTextBox::paintCompositionBackground):
26506        (WebCore::InlineTextBox::paintDecoration):
26507        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
26508        (WebCore::InlineTextBox::paintTextMatchMarker):
26509        (WebCore::InlineTextBox::computeRectForReplacementMarker):
26510        (WebCore::InlineTextBox::paintDocumentMarkers):
26511        (WebCore::InlineTextBox::paintCompositionUnderline):
26512        * rendering/InlineTextBox.h:
26513        * rendering/RenderBlock.cpp:
26514        (WebCore::RenderBlock::paintChildren):
26515        (WebCore::RenderBlock::paintFloats):
26516        * rendering/RenderBox.cpp:
26517        (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
26518        * rendering/RenderBox.h:
26519        * rendering/style/RenderStyle.h:
26520        (WebCore::InheritedFlags::isFlippedBlocksWritingMode):
26521
265222010-10-25  Ben Murdoch  <benm@google.com>
26523
26524        Reviewed by Steve Block.
26525
26526        Build break with ENABLE(BLOB) and not ENABLE(3D_CANVAS)
26527        https://bugs.webkit.org/show_bug.cgi?id=48243
26528
26529        Build fix only so no new tests.
26530
26531        * bindings/generic/RuntimeEnabledFeatures.h: Guard appropriately.
26532        * bindings/v8/custom/V8ArrayBufferViewCustom.h: ditto.
26533
265342010-10-25  Cris Neckar  <cdn@chromium.org>
26535
26536        Reviewed by Dimitri Glazkov.
26537
26538        Added check to ensure that events with the type "mousedown" are mouse events before dispatching.
26539        https://bugs.webkit.org/show_bug.cgi?id=48159
26540
26541        Test: fast/events/keyboardevent-mousedown-crash.html
26542
26543        * dom/Node.cpp:
26544        (WebCore::Node::defaultEventHandler):
26545
265462010-10-25  Kwang Yul Seo  <skyul@company100.net>
26547
26548        Unreviewed build fix for r70400.
26549
26550        Add dummy setCookieStoragePrivateBrowsingEnabled.
26551
26552        * platform/brew/TemporaryLinkStubs.cpp: Added.
26553        (WebCore::setCookieStoragePrivateBrowsingEnabled):
26554
265552010-10-25  Patrick Gansterer  <paroga@webkit.org>
26556
26557        Reviewed by Adam Roben.
26558
26559        [WINCE] Use default implementation of AXObjectCache::platformGenerateAXID
26560        https://bugs.webkit.org/show_bug.cgi?id=48239
26561
26562        WinCE does not support NotifyWinEvent, so use the default implementation.
26563
26564        * accessibility/AXObjectCache.cpp:
26565
265662010-10-25  Sam Weinig  <sam@webkit.org>
26567
26568        Reviewed by Anders Carlsson.
26569
26570        Need WebKit2 API to figure out if a frame can provide source
26571        <rdar://problem/8424632>
26572        https://bugs.webkit.org/show_bug.cgi?id=48252
26573
26574        * WebCore.exp.in:
26575
265762010-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
26577
26578        Unreviewed, rolling out r70451.
26579        http://trac.webkit.org/changeset/70451
26580        https://bugs.webkit.org/show_bug.cgi?id=48249
26581
26582        Broke set-unloaded-frame-location.html under Qt (Requested by
26583        caseq on #webkit).
26584
26585        * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
26586        * bindings/js/ScriptSourceCode.h:
26587        (WebCore::ScriptSourceCode::ScriptSourceCode):
26588        * bindings/v8/ScheduledAction.cpp:
26589        (WebCore::ScheduledAction::ScheduledAction):
26590        * bindings/v8/ScriptController.cpp:
26591        (WebCore::ScriptController::eventHandlerLineNumber):
26592        (WebCore::ScriptController::eventHandlerColumnNumber):
26593        * bindings/v8/ScriptController.h:
26594        * bindings/v8/ScriptEventListener.cpp:
26595        (WebCore::createAttributeEventListener):
26596        * bindings/v8/ScriptSourceCode.h:
26597        (WebCore::ScriptSourceCode::ScriptSourceCode):
26598        (WebCore::ScriptSourceCode::startLine):
26599        * bindings/v8/V8LazyEventListener.cpp:
26600        (WebCore::V8LazyEventListener::V8LazyEventListener):
26601        (WebCore::V8LazyEventListener::prepareListenerObject):
26602        * bindings/v8/V8LazyEventListener.h:
26603        (WebCore::V8LazyEventListener::create):
26604        * bindings/v8/V8Proxy.cpp:
26605        (WebCore::V8Proxy::compileScript):
26606        (WebCore::V8Proxy::evaluate):
26607        (WebCore::V8Proxy::runScript):
26608        * bindings/v8/V8Proxy.h:
26609        * bindings/v8/WorkerContextExecutionProxy.cpp:
26610        (WebCore::WorkerContextExecutionProxy::evaluate):
26611        (WebCore::WorkerContextExecutionProxy::runScript):
26612        * bindings/v8/WorkerContextExecutionProxy.h:
26613        * bindings/v8/WorkerScriptController.cpp:
26614        (WebCore::WorkerScriptController::evaluate):
26615        * dom/PendingScript.cpp:
26616        (WebCore::PendingScript::releaseElementAndClear):
26617        * dom/PendingScript.h:
26618        (WebCore::PendingScript::PendingScript):
26619        (WebCore::PendingScript::operator=):
26620        (WebCore::PendingScript::startingLineNumber):
26621        * dom/ScriptableDocumentParser.h:
26622        * dom/XMLDocumentParser.h:
26623        * dom/XMLDocumentParserLibxml2.cpp:
26624        (WebCore::XMLDocumentParser::XMLDocumentParser):
26625        (WebCore::XMLDocumentParser::startElementNs):
26626        (WebCore::XMLDocumentParser::endElementNs):
26627        (WebCore::XMLDocumentParser::lineNumber):
26628        (WebCore::XMLDocumentParser::columnNumber):
26629        * dom/XMLDocumentParserQt.cpp:
26630        (WebCore::XMLDocumentParser::XMLDocumentParser):
26631        (WebCore::XMLDocumentParser::parseStartElement):
26632        (WebCore::XMLDocumentParser::parseEndElement):
26633        * html/parser/HTMLDocumentParser.cpp:
26634        (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
26635        (WebCore::HTMLDocumentParser::columnNumber):
26636        * html/parser/HTMLDocumentParser.h:
26637        * html/parser/HTMLScriptRunner.cpp:
26638        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
26639        (WebCore::HTMLScriptRunner::execute):
26640        (WebCore::HTMLScriptRunner::runScript):
26641        * html/parser/HTMLScriptRunner.h:
26642        * html/parser/HTMLTreeBuilder.cpp:
26643        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
26644        (WebCore::HTMLTreeBuilder::takeScriptToProcess):
26645        (WebCore::HTMLTreeBuilder::processEndTag):
26646        (WebCore::HTMLTreeBuilder::processScriptStartTag):
26647        * html/parser/HTMLTreeBuilder.h:
26648
266492010-10-25  Kwang Yul Seo  <skyul@company100.net>
26650
26651        Unreviewed build fix for r70095.
26652
26653        Provide platformDefaultLanguage().
26654
26655        * platform/brew/LanguageBrew.cpp: Added.
26656        (WebCore::platformDefaultLanguage):
26657        * platform/brew/LocalizedStringsBrew.cpp:
26658
266592010-10-25  Patrick Gansterer  <paroga@webkit.org>
26660
26661        Reviewed by David Kilzer.
26662
26663        Replace _countof with WTF_ARRAY_LENGTH
26664        https://bugs.webkit.org/show_bug.cgi?id=48229
26665
26666        * platform/win/FileSystemWin.cpp:
26667        (WebCore::openTemporaryFile):
26668        * platform/wince/FileSystemWinCE.cpp:
26669        (WebCore::openTemporaryFile):
26670        * plugins/win/PluginDatabaseWin.cpp:
26671        (WebCore::addPluginPathsFromRegistry):
26672        (WebCore::addWindowsMediaPlayerPluginDirectory):
26673        (WebCore::addMacromediaPluginDirectories):
26674
266752010-10-25  David Hyatt  <hyatt@apple.com>
26676
26677        Reviewed by Sam Weinig.
26678
26679        https://bugs.webkit.org/show_bug.cgi?id=48246
26680
26681        Make selectionRect() on InlineTextBox give the right value for a vertical line.  Selection is still too broken
26682        to test anything though.
26683
26684        * rendering/InlineTextBox.cpp:
26685        (WebCore::InlineTextBox::selectionRect):
26686
266872010-10-25  Benjamin Poulain  <benjamin.poulain@nokia.com>
26688
26689        Reviewed by Antonio Gomes.
26690
26691        Typo in the TextureMapperGL
26692        https://bugs.webkit.org/show_bug.cgi?id=48241
26693
26694        Fix the typo.
26695
26696        * platform/graphics/opengl/TextureMapperGL.cpp:
26697        (WebCore::TextureMapperGL::TextureMapperGL):
26698
266992010-10-25  Pavel Feldman  <pfeldman@chromium.org>
26700
26701        Reviewed by Timothy Hatcher.
26702
26703        Web Inspector: slowly make old resources panel optional (continued).
26704        https://bugs.webkit.org/show_bug.cgi?id=48207
26705
26706        * inspector/front-end/Resource.js:
26707        (WebInspector.Resource.prototype.set url):
26708        * inspector/front-end/StoragePanel.js:
26709        (WebInspector.StoragePanel.prototype.get toolbarItemLabel):
26710        (WebInspector.StoragePanel.prototype.showResource):
26711        (WebInspector.StoragePanel.prototype.searchMatchFound):
26712        (WebInspector.StoragePanel.prototype._findTreeElementForResource):
26713        (WebInspector.StoragePanel.prototype._findTreeElementForResource.getParent):
26714        (WebInspector.BaseStorageTreeElement.prototype.onattach):
26715        * inspector/front-end/inspector.css:
26716        (.storage.panel .sidebar):
26717        (.storage.panel .sidebar li):
26718        (.storage.panel .sidebar li.parent):
26719        (.storage.panel .sidebar li.selected):
26720        (.storage.panel .sidebar li .selection):
26721        (.storage.panel .sidebar :focus li .selection):
26722        (body.inactive .storage.panel .sidebar li .selection):
26723        (.storage.panel .sidebar .icon):
26724
267252010-10-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
26726
26727        Reviewed by Kenneth Rohde Christiansen.
26728
26729        [Texmap] [Qt] Texture mapper initial implementation
26730        This patch adds the OpenGL implementation of TextureMapper. See the other entries from bug 47070 for details.
26731        https://bugs.webkit.org/show_bug.cgi?id=47070
26732
26733        No new tests. Part of a new implementation.
26734
26735        * platform/graphics/opengl/TextureMapperGL.cpp: Added.
26736        * platform/graphics/opengl/TextureMapperGL.h: Added.
26737
267382010-10-25  Peter Rybin  <peter.rybin@gmail.com>
26739
26740        Reviewed by Adam Barth.
26741
26742        HTML parser should provide script column position within HTML document to JavaScript engine
26743        https://bugs.webkit.org/show_bug.cgi?id=45271
26744
26745        Replaces line number with TextPosition struct so that script engine
26746        gets script starting line/column.
26747
26748        * ForwardingHeaders/wtf/text/TextPosition.h: Added.
26749        * bindings/js/ScriptSourceCode.h:
26750        (WebCore::ScriptSourceCode::ScriptSourceCode):
26751        * bindings/v8/ScheduledAction.cpp:
26752        (WebCore::ScheduledAction::ScheduledAction):
26753        * bindings/v8/ScriptController.cpp:
26754        (WebCore::ScriptController::eventHandlerPosition):
26755        * bindings/v8/ScriptController.h:
26756        * bindings/v8/ScriptEventListener.cpp:
26757        (WebCore::createAttributeEventListener):
26758        * bindings/v8/ScriptSourceCode.h:
26759        (WebCore::ScriptSourceCode::ScriptSourceCode):
26760        (WebCore::ScriptSourceCode::startLine):
26761        (WebCore::ScriptSourceCode::startPosition):
26762        * bindings/v8/V8LazyEventListener.cpp:
26763        (WebCore::V8LazyEventListener::V8LazyEventListener):
26764        (WebCore::V8LazyEventListener::prepareListenerObject):
26765        * bindings/v8/V8LazyEventListener.h:
26766        (WebCore::V8LazyEventListener::create):
26767        * bindings/v8/V8Proxy.cpp:
26768        (WebCore::V8Proxy::compileScript):
26769        (WebCore::V8Proxy::evaluate):
26770        (WebCore::V8Proxy::runScript):
26771        * bindings/v8/V8Proxy.h:
26772        * bindings/v8/WorkerContextExecutionProxy.cpp:
26773        (WebCore::WorkerContextExecutionProxy::evaluate):
26774        (WebCore::WorkerContextExecutionProxy::runScript):
26775        * bindings/v8/WorkerContextExecutionProxy.h:
26776        * bindings/v8/WorkerScriptController.cpp:
26777        (WebCore::WorkerScriptController::evaluate):
26778        * dom/PendingScript.cpp:
26779        (WebCore::PendingScript::releaseElementAndClear):
26780        * dom/PendingScript.h:
26781        (WebCore::PendingScript::PendingScript):
26782        (WebCore::PendingScript::operator=):
26783        (WebCore::PendingScript::startingPosition):
26784        * dom/ScriptableDocumentParser.h:
26785        * dom/XMLDocumentParser.h:
26786        * dom/XMLDocumentParserLibxml2.cpp:
26787        (WebCore::XMLDocumentParser::XMLDocumentParser):
26788        (WebCore::XMLDocumentParser::startElementNs):
26789        (WebCore::XMLDocumentParser::endElementNs):
26790        (WebCore::XMLDocumentParser::lineNumber):
26791        (WebCore::XMLDocumentParser::columnNumber):
26792        (WebCore::XMLDocumentParser::textPosition):
26793        (WebCore::XMLDocumentParser::textPositionOneBased):
26794        * dom/XMLDocumentParserQt.cpp:
26795        (WebCore::XMLDocumentParser::XMLDocumentParser):
26796        (WebCore::XMLDocumentParser::textPosition):
26797        (WebCore::XMLDocumentParser::parseStartElement):
26798        (WebCore::XMLDocumentParser::parseEndElement):
26799        * html/parser/HTMLDocumentParser.cpp:
26800        (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
26801        (WebCore::HTMLDocumentParser::textPosition):
26802        * html/parser/HTMLDocumentParser.h:
26803        * html/parser/HTMLScriptRunner.cpp:
26804        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
26805        (WebCore::HTMLScriptRunner::execute):
26806        (WebCore::HTMLScriptRunner::runScript):
26807        * html/parser/HTMLScriptRunner.h:
26808        * html/parser/HTMLTreeBuilder.cpp:
26809        (WebCore::uninitializedPositionValue1):
26810        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
26811        (WebCore::HTMLTreeBuilder::takeScriptToProcess):
26812        (WebCore::HTMLTreeBuilder::processEndTag):
26813        (WebCore::HTMLTreeBuilder::processScriptStartTag):
26814        * html/parser/HTMLTreeBuilder.h:
26815
268162010-10-24  Pavel Feldman  <pfeldman@chromium.org>
26817
26818        Reviewed by Timothy Hatcher.
26819
26820        Web Inspector: slowly make old resources panel optional.
26821        https://bugs.webkit.org/show_bug.cgi?id=48207
26822
26823        * inspector/front-end/AuditsPanel.js:
26824        (WebInspector.AuditsPanel.prototype._reloadResources):
26825        (WebInspector.AuditsPanel.prototype.show):
26826        * inspector/front-end/ExtensionServer.js:
26827        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
26828        * inspector/front-end/ResourcesPanel.js:
26829        * inspector/front-end/ScriptsPanel.js:
26830        (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
26831        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
26832        * inspector/front-end/inspector.js:
26833        (WebInspector._createPanels):
26834        (WebInspector.doLoadedDone.populateInspectorState):
26835        (WebInspector.doLoadedDone):
26836        (WebInspector.openResource):
26837        (WebInspector.updateResource):
26838        (WebInspector.domContentEventFired):
26839        (WebInspector.loadEventFired):
26840        (WebInspector.removeResource):
26841        (WebInspector.displayNameForURL):
26842        (WebInspector._choosePanelToShowSourceLine):
26843        (WebInspector.doPerformSearch):
26844
268452010-10-24  Pavel Feldman  <pfeldman@chromium.org>
26846
26847        Reviewed by Timothy Hatcher.
26848
26849        Web Inspector: add support for errors, warnings and search to the storage panel.
26850        https://bugs.webkit.org/show_bug.cgi?id=48206
26851
26852        * inspector/front-end/ConsoleView.js:
26853        (WebInspector.ConsoleView.prototype.addMessage):
26854        (WebInspector.ConsoleView.prototype.clearMessages):
26855        * inspector/front-end/Resource.js:
26856        (WebInspector.Resource.prototype.set errors):
26857        (WebInspector.Resource.prototype.set warnings):
26858        (WebInspector.Resource.prototype.get searchMatches):
26859        (WebInspector.Resource.prototype.set searchMatches):
26860        (WebInspector.Resource.prototype.clearErrorsAndWarnings):
26861        * inspector/front-end/ResourceManager.js:
26862        (WebInspector.ResourceManager):
26863        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
26864        (WebInspector.ResourceManager.prototype._createResource):
26865        (WebInspector.ResourceManager.prototype._appendRedirect):
26866        (WebInspector.ResourceManager.prototype.didReceiveResponse):
26867        (WebInspector.ResourceManager.prototype.didFinishLoading):
26868        (WebInspector.ResourceManager.prototype.didFailLoading):
26869        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
26870        (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
26871        (WebInspector.ResourceManager.prototype.frameDetachedFromParent):
26872        (WebInspector.ResourceManager.prototype._addFramesRecursively):
26873        (WebInspector.ResourceManager.prototype.resourceForURL):
26874        (WebInspector.ResourceManager.prototype.addConsoleMessage):
26875        (WebInspector.ResourceManager.prototype.clearConsoleMessages):
26876        (WebInspector.ResourceTreeModel):
26877        (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
26878        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
26879        (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
26880        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
26881        (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
26882        (WebInspector.ResourceTreeModel.prototype._clearResources):
26883        (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
26884        (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
26885        (WebInspector.ResourceTreeModel.prototype.resourceForURL):
26886        (WebInspector.ResourceTreeModel.prototype.forAllResources):
26887        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
26888        * inspector/front-end/StoragePanel.js:
26889        (WebInspector.StoragePanel):
26890        (WebInspector.StoragePanel.prototype.get toolbarItemLabel):
26891        (WebInspector.StoragePanel.prototype.reset):
26892        (WebInspector.StoragePanel.prototype.removeFrame):
26893        (WebInspector.StoragePanel.prototype.canShowSourceLine):
26894        (WebInspector.StoragePanel.prototype.showSourceLine):
26895        (WebInspector.StoragePanel.prototype.showResource):
26896        (WebInspector.StoragePanel.prototype._showResourceView):
26897        (WebInspector.StoragePanel.prototype.updateMainViewWidth):
26898        (WebInspector.StoragePanel.prototype.get searchableViews.callback):
26899        (WebInspector.StoragePanel.prototype.get searchableViews):
26900        (WebInspector.StoragePanel.prototype._forAllResourceTreeElements):
26901        (WebInspector.StoragePanel.prototype.searchMatchFound):
26902        (WebInspector.StoragePanel.prototype.searchCanceled.callback):
26903        (WebInspector.StoragePanel.prototype.searchCanceled):
26904        (WebInspector.StoragePanel.prototype.performSearch):
26905        (WebInspector.StoragePanel.prototype.showView):
26906        (WebInspector.BaseStorageTreeElement.prototype.onattach):
26907        (WebInspector.BaseStorageTreeElement.prototype.set titleText):
26908        (WebInspector.BaseStorageTreeElement.prototype.isEventWithinDisclosureTriangle):
26909        (WebInspector.FrameResourceTreeElement):
26910        (WebInspector.FrameResourceTreeElement.prototype.onselect):
26911        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
26912        (WebInspector.FrameResourceTreeElement.prototype.onattach):
26913        (WebInspector.FrameResourceTreeElement.prototype._ondragstart):
26914        (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
26915        (WebInspector.FrameResourceTreeElement.prototype._resetBubble):
26916        (WebInspector.FrameResourceTreeElement.prototype._searchMatchesUpdated):
26917        (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
26918        * inspector/front-end/inspector.css:
26919        (.storage.panel .sidebar):
26920        (.storage.panel .outline-disclosure li):
26921        (.storage.panel .outline-disclosure li.parent):
26922        (.storage.panel .outline-disclosure li .selection):
26923        (.storage.panel .outline-disclosure .icon):
26924        (.storage.panel .base-storage-tree-element-title):
26925        (.storage.panel .status):
26926        (.storage.panel li .status .bubble):
26927        (li .status):
26928        (li .status:empty):
26929        (li .status .bubble):
26930        (li .status .bubble:empty):
26931        (li.selected .status .bubble):
26932        (:focus li.selected .status .bubble):
26933        (body.inactive li.selected .status .bubble):
26934        (li.selected .bubble.search-matches):
26935        (:focus li.selected .bubble.search-matches):
26936        (body.inactive li.selected .bubble.search-matches):
26937
269382010-10-24  Csaba Osztrogonác  <ossy@webkit.org>
26939
26940        Reviewed by David Kilzer.
26941
26942        Fix Qt minimal build break revealed by r70413.
26943        https://bugs.webkit.org/show_bug.cgi?id=48185
26944
26945        * rendering/RenderMeter.h: Missing include added, needless include removed.
26946
269472010-10-20  Kinuko Yasuda  <kinuko@chromium.org>
26948
26949        Reviewed by Jian Li.
26950
26951        Renumber FileError/FileException error codes per latest File API spec changes
26952        https://bugs.webkit.org/show_bug.cgi?id=47936
26953
26954        * bindings/js/JSDOMBinding.cpp:
26955        (WebCore::setDOMException): Added FileExceptionType case.
26956        * bindings/v8/V8Proxy.cpp:
26957        (WebCore::V8Proxy::setDOMException): Added FileExceptionType case.
26958        * dom/ExceptionCode.cpp:
26959        (WebCore::getExceptionCodeDescription): Added code for FileException.
26960        * dom/ExceptionCode.h:
26961        * fileapi/AsyncFileWriterClient.h:
26962        * fileapi/DirectoryEntry.cpp:
26963        (WebCore::DirectoryEntry::getFile):
26964        (WebCore::DirectoryEntry::getDirectory):
26965        (WebCore::DirectoryEntry::removeRecursively):
26966        * fileapi/DirectoryEntrySync.cpp:
26967        (WebCore::DirectoryEntrySync::getFile):
26968        (WebCore::DirectoryEntrySync::getDirectory):
26969        (WebCore::DirectoryEntrySync::removeRecursively):
26970        * fileapi/DirectoryReaderSync.cpp:
26971        (WebCore::DirectoryReaderSync::readEntries):
26972        * fileapi/Entry.cpp:
26973        (WebCore::Entry::getMetadata):
26974        (WebCore::Entry::moveTo):
26975        (WebCore::Entry::copyTo):
26976        (WebCore::Entry::remove):
26977        (WebCore::Entry::getParent):
26978        * fileapi/EntrySync.cpp:
26979        (WebCore::EntrySync::getMetadata):
26980        (WebCore::EntrySync::moveTo):
26981        (WebCore::EntrySync::copyTo):
26982        (WebCore::EntrySync::remove):
26983        * fileapi/FileError.h: Added error code enum.
26984        (WebCore::FileError::create):
26985        (WebCore::FileError::code):
26986        (WebCore::FileError::FileError):
26987        * fileapi/FileError.idl: Rebased error code numbers.
26988        * fileapi/FileException.h: Added exception code enum.
26989        (WebCore::FileException::ErrorCodeToExceptionCode): Added.
26990        * fileapi/FileException.idl: Rebased exception code numbers.
26991        * fileapi/FileReader.cpp:
26992        (WebCore::FileReader::abort):
26993        (WebCore::FileReader::failed):
26994        (WebCore::FileReader::httpStatusCodeToErrorCode): Changed from
26995        httpStatuCodeToExceptionCode.
26996        * fileapi/FileReader.h:
26997        * fileapi/FileReaderSync.cpp:
26998        (WebCore::FileReaderSyncLoader::start):
26999        * fileapi/FileSystemCallbacks.cpp:
27000        (WebCore::FileSystemCallbacksBase::didFail):
27001        * fileapi/FileWriter.cpp:
27002        (WebCore::FileWriter::write):
27003        (WebCore::FileWriter::seek):
27004        (WebCore::FileWriter::truncate):
27005        (WebCore::FileWriter::abort):
27006        (WebCore::FileWriter::didFail):
27007        (WebCore::FileWriter::setError):
27008        * fileapi/FileWriter.h:
27009        * fileapi/SyncCallbackHelper.h:
27010        (WebCore::SyncCallbackHelper::SyncCallbackHelper):
27011        (WebCore::SyncCallbackHelper::getResult):
27012        (WebCore::SyncCallbackHelper::setError):
27013        * page/DOMWindow.cpp:
27014        (WebCore::DOMWindow::requestFileSystem):
27015        * workers/WorkerContext.cpp:
27016        (WebCore::WorkerContext::requestFileSystem):
27017        (WebCore::WorkerContext::requestFileSystemSync):
27018
270192010-10-24  Dan Bernstein  <mitz@apple.com>
27020
27021        Reviewed by Anders Carlsson.
27022
27023        Expose HitTestResult::absoluteMediaURL() via WebKit API
27024        https://bugs.webkit.org/show_bug.cgi?id=48219
27025
27026        * WebCore.exp.in: Export HitTestResult::absoluteMediaURL().
27027
270282010-10-24  Sam Weinig  <sam@webkit.org>
27029
27030        Reviewed by Dan Bernstein.
27031
27032        Need a way to determine the screen rect for a form control in WebKit2
27033        <rdar://problem/8530670>
27034        https://bugs.webkit.org/show_bug.cgi?id=48216
27035
27036        * WebCore.exp.in: Add export.
27037        * dom/Element.cpp:
27038        (WebCore::Element::boundsInWindowSpace):
27039        * dom/Element.h:
27040        Add function to return the bounding box in window (in ScrollView terminology) space,
27041        this is the same space as the root viewport.
27042
270432010-10-24  Andreas Kling  <kling@webkit.org>
27044
27045        Reviewed by Kenneth Rohde Christiansen.
27046
27047        [Qt] ImageBuffer::platformTransformColorSpace is unnecessarily slow
27048        https://bugs.webkit.org/show_bug.cgi?id=48211
27049
27050        Grab the QImage::bits() and do direct access instead of going through
27051        QImage::pixel() and QImage::setPixel().
27052
27053        This is a performance optimization, so no new tests.
27054
27055        * platform/graphics/qt/ImageBufferQt.cpp:
27056        (WebCore::ImageBuffer::platformTransformColorSpace):
27057
270582010-10-24  Dirk Schulze  <krit@webkit.org>
27059
27060        Reviewed by Nikolas Zimmermann.
27061
27062        Filter example Chiseled from SVG Wow! is slow
27063        https://bugs.webkit.org/show_bug.cgi?id=48174
27064
27065        Use a pointer to the ByteArray instead of the ref counted CanvasPixelArray or ImageData directly
27066        to access the data for pixel manipulation on SVG Filters or SVG Masker. This is a
27067        performance increase since the recurring use of the -> operator can be avoided.
27068        FEConvolveMatrix and FELighting still need to change in a followup patch.
27069
27070        No functionality was changed. So, no new tests.
27071
27072        * platform/graphics/filters/FEBlend.cpp:
27073        (WebCore::FEBlend::apply):
27074        * platform/graphics/filters/FEColorMatrix.cpp:
27075        (WebCore::luminance):
27076        (WebCore::effectType):
27077        (WebCore::FEColorMatrix::apply):
27078        * platform/graphics/filters/FEComponentTransfer.cpp:
27079        (WebCore::FEComponentTransfer::apply):
27080        * platform/graphics/filters/FEComposite.cpp:
27081        (WebCore::arithmetic):
27082        (WebCore::FEComposite::apply):
27083        * platform/graphics/filters/FEDisplacementMap.cpp:
27084        (WebCore::FEDisplacementMap::apply):
27085        * platform/graphics/filters/FEGaussianBlur.cpp:
27086        (WebCore::boxBlur):
27087        (WebCore::FEGaussianBlur::apply):
27088        * platform/graphics/filters/FEMorphology.cpp:
27089        (WebCore::FEMorphology::apply):
27090        * platform/graphics/filters/FETurbulence.cpp:
27091        (WebCore::FETurbulence::apply):
27092        * rendering/RenderSVGResourceMasker.cpp:
27093        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
27094
270952010-10-24  Pavel Feldman  <pfeldman@chromium.org>
27096
27097        Reviewed by Timothy Hatcher.
27098
27099        Web Inspector: polish network panel UI.
27100        https://bugs.webkit.org/show_bug.cgi?id=48205
27101
27102        * inspector/front-end/Images/frame.png:
27103        * inspector/front-end/Images/networkIcon.png:
27104        * inspector/front-end/NetworkPanel.js:
27105        (WebInspector.NetworkPanel.prototype._createTable):
27106        (WebInspector.NetworkPanel.prototype._setLargerResources):
27107        (WebInspector.NetworkPanel.prototype._toggleGridMode):
27108        * inspector/front-end/networkPanel.css:
27109        (.network.panel .data-grid td):
27110        (.network.panel .data-grid.small td):
27111        (#network-views .resource-view.headers-visible .resource-view-content):
27112        (#network-views.small .resource-view.headers-visible .resource-view-content):
27113        (#network-views .resource-view-headers):
27114        (#network-views.small .resource-view-headers):
27115        (#network-views .resource-view .tabbed-pane-header):
27116        (#network-views.small .resource-view .tabbed-pane-header):
27117
271182010-10-24  Nikolas Zimmermann  <nzimmermann@rim.com>
27119
27120        Reviewed by Dimitri Glazkov.
27121
27122        Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
27123        https://bugs.webkit.org/show_bug.cgi?id=48179
27124
27125        Fix WebGL tests. Accept 'boolean' as valid numeric type in StrictTypeChecking mode.
27126
27127        * bindings/scripts/CodeGeneratorJS.pm:
27128        * bindings/scripts/CodeGeneratorV8.pm:
27129
271302010-10-24  Nikolas Zimmermann  <nzimmermann@rim.com>
27131
27132        Reviewed by Dirk Schulze.
27133
27134        Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
27135        https://bugs.webkit.org/show_bug.cgi?id=48179
27136
27137        Speculative fix for the WebGL tests, I was not aware they're not run on Leopard, so I missed the breakage.
27138
27139        * bindings/scripts/CodeGeneratorJS.pm: Restore the order of type checking in the 'StrictTypeChecking' code.
27140        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
27141
271422010-10-23  Nikolas Zimmermann  <nzimmermann@rim.com>
27143
27144        Reviewed by Dirk Schulze.
27145
27146        Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
27147        https://bugs.webkit.org/show_bug.cgi?id=48179
27148
27149        Rewrite SVGAngle to use the new SVGPropertyTearOff concept, and consume much less memory.
27150        Down from two floats, one string and an ushort to one float and one ushort. Synchronize value/valueInSpecifiedUnits/valueAsString on demand.
27151
27152        Adding an extensive SVGAngle test, that required to implement 'StrictTypeChecking' for attribute setters (was only implemented in V8/JSC for function cals so far).
27153
27154        Test: svg/dom/SVGAngle.html
27155
27156        * GNUmakefile.am: Add SVGAnimatedAngle.h to build.
27157        * WebCore.gypi: Ditto.
27158        * WebCore.pro: Ditto.
27159        * WebCore.vcproj/WebCore.vcproj: Ditto.
27160        * WebCore.xcodeproj/project.pbxproj: Ditto.
27161        * bindings/scripts/CodeGenerator.pm: Split IsPrimitiveType in IsPrimitiveType and IsNumericType.
27162        * bindings/scripts/CodeGeneratorJS.pm: Implement 'StrictTypeChecking' for setters and recognize SVGAngle as new SVGPropertyTearOff type.
27163        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
27164        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
27165        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAngle handling.
27166        * svg/DeprecatedSVGAnimatedTemplate.h: Remove SVGAnimatedAngle handling.
27167        * svg/SVGAngle.cpp: Rewrite, to consume less memory and to operate more efficient.
27168        * svg/SVGAngle.h: Ditto.
27169        * svg/SVGAngle.idl: Add 'StrictTypeChecking' to the value/valueInSpecifiedUnits methods.
27170        * svg/SVGAnimatedAngle.h: Added.
27171        * svg/SVGAnimatedAngle.idl: Mark as [SVGAnimatedProperty].
27172        * svg/SVGMarkerElement.cpp:
27173        (WebCore::SVGMarkerElement::parseMappedAttribute): SVGAngle::setValueAsString() now takes an ExceptionCode parameter.
27174        * svg/SVGMarkerElement.h: s/ANIMATED_PROPERTY/ANIMATED_PROPERTY_NEW/ for the SVGAngle type.
27175        * svg/SVGNumber.idl: Remove exception setter exceptions, which aren't needed. As we're now generating exception handlers in the bindings, it would lead to compile errors.
27176        * svg/SVGPoint.idl: Ditto.
27177        * svg/SVGRect.idl: Ditto.
27178        * svg/SVGSVGElement.idl: Remove obsolete [SVGLiveProperty] flag.
27179
271802010-10-23  Daniel Bates  <dbates@rim.com>
27181
27182        Reviewed by Adam Barth.
27183
27184        Remove unused method HTMLFrameElementBase::setNameAndOpenURLCallback()
27185        https://bugs.webkit.org/show_bug.cgi?id=48197
27186
27187        With the landing of the patch for bug #45365 in
27188        changeset 67182 <http://trac.webkit.org/changeset/67182>, 
27189        HTMLFrameElementBase::setNameAndOpenURLCallback() is not needed.
27190        Therefore, we remove it.
27191
27192        Before changeset 67182, HTMLFrameElementBase::attach() set up a post-attach
27193        callback to HTMLFrameElementBase::setNameAndOpenURLCallback(). Changeset 67182
27194        removed this callback.
27195
27196        No functionality was changed. So, no new tests.
27197
27198        * html/HTMLFrameElementBase.cpp: Remove HTMLFrameElementBase::setNameAndOpenURLCallback().
27199        * html/HTMLFrameElementBase.h: Ditto.
27200
272012010-10-23  Xan Lopez  <xlopez@igalia.com>
27202
27203        Reviewed by Sam Weinig.
27204
27205        Unify globalData APIs
27206        https://bugs.webkit.org/show_bug.cgi?id=47969
27207
27208        Adapt code to JSGlobalObject::globalData returning a reference
27209        instead of a pointer.
27210
27211        * bindings/js/JSCallbackData.cpp:
27212        (WebCore::JSCallbackData::invokeCallback):
27213        * bindings/js/JSCustomXPathNSResolver.cpp:
27214        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
27215        * bindings/js/JSEventListener.cpp:
27216        (WebCore::JSEventListener::handleEvent):
27217        * bindings/js/JSWorkerContextCustom.cpp:
27218        (WebCore::JSWorkerContext::markChildren):
27219        * bindings/js/JSWorkerContextErrorHandler.cpp:
27220        (WebCore::JSWorkerContextErrorHandler::handleEvent):
27221        * bindings/js/ScheduledAction.cpp:
27222        (WebCore::ScheduledAction::executeFunctionInContext):
27223        * bindings/js/WorkerScriptController.cpp:
27224        (WebCore::WorkerScriptController::evaluate):
27225        * bridge/NP_jsobject.cpp:
27226        (_NPN_InvokeDefault):
27227        (_NPN_Invoke):
27228        (_NPN_Evaluate):
27229        (_NPN_Construct):
27230
272312010-10-23  Alexey Proskuryakov  <ap@apple.com>
27232
27233        Windows debug build fix.
27234
27235        * platform/network/cf/CookieStorageCFNet.cpp: Include MainThread.h for isMainThread().
27236
272372010-10-23  Alexey Proskuryakov  <ap@apple.com>
27238
27239        Windows build fix.
27240
27241        * platform/network/cf/CookieStorageCFNet.cpp:
27242        (WebCore::setCookieStoragePrivateBrowsingEnabled): It's adoptCF, not adoptPtr.
27243
272442010-10-23  Alexey Proskuryakov  <ap@apple.com>
27245
27246        Reviewed by Anders Carlsson.
27247
27248        https://bugs.webkit.org/show_bug.cgi?id=48083
27249        <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
27250
27251        * GNUmakefile.am:
27252        * WebCore.gypi:
27253        * WebCore.pro:
27254        * WebCore.vcproj/WebCore.vcproj:
27255        Added CookieStorage.h to build files that contain headers.
27256
27257        * WebCore.xcodeproj/project.pbxproj: Added CookieStorage.h and CookieStorageMac.mm.
27258
27259        * WebCore.exp.in: Export _wkSetCookieStoragePrivateBrowsingEnabled (WebKit initializes WKSI
27260        on WebCore's behalf).
27261
27262        * platform/mac/WebCoreSystemInterface.h:
27263        * platform/mac/WebCoreSystemInterface.mm:
27264        More work for passing the function pointer down to WebCore.
27265
27266        * page/Settings.cpp: (WebCore::Settings::setPrivateBrowsingEnabled): Tell cookie manager to
27267        when to use private browsing mode. Note that although this is a per-page setting, it
27268        actually has global effect.
27269
27270        * page/Settings.h: Extended a comment about what private browsing does.
27271
27272        * platform/android/TemporaryLinkStubs.cpp: (setCookieStoragePrivateBrowsingEnabled):
27273        * platform/chromium/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
27274        * platform/efl/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
27275        * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
27276        * platform/haiku/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
27277        * platform/qt/TemporaryLinkStubsQt.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
27278        Added an empty implementation for ports that don't implement private browsing, or implement
27279        it in ways I cannot discover.
27280
27281        * platform/network/CookieStorage.h: Added. I'm not entirely sure how this is different from
27282        CookieJar.h, just following a precedent already set by Windows port with CookieStorageWin.h.
27283
27284        * platform/network/mac/CookieStorageMac.mm: Added.
27285        (WebCore::setCookieStoragePrivateBrowsingEnabled): Call a WKSI function to enable private
27286        browsing mode for cookies.
27287
27288        * platform/network/cf/CookieStorageCFNet.cpp:
27289        (WebCore::currentCookieStorage): Added ASSERT(isMainThread()).
27290        (WebCore::setCurrentCookieStorage): Ditto.
27291        (WebCore::setCookieStoragePrivateBrowsingEnabled): Set cookie storage to a private one
27292        when in private browsing mode. ResourceHandle applies the storage to each individual request.
27293
27294        * platform/network/cf/CookieStorageCFNet.h: Added a comment explaining that these functions
27295        are only for WebKit1.
27296
272972010-10-23  David Kilzer  <ddkilzer@apple.com>
27298
27299        <http://webkit.org/b/48181> Add missing include of MacErrors.h
27300
27301        Reviewed by Alexey Proskuryakov.
27302
27303        * platform/network/mac/FormDataStreamMac.mm: Added #import of
27304        <MacErrors.h> for iOS since the formOpen() method uses "fnfErr",
27305        which was added in r55670.  The same header is included through
27306        <CoreServices/CoreServices.h> on Mac OS X.
27307
273082010-10-23  Patrick Gansterer  <paroga@webkit.org>
27309
27310        Reviewed by David Kilzer.
27311
27312        [WINCE] Port COMPtr.h to WinCE
27313        https://bugs.webkit.org/show_bug.cgi?id=48190
27314
27315        Don't include guiddef.h on WinCE. It's not required and only creates build problems.
27316
27317        * platform/win/COMPtr.h:
27318
273192010-10-23  Patrick Gansterer  <paroga@webkit.org>
27320
27321        Reviewed by David Kilzer.
27322
27323        [WINCE] Rename SharedBitmap::createInstance to SharedBitmap::create
27324        https://bugs.webkit.org/show_bug.cgi?id=48180
27325
27326        Also use better arguments for the create function.
27327
27328        * platform/graphics/wince/GraphicsContextWinCE.cpp:
27329        (WebCore::GraphicsContextPlatformPrivate::getTransparentLayerBitmap):
27330        (WebCore::TransparentLayerDC::TransparentLayerDC):
27331        (WebCore::GraphicsContext::drawFrameControl):
27332        * platform/graphics/wince/ImageBufferWinCE.cpp:
27333        (WebCore::ImageBufferData::ImageBufferData):
27334        * platform/graphics/wince/ImageWinCE.cpp:
27335        (WebCore::RGBA32Buffer::asNewNativeImage):
27336
273372010-10-23  Dimitri Glazkov  <dglazkov@chromium.org>
27338
27339        Unreviewed, rolling out r70369.
27340        http://trac.webkit.org/changeset/70369
27341        https://bugs.webkit.org/show_bug.cgi?id=47974
27342
27343        Caused weird artifacts in expected results.
27344
27345        * WebCore.gyp/WebCore.gyp:
27346        * WebCore.gypi:
27347        * loader/CachedImage.cpp:
27348        (WebCore::CachedImage::createImage):
27349        * platform/graphics/ImageSource.h:
27350        * platform/image-decoders/ImageDecoder.cpp:
27351        (WebCore::RGBA32Buffer::operator=):
27352        (WebCore::RGBA32Buffer::clear):
27353        (WebCore::RGBA32Buffer::zeroFill):
27354        (WebCore::RGBA32Buffer::copyBitmapData):
27355        (WebCore::RGBA32Buffer::setSize):
27356        * platform/image-decoders/ImageDecoder.h:
27357        (WebCore::RGBA32Buffer::getAddr):
27358        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
27359        (WebCore::RGBA32Buffer::asNewNativeImage):
27360        * platform/image-decoders/cg/ImageDecoderCG.cpp: Removed.
27361        * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
27362        (WebCore::RGBA32Buffer::asNewNativeImage):
27363        * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
27364        (WebCore::RGBA32Buffer::asNewNativeImage):
27365        * platform/image-decoders/wx/ImageDecoderWx.cpp:
27366        (WebCore::RGBA32Buffer::asNewNativeImage):
27367
273682010-10-23  Adam Barth  <abarth@webkit.org>
27369
27370        Reviewed by Andreas Kling.
27371
27372        WebP decoding hits ASSERT
27373        https://bugs.webkit.org/show_bug.cgi?id=48168
27374
27375        Calling reserveCapacity only allocates the memory.  It doesn't actually
27376        set the length.  When you try to access the zeroth element, you hit an
27377        ASSERT.
27378
27379        Covered by fast/images/webp-image-decoding.html in debug.
27380
27381        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
27382        (WebCore::WEBPImageDecoder::decode):
27383
273842010-10-23  Martin Robinson  <mrobinson@igalia.com>
27385
27386        Reviewed by Xan Lopez.
27387
27388        [GTK] Menu list buttons do react properly to CSS styling
27389        https://bugs.webkit.org/show_bug.cgi?id=48099
27390
27391        Correct the way that menu list buttons get their necessary padding from
27392        GTK+. Instead of resetting the padding to these values, return them via
27393        the popupInternalPadding* methods. Add implementations for *MenuListButton*
27394        methods.
27395
27396        * platform/gtk/RenderThemeGtk.cpp:
27397        (WebCore::getComboBoxPadding): Added.
27398        (WebCore::RenderThemeGtk::popupInternalPaddingLeft): Added.
27399        (WebCore::RenderThemeGtk::popupInternalPaddingRight): Added.
27400        (WebCore::RenderThemeGtk::popupInternalPaddingTop): Added.
27401        (WebCore::RenderThemeGtk::popupInternalPaddingBottom): Added.
27402        (WebCore::RenderThemeGtk::adjustMenuListStyle): Do not reset CSS
27403        properties, instead rely on the poupInternalPadding* methods.
27404        (WebCore::RenderThemeGtk::adjustMenuListButtonStyle): Added.
27405        (WebCore::RenderThemeGtk::paintMenuListButton): Added.
27406        * platform/gtk/RenderThemeGtk.h: Added new method declarations.
27407
274082010-10-23  Patrick Gansterer  <paroga@webkit.org>
27409
27410        Reviewed by David Kilzer.
27411
27412        Add Gradient::hasAlpha
27413        https://bugs.webkit.org/show_bug.cgi?id=48183
27414
27415        WinCE can do some performance improvements if the gradient is opaque.
27416
27417        * platform/graphics/Gradient.cpp:
27418        (WebCore::Gradient::hasAlpha):
27419        * platform/graphics/Gradient.h:
27420
274212010-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
27422
27423        Reviewed by David Kilzer.
27424
27425        [EFL] Implement platformDefaultLanguage() 
27426        https://bugs.webkit.org/show_bug.cgi?id=48113
27427
27428        Implement the platformDefaultLanguage() function for EFL port.
27429
27430        * platform/efl/LanguageEfl.cpp:
27431        (WebCore::platformDefaultLanguage):
27432
274332010-10-23  Sheriff Bot  <webkit.review.bot@gmail.com>
27434
27435        Unreviewed, rolling out r70367.
27436        http://trac.webkit.org/changeset/70367
27437        https://bugs.webkit.org/show_bug.cgi?id=48176
27438
27439        It made 8-10 tests crash on Qt bot (Requested by Ossy on
27440        #webkit).
27441
27442        * loader/MainResourceLoader.cpp:
27443        (WebCore::MainResourceLoader::MainResourceLoader):
27444        (WebCore::MainResourceLoader::continueAfterContentPolicy):
27445        (WebCore::MainResourceLoader::didReceiveResponse):
27446        (WebCore::MainResourceLoader::setDefersLoading):
27447        * loader/MainResourceLoader.h:
27448
274492010-10-22  Andy Estes  <aestes@apple.com>
27450
27451        Reviewed by Adam Roben and Sam Weinig.
27452
27453        WebKit shouldn't load a plug-in based on file extension if a MIME type
27454        is specified.
27455        https://bugs.webkit.org/show_bug.cgi?id=48046
27456
27457        The fix landed in r70332 only covered the Mac port. Implement this fix
27458        for other ports as well.
27459
27460        * plugins/PluginDatabase.cpp:
27461        (WebCore::PluginDatabase::findPlugin):
27462
274632010-10-21  Adam Barth  <abarth@webkit.org>
27464
27465        Reviewed by Eric Seidel, Peter Kasting, and Darin Fisher.
27466        (Eric reviewed the CoreGraphics interactions, Peter reviewed the image
27467        decoder interaction, and Darin Fisher SGTMed the policy decision.)
27468
27469        [chromium] Chromium Mac should use WebKit's image decoders
27470        https://bugs.webkit.org/show_bug.cgi?id=47974
27471
27472        This patch teaches WebKit's image decoders how to talk to CoreGraphics.
27473        This patch doesn't handle color profiles, but that will come in a
27474        subsequent patch.
27475
27476        * WebCore.gyp/WebCore.gyp:
27477        * WebCore.gypi:
27478        * loader/CachedImage.cpp:
27479        (WebCore::CachedImage::createImage):
27480        * platform/graphics/ImageSource.h:
27481        * platform/image-decoders/ImageDecoder.cpp:
27482        (WebCore::RGBA32Buffer::clear):
27483        (WebCore::RGBA32Buffer::zeroFill):
27484        (WebCore::RGBA32Buffer::copyBitmapData):
27485        (WebCore::RGBA32Buffer::setSize):
27486        * platform/image-decoders/ImageDecoder.h:
27487        (WebCore::RGBA32Buffer::getAddr):
27488        * platform/image-decoders/cg: Added.
27489        * platform/image-decoders/cg/ImageDecoderCG.cpp: Added.
27490        (WebCore::RGBA32Buffer::copyBitmapData):
27491        (WebCore::RGBA32Buffer::setSize):
27492        (WebCore::RGBA32Buffer::asNewNativeImage):
27493
274942010-10-20  Anders Carlsson  <andersca@apple.com>
27495
27496        Reviewed by Adam Barth and Darin Adler.
27497
27498        Using the decidePolicyForMIMEType delegate message in an asynchronous manner does not work
27499        https://bugs.webkit.org/show_bug.cgi?id=48014
27500        <rdar://problem/8202716>
27501
27502        * loader/MainResourceLoader.cpp:
27503        (WebCore::MainResourceLoader::continueAfterContentPolicy):
27504        Resume loading.
27505
27506        (WebCore::MainResourceLoader::didReceiveResponse):
27507        Defer loading until we hear back from the policy client.
27508
275092010-10-22  James Robinson  <jamesr@chromium.org>
27510
27511        Reviewed by Dimitri Glazkov.
27512
27513        REGRESSION(66391): http://ligth-arts.all-up.com/ crashes in EventHandler::selectCursor
27514        https://bugs.webkit.org/show_bug.cgi?id=47942
27515
27516        Add checks for a NULL StyleImage in a CursorList.
27517
27518        * css/CSSComputedStyleDeclaration.cpp:
27519        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
27520        * css/CSSStyleSelector.cpp:
27521        (WebCore::CSSStyleSelector::loadPendingImages):
27522        * page/EventHandler.cpp:
27523        (WebCore::EventHandler::selectCursor):
27524        * rendering/style/CursorList.h:
27525        (WebCore::CursorList::at):
27526        * manual-tests/cursor-empty-url.html: Added.
27527        * manual-tests/resources/cursor-empty-url.css: Added.
27528
275292010-10-22  David Hyatt  <hyatt@apple.com>
27530
27531        Reviewed by Adele Peterson.
27532
27533        https://bugs.webkit.org/show_bug.cgi?id=48156
27534
27535        Make vertical lines hit test properly and show a vertical i-beam cursor.  Numerous bugs with overflow were discovered while getting this to work,
27536        so these are in the patch as well.  The broken layout tests are fixed by the overflow bug fixes as well (which just restore the old behavior).
27537
27538        * page/EventHandler.cpp:
27539        (WebCore::EventHandler::selectCursor):
27540        * rendering/InlineBox.h:
27541        (WebCore::InlineBox::width):
27542        (WebCore::InlineBox::height):
27543        * rendering/InlineFlowBox.cpp:
27544        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
27545        (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
27546        (WebCore::InlineFlowBox::nodeAtPoint):
27547        * rendering/InlineFlowBox.h:
27548        (WebCore::InlineFlowBox::logicalTopVisibleOverflow):
27549        (WebCore::InlineFlowBox::logicalBottomVisibleOverflow):
27550        (WebCore::InlineFlowBox::visibleOverflowRect):
27551        (WebCore::InlineFlowBox::layoutOverflowRect):
27552        (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
27553        (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
27554        (WebCore::InlineFlowBox::visualOverflowRect):
27555        (WebCore::InlineFlowBox::logicalTopVisualOverflow):
27556        (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
27557        (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
27558        * rendering/InlineTextBox.cpp:
27559        (WebCore::InlineTextBox::nodeAtPoint):
27560        * rendering/RenderBox.cpp:
27561        (WebCore::RenderBox::blockDirectionOverflow):
27562        * rendering/RenderBox.h:
27563        * rendering/RenderLineBoxList.cpp:
27564        (WebCore::RenderLineBoxList::hitTest):
27565
275662010-10-22  Dan Bernstein  <mitz@apple.com>
27567
27568        Reviewed by Anders Carlsson.
27569
27570        <rdar://problem/8251616> Layout not updating in a subtree when a scrollbar is hidden in a flexbox descendant
27571        https://bugs.webkit.org/show_bug.cgi?id=48154
27572
27573        Test: scrollbars/hidden-scrollbar-prevents-layout.html
27574
27575        updateScrollInfoAfterLayout() calling setHasHorizontalScrollbar() caused updateScrollbarParts()
27576        to call setChildNeedsLayout() on the overflow, because the RenderScrollbar was created with
27577        the default thickness instead of the thickness specified in style. This led to the the overflow’s
27578        parent to be re-marked for layout during its own parent’s finishDelayUpdateScrollInfo(), and
27579        the result was that at the end of RenderView::layout(), there was a dirty renderer.
27580
27581        * rendering/RenderScrollbar.cpp:
27582        (WebCore::RenderScrollbar::RenderScrollbar): Set the frame size in the 'display: none' and
27583        'visibility: hidden' cases as well.
27584
275852010-10-22  Patrick Gansterer  <paroga@webkit.org>
27586
27587        Unreviewed.
27588
27589        [WINCE] Build fix after r70143.
27590
27591        * platform/graphics/wince/ImageBufferWinCE.cpp:
27592        (WebCore::ImageBuffer::ImageBuffer):
27593
275942010-10-22  Adam Roben  <aroben@apple.com>
27595
27596        Windows build fix
27597
27598        r70319 added Windows-native versions of the various platform/network
27599        headers to platform/network/win. WebCoreGenerated was copying these
27600        headers over the CFNetwork-specific versions in $WebKitOutputDir,
27601        leading to the wrong headers being used in WebKit.
27602
27603        This patch changes WebCoreGenerated not to copy any headers from
27604        platform/network/win into $WebKitOutputDir. Instead, only headers from
27605        platform/network/cf or platform/network/curl (as specified) are copied.
27606        There were some CFNetwork-specific files still hanging around in
27607        platform/network/win; these have been moved to platform/network/cf.
27608
27609        * WebCore.vcproj/WebCore.vcproj: Updated for file moves and let VS
27610        * format the file as it saw fit.
27611
27612        * WebCore.vcproj/WebCoreGenerated.vcproj: Added the various scripts
27613        * this project uses to make editing them easier.
27614
27615        * WebCore.vcproj/copyForwardingHeaders.cmd: Changed not to copy any
27616        * headers from platform/network/win.
27617
27618        * platform/network/cf/CookieJarCFNet.cpp: Renamed from WebCore/platform/network/win/CookieJarCFNetWin.cpp.
27619        * platform/network/cf/CookieStorageCFNet.cpp: Renamed from WebCore/platform/network/win/CookieStorageWin.cpp.
27620        * platform/network/cf/CookieStorageCFNet.h: Renamed from WebCore/platform/network/win/CookieStorageWin.h.
27621
27622        * platform/network/cf/ResourceHandleCFNet.cpp: Updated for rename.
27623
27624        * platform/network/cf/AuthenticationChallenge.h:
27625        * platform/network/cf/ResourceError.h:
27626        * platform/network/cf/ResourceRequest.h:
27627        * platform/network/cf/ResourceResponse.h:
27628        * platform/network/cf/SocketStreamError.h:
27629        * platform/network/cf/SocketStreamHandle.h:
27630        Touched to force a re-copy.
27631
276322010-10-22  Abhishek Arya  <inferno@chromium.org>
27633
27634        Reviewed by Dave Hyatt.
27635
27636        Add code in getMatchedCSSRules to block cross origin access to stylesheet data. Prevent access
27637        in Javascript to non author stylesheets.
27638        https://bugs.webkit.org/show_bug.cgi?id=46853
27639
27640        Tests: http/tests/security/cross-origin-getMatchedCSSRules.html
27641               http/tests/security/cross-origin-getMatchedCSSRules2.html
27642
27643        * css/CSSRule.h:
27644        * css/CSSStyleSelector.cpp:
27645        (WebCore::CSSStyleSelector::matchRulesForList):
27646        (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
27647        (WebCore::CSSStyleSelector::styleRulesForElement):
27648        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
27649        * css/CSSStyleSelector.h:
27650        * page/DOMWindow.cpp:
27651        (WebCore::DOMWindow::getMatchedCSSRules):
27652        * page/DOMWindow.idl:
27653
276542010-10-22  Sam Weinig  <sam@webkit.org>
27655
27656        Reviewed by Anders Carlsson.
27657
27658        WebKit2 needs to pass the current event modifier flags when requesting a new window
27659        https://bugs.webkit.org/show_bug.cgi?id=48140
27660
27661        Store the NavigationAction used for the newWindowPolicyDecision in the PolicyCallback
27662        so that it can be used after the decision has been made in further callbacks.
27663
27664        * WebCore.exp.in: Fix export name for new function signature.
27665        * loader/EmptyClients.h:
27666        (WebCore::EmptyChromeClient::createWindow):
27667        (WebCore::EmptyFrameLoaderClient::dispatchCreatePage):
27668        * loader/FrameLoader.cpp:
27669        (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
27670        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
27671        (WebCore::createWindow):
27672        * loader/FrameLoader.h:
27673        * loader/FrameLoaderClient.h:
27674        * loader/PolicyCallback.cpp:
27675        (WebCore::PolicyCallback::set):
27676        (WebCore::PolicyCallback::call):
27677        (WebCore::PolicyCallback::cancel):
27678        * loader/PolicyCallback.h:
27679        * loader/PolicyChecker.cpp:
27680        (WebCore::PolicyChecker::checkNewWindowPolicy):
27681        * page/Chrome.cpp:
27682        (WebCore::Chrome::createWindow):
27683        * page/Chrome.h:
27684        * page/ChromeClient.h:
27685        * page/ContextMenuController.cpp:
27686        (WebCore::openNewWindow):
27687
276882010-10-22  David Hyatt  <hyatt@apple.com>
27689
27690        Reviewed by Sam Weinig.
27691
27692        https://bugs.webkit.org/show_bug.cgi?id=48149
27693        
27694        Update block direction line overflow computation to be writing-mode-aware.
27695
27696        * rendering/InlineBox.h:
27697        (WebCore::InlineBox::logicalBottom):
27698        * rendering/InlineFlowBox.cpp:
27699        (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
27700        * rendering/InlineFlowBox.h:
27701        (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
27702        (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
27703        * rendering/RenderBlockLineLayout.cpp:
27704        (WebCore::RenderBlock::layoutInlineChildren):
27705        * rendering/RenderBox.cpp:
27706        (WebCore::RenderBox::blockDirectionOverflow):
27707        * rendering/RenderBox.h:
27708        * rendering/RootInlineBox.cpp:
27709        (WebCore::RootInlineBox::addHighlightOverflow):
27710        * rendering/style/RenderStyle.h:
27711        (WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
27712        (WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
27713        (WebCore::InheritedFlags::getShadowBlockDirectionExtent):
27714
277152010-10-22  Adam Barth  <abarth@webkit.org>
27716
27717        Reviewed by Eric Seidel.
27718
27719        ASSERT while viewing Google C++ style guide
27720        https://bugs.webkit.org/show_bug.cgi?id=48148
27721
27722        This code used to stop the parser twice.  Instead of reaching in an
27723        trying to stop the parser manually, we now just let close() do the work
27724        for us.
27725
27726        Test: fast/xsl/transform-to-html.xml
27727
27728        * xml/XSLTProcessor.cpp:
27729        (WebCore::XSLTProcessor::createDocumentFromSource):
27730
277312010-10-22  Patrick Gansterer  <paroga@webkit.org>
27732
27733        Reviewed by Adam Roben.
27734
27735        [WINCE] Implement GraphicsContext::(get|release)WindowsContext
27736        https://bugs.webkit.org/show_bug.cgi?id=48136
27737
27738        * platform/graphics/wince/GraphicsContextWinCE.cpp:
27739        (WebCore::GraphicsContext::getWindowsContext):
27740        (WebCore::GraphicsContext::releaseWindowsContext):
27741
277422010-10-22  Adam Roben  <aroben@apple.com>
27743
27744        Attempt to fix the Windows build
27745
27746        * platform/network/win/CookieJarCFNetWin.cpp: Add a missing #include.
27747
277482010-10-22  Cosmin Truta  <ctruta@chromium.org>
27749
27750        Reviewed by Dirk Schulze.
27751
27752        getBoundingClientRect does not work with SVG <text>
27753        https://bugs.webkit.org/show_bug.cgi?id=46775
27754
27755        Added back to SVGStyledTransformableElement overloads of the following
27756        methods: nearestViewportElement, farthestViewportElement, getBBox.
27757        This was necessary to appease the Visual C++ compiler, which warned on
27758        inheritance via dominance.
27759
27760        * svg/SVGStyledTransformableElement.cpp:
27761        * svg/SVGStyledTransformableElement.h:
27762        (SVGStyledTransformableElement::nearestViewportElement):
27763        (SVGStyledTransformableElement::farthestViewportElement):
27764        (SVGStyledTransformableElement::getBBox):
27765
277662010-10-21  Chris Marrin  <cmarrin@apple.com>
27767
27768        Reviewed by Adam Roben.
27769
27770        Content in <iframe> doesn't appear when going back to http://webkit.org/blog/386/3d-transforms/
27771        https://bugs.webkit.org/show_bug.cgi?id=32447
27772
27773        Added documentDidBecomeActive() when document comes back from cache to cause compositing
27774        layers in iframes to be reattached.
27775
27776        There is no layout test, but I added a manual test. This test is ready to be a layout test
27777        but currently DRT disables the WebCore page cache, so the back/forward essentially do a 
27778        page load which does not exhibit the bug.
27779
27780        * history/CachedFrame.cpp:
27781        (WebCore::CachedFrameBase::restore):
27782        * manual-tests/compositing/show-composited-iframe-on-back-button.html: Added.
27783
277842010-10-22  Patrick Gansterer  <paroga@webkit.org>
27785
27786        Reviewed by Adam Roben.
27787
27788        [WIN] Add Windows specific files for platform/network/win
27789        https://bugs.webkit.org/show_bug.cgi?id=27376
27790
27791        * platform/network/win/AuthenticationChallenge.h: Added.
27792        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
27793        * platform/network/win/ResourceError.h: Added.
27794        (WebCore::ResourceError::ResourceError):
27795        * platform/network/win/ResourceRequest.h: Added.
27796        (WebCore::ResourceRequest::ResourceRequest):
27797        (WebCore::ResourceRequest::doUpdatePlatformRequest):
27798        (WebCore::ResourceRequest::doUpdateResourceRequest):
27799        (WebCore::ResourceRequest::doPlatformCopyData):
27800        (WebCore::ResourceRequest::doPlatformAdopt):
27801        * platform/network/win/ResourceResponse.h: Added.
27802        (WebCore::ResourceResponse::ResourceResponse):
27803        (WebCore::ResourceResponse::doPlatformCopyData):
27804        (WebCore::ResourceResponse::doPlatformAdopt):
27805
278062010-10-22  Adam Barth  <abarth@webkit.org>
27807
27808        Unreviewed, rolling out r70290.
27809        http://trac.webkit.org/changeset/70290
27810        https://bugs.webkit.org/show_bug.cgi?id=48111
27811
27812        Undelete Android build files.
27813
27814        * Android.mk: Added.
27815
278162010-10-22  Cosmin Truta  <ctruta@chromium.org>
27817
27818        Reviewed by Nikolas Zimmermann.
27819
27820        getBoundingClientRect does not work with SVG <text>
27821        https://bugs.webkit.org/show_bug.cgi?id=46775
27822
27823        Dispatched the calls from Element::getBoundingClientRect to getBBox
27824        through SVGElement::boundingBox.
27825        Recognized SVGTextElement in addition to SVGStyledLocatableElement
27826        as a class that provides getBBox.
27827        Fixed the result of zooming: adjusted the getBoundingClientRect rectangle
27828        for absolute zoom, even for SVG elements.
27829
27830        Additional cleanup task:
27831        Removed redundant overloads of SVGStyledTransformableElement
27832        methods: nearestViewportElement, farthestViewportElement, getBBox.
27833        These methods are already inherited from SVGStyledLocatableElement.
27834
27835        Test: css3/zoom-coords.xhtml
27836
27837        * WebCore.xcodeproj/project.pbxproj: Set role of SVGLocatable.h to private.
27838        * dom/Element.cpp:
27839        (Element::getBoundingClientRect): Used SVGElement::boundingBox.
27840        Adjusted coordinates for absolute zoom, for all kinds of elements.
27841        * svg/SVGElement.cpp:
27842        * svg/SVGElement.h:
27843        (SVGElement::boundingBox): Added.
27844        * svg/SVGStyledTransformableElement.cpp:
27845        * svg/SVGStyledTransformableElement.h:
27846        (SVGStyledTransformableElement::nearestViewportElement): Removed.
27847        (SVGStyledTransformableElement::farthestViewportElement): Removed.
27848        (SVGStyledTransformableElement::getBBox): Removed.
27849
278502010-10-22  Patrick Gansterer  <paroga@webkit.org>
27851
27852        Reviewed by Adam Roben.
27853
27854        [WIN] Add stubs for SocketStream classes
27855        https://bugs.webkit.org/show_bug.cgi?id=47983
27856
27857        * platform/network/win/SocketStreamError.h: Copied from WebCore/platform/network/curl/SocketStreamError.h.
27858        (WebCore::SocketStreamError::SocketStreamError):
27859        * platform/network/win/SocketStreamHandle.h: Copied from WebCore/platform/network/curl/SocketStreamHandle.h.
27860        (WebCore::SocketStreamHandle::create):
27861        * platform/network/win/SocketStreamHandleWin.cpp: Copied from WebCore/platform/network/curl/SocketStreamHandleCurl.cpp.
27862
278632010-10-22  Patrick Gansterer  <paroga@webkit.org>
27864
27865        Reviewed by Adam Roben.
27866
27867        Disable cache in ResourceHandleWin
27868        https://bugs.webkit.org/show_bug.cgi?id=48128
27869
27870        The caching of windows does not work correctly, so disable it for now.
27871
27872        * platform/network/win/ResourceHandleWin.cpp:
27873        (WebCore::ResourceHandle::start):
27874
278752010-10-22  Jia Pu  <jpu@apple.com>
27876
27877        Reviewed by Dan Bernstein.
27878
27879        Regression (r69548): cancelled autocorrection suggestion is still applied.
27880        https://bugs.webkit.org/show_bug.cgi?id=48081
27881        <rdar://problem/8579765>
27882        
27883        The test requires a 0.3 second delay using setTimeout(). So we put it in manual-tests.
27884
27885        * editing/Editor.cpp:
27886        (WebCore::Editor::handleRejectedCorrection): Clear autocorrection info when user dismissed the panel.
27887        * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Added.
27888
278892010-10-22  Andreas Kling  <kling@webkit.org>
27890
27891        Reviewed by Kenneth Rohde Christiansen.
27892
27893        [Gtk] Fix canvas/philip/tests/2d.path.isPointInPath.nonfinite.html
27894        https://bugs.webkit.org/show_bug.cgi?id=48133
27895
27896        * platform/graphics/cairo/PathCairo.cpp:
27897        (WebCore::Path::contains): Return false if any x or y are nonfinite.
27898
278992010-10-22  Alexander Pavlov  <apavlov@chromium.org>
27900
27901        Reviewed by Pavel Feldman.
27902
27903        Web Inspector: Implement property toggling in InspectorCSSAgent
27904
27905        This change implements enablement/disablement and setting of style properties.
27906        Disabled properties are persisted in the (top-level) scope of InspectorStyleSheet.
27907        https://bugs.webkit.org/show_bug.cgi?id=47339
27908
27909        Drive-by: fixes for the Web Inspector Protocol format.
27910
27911        * inspector/InspectorCSSAgent.cpp:
27912        (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
27913        (WebCore::InspectorCSSAgent::getInheritedStylesForNode2):
27914        (WebCore::InspectorCSSAgent::setPropertyText2):
27915        (WebCore::InspectorCSSAgent::toggleProperty2):
27916        (WebCore::InspectorCSSAgent::setRuleSelector2):
27917        (WebCore::InspectorCSSAgent::buildObjectForAttributeStyles):
27918        * inspector/InspectorCSSAgent.h:
27919        * inspector/InspectorStyleSheet.cpp:
27920        (WebCore::InspectorStyle::buildObjectForStyle):
27921        (WebCore::InspectorStyle::setPropertyText):
27922        (WebCore::InspectorStyle::toggleProperty):
27923        (WebCore::InspectorStyle::disabledIndexByOrdinal):
27924        (WebCore::InspectorStyle::styleText):
27925        (WebCore::InspectorStyle::disableProperty):
27926        (WebCore::InspectorStyle::enableProperty):
27927        (WebCore::InspectorStyle::populateAllProperties):
27928        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
27929        (WebCore::InspectorStyle::shiftDisabledProperties):
27930        (WebCore::InspectorStyle::replacePropertyInStyleText):
27931        (WebCore::InspectorStyle::shorthandValue):
27932        (WebCore::InspectorStyle::shorthandPriority):
27933        (WebCore::InspectorStyle::longhandProperties):
27934        (WebCore::InspectorStyleSheet::setText):
27935        (WebCore::InspectorStyleSheet::setRuleSelector):
27936        (WebCore::InspectorStyleSheet::addRule):
27937        (WebCore::InspectorStyleSheet::ruleForId):
27938        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
27939        (WebCore::InspectorStyleSheet::buildObjectForRule):
27940        (WebCore::InspectorStyleSheet::buildObjectForStyle):
27941        (WebCore::InspectorStyleSheet::setPropertyText):
27942        (WebCore::InspectorStyleSheet::toggleProperty):
27943        (WebCore::InspectorStyleSheet::styleForId):
27944        (WebCore::InspectorStyleSheet::inspectorStyleForId):
27945        (WebCore::InspectorStyleSheet::rememberInspectorStyle):
27946        (WebCore::InspectorStyleSheet::forgetInspectorStyle):
27947        (WebCore::InspectorStyleSheet::ruleOrStyleId):
27948        (WebCore::InspectorStyleSheet::ensureText):
27949        (WebCore::InspectorStyleSheet::setStyleText):
27950        (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
27951        (WebCore::InspectorStyleSheet::ruleId):
27952        (WebCore::InspectorStyleSheet::revalidateStyle):
27953        (WebCore::InspectorStyleSheet::originalStyleSheetText):
27954        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
27955        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
27956        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
27957        (WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId):
27958        * inspector/InspectorStyleSheet.h:
27959        (WebCore::InspectorCSSId::createFromParts):
27960        (WebCore::InspectorCSSId::InspectorCSSId):
27961        (WebCore::InspectorCSSId::styleSheetId):
27962        (WebCore::InspectorCSSId::ordinal):
27963        (WebCore::InspectorCSSId::isEmpty):
27964        (WebCore::InspectorCSSId::asString):
27965        (WebCore::InspectorStyleProperty::InspectorStyleProperty):
27966        (WebCore::InspectorStyle::create):
27967        (WebCore::InspectorStyle::InspectorStyle):
27968        (WebCore::InspectorStyle::cssStyle):
27969        (WebCore::InspectorStyle::hasDisabledProperties):
27970        (WebCore::InspectorStyleSheet::styleId):
27971        (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
27972        (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
27973        (WebCore::InspectorStyleSheetForInlineStyle::rememberInspectorStyle):
27974        (WebCore::InspectorStyleSheetForInlineStyle::forgetInspectorStyle):
27975
279762010-10-22  Pavel Feldman  <pfeldman@chromium.org>
27977
27978        Reviewed by Yury Semikhatsky.
27979
27980        Web Inspector: update resources tree in storage panel upon network events.
27981        https://bugs.webkit.org/show_bug.cgi?id=48121
27982
27983        * inspector/Inspector.idl:
27984        * inspector/InspectorResourceAgent.cpp:
27985        (WebCore::buildObjectForDocumentLoader):
27986        (WebCore::buildObjectForFrameTree):
27987        (WebCore::InspectorResourceAgent::didCommitLoad):
27988        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
27989        * inspector/front-end/ResourceManager.js:
27990        (WebInspector.ResourceManager):
27991        (WebInspector.ResourceManager.prototype._createResource):
27992        (WebInspector.ResourceManager.prototype.didReceiveResponse):
27993        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
27994        (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
27995        (WebInspector.ResourceManager.prototype._addResourceToStorageFrame):
27996        (WebInspector.ResourceManager.prototype.frameDetachedFromParent):
27997        (WebInspector.ResourceManager.prototype._clearResources):
27998        (WebInspector.ResourceManager.prototype._processCachedResources):
27999        (WebInspector.ResourceManager.prototype._addFramesRecursively):
28000        (WebInspector.ResourceManager.getContents):
28001        * inspector/front-end/StoragePanel.js:
28002        (WebInspector.StoragePanel.prototype.addOrUpdateFrame):
28003        (WebInspector.StoragePanel.prototype.removeFrame):
28004        (WebInspector.StoragePanel.prototype.addResourceToFrame):
28005        (WebInspector.StoragePanel.prototype.removeResourcesFromFrame):
28006        (WebInspector.BaseStorageTreeElement.prototype.onattach):
28007        (WebInspector.BaseStorageTreeElement.prototype.onreveal):
28008        (WebInspector.BaseStorageTreeElement.prototype.set titleText):
28009        (WebInspector.FrameTreeElement):
28010        (WebInspector.FrameTreeElement.prototype.onselect):
28011        (WebInspector.FrameTreeElement.prototype.get displayName):
28012        (WebInspector.FrameTreeElement.prototype.set displayName):
28013
280142010-10-22  François Sausset  <sausset@gmail.com>
28015
28016        Reviewed by Kenneth Rohde Christiansen.
28017
28018        Fix wrong xHeight() value for Apple Symbols font.
28019        https://bugs.webkit.org/show_bug.cgi?id=41535
28020
28021        Test: mathml/xHeight.xhtml
28022
28023        * platform/graphics/mac/SimpleFontDataMac.mm:
28024        (WebCore::SimpleFontData::platformInit):
28025
280262010-10-22  Nikolas Zimmermann  <nzimmermann@rim.com>
28027
28028        Reviewed by Dirk Schulze.
28029
28030        Further preparations to deploy the new SVGAnimatedProperty concept for the rest of the SVG datatypes
28031        https://bugs.webkit.org/show_bug.cgi?id=48125
28032
28033        Model SVGListPropertyTearOff similar to SVGPropertyTearOff, allow it to be used for SVGXXXList datatypes, that are not animated. (SVGStringList)
28034        Recognize all SVG primitive datatypes in SVGPropertyTraits.
28035        Add a new - temporary - macro to support multiple animated properties that map to a single DOM attribute (kernelUnitLength attribute vs. kernelUnitLengthX/Y properties).
28036        These macros will all be removed and expanded by their content, as soon as the transition to the new SVGAnimatedProperty concept is done.
28037
28038        Doesn't affect any tests yet, as the code is still unused.
28039
28040        * svg/properties/SVGAnimatedProperty.h:
28041        (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):
28042        (WebCore::SVGAnimatedProperty::lookupWrapper):
28043        * svg/properties/SVGAnimatedPropertyMacros.h:
28044        * svg/properties/SVGAnimatedPropertySynchronizer.h:
28045        * svg/properties/SVGListPropertyTearOff.h:
28046        (WebCore::SVGListPropertyTearOff::create):
28047        (WebCore::SVGListPropertyTearOff::removeItemFromList):
28048        (WebCore::SVGListPropertyTearOff::detachListWrappers):
28049        (WebCore::SVGListPropertyTearOff::clear):
28050        (WebCore::SVGListPropertyTearOff::numberOfItems):
28051        (WebCore::SVGListPropertyTearOff::initialize):
28052        (WebCore::SVGListPropertyTearOff::getItem):
28053        (WebCore::SVGListPropertyTearOff::insertItemBefore):
28054        (WebCore::SVGListPropertyTearOff::replaceItem):
28055        (WebCore::SVGListPropertyTearOff::removeItem):
28056        (WebCore::SVGListPropertyTearOff::appendItem):
28057        (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
28058        (WebCore::SVGListPropertyTearOff::~SVGListPropertyTearOff):
28059        (WebCore::SVGListPropertyTearOff::commitChange):
28060        * svg/properties/SVGPropertyTearOff.h:
28061        * svg/properties/SVGPropertyTraits.h:
28062
280632010-10-22  Sheriff Bot  <webkit.review.bot@gmail.com>
28064
28065        Unreviewed, rolling out r70301.
28066        http://trac.webkit.org/changeset/70301
28067        https://bugs.webkit.org/show_bug.cgi?id=48126
28068
28069        "Lang attribute layout tests failing" (Requested by satish on
28070        #webkit).
28071
28072        * dom/Element.cpp:
28073        (WebCore::Element::computeInheritedLanguage):
28074        * page/SpeechInput.cpp:
28075        (WebCore::SpeechInput::startRecognition):
28076        * page/SpeechInput.h:
28077        * page/SpeechInputClient.h:
28078        * platform/mock/SpeechInputClientMock.cpp:
28079        (WebCore::SpeechInputClientMock::startRecognition):
28080        (WebCore::SpeechInputClientMock::setRecognitionResult):
28081        (WebCore::SpeechInputClientMock::timerFired):
28082        * platform/mock/SpeechInputClientMock.h:
28083        * rendering/TextControlInnerElements.cpp:
28084        (WebCore::TextControlInnerElement::attachInnerElement):
28085        (WebCore::SearchFieldCancelButtonElement::detach):
28086        (WebCore::SpinButtonElement::defaultEventHandler):
28087        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
28088        (WebCore::InputFieldSpeechButtonElement::detach):
28089
280902010-10-22  Leandro Gracia Gil  <leandrogracia@google.com>
28091
28092        Reviewed by Jeremy Orlow.
28093
28094        Patch the current speech input implementation to use and validate the
28095        nearest language tag. The language is now passed to the startRecognition
28096        methods so that language-specific recognition could be used. Also added
28097        a second parameter to setMockSpeechInputResult for the language used in
28098        speech recognition.
28099        https://bugs.webkit.org/show_bug.cgi?id=47089
28100
28101        This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
28102        details see http://codereview.chromium.org/3615005/show and
28103        http://codereview.chromium.org/3595018/show.
28104
28105        Test: fast/speech/input-text-language-tag.html
28106
28107        * dom/Element.cpp:
28108        (WebCore::Element::computeInheritedLanguage): includes a brief character
28109          validation for the BCP 47 language tag.
28110        * page/SpeechInput.cpp:
28111        (WebCore::SpeechInput::startRecognition):
28112        * page/SpeechInput.h:
28113        * page/SpeechInputClient.h:
28114        * platform/mock/SpeechInputClientMock.cpp:
28115        (WebCore::SpeechInputClientMock::startRecognition):
28116        (WebCore::SpeechInputClientMock::setRecognitionResult): results are now
28117          stored by language using a hash map.
28118        (WebCore::SpeechInputClientMock::timerFired):
28119        * platform/mock/SpeechInputClientMock.h:
28120        * rendering/TextControlInnerElements.cpp:
28121        (WebCore::TextControlInnerElement::attachInnerElement):
28122        (WebCore::SearchFieldCancelButtonElement::detach):
28123        (WebCore::SpinButtonElement::defaultEventHandler):
28124        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
28125        (WebCore::InputFieldSpeechButtonElement::detach):
28126
281272010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28128
28129        Unreviewed, rolling out r70298.WebKit win compilation failure.
28130        http://trac.webkit.org/changeset/70298
28131        https://bugs.webkit.org/show_bug.cgi?id=48122
28132
281332010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28134
28135        Reviewed by Pavel Feldman.
28136
28137        Web Inspector: decouple ScriptArguments from ScriptCallStack
28138        https://bugs.webkit.org/show_bug.cgi?id=48058
28139
28140        ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
28141        The factory functions that allow to create ScriptCallStack from VM-specific
28142        objects are defined in ScriptCallStackFactory.cpp.
28143
28144        ScriptArguments class is used for passing arguments from JS code to the native
28145        part.
28146
28147        No new tests. This refactoring is covered with existing Console tests.
28148
28149        * WebCore.gypi:
28150        * WebCore.xcodeproj/project.pbxproj:
28151        * bindings/js/ScriptCallFrame.cpp: Removed.
28152        * bindings/js/ScriptCallFrame.h: Removed.
28153        * bindings/js/ScriptCallStack.cpp: Removed.
28154        * bindings/js/ScriptCallStack.h: Removed.
28155        * bindings/js/ScriptCallStackFactory.cpp: Added.
28156        (WebCore::createScriptCallStack):
28157        (WebCore::createScriptArguments):
28158        (WebCore::ScriptCallStack::stackTrace):
28159        * bindings/js/ScriptCallStackFactory.h: Added.
28160        * bindings/js/ScriptState.h:
28161        (WebCore::ScriptStateProtectedPtr::get):
28162        * bindings/scripts/CodeGeneratorJS.pm:
28163        * bindings/scripts/CodeGeneratorV8.pm:
28164        * bindings/v8/ScriptCallFrame.cpp: Removed.
28165        * bindings/v8/ScriptCallFrame.h: Removed.
28166        * bindings/v8/ScriptCallStack.cpp: Removed.
28167        * bindings/v8/ScriptCallStack.h: Removed.
28168        * bindings/v8/ScriptCallStackFactory.cpp: Added.
28169        (WebCore::toScriptCallFrame):
28170        (WebCore::toScriptCallFramesVector):
28171        (WebCore::createScriptCallStack):
28172        (WebCore::createScriptArguments):
28173        (WebCore::ScriptCallStack::stackTrace):
28174        * bindings/v8/ScriptCallStackFactory.h: Added.
28175        * bindings/v8/ScriptController.cpp:
28176        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
28177        * bindings/v8/ScriptState.h:
28178        (WebCore::ScriptStateProtectedPtr::get):
28179        * bindings/v8/V8ConsoleMessage.cpp:
28180        (WebCore::V8ConsoleMessage::handler):
28181        (WebCore::V8ConsoleMessage::dispatchNow):
28182        * bindings/v8/V8ConsoleMessage.h:
28183        * bindings/v8/custom/V8ConsoleCustom.cpp:
28184        (WebCore::V8Console::traceCallback):
28185        (WebCore::V8Console::assertCallback):
28186        * inspector/ConsoleMessage.cpp:
28187        (WebCore::ConsoleMessage::ConsoleMessage):
28188        (WebCore::ConsoleMessage::addToFrontend):
28189        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
28190        (WebCore::ConsoleMessage::isEqual):
28191        * inspector/ConsoleMessage.h:
28192        * inspector/InspectorController.cpp:
28193        (WebCore::InspectorController::addMessageToConsole):
28194        (WebCore::InspectorController::startGroup):
28195        * inspector/InspectorController.h:
28196        * inspector/ScriptArguments.cpp: Added.
28197        (WebCore::ScriptArguments::ScriptArguments):
28198        (WebCore::ScriptArguments::~ScriptArguments):
28199        (WebCore::ScriptArguments::argumentAt):
28200        (WebCore::ScriptArguments::globalState):
28201        (WebCore::ScriptArguments::getFirstArgumentAsString):
28202        (WebCore::ScriptArguments::isEqual):
28203        * inspector/ScriptArguments.h: Added.
28204        (WebCore::ScriptArguments::argumentCount):
28205        * inspector/ScriptCallFrame.cpp: Added.
28206        (WebCore::ScriptCallFrame::ScriptCallFrame):
28207        (WebCore::ScriptCallFrame::~ScriptCallFrame):
28208        (WebCore::ScriptCallFrame::isEqual):
28209        (WebCore::ScriptCallFrame::buildInspectorObject):
28210        * inspector/ScriptCallFrame.h: Added.
28211        (WebCore::ScriptCallFrame::functionName):
28212        (WebCore::ScriptCallFrame::sourceURL):
28213        (WebCore::ScriptCallFrame::lineNumber):
28214        * inspector/ScriptCallStack.cpp: Added.
28215        (WebCore::ScriptCallStack::ScriptCallStack):
28216        (WebCore::ScriptCallStack::~ScriptCallStack):
28217        (WebCore::ScriptCallStack::at):
28218        (WebCore::ScriptCallStack::size):
28219        (WebCore::ScriptCallStack::isEqual):
28220        (WebCore::ScriptCallStack::buildInspectorObject):
28221        * inspector/ScriptCallStack.h: Added.
28222        * page/Console.cpp:
28223        (WebCore::Console::addMessage):
28224        (WebCore::Console::debug):
28225        (WebCore::Console::error):
28226        (WebCore::Console::info):
28227        (WebCore::Console::log):
28228        (WebCore::Console::dir):
28229        (WebCore::Console::dirxml):
28230        (WebCore::Console::trace):
28231        (WebCore::Console::assertCondition):
28232        (WebCore::Console::count):
28233        (WebCore::Console::markTimeline):
28234        (WebCore::Console::profile):
28235        (WebCore::Console::profileEnd):
28236        (WebCore::Console::timeEnd):
28237        (WebCore::Console::group):
28238        (WebCore::Console::groupCollapsed):
28239        (WebCore::Console::shouldCaptureFullStackTrace):
28240        (WebCore::Console::warn):
28241        * page/Console.h:
28242
282432010-10-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
28244
28245        Reviewed by Simon Hausmann.
28246
28247        [Qt] All widgets are rendered incorrectly when rendered through a cache
28248        https://bugs.webkit.org/show_bug.cgi?id=47767
28249
28250        When a widget is not available to the RenderTheme, default
28251        value are used for the state.
28252
28253        * platform/qt/RenderThemeQt.cpp:
28254        (WebCore::initStyleOption):
28255        (WebCore::RenderThemeQt::paintButton):
28256        (WebCore::RenderThemeQt::paintTextField):
28257        (WebCore::RenderThemeQt::paintMenuList):
28258        (WebCore::RenderThemeQt::paintMenuListButton):
28259        (WebCore::RenderThemeQt::paintProgressBar):
28260        (WebCore::RenderThemeQt::paintSliderTrack):
28261
282622010-10-22  Zoltan Herczeg  <zherczeg@webkit.org>
28263
28264        Reviewed by Dirk Schulze.
28265
28266        Moving all bounding box related calculation to RenderSVGResourceFilterPrimitive
28267        https://bugs.webkit.org/show_bug.cgi?id=47174
28268
28269        The primitive sub-region calculation was spread in many
28270        files across in WebKit source code, and all of them are moved
28271        to RenderSVGResourceFilterPrimitive, where they should be.
28272        In this patch the calculation is a static method which will
28273        be turned to a real member function in the near future.
28274
28275        * platform/graphics/filters/FETile.cpp:
28276        * platform/graphics/filters/FETile.h:
28277        (WebCore::FETile::filterEffectType):
28278        * platform/graphics/filters/Filter.h:
28279        * platform/graphics/filters/FilterEffect.cpp:
28280        * platform/graphics/filters/FilterEffect.h:
28281        * rendering/RenderSVGResourceFilter.cpp:
28282        (WebCore::RenderSVGResourceFilter::applyResource):
28283        * rendering/RenderSVGResourceFilterPrimitive.cpp:
28284        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
28285        * rendering/RenderSVGResourceFilterPrimitive.h:
28286        (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
28287        * svg/graphics/filters/SVGFilter.cpp:
28288        * svg/graphics/filters/SVGFilter.h:
28289        (WebCore::SVGFilter::mapLocalRectToAbsoluteRect):
28290        (WebCore::SVGFilter::targetBoundingBox):
28291
282922010-10-21  Kwang Yul Seo  <skyul@company100.net>
28293
28294        Reviewed by Kent Tamura.
28295
28296        [BREWMP] Add a String constructor which takes AECHAR*
28297        https://bugs.webkit.org/show_bug.cgi?id=45043
28298
28299        Implement String(const AECHAR*) constructor.
28300
28301        * platform/text/brew/StringBrew.cpp: Added.
28302        (WTF::String::String):
28303
283042010-10-21  James Simonsen  <simonjam@chromium.org>
28305
28306        Reviewed by Adam Barth.
28307
28308        HTMLTreeBuilder's InForeignContent code needs a re-write
28309
28310        Foreign Content mode was changed significantly by:
28311        http://www.w3.org/Bugs/Public/show_bug.cgi?id=10314
28312
28313        The differences can be seen here:
28314        http://html5.org/tools/web-apps-tracker?from=5520&to=5522
28315
28316        This bug addresses all spec changes in the diff except the select scope
28317        changes, which have already been fixed in a separate bug.
28318
28319        https://bugs.webkit.org/show_bug.cgi?id=46676
28320
28321        * html/parser/HTMLElementStack.cpp:
28322        (WebCore::HTMLNames::isScopeMarker): Add foreign elements to list.
28323        * html/parser/HTMLTreeBuilder.cpp:
28324        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
28325        (WebCore::HTMLTreeBuilder::processDoctypeToken): Switch mode before reprocessing any tokens.
28326        (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto. Remove secondary insertion mode.
28327        (WebCore::HTMLTreeBuilder::processStartTagForInTable): Switch mode before reprocessing any tokens.
28328        (WebCore::HTMLTreeBuilder::processStartTag): Ditto. Remove secondary insertion mode.
28329        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Remove foreign var. Use hasTagName() instead of == localName() to fix bug with foreign elements.
28330        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody): Switch mode before reprocessing any tokens.
28331        (WebCore::HTMLTreeBuilder::processEndTagForInRow): Ditto.
28332        (WebCore::HTMLTreeBuilder::processEndTagForInCell): Ditto.
28333        (WebCore::HTMLTreeBuilder::processEndTagForInBody): Ditto.
28334        (WebCore::HTMLTreeBuilder::processEndTag): Ditto.
28335        (WebCore::HTMLTreeBuilder::prepareToReprocessToken): Added.
28336        (WebCore::HTMLTreeBuilder::reprocessStartTag): Added.
28337        (WebCore::HTMLTreeBuilder::reprocessEndTag): Added.
28338        (WebCore::HTMLTreeBuilder::processForeignContentUsingInBodyModeAndResetMode): Added.
28339        (WebCore::HTMLTreeBuilder::resetForeignInsertionMode): Added.
28340        (WebCore::HTMLTreeBuilder::processComment): Switch mode before reprocessing any tokens.
28341        (WebCore::HTMLTreeBuilder::processCharacterBuffer): Ditto.
28342        (WebCore::HTMLTreeBuilder::processEndOfFile): Ditto.
28343        * html/parser/HTMLTreeBuilder.h: Functions and member for tracking potential switch from InForeignContentMode.
28344
283452010-10-21  Adam Barth  <abarth@webkit.org>
28346
28347        Reviewed by David Levin.
28348
28349        Remove Android build system
28350        https://bugs.webkit.org/show_bug.cgi?id=48111
28351
28352        As far as I can tell, these files are not maintained.  They are a
28353        mantaince burden on the project.  If folks would like to come out of
28354        the woodwork and maintain these files, that's great.  At the moment,
28355        they seem like dead weight for the project.
28356
28357        * Android.mk: Removed.
28358
283592010-10-21  Kwang Yul Seo  <skyul@company100.net>
28360
28361        Reviewed by James Robinson.
28362
28363        Make sure skia is not Chromium specific
28364        https://bugs.webkit.org/show_bug.cgi?id=39672
28365
28366        GlyphPageTreeNodeLinux does not depend on Linux or Chromium.
28367        Move GlyphPageTreeNodeLinux to platform/graphics/skia and rename it to
28368        GlyphPageTreeNodeSkia.cpp so that other ports can use it.
28369
28370        * WebCore.gyp/WebCore.gyp:
28371        * WebCore.gypi:
28372        * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Removed.
28373        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added.
28374
283752010-10-21  Ryosuke Niwa  <rniwa@webkit.org>
28376
28377        Reviewed by Tony Chang.
28378
28379        removeFormat needs to be reimplemented
28380        https://bugs.webkit.org/show_bug.cgi?id=43017
28381
28382        Reimplemented execCommand('RemoveFormat', false, null). New implementation removes
28383        the same elements removed by Internet Explorer. Because WebKit supports StyleWithCSS
28384        we also reset any editing styles to match that of the root editable element
28385        while Internet Explorer does not remove any CSS styles.
28386
28387        New implementation uses ApplyStyleCommand to remove appropriate elements and reset the style.
28388        Added new constructor and member variable to ApplyStyleCommand to support mass-removal of elements
28389        since it's inefficient to call ApplyStyleCommand on each element we're removing.
28390
28391        To avoid an infinite loop in pushDownInlineStyleAroundNode when mass-removing, WebKit no longer
28392        push down element one level at a time. Instead, we keep a stack of styled elements to be applied,
28393        and apply wrap siblings of targetNode's ancestors by all of them at once.
28394
28395        Tests: editing/execCommand/remove-format-elements.html
28396               editing/execCommand/remove-format-multiple-elements.html
28397
28398        * editing/ApplyStyleCommand.cpp:
28399        (WebCore::ApplyStyleCommand::ApplyStyleCommand): Added; this version takes style and a function pointer
28400        to a boolean function that determines which element needs to removed, and set m_removeOnly to true.
28401        (WebCore::ApplyStyleCommand::doApply): Added support for m_isInlineElementToRemoveFunction.
28402        (WebCore::ApplyStyleCommand::applyBlockStyle): Ditto.
28403        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Exits early if m_removeOnly is true.
28404        (WebCore::ApplyStyleCommand::isStyledInlineElementToRemove): Added.
28405        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls isStyledInlineElementToRemove.
28406        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Ditto.
28407        (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
28408        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): See above.
28409        * editing/ApplyStyleCommand.h:
28410        (WebCore::ApplyStyleCommand::create): Added.
28411        * editing/RemoveFormatCommand.cpp:
28412        (WebCore::isElementForRemoveFormatCommand): Added.
28413        (WebCore::RemoveFormatCommand::doApply): Rewritten.
28414
284152010-10-21  Tony Gentilcore  <tonyg@chromium.org>
28416
28417        Reviewed by Adam Barth.
28418
28419        Ignore document.write() when it comes from a network task
28420        https://bugs.webkit.org/show_bug.cgi?id=47560
28421
28422        This implements the update to the spec made by:
28423        http://www.w3.org/Bugs/Public/show_bug.cgi?id=9767
28424
28425        It also matches the latest Firefox 4 beta. The notable change is that
28426        document.write from a deferred script no longer works. This avoids
28427        blowing the patch away.
28428
28429        * dom/Document.cpp:
28430        (WebCore::Document::Document):
28431        (WebCore::Document::write):
28432        * dom/Document.h:
28433        (WebCore::DestructiveWriteCountIncrementer::DestructiveWriteCountIncrementer):
28434        (WebCore::Document::ignoreDestructiveWriteCountIncrementer):
28435        * dom/ScriptElement.cpp:
28436        (WebCore::ScriptElement::insertedIntoDocument):
28437        (WebCore::ScriptElementData::ScriptElementData):
28438        (WebCore::ScriptElementData::evaluateScript):
28439        * dom/ScriptElement.h:
28440        * html/parser/HTMLScriptRunner.cpp:
28441        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
28442
284432010-10-21  Ryosuke Niwa  <rniwa@webkit.org>
28444
28445        Unreviewed Leopard build fix attempt.
28446
28447        Explicitly cast the return value of deg2rad to float.
28448
28449        * rendering/InlineTextBox.cpp:
28450        (WebCore::InlineTextBox::paint):
28451
284522010-10-21  Mihai Parparita  <mihaip@chromium.org>
28453
28454        Reviewed by James Robinson.
28455
28456        [Chromium] Fix Chromium Mac build
28457        https://bugs.webkit.org/show_bug.cgi?id=48096
28458
28459        Fix Chromium Mac build after r70225 (Chromium uses Core Text but is not
28460        PLATFORM(MAC)).
28461
28462        * platform/graphics/SimpleFontData.h:
28463
284642010-10-21  Xiaomei Ji  <xji@chromium.org>
28465
28466        Reviewed by David Levin.
28467
28468        Performance improvement for FontLinux.
28469        https://bugs.webkit.org/show_bug.cgi?id=47019
28470        
28471        Reduce the number of calls for the normalization function because converting
28472        to NFC form is very expensive.
28473    
28474        Combine space normalization and character mirroring into one text scan.
28475
28476        Test: platform/chromium/fast/text/font-linux-normalize.html
28477
28478        * platform/graphics/chromium/FontLinux.cpp:
28479        (WebCore::TextRunWalker::TextRunWalker):
28480        (WebCore::TextRunWalker::~TextRunWalker):
28481        (WebCore::TextRunWalker::getNormalizedTextRun):
28482        (WebCore::TextRunWalker::normalizeSpacesAndMirrorChars):
28483
284842010-10-21  David Hyatt  <hyatt@apple.com>
28485
28486        Reviewed by Darin Adler.
28487
28488        https://bugs.webkit.org/show_bug.cgi?id=48085
28489
28490        Make basic vertical text painting work.  This includes the text itself, underlines, overlines, line-throughs and shadows.
28491
28492        Added fast/blockflow/english-lr-text.html
28493
28494        * rendering/InlineFlowBox.cpp:
28495        (WebCore::InlineFlowBox::paint):
28496        * rendering/InlineFlowBox.h:
28497        * rendering/InlineTextBox.cpp:
28498        (WebCore::InlineTextBox::applyShadowToGraphicsContext):
28499        (WebCore::paintTextWithShadows):
28500        (WebCore::InlineTextBox::paint):
28501        (WebCore::InlineTextBox::paintDecoration):
28502        (WebCore::InlineTextBox::paintTextMatchMarker):
28503        * rendering/InlineTextBox.h:
28504        * rendering/svg/SVGInlineTextBox.cpp:
28505        (WebCore::SVGInlineTextBox::paintTextWithShadows):
28506
285072010-10-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
28508
28509        Reviewed by Simon Hausmann.
28510
28511        [Qt] When doing rendering through tiling, it seems the tiles are not initialized before rendering
28512        https://bugs.webkit.org/show_bug.cgi?id=48070
28513
28514        No new tests. Auto-tests for Tiled Backing Store should be added, see bug 48082
28515
28516        * page/Frame.cpp:
28517        (WebCore::Frame::tiledBackingStoreBackgroundColor):
28518        * page/Frame.h:
28519        * platform/graphics/TiledBackingStoreClient.h:
28520        * platform/graphics/qt/TileQt.cpp:
28521        (WebCore::Tile::updateBackBuffer):
28522
285232010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
28524
28525        Reviewed by Martin Robinson.
28526
28527        [GTK] Use GCharsetConverter instead of g_iconv in TextCodecGtk
28528        https://bugs.webkit.org/show_bug.cgi?id=47896
28529
28530        It makes error handling easier. Fixes tests:
28531         fast/encoding/invalid-multi-byte-over-consumption.html
28532         fast/encoding/invalid-xml.html
28533         fast/encoding/japanese-encoding-mix.html
28534        when building with glib unicode
28535
28536        * platform/text/gtk/TextCodecGtk.cpp:
28537        (WebCore::TextCodecGtk::TextCodecGtk):
28538        (WebCore::TextCodecGtk::~TextCodecGtk):
28539        (WebCore::TextCodecGtk::createIConvDecoder):
28540        (WebCore::TextCodecGtk::createIConvEncoder):
28541        (WebCore::TextCodecGtk::decode):
28542        (WebCore::TextCodecGtk::encode):
28543        * platform/text/gtk/TextCodecGtk.h:
28544
285452010-10-21  Chris Fleizach  <cfleizach@apple.com>
28546
28547        Reviewed by Beth Dakin.
28548
28549        AX: contenteditable nodes do not return correct AXSelectedText* attributes
28550        https://bugs.webkit.org/show_bug.cgi?id=48080
28551
28552        The ariaSelectedDOMTextRange() method was not returning the correct values. 
28553        The fix is to return a plain text range that represents the current selection.
28554
28555        Test: platform/mac/accessibility/content-editable-range-properties.html
28556
28557        * accessibility/AccessibilityObject.h:
28558        (WebCore::AccessibilityObject::accessibilityDescription):
28559        * accessibility/AccessibilityRenderObject.cpp:
28560        (WebCore::AccessibilityRenderObject::ariaSelectedTextRange):
28561        (WebCore::AccessibilityRenderObject::selectedText):
28562        (WebCore::AccessibilityRenderObject::selectedTextRange):
28563        * accessibility/AccessibilityRenderObject.h:
28564
285652010-10-20  Jer Noble  <jer.noble@apple.com>
28566
28567        Reviewed by Eric Carlson.
28568
28569        Video -> Canvas doesn't work on Windows
28570        https://bugs.webkit.org/show_bug.cgi?id=47996
28571        rdar://problem/7884690
28572
28573        * WebCore.vcproj/QTMovieWin.vcproj: Added QTDecompressionSession.{cpp,h}
28574        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
28575        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Create a 
28576            QTDecompressionSession if necessary and convert the QTPixelBuffer
28577            into a CG-compatible one.
28578        * platform/graphics/win/QTDecompressionSession.cpp: Added.
28579        * platform/graphics/win/QTDecompressionSession.h: Added.
28580        * platform/graphics/win/QTPixelBuffer.cpp:
28581        (SetNumberValue): Moved from QTMovieVisualContext.
28582        (QTPixelBuffer::createPixelBufferAttributesDictionary): Moved from inside
28583            QTMovieVisualContext::createPixelBufferOptionsDictionary().
28584        * platform/graphics/win/QTPixelBuffer.h: Moved the Type enum 
28585            from QTMovieVisualContext.h.
28586
285872010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
28588
28589        Reviewed by Martin Robinson.
28590
28591        [GTK] TextBreakIteratorGtk should initialize its internal index to 0
28592        https://bugs.webkit.org/show_bug.cgi?id=48065
28593
28594        It fixes the following tests when using glib unicode:
28595          fast/forms/ValidityState-tooLong-input.html
28596          fast/forms/ValidityState-tooLong-textarea.html
28597          fast/forms/input-appearance-maxlength.html
28598          fast/forms/input-implicit-length-limit.html
28599          fast/forms/input-maxlength.html
28600          fast/forms/textarea-live-pseudo-selectors.html
28601          fast/forms/mailto/advanced-get.html
28602          fast/forms/mailto/advanced-put.html
28603
28604        * platform/text/gtk/TextBreakIteratorGtk.cpp:
28605        (WebCore::setUpIterator):
28606
286072010-10-21  takano takumi  <takano1@asia.apple.com>
28608
28609        Reviewed by Dan Bernstein.
28610
28611        Need to swap glyphs for vertical writing
28612        https://bugs.webkit.org/show_bug.cgi?id=46973
28613
28614        Made changes to pass the writing-mode orientation flag in RenderStyle down to FontPlatformData,
28615        and ultimately to CoreText APIs in both font complex path and fast path.
28616
28617        Tests: fast/text/international/vertical-text-glyph-test.html
28618               fast/text/international/vertical-text-metrics-test.html
28619
28620        * WebCore.exp.in:
28621        * WebCore.xcodeproj/project.pbxproj: Added platform/graphics/FontOrientation.h.
28622        * css/CSSFontFaceSource.cpp:
28623        (WebCore::CSSFontFaceSource::getFontData): Added font orientation parameter to SimpleFontData.
28624        * css/CSSStyleSelector.cpp:
28625        (WebCore::CSSStyleSelector::applyProperty): Set appropriate font orientation to the font description
28626        when writing-mode is being specified.
28627        * loader/CachedFont.cpp:
28628        (WebCore::CachedFont::platformDataFromCustomData): Made to pass font orientation to FontPlatformData.
28629        * loader/CachedFont.h:
28630        * platform/graphics/FontCache.cpp: Added font orientation to FontPlatformDataCacheKey
28631        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
28632        (WebCore::FontPlatformDataCacheKey::operator==):
28633        (WebCore::computeHash):
28634        (WebCore::FontCache::getCachedFontPlatformData):
28635        * platform/graphics/FontDescription.h: Added font orientation support to FontDescription class
28636        (WebCore::FontDescription::FontDescription):
28637        (WebCore::FontDescription::orientation):
28638        (WebCore::FontDescription::setOrientation):
28639        (WebCore::FontDescription::operator==):
28640        * platform/graphics/FontOrientation.h: Added.
28641        * platform/graphics/SimpleFontData.h:
28642        * platform/graphics/cairo/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
28643        (WebCore::FontCustomPlatformData::fontPlatformData):
28644        * platform/graphics/cairo/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28645        * platform/graphics/cocoa/FontPlatformData.h: Added font orientation support to FontPlatformData class
28646        (WebCore::FontPlatformData::FontPlatformData):
28647        (WebCore::FontPlatformData::orientation):
28648        (WebCore::FontPlatformData::hash):
28649        (WebCore::FontPlatformData::operator==):
28650        * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Added font orientation support
28651        (WebCore::FontPlatformData::FontPlatformData):
28652        (WebCore::FontPlatformData::operator=):
28653        (WebCore::FontPlatformData::allowsLigatures): Don't allow ligatures when the font is vertical orientation.
28654        (WebCore::FontPlatformData::description):
28655        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Changed to pass font orientation to fontPlatformData()
28656        (WebCore::FontCustomPlatformData::fontPlatformData):
28657        * platform/graphics/haiku/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
28658        (WebCore::FontCustomPlatformData::fontPlatformData):
28659        * platform/graphics/haiku/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28660        * platform/graphics/mac/FontCacheMac.mm: Added font orientation parameter when creating FontPlatformData object.
28661        (WebCore::FontCache::getFontDataForCharacters):
28662        (WebCore::FontCache::createFontPlatformData):
28663        * platform/graphics/mac/FontCustomPlatformData.cpp: Added font orientation parameter when creating FontPlatformData object.
28664        (WebCore::FontCustomPlatformData::fontPlatformData):
28665        * platform/graphics/mac/FontCustomPlatformData.h: Changed to pass font orientation parameter to fontPlatformData()
28666        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
28667        (WebCore::GlyphPage::fill): Changed to use CoreText to extract glyphs when the current font is vertical orientation.
28668        CoreText automatically swaps glyphs with vertical variants when the font orientation is vertical.
28669        * platform/graphics/mac/SimpleFontDataCoreText.cpp: Added vertical form attribute to the attribute dictionary for a CTLine.
28670        (WebCore::SimpleFontData::getCFStringAttributes):
28671        * platform/graphics/mac/SimpleFontDataMac.mm:
28672        (WebCore::SimpleFontData::platformBoundsForGlyph): Changed to use CoreText (from CG) to support vertical metrics.
28673        (WebCore::SimpleFontData::platformWidthForGlyph): Made to use CoreText, instead of wkGetGlyphTransformedAdvances,
28674        to get vertical metrics when the font orientation is vertical.
28675        * platform/graphics/qt/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28676        * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Changed to pass font orientation to fontPlatformData()
28677        (WebCore::FontCustomPlatformData::fontPlatformData):
28678        * platform/graphics/skia/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
28679        (WebCore::FontCustomPlatformData::fontPlatformData):
28680        * platform/graphics/skia/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28681        * platform/graphics/win/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
28682        (WebCore::FontCustomPlatformData::fontPlatformData):
28683        * platform/graphics/win/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28684        * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Changed to pass font orientation to fontPlatformData()
28685        (WebCore::FontCustomPlatformData::fontPlatformData):
28686        * platform/graphics/win/FontCustomPlatformDataCairo.h: Changed to pass font orientation to fontPlatformData()
28687        * platform/graphics/wince/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
28688        (WebCore::FontCustomPlatformData::fontPlatformData):
28689        * platform/graphics/wince/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28690        * platform/graphics/wx/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
28691        (WebCore::FontCustomPlatformData::fontPlatformData):
28692        * platform/graphics/wx/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
28693
286942010-10-21  Pavel Feldman  <pfeldman@chromium.org>
28695
28696        Reviewed by Yury Semikhatsky.
28697
28698        Web Inspector: provide resource tree in the Storage panel (behind the flag).
28699        https://bugs.webkit.org/show_bug.cgi?id=48069
28700
28701        * WebCore.gypi:
28702        * inspector/Inspector.idl:
28703        * inspector/InspectorController.cpp:
28704        (WebCore::InspectorController::frameDetachedFromParent):
28705        * inspector/InspectorResourceAgent.cpp:
28706        (WebCore::buildObjectForDocumentLoader):
28707        (WebCore::buildObjectForFrameResource):
28708        (WebCore::buildObjectForCachedResource):
28709        (WebCore::populateObjectWithFrameResources):
28710        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
28711        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
28712        (WebCore::buildObjectForFrameTree):
28713        (WebCore::InspectorResourceAgent::didCommitLoad):
28714        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
28715        (WebCore::InspectorResourceAgent::cachedResources):
28716        (WebCore::InspectorResourceAgent::resourceContent):
28717        * inspector/InspectorResourceAgent.h:
28718        * inspector/front-end/Images/frame.png: Added.
28719        * inspector/front-end/NetworkPanel.js:
28720        (WebInspector.NetworkPanel.prototype.refreshResource):
28721        (WebInspector.NetworkPanel.prototype._showResource):
28722        * inspector/front-end/Resource.js:
28723        (WebInspector.Resource.Type.toString):
28724        (WebInspector.Resource.prototype.getContents):
28725        * inspector/front-end/ResourceManager.js:
28726        (WebInspector.ResourceManager):
28727        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
28728        (WebInspector.ResourceManager.prototype._createResource):
28729        (WebInspector.ResourceManager.prototype.willSendRequest):
28730        (WebInspector.ResourceManager.prototype._appendRedirect):
28731        (WebInspector.ResourceManager.prototype.markResourceAsCached):
28732        (WebInspector.ResourceManager.prototype.didReceiveResponse):
28733        (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
28734        (WebInspector.ResourceManager.prototype.didReceiveContentLength):
28735        (WebInspector.ResourceManager.prototype.didFinishLoading):
28736        (WebInspector.ResourceManager.prototype.didFailLoading):
28737        (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
28738        (WebInspector.ResourceManager.prototype._updateResourceWithCachedResource):
28739        (WebInspector.ResourceManager.prototype.setOverrideContent):
28740        (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
28741        (WebInspector.ResourceManager.prototype.frameDetachedFromParent):
28742        (WebInspector.ResourceManager.prototype._clearResources):
28743        (WebInspector.ResourceManager.prototype.didCreateWebSocket):
28744        (WebInspector.ResourceManager.prototype.willSendWebSocketHandshakeRequest):
28745        (WebInspector.ResourceManager.prototype.didReceiveWebSocketHandshakeResponse):
28746        (WebInspector.ResourceManager.prototype.didCloseWebSocket):
28747        (WebInspector.ResourceManager.prototype._processCachedResources):
28748        (WebInspector.ResourceManager.prototype._appendFramesRecursively.comparator):
28749        (WebInspector.ResourceManager.prototype._appendFramesRecursively):
28750        (WebInspector.ResourceManager.createResourceView):
28751        (WebInspector.ResourceManager.resourceViewTypeMatchesResource):
28752        (WebInspector.ResourceManager.resourceViewForResource):
28753        (WebInspector.ResourceManager.getContents):
28754        * inspector/front-end/ResourcesPanel.js:
28755        (WebInspector.ResourcesPanel.prototype.get searchableViews):
28756        (WebInspector.ResourcesPanel.prototype.addMessageToResource):
28757        (WebInspector.ResourcesPanel.prototype._recreateViewForResourceIfNeeded):
28758        (WebInspector.ResourcesPanel.prototype.showResource):
28759        (WebInspector.ResourcesPanel.prototype.sourceFrameForResource):
28760        * inspector/front-end/ScriptsPanel.js:
28761        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
28762        * inspector/front-end/StoragePanel.js:
28763        (WebInspector.StoragePanel):
28764        (WebInspector.StoragePanel.prototype.addFrame):
28765        (WebInspector.StoragePanel.prototype.removeFrame):
28766        (WebInspector.StoragePanel.prototype.addFrameResource):
28767        (WebInspector.StoragePanel.prototype.removeFrameResources):
28768        (WebInspector.StoragePanel.prototype.showResource):
28769        (WebInspector.BaseStorageTreeElement.prototype.onattach):
28770        (WebInspector.BaseStorageTreeElement.prototype.onreveal):
28771        (WebInspector.FrameTreeElement):
28772        (WebInspector.FrameTreeElement.prototype.onselect):
28773        (WebInspector.FrameResourceTreeElement):
28774        (WebInspector.FrameResourceTreeElement.prototype.onselect):
28775        (WebInspector.FrameResourceTreeElement.prototype.onattach):
28776        * inspector/front-end/WebKit.qrc:
28777        * inspector/front-end/inspector.css:
28778        (.frame-storage-tree-item .icon):
28779        (.storage.panel .sidebar.outline-disclosure > ol):
28780        (.resources-category-images .image-resource-icon-preview):
28781        (.children.small .resources-category-images .image-resource-icon-preview):
28782        * inspector/front-end/inspector.js:
28783
287842010-10-21  David Kilzer  <ddkilzer@apple.com>
28785
28786        <http://webkit.org/b/48047> Fix warnings found by check-Xcode-source-file-types
28787
28788        Reviewed by Adam Roben.
28789
28790        Fixes the following warning:
28791
28792            WARNING: Unknown file type 'sourcecode' for file 'CSSPrimitiveValue.idl'.
28793            1 issues found for WebCore/WebCore.xcodeproj/project.pbxproj.
28794
28795        * WebCore.xcodeproj/project.pbxproj: Removed explicit file type
28796        for CSSPrimitiveValue.idl to make it match other IDL files.
28797
287982010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28799
28800        Reviewed by Pavel Feldman.
28801
28802        Web Inspector: decouple ScriptArguments from ScriptCallStack
28803        https://bugs.webkit.org/show_bug.cgi?id=48058
28804
28805        ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
28806        The factory functions that allow to create ScriptCallStack from VM-specific
28807        objects are defined in ScriptCallStackFactory.cpp.
28808
28809        ScriptArguments class is used for passing arguments from JS code to the native
28810        part.
28811
28812        No new tests. This refactoring is covered with existing Console tests.
28813
28814        * WebCore.gypi:
28815        * WebCore.xcodeproj/project.pbxproj:
28816        * bindings/js/ScriptCallFrame.cpp: Removed.
28817        * bindings/js/ScriptCallFrame.h: Removed.
28818        * bindings/js/ScriptCallStack.cpp: Removed.
28819        * bindings/js/ScriptCallStack.h: Removed.
28820        * bindings/js/ScriptCallStackFactory.cpp: Added.
28821        (WebCore::createScriptCallStack):
28822        (WebCore::createScriptArguments):
28823        (WebCore::ScriptCallStack::stackTrace):
28824        * bindings/js/ScriptCallStackFactory.h: Added.
28825        * bindings/js/ScriptState.h:
28826        (WebCore::ScriptStateProtectedPtr::get):
28827        * bindings/scripts/CodeGeneratorJS.pm:
28828        * bindings/scripts/CodeGeneratorV8.pm:
28829        * bindings/v8/ScriptCallFrame.cpp: Removed.
28830        * bindings/v8/ScriptCallFrame.h: Removed.
28831        * bindings/v8/ScriptCallStack.cpp: Removed.
28832        * bindings/v8/ScriptCallStack.h: Removed.
28833        * bindings/v8/ScriptCallStackFactory.cpp: Added.
28834        (WebCore::toScriptCallFrame):
28835        (WebCore::toScriptCallFramesVector):
28836        (WebCore::createScriptCallStack):
28837        (WebCore::createScriptArguments):
28838        (WebCore::ScriptCallStack::stackTrace):
28839        * bindings/v8/ScriptCallStackFactory.h: Added.
28840        * bindings/v8/ScriptController.cpp:
28841        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
28842        * bindings/v8/ScriptState.h:
28843        (WebCore::ScriptStateProtectedPtr::get):
28844        * bindings/v8/V8ConsoleMessage.cpp:
28845        (WebCore::V8ConsoleMessage::handler):
28846        (WebCore::V8ConsoleMessage::dispatchNow):
28847        * bindings/v8/V8ConsoleMessage.h:
28848        * bindings/v8/custom/V8ConsoleCustom.cpp:
28849        (WebCore::V8Console::traceCallback):
28850        (WebCore::V8Console::assertCallback):
28851        * inspector/ConsoleMessage.cpp:
28852        (WebCore::ConsoleMessage::ConsoleMessage):
28853        (WebCore::ConsoleMessage::addToFrontend):
28854        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
28855        (WebCore::ConsoleMessage::isEqual):
28856        * inspector/ConsoleMessage.h:
28857        * inspector/InspectorController.cpp:
28858        (WebCore::InspectorController::addMessageToConsole):
28859        (WebCore::InspectorController::startGroup):
28860        * inspector/InspectorController.h:
28861        * inspector/ScriptArguments.cpp: Added.
28862        (WebCore::ScriptArguments::ScriptArguments):
28863        (WebCore::ScriptArguments::~ScriptArguments):
28864        (WebCore::ScriptArguments::argumentAt):
28865        (WebCore::ScriptArguments::globalState):
28866        (WebCore::ScriptArguments::getFirstArgumentAsString):
28867        (WebCore::ScriptArguments::isEqual):
28868        * inspector/ScriptArguments.h: Added.
28869        (WebCore::ScriptArguments::argumentCount):
28870        * inspector/ScriptCallFrame.cpp: Added.
28871        (WebCore::ScriptCallFrame::ScriptCallFrame):
28872        (WebCore::ScriptCallFrame::~ScriptCallFrame):
28873        (WebCore::ScriptCallFrame::isEqual):
28874        (WebCore::ScriptCallFrame::buildInspectorObject):
28875        * inspector/ScriptCallFrame.h: Added.
28876        (WebCore::ScriptCallFrame::functionName):
28877        (WebCore::ScriptCallFrame::sourceURL):
28878        (WebCore::ScriptCallFrame::lineNumber):
28879        * inspector/ScriptCallStack.cpp: Added.
28880        (WebCore::ScriptCallStack::ScriptCallStack):
28881        (WebCore::ScriptCallStack::~ScriptCallStack):
28882        (WebCore::ScriptCallStack::at):
28883        (WebCore::ScriptCallStack::size):
28884        (WebCore::ScriptCallStack::isEqual):
28885        (WebCore::ScriptCallStack::buildInspectorObject):
28886        * inspector/ScriptCallStack.h: Added.
28887        * page/Console.cpp:
28888        (WebCore::Console::addMessage):
28889        (WebCore::Console::debug):
28890        (WebCore::Console::error):
28891        (WebCore::Console::info):
28892        (WebCore::Console::log):
28893        (WebCore::Console::dir):
28894        (WebCore::Console::dirxml):
28895        (WebCore::Console::trace):
28896        (WebCore::Console::assertCondition):
28897        (WebCore::Console::count):
28898        (WebCore::Console::markTimeline):
28899        (WebCore::Console::profile):
28900        (WebCore::Console::profileEnd):
28901        (WebCore::Console::timeEnd):
28902        (WebCore::Console::group):
28903        (WebCore::Console::groupCollapsed):
28904        (WebCore::Console::shouldCaptureFullStackTrace):
28905        (WebCore::Console::warn):
28906        * page/Console.h:
28907
289082010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28909
28910        Unreviewed. Revert r70232. Chromium compilation failure.
28911
289122010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28913
28914        Unreviewed. Revert r70233. Too many failures.
28915
289162010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28917
28918        Unreviewed. Remove references to deleted headers from WebCore.pro
28919
28920        * WebCore.pro:
28921
289222010-10-21  Yury Semikhatsky  <yurys@chromium.org>
28923
28924        Reviewed by Pavel Feldman.
28925
28926        Web Inspector: decouple ScriptArguments from ScriptCallStack
28927        https://bugs.webkit.org/show_bug.cgi?id=48058
28928
28929        ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
28930        The factory functions that allow to create ScriptCallStack from VM-specific
28931        objects are defined in ScriptCallStackFactory.cpp.
28932
28933        ScriptArguments class is used for passing arguments from JS code to the native
28934        part.
28935
28936        No new tests. This refactoring is covered with existing Console tests.
28937
28938        * WebCore.gypi:
28939        * WebCore.xcodeproj/project.pbxproj:
28940        * bindings/js/ScriptCallFrame.cpp: Removed.
28941        * bindings/js/ScriptCallFrame.h: Removed.
28942        * bindings/js/ScriptCallStack.cpp: Removed.
28943        * bindings/js/ScriptCallStack.h: Removed.
28944        * bindings/js/ScriptCallStackFactory.cpp: Added.
28945        (WebCore::createScriptCallStack):
28946        (WebCore::createScriptArguments):
28947        (WebCore::ScriptCallStack::stackTrace):
28948        * bindings/js/ScriptCallStackFactory.h: Added.
28949        * bindings/js/ScriptState.h:
28950        (WebCore::ScriptStateProtectedPtr::get):
28951        * bindings/scripts/CodeGeneratorJS.pm:
28952        * bindings/scripts/CodeGeneratorV8.pm:
28953        * bindings/v8/ScriptCallFrame.cpp: Removed.
28954        * bindings/v8/ScriptCallFrame.h: Removed.
28955        * bindings/v8/ScriptCallStack.cpp: Removed.
28956        * bindings/v8/ScriptCallStack.h: Removed.
28957        * bindings/v8/ScriptCallStackFactory.cpp: Added.
28958        (WebCore::toScriptCallFrame):
28959        (WebCore::toScriptCallFramesVector):
28960        (WebCore::createScriptCallStack):
28961        (WebCore::createScriptArguments):
28962        (WebCore::ScriptCallStack::stackTrace):
28963        * bindings/v8/ScriptCallStackFactory.h: Added.
28964        * bindings/v8/ScriptController.cpp:
28965        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
28966        * bindings/v8/ScriptState.h:
28967        (WebCore::ScriptStateProtectedPtr::get):
28968        * bindings/v8/V8ConsoleMessage.cpp:
28969        (WebCore::V8ConsoleMessage::handler):
28970        (WebCore::V8ConsoleMessage::dispatchNow):
28971        * bindings/v8/V8ConsoleMessage.h:
28972        * bindings/v8/custom/V8ConsoleCustom.cpp:
28973        (WebCore::V8Console::traceCallback):
28974        (WebCore::V8Console::assertCallback):
28975        * inspector/ConsoleMessage.cpp:
28976        (WebCore::ConsoleMessage::ConsoleMessage):
28977        (WebCore::ConsoleMessage::addToFrontend):
28978        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
28979        (WebCore::ConsoleMessage::isEqual):
28980        * inspector/ConsoleMessage.h:
28981        * inspector/InspectorController.cpp:
28982        (WebCore::InspectorController::addMessageToConsole):
28983        (WebCore::InspectorController::startGroup):
28984        * inspector/InspectorController.h:
28985        * inspector/ScriptArguments.cpp: Added.
28986        (WebCore::ScriptArguments::ScriptArguments):
28987        (WebCore::ScriptArguments::~ScriptArguments):
28988        (WebCore::ScriptArguments::argumentAt):
28989        (WebCore::ScriptArguments::globalState):
28990        (WebCore::ScriptArguments::getFirstArgumentAsString):
28991        (WebCore::ScriptArguments::isEqual):
28992        * inspector/ScriptArguments.h: Added.
28993        (WebCore::ScriptArguments::argumentCount):
28994        * inspector/ScriptCallFrame.cpp: Added.
28995        (WebCore::ScriptCallFrame::ScriptCallFrame):
28996        (WebCore::ScriptCallFrame::~ScriptCallFrame):
28997        (WebCore::ScriptCallFrame::isEqual):
28998        (WebCore::ScriptCallFrame::buildInspectorObject):
28999        * inspector/ScriptCallFrame.h: Added.
29000        (WebCore::ScriptCallFrame::functionName):
29001        (WebCore::ScriptCallFrame::sourceURL):
29002        (WebCore::ScriptCallFrame::lineNumber):
29003        * inspector/ScriptCallStack.cpp: Added.
29004        (WebCore::ScriptCallStack::ScriptCallStack):
29005        (WebCore::ScriptCallStack::~ScriptCallStack):
29006        (WebCore::ScriptCallStack::at):
29007        (WebCore::ScriptCallStack::size):
29008        (WebCore::ScriptCallStack::isEqual):
29009        (WebCore::ScriptCallStack::buildInspectorObject):
29010        * inspector/ScriptCallStack.h: Added.
29011        * page/Console.cpp:
29012        (WebCore::Console::addMessage):
29013        (WebCore::Console::debug):
29014        (WebCore::Console::error):
29015        (WebCore::Console::info):
29016        (WebCore::Console::log):
29017        (WebCore::Console::dir):
29018        (WebCore::Console::dirxml):
29019        (WebCore::Console::trace):
29020        (WebCore::Console::assertCondition):
29021        (WebCore::Console::count):
29022        (WebCore::Console::markTimeline):
29023        (WebCore::Console::profile):
29024        (WebCore::Console::profileEnd):
29025        (WebCore::Console::timeEnd):
29026        (WebCore::Console::group):
29027        (WebCore::Console::groupCollapsed):
29028        (WebCore::Console::shouldCaptureFullStackTrace):
29029        (WebCore::Console::warn):
29030        * page/Console.h:
29031
290322010-10-21  Pavel Feldman  <pfeldman@chromium.org>
29033
29034        Reviewed by Yury Semikhatsky.
29035
29036        Chromium: use dedicated event listener type in EventListenerWrapper.
29037        https://bugs.webkit.org/show_bug.cgi?id=48059
29038
29039        This change introduces new EventListener::Type NativeEventListenerType.
29040        This new type is intended to be used by any code that wants to protect
29041        itself from unsafe casts to particular event listener implementations.
29042
29043        * dom/EventListener.h:
29044
290452010-10-21  Sheriff Bot  <webkit.review.bot@gmail.com>
29046
29047        Unreviewed, rolling out r70225.
29048        http://trac.webkit.org/changeset/70225
29049        https://bugs.webkit.org/show_bug.cgi?id=48061
29050
29051        Build breakage on Leopard. (Requested by pfeldman on #webkit).
29052
29053        * WebCore.exp.in:
29054        * WebCore.xcodeproj/project.pbxproj:
29055        * css/CSSFontFaceSource.cpp:
29056        (WebCore::CSSFontFaceSource::getFontData):
29057        * css/CSSStyleSelector.cpp:
29058        (WebCore::CSSStyleSelector::applyProperty):
29059        * loader/CachedFont.cpp:
29060        (WebCore::CachedFont::platformDataFromCustomData):
29061        * loader/CachedFont.h:
29062        * platform/graphics/FontCache.cpp:
29063        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
29064        (WebCore::FontPlatformDataCacheKey::operator==):
29065        (WebCore::computeHash):
29066        (WebCore::FontCache::getCachedFontPlatformData):
29067        * platform/graphics/FontDescription.h:
29068        (WebCore::FontDescription::FontDescription):
29069        (WebCore::FontDescription::operator==):
29070        * platform/graphics/FontOrientation.h: Removed.
29071        * platform/graphics/SimpleFontData.h:
29072        * platform/graphics/cairo/FontCustomPlatformData.cpp:
29073        (WebCore::FontCustomPlatformData::fontPlatformData):
29074        * platform/graphics/cairo/FontCustomPlatformData.h:
29075        * platform/graphics/cocoa/FontPlatformData.h:
29076        (WebCore::FontPlatformData::FontPlatformData):
29077        (WebCore::FontPlatformData::hash):
29078        (WebCore::FontPlatformData::operator==):
29079        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
29080        (WebCore::FontPlatformData::FontPlatformData):
29081        (WebCore::FontPlatformData::operator=):
29082        (WebCore::FontPlatformData::allowsLigatures):
29083        (WebCore::FontPlatformData::description):
29084        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp:
29085        (WebCore::FontCustomPlatformData::fontPlatformData):
29086        * platform/graphics/haiku/FontCustomPlatformData.cpp:
29087        (WebCore::FontCustomPlatformData::fontPlatformData):
29088        * platform/graphics/haiku/FontCustomPlatformData.h:
29089        * platform/graphics/mac/FontCacheMac.mm:
29090        (WebCore::FontCache::getFontDataForCharacters):
29091        (WebCore::FontCache::createFontPlatformData):
29092        * platform/graphics/mac/FontCustomPlatformData.cpp:
29093        (WebCore::FontCustomPlatformData::fontPlatformData):
29094        * platform/graphics/mac/FontCustomPlatformData.h:
29095        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
29096        (WebCore::GlyphPage::fill):
29097        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
29098        (WebCore::SimpleFontData::getCFStringAttributes):
29099        * platform/graphics/mac/SimpleFontDataMac.mm:
29100        (WebCore::SimpleFontData::platformBoundsForGlyph):
29101        (WebCore::SimpleFontData::platformWidthForGlyph):
29102        * platform/graphics/qt/FontCustomPlatformData.h:
29103        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
29104        (WebCore::FontCustomPlatformData::fontPlatformData):
29105        * platform/graphics/skia/FontCustomPlatformData.cpp:
29106        (WebCore::FontCustomPlatformData::fontPlatformData):
29107        * platform/graphics/skia/FontCustomPlatformData.h:
29108        * platform/graphics/win/FontCustomPlatformData.cpp:
29109        (WebCore::FontCustomPlatformData::fontPlatformData):
29110        * platform/graphics/win/FontCustomPlatformData.h:
29111        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
29112        (WebCore::FontCustomPlatformData::fontPlatformData):
29113        * platform/graphics/win/FontCustomPlatformDataCairo.h:
29114        * platform/graphics/wince/FontCustomPlatformData.cpp:
29115        (WebCore::FontCustomPlatformData::fontPlatformData):
29116        * platform/graphics/wince/FontCustomPlatformData.h:
29117        * platform/graphics/wx/FontCustomPlatformData.cpp:
29118        (WebCore::FontCustomPlatformData::fontPlatformData):
29119        * platform/graphics/wx/FontCustomPlatformData.h:
29120
291212010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
29122
29123        Reviewed by Martin Robinson.
29124
29125        [GTK] Tests LayoutTests/fast/encoding/utf-32* fail when using glib unicode
29126        https://bugs.webkit.org/show_bug.cgi?id=47805
29127
29128        Register UTF-32 encodings in TextCodecGtk.
29129
29130        * platform/text/gtk/TextCodecGtk.cpp:
29131        (WebCore::TextCodecGtk::registerBaseEncodingNames):
29132        (WebCore::TextCodecGtk::registerBaseCodecs):
29133
291342010-10-21  Luiz Agostini  <luiz.agostini@openbossa.org>
29135
29136        Reviewed by Darin Adler.
29137
29138        Adding MediaQueryListListener binding test cases
29139        https://bugs.webkit.org/show_bug.cgi?id=48028
29140
29141        MediaQueryListListener type will need special handling of the code generators. Adding the test cases.
29142
29143        * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp: Added.
29144        (WebDOMTestMediaQueryListListener::WebDOMTestMediaQueryListListenerPrivate::WebDOMTestMediaQueryListListenerPrivate):
29145        (WebDOMTestMediaQueryListListener::WebDOMTestMediaQueryListListener):
29146        (WebDOMTestMediaQueryListListener::operator=):
29147        (WebDOMTestMediaQueryListListener::impl):
29148        (WebDOMTestMediaQueryListListener::~WebDOMTestMediaQueryListListener):
29149        (WebDOMTestMediaQueryListListener::method):
29150        (toWebCore):
29151        (toWebKit):
29152        * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.h: Added.
29153        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp: Added.
29154        (WebKit::kit):
29155        (webkit_dom_test_media_query_list_listener_method):
29156        (WebKit::core):
29157        (webkit_dom_test_media_query_list_listener_finalize):
29158        (webkit_dom_test_media_query_list_listener_set_property):
29159        (webkit_dom_test_media_query_list_listener_get_property):
29160        (webkit_dom_test_media_query_list_listener_constructed):
29161        (webkit_dom_test_media_query_list_listener_class_init):
29162        (webkit_dom_test_media_query_list_listener_init):
29163        (WebKit::wrapTestMediaQueryListListener):
29164        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h: Added.
29165        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h: Added.
29166        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Added.
29167        (WebCore::JSTestMediaQueryListListenerConstructor::classInfo):
29168        (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
29169        (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
29170        (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
29171        (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
29172        (WebCore::JSTestMediaQueryListListenerPrototype::self):
29173        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
29174        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
29175        (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
29176        (WebCore::JSTestMediaQueryListListener::~JSTestMediaQueryListListener):
29177        (WebCore::JSTestMediaQueryListListener::createPrototype):
29178        (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
29179        (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
29180        (WebCore::jsTestMediaQueryListListenerConstructor):
29181        (WebCore::JSTestMediaQueryListListener::getConstructor):
29182        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
29183        (WebCore::toJS):
29184        (WebCore::toTestMediaQueryListListener):
29185        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Added.
29186        (WebCore::JSTestMediaQueryListListener::classInfo):
29187        (WebCore::JSTestMediaQueryListListener::createStructure):
29188        (WebCore::JSTestMediaQueryListListener::impl):
29189        (WebCore::JSTestMediaQueryListListenerPrototype::classInfo):
29190        (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
29191        (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
29192        * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h: Added.
29193        * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm: Added.
29194        (-[DOMTestMediaQueryListListener dealloc]):
29195        (-[DOMTestMediaQueryListListener finalize]):
29196        (-[DOMTestMediaQueryListListener method:]):
29197        (core):
29198        (kit):
29199        * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h: Added.
29200        * bindings/scripts/test/TestMediaQueryListListener.idl: Added.
29201        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Added.
29202        (WebCore::TestMediaQueryListListenerInternal::V8_USE):
29203        (WebCore::TestMediaQueryListListenerInternal::methodCallback):
29204        (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
29205        (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
29206        (WebCore::V8TestMediaQueryListListener::GetTemplate):
29207        (WebCore::V8TestMediaQueryListListener::HasInstance):
29208        (WebCore::V8TestMediaQueryListListener::wrapSlow):
29209        (WebCore::V8TestMediaQueryListListener::derefObject):
29210        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Added.
29211        (WebCore::V8TestMediaQueryListListener::toNative):
29212        (WebCore::V8TestMediaQueryListListener::wrap):
29213        (WebCore::toV8):
29214
292152010-10-21  takano takumi  <takano1@asia.apple.com>
29216
29217        Reviewed by Dan Bernstein.
29218
29219        Need to swap glyphs for vertical writing
29220        https://bugs.webkit.org/show_bug.cgi?id=46973
29221
29222        Made changes to pass the writing-mode orientation flag in RenderStyle down to FontPlatformData,
29223        and ultimately to CoreText APIs in both font complex path and fast path.
29224
29225        Tests: fast/text/international/vertical-text-glyph-test.html
29226               fast/text/international/vertical-text-metrics-test.html
29227
29228        * WebCore.exp.in:
29229        * WebCore.xcodeproj/project.pbxproj: Added platform/graphics/FontOrientation.h.
29230        * css/CSSFontFaceSource.cpp:
29231        (WebCore::CSSFontFaceSource::getFontData): Added font orientation parameter to SimpleFontData.
29232        * css/CSSStyleSelector.cpp:
29233        (WebCore::CSSStyleSelector::applyProperty): Set appropriate font orientation to the font description
29234        when writing-mode is being specified.
29235        * loader/CachedFont.cpp:
29236        (WebCore::CachedFont::platformDataFromCustomData): Made to pass font orientation to FontPlatformData.
29237        * loader/CachedFont.h:
29238        * platform/graphics/FontCache.cpp: Added font orientation to FontPlatformDataCacheKey
29239        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
29240        (WebCore::FontPlatformDataCacheKey::operator==):
29241        (WebCore::computeHash):
29242        (WebCore::FontCache::getCachedFontPlatformData):
29243        * platform/graphics/FontDescription.h: Added font orientation support to FontDescription class
29244        (WebCore::FontDescription::FontDescription):
29245        (WebCore::FontDescription::orientation):
29246        (WebCore::FontDescription::setOrientation):
29247        (WebCore::FontDescription::operator==):
29248        * platform/graphics/FontOrientation.h: Added.
29249        * platform/graphics/SimpleFontData.h:
29250        * platform/graphics/cairo/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
29251        (WebCore::FontCustomPlatformData::fontPlatformData):
29252        * platform/graphics/cairo/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29253        * platform/graphics/cocoa/FontPlatformData.h: Added font orientation support to FontPlatformData class
29254        (WebCore::FontPlatformData::FontPlatformData):
29255        (WebCore::FontPlatformData::orientation):
29256        (WebCore::FontPlatformData::hash):
29257        (WebCore::FontPlatformData::operator==):
29258        * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Added font orientation support
29259        (WebCore::FontPlatformData::FontPlatformData):
29260        (WebCore::FontPlatformData::operator=):
29261        (WebCore::FontPlatformData::allowsLigatures): Don't allow ligatures when the font is vertical orientation.
29262        (WebCore::FontPlatformData::description):
29263        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Changed to pass font orientation to fontPlatformData()
29264        (WebCore::FontCustomPlatformData::fontPlatformData):
29265        * platform/graphics/haiku/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
29266        (WebCore::FontCustomPlatformData::fontPlatformData):
29267        * platform/graphics/haiku/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29268        * platform/graphics/mac/FontCacheMac.mm: Added font orientation parameter when creating FontPlatformData object.
29269        (WebCore::FontCache::getFontDataForCharacters):
29270        (WebCore::FontCache::createFontPlatformData):
29271        * platform/graphics/mac/FontCustomPlatformData.cpp: Added font orientation parameter when creating FontPlatformData object.
29272        (WebCore::FontCustomPlatformData::fontPlatformData):
29273        * platform/graphics/mac/FontCustomPlatformData.h: Changed to pass font orientation parameter to fontPlatformData()
29274        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
29275        (WebCore::GlyphPage::fill): Changed to use CoreText to extract glyphs when the current font is vertical orientation.
29276        CoreText automatically swaps glyphs with vertical variants when the font orientation is vertical.
29277        * platform/graphics/mac/SimpleFontDataCoreText.cpp: Added vertical form attribute to the attribute dictionary for a CTLine.
29278        (WebCore::SimpleFontData::getCFStringAttributes):
29279        * platform/graphics/mac/SimpleFontDataMac.mm:
29280        (WebCore::SimpleFontData::platformBoundsForGlyph): Changed to use CoreText (from CG) to support vertical metrics.
29281        (WebCore::SimpleFontData::platformWidthForGlyph): Made to use CoreText, instead of wkGetGlyphTransformedAdvances,
29282        to get vertical metrics when the font orientation is vertical.
29283        * platform/graphics/qt/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29284        * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Changed to pass font orientation to fontPlatformData()
29285        (WebCore::FontCustomPlatformData::fontPlatformData):
29286        * platform/graphics/skia/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
29287        (WebCore::FontCustomPlatformData::fontPlatformData):
29288        * platform/graphics/skia/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29289        * platform/graphics/win/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
29290        (WebCore::FontCustomPlatformData::fontPlatformData):
29291        * platform/graphics/win/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29292        * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Changed to pass font orientation to fontPlatformData()
29293        (WebCore::FontCustomPlatformData::fontPlatformData):
29294        * platform/graphics/win/FontCustomPlatformDataCairo.h: Changed to pass font orientation to fontPlatformData()
29295        * platform/graphics/wince/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
29296        (WebCore::FontCustomPlatformData::fontPlatformData):
29297        * platform/graphics/wince/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29298        * platform/graphics/wx/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
29299        (WebCore::FontCustomPlatformData::fontPlatformData):
29300        * platform/graphics/wx/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
29301
293022010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
29303
29304        Reviewed by Dirk Schulze.
29305
29306        Redesign SVGAnimatedProperty concept to share "POD type wrappers" between all bindings (-> add ObjC SVG bindings)
29307        https://bugs.webkit.org/show_bug.cgi?id=47905
29308
29309        Tests: svg/dom/SVGLengthList-appendItem.xhtml
29310               svg/dom/SVGLengthList-basics.xhtml
29311               svg/dom/SVGLengthList-getItem.xhtml
29312               svg/dom/SVGLengthList-initialize.xhtml
29313               svg/dom/SVGLengthList-insertItemBefore.xhtml
29314               svg/dom/SVGLengthList-removeItem.xhtml
29315               svg/dom/SVGLengthList-replaceItem.xhtml
29316               svg/dom/SVGLengthList-xml-dom-modifications.xhtml
29317
29318        Introduce a more lightweight, less intrusive way to expose SVGAnimated* DOM bindings.
29319
29320        Concrete example:
29321        The SVG DOM defines a 'SVGAnimatedLength' object, that's used to represent the x / y / width / height attributes of a 'SVGRectElement'.
29322        Each 'SVGAnimatedLength' object exposes a baseVal (markup defined attribute value) and an animVal (reflects the current state during animations),
29323        both of type 'SVGLength'. These objects are all _live_. That means you can do:
29324        var foobar = rect.x.baseVal; foobar.value += 150;
29325
29326        If we'd implement the SVG DOM straightforward, we'd have to store a refcounted SVGAnimatedLength object, containing two refcounted SVGLength objects
29327        in SVGRectElement, for each of the x/y/width/height attributes. Our solution, to reduce memory footprint and increase performance is to store
29328        SVGLength stack-allocated, non refcounted types in SVGRectElement for x/y/width/height, and don't implement the SVGAnimatedLength object at all.
29329
29330        In the past the JS bindings had to expose wrappers for SVGAnimatedLength on their own, and wrap each SVGLength object in an object called JSSVGPODTypeWrapper<SVGLength>.
29331        When JS changed the 'value' of the 'SVGLength', we constructed a copy of the SVGLength object, modified it, and called rectElement->setXBaseValue(newLength).
29332        This is not efficient at all, as we have to construct several copies of the SVGLength object, utilize callbacks to propagate the value changes in the SVG DOM.
29333        Furthermore, all bindings had to expose a similar concept, otherwhise SVG DOM wouldn't work. Up until now, only JSC and V8 bindings were available, that worked properly.
29334
29335        The new SVGAnimatedProperty concept removes the need for JSSVGPODTypeWrapper (and friends like JSSVGContextCache, that associated a SVGLength with its SVGRectElement).
29336        Instead a solution is offered, that all bindings can use simultaneously, without adding new types or special concepts like JSSVGPODTypeWrapper.
29337
29338        It works like this:
29339        A new refcounted SVGAnimatedProperty<PropertyType> template class is available, that stores a QualifiedName to associate the SVG DOM property with a XML DOM attribute.
29340        It also stores a RefPtr to the SVGElement that created it.
29341        
29342        In SVGRectElement we still store SVGLength m_x/m_y/m_width/m_height members, and offer a new "xAnimated()" method which looks up or creates a SVGAnimatedProperty<SVGLength>
29343        object. The JS/V8/ObjC bindings call this method whenever someone requests "rect.x/y/width/height", and a new wrapper is created, and stored in a HashMap.
29344
29345        The SVGAnimatedProperty<PropertyType> is a base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff, the latter is used for all types of lists (SVGLengthList).
29346        SVGAnimatedProperty contains two methods used in the bindings: SVGProperty* baseVal and SVGProperty* animVal. SVGProperty is a base class for SVGPropertyTearOff and
29347        SVGListPropertyTearOff. Upon invocation of the baseVal/animVal methods a new SVG(List)PropertyTearOff object is created and stored in a RefPtr.
29348        The SVGPropertyTearOff objects stores a _reference_ to the type it wraps. Concrete example:
29349        When calling rect.x, a SVGAnimatedPropertyTearOff<SVGLength> is created, that stores a pointer to the SVGRectElement, and a SVGNames::xAttr.
29350        When calling rect.x.baseVal, a SVGPropertyTearOf<SVGLength> is created, that stores a reference to the "m_x" member variable of the SVGRectElement.
29351        Any changes applied to the SVGLength object, through the wrapper, are immediately live, as no copies are involved anymore, nor the need to fire any callback methods.
29352        This is the key concept of the new tear offs, no copies, no callbacks, no virtual methods (except one, needed for lists, but it's a detail).
29353
29354        The SVGAnimatedListPropertyTearOff and SVGListPropertyTearOff work the same, but for SVG*List objects. The whole SVG*List API is _removed_ from the SVG DOM classes
29355        like SVGLengthList. It now inherits from Vector<SVGLength>, where it used to store a Vector<RefPtr<SVGListItem<SVGLength> > >. The SVGList API (insertItemBefore, appendItem, etc.)
29356        is exposed through SVGListPropertyTearOff, and there's no need anymore for SVGLengthList to deal with it at all.
29357        SVGLengthList is live just like most other SVG DOM object. Concrete example:
29358        var item0 = text.x.baseVal.getItem(0); item0.value += 150;
29359
29360        Previously we chose to store a refcounted SVGListItem object, which wrapped the SVGLength object, to achieve liveness. We could change a single list item from DOM
29361        w/o copying the whole list. The drawback is that a simple type likeSVGLengthList, was heavy to store, as it contained a list of RefPtrs around a wrapper object
29362        around the real object 'SVGLength'. This complexity is completly gone.
29363
29364        The SVGListPropertyTearOff<SVGLengthList> stores a reference to the SVGLengthList object (eg. SVGTextElement::m_x) and maintains a list of SVGPropertyTearOff<SVGLength>
29365        wrappers, that are created when necessary (getItem(2), will create a wrapper around the third list item), and cached. These SVGPropertyTearOff<SVGLength> objects
29366        store references to the SVGLength object _in the SVGLengthList_. One has to be extra carefully, to keep those lists synchronized.
29367        The SVGLengthList API is fully implemented for the first time, including moving items between lists, and is extensively tested with 8 new testcases.
29368
29369        This patch only changed SVGLength/SVGLengthList to the new concept. All other types remain using the old DeprecatedSVGAnimatedProperty* concept.
29370        This will change in follow-up patches.
29371
29372        * GNUmakefile.am: Add new files from svg/properties to build.
29373        * WebCore.gypi: Ditto.
29374        * WebCore.pro: Ditto.
29375        * WebCore.vcproj/WebCore.vcproj: Ditto.
29376        * WebCore.xcodeproj/project.pbxproj: Ditto.
29377        * bindings/js/JSSVGLengthCustom.cpp: Adapt to context cache removal for SVGLength.
29378        (WebCore::JSSVGLength::value):
29379        (WebCore::JSSVGLength::convertToSpecifiedUnits):
29380        * bindings/scripts/CodeGenerator.pm: Add new isSVGNewStyleAnimatedProperty() helper method, return true for "SVGAnimatedLength" and "SVGAnimatedLengthList".
29381        * bindings/scripts/CodeGeneratorJS.pm: Generate new style SVG JS bindings, that don't need JSSVGContextCache / JSSVGPODTypeWrapper.
29382        * bindings/scripts/CodeGeneratorObjC.pm: Ditto. (+ Finally expose a working set of SVG DOM API for Objective C).
29383        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
29384        * bindings/v8/custom/V8SVGLengthCustom.cpp: Adapt to context cache removal for SVGLength.
29385        (WebCore::V8SVGLength::valueAccessorGetter):
29386        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
29387        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
29388        (WebCore::extractFloatValuesFromSVGLengthList): SVGLengthList is a POD type now, passed as const reference.
29389        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove handling for SVGLength/SVGLengthList, those are converted to the new SVGAnimatedProperty design now.
29390        * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
29391        * svg/SVGAnimatedLength.h: Added.
29392        * svg/SVGAnimatedLength.idl: Mark as [SVGAnimatedProperty].
29393        * svg/SVGAnimatedLengthList.h: Added.
29394        * svg/SVGAnimatedLengthList.idl: Mark as [SVGAnimatedProperty].
29395        * svg/SVGCircleElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
29396        * svg/SVGCursorElement.h: Ditto.
29397        * svg/SVGEllipseElement.h: Ditto.
29398        * svg/SVGFilterElement.h: Ditto.
29399        * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
29400        * svg/SVGForeignObjectElement.h: Ditto.
29401        * svg/SVGImageElement.h: Ditto.
29402        * svg/SVGLength.idl: Mark as [SVGProperty].
29403        * svg/SVGLengthList.cpp: Use Vector API (appendItem -> append). No need to ever use the SVGList API internally. SVGLengthList is a Vector<SVGLength> now.
29404        (WebCore::SVGLengthList::parse): 
29405        (WebCore::SVGLengthList::valueAsString):
29406        * svg/SVGLengthList.h: Inherit from Vector<SVGLength> - not from the SVGList base class. It's a simple, non-refcounted POD type now.
29407        (WebCore::SVGLengthList::SVGLengthList):
29408        * svg/SVGLengthList.idl: Mark as [SVGListProperty].
29409        * svg/SVGLineElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
29410        * svg/SVGLinearGradientElement.h: Ditto.
29411        * svg/SVGMarkerElement.h: Ditto.
29412        * svg/SVGMaskElement.h: Ditto.
29413        * svg/SVGPatternElement.h: Ditto.
29414        * svg/SVGRadialGradientElement.h: Ditto.
29415        * svg/SVGRectElement.h: Ditto.
29416        * svg/SVGSVGElement.h: Ditto.
29417        * svg/SVGSVGElement.idl: Mark createSVGLength() as [SVGLiveProperty] - a wrapper for the returned object has to be created.
29418        * svg/SVGTextContentElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
29419        * svg/SVGTextPathElement.h: Ditto.
29420        * svg/SVGTextPositioningElement.cpp:
29421        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
29422        (WebCore::SVGTextPositioningElement::parseMappedAttribute): Detach wrappers pointing to the old x/y/dx/dy list, if the underlying list changes via XML DOM.
29423        (WebCore::listContainsRelativeValue): Adapt to SVGLengthList interface changes, it's a POD type now.
29424        * svg/SVGTextPositioningElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_LIST_PROPERTY_NEW/ until the transition to the new concept is finished.
29425        * svg/SVGUseElement.h:
29426        * svg/properties/SVGAnimatedListPropertyTearOff.h: Added.
29427        * svg/properties/SVGAnimatedProperty.h: Added. This is the base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff.
29428        * svg/properties/SVGAnimatedPropertyDescription.h: Added. Refactored from DeprecatedSVGAnimatedProperty.h.
29429        * svg/properties/SVGAnimatedPropertyMacros.h: Added. These macros will be _removed_ as soon as the transition to the new concept is finished.
29430        * svg/properties/SVGAnimatedPropertyTearOff.h: Added.
29431        * svg/properties/SVGListPropertyTearOff.h: Added.
29432        * svg/properties/SVGProperty.h: Added. This is the base class for SVGPropertyTearOff and SVGListPropertyTearOff.
29433        * svg/properties/SVGPropertyTearOff.h: Added.
29434        * svg/properties/SVGPropertyTraits.h: Added.
29435
294362010-10-21  Alex Milowski  <alex@milowski.com>
29437
29438        Reviewed by Kenneth Rohde Christiansen.
29439
29440        Changed the layout algorithm for rows to avoid unnecessary recursion
29441        into child rows.  This solves the long rendering time experienced in
29442        https://bugs.webkit.org/show_bug.cgi?id=43462 as well as reports in
29443        various other bugs.  The change in the algorithm required some
29444        tweaks to other rendering objects to make sure that the baseline
29445        alignment still works.
29446
29447        In addition, an attempt was made to go through the various
29448        rendering objects for MathML and reduce unnecessary calls that
29449        mark the tree in need of layout.
29450
29451        * mathml/RenderMathMLFenced.cpp:
29452        * mathml/RenderMathMLFenced.h:
29453        * mathml/RenderMathMLFraction.cpp:
29454        (WebCore::RenderMathMLFraction::layout):
29455        * mathml/RenderMathMLOperator.cpp:
29456        (WebCore::RenderMathMLOperator::stretchToHeight):
29457        * mathml/RenderMathMLRoot.cpp:
29458        (WebCore::RenderMathMLRoot::layout):
29459        * mathml/RenderMathMLRow.cpp:
29460        (WebCore::RenderMathMLRow::layout):
29461        * mathml/RenderMathMLRow.h:
29462        (WebCore::RenderMathMLRow::stretchToHeight):
29463        * mathml/RenderMathMLSubSup.cpp:
29464        (WebCore::RenderMathMLSubSup::addChild):
29465        (WebCore::RenderMathMLSubSup::stretchToHeight):
29466        (WebCore::RenderMathMLSubSup::nonOperatorHeight):
29467        (WebCore::RenderMathMLSubSup::layout):
29468        (WebCore::RenderMathMLSubSup::baselinePosition):
29469        * mathml/RenderMathMLUnderOver.cpp:
29470        (WebCore::RenderMathMLUnderOver::stretchToHeight):
29471        (WebCore::RenderMathMLUnderOver::layout):
29472        (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
29473        * mathml/mathtags.in:
29474
294752010-10-21  Evan Martin  <evan@chromium.org>
29476
29477        Reviewed by Tony Chang.
29478
29479        sqlite: show extended error codes in error logs
29480        https://bugs.webkit.org/show_bug.cgi?id=47859
29481
29482        SQLite can provide "extended" error codes, where extra information
29483        about the error is potentially encoded in the high bits of the error
29484        code.  It's only off by default in case older apps rely on equality
29485        testing on the older error codes, which WebKit doesn't do.
29486
29487        * platform/sql/SQLiteDatabase.cpp:
29488        (WebCore::SQLiteDatabase::open):
29489        * platform/sql/SQLiteStatement.cpp:
29490        (WebCore::SQLiteStatement::step):
29491
294922010-10-21  Yuta Kitamura  <yutak@chromium.org>
29493
29494        Reviewed by Yury Semikhatsky.
29495
29496        Web Inspector: Handle WebSocket events via InspectorInstrumentation
29497        https://bugs.webkit.org/show_bug.cgi?id=47968
29498
29499        * inspector/InspectorInstrumentation.cpp:
29500        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
29501        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
29502        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
29503        (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
29504        * inspector/InspectorInstrumentation.h:
29505        (WebCore::InspectorInstrumentation::didCreateWebSocket):
29506        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
29507        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
29508        (WebCore::InspectorInstrumentation::didCloseWebSocket):
29509        * websockets/WebSocketChannel.cpp:
29510        (WebCore::WebSocketChannel::WebSocketChannel):
29511        Now we do not depend on InspectorController to generate a resource identifier.
29512        (WebCore::WebSocketChannel::disconnect):
29513        Check if m_identifier is valid in case we could not obtain an identifier.
29514        (WebCore::WebSocketChannel::didOpen):
29515        (WebCore::WebSocketChannel::didClose):
29516        (WebCore::WebSocketChannel::processBuffer):
29517        * websockets/WebSocketChannel.h:
29518
295192010-10-20  Pavel Feldman  <pfeldman@chromium.org>
29520
29521        Reviewed by Yury Semikhatsky.
29522
29523        Web Inspector: Convert sidebar into the browsing tree in the Storage panel.
29524        https://bugs.webkit.org/show_bug.cgi?id=47988
29525
29526        * English.lproj/localizedStrings.js:
29527        * inspector/front-end/ApplicationCacheItemsView.js:
29528        (WebInspector.ApplicationCacheItemsView):
29529        * inspector/front-end/ConsoleView.js:
29530        (WebInspector.ConsoleMessage.prototype._formatMessage):
29531        * inspector/front-end/CookieItemsView.js:
29532        (WebInspector.CookieItemsView):
29533        * inspector/front-end/DatabaseTableView.js:
29534        (WebInspector.DatabaseTableView.prototype._queryFinished):
29535        * inspector/front-end/StoragePanel.js:
29536        (WebInspector.StoragePanel):
29537        (WebInspector.StoragePanel.prototype.reset):
29538        (WebInspector.StoragePanel.prototype.addDatabase):
29539        (WebInspector.StoragePanel.prototype.addCookieDomain):
29540        (WebInspector.StoragePanel.prototype.addDOMStorage):
29541        (WebInspector.StoragePanel.prototype.addApplicationCache):
29542        (WebInspector.StoragePanel.prototype.showDatabase):
29543        (WebInspector.StoragePanel.prototype.showDOMStorage):
29544        (WebInspector.StoragePanel.prototype.showCookies):
29545        (WebInspector.StoragePanel.prototype.showApplicationCache):
29546        (WebInspector.StoragePanel.prototype.showCategoryView):
29547        (WebInspector.StoragePanel.prototype._innerShowView):
29548        (WebInspector.BaseStorageTreeElement):
29549        (WebInspector.BaseStorageTreeElement.prototype.onattach):
29550        (WebInspector.StorageCategoryTreeElement):
29551        (WebInspector.StorageCategoryTreeElement.prototype.onselect):
29552        (WebInspector.DatabaseTreeElement):
29553        (WebInspector.DatabaseTreeElement.prototype.onselect):
29554        (WebInspector.DatabaseTreeElement.prototype.onpopulate.tableNamesCallback):
29555        (WebInspector.DatabaseTreeElement.prototype.onpopulate):
29556        (WebInspector.DatabaseTableTreeElement):
29557        (WebInspector.DatabaseTableTreeElement.prototype.onselect):
29558        (WebInspector.DOMStorageTreeElement):
29559        (WebInspector.DOMStorageTreeElement.prototype.onselect):
29560        (WebInspector.CookieTreeElement):
29561        (WebInspector.CookieTreeElement.prototype.onselect):
29562        (WebInspector.ApplicationCacheTreeElement):
29563        (WebInspector.ApplicationCacheTreeElement.prototype.onselect):
29564        (WebInspector.StorageCategoryView):
29565        (WebInspector.StorageCategoryView.prototype.setText):
29566        * inspector/front-end/inspector.css:
29567        (.properties-tree ol):
29568        (.properties-tree ol.expanded):
29569        (.database-storage-tree-item .icon):
29570        (.database-table-storage-tree-item .icon):
29571        (.domstorage-storage-tree-item.local-storage .icon):
29572        (.domstorage-storage-tree-item.session-storage .icon):
29573        (.cookie-storage-tree-item .icon):
29574        (.application-cache-storage-tree-item .icon):
29575        (.storage.panel .sidebar):
29576        (.storage.panel .outline-disclosure > ol):
29577        (.storage.panel .outline-disclosure li):
29578        (.storage.panel .outline-disclosure li .selection):
29579        (.storage.panel .sidebar-resizer-vertical):
29580        (.storage-base-tree-element-title):
29581        (.storage.panel .outline-disclosure ol):
29582        (.storage.panel .outline-disclosure li.selected):
29583        (.storage.panel .outline-disclosure .icon):
29584        (.storage-empty-view, .storage-view.table .storage-table-error):
29585
295862010-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
29587
29588        Reviewed by Martin Robinson.
29589
29590        [GTK] Replace encodings multi-dimensional array with calls to registrar method
29591        https://bugs.webkit.org/show_bug.cgi?id=47990
29592
29593        * platform/text/gtk/TextCodecGtk.cpp:
29594        (WebCore::isEncodingAvailable):
29595        (WebCore::registerEncodingNameIfAvailable):
29596        (WebCore::registerEncodingAliasIfAvailable):
29597        (WebCore::registerCodecIfAvailable):
29598        (WebCore::TextCodecGtk::registerBaseEncodingNames):
29599        (WebCore::TextCodecGtk::registerBaseCodecs):
29600        (WebCore::TextCodecGtk::registerExtendedEncodingNames):
29601        (WebCore::TextCodecGtk::registerExtendedCodecs):
29602        (WebCore::TextCodecGtk::createIConvDecoder):
29603        (WebCore::TextCodecGtk::createIConvEncoder):
29604        * platform/text/gtk/TextCodecGtk.h:
29605
296062010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
29607
29608        Unreviewed, rolling out r70040.
29609        http://trac.webkit.org/changeset/70040
29610        https://bugs.webkit.org/show_bug.cgi?id=48042
29611
29612        "Reverting a performance regression detected by page_cycler"
29613        (Requested by hayato on #webkit).
29614
29615        * css/CSSStyleSelector.cpp:
29616        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
29617        (WebCore::CSSStyleSelector::checkSelector):
29618        * css/CSSStyleSelector.h:
29619
296202010-10-19  Simon Fraser  <simon.fraser@apple.com>
29621
29622        Reviewed by Gavin Barraclough.
29623
29624        https://bugs.webkit.org/show_bug.cgi?id=47851
29625        
29626        Avoid buffer overflows in CSSPrimitiveValue's use of 
29627        DecimalNumber, and pass the buffer size in InspectorBasicValue.
29628
29629        Test: fast/css/large-value-csstext.html
29630
29631        * css/CSSPrimitiveValue.cpp:
29632        (WebCore::formatNumber):
29633        * inspector/InspectorValues.cpp:
29634        (WebCore::InspectorBasicValue::writeJSON):
29635
296362010-10-20  Dumitru Daniliuc  <dumi@chromium.org>
29637
29638        Reviewed by David Levin.
29639
29640        Add SecurityOrigin::threadsafeCopy() to the list of exported symbols.
29641        https://bugs.webkit.org/show_bug.cgi?id=40655
29642
29643        * WebCore.exp.in:
29644
296452010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
29646
29647        Unreviewed, rolling out r70165.
29648        http://trac.webkit.org/changeset/70165
29649        https://bugs.webkit.org/show_bug.cgi?id=48007
29650
29651        It broke tests on Qt bot (Requested by Ossy on #webkit).
29652
29653        * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
29654        * bindings/js/ScriptSourceCode.h:
29655        (WebCore::ScriptSourceCode::ScriptSourceCode):
29656        * bindings/v8/ScheduledAction.cpp:
29657        (WebCore::ScheduledAction::ScheduledAction):
29658        * bindings/v8/ScriptController.cpp:
29659        (WebCore::ScriptController::eventHandlerLineNumber):
29660        (WebCore::ScriptController::eventHandlerColumnNumber):
29661        * bindings/v8/ScriptController.h:
29662        * bindings/v8/ScriptEventListener.cpp:
29663        (WebCore::createAttributeEventListener):
29664        * bindings/v8/ScriptSourceCode.h:
29665        (WebCore::ScriptSourceCode::ScriptSourceCode):
29666        (WebCore::ScriptSourceCode::startLine):
29667        * bindings/v8/V8LazyEventListener.cpp:
29668        (WebCore::V8LazyEventListener::V8LazyEventListener):
29669        (WebCore::V8LazyEventListener::prepareListenerObject):
29670        * bindings/v8/V8LazyEventListener.h:
29671        (WebCore::V8LazyEventListener::create):
29672        * bindings/v8/V8Proxy.cpp:
29673        (WebCore::V8Proxy::compileScript):
29674        (WebCore::V8Proxy::evaluate):
29675        (WebCore::V8Proxy::runScript):
29676        * bindings/v8/V8Proxy.h:
29677        * bindings/v8/WorkerContextExecutionProxy.cpp:
29678        (WebCore::WorkerContextExecutionProxy::evaluate):
29679        (WebCore::WorkerContextExecutionProxy::runScript):
29680        * bindings/v8/WorkerContextExecutionProxy.h:
29681        * bindings/v8/WorkerScriptController.cpp:
29682        (WebCore::WorkerScriptController::evaluate):
29683        * dom/PendingScript.cpp:
29684        (WebCore::PendingScript::releaseElementAndClear):
29685        * dom/PendingScript.h:
29686        (WebCore::PendingScript::PendingScript):
29687        (WebCore::PendingScript::operator=):
29688        (WebCore::PendingScript::startingLineNumber):
29689        * dom/ScriptableDocumentParser.h:
29690        * dom/XMLDocumentParser.h:
29691        * dom/XMLDocumentParserLibxml2.cpp:
29692        (WebCore::XMLDocumentParser::XMLDocumentParser):
29693        (WebCore::XMLDocumentParser::startElementNs):
29694        (WebCore::XMLDocumentParser::endElementNs):
29695        (WebCore::XMLDocumentParser::lineNumber):
29696        (WebCore::XMLDocumentParser::columnNumber):
29697        * dom/XMLDocumentParserQt.cpp:
29698        (WebCore::XMLDocumentParser::XMLDocumentParser):
29699        (WebCore::XMLDocumentParser::parseStartElement):
29700        (WebCore::XMLDocumentParser::parseEndElement):
29701        * html/parser/HTMLDocumentParser.cpp:
29702        (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
29703        (WebCore::HTMLDocumentParser::columnNumber):
29704        * html/parser/HTMLDocumentParser.h:
29705        * html/parser/HTMLScriptRunner.cpp:
29706        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
29707        (WebCore::HTMLScriptRunner::execute):
29708        (WebCore::HTMLScriptRunner::runScript):
29709        * html/parser/HTMLScriptRunner.h:
29710        * html/parser/HTMLTreeBuilder.cpp:
29711        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
29712        (WebCore::HTMLTreeBuilder::takeScriptToProcess):
29713        (WebCore::HTMLTreeBuilder::processEndTag):
29714        (WebCore::HTMLTreeBuilder::processScriptStartTag):
29715        * html/parser/HTMLTreeBuilder.h:
29716
297172010-10-20  David Hyatt  <hyatt@apple.com>
29718
29719        Reviewed by Dan Bernstein.
29720
29721        https://bugs.webkit.org/show_bug.cgi?id=48001
29722
29723        Make boxes place themselves properly in the block direction.  Get basic painting working for spans and add a test that
29724        verifies that span painting and replaced element painting (like images) works correctly.
29725        
29726        Added fast/blockflow/basic-vertical-line.html
29727
29728        * rendering/InlineBox.cpp:
29729        (WebCore::InlineBox::logicalHeight):
29730        * rendering/InlineFlowBox.cpp:
29731        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
29732        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
29733        (WebCore::verticalPositionForBox):
29734        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
29735        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
29736        (WebCore::InlineFlowBox::flipLinesInBlockDirection):
29737        (WebCore::InlineFlowBox::paintBoxDecorations):
29738        (WebCore::InlineFlowBox::paintMask):
29739        * rendering/InlineFlowBox.h:
29740        * rendering/style/RenderStyle.h:
29741        (WebCore::InheritedFlags::isFlippedLinesWritingMode):
29742
297432010-10-20  Beth Dakin  <bdakin@apple.com>
29744
29745        Reviewed by Dave Hyatt.
29746
29747        Fix for https://bugs.webkit.org/show_bug.cgi?id=47514 CSS 
29748        transforms should affect scrolling
29749
29750        This patch causes topmostPosition, lowestPosition, 
29751        leftmostPosition, and rightmostPosition to take transforms into 
29752        account.
29753
29754        Compute the topmost/lowest/leftmost/rightmost position without 
29755        factoring in the block's transform until the end.
29756        * rendering/RenderBlock.cpp:
29757        (WebCore::RenderBlock::topmostPosition):
29758        (WebCore::RenderBlock::lowestPosition):
29759        (WebCore::RenderBlock::rightmostPosition):
29760        (WebCore::RenderBlock::leftmostPosition):
29761        * rendering/RenderBlock.h:
29762
29763        transformedFrameRect() returns the frameRect() transformed to the 
29764        layer's transform. applyLayerTransformToRect() does the same thing 
29765        for the input rect.
29766        * rendering/RenderBox.cpp:
29767        (WebCore::RenderBox::applyLayerTransformToRect):
29768        (WebCore::RenderBox::transformedFrameRect):
29769        (WebCore::RenderBox::topmostPosition):
29770        (WebCore::RenderBox::lowestPosition):
29771        (WebCore::RenderBox::rightmostPosition):
29772        (WebCore::RenderBox::leftmostPosition):
29773        * rendering/RenderBox.h:
29774        * rendering/RenderMedia.cpp:
29775        (WebCore::RenderMedia::topmostPosition):
29776        (WebCore::RenderMedia::lowestPosition):
29777        (WebCore::RenderMedia::rightmostPosition):
29778        (WebCore::RenderMedia::leftmostPosition):
29779        * rendering/RenderMedia.h:
29780        * rendering/RenderTableSection.cpp:
29781        (WebCore::RenderTableSection::topmostPosition):
29782        (WebCore::RenderTableSection::lowestPosition):
29783        (WebCore::RenderTableSection::rightmostPosition):
29784        (WebCore::RenderTableSection::leftmostPosition):
29785        * rendering/RenderTableSection.h:
29786
297872010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
29788
29789        Not reviewed.
29790
29791        Rename SVGAnimatedProperty* -> DeprecatedSVGAnimatedProperty*
29792        https://bugs.webkit.org/show_bug.cgi?id=47973
29793
29794        Copy headers from svg/properties, otherwhise builds from scratch on win are broken.
29795
29796        * WebCore.vcproj/copyForwardingHeaders.cmd:
29797
297982010-10-20  Peter Rybin  <peter.rybin@gmail.com>
29799
29800        Reviewed by Adam Barth.
29801
29802        HTML parser should provide script column position within HTML document to JavaScript engine
29803        https://bugs.webkit.org/show_bug.cgi?id=45271
29804
29805        Replaces line number with TextPosition struct so that script engine
29806        gets script starting line/column.
29807
29808        * ForwardingHeaders/wtf/text/TextPosition.h: Added.
29809        * bindings/js/ScriptSourceCode.h:
29810        (WebCore::ScriptSourceCode::ScriptSourceCode):
29811        * bindings/v8/ScheduledAction.cpp:
29812        (WebCore::ScheduledAction::ScheduledAction):
29813        * bindings/v8/ScriptController.cpp:
29814        (WebCore::ScriptController::eventHandlerPosition):
29815        * bindings/v8/ScriptController.h:
29816        * bindings/v8/ScriptEventListener.cpp:
29817        (WebCore::createAttributeEventListener):
29818        * bindings/v8/ScriptSourceCode.h:
29819        (WebCore::ScriptSourceCode::ScriptSourceCode):
29820        (WebCore::ScriptSourceCode::startLine):
29821        (WebCore::ScriptSourceCode::startPosition):
29822        * bindings/v8/V8LazyEventListener.cpp:
29823        (WebCore::V8LazyEventListener::V8LazyEventListener):
29824        (WebCore::V8LazyEventListener::prepareListenerObject):
29825        * bindings/v8/V8LazyEventListener.h:
29826        (WebCore::V8LazyEventListener::create):
29827        * bindings/v8/V8Proxy.cpp:
29828        (WebCore::V8Proxy::compileScript):
29829        (WebCore::V8Proxy::evaluate):
29830        (WebCore::V8Proxy::runScript):
29831        * bindings/v8/V8Proxy.h:
29832        * bindings/v8/WorkerContextExecutionProxy.cpp:
29833        (WebCore::WorkerContextExecutionProxy::evaluate):
29834        (WebCore::WorkerContextExecutionProxy::runScript):
29835        * bindings/v8/WorkerContextExecutionProxy.h:
29836        * bindings/v8/WorkerScriptController.cpp:
29837        (WebCore::WorkerScriptController::evaluate):
29838        * dom/PendingScript.cpp:
29839        (WebCore::PendingScript::releaseElementAndClear):
29840        * dom/PendingScript.h:
29841        (WebCore::PendingScript::PendingScript):
29842        (WebCore::PendingScript::operator=):
29843        (WebCore::PendingScript::startingPosition):
29844        * dom/ScriptableDocumentParser.h:
29845        * dom/XMLDocumentParser.h:
29846        * dom/XMLDocumentParserLibxml2.cpp:
29847        (WebCore::XMLDocumentParser::XMLDocumentParser):
29848        (WebCore::XMLDocumentParser::startElementNs):
29849        (WebCore::XMLDocumentParser::endElementNs):
29850        (WebCore::XMLDocumentParser::lineNumber):
29851        (WebCore::XMLDocumentParser::columnNumber):
29852        (WebCore::XMLDocumentParser::textPosition):
29853        (WebCore::XMLDocumentParser::textPositionOneBased):
29854        * dom/XMLDocumentParserQt.cpp:
29855        (WebCore::XMLDocumentParser::XMLDocumentParser):
29856        (WebCore::XMLDocumentParser::textPosition):
29857        (WebCore::XMLDocumentParser::parseStartElement):
29858        (WebCore::XMLDocumentParser::parseEndElement):
29859        * html/parser/HTMLDocumentParser.cpp:
29860        (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
29861        (WebCore::HTMLDocumentParser::textPosition):
29862        * html/parser/HTMLDocumentParser.h:
29863        * html/parser/HTMLScriptRunner.cpp:
29864        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
29865        (WebCore::HTMLScriptRunner::execute):
29866        (WebCore::HTMLScriptRunner::runScript):
29867        * html/parser/HTMLScriptRunner.h:
29868        * html/parser/HTMLTreeBuilder.cpp:
29869        (WebCore::uninitializedPositionValue1):
29870        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
29871        (WebCore::HTMLTreeBuilder::takeScriptToProcess):
29872        (WebCore::HTMLTreeBuilder::processEndTag):
29873        (WebCore::HTMLTreeBuilder::processScriptStartTag):
29874        * html/parser/HTMLTreeBuilder.h:
29875
298762010-10-20  David Hyatt  <hyatt@apple.com>
29877
29878        Reviewed by Simon Fraser.
29879
29880        https://bugs.webkit.org/show_bug.cgi?id=47994
29881        
29882        Make computeBlockDirectionPositionsForLine writing-mode-aware.  None of the functions it calls are patched yet.
29883
29884        * rendering/RenderBlockLineLayout.cpp:
29885        (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
29886
298872010-10-20  John Abd-El-Malek  <jam@chromium.org>
29888
29889        Reviewed by Darin Fisher.
29890
29891        [chromium] Fix crash when mousing over scrollview
29892        https://bugs.webkit.org/show_bug.cgi?id=47956
29893
29894        Test: plugins/mouse-move-over-plugin-in-frame.html
29895
29896        * platform/Widget.h:
29897        (WebCore::Widget::isPluginContainer):
29898
298992010-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
29900
29901        Unreviewed, rolling out r70149.
29902        http://trac.webkit.org/changeset/70149
29903        https://bugs.webkit.org/show_bug.cgi?id=47989
29904
29905        "Build breaks in mac and win" (Requested by satish on
29906        #webkit).
29907
29908        * dom/Element.cpp:
29909        (WebCore::Element::computeInheritedLanguage):
29910        * page/SpeechInput.cpp:
29911        (WebCore::SpeechInput::startRecognition):
29912        * page/SpeechInput.h:
29913        * page/SpeechInputClient.h:
29914        * platform/mock/SpeechInputClientMock.cpp:
29915        (WebCore::SpeechInputClientMock::startRecognition):
29916        (WebCore::SpeechInputClientMock::setRecognitionResult):
29917        (WebCore::SpeechInputClientMock::timerFired):
29918        * platform/mock/SpeechInputClientMock.h:
29919        * rendering/TextControlInnerElements.cpp:
29920        (WebCore::TextControlInnerElement::attachInnerElement):
29921        (WebCore::SearchFieldCancelButtonElement::detach):
29922        (WebCore::SpinButtonElement::defaultEventHandler):
29923        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
29924        (WebCore::InputFieldSpeechButtonElement::detach):
29925
299262010-10-20  Leandro Gracia Gil  <leandrogracia@google.com>
29927
29928        Reviewed by Jeremy Orlow.
29929
29930        Patch the current speech input implementation to use and validate the
29931        nearest language tag. The language is now passed to the startRecognition
29932        methods so that language-specific recognition could be used. Also added
29933        a second parameter to setMockSpeechInputResult for the language used in
29934        speech recognition.
29935        https://bugs.webkit.org/show_bug.cgi?id=47089
29936
29937        This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
29938        details see http://codereview.chromium.org/3615005/show and
29939        http://codereview.chromium.org/3595018/show.
29940
29941        Test: fast/speech/input-text-language-tag.html
29942
29943        * dom/Element.cpp:
29944        (WebCore::Element::computeInheritedLanguage): includes a brief character
29945          validation for the BCP 47 language tag.
29946        * page/SpeechInput.cpp:
29947        (WebCore::SpeechInput::startRecognition):
29948        * page/SpeechInput.h:
29949        * page/SpeechInputClient.h:
29950        * platform/mock/SpeechInputClientMock.cpp:
29951        (WebCore::SpeechInputClientMock::startRecognition):
29952        (WebCore::SpeechInputClientMock::setRecognitionResult): results are now
29953          stored by language using a hash map.
29954        (WebCore::SpeechInputClientMock::timerFired):
29955        * platform/mock/SpeechInputClientMock.h:
29956        * rendering/TextControlInnerElements.cpp:
29957        (WebCore::TextControlInnerElement::attachInnerElement):
29958        (WebCore::SearchFieldCancelButtonElement::detach):
29959        (WebCore::SpinButtonElement::defaultEventHandler):
29960        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
29961        (WebCore::InputFieldSpeechButtonElement::detach):
29962
299632010-10-20  Dirk Schulze  <krit@webkit.org>
29964
29965        Reviewed by Nikolas Zimmermann.
29966
29967        Merge ColorSpace and ImageColorSpace enums
29968        https://bugs.webkit.org/show_bug.cgi?id=47922
29969
29970        Merging these two enums makes it easier to implement color-interpolation as well as
29971        color-interpolation-filter for SVG.
29972        Added ColorSpaceLinearRGB to the ColorSpace enum and changed ImageColorSpace to ColorSpace in all related
29973        files. Renamed enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
29974        to follow webkit style rules.
29975        Removed gray scale support in ImageBuffer since it is not used anymore on WebKit.
29976
29977        * css/CSSPrimitiveValueMappings.h:
29978        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
29979        (WebCore::CSSPrimitiveValue::operator ColorSpace):
29980        * css/CSSStyleSelector.cpp:
29981        (WebCore::CSSStyleSelector::applyProperty):
29982        * editing/SelectionController.cpp:
29983        (WebCore::SelectionController::paintCaret):
29984        * html/HTMLCanvasElement.cpp:
29985        (WebCore::HTMLCanvasElement::paint):
29986        * html/canvas/CanvasRenderingContext2D.cpp:
29987        (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
29988        (WebCore::CanvasRenderingContext2D::setShadow):
29989        (WebCore::CanvasRenderingContext2D::applyShadow):
29990        (WebCore::CanvasRenderingContext2D::drawImage):
29991        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
29992        (WebCore::CanvasRenderingContext2D::drawTextInternal):
29993        * html/canvas/CanvasStyle.cpp:
29994        (WebCore::CanvasStyle::applyStrokeColor):
29995        (WebCore::CanvasStyle::applyFillColor):
29996        * inspector/InspectorController.cpp:
29997        (WebCore::drawOutlinedQuad):
29998        (WebCore::InspectorController::drawElementTitle):
29999        * mathml/RenderMathMLBlock.cpp:
30000        (WebCore::RenderMathMLBlock::paint):
30001        * mathml/RenderMathMLFraction.cpp:
30002        (WebCore::RenderMathMLFraction::paint):
30003        * mathml/RenderMathMLRoot.cpp:
30004        (WebCore::RenderMathMLRoot::paint):
30005        * mathml/RenderMathMLSquareRoot.cpp:
30006        (WebCore::RenderMathMLSquareRoot::paint):
30007        * page/FrameView.cpp:
30008        (WebCore::FrameView::paintContents):
30009        * page/PrintContext.cpp:
30010        (WebCore::PrintContext::spoolAllPagesWithBoundaries):
30011        * platform/ScrollView.cpp:
30012        (WebCore::ScrollView::wheelEvent):
30013        * platform/ScrollbarTheme.h:
30014        (WebCore::ScrollbarTheme::paintScrollCorner):
30015        * platform/ScrollbarThemeComposite.cpp:
30016        (WebCore::ScrollbarThemeComposite::paintScrollCorner):
30017        * platform/chromium/PopupMenuChromium.cpp:
30018        (WebCore::PopupContainer::paintBorder):
30019        (WebCore::PopupListBox::paint):
30020        (WebCore::PopupListBox::paintRow):
30021        * platform/chromium/ScrollbarThemeChromium.cpp:
30022        (WebCore::ScrollbarThemeChromium::paintTickmarks):
30023        * platform/chromium/ScrollbarThemeChromiumMac.mm:
30024        (WebCore::ScrollbarThemeChromiumMac::paint):
30025        * platform/graphics/ColorSpace.h:
30026        * platform/graphics/GraphicsContext.cpp:
30027        (WebCore::GraphicsContext::setStrokePattern):
30028        (WebCore::GraphicsContext::setFillPattern):
30029        (WebCore::GraphicsContext::setStrokeGradient):
30030        (WebCore::GraphicsContext::setFillGradient):
30031        * platform/graphics/GraphicsContextPrivate.h:
30032        (WebCore::GraphicsContextState::GraphicsContextState):
30033        * platform/graphics/ImageBuffer.cpp:
30034        (WebCore::ImageBuffer::transformColorSpace):
30035        * platform/graphics/ImageBuffer.h:
30036        (WebCore::ImageBuffer::create):
30037        * platform/graphics/cairo/ImageBufferCairo.cpp:
30038        (WebCore::ImageBuffer::ImageBuffer):
30039        * platform/graphics/cg/ColorCG.cpp:
30040        (WebCore::cachedCGColorSpace):
30041        (WebCore::cachedCGColor):
30042        * platform/graphics/cg/GraphicsContextCG.cpp:
30043        (WebCore::linearRGBColorSpaceRef):
30044        * platform/graphics/cg/GraphicsContextCG.h:
30045        * platform/graphics/cg/ImageBufferCG.cpp:
30046        (WebCore::ImageBuffer::ImageBuffer):
30047        (WebCore::cgImage):
30048        (WebCore::ImageBuffer::draw):
30049        * platform/graphics/cg/ImageBufferData.h:
30050        * platform/graphics/cg/ImageCG.cpp:
30051        (WebCore::imageWithColorSpace):
30052        * platform/graphics/chromium/GLES2Canvas.cpp:
30053        (WebCore::GLES2Canvas::clearRect):
30054        (WebCore::GLES2Canvas::fillRect):
30055        * platform/graphics/chromium/TransparencyWin.cpp:
30056        (WebCore::TransparencyWin::setupLayerForWhiteLayer):
30057        * platform/graphics/filters/FEColorMatrix.cpp:
30058        (WebCore::FEColorMatrix::apply):
30059        * platform/graphics/filters/FEComposite.cpp:
30060        (WebCore::FEComposite::apply):
30061        * platform/graphics/filters/FEFlood.cpp:
30062        (WebCore::FEFlood::apply):
30063        * platform/graphics/filters/FEMerge.cpp:
30064        (WebCore::FEMerge::apply):
30065        * platform/graphics/filters/FEOffset.cpp:
30066        (WebCore::FEOffset::apply):
30067        * platform/graphics/filters/FETile.cpp:
30068        (WebCore::FETile::apply):
30069        * platform/graphics/filters/FilterEffect.cpp:
30070        (WebCore::FilterEffect::effectContext):
30071        * platform/graphics/filters/SourceAlpha.cpp:
30072        (WebCore::SourceAlpha::apply):
30073        * platform/graphics/filters/SourceGraphic.cpp:
30074        (WebCore::SourceGraphic::apply):
30075        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
30076        (WebCore::MediaPlayerPrivateGStreamer::paint):
30077        * platform/graphics/gtk/FontGtk.cpp:
30078        (WebCore::Font::drawComplexText):
30079        * platform/graphics/mac/GraphicsContextMac.mm:
30080        (WebCore::GraphicsContext::drawFocusRing):
30081        * platform/graphics/mac/GraphicsLayerCA.mm:
30082        (WebCore::setLayerBorderColor):
30083        (WebCore::setLayerBackgroundColor):
30084        * platform/graphics/qt/GraphicsContextQt.cpp:
30085        (WebCore::GraphicsContext::GraphicsContext):
30086        * platform/graphics/qt/ImageBufferQt.cpp:
30087        (WebCore::ImageBuffer::ImageBuffer):
30088        (WebCore::ImageBuffer::draw):
30089        * platform/graphics/skia/ImageBufferSkia.cpp:
30090        (WebCore::ImageBuffer::ImageBuffer):
30091        * platform/graphics/skia/PlatformContextSkia.cpp:
30092        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
30093        * platform/graphics/win/FontCGWin.cpp:
30094        (WebCore::Font::drawGlyphs):
30095        * platform/graphics/win/GraphicsContextCGWin.cpp:
30096        (WebCore::GraphicsContext::GraphicsContext):
30097        (WebCore::GraphicsContext::drawFocusRing):
30098        * platform/graphics/win/GraphicsLayerCACF.cpp:
30099        (WebCore::setLayerBorderColor):
30100        (WebCore::setLayerBackgroundColor):
30101        * platform/graphics/win/ImageCGWin.cpp:
30102        (WebCore::BitmapImage::getHBITMAPOfSize):
30103        * platform/graphics/win/ImageCairoWin.cpp:
30104        (WebCore::BitmapImage::getHBITMAPOfSize):
30105        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
30106        * platform/graphics/win/WebLayer.cpp:
30107        (WebCore::WebLayer::drawInContext):
30108        * platform/graphics/wince/GraphicsContextWinCE.cpp:
30109        (WebCore::GraphicsContext::clearRect):
30110        (WebCore::GraphicsContext::fillRect):
30111        * platform/graphics/wince/ImageWinCE.cpp:
30112        (WebCore::BitmapImage::getHBITMAPOfSize):
30113        * platform/graphics/wx/GraphicsContextWx.cpp:
30114        (WebCore::GraphicsContext::GraphicsContext):
30115        * platform/gtk/RenderThemeGtk.cpp:
30116        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
30117        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
30118        (WebCore::paintMediaButton):
30119        (WebCore::RenderThemeGtk::paintMediaSliderTrack):
30120        (WebCore::RenderThemeGtk::paintMediaSliderThumb):
30121        * platform/mac/ScrollbarThemeMac.mm:
30122        (WebCore::ScrollbarThemeMac::paint):
30123        * platform/win/PopupMenuWin.cpp:
30124        (WebCore::PopupMenuWin::paint):
30125        * platform/win/WebCoreTextRenderer.cpp:
30126        (WebCore::doDrawTextAtPoint):
30127        * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
30128        (WebCore::drawTextWithSpacing):
30129        * plugins/PluginView.cpp:
30130        (WebCore::PluginView::paintMissingPluginIcon):
30131        * rendering/RenderLayer.cpp:
30132        (WebCore::RenderLayer::beginTransparencyLayers):
30133        (WebCore::RenderLayer::paintResizer):
30134        * rendering/RenderListMarker.cpp:
30135        (WebCore::RenderListMarker::paint):
30136        * rendering/RenderMediaControlsChromium.cpp:
30137        (WebCore::paintMediaButton):
30138        (WebCore::paintMediaSlider):
30139        (WebCore::paintMediaVolumeSlider):
30140        (WebCore::paintMediaTimelineContainer):
30141        * rendering/RenderSVGImage.cpp:
30142        (WebCore::RenderSVGImage::paint):
30143        * rendering/RenderSVGResourceClipper.cpp:
30144        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
30145        * rendering/RenderSVGResourceFilter.cpp:
30146        (WebCore::RenderSVGResourceFilter::applyResource):
30147        (WebCore::RenderSVGResourceFilter::postApplyResource):
30148        * rendering/RenderSVGResourceGradient.cpp:
30149        (WebCore::createMaskAndSwapContextForTextGradient):
30150        * rendering/RenderSVGResourceMasker.cpp:
30151        (WebCore::RenderSVGResourceMasker::applyResource):
30152        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
30153        * rendering/RenderSVGResourcePattern.cpp:
30154        (WebCore::RenderSVGResourcePattern::createTileImage):
30155        * rendering/RenderSVGResourceSolidColor.cpp:
30156        (WebCore::RenderSVGResourceSolidColor::applyResource):
30157        * rendering/RenderScrollbarTheme.cpp:
30158        (WebCore::RenderScrollbarTheme::paintScrollCorner):
30159        * rendering/RenderThemeMac.mm:
30160        (WebCore::RenderThemeMac::paintProgressBar):
30161        (WebCore::RenderThemeMac::paintMenuListButton):
30162        * rendering/RenderThemeSafari.cpp:
30163        (WebCore::RenderThemeSafari::paintMenuListButton):
30164        * rendering/RenderThemeWinCE.cpp:
30165        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
30166        (WebCore::RenderThemeWinCE::paintSliderTrack):
30167        (WebCore::RenderThemeWinCE::paintSliderThumb):
30168        * rendering/SVGImageBufferTools.cpp:
30169        (WebCore::SVGImageBufferTools::createImageBuffer):
30170        * rendering/SVGImageBufferTools.h:
30171        * rendering/style/StyleRareInheritedData.cpp:
30172        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
30173        * svg/SVGFEImageElement.cpp:
30174        (WebCore::SVGFEImageElement::build):
30175        * svg/graphics/SVGImage.cpp:
30176        (WebCore::SVGImage::nativeImageForCurrentFrame):
30177        * svg/graphics/filters/SVGFEImage.cpp:
30178        (WebCore::FEImage::apply):
30179
301802010-10-20  Dirk Schulze  <krit@webkit.org>
30181
30182        Reviewed by Andreas Kling.
30183
30184        Remove left over code after moving Cairo port to ShadowContext
30185        https://bugs.webkit.org/show_bug.cgi?id=47929
30186
30187        ImageBufferFilter is not needed anymore, since Cairo is using ShadowContext now.
30188        Made kernelPosition() in FEGaussianBlur a inline function instead of a static function.
30189
30190        * CMakeLists.txt:
30191        * GNUmakefile.am:
30192        * WebCore.gypi:
30193        * WebCore.vcproj/WebCore.vcproj:
30194        * platform/graphics/filters/FEGaussianBlur.cpp:
30195        (WebCore::kernelPosition):
30196        * platform/graphics/filters/FEGaussianBlur.h:
30197        * platform/graphics/filters/ImageBufferFilter.cpp: Removed.
30198        * platform/graphics/filters/ImageBufferFilter.h: Removed.
30199
302002010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
30201
30202        Not reviewed.
30203
30204        Fix efl build, by adding the new svg/properties include directory.
30205
30206        * CMakeLists.txt:
30207
302082010-10-19  Andrey Kosyakov  <caseq@chromium.org>
30209
30210        Reviewed by Pavel Feldman.
30211
30212        Web Inspector: expose request/response cookies in HAR
30213        https://bugs.webkit.org/show_bug.cgi?id=47894
30214
30215        Test: inspector/cookie-parser.html
30216
30217        * WebCore.gypi:
30218        * WebCore.vcproj/WebCore.vcproj:
30219        * inspector/front-end/CookieParser.js: Added.
30220        * inspector/front-end/HAREntry.js:
30221        (WebInspector.HAREntry.prototype._buildRequest):
30222        (WebInspector.HAREntry.prototype._buildResponse):
30223        (WebInspector.HAREntry.prototype._buildCookies):
30224        (WebInspector.HAREntry.prototype._buildCookie):
30225        * inspector/front-end/Resource.js: Parse Cookie/Set-Cookie headers and expose cookies.
30226        (WebInspector.Resource.prototype.set requestHeaders):
30227        (WebInspector.Resource.prototype.get requestCookies):
30228        (WebInspector.Resource.prototype.set responseHeaders):
30229        (WebInspector.Resource.prototype.get responseCookies):
30230        (WebInspector.Resource.prototype._parseRequestCookies):
30231        (WebInspector.Resource.prototype._parseResponseCookies):
30232        * inspector/front-end/WebKit.qrc:
30233        * inspector/front-end/inspector.html:
30234
302352010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
30236
30237        Not reviewed.
30238
30239        Fix non-mac builds, by adding the new svg/properties include directory.
30240
30241        * GNUmakefile.am:
30242        * WebCore.gyp/WebCore.gyp:
30243        * WebCore.pro:
30244        * WebCore.vcproj/WebCoreCommon.vsprops:
30245
302462010-10-20  Nikolas Zimmermann  <nzimmermann@rim.com>
30247
30248        Reviewed by Adam Roben.
30249
30250        Rename SVGAnimatedProperty* -> DeprecatedSVGAnimatedProperty*
30251        https://bugs.webkit.org/show_bug.cgi?id=47973
30252
30253        Prepare fixing bug 47905, redesigning SVGAnimatedProperty. As we're going to move type by type
30254        to the new animated property concept, keep the old one around, marked deprecated, until the
30255        transition is finished.
30256
30257        * GNUmakefile.am:
30258        * WebCore.gypi:
30259        * WebCore.pro:
30260        * WebCore.vcproj/WebCore.vcproj:
30261        * WebCore.xcodeproj/project.pbxproj:
30262        * bindings/scripts/CodeGeneratorObjC.pm:
30263        * bindings/scripts/CodeGeneratorV8.pm:
30264        * svg/DeprecatedSVGAnimatedProperty.h: Copied from svg/SVGAnimatedProperty.h.
30265        (WebCore::DeprecatedSVGAnimatedPropertyTearOff::DeprecatedSVGAnimatedPropertyTearOff):
30266        (WebCore::DeprecatedSVGAnimatedPropertyTearOff::~DeprecatedSVGAnimatedPropertyTearOff):
30267        (WebCore::DeprecatedSVGAnimatedProperty::~DeprecatedSVGAnimatedProperty):
30268        (WebCore::DeprecatedSVGAnimatedProperty::DeprecatedSVGAnimatedProperty):
30269        (WebCore::DeprecatedSVGAnimatedProperty::value):
30270        (WebCore::DeprecatedSVGAnimatedProperty::baseValue):
30271        * svg/DeprecatedSVGAnimatedPropertyTraits.h: Copied from svg/SVGAnimatedPropertyTraits.h.
30272        * svg/DeprecatedSVGAnimatedTemplate.h: Copied from svg/SVGAnimatedTemplate.h.
30273        (WebCore::DeprecatedSVGAnimatedTypeWrapperKey::DeprecatedSVGAnimatedTypeWrapperKey):
30274        (WebCore::DeprecatedSVGAnimatedTypeWrapperKey::operator==):
30275        (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::hash):
30276        (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::equal):
30277        (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue):
30278        (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue):
30279        (WebCore::DeprecatedSVGAnimatedTemplate::~DeprecatedSVGAnimatedTemplate):
30280        (WebCore::DeprecatedSVGAnimatedTemplate::forgetWrapper):
30281        (WebCore::lookupOrCreateWrapper):
30282        * svg/SVGAnimatedProperty.h: Removed.
30283        * svg/SVGAnimatedPropertySynchronizer.h: Removed.
30284        * svg/SVGAnimatedPropertyTraits.h: Removed.
30285        * svg/SVGAnimatedTemplate.h: Removed.
30286        * svg/SVGElement.h:
30287        * svg/SVGExternalResourcesRequired.h:
30288        * svg/SVGFitToViewBox.h:
30289        * svg/SVGURIReference.h:
30290        * svg/properties: Added.
30291        * svg/properties/SVGAnimatedPropertySynchronizer.h: Copied from svg/SVGAnimatedPropertySynchronizer.h.
30292
302932010-10-20  Shinichiro Hamaji  <hamaji@chromium.org>
30294
30295        Reviewed by Kent Tamura.
30296
30297        absolutely positioned list in inline element crashes
30298        https://bugs.webkit.org/show_bug.cgi?id=45095
30299
30300        Add a NULL check to avoid crash. The rendering result isn't ideal yet.
30301
30302        Test: fast/lists/positioned-count-crash.html
30303
30304        * rendering/RenderListItem.cpp:
30305        (WebCore::previousListItem):
30306
303072010-10-19  Adam Roben  <aroben@apple.com>
30308
30309        Remove uses of CACFContextRef and CARender* from WebCore
30310
30311        These types are now wrapped in a WKCACFContext type exported by
30312        WebKitSystemInterface.
30313
30314        Fixes <http://webkit.org/b/43244>.
30315
30316        Reviewed by Sam Weinig.
30317
30318        * platform/graphics/win/WKCACFContextFlusher.cpp:
30319        (WebCore::WKCACFContextFlusher::addContext):
30320        (WebCore::WKCACFContextFlusher::removeContext):
30321        (WebCore::WKCACFContextFlusher::flushAllContexts):
30322        * platform/graphics/win/WKCACFContextFlusher.h:
30323        Changed to use WKCACFContext. We don't retain/release the context when
30324        putting it into/taking it out of the set. WKCACFContext is not a
30325        ref-counted type, so we can't retain/release it, but the
30326        retain/release was also unnecessary as WKCACFLayerRenderer calls
30327        removeContext before the context is destroyed.
30328
30329        * platform/graphics/win/WKCACFLayer.cpp:
30330        (WebCore::WKCACFLayer::becomeRootLayerForContext):
30331        * platform/graphics/win/WKCACFLayer.h:
30332        Changed to use WKCACFContext.
30333
30334        * platform/graphics/win/WKCACFLayerRenderer.cpp:
30335        (WebCore::WKCACFLayerRenderer::didFlushContext):
30336        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
30337        (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
30338        (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
30339        (WebCore::WKCACFLayerRenderer::createRenderer):
30340        (WebCore::WKCACFLayerRenderer::destroyRenderer):
30341        (WebCore::WKCACFLayerRenderer::render): Also replaced uses of
30342        CGSRegion with WebKitSystemInterface functions/types.
30343        (WebCore::WKCACFLayerRenderer::resetDevice):
30344        * platform/graphics/win/WKCACFLayerRenderer.h:
30345        Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext
30346        with a single WKCACFContext, which wraps all three. We hold a bare
30347        pointer to it and destroy it in our destructor.
30348
303492010-10-19  Yongjun Zhang  <yongjun_zhang@apple.com>
30350
30351        Reviewed by Dan Bernstein.
30352
30353        Pixel cracks when using background image sprite on transformed element at certain scales.
30354        https://bugs.webkit.org/show_bug.cgi?id=47868
30355
30356        The pixel bleeding happens when the current context has scale and interpolation is kCGInterpolationHigh
30357        or kCGInterpolationDefault.  If the source rect size is smaller than the intrinsic image size,  some
30358        pixels outside of the clip rect will also be used to interpolate the color value for clip edges, which
30359        results in unwanted thin lines around the painted area.  We need to use sub-image patch to get rid of
30360        the artifacts in this case.
30361
30362        Test: fast/images/pixel-crack-image-background-webkit-transform-scale.html
30363
30364        * platform/graphics/cg/ImageCG.cpp:
30365        (WebCore::BitmapImage::draw):
30366
303672010-10-19  Evan Martin  <evan@chromium.org>
30368
30369        Reviewed by Tony Chang.
30370
30371        sqlite: remove unused member variable
30372        https://bugs.webkit.org/show_bug.cgi?id=47957
30373
30374        There's no need to save the error code into a member variable
30375        because nobody ever looks at it.
30376
30377        * platform/sql/SQLiteDatabase.cpp:
30378        (WebCore::SQLiteDatabase::open):
30379        * platform/sql/SQLiteDatabase.h:
30380
303812010-10-19  Jia Pu  <jpu@apple.com>
30382
30383        Reviewed by James Robinson.
30384
30385        Moving cursor back to autocorrected word in the same line shouldn't remove the underline
30386        https://bugs.webkit.org/show_bug.cgi?id=47629
30387        <rdar://problem/8546758>
30388        
30389        Patch <http://trac.webkit.org/changeset/70071> breaks some Chromium Mac hehavior. This patch
30390        fixes that.
30391
30392        * editing/Editor.cpp:
30393        (WebCore::Editor::respondToChangedSelection): Add "!PLATFORM(MAC)" to make sure nothing changes
30394          on non-Mac platforms.
30395
303962010-10-19  Alexey Proskuryakov  <ap@apple.com>
30397
30398        Build fix (EFL, maybe more).
30399
30400        * CMakeLists.txt: Added platform/Language.cpp here, too.
30401
304022010-10-19  Jian Li  <jianli@chromium.org>
30403
30404        Reviewed by Darin Fisher.
30405
30406        Rename createBlobURL to createObjectURL and revokeBlobURL to
30407        revokeObjectURL per the latest File API spec.
30408        https://bugs.webkit.org/show_bug.cgi?id=47934
30409
30410        * inspector/front-end/ResourcesPanel.js:
30411        (WebInspector.ResourcesPanel.prototype._contextMenu):
30412        * inspector/front-end/utilities.js:
30413        * page/DOMWindow.cpp:
30414        (WebCore::DOMWindow::createObjectURL):
30415        (WebCore::DOMWindow::revokeObjectURL):
30416        * page/DOMWindow.h:
30417        * page/DOMWindow.idl:
30418        * workers/WorkerContext.cpp:
30419        (WebCore::WorkerContext::createObjectURL):
30420        (WebCore::WorkerContext::revokeObjectURL):
30421        * workers/WorkerContext.h:
30422        * workers/WorkerContext.idl:
30423
304242010-10-19  Alexey Proskuryakov  <ap@apple.com>
30425
30426        Reviewed by Anders Carlsson.
30427
30428        https://bugs.webkit.org/show_bug.cgi?id=47933
30429        <rdar://problem/8494337> navigator.language doesn't work in WebKit2
30430
30431        * CMakeListsEfl.txt:
30432        * GNUmakefile.am:
30433        * WebCore.gypi:
30434        * WebCore.pro:
30435        * WebCore.vcproj/WebCore.vcproj:
30436        * WebCore.xcodeproj/project.pbxproj:
30437        * platform/chromium/Language.cpp: Removed.
30438        * platform/chromium/LanguageChromium.cpp: Copied from WebCore/platform/chromium/Language.cpp.
30439        * platform/efl/Language.cpp: Removed.
30440        * platform/efl/LanguageEfl.cpp: Copied from WebCore/platform/efl/Language.cpp.
30441        * platform/gtk/Language.cpp: Removed.
30442        * platform/gtk/LanguageGtk.cpp: Copied from WebCore/platform/gtk/Language.cpp.
30443        * platform/qt/Language.cpp: Removed.
30444        * platform/qt/LanguageQt.cpp: Copied from WebCore/platform/qt/Language.cpp.
30445        * platform/win/Language.cpp: Removed.
30446        * platform/win/LanguageWin.cpp: Copied from WebCore/platform/win/Language.cpp.
30447        * platform/Language.cpp: Added.
30448        Cross platform code is now in platform/Language.cpp. So, I renamed platform files to match
30449        the common pattern.
30450
30451        * WebCore.exp.in: Exported new functions.
30452
30453        * platform/Language.h: Added an ability to force the language, and an ability to set up
30454        listeners for changes (if the platform implements that). Web process will always use the
30455        forced language, as sent to it from UI process.
30456
30457        * platform/mac/Language.mm: Moved code from WebKit.
30458        (WebCore::platformDefaultLanguage): Added code to synchronize user defaults. For some reason,
30459        they come unsynchronized in WebKit2 here, unlike WebKit1.
30460
30461        * page/mac/WebCoreViewFactory.h: Removed defaultLanguageCode. WebCore no longer goes to WebKit
30462        to ask for that.
30463
30464        * platform/mac/WebCoreSystemInterface.h:
30465        * platform/mac/WebCoreSystemInterface.mm:
30466        Added wkCopyCFLocalizationPreferredName().
30467
304682010-10-19  James Simonsen  <simonjam@chromium.org>
30469
30470        Reviewed by Adam Barth.
30471
30472        Add "in select" insertion mode to parser.
30473
30474        This was added to the spec in:
30475        http://html5.org/tools/web-apps-tracker?from=5520&to=5522
30476
30477        And as a result of:
30478        http://www.w3.org/Bugs/Public/show_bug.cgi?id=10314
30479
30480        https://bugs.webkit.org/show_bug.cgi?id=47706
30481
30482        No new tests. Open to ideas.
30483
30484        * html/parser/HTMLElementStack.cpp: Added "in select" mode.
30485        (WebCore::HTMLNames::isSelectScopeMarker): Ditto.
30486        (WebCore::HTMLElementStack::inSelectScope): Ditto.
30487        * html/parser/HTMLElementStack.h: Ditto.
30488        * html/parser/HTMLTreeBuilder.cpp:
30489        (WebCore::HTMLTreeBuilder::processStartTag): Use "in select" instead of "in table."
30490        (WebCore::HTMLTreeBuilder::processEndTag): Ditto.
30491
304922010-10-19  Jeremy Orlow  <jorlow@chromium.org>
30493
30494        Reviewed by Nate Chapin.
30495
30496        Fix multiple index support in IndexedDB
30497        https://bugs.webkit.org/show_bug.cgi?id=47919
30498
30499        Fix 2 bugs that caused the IndexData of all but the last index to be
30500        properly updated:
30501        * The objectStoreDataId is NOT unique if there are multiple indexes. So
30502          remove the constraint.
30503        * Do not delete all existing entries with that objectStoreDataId before
30504          adding an entry for each index. Only do it once at the beginning.
30505
30506        Test: storage/indexeddb/queued-commands.html
30507            + index-basics.html modified
30508
30509        * storage/IDBFactoryBackendImpl.cpp:
30510        (WebCore::createTables):
30511        * storage/IDBObjectStoreBackendImpl.cpp:
30512        (WebCore::deleteIndexData):
30513        (WebCore::putIndexData):
30514        (WebCore::IDBObjectStoreBackendImpl::putInternal):
30515
305162010-10-19  Martin Robinson  <mrobinson@igalia.com>
30517
30518        Fix the GTK+ build after r70072. The logic looks incorrect, but
30519        this fix tries to preserves it, even so.
30520
30521        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
30522        (baselinePositionForAccessibilityRenderObject):
30523        (getAttributeSetForAccessibilityObject):
30524
305252010-10-06  Jer Noble  <jer.noble@apple.com>
30526
30527        Reviewed by Eric Carlson.
30528
30529        Windows: Implement 'preload=none'
30530        https://bugs.webkit.org/show_bug.cgi?id=47317
30531        <rdar://problem/7718442>
30532        
30533        Implement the 'preload=none' identically to the mac implementation. Add three new
30534        ivars: m_preload, m_delayLoad and m_movieURL; and override the MediaPlayerPrivate
30535        functions: prepareToPlay() and setPreload().
30536
30537        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
30538        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
30539            Initialize new ivars m_delayLoad and m_preload.
30540        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::resumeLoad): Added; new.
30541        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Split contents between
30542            load and loadInternal.
30543        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Added; new.
30544        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::prepareToPlay): Added; overrides MediaPlayerPrivate.
30545        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPreload): Added; overrides MediaPlayerPrivate.
30546        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
30547        
305482010-10-19  Enrica Casucci  <enrica@apple.com>
30549
30550        Reviewed by Alexey Proskuryakov.
30551
30552        Upstream support of KeyCodes for iOS
30553        https://bugs.webkit.org/show_bug.cgi?id=47857
30554        
30555        * platform/cocoa/KeyEventCocoa.mm:
30556        (WebCore::windowsKeyCodeForCharCode): Added special handling of keyCodes for iOS.
30557
305582010-10-19  Joseph Pecoraro  <joepeck@webkit.org>
30559
30560        Reviewed by David Kilzer.
30561
30562        iOS: ASSERT in Cache::adjustSize running layout tests
30563        https://bugs.webkit.org/show_bug.cgi?id=47873
30564
30565        Inside Cache::pruneDeadResources we loop over the LRU lists and make resources purgeable
30566        with Cache::makeResourcePurgeable(). This wasn't taking into account whether the resource
30567        was already purgeable or not, and the makeResourcePurgeable call was always calling
30568        adjustSize(). Now we make sure makeResourcePurgable only adjusts the size of the Cache's
30569        dead sizes when it first marks the resource purgeable. Likewise, if a resource is marked
30570        as purgeable and then evicted, we should not adjust the size again.
30571
30572        The balancing call is when we have a resource that has been marked as purgeable and we
30573        successfully mark it as no longer purgeable in Cache::resourceForURL.
30574
30575        No test added because this requires testing purgeable memory.
30576
30577        * loader/Cache.cpp:
30578        (WebCore::Cache::makeResourcePurgeable):
30579        (WebCore::Cache::evict):
30580
305812010-10-19  Vangelis Kokkevis  <vangelis@chromium.org>
30582
30583        Reviewed by Kenneth Russell.
30584
30585        [chromium] Disable mipmapping for ImageLayer's to prevent memory use and
30586        performance regression.
30587        https://bugs.webkit.org/show_bug.cgi?id=47913
30588        
30589        This patch is a straight revert of the patch committed with issue 46493
30590
30591        * platform/graphics/chromium/ContentLayerChromium.cpp:
30592        (WebCore::ContentLayerChromium::SharedValues::SharedValues):
30593        (WebCore::ContentLayerChromium::updateTextureRect):
30594        * platform/graphics/chromium/ContentLayerChromium.h:
30595        (WebCore::ContentLayerChromium::SharedValues::initialized):
30596        * platform/graphics/chromium/ImageLayerChromium.cpp:
30597        (WebCore::ImageLayerChromium::updateContents):
30598
305992010-10-18  Zhenyao Mo  <zmo@google.com>
30600
30601        Reviewed by Kenneth Russell.
30602
30603        gl-teximage.html fails on chromium webkit mac bot
30604        https://bugs.webkit.org/show_bug.cgi?id=47034
30605
30606        * platform/graphics/GraphicsContext3D.cpp: Deal with endians in 16 bit image data.
30607        (WebCore::convertColor16LittleTo8):
30608        (WebCore::convertColor16BigTo8):
30609        (WebCore::doPacking):
30610        * platform/graphics/GraphicsContext3D.h: Ditto.
30611        * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
30612        (WebCore::GraphicsContext3D::getImageData):
30613
306142010-10-19  David Hyatt  <hyatt@apple.com>
30615
30616        Reviewed by Dan Bernstein.
30617
30618        https://bugs.webkit.org/show_bug.cgi?id=47841
30619
30620        Rework baselinePosition and lineHeight to be writing-mode-aware.  There's a lot of refactoring here to clean up
30621        the method parameters to be more readable and to simplify the subclassing of the various methods in order to 
30622        keep the horizontal/vertical querying to a minimum.
30623
30624        * WebCore.xcodeproj/project.pbxproj:
30625        * mathml/RenderMathMLFraction.cpp:
30626        (WebCore::RenderMathMLFraction::baselinePosition):
30627        * mathml/RenderMathMLFraction.h:
30628        * mathml/RenderMathMLOperator.cpp:
30629        (WebCore::RenderMathMLOperator::baselinePosition):
30630        * mathml/RenderMathMLOperator.h:
30631        * mathml/RenderMathMLRow.cpp:
30632        (WebCore::RenderMathMLRow::baselinePosition):
30633        * mathml/RenderMathMLRow.h:
30634        * mathml/RenderMathMLSubSup.cpp:
30635        (WebCore::RenderMathMLSubSup::baselinePosition):
30636        * mathml/RenderMathMLSubSup.h:
30637        * mathml/RenderMathMLUnderOver.cpp:
30638        (WebCore::RenderMathMLUnderOver::layout):
30639        (WebCore::RenderMathMLUnderOver::baselinePosition):
30640        * mathml/RenderMathMLUnderOver.h:
30641        * rendering/InlineBox.h:
30642        (WebCore::InlineBox::baselinePosition):
30643        (WebCore::InlineBox::lineHeight):
30644        * rendering/InlineFlowBox.cpp:
30645        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
30646        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
30647        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
30648        * rendering/InlineTextBox.cpp:
30649        (WebCore::InlineTextBox::baselinePosition):
30650        (WebCore::InlineTextBox::lineHeight):
30651        * rendering/InlineTextBox.h:
30652        * rendering/RenderBR.cpp:
30653        (WebCore::RenderBR::lineHeight):
30654        * rendering/RenderBR.h:
30655        (WebCore::toRenderBR):
30656        * rendering/RenderBlock.cpp:
30657        (WebCore::RenderBlock::lineHeight):
30658        (WebCore::RenderBlock::baselinePosition):
30659        (WebCore::RenderBlock::firstLineBoxBaseline):
30660        (WebCore::RenderBlock::lastLineBoxBaseline):
30661        (WebCore::RenderBlock::localCaretRect):
30662        * rendering/RenderBlock.h:
30663        * rendering/RenderBlockLineLayout.cpp:
30664        (WebCore::RenderBlock::layoutInlineChildren):
30665        * rendering/RenderBox.cpp:
30666        (WebCore::RenderBox::lineHeight):
30667        (WebCore::RenderBox::baselinePosition):
30668        * rendering/RenderBox.h:
30669        * rendering/RenderBoxModelObject.cpp:
30670        (WebCore::RenderBoxModelObject::verticalPosition):
30671        * rendering/RenderBoxModelObject.h:
30672        * rendering/RenderFileUploadControl.cpp:
30673        (WebCore::RenderFileUploadControl::paintObject):
30674        * rendering/RenderFlexibleBox.cpp:
30675        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
30676        (WebCore::RenderFlexibleBox::layoutVerticalBox):
30677        * rendering/RenderInline.cpp:
30678        (WebCore::RenderInline::lineHeight):
30679        (WebCore::RenderInline::baselinePosition):
30680        * rendering/RenderInline.h:
30681        * rendering/RenderListBox.cpp:
30682        (WebCore::RenderListBox::baselinePosition):
30683        * rendering/RenderListBox.h:
30684        * rendering/RenderListMarker.cpp:
30685        (WebCore::RenderListMarker::lineHeight):
30686        (WebCore::RenderListMarker::baselinePosition):
30687        * rendering/RenderListMarker.h:
30688        * rendering/RenderObject.cpp:
30689        * rendering/RenderObject.h:
30690        * rendering/RenderReplaced.cpp:
30691        * rendering/RenderReplaced.h:
30692        * rendering/RenderSVGRoot.cpp:
30693        * rendering/RenderSVGRoot.h:
30694        * rendering/RenderSlider.cpp:
30695        (WebCore::RenderSlider::baselinePosition):
30696        * rendering/RenderSlider.h:
30697        * rendering/RenderTableCell.cpp:
30698        (WebCore::RenderTableCell::baselinePosition):
30699        * rendering/RenderTableCell.h:
30700        * rendering/RenderTableCol.h:
30701        (WebCore::RenderTableCol::isTableCol):
30702        * rendering/RenderTableRow.h:
30703        * rendering/RenderTableSection.h:
30704        * rendering/RenderText.cpp:
30705        * rendering/RenderText.h:
30706        * rendering/RenderTextControl.cpp:
30707        (WebCore::RenderTextControl::computeLogicalHeight):
30708        * rendering/RenderTextControlMultiLine.cpp:
30709        (WebCore::RenderTextControlMultiLine::baselinePosition):
30710        * rendering/RenderTextControlMultiLine.h:
30711        * rendering/RenderTextControlSingleLine.cpp:
30712        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
30713        * rendering/RootInlineBox.h:
30714        (WebCore::RootInlineBox::baselinePosition):
30715        (WebCore::RootInlineBox::lineHeight):
30716        * rendering/svg/SVGInlineTextBox.cpp:
30717        (WebCore::SVGInlineTextBox::calculateBoundaries):
30718
307192010-10-19  Jia Pu  <jpu@apple.com>
30720
30721        Reviewed by Adele Peterson.
30722
30723        Moving cursor back to autocorrected word in the same line shouldn't remove the underline
30724        https://bugs.webkit.org/show_bug.cgi?id=47629
30725        <rdar://problem/8546758>
30726
30727        Tests: platform/mac/editing/spelling/click-autocorrected-word.html
30728               platform/mac/editing/spelling/delete-into-autocorrected-word.html
30729               platform/mac/editing/spelling/delete-into-misspelled-word.html
30730               platform/mac/editing/spelling/forward-delete-into-autocorrected-word.html
30731               platform/mac/editing/spelling/move-cursor-around-misspelled-word.html
30732               platform/mac/editing/spelling/move-cursor-to-autocorrected-word.html
30733               platform/mac/editing/spelling/move-cursor-to-beginning-of-autocorrected-word.html
30734
30735        * editing/Editor.cpp:
30736        (WebCore::Editor::respondToChangedSelection): Don't remove misspelling or autocorrection
30737          underlines when cursor is moved onto a word.
30738
307392010-10-19  Eric Carlson  <eric.carlson@apple.com>
30740
30741        Not reviewed. Build fix.
30742
30743        * html/HTMLMediaElement.cpp:
30744        (WebCore::HTMLMediaElement::selectNextSourceChild): Initialize variable to avoid Windows
30745        "potentially uninitialized local variable" warning.
30746
307472010-10-19  Eric Carlson  <eric.carlson@apple.com>
30748
30749        Reviewed by Darin Adler.
30750
30751        https://bugs.webkit.org/show_bug.cgi?id=46763
30752        CRASH in WebCore::ThreadTimers::sharedTimerFiredInternal
30753
30754        Fix crashes caused by moving and deleting <source> element(s) of active media element.
30755
30756        Tests: media/video-source-moved.html
30757               media/video-source-removed.html
30758
30759        * html/HTMLMediaElement.cpp:
30760        (WebCore::HTMLMediaElement::HTMLMediaElement): Add logging. Initialize selectNextSourceChild.
30761        (WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto.
30762        (WebCore::HTMLMediaElement::insertedIntoDocument): Ditto.
30763        (WebCore::HTMLMediaElement::removedFromDocument): Ditto.
30764        (WebCore::HTMLMediaElement::scheduleLoad): Ditto.
30765        (WebCore::HTMLMediaElement::setNetworkState): Deal with m_currentSourceNode being null when
30766        the media engine signals a failure by skipping the error message and continuing as usual.
30767        (WebCore::HTMLMediaElement::setVolume): Fix logging typo.
30768        (WebCore::HTMLMediaElement::havePotentialSourceChild): Save and restore m_nextChildNodeToConsider
30769        around call to selectNextSourceChild because they are both significant.
30770        (WebCore::HTMLMediaElement::selectNextSourceChild): Use m_nextChildNodeToConsider to pick
30771        the first node to consider. Bail immediately if it signals that we have already processed 
30772        every <source> node. Stach the node following the current source element in m_nextChildNodeToConsider
30773        so we can resume the search even if m_currentSourceNode is removed while it is being processed.
30774        (WebCore::HTMLMediaElement::sourceWasAdded): New, move logic from HTMLSourceElement::insertedIntoTree
30775        here and correct it to deal with a <source> node being inserted immediately after the
30776        current <source> node and a new <source> node being inserted at the end of the list after
30777        all candidates have failed.
30778        (WebCore::HTMLMediaElement::sourceWillBeRemoved): New, deal with current source node and next
30779        potential node being removed.
30780        * html/HTMLMediaElement.h:
30781        (WebCore::HTMLMediaElement::sourceChildEndOfListValue): New, define sentinal value used to indicate
30782        that all nodes have been processed.
30783
30784        * html/HTMLSourceElement.cpp:
30785        (WebCore::HTMLSourceElement::HTMLSourceElement): Add logging.
30786        (WebCore::HTMLSourceElement::insertedIntoTree): Call mediaElement->sourceWasAdded instead
30787        of having logic here.
30788        (WebCore::HTMLSourceElement::willRemove): New, call mediaElement->sourceWillBeRemoved
30789        (WebCore::HTMLSourceElement::scheduleErrorEvent): Add logging.
30790        (WebCore::HTMLSourceElement::cancelPendingErrorEvent): Add logging.
30791        * html/HTMLSourceElement.h:
30792
307932010-10-19  Luiz Agostini  <luiz.agostini@openbossa.org>
30794
30795        Reviewed by Antti Koivisto.
30796
30797        [Qt] WebKit2 MacOS build fix
30798        https://bugs.webkit.org/show_bug.cgi?id=47897
30799
30800        Qt WebKit2 MacOS build fix.
30801
30802        * bridge/npapi.h:
30803
308042010-10-19  Philippe Normand  <pnormand@igalia.com>
30805
30806        Reviewed by Xan Lopez.
30807
30808        [GTK] Soup cache code still has some warnings
30809        https://bugs.webkit.org/show_bug.cgi?id=47733
30810
30811        Fixed some compilation warnings happening with gcc 4.4.5 on
30812        64-bits architecture.
30813
30814        * platform/network/soup/cache/webkit/soup-cache.c:
30815        (webkit_soup_cache_entry_set_freshness):
30816        (close_ready_cb):
30817
308182010-10-19  Yury Semikhatsky  <yurys@chromium.org>
30819
30820        Reviewed by Pavel Feldman.
30821
30822        Web Inspector: crash while trying to step over a function using inspector
30823        https://bugs.webkit.org/show_bug.cgi?id=47902
30824
30825        * inspector/front-end/ScriptsPanel.js:
30826        (WebInspector.ScriptsPanel.prototype.reset): reset scripts panel to resumed state on navigation.
30827
308282010-10-19  Ryuan Choi  <ryuan.choi@samsung.com>
30829
30830        Unreviewed attempt to remove warning in EFL build.
30831
30832        Fix #if to #ifdef.
30833
30834        No new features, so no tests added.
30835
30836        * platform/efl/WidgetEfl.cpp:
30837        (WebCore::Widget::applyFallbackCursor):
30838
308392010-10-19  Andreas Kling  <kling@webkit.org>
30840
30841        Reviewed by Tor Arne Vestbø.
30842
30843        [Qt] getImageData returns wrong data for non-0,0 source offset
30844        https://bugs.webkit.org/show_bug.cgi?id=47898
30845
30846        Test: fast/canvas/canvas-getImageData-negative-source.html
30847
30848        * platform/graphics/qt/ImageBufferQt.cpp:
30849        (WebCore::getImageData): Add missing *4's to get correct pixel offset.
30850
308512010-10-19  Andreas Kling  <kling@webkit.org>
30852
30853        Reviewed by Kenneth Rohde Christiansen.
30854
30855        [Qt] Correct initial state of ImageBuffer QPen
30856        https://bugs.webkit.org/show_bug.cgi?id=47804
30857
30858        Have the QPen on ImageBuffers start in Qt::SvgMiterJoin mode.
30859
30860        * platform/graphics/qt/ImageBufferQt.cpp:
30861        (WebCore::ImageBufferData::ImageBufferData):
30862
308632010-10-19  Philippe Normand  <pnormand@igalia.com>
30864
30865        Reviewed by Martin Robinson.
30866
30867        GStreamer PlatformVideoWindow needs an API to prepare the widget before applying the overlay
30868        https://bugs.webkit.org/show_bug.cgi?id=46790
30869
30870        Simple API addition to PlatformVideoWindow to allow
30871        implementations to optionally prepare their own PlatformWidget
30872        before applying the GStreamer XOverlay to it. This will likely be
30873        needed on Mac OSX only.
30874
30875        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
30876        (WebCore::GStreamerGWorld::setWindowOverlay):
30877        * platform/graphics/gstreamer/PlatformVideoWindow.h:
30878        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
30879        (PlatformVideoWindow::prepareForOverlay):
30880        * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
30881        (PlatformVideoWindow::prepareForOverlay):
30882
308832010-10-19  Ben Murdoch  <benm@google.com>
30884
30885        Reviewed by Steve Block.
30886
30887        Missing support for document.createTouch and document.createTouchList
30888        https://bugs.webkit.org/show_bug.cgi?id=47676
30889
30890        These APIs are used by many sites to detect support for touch events.
30891
30892        Implement the APIs according to the documentation at:
30893        http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/DocumentAdditionsReference/DocumentAdditions/DocumentAdditions.html
30894
30895        Tests: fast/events/touch/document-create-touch-list.html
30896               fast/events/touch/document-create-touch.html
30897
30898        * bindings/js/JSBindingsAllInOne.cpp: Add new files to list.
30899        * bindings/js/JSTouchCustom.cpp: Added.
30900        (WebCore::toJSNewlyCreated):
30901        * bindings/js/JSTouchListCustom.cpp: Added.
30902        (WebCore::toJSNewlyCreated):
30903        * bindings/scripts/CodeGeneratorJS.pm:
30904        * dom/Document.cpp:
30905        (WebCore::Document::createTouch):
30906        (WebCore::Document::createTouchList):
30907        * dom/Document.h:
30908        * dom/Document.idl: Add createTouch and createTouchList functions.
30909        * Android.jscbindings.mk: Update makefiles.
30910        * CMakeLists.txt: Ditto.
30911        * GNUmakefile.am: Ditto.
30912        * WebCore.gypi: Ditto.
30913        * WebCore.pro: Ditto.
30914
30915
309162010-10-19  Pavel Feldman  <pfeldman@chromium.org>
30917
30918        Reviewed by Yury Semikhatsky.
30919
30920        Web Inspector: migrate from legacy Object.properties to Object.keys, remove dead code.
30921        https://bugs.webkit.org/show_bug.cgi?id=47890
30922
30923        * inspector/front-end/ConsoleView.js:
30924        (WebInspector.ConsoleView.prototype._reportCompletions):
30925        * inspector/front-end/ElementsPanel.js:
30926        (WebInspector.ElementsPanel):
30927        * inspector/front-end/ExtensionServer.js:
30928        (WebInspector.ExtensionServer.prototype._onGetResources):
30929        * inspector/front-end/HAREntry.js:
30930        (WebInspector.HARLog.prototype.build):
30931        * inspector/front-end/StylesSidebarPane.js:
30932        (WebInspector.StylePropertyTreeElement.prototype.):
30933        (WebInspector.StylePropertyTreeElement.prototype):
30934        * inspector/front-end/utilities.js:
30935
309362010-10-19  Pavel Feldman  <pfeldman@chromium.org>
30937
30938        Reviewed by Yury Semikhatsky.
30939
30940        Web Inspector: do not access ResourcePanel from resources directly.
30941        https://bugs.webkit.org/show_bug.cgi?id=47892
30942
30943        * inspector/front-end/Resource.js:
30944        (WebInspector.Resource.prototype.set documentURL):
30945        (WebInspector.Resource.prototype.set startTime):
30946        (WebInspector.Resource.prototype.set responseReceivedTime):
30947        (WebInspector.Resource.prototype.set endTime):
30948        (WebInspector.Resource.prototype.set resourceSize):
30949        (WebInspector.Resource.prototype.set expectedContentLength):
30950        (WebInspector.Resource.prototype.set category):
30951        (WebInspector.Resource.prototype.set cached):
30952        (WebInspector.Resource.prototype.set mimeType):
30953        (WebInspector.Resource.prototype.get requestHeaders):
30954        (WebInspector.Resource.prototype.set requestHeaders):
30955        (WebInspector.Resource.prototype.get responseHeaders):
30956        (WebInspector.Resource.prototype.set responseHeaders):
30957        * inspector/front-end/ResourcesPanel.js:
30958        (WebInspector.ResourcesPanel.prototype.addResource):
30959        (WebInspector.ResourcesPanel.prototype.refreshResource):
30960        (WebInspector.ResourcesPanel.prototype._recreateViewForResourceIfNeeded):
30961        (WebInspector.ResourcesPanel.prototype._resourceViewIsConsistentWithCategory):
30962        (WebInspector.ResourceGraph):
30963        (WebInspector.ResourceGraph.prototype.refresh):
30964        * inspector/front-end/inspector.js:
30965        (WebInspector.updateResource):
30966
309672010-10-19  Yuta Kitamura  <yutak@chromium.org>
30968
30969        Reviewed by Pavel Feldman.
30970
30971        Make sure WebSocket resource has the url field when it is created.
30972
30973        Web Inspector: Uncaught TypeError when connection to WebSocket server is refused
30974        https://bugs.webkit.org/show_bug.cgi?id=47891
30975
30976        * inspector/InspectorResource.cpp:
30977        (WebCore::InspectorResource::createWebSocket):
30978
309792010-10-19  Hayato Ito  <hayato@chromium.org>
30980
30981        Reviewed by Darin Adler.
30982
30983        Make CSS style selector non-recursive.
30984        https://bugs.webkit.org/show_bug.cgi?id=43783
30985
30986        This change is one of the required changes to fix the following master bug:
30987        https://bugs.webkit.org/show_bug.cgi?id=42806
30988
30989        To avoid recursion, we prepare a call stack and maintain a list of
30990        function call state by ourselves and try matching iteratively.
30991
30992        Test: fast/css/long-css-selector-matches.html
30993
30994        * css/CSSStyleSelector.cpp:
30995        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
30996        (WebCore::CSSStyleSelector::checkSelector):
30997        * css/CSSStyleSelector.h:
30998
309992010-10-19  Sheriff Bot  <webkit.review.bot@gmail.com>
31000
31001        Unreviewed, rolling out r70034.
31002        http://trac.webkit.org/changeset/70034
31003        https://bugs.webkit.org/show_bug.cgi?id=47889
31004
31005        "Gustavo's bot is lame" (Requested by xan_ on #webkit).
31006
31007        * platform/network/soup/CookieJarSoup.cpp:
31008        (WebCore::defaultCookieJar):
31009        (WebCore::setCookies):
31010        * platform/network/soup/ResourceHandleSoup.cpp:
31011        (WebCore::ResourceHandle::prepareForURL):
31012        (WebCore::restartedCallback):
31013        (WebCore::startHttp):
31014        * platform/network/soup/ResourceRequestSoup.cpp:
31015        (WebCore::ResourceRequest::toSoupMessage):
31016        (WebCore::ResourceRequest::updateFromSoupMessage):
31017
310182010-10-19  Xan Lopez  <xlopez@igalia.com>
31019
31020        Reviewed by Martin Robinson.
31021
31022        [GTK] Bump minimum requirement for libsoup to 2.30
31023        https://bugs.webkit.org/show_bug.cgi?id=46176
31024
31025        Bump minimum required libsoup version to 2.30.
31026
31027        * platform/network/soup/CookieJarSoup.cpp:
31028        (WebCore::defaultCookieJar):
31029        (WebCore::setCookies):
31030        * platform/network/soup/ResourceHandleSoup.cpp:
31031        (WebCore::ResourceHandle::prepareForURL):
31032        (WebCore::restartedCallback):
31033        (WebCore::startHttp):
31034        * platform/network/soup/ResourceRequestSoup.cpp:
31035        (WebCore::ResourceRequest::toSoupMessage):
31036        (WebCore::ResourceRequest::updateFromSoupMessage):
31037
310382010-10-19  Xan Lopez  <xlopez@igalia.com>
31039
31040        Reviewed by Martin Robinson.
31041
31042        Fix distcheck, take 2.
31043
31044        * GNUmakefile.am: also move the generated CSS hash files to the
31045        build dir.
31046
310472010-10-18  Kent Tamura  <tkent@chromium.org>
31048
31049        Reviewed by Dimitri Glazkov.
31050
31051        Should not save state of a detached form control.
31052        https://bugs.webkit.org/show_bug.cgi?id=47811
31053
31054        Test: fast/forms/state-save-of-detached-control.html
31055
31056        * html/HTMLFormControlElement.cpp:
31057        (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
31058          If the node is detached, don't save the state.
31059
310602010-10-18  Xan Lopez  <xlopez@igalia.com>
31061
31062        Reviewed by Martin Robinson.
31063
31064        * GNUmakefile.am: add missing files.
31065
310662010-10-18  Oliver Hunt  <oliver@apple.com>
31067
31068        Reviewed by Sam Weinig.
31069
31070        REGRESSION: Feedly extension crashes Webkit
31071        https://bugs.webkit.org/show_bug.cgi?id=45811
31072
31073        The basic problem was the deserializer was holding a pointer into
31074        the constant pool, but if you were sufficiently unlucky then the
31075        constant pool would be moved while still relying on the pointer,
31076        which leads to badness.
31077
31078        I looked at just making all the sites this could happen extract the
31079        right string/jsstring before any possible allocations, but it seemed
31080        too fragile so i've gone for a forwarding object as the solution.
31081
31082        * bindings/js/SerializedScriptValue.cpp:
31083        (WebCore::CloneDeserializer::CachedStringRef::CachedStringRef):
31084        (WebCore::CloneDeserializer::CachedStringRef::operator->):
31085        (WebCore::CloneDeserializer::readStringData):
31086        (WebCore::CloneDeserializer::readFile):
31087        (WebCore::CloneDeserializer::readTerminal):
31088        (WebCore::CloneDeserializer::deserialize):
31089
310902010-10-18  Chris Rogers  <crogers@google.com>
31091
31092        Reviewed by Chris Fleizach.
31093
31094        Add AudioResampler files
31095        https://bugs.webkit.org/show_bug.cgi?id=47623
31096
31097        No new tests since audio API is not yet implemented.
31098
31099        * platform/audio/AudioResampler.cpp: Added.
31100        (WebCore::AudioResampler::AudioResampler):
31101        (WebCore::AudioResampler::configureChannels):
31102        (WebCore::AudioResampler::process):
31103        (WebCore::AudioResampler::setRate):
31104        (WebCore::AudioResampler::reset):
31105        * platform/audio/AudioResampler.h: Added.
31106        (WebCore::AudioResampler::~AudioResampler):
31107        (WebCore::AudioResampler::rate):
31108
311092010-10-18  Vangelis Kokkevis  <vangelis@chromium.org>
31110
31111        Reviewed by James Robinson.
31112
31113        [chromium] Prevent the creation of very large textures for layers by switching
31114        to "large layer" mode when a texture is larger than some fixed reasonable size
31115        (set to 2000 pixels for now).
31116        https://bugs.webkit.org/show_bug.cgi?id=47751
31117
31118        The code also changes the large layer logic to use the current scissor rect used
31119        by the compositor instead of the visible rect to determine how to clip large layers.
31120        This will provide additional texture savings. In addition, the various layer rects
31121        have been converted to use integers instead of floats to preserve uniformity in the code.
31122        
31123        Tests: Existing large layer layout tests including huge-layer and huge-layer-img
31124
31125        * platform/graphics/chromium/ContentLayerChromium.cpp:
31126        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
31127        (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
31128        * platform/graphics/chromium/LayerChromium.cpp:
31129        (WebCore::LayerChromium::getDrawRect):
31130        * platform/graphics/chromium/LayerChromium.h:
31131        * platform/graphics/chromium/LayerRendererChromium.cpp:
31132        (WebCore::LayerRendererChromium::drawLayers):
31133        (WebCore::LayerRendererChromium::drawLayersRecursive):
31134        (WebCore::LayerRendererChromium::scissorToRect):
31135        * platform/graphics/chromium/LayerRendererChromium.h:
31136        (WebCore::LayerRendererChromium::currentScissorRect):
31137
311382010-10-18  Jia Pu  <jpu@apple.com>
31139
31140        Reviewed by Stephanie Lewis.
31141
31142        Correct the description of manual test: autocorrection-cancelled-by-typing-1.html
31143        https://bugs.webkit.org/show_bug.cgi?id=47722
31144        <rdar://problem/8556206>
31145
31146        * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Update description
31147          to match the test content.
31148
311492010-10-18  Martin Robinson  <mrobinson@igalia.com>
31150
31151        Build fix for newer versions of GTK+ 2.0. Instead of using GDK_DISPLAY()
31152        use GDK_DRAWABLE_XDISPLAY(gdk_display_get_default()). GDK_DISPLAY() was
31153        recently deprecated and the latter method has been available since GTK+
31154        2.2.
31155
31156        * plugins/gtk/PluginViewGtk.cpp:
31157        (WebCore::PluginView::updatePluginWidget):
31158        (WebCore::PluginView::paint):
31159        (WebCore::PluginView::initXEvent):
31160        (WebCore::PluginView::platformGetValue):
31161        (WebCore::getVisualAndColormap):
31162        (WebCore::PluginView::platformStart):
31163        (WebCore::PluginView::platformDestroy):
31164
311652010-10-18  Ryosuke Niwa  <rniwa@webkit.org>
31166
31167        Reviewed by Adam Barth.
31168
31169        elementCannotHaveEndTag should be a member function of MarkupAccumulator
31170        https://bugs.webkit.org/show_bug.cgi?id=47846
31171
31172        Moved elementCannotHaveEndTag into MarkupAccumulator.
31173
31174        No new tests are added since this is a cleanup.
31175
31176        * editing/MarkupAccumulator.cpp:
31177        (WebCore::MarkupAccumulator::elementCannotHaveEndTag): Added.
31178        * editing/MarkupAccumulator.h: Added MarkupAccumulator::elementCannotHaveEndTag.
31179        * editing/markup.cpp: Removed elementCannotHaveEndTag.
31180        * editing/markup.h: Removed elementCannotHaveEndTag.
31181
311822010-10-18  Johnny Ding  <jnd@chromium.org>
31183
31184        Reviewed by Adam Barth.
31185
31186        Set the right referent sourceURL for the script with force user gesture.
31187        https://bugs.webkit.org/show_bug.cgi?id=37138
31188
31189        Because empty sourceURL indicates running script with force user gesture,
31190        make WebKit use document.url() as referent sourceURL (Since it uses blank
31191        URL instead empty if the input URL is empty) if WebKit isn't running the
31192        script from a hyper-link.
31193
31194        Test: fast/events/popup-blocked-from-window-open.html
31195
31196        * bindings/ScriptControllerBase.cpp:
31197        (WebCore::ScriptController::executeScript):
31198        * bindings/js/ScriptController.cpp:
31199        (WebCore::ScriptController::executeScriptInWorld):
31200
312012010-10-18  Darin Adler  <darin@apple.com>
31202
31203        * dom/Node.h: Fix ancient typo in just-modified comment.
31204
312052010-10-18  Darin Adler  <darin@apple.com>
31206
31207        Reviewed by Alexey Proskuryakov.
31208
31209        Remove some functions from class Node and make a few others non-virtual
31210        https://bugs.webkit.org/show_bug.cgi?id=47735
31211
31212        Refactoring. No new tests.
31213
31214        * bindings/js/JSNodeCustom.cpp:
31215        (WebCore::JSNode::markChildren): Added a FIXME about the use of the virtual
31216        ownerDocument function.
31217
31218        * dom/ContainerNode.cpp:
31219        (WebCore::ContainerNode::removeChildren): Removed the unused return value.
31220
31221        * dom/ContainerNode.h: Made insertBefore, replaceChild, removeChild, and
31222        appendChild non-virtual for clarity and performance. Made removeChildren
31223        non-virtual and removed its return value. Moved the inline Node functions
31224        that call through to ContainerNode into this file since the old way involved
31225        an extra level of inline function but otherwise had no advantages.
31226
31227        * dom/Element.h: Moved isMathMLElement here because there is no call site
31228        that needs to call it on a Node*. We can always move it back if we need to,
31229        but it's better to have less in the Node class.
31230
31231        * dom/Node.cpp:
31232        (WebCore::Node::insertBefore): Added an isContainerNode check so this can
31233        be non-virtual. There are very few callers who call this function on Node.
31234        If we want to optimize them further we can make the isContainerNode check
31235        inline in the future.
31236        (WebCore::Node::replaceChild): Ditto.
31237        (WebCore::Node::removeChild): Ditto.
31238        (WebCore::Node::appendChild): Ditto.
31239        (WebCore::Node::remove): Removed unneeded ref/unref because
31240        ContainerNode::removeChild already does this.
31241        (WebCore::Node::createRendererIfNeeded): Removed #if around call to
31242        childShouldCreateRenderer since it's needed even without SVG and XHTMLMP.
31243
31244        * dom/Node.h: Moved definitions of inline functions that depend on
31245        ContainerNode to the ContainerNode.h header. They already required inclusion
31246        of that header, so there is no functional change. Made insertBefore,
31247        replaceChild, removeChild, and appendChild non-virtual. There are very few
31248        callers of these functions on this class. Moved isMathMLElement to Element.
31249        Added a FIXME about the name of eventAncestors. Fixed comment formatting.
31250        Eliminated unused isEditableBlock function. Moved the body of the
31251        enclosingInlineElement function to the editing file that was the only
31252        call site. Removed the previousEditable and nextEditable functions,
31253        incorporating their bodies into the one place they were called.
31254        Took the childShouldCreateRenderer function out of #if since it's
31255        now used by the implementation of the <noscript> element.
31256
31257        * dom/Position.cpp:
31258        (WebCore::nextRenderedEditable): Rewrote the function to use nextLeafNode
31259        instead of nextEditable.
31260        (WebCore::previousRenderedEditable): Rewrote the function to use
31261        previousLeafNode instead of previousEditable.
31262
31263        * editing/ReplaceSelectionCommand.cpp:
31264        (WebCore::enclosingInline): Moved function here from the Node class. Also
31265        fixed an incorrect cast this function did, which assumed the function
31266        result was always an element, which the function does not guarantee.
31267        (WebCore::ReplaceSelectionCommand::doApply): Call the function above.
31268
31269        * history/HistoryItem.cpp: Added include of MathExtras.h.
31270
312712010-10-18  Yongjun Zhang  <yongjun_zhang@apple.com>
31272
31273        Reviewed by Darin Adler.
31274
31275        Missing support for document.createEvent("OrientationEvent")
31276        https://bugs.webkit.org/show_bug.cgi?id=32492
31277
31278        Add support for document.createEvent("OrientationEvent") to help unit testing of
31279        onOrientationChange event.
31280
31281        Test: fast/dom/DeviceOrientation/create-event-onorientationchange.html
31282
31283        * dom/Document.cpp:
31284        (WebCore::Document::createEvent):
31285
312862010-10-18  Jeremy Orlow  <jorlow@chromium.org>
31287
31288        Reviewed by Darin Adler.
31289
31290        DOMStringList should return null if the index is out of range
31291        https://bugs.webkit.org/show_bug.cgi?id=47829
31292
31293        When item() returns a null string, it needs to be passed to JS as
31294        null. The indexed getter will then magically do the right thing.
31295        So all that's left is having DOMStringList::item() return null when
31296        the index is out of bounds.
31297
31298        * dom/DOMStringList.cpp:
31299        (WebCore::DOMStringList::item):
31300        * dom/DOMStringList.h:
31301        * dom/DOMStringList.idl:
31302
313032010-10-18  Girish Ramakrishnan  <girish@forwardbias.in>
31304
31305        Reviewed by Ariya Hidayat.
31306
31307        [Qt] Implement Accelerated Composition for NPAPI Plugins.
31308
31309        https://bugs.webkit.org/show_bug.cgi?id=35524
31310
31311        * plugins/PluginView.h:
31312        (WebCore::PluginView::platformLayer):
31313        * plugins/qt/PluginViewQt.cpp:
31314        (WebCore::PluginGraphicsLayerQt::PluginGraphicsLayerQt):
31315        (WebCore::PluginGraphicsLayerQt::~PluginGraphicsLayerQt):
31316        (WebCore::PluginGraphicsLayerQt::paint):
31317        (WebCore::PluginView::updatePluginWidget):
31318        (WebCore::PluginView::paint):
31319        (WebCore::PluginView::invalidateRect):
31320        (WebCore::PluginView::invalidateRegion):
31321        (WebCore::PluginView::platformStart):
31322        (WebCore::PluginView::platformLayer):
31323
313242010-10-18  Stuart Morgan  <stuartmorgan@chromium.org>
31325
31326        Reviewed by Eric Seidel.
31327
31328        Switch to using the new Carbon NPAPI event declarations, and remove
31329        the old ones.
31330
31331        https://bugs.webkit.org/show_bug.cgi?id=40784
31332
31333        * bridge/npapi.h:
31334        * plugins/mac/PluginViewMac.mm:
31335        (WebCore::PluginView::setFocus):
31336        (WebCore::PluginView::handleMouseEvent):
31337
313382010-10-18  Pavel Feldman  <pfeldman@chromium.org>
31339
31340        Reviewed by Yury Semikhatsky.
31341
31342        Web Inspector: comment out resource manager instantiation on front-end side.
31343        https://bugs.webkit.org/show_bug.cgi?id=47823
31344
31345        * inspector/front-end/inspector.js:
31346
313472010-10-18  Andrei Popescu  <andreip@google.com>
31348
31349        Reviewed by Jeremy Orlow.
31350
31351        The description parameter of IDBFactory::open() should be mandatory.
31352        https://bugs.webkit.org/show_bug.cgi?id=47835
31353
31354        Makes the description parameter mandatory, as per the IndexedDatabase specification.
31355        Modified existing tests to cover this change.
31356
31357        * storage/IDBDatabaseBackendImpl.cpp:
31358        (WebCore::extractMetaData):
31359        (WebCore::setMetaData):
31360        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
31361        * storage/IDBFactory.cpp:
31362        (WebCore::IDBFactory::open):
31363        * storage/IDBFactory.h:
31364        * storage/IDBFactory.idl:
31365
313662010-10-18  Xiaomei Ji  <xji@chromium.org>
31367
31368        Reviewed by David Levin.
31369
31370        Code cleanup: Move most function members in TextRunWorker from inlined.
31371        https://bugs.webkit.org/show_bug.cgi?id=47732
31372
31373        No functionality change, so no tests added.
31374
31375        * platform/graphics/chromium/FontLinux.cpp:
31376        (WebCore::TextRunWalker::setWordSpacingAdjustment):
31377        (WebCore::TextRunWalker::setLetterSpacingAdjustment):
31378        (WebCore::TextRunWalker::setXOffsetToZero):
31379        (WebCore::TextRunWalker::rtl):
31380        (WebCore::TextRunWalker::glyphs):
31381        (WebCore::TextRunWalker::length):
31382        (WebCore::TextRunWalker::xPositions):
31383        (WebCore::TextRunWalker::advances):
31384        (WebCore::TextRunWalker::width):
31385        (WebCore::TextRunWalker::logClusters):
31386        (WebCore::TextRunWalker::numCodePoints):
31387        (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
31388        (WebCore::TextRunWalker::isCodepointSpace):
31389        (WebCore::TextRunWalker::TextRunWalker):
31390        (WebCore::TextRunWalker::~TextRunWalker):
31391        (WebCore::TextRunWalker::isWordBreak):
31392        (WebCore::TextRunWalker::setPadding):
31393        (WebCore::TextRunWalker::reset):
31394        (WebCore::TextRunWalker::setBackwardsIteration):
31395        (WebCore::TextRunWalker::nextScriptRun):
31396        (WebCore::TextRunWalker::widthOfFullRun):
31397        (WebCore::TextRunWalker::getTextRun):
31398        (WebCore::TextRunWalker::getNormalizedTextRun):
31399        (WebCore::TextRunWalker::setupFontForScriptRun):
31400        (WebCore::TextRunWalker::allocHarfbuzzFont):
31401        (WebCore::TextRunWalker::deleteGlyphArrays):
31402        (WebCore::TextRunWalker::createGlyphArrays):
31403        (WebCore::TextRunWalker::resetGlyphArrays):
31404        (WebCore::TextRunWalker::shapeGlyphs):
31405        (WebCore::TextRunWalker::setGlyphXPositions):
31406        (WebCore::TextRunWalker::mirrorCharacters):
31407
314082010-10-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
31409
31410        Reviewed by Andreas Kling.
31411
31412        [Qt] AC rendering bugs
31413        There were a few missing connections in Qt AC between GraphicsLayer and plugins, like changing the plugin's geometry to the layer's
31414        contentsRect, and making sure media layers handle ParentChange events and setContentsNeedsDisplay. Now media layers behave correctly.
31415
31416        https://bugs.webkit.org/show_bug.cgi?id=47571
31417
31418        No new tests. This is in preparation for fixing AC+plugins, which already has tests that don't work yet with Qt.
31419
31420        * platform/graphics/qt/GraphicsLayerQt.cpp:
31421        (WebCore::GraphicsLayerQtImpl::flushChanges):
31422        (WebCore::GraphicsLayerQt::setContentsNeedsDisplay):
31423        * platform/graphics/qt/GraphicsLayerQt.h:
31424
314252010-10-18  Pavel Feldman  <pfeldman@chromium.org>
31426
31427        Reviewed by Simon Fraser.
31428
31429        Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
31430        https://bugs.webkit.org/show_bug.cgi?id=46224
31431
31432        * CMakeLists.txt:
31433        * GNUmakefile.am:
31434        * WebCore.gypi:
31435        * WebCore.pro:
31436        * WebCore.vcproj/WebCore.vcproj:
31437        * WebCore.xcodeproj/project.pbxproj:
31438        * inspector/InspectorClient.cpp: Added.
31439        (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
31440        * inspector/InspectorClient.h:
31441        (WebCore::InspectorClient::InspectorClient):
31442
314432010-10-18  Andrei Popescu  <andreip@google.com>
31444
31445        Reviewed by Jeremy Orlow.
31446
31447        IDBKeyTree.h is no longer used.
31448        https://bugs.webkit.org/show_bug.cgi?id=47824
31449
31450        No new tests, just removing unused files.
31451
31452        * WebCore.gypi:
31453        * WebCore.xcodeproj/project.pbxproj:
31454        * storage/IDBKeyTree.h: Removed.
31455
314562010-10-18  Andreas Kling  <kling@webkit.org>
31457
31458        Unreviewed buildfix for Qt + V8.
31459        Add missing <wtf/text/CString.h> include.
31460
31461        * inspector/InspectorInstrumentation.cpp:
31462
314632010-10-18  Ilya Tikhonovsky  <loislo@chromium.org>
31464
31465        Reviewed by Yury Semikhatsky.
31466
31467        Web Inspector: toJSON serialization for Numbers should be fixed.
31468        DecimalNumber is used instead of printf.
31469
31470        https://bugs.webkit.org/show_bug.cgi?id=43832
31471
31472        * inspector/InspectorValues.cpp:
31473        (WebCore::InspectorBasicValue::writeJSON):
31474
314752010-10-18  Ilya Tikhonovsky  <loislo@chromium.org>
31476
31477        Reviewed by Yury Semikhatsky.
31478
31479        Web Inspector: [REGRESSION] Inspector window visible during run-webkit-tests.
31480        The initial state of an inspector setting should stay untouched
31481        if the profile has no value for it.
31482
31483        https://bugs.webkit.org/show_bug.cgi?id=47785
31484
31485        * inspector/InspectorState.cpp:
31486        (WebCore::InspectorState::loadFromSettings):
31487
314882010-10-18  Pavel Feldman  <pfeldman@chromium.org>
31489
31490        Reviewed by Yury Semikhatsky.
31491
31492        Web Inspector: tab headers on resource panel are 1px off on Mac.
31493        https://bugs.webkit.org/show_bug.cgi?id=47798
31494
31495        * inspector/front-end/inspector.css:
31496        (.tabbed-pane-header li):
31497
314982010-10-18  Pavel Feldman  <pfeldman@chromium.org>
31499
31500        Not reviewed. Build fix.
31501
31502        * inspector/InspectorResourceAgent.cpp:
31503        (WebCore::cachedResourceTypeString):
31504
315052010-10-17  Pavel Feldman  <pfeldman@chromium.org>
31506
31507        Reviewed by Yury Semikhatsky.
31508
31509        Web Inspector: Introduce InspectorResourceAgent.h/cpp and ResourceManager.js to
31510        fill network panel with data.
31511        https://bugs.webkit.org/show_bug.cgi?id=47779
31512        
31513        InspectorResourceAgent instance / JS part are introduced in this patch. Agent's lifetime is equal
31514        to the front-end's. This new resource agent does not have state, instead it covers two functions:
31515         1) forwards loader client messages to the front-end 2) is capable of building a tree of cached resources.
31516        (1) feeds network panel with data, (2) shows the resource tree in the new ResourcesPanel concept.
31517        This bug is for extracting this new InspectorResourceAgent class and its javascript counterpart.
31518        Once resources panel is refactored for the new concept, InspectorResource, InspectorController's
31519        resource-related routines, inspector.js's code dealing with resources, they all will be gone.
31520
31521        * WebCore.gypi:
31522        * WebCore.vcproj/WebCore.vcproj:
31523        * inspector/CodeGeneratorInspector.pm:
31524        * inspector/Inspector.idl:
31525        * inspector/InspectorApplicationCacheAgent.cpp:
31526        (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
31527        * inspector/InspectorController.cpp:
31528        (WebCore::InspectorController::connectFrontend):
31529        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
31530        (WebCore::InspectorController::didCommitLoad):
31531        (WebCore::InspectorController::frameDetachedFromParent):
31532        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
31533        (WebCore::InspectorController::identifierForInitialRequest):
31534        (WebCore::InspectorController::willSendRequest):
31535        (WebCore::InspectorController::markResourceAsCached):
31536        (WebCore::InspectorController::didReceiveResponse):
31537        (WebCore::InspectorController::didReceiveContentLength):
31538        (WebCore::InspectorController::didFinishLoading):
31539        (WebCore::InspectorController::didFailLoading):
31540        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
31541        (WebCore::InspectorController::scriptImported):
31542        (WebCore::InspectorController::didCreateWebSocket):
31543        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
31544        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
31545        (WebCore::InspectorController::didCloseWebSocket):
31546        * inspector/InspectorController.h:
31547        * inspector/InspectorResource.cpp:
31548        (WebCore::InspectorResource::updateResponse):
31549        (WebCore::cachedResourceType):
31550        (WebCore::InspectorResource::type):
31551        (WebCore::InspectorResource::sourceString):
31552        (WebCore::InspectorResource::sourceBytes):
31553        (WebCore::InspectorResource::endTiming):
31554        * inspector/InspectorResourceAgent.cpp:
31555        (WebCore::InspectorResourceAgent::resourceContent):
31556        (WebCore::InspectorResourceAgent::resourceContentBase64):
31557        (WebCore::InspectorResourceAgent::resourceData):
31558        (WebCore::InspectorResourceAgent::cachedResource):
31559        (WebCore::buildObjectForHeaders):
31560        (WebCore::buildObjectForTiming):
31561        (WebCore::buildObjectForResourceRequest):
31562        (WebCore::buildObjectForResourceResponse):
31563        (WebCore::buildObjectForMainResource):
31564        (WebCore::cachedResourceTypeString):
31565        (WebCore::buildObjectForCachedResource):
31566        (WebCore::buildObjectForFrameResources):
31567        (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
31568        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
31569        (WebCore::InspectorResourceAgent::willSendRequest):
31570        (WebCore::InspectorResourceAgent::markResourceAsCached):
31571        (WebCore::InspectorResourceAgent::didReceiveResponse):
31572        (WebCore::InspectorResourceAgent::didReceiveContentLength):
31573        (WebCore::InspectorResourceAgent::didFinishLoading):
31574        (WebCore::InspectorResourceAgent::didFailLoading):
31575        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
31576        (WebCore::InspectorResourceAgent::setOverrideContent):
31577        (WebCore::InspectorResourceAgent::didCommitLoad):
31578        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
31579        (WebCore::createReadableStringFromBinary):
31580        (WebCore::InspectorResourceAgent::didCreateWebSocket):
31581        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
31582        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
31583        (WebCore::InspectorResourceAgent::didCloseWebSocket):
31584        (WebCore::InspectorResourceAgent::cachedResources):
31585        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
31586        * inspector/InspectorResourceAgent.h:
31587        (WebCore::InspectorResourceAgent::create):
31588        * inspector/InspectorStyleSheet.cpp:
31589        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
31590        * inspector/front-end/ExtensionServer.js:
31591        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
31592        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
31593        * inspector/front-end/Resource.js:
31594        (WebInspector.Resource.prototype.get responseReceivedTime):
31595        (WebInspector.Resource.prototype.set endTime):
31596        * inspector/front-end/Settings.js:
31597        * inspector/front-end/SourceView.js:
31598        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
31599        * inspector/front-end/WebKit.qrc:
31600        * inspector/front-end/inspector.css:
31601        (.tabbed-pane-header li):
31602        * inspector/front-end/inspector.html:
31603        * inspector/front-end/inspector.js:
31604        (WebInspector.updateResource):
31605        * loader/ResourceLoadNotifier.cpp:
31606        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
31607        * loader/appcache/ApplicationCacheGroup.cpp:
31608        (WebCore::ApplicationCacheGroup::didReceiveResponse):
31609
316102010-10-16  Pavel Feldman  <pfeldman@chromium.org>
31611
31612        Reviewed by Yury Semikhatsky.
31613
31614        Web Inspector: brush up URL parsing on the front-end.
31615        https://bugs.webkit.org/show_bug.cgi?id=47772
31616
31617        * inspector/InspectorResource.cpp:
31618        (WebCore::InspectorResource::updateScriptObject):
31619        * inspector/front-end/AuditRules.js:
31620        (WebInspector.AuditRules.getDomainToResourcesMap):
31621        (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
31622        (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
31623        (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
31624        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
31625        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
31626        (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
31627        * inspector/front-end/CookieItemsView.js:
31628        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
31629        * inspector/front-end/DOMAgent.js:
31630        (WebInspector.Cookies.cookieMatchesResourceURL):
31631        * inspector/front-end/Resource.js:
31632        (WebInspector.Resource):
31633        (WebInspector.Resource.prototype.set url):
31634        (WebInspector.Resource.prototype.get displayName):
31635        * inspector/front-end/ResourceCategory.js:
31636        (WebInspector.ResourceCategory.prototype.addResource):
31637        * inspector/front-end/ResourceView.js:
31638        (WebInspector.ResourceView):
31639        * inspector/front-end/inspector.js:
31640        (WebInspector.documentClick.followLink):
31641        (WebInspector.documentClick):
31642        (WebInspector.updateResource):
31643        (WebInspector.linkifyStringAsFragment):
31644        (WebInspector.resourceURLForRelatedNode):
31645        (WebInspector.completeURL):
31646        * inspector/front-end/utilities.js:
31647        (String.prototype.asParsedURL):
31648
316492010-10-17  Andreas Kling  <kling@webkit.org>
31650
31651        Reviewed by Kenneth Rohde Christiansen.
31652
31653        [Qt] Support custom open() verbs/methods in XMLHttpRequest
31654        https://bugs.webkit.org/show_bug.cgi?id=40476
31655
31656        Fall back to QNetworkAccessManager::CustomOperation for any HTTP verb
31657        that's not specifically supported by QNetworkAccessManager.
31658
31659        This prevents the infinite loop that otherwise occurs after sending
31660        an UnknownOperation request.
31661
31662        This change is covered by existing (skipped) tests that will be
31663        unskipped once the Qt bots are running Qt 4.7.
31664
31665        * platform/network/qt/QNetworkReplyHandler.cpp:
31666        (WebCore::QNetworkReplyHandler::httpMethod):
31667        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
31668        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
31669        * platform/network/qt/QNetworkReplyHandler.h:
31670
316712010-10-17  Adam Barth  <abarth@webkit.org>
31672
31673        Reviewed by Dimitri Glazkov.
31674
31675        Remove explicit passing of user gesture in NavigationScheduler
31676        https://bugs.webkit.org/show_bug.cgi?id=47786
31677
31678        As requested by Mr. Glazkov, remove more explicit passing of the user
31679        gesture state.  We now use a static to pass this information around.
31680
31681        * bindings/generic/BindingFrame.h:
31682        (WebCore::::navigateIfAllowed):
31683        * bindings/js/JSDOMWindowCustom.cpp:
31684        (WebCore::JSDOMWindow::setLocation):
31685        * bindings/js/JSLocationCustom.cpp:
31686        (WebCore::JSLocation::reload):
31687        * bindings/v8/custom/V8LocationCustom.cpp:
31688        (WebCore::V8Location::reloadCallback):
31689        * inspector/InspectorController.cpp:
31690        (WebCore::InspectorController::setResourceTrackingEnabled):
31691        (WebCore::InspectorController::reloadPage):
31692        * loader/NavigationScheduler.cpp:
31693        (WebCore::ScheduledNavigation::ScheduledNavigation):
31694        (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
31695        (WebCore::ScheduledRedirect::ScheduledRedirect):
31696        (WebCore::ScheduledLocationChange::ScheduledLocationChange):
31697        (WebCore::ScheduledRefresh::ScheduledRefresh):
31698        (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
31699        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
31700        (WebCore::NavigationScheduler::scheduleRedirect):
31701        (WebCore::NavigationScheduler::mustLockBackForwardList):
31702        (WebCore::NavigationScheduler::scheduleLocationChange):
31703        (WebCore::NavigationScheduler::scheduleFormSubmission):
31704        (WebCore::NavigationScheduler::scheduleRefresh):
31705        (WebCore::NavigationScheduler::scheduleHistoryNavigation):
31706        * loader/NavigationScheduler.h:
31707        * loader/SubframeLoader.cpp:
31708        (WebCore::SubframeLoader::loadOrRedirectSubframe):
31709
317102010-10-17  Julien Chaffraix  <jchaffraix@codeaurora.org>
31711
31712        Reviewed by Andreas Kling.
31713
31714        'transparent' should be a valid color
31715        https://bugs.webkit.org/show_bug.cgi?id=45482
31716
31717        Test: svg/animations/svg-animate-color-transparent.svg
31718
31719        Based on previous work by Jan Erik Hanssen  <jhanssen@codeaurora.org>
31720
31721        * platform/ColorData.gperf: Added 'transparent' to the list of colors.
31722        Added the alpha to all the colors as it was needed to support the new color.
31723
31724        * platform/graphics/Color.cpp:
31725        (WebCore::Color::Color):
31726        (WebCore::Color::setNamedColor): Avoid setting the alpha as now it is not
31727        always 0xFF.
31728
317292010-10-17  Justin Schuh  <jschuh@chromium.org>
31730
31731        Reviewed by Nikolas Zimmermann.
31732
31733        Duplicate use element children in shadow tree.
31734        https://bugs.webkit.org/show_bug.cgi?id=47561
31735
31736        Test: svg/custom/use-nested-children.svg
31737
31738        * svg/SVGUseElement.cpp:
31739        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
31740
317412010-10-17  Hyung Song  <beergun@company100.net>
31742
31743        Reviewed by David Levin.
31744
31745        Add !SINGLE_THREADED guard.
31746        https://bugs.webkit.org/show_bug.cgi?id=47608
31747
31748        For SINGLE_THREADED ports LockingMutex.tryLock() returns false.
31749        This will prevent interrupt() from falling into infinite loop.
31750
31751        * platform/sql/SQLiteDatabase.cpp:
31752        (WebCore::SQLiteDatabase::interrupt):
31753
317542010-10-17  Simon Fraser  <simon.fraser@apple.com>
31755
31756        Reviewed by Nikolas Zimmermann.
31757
31758        Very large and small numbers fail to round-trip through CSS
31759        https://bugs.webkit.org/show_bug.cgi?id=20674
31760        
31761        Use the new DecimalNumber functionality to convert CSS numberic values to strings
31762        using decimal notation, rather than %g (which can output scientific notation).
31763
31764        Test: fast/css/round-trip-values.html
31765
31766        * css/CSSPrimitiveValue.cpp:
31767        (WebCore::formatNumber):
31768        (WebCore::CSSPrimitiveValue::cssText):
31769
317702010-10-17  Cosmin Truta  <ctruta@chromium.org>
31771
31772        Reviewed by Nikolas Zimmermann.
31773
31774        Crash while processing ill-formed SVG with cycles
31775        https://bugs.webkit.org/show_bug.cgi?id=47498
31776
31777        Test: svg/custom/invalid-paint-shape-mask.svg
31778
31779        * rendering/SVGResources.cpp:
31780        (paintingResourceFromSVGPaint): Ensured that the painting resource is
31781        either a pattern resource or a gradient resource.
31782        (SVGResources::setClipper):
31783        (SVGResources::setFilter):
31784        (SVGResources::setMarkerStart):
31785        (SVGResources::setMarkerMid):
31786        (SVGResources::setMarkerEnd):
31787        (SVGResources::setMasker):
31788        (SVGResources::setFill):
31789        (SVGResources::setStroke): Added ASSERT statements for previously-unchecked
31790        preconditions.
31791
317922010-10-17  Alex Milowski  <alex@milowski.com>
31793
31794        Reviewed by Kenneth Rohde Christiansen.
31795
31796        Fixed extra whitespace above operators when they aren't stretched
31797        yet the stretch height is large.  Also, the baseline alignment
31798        was changed so that rows and operators interact appropriately now
31799        that operators don't have the extra white space.
31800
31801        * mathml/RenderMathMLOperator.cpp:
31802        * mathml/RenderMathMLRow.cpp:
31803
318042010-10-17  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
31805
31806        Reviewed by Antonio Gomes.
31807
31808        [Qt] Fix focusing of control elements on mouse click.
31809        Brings GTK fix to Qt platform.
31810        https://bugs.webkit.org/show_bug.cgi?id=40641
31811                        
31812        Test: fast/events/click-focus-control.html
31813
31814        * html/HTMLFormControlElement.cpp:
31815        (WebCore::HTMLFormControlElement::isMouseFocusable):
31816
318172010-10-17  Adam Barth  <abarth@webkit.org>
31818
31819        Reviewed by Dimitri Glazkov.
31820
31821        FrameLoader doesn't need an explicit userGesture parameter
31822        https://bugs.webkit.org/show_bug.cgi?id=47777
31823
31824        We used to pass around the user gesture state explicitly.  Now we use
31825        static state.  Explicitly passing the user gesture state to FrameLoader
31826        in these methods is pretty out-dated.
31827
31828        * bindings/ScriptControllerBase.cpp:
31829        (WebCore::ScriptController::executeIfJavaScriptURL):
31830        * bindings/generic/BindingDOMWindow.h:
31831        (WebCore::::createWindow):
31832        (WebCore::::open):
31833        * bindings/js/JSDOMWindowCustom.cpp:
31834        (WebCore::createWindow):
31835        (WebCore::JSDOMWindow::open):
31836        * bindings/js/JSDocumentCustom.cpp:
31837        (WebCore::JSDocument::setLocation):
31838        * bindings/js/ScriptController.h:
31839        * bindings/v8/ScriptController.h:
31840        * html/HTMLAnchorElement.cpp:
31841        (WebCore::handleLinkClick):
31842        * inspector/InspectorController.cpp:
31843        (WebCore::InspectorController::openInInspectedWindow):
31844        * loader/FrameLoader.cpp:
31845        (WebCore::FrameLoader::changeLocation):
31846        (WebCore::FrameLoader::urlSelected):
31847        (WebCore::FrameLoader::submitForm):
31848        * loader/FrameLoader.h:
31849        * loader/NavigationScheduler.cpp:
31850        (WebCore::ScheduledURLNavigation::fire):
31851        (WebCore::ScheduledRefresh::fire):
31852        (WebCore::ScheduledHistoryNavigation::fire):
31853        (WebCore::NavigationScheduler::scheduleLocationChange):
31854
318552010-10-17  Sergey A. Sukiyazov  <sergey.sukiyazov@gmail.com>
31856
31857        Reviewed by Andreas Kling
31858
31859        [Qt] Hovering the mouse over links produce a trail of underlined links (X11 paint engine)
31860        https://bugs.webkit.org/show_bug.cgi?id=42248
31861
31862        The problem will appear because coordinates of points may increase by 0.05f (if line width is odd) inside
31863        method GraphicsContext::adjustLineToPixelBoundaries(...) and become outside of text bounding rect htere,
31864        then the new point coordinates will be passed to Qt graphics engine.
31865
31866        The solution decreases Y cordinates of points inside drawLineForText(...) method only if Qt graphics engine
31867        is X11. The Y coordinates will be increase by 0.5f inside method adjustLineToPixelBoundaries(...),  which
31868        called from drawLine(...), and then inside Qt painting engine will be rounded to next greater integer value.
31869
31870        NOTE: This changes will affect only Qt X11 verision and if only X11 Painting Engine will be used.
31871
31872        No new tests.
31873
31874        * platform/graphics/qt/GraphicsContextQt.cpp:
31875        (WebCore::GraphicsContext::drawLineForText):
31876
318772010-10-17  Rob Buis  <rwlbuis@gmail.com>
31878
31879        Reviewed by Dirk Schulze.
31880
31881        Text under nested link dropped
31882        https://bugs.webkit.org/show_bug.cgi?id=46460
31883
31884        Allow links inside of tspan and textPath elements.
31885
31886        * svg/SVGTSpanElement.cpp:
31887        (WebCore::SVGTSpanElement::childShouldCreateRenderer):
31888        * svg/SVGTextPathElement.cpp:
31889        (WebCore::SVGTextPathElement::childShouldCreateRenderer):
31890
318912010-10-16  Kwang Yul Seo  <skyul@company100.net>
31892
31893        Reviewed by Kent Tamura.
31894
31895        [BREWMP] Port TextCodec
31896        https://bugs.webkit.org/show_bug.cgi?id=45797
31897
31898        Implement TextCodec with Brew MP's ICharsetConv.
31899        Only UTF-8 is supported for now.
31900
31901        * platform/text/TextEncoding.cpp:
31902        (WebCore::TextEncoding::encode):
31903        * platform/text/TextEncodingRegistry.cpp:
31904        (WebCore::buildBaseTextCodecMaps):
31905        * platform/text/brew/TextCodecBrew.cpp: Added.
31906        (WebCore::newTextCodecBrew):
31907        (WebCore::TextCodecBrew::registerBaseEncodingNames):
31908        (WebCore::TextCodecBrew::registerBaseCodecs):
31909        (WebCore::TextCodecBrew::registerExtendedEncodingNames):
31910        (WebCore::TextCodecBrew::registerExtendedCodecs):
31911        (WebCore::TextCodecBrew::TextCodecBrew):
31912        (WebCore::TextCodecBrew::~TextCodecBrew):
31913        (WebCore::TextCodecBrew::decode):
31914        (WebCore::TextCodecBrew::encode):
31915        * platform/text/brew/TextCodecBrew.h: Added.
31916
319172010-10-16  Patrick Gansterer  <paroga@webkit.org>
31918
31919        Unreviewed.
31920
31921        Build fix for !ENABLE(INSPECTOR) after r69844.
31922
31923        * inspector/InspectorState.h: Added ENABLE(INSPECTOR) guard.
31924
319252010-10-16  Patrick Gansterer  <paroga@webkit.org>
31926
31927        Unreviewed, build fix.
31928
31929        WinCE build fix for r69798.
31930
31931        * platform/text/wince/TextCodecWinCE.cpp: Added missing include.
31932
319332010-10-16  Johnny Ding  <jnd@chromium.org>
31934
31935        Reviewed by Adam Barth.
31936
31937        Requires a user gesture when opening file choose dialog.
31938        https://bugs.webkit.org/show_bug.cgi?id=47593
31939
31940        Test: fast/forms/input-file-not-open-without-gesture.html
31941
31942        * rendering/RenderFileUploadControl.cpp:
31943        (WebCore::RenderFileUploadControl::click):
31944
319452010-10-16  Alex Milowski  <alex@milowski.com>
31946
31947        Reviewed by Kenneth Rohde Christiansen.
31948
31949        Changed the vertical alignment within mfenced to baseline to
31950        match the rest of the containers (e.g. mrow) and adjusted the
31951        operator spacing to 0.1em.
31952
31953        Test: mathml/presentation/fenced-mi.xhtml
31954
31955        * css/mathml.css:
31956        * mathml/RenderMathMLFenced.cpp:
31957
319582010-10-16  Patrick Gansterer  <paroga@webkit.org>
31959
31960        Reviewed by Adam Barth.
31961
31962        Rename StringHasherFunctions.h to StringHasher.h
31963        https://bugs.webkit.org/show_bug.cgi?id=47200
31964
31965        * ForwardingHeaders/wtf/StringHashFunctions.h: Removed.
31966        * ForwardingHeaders/wtf/StringHasher.h: Copied from WebCore/ForwardingHeaders/wtf/StringHashFunctions.h. 
31967 
319682010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
31969
31970        Reviewed by Darin Adler.
31971
31972        unlink removes inline style of anchor elements
31973        https://bugs.webkit.org/show_bug.cgi?id=47424
31974
31975        The bug was caused by our not extracting styles when the anchor element is removed by removeInlineStyle.
31976        Because we removed the element without pushing its inline style down, we lost style information.
31977
31978        Fixed the bug by pushing down styles in removeInlineStyle as done in pushDownInlineStyleAroundNode.
31979        Also fixed a bug in addInlineStyleIfNeeded where StyleChange incorrectly removed styles of the container
31980        node as supposed to that of startNode from the style to apply when startNode is not an element.
31981
31982        Test: editing/execCommand/toggle-unlink.html
31983
31984        * editing/ApplyStyleCommand.cpp:
31985        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): To prevent a similar bug in the future,
31986        added an assert that extractedStyle is specified whenever we're removing a styled element.
31987        (WebCore::ApplyStyleCommand::removeInlineStyle):
31988        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
31989
319902010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
31991
31992        Reviewed by Tony Chang.
31993
31994        serializeNodesWithNamespaces should be in MarkupAccumulator
31995        https://bugs.webkit.org/show_bug.cgi?id=47749
31996
31997        Moved serializeNodesWithNamespaces to MarkupAccumulator, and renamed it to serializeNodes.
31998        MarkupAccumulator::serializeNode now returns the resultant string instead of having a separate takeResults().
31999        Added several helper functions to MarkupAccumulator.
32000
32001        No new tests are added since this is a cleanup.
32002
32003        * editing/MarkupAccumulator.cpp:
32004        (WebCore::MarkupAccumulator::serializeNodes): Wrapper for serializeNodes and concatenateMarkup.
32005        (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Moved from markup.cpp
32006        (WebCore::MarkupAccumulator::appendStartTag): Calls appendString instead of appending into m_succeedingMarkup directly.
32007        (WebCore::MarkupAccumulator::appendEndTag): Ditto.
32008        (WebCore::MarkupAccumulator::totalLength): Added; extracted from takeResults.
32009        (WebCore::MarkupAccumulator::concatenateMarkup): Ditto.
32010        * editing/MarkupAccumulator.h:
32011        (WebCore::MarkupAccumulator::length): Added; calls totalLength.
32012        * editing/markup.cpp:
32013        (WebCore::StyledMarkupAccumulator::appendString): Added; calls MarkupAccumulator's appendString.
32014        (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Calls appendString.
32015        (WebCore::StyledMarkupAccumulator::takeResults): Calls length, totalLength, and concatenateMarkup.
32016        (WebCore::StyledMarkupAccumulator::serializeNodes): Became a member function.
32017        (WebCore::createMarkup): Uses MarkupAccumulator.
32018
320192010-10-15  Kinuko Yasuda  <kinuko@google.com>
32020
32021        Reviewed by Jian Li.
32022
32023        Implement FileEntrySync.file() in FileSystem API
32024        https://bugs.webkit.org/show_bug.cgi?id=47310
32025
32026        Tests: fast/filesystem/workers/file-from-file-entry-sync.html
32027               fast/filesystem/workers/file-from-file-entry.html
32028
32029        * fileapi/DOMFileSystem.cpp:
32030        (WebCore::DOMFileSystem::createFile): Added.
32031        * fileapi/DOMFileSystem.h:
32032        * fileapi/DOMFileSystemSync.cpp:
32033        (WebCore::DOMFileSystemSync::createFile): Added.
32034        * fileapi/DOMFileSystemSync.h:
32035        * fileapi/DirectoryReaderBase.h: Added 'virtual path' comment.
32036        * fileapi/EntryBase.h: Added 'virtual path' comment.
32037        * fileapi/FileEntry.cpp:
32038        (WebCore::FileEntry::file): Changed to use DOMFileSystem::createFile.
32039        * fileapi/FileEntrySync.cpp:
32040        (WebCore::FileEntrySync::file): Implemented.
32041        * fileapi/FileEntrySync.h:
32042        * fileapi/FileEntrySync.idl: Added file().
32043
320442010-10-15  Nico Weber  <thakis@chromium.org>
32045
32046        Reviewed by Eric Carlson.
32047
32048        Make sure to update the current graphics context when calling out to AppKit.
32049        https://bugs.webkit.org/show_bug.cgi?id=47757
32050
32051        Like r57741, but for the spellchecking highlight
32052
32053        * platform/graphics/mac/GraphicsContextMac.mm:
32054        (WebCore::GraphicsContext::drawLineForTextChecking):
32055
320562010-10-15  Brian Weinstein  <bweinstein@apple.com>
32057
32058        Reviewed by Sam Weinig.
32059
32060        REGRESSION(r69850) Loading apple.com/startpage in WebKit on Windows gets a bad request.
32061        https://bugs.webkit.org/show_bug.cgi?id=47753
32062        <rdar://problem/8558242>
32063        
32064        r69850 switched over to a different way of concatenating WebCore strings, but ran into an issue
32065        where some Windows calls were returning null terminated strings, and this breaks the new
32066        method of concatenation.
32067        
32068        GetLocaleInfo returns a null-terminated string, but WebCore strings are non-null terminated,
32069        so once we create our WebCore string, we want to trim off the null terminating character before
32070        we return the localeInfo.
32071
32072        Test: fast/dom/navigator-userAgent.html
32073
32074        * platform/win/Language.cpp:
32075        (WebCore::localeInfo):
32076
320772010-10-15  Alexey Proskuryakov  <ap@apple.com>
32078
32079        Trying to fix crashes on Leopard buildbot.
32080
32081        * loader/loader.cpp:
32082        (WebCore::Loader::Host::didFinishLoading):
32083        (WebCore::Loader::Host::didFail):
32084        Moved logging higher in the function - it seems that CachedResource can be already destroyed.
32085
32086        * platform/Logging.cpp: (WebCore::getChannelFromName):
32087        * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
32088        Initialize the new channel (oops).
32089
320902010-10-15  Mike Lawther  <mikelawther@chromium.org>
32091
32092        Reviewed by James Robinson.
32093
32094        Prevent scrollbars from appearing in iframes with scrolling=no
32095        when the embedded content has overflow:scroll set on the html
32096        or body tags.
32097
32098        iframes keep getting scrollbars with scrolling="no"
32099        https://bugs.webkit.org/show_bug.cgi?id=29240
32100
32101        Test: fast/frames/iframe-scrolling-attribute-overflowscroll.html
32102
32103        * page/FrameView.cpp:
32104        (WebCore::FrameView::calculateScrollbarModesForLayout)
32105        (WebCore::FrameView::updateCanHaveScrollbars):
32106        (WebCore::FrameView::layout):
32107        * page/FrameView.h:
32108        (WebCore::FrameView::calculateScrollbarModesForLayout)
32109
321102010-10-15  Dan Bernstein  <mitz@apple.com>
32111
32112        Reviewed by Adele Peterson.
32113
32114        Clean up RenderFlexibleBox::applyLineClamp()
32115        https://bugs.webkit.org/show_bug.cgi?id=47743
32116
32117        * rendering/RenderFlexibleBox.cpp:
32118        (WebCore::RenderFlexibleBox::applyLineClamp):
32119
321202010-10-15  Alexey Proskuryakov  <ap@apple.com>
32121
32122        Reviewed by Darin Adler.
32123
32124        https://bugs.webkit.org/show_bug.cgi?id=47736
32125        <rdar://problem/8429396> WebCore cache gets corrupted if revalidation request starts at an inopportune time
32126
32127        Test: http/tests/cache/stopped-revalidation.html
32128
32129        * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): Copied logic for
32130        revalidation requests from didFail().
32131
321322010-10-15  Alexey Proskuryakov  <ap@apple.com>
32133
32134        Reviewed by Darin Adler in <https://bugs.webkit.org/show_bug.cgi?id=47736>.
32135
32136        Add a logging channel for WebCore cache and resource loading.
32137
32138        Test: http/tests/cache/stopped-revalidation.html
32139
32140        * platform/Logging.cpp:
32141        * platform/Logging.h:
32142        Added a logging channel for Cache and Loader.
32143
32144        * loader/Cache.cpp:
32145        (WebCore::Cache::requestResource):
32146        (WebCore::Cache::revalidateResource):
32147        (WebCore::Cache::revalidationFailed):
32148        (WebCore::Cache::evict):
32149        * loader/CachedResource.cpp:
32150        (WebCore::CachedResource::setResourceToRevalidate):
32151        (WebCore::CachedResource::switchClientsToRevalidatedResource):
32152        (WebCore::CachedResource::mustRevalidate):
32153        Added logging.
32154
32155        * loader/loader.cpp:
32156        (WebCore::Loader::load): Added logging.
32157        (WebCore::Loader::scheduleServePendingRequests): Ditto.
32158        (WebCore::Loader::requestTimerFired): Ditto.
32159        (WebCore::Loader::servePendingRequests): Ditto.
32160        (WebCore::Loader::Host::servePendingRequests):  Changed logging to use the new channel.
32161        (WebCore::Loader::Host::didFinishLoading): Changed logging to use the new channel.
32162        (WebCore::Loader::Host::didFail): Added logging.
32163
321642010-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
32165
32166        Reviewed by Simon Fraser.
32167
32168        Add public functions to serialize TransformOperations.
32169        https://bugs.webkit.org/show_bug.cgi?id=47728
32170
32171        Added public accessors to the internal data of the TransformOperations.
32172
32173        No new tests. These functions are enablers for WebKit2.
32174
32175        * platform/graphics/transforms/Matrix3DTransformOperation.h:
32176        (WebCore::Matrix3DTransformOperation::matrix):
32177        * platform/graphics/transforms/MatrixTransformOperation.h:
32178        (WebCore::MatrixTransformOperation::matrix):
32179        * platform/graphics/transforms/PerspectiveTransformOperation.h:
32180        (WebCore::PerspectiveTransformOperation::perspective):
32181        * platform/graphics/transforms/RotateTransformOperation.h:
32182        (WebCore::RotateTransformOperation::x):
32183        (WebCore::RotateTransformOperation::y):
32184        (WebCore::RotateTransformOperation::z):
32185        * platform/graphics/transforms/SkewTransformOperation.h:
32186        (WebCore::SkewTransformOperation::angleX):
32187        (WebCore::SkewTransformOperation::angleY):
32188        * platform/graphics/transforms/TranslateTransformOperation.h:
32189        (WebCore::TranslateTransformOperation::x):
32190        (WebCore::TranslateTransformOperation::y):
32191        (WebCore::TranslateTransformOperation::z):
32192
321932010-10-15  Jian Li  <jianli@chromium.org>
32194
32195        Reviewed by Dmitry Titov.
32196
32197        FileReader.readAsDataURL should take Blob object
32198        https://bugs.webkit.org/show_bug.cgi?id=47679
32199
32200        Test cases have been added into read-blob-test-cases.js.
32201
32202        * fileapi/FileReader.idl: Update per the latest File API spec.
32203
322042010-10-15  Adam Barth  <abarth@webkit.org>
32205
32206        Reviewed by Eric Seidel.
32207
32208        Move MarkupAccumulator from markup.cpp to its own file
32209        https://bugs.webkit.org/show_bug.cgi?id=47734
32210
32211        This patch moves the MarkupAccumulator class into its own file.
32212        There's a lot of clean up left to do, but this patch is a step in the
32213        right direction.
32214
32215        No behavior change.
32216
32217        * Android.mk:
32218        * CMakeLists.txt:
32219        * GNUmakefile.am:
32220        * WebCore.gypi:
32221        * WebCore.pro:
32222        * WebCore.vcproj/WebCore.vcproj:
32223        * WebCore.xcodeproj/project.pbxproj:
32224        * editing/markup.cpp:
32225        (WebCore::elementCannotHaveEndTag):
32226        * editing/markup.h:
32227        * editing/MarkupAccumulator.h: Added.
32228        * editing/MarkupAccumulator.cpp: Added.
32229
322302010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
32231
32232        Reviewed by Darin Adler.
32233
32234        Match the elements supported by execCommand('formatBlock') and queryCommandValue('formatBlock')
32235        https://bugs.webkit.org/show_bug.cgi?id=47712
32236
32237        Extended queryCommandValue('formatBlock', false, null) to support article, aside, blockquote, dd, dl,
32238        div, dl, dt, dl, footer, header, hgroup, nav, and section. Because this makes isElementForFormatBlockCommand
32239        in Editor.cpp and FormatBlockCommand::isElementToApplyInFormatBlockCommand identical, they are merged and moved
32240        to FormatBlockCommand.cpp
32241
32242        Tests are added to editing/execCommand/query-format-block.html
32243
32244        * editing/Editor.cpp: Removed isElementForFormatBlockCommand and Editor::elementForFormatBlockCommand.
32245        * editing/Editor.h:
32246        * editing/EditorCommand.cpp:
32247        (WebCore::executeFormatBlock): Removed the check of tag name; the check is moved into FormatBlockCommand.
32248        (WebCore::valueFormatBlock): Calls FormatBlockCommand::elementForFormatBlockCommand.
32249        * editing/FormatBlockCommand.cpp:
32250        (WebCore::isElementForFormatBlock):
32251        (WebCore::FormatBlockCommand::FormatBlockCommand):
32252        (WebCore::FormatBlockCommand::formatSelection): Added to check the tag name. Exit early if the specified tag name
32253        is not what FormatBlock should apply. Set m_didApply true if m_didApply did apply the element.
32254        (WebCore::FormatBlockCommand::formatRange): Moved from Editor.cpp.  Takes Range* instead of accessing selection directly.
32255        (WebCore::FormatBlockCommand::elementForFormatBlockCommand): Moved from Editor.cpp
32256        (WebCore::enclosingBlockToSplitTreeTo): Calls isElementForFormatBlock.
32257        * editing/FormatBlockCommand.h:
32258        (WebCore::FormatBlockCommand::didApply): Added.
32259
322602010-10-15  Dirk Schulze  <krit@webkit.org>
32261
32262        Reviewed by Nikolas Zimmermann.
32263
32264        carto.net Dock example redraws *way* too often
32265        https://bugs.webkit.org/show_bug.cgi?id=16090
32266
32267        Setting the attributes x, y, width or height shouldn't cause a repaint if the image boundaries don't change.
32268        Added updateFromElement() to RenderSVGImage that checks if the old boundaries match the new boundaries after
32269        setting one of the attributes of above. Mark renderer for layout (and therefore repaint) if the boundaries
32270        differ, do nothing if not.
32271        Also added caching of the repaint rect to avoid multiple calculations.
32272
32273        Test: svg/custom/repaint-on-constant-size-change.svg
32274
32275        * rendering/RenderSVGImage.cpp:
32276        (WebCore::RenderSVGImage::RenderSVGImage):
32277        (WebCore::RenderSVGImage::layout): Update repaint rect on layout.
32278        (WebCore::RenderSVGImage::updateFromElement): Check SVGImageElement for boundaries update.
32279        * rendering/RenderSVGImage.h:
32280        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): Return the cached repaint rect.
32281        * svg/SVGImageElement.cpp:
32282        (WebCore::SVGImageElement::svgAttributeChanged): Call updateFromElement() on changes to x, y, width or height.
32283
322842010-10-15  Martin Robinson  <mrobinson@igalia.com>
32285
32286        Build fix for GTK+.
32287
32288        * platform/network/soup/cache/webkit/soup-cache.h: Do not use PLATFORM(...) macro
32289        in a file that does not include config.h
32290
322912010-10-15  Anders Carlsson  <andersca@apple.com>
32292
32293        Reviewed by Sam Weinig.
32294
32295        Add FindIndicatorWindow class
32296        https://bugs.webkit.org/show_bug.cgi?id=47731
32297
32298        Export symbols needed by the FindIndicator in WebKit2.
32299
32300        * WebCore.exp.in:
32301
323022010-10-15  Leandro Pereira  <leandro@profusion.mobi>
32303
32304        [EFL] Unreviewed. Build fix.
32305
32306        Add new files needed by the Soup network backend, and #ifdef a
32307        GTK+-port only include in soup-cache.h.
32308
32309        * CMakeListsEfl.txt:
32310        * platform/network/soup/cache/webkit/soup-cache.h:
32311
323122010-10-14  Darin Adler  <darin@apple.com>
32313
32314        Reviewed by Alexey Proskuryakov.
32315
32316        Use more specific types for node pointers, especially when calling node insertion and removal functions
32317        https://bugs.webkit.org/show_bug.cgi?id=47702
32318
32319        Refactoring. No new tests.
32320
32321        While developing this patch I temporarily removed the node insertion and
32322        removal member functions from the Node class and fixed almost all call sites
32323        so they call it directly on the ContainerNode class, which will be important
32324        once we make the functions non-virtual.
32325
32326        * css/CSSStyleSelector.cpp:
32327        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
32328        * dom/ContainerNode.cpp:
32329        (WebCore::ContainerNode::insertBefore):
32330        (WebCore::ContainerNode::replaceChild):
32331        (WebCore::ContainerNode::appendChild):
32332        * dom/Document.cpp:
32333        (WebCore::Document::caretRangeFromPoint):
32334        * dom/DynamicNodeList.cpp:
32335        (WebCore::DynamicNodeList::itemWithName):
32336        * dom/Position.cpp:
32337        (WebCore::Position::previous):
32338        (WebCore::Position::next):
32339        * dom/Text.cpp:
32340        (WebCore::Text::replaceWholeText):
32341        * dom/TreeWalker.cpp:
32342        (WebCore::TreeWalker::firstChild):
32343        (WebCore::TreeWalker::lastChild):
32344        (WebCore::TreeWalker::previousNode):
32345        * dom/XMLDocumentParserLibxml2.cpp:
32346        (WebCore::XMLDocumentParser::XMLDocumentParser):
32347        * editing/BreakBlockquoteCommand.cpp:
32348        (WebCore::BreakBlockquoteCommand::doApply):
32349        * editing/CompositeEditCommand.h:
32350        * editing/DeleteButtonController.cpp:
32351        (WebCore::isDeletableElement):
32352        * editing/IndentOutdentCommand.cpp:
32353        (WebCore::IndentOutdentCommand::outdentParagraph):
32354        * editing/InsertNodeBeforeCommand.cpp:
32355        (WebCore::InsertNodeBeforeCommand::doApply):
32356        * editing/JoinTextNodesCommand.cpp:
32357        (WebCore::JoinTextNodesCommand::doApply):
32358        (WebCore::JoinTextNodesCommand::doUnapply):
32359        * editing/MergeIdenticalElementsCommand.cpp:
32360        (WebCore::MergeIdenticalElementsCommand::doUnapply):
32361        * editing/RemoveNodeCommand.cpp:
32362        (WebCore::RemoveNodeCommand::doApply):
32363        (WebCore::RemoveNodeCommand::doUnapply):
32364        * editing/RemoveNodeCommand.h:
32365        * editing/SplitElementCommand.cpp:
32366        (WebCore::SplitElementCommand::executeApply):
32367        * editing/SplitTextNodeCommand.cpp:
32368        (WebCore::SplitTextNodeCommand::doApply):
32369        (WebCore::SplitTextNodeCommand::doReapply):
32370        * editing/TextIterator.cpp:
32371        (WebCore::parentCrossingShadowBoundaries):
32372        * editing/htmlediting.cpp:
32373        (WebCore::enclosingList):
32374        * editing/markup.cpp:
32375        (WebCore::serializeNodes):
32376        (WebCore::ancestorToRetainStructureAndAppearance):
32377        (WebCore::createMarkup):
32378        * html/HTMLAreaElement.cpp:
32379        (WebCore::HTMLAreaElement::updateFocusAppearance):
32380        * html/HTMLEmbedElement.cpp:
32381        (WebCore::HTMLEmbedElement::rendererIsNeeded):
32382        * html/HTMLFormElement.cpp:
32383        (WebCore::HTMLFormElement::rendererIsNeeded):
32384        * html/HTMLFrameSetElement.cpp:
32385        (WebCore::HTMLFrameSetElement::attach):
32386        * html/HTMLImageElement.cpp:
32387        (WebCore::HTMLImageElement::insertedIntoTree):
32388        * html/HTMLLegendElement.cpp:
32389        (WebCore::HTMLLegendElement::associatedControl):
32390        * html/HTMLOptGroupElement.cpp:
32391        (WebCore::HTMLOptGroupElement::recalcSelectOptions):
32392        (WebCore::HTMLOptGroupElement::ownerSelectElement):
32393        * html/HTMLOptionElement.cpp:
32394        (WebCore::HTMLOptionElement::ownerSelectElement):
32395        * html/HTMLTableCellElement.cpp:
32396        (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls):
32397        * html/HTMLTableColElement.cpp:
32398        (WebCore::HTMLTableColElement::additionalAttributeStyleDecls):
32399        * html/HTMLTableElement.cpp:
32400        (WebCore::HTMLTableElement::insertRow):
32401        * html/HTMLTableRowElement.cpp:
32402        (WebCore::HTMLTableRowElement::rowIndex):
32403        * html/HTMLTableSectionElement.cpp:
32404        (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls):
32405        * page/DOMSelection.cpp:
32406        (WebCore::DOMSelection::getRangeAt):
32407        (WebCore::DOMSelection::containsNode):
32408        * rendering/RenderSVGGradientStop.cpp:
32409        (WebCore::RenderSVGGradientStop::gradientElement):
32410        * svg/SVGElement.cpp:
32411        (WebCore::SVGElement::ownerSVGElement):
32412        (WebCore::SVGElement::viewportElement):
32413        * svg/SVGFELightElement.cpp:
32414        (WebCore::SVGFELightElement::svgAttributeChanged):
32415        (WebCore::SVGFELightElement::childrenChanged):
32416        * svg/SVGFEMergeNodeElement.cpp:
32417        (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
32418        * svg/SVGFontFaceFormatElement.cpp:
32419        (WebCore::SVGFontFaceFormatElement::childrenChanged):
32420        * svg/SVGFontFaceUriElement.cpp:
32421        (WebCore::SVGFontFaceUriElement::childrenChanged):
32422        * svg/SVGGlyphElement.cpp:
32423        (WebCore::SVGGlyphElement::invalidateGlyphCache):
32424        * svg/SVGHKernElement.cpp:
32425        (WebCore::SVGHKernElement::insertedIntoDocument):
32426        (WebCore::SVGHKernElement::removedFromDocument):
32427        * svg/SVGLocatable.cpp:
32428        (WebCore::SVGLocatable::nearestViewportElement):
32429        (WebCore::SVGLocatable::farthestViewportElement):
32430        * svg/SVGUseElement.cpp:
32431        (WebCore::SVGUseElement::updateContainerOffsets):
32432        * svg/SVGVKernElement.cpp:
32433        (WebCore::SVGVKernElement::insertedIntoDocument):
32434        (WebCore::SVGVKernElement::removedFromDocument):
32435        * svg/animation/SVGSMILElement.cpp:
32436        (WebCore::SVGSMILElement::targetElement):
32437        * wml/WMLDoElement.cpp:
32438        (WebCore::WMLDoElement::insertedIntoDocument):
32439        (WebCore::WMLDoElement::removedFromDocument):
32440        * wml/WMLNoopElement.cpp:
32441        (WebCore::WMLNoopElement::insertedIntoDocument):
32442        * wml/WMLOptionElement.cpp:
32443        (WebCore::ownerSelectElement):
32444        * wml/WMLPostfieldElement.cpp:
32445        (WebCore::WMLPostfieldElement::insertedIntoDocument):
32446        (WebCore::WMLPostfieldElement::removedFromDocument):
32447        * wml/WMLSetvarElement.cpp:
32448        (WebCore::WMLSetvarElement::insertedIntoDocument):
32449        (WebCore::WMLSetvarElement::removedFromDocument):
32450        * wml/WMLTaskElement.cpp:
32451        (WebCore::WMLTaskElement::insertedIntoDocument):
32452        (WebCore::WMLTaskElement::removedFromDocument):
32453        * wml/WMLTimerElement.cpp:
32454        (WebCore::WMLTimerElement::insertedIntoDocument):
32455        (WebCore::WMLTimerElement::removedFromDocument):
32456        * xml/XPathStep.cpp:
32457        (WebCore::XPath::Step::nodesInAxis):
32458        Use ContainerNode* for the result of the parentNode function now that
32459        it returns a ContainerNode*. In the past it used to return just Node*.
32460
32461        * dom/ContainerNode.h: Added toContainerNode.
32462
32463        * dom/Element.h: Use ContainerNode*. Added toElement.
32464
32465        * dom/Element.cpp:
32466        (WebCore::Element::deprecatedCreateContextualFragment): Explcitly
32467        cast to HTMLElement* in the case that handles <html> and <body>
32468        elements.
32469        (WebCore::Element::baseURI): Use ContainerNode*.
32470
32471        * dom/Node.cpp:
32472        (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Use ContainerNode*.
32473        (WebCore::Node::isDescendantOf): Ditto.
32474        (WebCore::Node::createRendererIfNeeded): Ditto.
32475        (WebCore::Node::setTextContent): Use already-typecast pointer in a call to
32476        appendChild.
32477        (WebCore::Node::ancestorElement): Use ContainerNode*.
32478
32479        * dom/Range.cpp:
32480        (WebCore::Range::compareNode): Use ContainerNode*.
32481        (WebCore::Range::intersectsNode): Ditto.
32482        (WebCore::Range::processContents): Cast to ContainerNode* in a couple cases
32483        where we previously checked that the node in question has a child. Any node
32484        that returns a non-zero value for firstChild is a ContainerNode.
32485        (WebCore::Range::checkNodeBA): Ditto.
32486        (WebCore::Range::selectNode): Ditto.
32487        (WebCore::Range::surroundContents): Ditto.
32488
32489        * dom/XMLDocumentParser.cpp:
32490        (WebCore::XMLDocumentParser::insertErrorMessageBlock): Rewrote code to use
32491        more specific types, document instead of doc, and paragraph instead of par.
32492
32493        * editing/ApplyStyleCommand.cpp:
32494        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
32495        Use ContainerNode*.
32496        (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
32497        Use replaceElementWithSpanPreservingChildrenAndAttributes; the old function
32498        took a Node argument and had Node in its name.
32499
32500        * editing/CompositeEditCommand.cpp:
32501        (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Use ContainerNode.
32502        (WebCore::CompositeEditCommand::replaceElementWithSpanPreservingChildrenAndAttributes):
32503        Renamed and changed to take HTMLElement. Also use ContainerNode.
32504        (WebCore::CompositeEditCommand::prune): Ditto.
32505        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
32506        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Ditto.
32507
32508        * editing/ReplaceNodeWithSpanCommand.cpp:
32509        (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand): Take an
32510        HTMLElement instead of a Node. Call it m_elementToReplace instead of m_node.
32511        (WebCore::swapInNodePreservingAttributesAndChildren): Take HTMLElement.
32512        (WebCore::ReplaceNodeWithSpanCommand::doApply): Updated for name changes.
32513        (WebCore::ReplaceNodeWithSpanCommand::doUnapply): Ditto.
32514        * editing/ReplaceNodeWithSpanCommand.h: Ditto.
32515
32516        * editing/ReplaceSelectionCommand.cpp:
32517        (WebCore::ReplacementFragment::ReplacementFragment): Use StyledElement for result
32518        of insertFragmentForTestRendering since that's what it returns.
32519        (WebCore::ReplacementFragment::removeNode): Use ContainerNode.
32520        (WebCore::ReplacementFragment::insertNodeBefore): Ditto.
32521        (WebCore::ReplacementFragment::insertFragmentForTestRendering): Return StyledElement.
32522        Use HTMLElement for body.
32523        (WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment): Take
32524        StyledElement.
32525        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Use ContainerNode.
32526        (WebCore::ReplaceSelectionCommand::copyStyleToChildren): Use HTMLElement for
32527        the cloned span, since the clone will be a sspan too.
32528        (WebCore::ReplaceSelectionCommand::insertAsListItems): Use ContainerNode since
32529        the list item has a child, and that proves it is a ContainerNode.
32530
32531        * editing/SelectionController.cpp:
32532        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
32533        Use ContainerNode and also removed an unnneded local variable.
32534
32535        * html/HTMLElement.cpp:
32536        (WebCore::HTMLElement::setOuterText): Use ContainerNode.
32537        (WebCore::HTMLElement::insertAdjacent): Use ContainerNode and also use && to make
32538        the logic a little simpler.
32539        (WebCore::contextElementForInsertion): Use ContainerNode.
32540        (WebCore::HTMLElement::findFormAncestor): Ditto.
32541
32542        * inspector/InspectorDOMAgent.cpp:
32543        (WebCore::InspectorDOMAgent::removeNode): Use ContainerNode.
32544        (WebCore::InspectorDOMAgent::changeTagName): Ditto.
32545        (WebCore::InspectorDOMAgent::setOuterHTML): Ditto.
32546        (WebCore::InspectorDOMAgent::innerParentNode): Use isDocumentNode instead of
32547        nodeType. We should almost never use nodeType inside the engine.
32548        (WebCore::InspectorDOMAgent::didInsertDOMNode): Use ContainerNode.
32549        (WebCore::InspectorDOMAgent::didRemoveDOMNode): Ditto.
32550
32551        * wml/WMLOptGroupElement.cpp: Removed unneeded overrides of insertBefore,
32552        replaceChild, removeChild, appendChild, and removeChildren functions.
32553        Ths already overrides childrenChanged, that is called by all of the above,
32554        and it does the same thing these functions did.
32555        (WebCore::ownerSelectElement): Use ContainerNode.
32556        * wml/WMLOptGroupElement.h: Ditto.
32557
325582010-10-15  Ryosuke Niwa  <rniwa@webkit.org>
32559
32560        Reviewed by Darin Adler.
32561
32562        Crash in WebCore::ApplyStyleCommand::applyBlockStyle
32563        https://bugs.webkit.org/show_bug.cgi?id=47699
32564
32565        The crash was caused by applyBlockStyle's invalidly assuming that visibleStart and visibleEnd always exist.
32566        Added an early exit to the function when either visibleStart or visibleEnd is null or orphaned.
32567
32568        Test: editing/style/block-style-progress-crash.html
32569
32570        * editing/ApplyStyleCommand.cpp:
32571        (WebCore::ApplyStyleCommand::applyBlockStyle):
32572
325732010-10-13  Anders Carlsson  <andersca@apple.com>
32574
32575        Reviewed by Sam Weinig.
32576
32577        Add a FindIndicator class
32578        https://bugs.webkit.org/show_bug.cgi?id=47635
32579
32580        Make Gradient.h and Generator.h private headers; they're used by WebKit2.
32581
32582        * WebCore.xcodeproj/project.pbxproj:
32583
325842010-10-15  Sergio Villar Senin  <svillar@igalia.com>
32585
32586        Reviewed by Gustavo Noronha Silva.
32587
32588        [Soup] Should not ignore body for redirection responses
32589        https://bugs.webkit.org/show_bug.cgi?id=29299
32590
32591        Body is now provided to WebKitGtk+ in some redirections (like 302)
32592        because it could be used by servers to perform clunky redirections
32593        for example using http-equiv=REFRESH
32594
32595        Test: http/tests/navigation/redirect302-metaredirect.html
32596
32597        * platform/network/soup/ResourceHandleSoup.cpp:
32598        (WebCore::gotHeadersCallback):
32599        (WebCore::finishedCallback):
32600
326012010-10-15  Sergio Villar Senin  <svillar@igalia.com>
32602
32603        Reviewed by Martin Robinson.
32604
32605        [GTK] Fix introspection support
32606        https://bugs.webkit.org/show_bug.cgi?id=47723
32607
32608        WebKitSoupCacheType was incorrectly registered twice. Renamed to
32609        WebKitSoupCacheTypeType for the enumerated type.
32610
32611        * platform/network/soup/cache/webkit/soup-cache.c:
32612        (webkit_soup_cache_type_get_type):
32613
326142010-10-15  Ilya Tikhonovsky  <loislo@chromium.org>
32615
32616        Reviewed by Yury Semikhatsky.
32617
32618        Web Inspector: extract consoleMessages related stuff from populateScriptObjects into separate function.
32619
32620        This is a part of Inspector protocol sanitization activity.
32621        We want to populate console messages only if it is required by frontend.
32622
32623        https://bugs.webkit.org/show_bug.cgi?id=46802
32624
32625        * inspector/Inspector.idl:
32626        * inspector/InspectorController.cpp:
32627        (WebCore::InspectorController::setConsoleMessagesEnabled):
32628        (WebCore::InspectorController::addConsoleMessage):
32629        (WebCore::InspectorController::disconnectFrontend):
32630        (WebCore::InspectorController::populateScriptObjects):
32631        * inspector/InspectorController.h:
32632        * inspector/InspectorState.cpp:
32633        (WebCore::InspectorState::InspectorState):
32634        * inspector/InspectorState.h:
32635        * inspector/front-end/inspector.js:
32636        (WebInspector.doLoadedDone):
32637
326382010-10-15  Ryuan Choi  <ryuan.choi@samsung.com>
32639
32640        Reviewed by Nikolas Zimmermann.
32641
32642        [EFL] REGRESSION(69798) UCHAR can't be converted to String.
32643        https://bugs.webkit.org/show_bug.cgi?id=47698
32644
32645        Create String value using String(const char*, 1) instead of operator[].
32646
32647        No tests. No functionality changed.
32648
32649        * platform/efl/PlatformKeyboardEventEfl.cpp:
32650        (WebCore::createWindowsKeyMap):
32651
326522010-10-15  Sergio Villar Senin  <svillar@igalia.com>
32653
32654        Reviewed by Xan Lopez.
32655
32656        [GTK] Do a stricter check for invalid base64 dataURLs
32657        https://bugs.webkit.org/show_bug.cgi?id=47717
32658
32659        Restore the strict base64 decoding we added in
32660        https://bugs.webkit.org/show_bug.cgi?id=44261 and then rolled back
32661        in https://bugs.webkit.org/show_bug.cgi?id=47666 due to a failing
32662        test. The actual issue was that we were not finishing the load of
32663        the resource gracefully when an error happened.
32664
32665        Loading invalid base64-encoded data:// URLs are now handled
32666        properly.
32667
32668        * platform/network/soup/ResourceHandleSoup.cpp:
32669        (WebCore::parseDataUrl):
32670        * platform/network/soup/cache/soup-request-data.c:
32671        (webkit_soup_request_data_send):
32672
326732010-10-15  Alejandro G. Castro  <alex@igalia.com>
32674
32675        Reviewed by Martin Robinson.
32676
32677        compile fail with gtk >= 2.22
32678        https://bugs.webkit.org/show_bug.cgi?id=47483
32679
32680        * platform/graphics/gtk/FontGtk.cpp: Removed the shrink operation,
32681        it was added long time ago and currently it is not adding any real
32682        area to the clip vertically, actually the gtk3 shrink version did
32683        not work.
32684        (WebCore::Font::drawComplexText):
32685        * platform/gtk/gtk2drawing.c: Undef the deprecation flags, this
32686        file is full of gtk2 stuff, and it does not seem interesting to
32687        upgrade because we are already creating a new version of the file
32688        for gtk3.
32689
326902010-10-14  Ilya Tikhonovsky  <loislo@chromium.org>
32691
32692        Reviewed by Pavel Feldman.
32693
32694        Web Inspector: inspector settings/properties/states management
32695        should be extracted into separate class.
32696
32697        We have a lot of flags/values in InspectorController.
32698        Some flags are persisting into profile.
32699        Others are part of inspector state for frontend.
32700        All these flags should keep their values after navigation.
32701        It'd be better to extract these flags/values into separate
32702        class which will care about theirs lifetime.
32703
32704        https://bugs.webkit.org/show_bug.cgi?id=47275
32705
32706        * CMakeLists.txt:
32707        * GNUmakefile.am:
32708        * WebCore.exp.in:
32709        * WebCore.gypi:
32710        * WebCore.pro:
32711        * WebCore.vcproj/WebCore.vcproj:
32712        * WebCore.xcodeproj/project.pbxproj:
32713        * inspector/InspectorController.cpp:
32714        (WebCore::InspectorController::InspectorController):
32715        (WebCore::InspectorController::inspectorStartsAttached):
32716        (WebCore::InspectorController::setInspectorStartsAttached):
32717        (WebCore::InspectorController::setInspectorAttachedHeight):
32718        (WebCore::InspectorController::inspectorAttachedHeight):
32719        (WebCore::InspectorController::searchingForNodeInPage):
32720        (WebCore::InspectorController::resourceTrackingEnabled):
32721        (WebCore::InspectorController::saveApplicationSettings):
32722        (WebCore::InspectorController::getInspectorState):
32723        (WebCore::InspectorController::restoreInspectorStateFromCookie):
32724        (WebCore::InspectorController::getSettings):
32725        (WebCore::InspectorController::storeLastActivePanel):
32726        (WebCore::InspectorController::mouseDidMoveOverElement):
32727        (WebCore::InspectorController::handleMousePress):
32728        (WebCore::InspectorController::setSearchingForNode):
32729        (WebCore::InspectorController::setMonitoringXHREnabled):
32730        (WebCore::InspectorController::showPanel):
32731        (WebCore::InspectorController::disconnectFrontend):
32732        (WebCore::InspectorController::populateScriptObjects):
32733        (WebCore::InspectorController::restoreDebugger):
32734        (WebCore::InspectorController::restoreProfiler):
32735        (WebCore::InspectorController::getTrackedResource):
32736        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
32737        (WebCore::InspectorController::identifierForInitialRequest):
32738        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
32739        (WebCore::InspectorController::scriptImported):
32740        (WebCore::InspectorController::setResourceTrackingEnabled):
32741        (WebCore::InspectorController::ensureSettingsLoaded):
32742        (WebCore::InspectorController::startTimelineProfiler):
32743        (WebCore::InspectorController::stopTimelineProfiler):
32744        (WebCore::InspectorController::enableProfiler):
32745        (WebCore::InspectorController::disableProfiler):
32746        (WebCore::InspectorController::enableDebuggerFromFrontend):
32747        (WebCore::InspectorController::disableDebugger):
32748        (WebCore::InspectorController::loadBreakpoints):
32749        (WebCore::InspectorController::saveBreakpoints):
32750        * inspector/InspectorController.h:
32751        * inspector/InspectorFrontendClientLocal.cpp:
32752        (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
32753        (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
32754        * inspector/InspectorState.cpp: Added.
32755        (WebCore::InspectorState::InspectorState):
32756        (WebCore::InspectorState::restoreFromInspectorCookie):
32757        (WebCore::InspectorState::generateStateObjectForFrontend):
32758        (WebCore::InspectorState::loadFromSettings):
32759        (WebCore::InspectorState::updateCookie):
32760        (WebCore::InspectorState::setValue):
32761        (WebCore::InspectorState::getBoolean):
32762        (WebCore::InspectorState::getString):
32763        (WebCore::InspectorState::getLong):
32764        (WebCore::InspectorState::registerBoolean):
32765        (WebCore::InspectorState::registerString):
32766        (WebCore::InspectorState::registerLong):
32767        (WebCore::InspectorState::Property::create):
32768        * inspector/InspectorState.h: Added.
32769        (WebCore::InspectorState::setBoolean):
32770        (WebCore::InspectorState::setString):
32771        (WebCore::InspectorState::setLong):
32772
327732010-10-14  Jia Pu  <jpu@apple.com>
32774
32775        Reviewed by Adele Peterson.
32776
32777        REGRESSION (r69548): Autocorrections are applied even after typing further characters in the word
32778        https://bugs.webkit.org/show_bug.cgi?id=47689
32779        <rdar://problem/8552250>
32780
32781        The test requires using setTimeout(). So we put it in manual-tests.
32782
32783        * editing/Editor.cpp:
32784        (WebCore::Editor::markMisspellingsAfterTypingToPosition): Relpace release() with clear().
32785        (WebCore::Editor::startCorrectionPanelTimer): Release previously set correction range before
32786          start timer for next autocorrection check.
32787        * manual-tests/autocorrection: Added.
32788        * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Added.
32789
327902010-10-14  Ryosuke Niwa  <rniwa@webkit.org>
32791
32792        Reviewed by Tony Chang and Darin Adler.
32793
32794        execCommand FormatBlock creates lots of blockquotes
32795        https://bugs.webkit.org/show_bug.cgi?id=19795
32796
32797        The bug was caused by WebKit's not reusing the block node added by previous iteration
32798        and its inserting block node at wrong places.
32799
32800        Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
32801        IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
32802        avoids the existing block elements when replacing blocks and it also adds a placeholder
32803        when removing the existing block caused paragraphs to collapse.
32804
32805        Also fixed a bug in moveParagraphWithClones where erroneous br is added to the start of
32806        the block element to which the paragraph is moved if the block element is the start of a paragraph
32807        and not the end of a paragraph.
32808
32809        Tests: editing/execCommand/format-block-multiple-paragraphs.html
32810               editing/execCommand/format-block-table.html
32811
32812        * editing/CompositeEditCommand.cpp:
32813        (WebCore::CompositeEditCommand::moveParagraphWithClones): No longer adds erroneous br.
32814        * editing/EditorCommand.cpp:
32815        (WebCore::executeFormatBlock):
32816        * editing/FormatBlockCommand.cpp:
32817        (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
32818        (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
32819        and moved from htmlediting.cpp.
32820        (WebCore::enclosingBlockToSplitTreeTo): Added.
32821        * editing/FormatBlockCommand.h:
32822        * editing/VisiblePosition.cpp:
32823        (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
32824        * editing/VisiblePosition.h:
32825
328262010-10-14  Justin Schuh  <jschuh@chromium.org>
32827
32828        Reviewed by James Robinson.
32829
32830        Crash in HTMLTextFormControlElement::selection()
32831        https://bugs.webkit.org/show_bug.cgi?id=47522
32832
32833        Patch by Ryosuke Niwa  <rniwa@webkit.org>
32834
32835        The bug was caused by our triggering layout inside RenderTextControl::selection.
32836        Fixed it by changing the return type of RenderTextControl::selection to PassRefPtr<Range> from VisibleSelection.
32837
32838        Test: fast/forms/render-text-crash.html
32839
32840        * editing/Editor.cpp:
32841        (WebCore::Editor::selectionForCommand): Calls HTMLTextFormControlElement::selection.
32842        * html/HTMLFormControlElement.cpp:
32843        (WebCore::HTMLTextFormControlElement::selection): Calls RenderTextControl::selection.
32844        * html/HTMLFormControlElement.h:
32845        * rendering/RenderTextControl.cpp:
32846        (WebCore::RenderTextControl::selection): Changed the return type.
32847        * rendering/RenderTextControl.h:
32848
328492010-10-14  James Robinson  <jamesr@chromium.org>
32850
32851        Reviewed by Simon Fraser.
32852
32853        SelectElement should check if its renderer exists after calling Element::focus()
32854        https://bugs.webkit.org/show_bug.cgi?id=47696
32855
32856        Adds null checks for element->renderer() after calling element->focus(), since focus()
32857        can dispatch an event and run arbitrary javascript that may cause the select element
32858        to lose its renderer.
32859
32860        Test: fast/forms/select-listbox-focus-displaynone.html
32861
32862        * dom/SelectElement.cpp:
32863        (WebCore::SelectElement::menuListDefaultEventHandler):
32864        (WebCore::SelectElement::listBoxDefaultEventHandler):
32865
328662010-10-14  Beth Dakin  <bdakin@apple.com>
32867
32868        Reviewed by Dave Hyatt.
32869
32870        This patch lays the groundwork for 
32871        https://bugs.webkit.org/show_bug.cgi?id=47514 CSS transforms should 
32872        affect scrolling
32873        by adding topmostPosition().
32874
32875        * rendering/RenderBlock.cpp:
32876        (WebCore::RenderBlock::topmostPosition):
32877        * rendering/RenderBlock.h:
32878        * rendering/RenderBox.cpp:
32879        (WebCore::RenderBox::topmostPosition):
32880        * rendering/RenderBox.h:
32881        * rendering/RenderMedia.cpp:
32882        (WebCore::RenderMedia::topmostPosition):
32883        * rendering/RenderMedia.h:
32884        * rendering/RenderTableSection.cpp:
32885        (WebCore::RenderTableSection::topmostPosition):
32886        * rendering/RenderTableSection.h:
32887
328882010-10-14  Sergio Villar Senin  <svillar@igalia.com>
32889
32890        Reviewed by Martin Robinson.
32891
32892        [GTK] fix compilation warnings in imported libsoup code
32893        https://bugs.webkit.org/show_bug.cgi?id=47674
32894
32895        Fixed some warnings caused by comparisons between signed and
32896        unsigned integer expressions
32897
32898        * platform/network/soup/cache/soup-directory-input-stream.c:
32899        (webkit_soup_directory_input_stream_read):
32900        * platform/network/soup/cache/soup-request-data.c:
32901        (webkit_soup_request_data_send):
32902        * platform/network/soup/cache/soup-request-file.c:
32903        (webkit_soup_request_file_ensure_file):
32904        * platform/network/soup/cache/webkit/soup-cache.c:
32905        (webkit_soup_cache_entry_is_fresh_enough):
32906        (webkit_soup_cache_has_response):
32907
329082010-10-14  Andreas Kling  <kling@webkit.org>
32909
32910        Unreviewed buildfix, RetainPtr is a mac thing..
32911
32912        * platform/network/soup/ProxyServerSoup.cpp:
32913
329142010-10-08  Martin Robinson  <mrobinson@igalia.com>
32915
32916        Reviewed by Xan Lopez.
32917
32918        [GTK] Form controls do not respect GTK+ font size
32919        https://bugs.webkit.org/show_bug.cgi?id=47134
32920
32921        Have form controls use the font specified in GtkSettings. This font is
32922        the default control font in GTK+ applications and Firefox. We need to
32923        pass the string through Pango to get a valid font name and size.
32924
32925        * platform/gtk/RenderThemeGtk.cpp:
32926        (WebCore::getScreenDPI): A helper function which returns
32927        the DPI of the default screen or 96 as a fallback.
32928        (WebCore::RenderThemeGtk::systemFont): Calculate the system font
32929        by looking at the GtkSettings value and pushing it through Pango
32930        to get the font family and font size.
32931
329322010-10-14  Andreas Kling  <kling@webkit.org>
32933
32934        Soup buildfix for r69808: add ProxyServer stub.
32935
32936        * GNUmakefile.am:
32937        * platform/network/soup/ProxyServerSoup.cpp: Added.
32938        (WebCore::proxyServersForURL):
32939
329402010-10-14  Andreas Kling  <kling@webkit.org>
32941
32942        Fix GTK+ build after r69808.
32943
32944        * GNUmakefile.am:
32945        * platform/network/curl/ProxyServerCurl.cpp:
32946        (WebCore::proxyServersForURL):
32947
329482010-10-14  Simon Fraser  <simon.fraser@apple.com>
32949
32950        Another build fix. Export FrameLoader::networkingContext()
32951
32952        * WebCore.exp.in:
32953
329542010-10-14  Simon Fraser  <simon.fraser@apple.com>
32955
32956        Fix the build after r69808.
32957        
32958        * WebCore.xcodeproj/project.pbxproj:
32959        * platform/network/cf/ProxyServerCFNet.cpp:
32960        (WebCore::proxyServersForURL):
32961
329622010-10-14  Gavin Barraclough  <barraclough@apple.com>
32963
32964        Windows build fix following r69806.
32965
32966        * platform/win/ClipboardUtilitiesWin.cpp:
32967        (WebCore::markupToCFHTML):
32968
329692010-10-14  Dawit Alemayehu  <adawit@kde.org>
32970
32971        Reviewed by Andreas Kling
32972
32973        Implemented NPN_GetValueForURL and NPN_SetValueForURL and NPN_GetAuthenticationInfo.
32974        https://bugs.webkit.org/show_bug.cgi?id=34539
32975
32976        These missing NPN functions cause Java applets to crash in ports such
32977        as QtWebkit that rely on webkit for Java applet support.
32978
32979        * plugins/PluginDebug.cpp:
32980        (WebCore::prettyNameForNPNURLVariable):
32981        * plugins/PluginDebug.h:
32982        * plugins/PluginPackage.cpp:
32983        (WebCore::PluginPackage::initializeBrowserFuncs):
32984        * plugins/PluginView.cpp:
32985        (WebCore::PluginView::getValueForURL):
32986        (WebCore::PluginView::setValueForURL):
32987        (WebCore::PluginView::getAuthenticationInfo):
32988        * plugins/PluginView.h:
32989        * plugins/npapi.cpp:
32990        (NPN_GetValueForURL):
32991        (NPN_SetValueForURL):
32992        (NPN_GetAuthenticationInfo):
32993        * platform/network/ProxyServer.h:
32994        * platform/network/cf/ProxyServerCFNet.cpp:
32995        (WebCore::proxyServersForURL):
32996        * platform/network/qt/ProxyServerQt.cpp:
32997        (WebCore::proxyServersForURL):
32998 
329992010-10-14  Gavin Barraclough  <barraclough@apple.com>
33000
33001        Windows build fix following r69806.
33002
33003        * platform/win/ClipboardUtilitiesWin.cpp:
33004        (WebCore::markupToCFHTML):
33005
330062010-10-14  Zhenyao Mo  <zmo@google.com>
33007
33008        Reviewed by Kenneth Russell.
33009
33010        Cache link status at linkProgram and use it in useProgram instead of querying GPU
33011        https://bugs.webkit.org/show_bug.cgi?id=47685
33012
33013        * html/canvas/WebGLProgram.cpp: Always cache link status at linkStatus and use it upon query.
33014        (WebCore::WebGLProgram::WebGLProgram):
33015        * html/canvas/WebGLProgram.h: Ditto.
33016        (WebCore::WebGLProgram::getLinkStatus):
33017        (WebCore::WebGLProgram::setLinkStatus):
33018        * html/canvas/WebGLRenderingContext.cpp: Ditto.
33019        (WebCore::WebGLRenderingContext::getProgramParameter):
33020        (WebCore::WebGLRenderingContext::linkProgram):
33021        (WebCore::WebGLRenderingContext::useProgram):
33022
330232010-10-14  Justin Schuh  <jschuh@chromium.org>
33024
33025        Reviewed by James Robinson.
33026
33027        Style fix for r69735
33028        https://bugs.webkit.org/show_bug.cgi?id=47684
33029
33030        No logic change. Existing tests apply.
33031
33032        * rendering/RootInlineBox.cpp:
33033        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
33034
330352010-10-14  Yury Semikhatsky  <yurys@chromium.org>
33036
33037        Reviewed by Pavel Feldman.
33038
33039        Web Inspector: encapsulate ScriptState into ConsoleMessage instead of passing it as additional parameter
33040        https://bugs.webkit.org/show_bug.cgi?id=47675
33041
33042        No new tests. This refactoring is covered by existing inspector tests.
33043
33044        * bindings/js/JSConsoleCustom.cpp:
33045        * bindings/js/ScriptCallFrame.cpp:
33046        * bindings/js/ScriptCallFrame.h:
33047        (WebCore::ScriptCallFrame::functionName):
33048        (WebCore::ScriptCallFrame::sourceURL):
33049        (WebCore::ScriptCallFrame::lineNumber):
33050        (WebCore::ScriptCallFrame::argumentCount):
33051        * inspector/ConsoleMessage.cpp:
33052        (WebCore::ConsoleMessage::isEqual):
33053        * inspector/ConsoleMessage.h:
33054        * inspector/InspectorController.cpp:
33055        (WebCore::InspectorController::addMessageToConsole):
33056        (WebCore::InspectorController::addConsoleMessage):
33057        (WebCore::InspectorController::startGroup):
33058        (WebCore::InspectorController::endGroup):
33059        * inspector/InspectorController.h:
33060
330612010-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
33062
33063        Reviewed by Gavin Barraclough.
33064
33065        Replace lots of String::format() usages by StringConcatenate
33066        https://bugs.webkit.org/show_bug.cgi?id=47664
33067
33068        * ForwardingHeaders/wtf/text/StringConcatenate.h: Added.
33069        * bindings/js/JSDOMWindowBase.cpp:
33070        (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
33071        * bindings/v8/V8Proxy.cpp:
33072        (WebCore::V8Proxy::reportUnsafeAccessTo):
33073        * dom/ExceptionBase.cpp:
33074        (WebCore::ExceptionBase::ExceptionBase):
33075        * dom/XMLDocumentParser.cpp:
33076        (WebCore::XMLDocumentParser::handleError):
33077        * history/PageCache.cpp:
33078        (WebCore::logCanCacheFrameDecision):
33079        * html/FTPDirectoryDocument.cpp:
33080        (WebCore::processFileDateString):
33081        * inspector/CodeGeneratorInspector.pm:
33082        * inspector/InspectorController.cpp:
33083        (WebCore::InspectorController::didReceiveResponse):
33084        (WebCore::InspectorController::count):
33085        * inspector/InspectorDOMAgent.cpp:
33086        (WebCore::InspectorDOMAgent::createBreakpointId):
33087        * inspector/InspectorDebuggerAgent.cpp:
33088        (WebCore::formatBreakpointId):
33089        * inspector/InspectorProfilerAgent.cpp:
33090        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
33091        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
33092        (WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName):
33093        (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
33094        * loader/CachedResourceLoader.cpp:
33095        (WebCore::CachedResourceLoader::printAccessDeniedMessage):
33096        * loader/FrameLoader.cpp:
33097        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
33098        (WebCore::FrameLoader::checkIfRunInsecureContent):
33099        (WebCore::FrameLoader::shouldAllowNavigation):
33100        * loader/archive/cf/LegacyWebArchive.cpp:
33101        (WebCore::LegacyWebArchive::createFromSelection):
33102        * page/DOMWindow.cpp:
33103        (WebCore::DOMWindow::postMessageTimerFired):
33104        * page/PrintContext.cpp:
33105        (WebCore::PrintContext::pageProperty):
33106        (WebCore::PrintContext::pageSizeAndMarginsInPixels):
33107        * page/XSSAuditor.cpp:
33108        (WebCore::XSSAuditor::canLoadObject):
33109        * platform/efl/PlatformKeyboardEventEfl.cpp:
33110        (WebCore::createKeyMap):
33111        (WebCore::createWindowsKeyMap):
33112        * platform/graphics/GraphicsLayer.cpp:
33113        (WebCore::GraphicsLayer::animationNameForTransition):
33114        * platform/graphics/brew/ImageBrew.cpp:
33115        (WebCore::Image::loadPlatformResource):
33116        * platform/graphics/cg/ImageBufferCG.cpp:
33117        (WebCore::ImageBuffer::toDataURL):
33118        * platform/graphics/efl/ImageEfl.cpp:
33119        (WebCore::loadResourceSharedBuffer):
33120        * platform/graphics/gtk/ImageBufferGtk.cpp:
33121        (WebCore::ImageBuffer::toDataURL):
33122        * platform/graphics/haiku/ImageBufferHaiku.cpp:
33123        (WebCore::ImageBuffer::toDataURL):
33124        * platform/graphics/mac/GraphicsLayerCA.mm:
33125        (WebCore::animationIdentifier):
33126        * platform/graphics/qt/ImageBufferQt.cpp:
33127        (WebCore::ImageBuffer::toDataURL):
33128        * platform/graphics/skia/ImageBufferSkia.cpp:
33129        (WebCore::ImageBuffer::toDataURL):
33130        * platform/graphics/win/WebLayer.cpp:
33131        (WebCore::WebLayer::drawInContext):
33132        * platform/network/CredentialStorage.cpp:
33133        (WebCore::originStringFromURL):
33134        * platform/sql/SQLiteDatabase.cpp:
33135        (WebCore::SQLiteDatabase::setSynchronous):
33136        * platform/text/wince/TextCodecWinCE.cpp:
33137        (WebCore::LanguageManager::LanguageManager):
33138        * platform/win/ClipboardUtilitiesWin.cpp:
33139        (WebCore::markupToCFHTML):
33140        * platform/win/Language.cpp:
33141        (WebCore::defaultLanguage):
33142        * plugins/PluginStream.cpp:
33143        (WebCore::PluginStream::startStream):
33144        * svg/SVGUseElement.cpp:
33145        (WebCore::dumpInstanceTree):
33146        * websockets/WebSocket.cpp:
33147        (WebCore::WebSocket::connect):
33148        * websockets/WebSocketChannel.cpp:
33149        (WebCore::WebSocketChannel::appendToBuffer):
33150        * websockets/WebSocketHandshake.cpp:
33151        (WebCore::WebSocketHandshake::readServerHandshake):
33152
331532010-10-14  Xan Lopez  <xlopez@igalia.com>
33154
33155        Reviewed by Martin Robinson.
33156
33157        [GTK] Small cleanup in PluginViewGtk
33158        https://bugs.webkit.org/show_bug.cgi?id=47588
33159
33160        Remove some dead code and use PlatformRefPtr for cairo surfaces.
33161
33162        No new tests, only refactoring.
33163
33164        * plugins/gtk/PluginViewGtk.cpp:
33165        (WebCore::PluginView::paint):
33166
331672010-10-14  Dawit Alemayehu  <adawit@kde.org>
33168
33169        Reviewed by Andreas Kling.
33170
33171        Fix compile error when bulding webkit's Qt port using the "--v8" option.
33172        https://bugs.webkit.org/show_bug.cgi?id=47455
33173
33174        * platform/qt/PlatformBridge.h:
33175
331762010-10-01  Martin Robinson  <mrobinson@igalia.com>
33177
33178        Reviewed by Holger Freyther.
33179
33180        [GTK] REGRESSION: FreeType backend does not respect XSettings font settings after r68558
33181        https://bugs.webkit.org/show_bug.cgi?id=47033
33182
33183        Fix logic that merges XSettings defaults and FontConfig settings. If
33184        FontConfig or XSettings specifies a subpixel order, we force subpixel
33185        anti-aliasing on. If anti-aliasing is turned on explicitly, only
33186        override the setting if it was previously off, otherwise we ignore
33187        the user's preference for subpixel or gray antialiasing.
33188
33189        Test: platform/gtk/fonts/xsettings_antialias_settings.html
33190
33191        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
33192        (WebCore::setCairoFontOptionsFromFontConfigPattern): Fix merging of XSettings
33193        and FontConfig anti-aliasing settings.
33194        (WebCore::getDefaultFontOptions): Added this helper.
33195        (WebCore::FontPlatformData::FontPlatformData): Use the getDefaultFontOptions helper.
33196
331972010-10-14  Jian Li  <jianli@chromium.org>
33198
33199        Reviewed by David Levin.
33200
33201        Support typed arrays in workers
33202        https://bugs.webkit.org/show_bug.cgi?id=47616
33203
33204        To support typed arrays in workers, we need to expose constructors in
33205        WorkerContext and add NoStaticTables attribute.
33206
33207        I also add File API feature guard to the constructors defined in
33208        DOMWindow.
33209
33210        * bindings/js/JSDOMWindowCustom.cpp: Add File API feature guard to the
33211        constructors defined in DOMWindow.
33212        * html/canvas/ArrayBuffer.idl: Add NoStaticTables attribute.
33213        * html/canvas/ArrayBufferView.idl: Add NoStaticTables attribute.
33214        * html/canvas/Float32Array.idl: Add NoStaticTables attribute.
33215        * html/canvas/Int16Array.idl: Add NoStaticTables attribute.
33216        * html/canvas/Int32Array.idl: Add NoStaticTables attribute.
33217        * html/canvas/Int8Array.idl: Add NoStaticTables attribute.
33218        * html/canvas/Uint16Array.idl: Add NoStaticTables attribute.
33219        * html/canvas/Uint32Array.idl: Add NoStaticTables attribute.
33220        * html/canvas/Uint8Array.idl: Add NoStaticTables attribute.
33221        * page/DOMWindow.idl: Add File API feature guard to the constructors
33222        defined in DOMWindow.
33223        * workers/WorkerContext.idl: Expose type array constructors.
33224
332252010-10-14  Andreas Kling  <kling@webkit.org>
33226
33227        Reviewed by Ariya Hidayat.
33228
33229        [Qt] Avoid creating empty transparency layers in ImageBuffer::clip()
33230
33231        We were creating empty layers for sub-1 height/width clips due to
33232        using IntRect(FloatRect) instead of enclosingIntRect().
33233        This lead to a bunch of QPainter warnings on the console since you
33234        can't draw on an empty QPixmap.
33235
33236        * platform/graphics/qt/ImageBufferQt.cpp:
33237        (WebCore::ImageBuffer::clip):
33238
332392010-10-14  Holger Hans Peter Freyther  <holger@moiji-mobile.com>
33240
33241        Reviewed by Martin Robinson.
33242
33243        [cairo] Typo in determining fixed width fonts
33244        https://bugs.webkit.org/show_bug.cgi?id=47470
33245
33246        It must be a single ampersand otherwise the
33247        && FT_FACE_FLAG_FIXED_WIDTH will always be true.
33248
33249        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
33250        (WebCore::FontPlatformData::FontPlatformData):
33251
332522010-10-14  Sergio Villar Senin  <svillar@igalia.com>
33253
33254        Reviewed by Xan Lopez.
33255
33256        [GTK] Failing test LayoutTests/editing/undo/orphaned-selection-crash-bug32823-2.html
33257        https://bugs.webkit.org/show_bug.cgi?id=47666
33258
33259        Do a less strict decoding of base64 data url's as it was done
33260        before. The actual problem is most likely
33261        https://bugs.webkit.org/show_bug.cgi?id=47661 tough.
33262
33263        * platform/network/soup/cache/soup-request-data.c:
33264        (webkit_soup_request_data_send):
33265
332662010-10-14  Renata Hodovan  <reni@inf.u-szeged.hu>
33267
33268        Reviewed by Andreas Kling.
33269
33270        SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
33271        https://bugs.webkit.org/show_bug.cgi?id=47660
33272
33273        The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
33274        The patch also implements the simple setOrder and setKernelUnitLength methods.
33275
33276        Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html
33277               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
33278               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
33279               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
33280               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
33281               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
33282               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
33283               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
33284               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
33285               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html
33286
33287        * svg/SVGFEConvolveMatrixElement.cpp:
33288        (WebCore::SVGFEConvolveMatrixElement::setOrder):
33289        (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
33290        (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
33291        * svg/SVGFEConvolveMatrixElement.h:
33292
332932010-10-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
33294
33295        Reviewed by Andreas Kling.
33296
33297        [Qt] Text breaking is slow: enable ICU as an opt-in
33298        https://bugs.webkit.org/show_bug.cgi?id=40332
33299
33300        Added a config flag that enables ICU as an opt-in instead of the Qt specific code.
33301
33302        No new tests, this should be covered by existing tests.
33303
33304        * WebCore.pro:
33305        * platform/text/qt/TextBreakIteratorQt.cpp:
33306        (WebCore::currentTextBreakLocaleID):
33307
333082010-10-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
33309
33310        Reviewed by Kenneth Rohde Christiansen.
33311
33312        [Texmap] [Qt] Texture mapper initial implementation
33313        https://bugs.webkit.org/show_bug.cgi?id=47070
33314
33315        This patch enables compilation of TextureMapper with Media. It has an initial non-working implementation of a video layer, to be integrated
33316        once other parts of TextureMapper are fully working.
33317
33318        No new tests: this is new implementation that's not enabled yet.
33319
33320        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
33321        (WebCore::TextureMapperVideoLayerQt::TextureMapperVideoLayerQt):
33322        (WebCore::TextureMapperVideoLayerQt::setPlatformLayerClient):
33323        (WebCore::TextureMapperVideoLayerQt::paint):
33324        (WebCore::TextureMapperVideoLayerQt::size):
33325        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
33326        (WebCore::MediaPlayerPrivateQt::platformLayer):
33327        * platform/graphics/qt/MediaPlayerPrivateQt.h:
33328        (WebCore::MediaPlayerPrivateQt::supportsAcceleratedRendering):
33329        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
33330        (WebCore::MediaPlayerPrivateQt::platformLayer):
33331
333322010-10-14  Alejandro G. Castro  <alex@igalia.com>
33333
33334        Reviewed by Martin Robinson.
33335
33336        Fixed crashes in the GTK 64bits bot, we have to use NULL instead
33337        of 0 when calling these glib APIs, 0 is compiled as a char and in
33338        64bits systems it is not correct.
33339
33340        * platform/network/soup/cache/soup-requester.c:
33341        (webkit_soup_requester_new):
33342        (webkit_soup_requester_request_uri):
33343
333442010-10-14  Daniel Bates  <dbates@rim.com>
33345
33346        Attempt to fix the Qt and GTK builds based on the build bot results from <http://webkit.sed.hu>.
33347
33348        * rendering/RenderInline.cpp: Include header "RenderTheme.h"
33349
333502010-10-14  Daniel Bates  <dbates@rim.com>
33351
33352        Reviewed by Darin Adler.
33353
33354        Only draw focus ring in RenderInline and RenderImage if the theme
33355        is not able to draw a focus ring
33356        https://bugs.webkit.org/show_bug.cgi?id=47632
33357
33358        Fixes an issue where RenderInline::paintOutline() and RenderImage::paintFocusRings()
33359        would draw a focus ring regardless of whether the port-specific theme is able to
33360        draw a focus ring. Instead, these methods should only draw a focus ring if the
33361        theme is unable to draw a focus ring.
33362
33363        Also, extracted common focus ring drawing code from RenderObject::paintOutline()
33364        and RenderInline::paintOutline() into RenderObject::paintFocusRing().
33365
33366        Tests: fast/forms/textfield-focus-ring.html
33367               fast/images/imagemap-focus-ring.html
33368               fast/inline/inline-focus-ring.html
33369
33370        * rendering/RenderImage.cpp:
33371        (WebCore::RenderImage::paintFocusRings): Modified to only draw a focus ring if the
33372        the theme does not draw one.
33373        * rendering/RenderInline.cpp:
33374        (WebCore::RenderInline::paintOutline): Modified to call RenderObject::paintFocusRing().
33375        * rendering/RenderObject.cpp:
33376        * rendering/RenderObject.cpp:
33377        (WebCore::RenderObject::paintFocusRing): Added.
33378        (WebCore::RenderObject::paintOutline): Modified to call RenderObject::paintFocusRing().
33379        * rendering/RenderObject.h:
33380
333812010-10-14  Pavel Feldman  <pfeldman@chromium.org>
33382
33383        Reviewed by Yury Semikhatsky.
33384
33385        Web Inspector: Move load and dom content event timers into InspectorController.
33386        https://bugs.webkit.org/show_bug.cgi?id=47668
33387
33388        * inspector/CodeGeneratorInspector.pm:
33389        * inspector/Inspector.idl:
33390        * inspector/InspectorController.cpp:
33391        (WebCore::InspectorController::InspectorController):
33392        (WebCore::InspectorController::populateScriptObjects):
33393        (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
33394        (WebCore::InspectorController::mainResourceFiredLoadEvent):
33395        * inspector/InspectorController.h:
33396        * inspector/InspectorResource.cpp:
33397        (WebCore::InspectorResource::InspectorResource):
33398        (WebCore::InspectorResource::updateScriptObject):
33399        * inspector/InspectorResource.h:
33400        * inspector/front-end/inspector.js:
33401        (WebInspector.updateResource):
33402        (WebInspector.domContentEventFired):
33403        (WebInspector.loadEventFired):
33404
334052010-10-14  Pavel Feldman  <pfeldman@chromium.org>
33406
33407        Not reviewed. Re-landing r69757.
33408
334092010-10-14  Pavel Podivilov  <podivilov@chromium.org>
33410
33411        Reviewed by Pavel Feldman.
33412
33413        Web Inspector: implement pausing on window events and timeouts
33414        https://bugs.webkit.org/show_bug.cgi?id=47542
33415
33416        * inspector/InspectorInstrumentation.cpp:
33417        (WebCore::InspectorInstrumentation::didInstallTimerImpl):
33418        (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
33419        (WebCore::InspectorInstrumentation::willDispatchEventImpl):
33420        (WebCore::InspectorInstrumentation::didDispatchEventImpl):
33421        (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
33422        (WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
33423        (WebCore::InspectorInstrumentation::willFireTimerImpl):
33424        (WebCore::InspectorInstrumentation::didFireTimerImpl):
33425        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
33426        (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
33427        * inspector/InspectorInstrumentation.h:
33428        * inspector/front-end/BreakpointManager.js:
33429        (WebInspector.EventListenerBreakpoint.prototype.populateLabelElement):
33430        (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
33431        (WebInspector.EventListenerBreakpoint.prototype._condition):
33432        (WebInspector.EventListenerBreakpoint.prototype._uiEventName):
33433        * inspector/front-end/BreakpointsSidebarPane.js:
33434        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
33435
334362010-10-14  Csaba Osztrogonác  <ossy@webkit.org>
33437
33438        Reviewed by Andreas Kling.
33439
33440        Canvas: "currentColor" should inherit the canvas element's color
33441        https://bugs.webkit.org/show_bug.cgi?id=40273
33442
33443        Warning fix after r69755. Missing default cases added.
33444
33445        * html/canvas/CanvasStyle.cpp:
33446        (WebCore::parseColorOrCurrentColor):
33447        (WebCore::CanvasStyle::createFromString):
33448        (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
33449
334502010-10-14  Pavel Feldman  <pfeldman@chromium.org>
33451
33452        Not reviewed. Rolling out r69757.
33453
334542010-10-08  Pavel Feldman  <pfeldman@chromium.org>
33455
33456        Reviewed by Yury Semikhatsky.
33457
33458        Web Inspector: extract content-related methods into InspectorResourceAgent.
33459        https://bugs.webkit.org/show_bug.cgi?id=47415
33460
33461        This is needed for resource-tracking-less operation of resources panel.
33462
33463        * CMakeLists.txt:
33464        * GNUmakefile.am:
33465        * WebCore.gypi:
33466        * WebCore.pro:
33467        * inspector/InspectorCSSAgent.cpp:
33468        * inspector/InspectorResource.cpp:
33469        (WebCore::InspectorResource::type):
33470        (WebCore::InspectorResource::sourceString):
33471        (WebCore::InspectorResource::sourceBytes):
33472        * inspector/InspectorResource.h:
33473        * inspector/InspectorResourceAgent.cpp: Added.
33474        (WebCore::InspectorResourceAgent::resourceContent):
33475        (WebCore::InspectorResourceAgent::resourceContentBase64):
33476        (WebCore::InspectorResourceAgent::resourceData):
33477        (WebCore::InspectorResourceAgent::cachedResourceType):
33478        (WebCore::InspectorResourceAgent::cachedResource):
33479        * inspector/InspectorResourceAgent.h: Added.
33480        * inspector/InspectorStyleSheet.cpp:
33481        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
33482        * inspector/InspectorUtilities.cpp: Removed.
33483        * inspector/InspectorUtilities.h: Removed.
33484
334852010-10-14  Andreas Kling  <kling@webkit.org>
33486
33487        Reviewed by Darin Adler.
33488
33489        Canvas: "currentColor" should inherit the canvas element's color
33490        https://bugs.webkit.org/show_bug.cgi?id=40273
33491
33492        Add support for "currentColor" in CanvasRenderingContext2D APIs.
33493        If the canvas is in-document, "currentColor" is replaced by canvas.style.color,
33494        otherwise we use fully opaque black.
33495
33496        For gradient addColorStop(), "currentColor" always means fully opaque black.
33497
33498        Spec link:
33499        http://www.whatwg.org/specs/web-apps/current-work/#2dcontext
33500
33501        Test: fast/canvas/canvas-currentColor.html
33502
33503        * html/canvas/CanvasGradient.cpp:
33504        (WebCore::CanvasGradient::addColorStop):
33505        * html/canvas/CanvasRenderingContext2D.cpp:
33506        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
33507        (WebCore::CanvasRenderingContext2D::setFillStyle):
33508        (WebCore::CanvasRenderingContext2D::setShadowColor):
33509        (WebCore::CanvasRenderingContext2D::setShadow):
33510        * html/canvas/CanvasStyle.cpp:
33511        (WebCore::parseColor):
33512        (WebCore::currentColor):
33513        (WebCore::parseColorOrCurrentColor):
33514        (WebCore::CanvasStyle::CanvasStyle):
33515        (WebCore::CanvasStyle::createFromString):
33516        (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
33517        (WebCore::CanvasStyle::isEquivalentColor):
33518        (WebCore::CanvasStyle::applyStrokeColor):
33519        (WebCore::CanvasStyle::applyFillColor):
33520        * html/canvas/CanvasStyle.h:
33521        (WebCore::CanvasStyle::isCurrentColor):
33522        (WebCore::CanvasStyle::hasOverrideAlpha):
33523        (WebCore::CanvasStyle::overrideAlpha):
33524
335252010-10-08  Yury Semikhatsky  <yurys@chromium.org>
33526
33527        Reviewed by Pavel Feldman.
33528
33529        Web Inspector: [REGRESSION] Scripts panel: the bubble shows wrong values
33530        https://bugs.webkit.org/show_bug.cgi?id=47358
33531
33532        Test: inspector/debugger-eval-on-call-frame.html
33533
33534        * inspector/front-end/InjectedScript.js:
33535        (injectedScriptConstructor.): don't embrace expression evaluated in the local scope
33536        of a call frame into with(window) to avoid shadowing local variables by global ones.
33537
335382010-10-13  Adam Barth  <abarth@webkit.org>
33539
33540        Reviewed by Darin Adler.
33541
33542        Implement getParameter from the URL API
33543        https://bugs.webkit.org/show_bug.cgi?id=46610
33544
33545        Another API from
33546        https://docs.google.com/document/edit?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en#
33547        getParameter lets a web site easily read the value of a URL parameter.
33548        This API is for the simple case of a non-repeated parameter name.
33549        getParameterAll will handle repeated parameter names in a future patch.
33550
33551        Tests: fast/dom/anchor-getParameter.html
33552               http/tests/misc/location-getParameter.html
33553
33554        * html/HTMLAnchorElement.cpp:
33555        (WebCore::HTMLAnchorElement::getParameter):
33556        * html/HTMLAnchorElement.h:
33557        * html/HTMLAnchorElement.idl:
33558        * page/Location.cpp:
33559        (WebCore::Location::getParameter):
33560        * page/Location.h:
33561        * page/Location.idl:
33562        * platform/KURL.cpp:
33563        (WebCore::KURL::copyParsedQueryTo):
33564        * platform/KURLGoogle.cpp:
33565        (WebCore::KURL::copyParsedQueryTo):
33566        * platform/KURL.h:
33567
335682010-10-14  Alejandro G. Castro  <alex@igalia.com>
33569
33570        Unreviewed. GTK build fix.
33571
33572        * platform/network/soup/ResourceHandleSoup.cpp:
33573        (WebCore::sendRequestCallback):
33574
335752010-10-14  Adrienne Walker  <enne@google.com>
33576
33577        Reviewed by James Robinson.
33578
33579        Add a short-term solution for large layers.  Layers that are too
33580        large to be contained in a single texture just upload the portion of
33581        the layer that is within the content rect.  A longer-term solution
33582        is still tiling with proper memory management.  Layers that have full
33583        3D transforms (more than just translations) are still not drawn.
33584        https://bugs.webkit.org/show_bug.cgi?id=47016
33585
33586        Test: compositing/tiling
33587
33588        * platform/graphics/chromium/ContentLayerChromium.cpp:
33589        (WebCore::ContentLayerChromium::ContentLayerChromium):
33590        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
33591        (WebCore::ContentLayerChromium::calculateClippedUpdateRect):
33592        (WebCore::ContentLayerChromium::updateContents):
33593        (WebCore::ContentLayerChromium::updateTextureRect):
33594        (WebCore::ContentLayerChromium::draw):
33595        * platform/graphics/chromium/ContentLayerChromium.h:
33596        * platform/graphics/chromium/ImageLayerChromium.cpp:
33597        (WebCore::ImageLayerChromium::updateContents):
33598        * platform/graphics/chromium/LayerRendererChromium.cpp:
33599        (WebCore::LayerRendererChromium::drawLayers):
33600        * platform/graphics/chromium/LayerRendererChromium.h:
33601        (WebCore::LayerRendererChromium::rootLayerContentRect):
33602
336032010-10-14  Chris Rogers  <crogers@google.com>
33604
33605        Reviewed by Chris Fleizach.
33606
33607        Add DelayDSPKernel files
33608        https://bugs.webkit.org/show_bug.cgi?id=47518
33609
33610        No new tests since audio API is not yet implemented.
33611
33612        * webaudio/DelayDSPKernel.cpp: Added.
33613        (WebCore::DelayDSPKernel::DelayDSPKernel):
33614        (WebCore::DelayDSPKernel::process):
33615        (WebCore::DelayDSPKernel::reset):
33616        * webaudio/DelayDSPKernel.h: Added.
33617        (WebCore::DelayDSPKernel::maxDelayTime):
33618        (WebCore::DelayDSPKernel::setDelayFrames):
33619        (WebCore::DelayDSPKernel::delayProcessor):
33620
336212010-10-13  Sergio Villar Senin  <svillar@igalia.com>
33622
33623        Reviewed by Martin Robinson.
33624
33625        WebKitGtk+ to use the new API from the imported SoupURILoader code
33626
33627        [GTK] Add HTTP caching support
33628        https://bugs.webkit.org/show_bug.cgi?id=44261
33629
33630        ResourceHandleSoup now does everything via SoupURILoader. This means
33631        that all URLs are handled via the same code path, where WebCore simply
33632        asks libsoup for a WebKitSoupRequest and the request returns an input
33633        stream. Many of ResourceHandleSoup's data members are now PlatformRefPtr
33634        as well, to simplify reference counting
33635
33636        * platform/network/ResourceHandleInternal.h:
33637        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
33638        * platform/network/soup/ResourceHandleSoup.cpp:
33639        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
33640        (WebCore::ResourceHandle::~ResourceHandle):
33641        (WebCore::restartedCallback):
33642        (WebCore::gotChunkCallback):
33643        (WebCore::parseDataUrl):
33644        (WebCore::cleanupSoupRequestOperation):
33645        (WebCore::sendRequestCallback):
33646        (WebCore::startHttp):
33647        (WebCore::ResourceHandle::start):
33648        (WebCore::ResourceHandle::cancel):
33649        (WebCore::closeCallback):
33650        (WebCore::readCallback):
33651        (WebCore::startGio):
33652        * platform/network/soup/ResourceRequest.h:
33653        * platform/network/soup/ResourceRequestSoup.cpp:
33654        (WebCore::ResourceRequest::updateSoupMessage):
33655
336562010-10-12  Abhishek Arya  <inferno@chromium.org>
33657
33658        Reviewed by Darin Adler.
33659
33660        Prevent block logical height of a root inline box from overflowing by clamping it
33661        at INT_MAX. Otherwise, we will not be able to properly dirty the set of lines during
33662        removal a floating object.
33663        https://bugs.webkit.org/show_bug.cgi?id=45611        
33664
33665        Test: fast/overflow/overflow-block-logical-height-crash.html
33666
33667        * rendering/RootInlineBox.cpp:
33668        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
33669
336702010-10-13  James Robinson  <jamesr@chromium.org>
33671
33672        Reviewed by Darin Adler.
33673
33674        Throw INDEX_SIZE_ERR exception if createRadialGradient is called with a negative radius
33675        Canvas: radialGradient with negative radius should throw exception
33676        https://bugs.webkit.org/show_bug.cgi?id=37176
33677
33678        This matches the canvas 2d specification, Opera, IE9 beta and our behavior for arc()
33679        and arcTo().  Also fixes some PassRefPtr/RefPtr errors in this file.
33680
33681        Test: canvas/philip/tests/2d.gradient.radial.negative.html
33682
33683        * html/canvas/CanvasRenderingContext2D.cpp:
33684        (WebCore::CanvasRenderingContext2D::createLinearGradient):
33685        (WebCore::CanvasRenderingContext2D::createRadialGradient):
33686        (WebCore::createEmptyImageData):
33687        (WebCore::CanvasRenderingContext2D::measureText):
33688
336892010-10-13  Fridrich Strba  <fridrich.strba@bluewin.ch>
33690
33691        Reviewed by Darin Adler.
33692
33693        Add WebCore/plugins/win directory to CFLAGS
33694        https://bugs.webkit.org/show_bug.cgi?id=45547
33695
33696        * GNUmakefile.am:
33697
336982010-10-13  Martin Robinson  <mrobinson@igalia.com>
33699
33700        Build fix for older versions of libsoup.
33701
33702        * platform/network/soup/cache/soup-request-file.c:
33703        (webkit_soup_request_file_ensure_file): Access the path member of the SoupURI directly.
33704
337052010-10-13  Kwang Yul Seo  <skyul@company100.net>
33706
33707        Reviewed by Kent Tamura.
33708
33709        [BREWMP] Add TextBoundaries and TextBreakIterator
33710        https://bugs.webkit.org/show_bug.cgi?id=46105
33711
33712        Copy the implementation of WinCE port.
33713
33714        * platform/text/brew/TextBoundariesBrew.cpp: Added.
33715        (WebCore::findNextWordFromIndex):
33716        (WebCore::findWordBoundary):
33717        * platform/text/brew/TextBreakIteratorBrew.cpp: Added.
33718        (WebCore::isCharStop):
33719        (WebCore::isLineStop):
33720        (WebCore::isSentenceStop):
33721        (WebCore::TextBreakIterator::reset):
33722        (WebCore::TextBreakIterator::following):
33723        (WebCore::TextBreakIterator::preceding):
33724        (WebCore::WordBreakIterator::first):
33725        (WebCore::WordBreakIterator::next):
33726        (WebCore::WordBreakIterator::previous):
33727        (WebCore::CharBreakIterator::first):
33728        (WebCore::CharBreakIterator::next):
33729        (WebCore::CharBreakIterator::previous):
33730        (WebCore::LineBreakIterator::first):
33731        (WebCore::LineBreakIterator::next):
33732        (WebCore::LineBreakIterator::previous):
33733        (WebCore::SentenceBreakIterator::first):
33734        (WebCore::SentenceBreakIterator::next):
33735        (WebCore::SentenceBreakIterator::previous):
33736        (WebCore::wordBreakIterator):
33737        (WebCore::characterBreakIterator):
33738        (WebCore::lineBreakIterator):
33739        (WebCore::sentenceBreakIterator):
33740        (WebCore::textBreakFirst):
33741        (WebCore::textBreakNext):
33742        (WebCore::textBreakPreceding):
33743        (WebCore::textBreakFollowing):
33744        (WebCore::textBreakCurrent):
33745        (WebCore::isTextBreak):
33746        (WebCore::cursorMovementIterator):
33747
337482010-10-13  Jeremy Orlow  <jorlow@chromium.org>
33749
33750        Reviewed by Nate Chapin.
33751
33752        IndexedDB should fire some errors synchronously
33753        https://bugs.webkit.org/show_bug.cgi?id=47530
33754
33755        Add dumb plumbing to pass around exception codes.
33756        Utilize that plumbing in the backend to fire some
33757        errors synchronously.
33758        Verify that create/remove* functions are only called
33759        in setVersionTransactions (and raise when not).
33760        Remove plumbing for obsolete IDBDatabase.objectStore
33761        Remove obsolete mode param.
33762
33763        * storage/IDBCursor.cpp:
33764        (WebCore::IDBCursor::update):
33765        (WebCore::IDBCursor::continueFunction):
33766        (WebCore::IDBCursor::remove):
33767        * storage/IDBCursor.h:
33768        (WebCore::IDBCursor::continueFunction):
33769        * storage/IDBCursor.idl:
33770        * storage/IDBCursorBackendImpl.cpp:
33771        (WebCore::IDBCursorBackendImpl::update):
33772        (WebCore::IDBCursorBackendImpl::continueFunction):
33773        (WebCore::IDBCursorBackendImpl::remove):
33774        * storage/IDBCursorBackendImpl.h:
33775        * storage/IDBCursorBackendInterface.h:
33776        * storage/IDBDatabase.cpp:
33777        (WebCore::IDBDatabase::IDBDatabase):
33778        (WebCore::IDBDatabase::createObjectStore):
33779        (WebCore::IDBDatabase::removeObjectStore):
33780        (WebCore::IDBDatabase::setVersion):
33781        (WebCore::IDBDatabase::transaction):
33782        * storage/IDBDatabase.h:
33783        (WebCore::IDBDatabase::createObjectStore):
33784        (WebCore::IDBDatabase::transaction):
33785        * storage/IDBDatabase.idl:
33786        * storage/IDBDatabaseBackendImpl.cpp:
33787        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
33788        (WebCore::IDBDatabaseBackendImpl::objectStore):
33789        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
33790        (WebCore::IDBDatabaseBackendImpl::setVersion):
33791        (WebCore::IDBDatabaseBackendImpl::transaction):
33792        * storage/IDBDatabaseBackendImpl.h:
33793        * storage/IDBDatabaseBackendInterface.h:
33794        * storage/IDBFactory.cpp:
33795        (WebCore::IDBFactory::open):
33796        * storage/IDBFactory.h:
33797        (WebCore::IDBFactory::open):
33798        * storage/IDBFactory.idl:
33799        * storage/IDBIndex.cpp:
33800        (WebCore::IDBIndex::openCursor):
33801        (WebCore::IDBIndex::openKeyCursor):
33802        (WebCore::IDBIndex::get):
33803        (WebCore::IDBIndex::getKey):
33804        * storage/IDBIndex.h:
33805        (WebCore::IDBIndex::openCursor):
33806        (WebCore::IDBIndex::openKeyCursor):
33807        * storage/IDBIndex.idl:
33808        * storage/IDBIndexBackendImpl.cpp:
33809        (WebCore::IDBIndexBackendImpl::openCursor):
33810        (WebCore::IDBIndexBackendImpl::openKeyCursor):
33811        (WebCore::IDBIndexBackendImpl::get):
33812        (WebCore::IDBIndexBackendImpl::getKey):
33813        * storage/IDBIndexBackendImpl.h:
33814        * storage/IDBIndexBackendInterface.h:
33815        * storage/IDBObjectStore.cpp:
33816        (WebCore::IDBObjectStore::get):
33817        (WebCore::IDBObjectStore::add):
33818        (WebCore::IDBObjectStore::put):
33819        (WebCore::IDBObjectStore::remove):
33820        (WebCore::IDBObjectStore::createIndex):
33821        (WebCore::IDBObjectStore::index):
33822        (WebCore::IDBObjectStore::removeIndex):
33823        (WebCore::IDBObjectStore::openCursor):
33824        * storage/IDBObjectStore.h:
33825        (WebCore::IDBObjectStore::add):
33826        (WebCore::IDBObjectStore::put):
33827        (WebCore::IDBObjectStore::createIndex):
33828        (WebCore::IDBObjectStore::openCursor):
33829        * storage/IDBObjectStore.idl:
33830        * storage/IDBObjectStoreBackendImpl.cpp:
33831        (WebCore::IDBObjectStoreBackendImpl::get):
33832        (WebCore::IDBObjectStoreBackendImpl::put):
33833        (WebCore::IDBObjectStoreBackendImpl::remove):
33834        (WebCore::IDBObjectStoreBackendImpl::createIndex):
33835        (WebCore::IDBObjectStoreBackendImpl::index):
33836        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
33837        (WebCore::IDBObjectStoreBackendImpl::openCursor):
33838        * storage/IDBObjectStoreBackendImpl.h:
33839        (WebCore::IDBObjectStoreBackendImpl::name):
33840        (WebCore::IDBObjectStoreBackendImpl::keyPath):
33841        (WebCore::IDBObjectStoreBackendImpl::autoIncrement):
33842        * storage/IDBObjectStoreBackendInterface.h:
33843        * storage/IDBTransaction.cpp:
33844        (WebCore::IDBTransaction::objectStore):
33845        * storage/IDBTransaction.h:
33846        * storage/IDBTransactionBackendImpl.cpp:
33847        (WebCore::IDBTransactionBackendImpl::objectStore):
33848
338492010-10-13  Sergio Villar Senin  <svillar@igalia.com>
33850
33851        Reviewed by Martin Robinson.
33852
33853        [GTK] Add HTTP caching support
33854        https://bugs.webkit.org/show_bug.cgi?id=44261
33855
33856        This patch adds HTTP caching support to libsoup networking backend.
33857        This code will eventually be part of libsoup, but has been temporarily
33858        imported into the WebCore tree for testing purposes. All libsoup code
33859        is located in WebCore/platform/network/soup/cache. The webkit prefix
33860        was added to all the symbols to prevent problems when this lands in
33861        libsoup. Some external API was also added under webkit/ directory and
33862        will be used by library clients to enable HTTP caching.
33863
33864        There are two parts to this imported code, the first one is the code
33865        under WebCore/platform/network/soup/cache/ that contains all the
33866        SoupURILoader code that supports the development of the cache. The
33867        second part is the HTTP cache implementation located in
33868        WebCore/platform/network/soup/cache/webkit/.
33869
33870        * GNUmakefile.am:
33871        * platform/network/soup/cache/soup-directory-input-stream.c: Added.
33872        (webkit_soup_directory_input_stream_parse_info):
33873        (webkit_soup_directory_input_stream_read_next_file):
33874        (webkit_soup_directory_input_stream_read):
33875        (webkit_soup_directory_input_stream_close):
33876        (webkit_soup_directory_input_stream_class_init):
33877        (webkit_soup_directory_input_stream_init):
33878        (webkit_soup_directory_input_stream_new):
33879        * platform/network/soup/cache/soup-directory-input-stream.h: Added.
33880        * platform/network/soup/cache/soup-http-input-stream.c: Added.
33881        (webkit_soup_http_input_stream_finalize):
33882        (webkit_soup_http_input_stream_class_init):
33883        (webkit_soup_http_input_stream_seekable_iface_init):
33884        (webkit_soup_http_input_stream_init):
33885        (webkit_soup_http_input_stream_queue_message):
33886        (webkit_soup_http_input_stream_new):
33887        (webkit_soup_http_input_stream_got_headers):
33888        (webkit_soup_http_input_stream_got_chunk):
33889        (webkit_soup_http_input_stream_finished):
33890        (webkit_soup_http_input_stream_cancelled):
33891        (webkit_soup_http_input_stream_prepare_for_io):
33892        (webkit_soup_http_input_stream_done_io):
33893        (set_error_if_http_failed):
33894        (read_from_leftover):
33895        (webkit_soup_http_input_stream_send_internal):
33896        (send_sync_finished):
33897        (webkit_soup_http_input_stream_send):
33898        (webkit_soup_http_input_stream_read):
33899        (webkit_soup_http_input_stream_close):
33900        (wrapper_callback):
33901        (send_async_thread):
33902        (webkit_soup_http_input_stream_send_async_in_thread):
33903        (send_async_finished):
33904        (webkit_soup_http_input_stream_send_async_internal):
33905        (webkit_soup_http_input_stream_send_async):
33906        (webkit_soup_http_input_stream_send_finish):
33907        (read_async_done):
33908        (webkit_soup_http_input_stream_read_async):
33909        (webkit_soup_http_input_stream_read_finish):
33910        (webkit_soup_http_input_stream_close_async):
33911        (webkit_soup_http_input_stream_close_finish):
33912        (webkit_soup_http_input_stream_tell):
33913        (webkit_soup_http_input_stream_can_seek):
33914        (webkit_soup_http_input_stream_seek):
33915        (webkit_soup_http_input_stream_can_truncate):
33916        (webkit_soup_http_input_stream_truncate):
33917        (webkit_soup_http_input_stream_get_message):
33918        * platform/network/soup/cache/soup-http-input-stream.h: Added.
33919        * platform/network/soup/cache/soup-request-data.c: Added.
33920        (webkit_soup_request_data_init):
33921        (webkit_soup_request_data_finalize):
33922        (webkit_soup_request_data_check_uri):
33923        (uri_decoded_copy):
33924        (webkit_soup_request_data_send):
33925        (webkit_soup_request_data_get_content_length):
33926        (webkit_soup_request_data_get_content_type):
33927        (webkit_soup_request_data_class_init):
33928        * platform/network/soup/cache/soup-request-data.h: Added.
33929        * platform/network/soup/cache/soup-request-file.c: Added.
33930        (webkit_soup_request_file_get_file):
33931        (webkit_soup_request_file_init):
33932        (webkit_soup_request_file_finalize):
33933        (webkit_soup_request_file_check_uri):
33934        (webkit_soup_request_file_ftp_main_loop_quit):
33935        (webkit_soup_request_file_ensure_file_ftp):
33936        (webkit_soup_request_file_ensure_file):
33937        (webkit_soup_request_file_send):
33938        (webkit_soup_request_file_send_async_thread):
33939        (webkit_soup_request_file_send_async):
33940        (webkit_soup_request_file_send_finish):
33941        (webkit_soup_request_file_get_content_length):
33942        (webkit_soup_request_file_get_content_type):
33943        (webkit_soup_request_file_class_init):
33944        * platform/network/soup/cache/soup-request-file.h: Added.
33945        * platform/network/soup/cache/soup-request-http.c: Added.
33946        (webkit_soup_request_http_get_message):
33947        (webkit_soup_request_http_init):
33948        (webkit_soup_request_http_check_uri):
33949        (webkit_soup_request_http_finalize):
33950        (webkit_soup_request_http_send):
33951        (sent_async):
33952        (conditional_get_ready_cb):
33953        (send_async_cb):
33954        (webkit_soup_request_http_send_async):
33955        (webkit_soup_request_http_send_finish):
33956        (webkit_soup_request_http_get_content_length):
33957        (webkit_soup_request_http_get_content_type):
33958        (webkit_soup_request_http_class_init):
33959        * platform/network/soup/cache/soup-request-http.h: Added.
33960        * platform/network/soup/cache/soup-request.c: Added.
33961        (webkit_soup_request_init):
33962        (webkit_soup_request_finalize):
33963        (webkit_soup_request_set_property):
33964        (webkit_soup_request_get_property):
33965        (webkit_soup_request_initable_init):
33966        (webkit_soup_request_default_check_uri):
33967        (webkit_soup_request_default_send_async):
33968        (webkit_soup_request_default_send_finish):
33969        (webkit_soup_request_send):
33970        (webkit_soup_request_send_async):
33971        (webkit_soup_request_send_finish):
33972        (webkit_soup_request_class_init):
33973        (webkit_soup_request_initable_interface_init):
33974        (webkit_soup_request_get_uri):
33975        (webkit_soup_request_get_session):
33976        (webkit_soup_request_get_content_length):
33977        (webkit_soup_request_get_content_type):
33978        * platform/network/soup/cache/soup-request.h: Added.
33979        * platform/network/soup/cache/soup-requester.c: Added.
33980        (webkit_soup_requester_init):
33981        (finalize):
33982        (webkit_soup_requester_class_init):
33983        (init_request_types):
33984        (webkit_soup_requester_new):
33985        (webkit_soup_requester_request):
33986        (webkit_soup_requester_request_uri):
33987        (webkit_soup_scheme_is_valid):
33988        (webkit_soup_requester_add_protocol):
33989        (webkit_soup_requester_remove_protocol):
33990        (webkit_soup_error_quark):
33991        * platform/network/soup/cache/soup-requester.h: Added.
33992        * platform/network/soup/cache/webkit/soup-cache-private.h: Added.
33993        * platform/network/soup/cache/webkit/soup-cache.c: Added.
33994        (get_cacheability):
33995        (webkit_soup_cache_entry_free):
33996        (copy_headers):
33997        (update_headers):
33998        (webkit_soup_cache_entry_get_current_age):
33999        (webkit_soup_cache_entry_is_fresh_enough):
34000        (webkit_soup_message_get_cache_key):
34001        (webkit_soup_cache_entry_set_freshness):
34002        (webkit_soup_cache_entry_new):
34003        (webkit_soup_cache_writing_fixture_free):
34004        (close_ready_cb):
34005        (write_ready_cb):
34006        (msg_got_chunk_cb):
34007        (msg_got_body_cb):
34008        (webkit_soup_cache_entry_delete):
34009        (lru_compare_func):
34010        (cache_accepts_entries_of_size):
34011        (make_room_for_new_entry):
34012        (webkit_soup_cache_entry_insert_by_key):
34013        (msg_restarted_cb):
34014        (append_to_ready_cb):
34015        (msg_got_headers_cb):
34016        (webkit_soup_cache_send_response):
34017        (request_started):
34018        (attach):
34019        (webkit_soup_cache_session_feature_init):
34020        (webkit_soup_cache_init):
34021        (webkit_soup_cache_finalize):
34022        (webkit_soup_cache_set_property):
34023        (webkit_soup_cache_get_property):
34024        (webkit_soup_cache_constructed):
34025        (webkit_soup_cache_type_get_type):
34026        (webkit_soup_cache_class_init):
34027        (webkit_soup_cache_new):
34028        (webkit_soup_cache_has_response):
34029        (webkit_soup_cache_get_cacheability):
34030        (force_flush_timeout):
34031        (webkit_soup_cache_flush):
34032        (remove_cache_item):
34033        (webkit_soup_cache_clear):
34034        (webkit_soup_cache_generate_conditional_request):
34035        (pack_entry):
34036        (webkit_soup_cache_dump):
34037        (webkit_soup_cache_load):
34038        (webkit_soup_cache_set_max_size):
34039        (webkit_soup_cache_get_max_size):
34040        * platform/network/soup/cache/webkit/soup-cache.h: Added.
34041
340422010-10-13  Gavin Barraclough  <barraclough@apple.com>
34043
34044        Chromium build fix.
34045
34046        * bindings/v8/ScriptProfiler.cpp:
34047
340482010-10-13  Chris Evans  <cevans@google.com>
34049
34050        Reviewed by Jian Li.
34051
34052        Blob / BlobBuilder can be put into bad state with wild integers and strings, due to integer overflows
34053        https://bugs.webkit.org/show_bug.cgi?id=47382
34054
34055        Fix integer overflow errors in Blob.slice and BlobBuilder.append.
34056
34057        Test: fast/files/blob-slice-overflow.html
34058
34059        * fileapi/Blob.cpp:
34060        (WebCore::Blob::slice): handle integer overflow properly.
34061        * fileapi/BlobBuilder.cpp:
34062        (WebCore::BlobBuilder::append): use correct type for vector length.
34063
340642010-10-13  Gavin Barraclough  <barraclough@apple.com>
34065
34066        Build fix - remove some redundant references to ScriptString.
34067
34068        * WebCore.gypi:
34069        * WebCore.pro:
34070        * bindings/v8/ScriptProfiler.cpp:
34071
340722010-10-13  Gavin Barraclough  <barraclough@apple.com>
34073
34074        Reviewed by Oliver Hunt.
34075
34076        Bug 47621 - Remove bindings/v8/ScriptString
34077        This is now redundant.
34078
34079        * bindings/v8/ScriptCallFrame.h:
34080        (WebCore::ScriptCallFrame::functionName):
34081        * bindings/v8/ScriptFunctionCall.cpp:
34082        * bindings/v8/ScriptFunctionCall.h:
34083        * bindings/v8/ScriptString.h: Removed.
34084        * bindings/v8/ScriptStringImpl.cpp: Removed.
34085        * bindings/v8/ScriptStringImpl.h: Removed.
34086
340872010-10-13  Anders Carlsson  <andersca@apple.com>
34088
34089        Reviewed by John Sullivan.
34090
34091        Draw the find overlay holes
34092        https://bugs.webkit.org/show_bug.cgi?id=47631
34093
34094        Export symbols needed by WebKit2.
34095
34096        * WebCore.exp.in:
34097
340982010-10-13  James Simonsen  <simonjam@chromium.org>
34099
34100        Reviewed by Darin Adler.
34101
34102        Implement onreadystatechange event handler for Documents
34103        https://bugs.webkit.org/show_bug.cgi?id=26140
34104
34105        Test: fast/dom/Document/readystate.html
34106
34107        * dom/Document.cpp:
34108        (WebCore::Document::setReadyState): Fire readystatechangeevent.
34109        (WebCore::Document::open): Clear event listeners.
34110        * dom/Document.h: Add readystatechange event.
34111        * dom/Document.idl: Ditto.
34112
341132010-10-13  Chris Fleizach  <cfleizach@apple.com>
34114
34115        Reviewed by Beth Dakin.
34116
34117        AX: accessibilityIsIgnored not respected on ARIA tables
34118        https://bugs.webkit.org/show_bug.cgi?id=47564
34119
34120        For platforms that ignore column headers and header container objects (everything
34121        except Mac) on accessibility tables, that choice needs to be respected in 
34122        ARIA tables as well.
34123
34124        GTK is the only open platform doing this, so I'll have to collect the result of this 
34125        test. It was copied from table-hierarchy.html, but changed to use ARIA tables.
34126
34127        Test: platform/gtk/accessibility/aria-table-hierarchy.html
34128
34129        * accessibility/AccessibilityARIAGrid.cpp:
34130        (WebCore::AccessibilityARIAGrid::addChildren):
34131
341322010-10-13  Victoria Kirst  <vrk@google.com>
34133
34134        Reviewed by James Robinson.
34135
34136        No longer ASSERT for LayerRenderer in VideoLayerChromium destructor
34137        https://bugs.webkit.org/show_bug.cgi?id=47432
34138
34139        * platform/graphics/chromium/VideoLayerChromium.cpp:
34140        (WebCore::VideoLayerChromium::cleanupResources):
34141
341422010-10-13  Leandro Pereira  <leandro@profusion.mobi>
34143
34144        [EFL] Unreviewed. Build fix.
34145
34146        * CMakeLists.txt: Add ContextShadow.cpp.
34147        * CMakeListsEfl.txt: Add ContextShadowCairo.cpp.
34148
341492010-10-13  Martin Robinson  <mrobinson@igalia.com>
34150
34151        Reviewed by Holger Freyther.
34152
34153        [GTK] r69681 caused some tests to crash
34154        https://bugs.webkit.org/show_bug.cgi?id=47622
34155
34156        Properly initialize m_layerContext on the ContextShadow so that in situations
34157        where beginShadowLayer bails out early with a null return value, it is set
34158        to null. This may happen when the first call to beginShadowLayer on a particular
34159        ContextShadow uses a region which is entirely outside the clip region or which
34160        is empty.
34161
34162        * platform/graphics/cairo/ContextShadow.cpp:
34163        (WebCore::ContextShadow::ContextShadow): Properly initialize m_layerContext.
34164
341652010-10-13  Anders Carlsson  <andersca@apple.com>
34166
34167        Reviewed by Beth Dakin.
34168
34169        Don't set the fill/stroke colorspace before filling/stroking
34170        https://bugs.webkit.org/show_bug.cgi?id=47619
34171
34172        Setting the colorspace has the side-effect of setting the color to black, which is
34173        not what we want. When fill/stroke is called, a fill/stroke color should already have been set.
34174
34175        Pixel tests show no regressions from this change.
34176
34177        * platform/graphics/cg/GraphicsContextCG.cpp:
34178        (WebCore::GraphicsContext::fillPath):
34179        (WebCore::GraphicsContext::strokePath):
34180        (WebCore::GraphicsContext::fillRect):
34181        (WebCore::GraphicsContext::strokeRect):
34182
341832010-10-13  Brent Fulgham  <bfulgham@webkit.org>
34184
34185        Unreviewed WinCairo build fix.
34186        New ContextShadow class not built for Windows builds.
34187
34188        * WebCore.vcproj/WebCore.vcproj: Add missing files for
34189        building ContextShadow on WinCairo.
34190        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
34191        Add missing include for ContextShadow definition.
34192
341932010-10-13  Gavin Barraclough  <barraclough@apple.com>
34194
34195        Chromium build fix pt1.
34196
34197        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
34198        (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
34199
342002010-10-13  Anders Carlsson  <andersca@apple.com>
34201
34202        Reviewed by Sam Weinig.
34203
34204        Send over find indicator information to the UI process
34205        https://bugs.webkit.org/show_bug.cgi?id=47612
34206
34207        Export symbols needed by WebKit2.
34208
34209        * WebCore.exp.in:
34210
342112010-10-13  Gavin Barraclough  <barraclough@apple.com>
34212
34213        Reviewed by Oliver Hunt.
34214
34215        https://bugs.webkit.org/show_bug.cgi?id=43987
34216        Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
34217        to construct their internal result string.  Remove ScriptString (this is now
34218        redundant).
34219
34220        * WebCore.xcodeproj/project.pbxproj:
34221        * bindings/js/JSDOMBinding.cpp:
34222        (WebCore::jsOwnedStringOrNull):
34223        * bindings/js/JSDOMBinding.h:
34224        * bindings/js/JSXMLHttpRequestCustom.cpp:
34225        (WebCore::JSXMLHttpRequest::responseText):
34226        * bindings/js/ScriptCallFrame.cpp:
34227        (WebCore::ScriptCallFrame::ScriptCallFrame):
34228        * bindings/js/ScriptCallFrame.h:
34229        (WebCore::ScriptCallFrame::functionName):
34230        * bindings/js/ScriptCallStack.h:
34231        * bindings/js/ScriptFunctionCall.cpp:
34232        * bindings/js/ScriptFunctionCall.h:
34233        * bindings/js/ScriptString.h: Removed.
34234        * dom/ScriptExecutionContext.h:
34235        * fileapi/FileReader.cpp:
34236        (WebCore::FileReader::FileReader):
34237        (WebCore::FileReader::abort):
34238        (WebCore::FileReader::didReceiveData):
34239        (WebCore::FileReader::result):
34240        (WebCore::FileReader::convertToText):
34241        (WebCore::FileReader::convertToDataURL):
34242        * fileapi/FileReader.h:
34243        * fileapi/FileReaderSync.cpp:
34244        (WebCore::FileReaderSyncLoader::FileReaderSyncLoader):
34245        (WebCore::FileReaderSyncLoader::didReceiveData):
34246        (WebCore::FileReaderSync::readAsBinaryString):
34247        (WebCore::FileReaderSync::readAsText):
34248        (WebCore::FileReaderSync::readAsDataURL):
34249        (WebCore::FileReaderSync::read):
34250        (WebCore::FileReaderSync::convertToText):
34251        * fileapi/FileReaderSync.h:
34252        (WebCore::FileReaderSync::readAsText):
34253        (WebCore::FileReaderSync::FileReaderSync):
34254        * inspector/InspectorController.cpp:
34255        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
34256        (WebCore::InspectorController::scriptImported):
34257        * inspector/InspectorController.h:
34258        * inspector/InspectorResource.cpp:
34259        (WebCore::InspectorResource::setOverrideContent):
34260        * inspector/InspectorResource.h:
34261        * loader/FrameLoader.cpp:
34262        * loader/FrameLoader.h:
34263        * loader/FrameLoaderClient.h:
34264        * loader/ResourceLoadNotifier.h:
34265        * workers/WorkerScriptLoader.h:
34266        * xml/XMLHttpRequest.cpp:
34267        (WebCore::XMLHttpRequest::XMLHttpRequest):
34268        (WebCore::XMLHttpRequest::responseText):
34269        (WebCore::XMLHttpRequest::responseXML):
34270        (WebCore::XMLHttpRequest::abort):
34271        (WebCore::XMLHttpRequest::clearResponse):
34272        (WebCore::XMLHttpRequest::dropProtection):
34273        (WebCore::XMLHttpRequest::didFinishLoading):
34274        (WebCore::XMLHttpRequest::didReceiveData):
34275        * xml/XMLHttpRequest.h:
34276
342772010-10-13  Gavin Barraclough  <barraclough@apple.com>
34278
34279        Reviewed by Oliver Hunt.
34280
34281        Bug 43987 - Downloading using XHR is much slower than before
34282
34283        * svg/SVGPathStringBuilder.cpp:
34284        (WebCore::SVGPathStringBuilder::result):
34285            StringBuilder::size() -> StringBuilder::length().
34286
342872010-10-13  Yong Li  <yoli@rim.com>
34288
34289        Reviewed by Oliver Hunt.
34290
34291        Fix potential misaligned memory access in CloneDeserializer::readLittleEndian and readString
34292        that can result crash on ARM (<v6).
34293        https://bugs.webkit.org/show_bug.cgi?id=47594
34294
34295        No new test added, because the crash can be produced by existing tests like:
34296        LayoutTests/fast/events/message-channel-gc-4.html
34297
34298        * bindings/js/SerializedScriptValue.cpp:
34299        (WebCore::CloneDeserializer::readLittleEndian):
34300        (WebCore::CloneDeserializer::readString):
34301
343022010-10-06  Martin Robinson  <mrobinson@igalia.com>
34303
34304        Reviewed by Dirk Schulze.
34305
34306        [Cairo] Activate ContextShadow in all places where shadows are drawn
34307        https://bugs.webkit.org/show_bug.cgi?id=46475
34308
34309        Turn on ContextShadow for the Cairo port and remove all old shadow code.
34310        Shadow tiling optimizations will be added in a followup patch to ContextShadowCairo.
34311
34312        * platform/graphics/GraphicsContext.h: Add a ContextShadow forward declaration for Cairo.
34313        * platform/graphics/cairo/FontCairo.cpp: Switch to using ContextShadow.
34314        (WebCore::prepareContextForGlyphDrawing): Added this helper which sets up the translation
34315        on the specified cairo_t to prepare for drawing glyphs.
34316        (WebCore::drawGlyphsToContext): Added this helper which draws the glyphs to a cairo_t,
34317        while properly handling glyphs with synthetic bold.
34318        (WebCore::Font::drawGlyphs): Removed old shadow code and replaced it with ContextShadow usage.
34319        * platform/graphics/cairo/GraphicsContextCairo.cpp:
34320        (WebCore::drawPathShadow): Modified this to use ContextShadow and to take an enum
34321        argument specifying whether to fill or stroke the solid figure for the shadow.
34322        (WebCore::fillCurrentCairoPath): Updated drawPathShadow call.
34323        (WebCore::strokeCurrentCairoPath): Ditto.
34324        (WebCore::GraphicsContext::savePlatformState): Save the ContextShadow.
34325        (WebCore::GraphicsContext::restorePlatformState): Restore the ContextShadow.
34326        (WebCore::GraphicsContext::drawPath): Updated drawPathShadow call.
34327        (WebCore::GraphicsContext::fillRect): Uses ContextShadow now.
34328        (WebCore::GraphicsContext::setPlatformShadow): Uses ContextShadow now.
34329        (WebCore::GraphicsContext::contextShadow): Added.
34330        (WebCore::GraphicsContext::clearPlatformShadow): Clears the ContextShadow member.
34331        (WebCore::GraphicsContext::fillRoundedRect): Updated drawPathShadow call.
34332        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
34333        (WebCore::GraphicsContextPlatformPrivate::hasShadow): Added.
34334        * platform/graphics/cairo/ImageCairo.cpp:
34335        (WebCore::BitmapImage::draw): Updated to use ContextShadow.
34336
343372010-10-13  John Knottenbelt  <jknotten@chromium.org>
34338
34339        Reviewed by Steve Block.
34340
34341        First step towards client-based Geolocation in Chromium. Build
34342        fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
34343        https://bugs.webkit.org/show_bug.cgi?id=47586
34344
34345        * WebCore.gyp/WebCore.gyp:
34346        * platform/chromium/ChromiumBridge.h:
34347        * platform/chromium/GeolocationServiceChromium.cpp:
34348
343492010-10-13  Steve Block  <steveblock@google.com>
34350
34351        Unreviewed fix
34352
34353        Need to check for the existence of DeviceOrientation and DeviceMotion controllers
34354
34355        These features can be disabled at run time, so an enable guard is not sufficient.
34356        This bug was introduced in http://trac.webkit.org/changeset/69646
34357
34358        Tested with existing tests.
34359
34360        * history/PageCache.cpp:
34361        (WebCore::logCanCachePageDecision):
34362        (WebCore::PageCache::canCache):
34363
343642010-10-13  Yury Semikhatsky  <yurys@chromium.org>
34365
34366        Reviewed by Pavel Feldman.
34367
34368        Web Inspector: stack information is inconsistent between console.trace and runtime errors.
34369        https://bugs.webkit.org/show_bug.cgi?id=47252
34370
34371        * console.trace() is now formatted the same way as other stack traces
34372
34373        * If there is //@ sourceURL=url line at the end of eval'ed script source
34374        the url will be shown in the stack traces for script. That is why ScriptCallFrame::sourceURL
34375        type has changed from KURL to String.
34376
34377        Tests: inspector/console-trace-in-eval.html
34378               inspector/console-uncaught-exception-in-eval.html
34379
34380        * bindings/js/ScriptCallFrame.cpp:
34381        (WebCore::ScriptCallFrame::ScriptCallFrame):
34382        * bindings/js/ScriptCallFrame.h:
34383        (WebCore::ScriptCallFrame::sourceURL):
34384        * bindings/v8/ScriptCallFrame.cpp:
34385        (WebCore::ScriptCallFrame::ScriptCallFrame):
34386        * bindings/v8/ScriptCallFrame.h:
34387        (WebCore::ScriptCallFrame::sourceURL):
34388        * bindings/v8/ScriptCallStack.cpp:
34389        (WebCore::getFrameLocation):
34390        (WebCore::ScriptCallStack::create):
34391        * bindings/v8/ScriptCallStack.h:
34392        * bindings/v8/ScriptController.cpp:
34393        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
34394        * bindings/v8/custom/V8ConsoleCustom.cpp:
34395        (WebCore::V8Console::traceCallback):
34396        * inspector/ConsoleMessage.cpp:
34397        (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
34398        (WebCore::ConsoleMessage::ConsoleMessage):
34399        * inspector/ConsoleMessage.h:
34400        * inspector/front-end/ConsoleView.js:
34401        (WebInspector.ConsoleMessage.prototype._formatMessage):
34402        * page/Console.cpp:
34403        (WebCore::Console::addMessage):
34404        (WebCore::Console::count):
34405        (WebCore::Console::timeEnd):
34406
344072010-10-13  Kent Tamura  <tkent@chromium.org>
34408
34409        Unreviewed, a trivial change.
34410
34411        Run sort-Xcode-project-file.
34412
34413        * WebCore.xcodeproj/project.pbxproj:
34414
344152010-10-13  Yael Aharon  <yael.aharon@nokia.com>
34416
34417        Reviewed by Andreas Kling.
34418
34419        Wrong ASSERT when select element has size 0
34420        https://bugs.webkit.org/show_bug.cgi?id=47567
34421
34422        Keep the ASSERT only if the size of the element list is more than 0
34423        Test: fast/dom/HTMLSelectElement/click-size-zero-no-crash.html
34424
34425        * dom/SelectElement.cpp:
34426        (WebCore::SelectElement::updateListBoxSelection):
34427        (WebCore::SelectElement::listBoxDefaultEventHandler):
34428
344292010-10-13  Steve Block  <steveblock@google.com>
34430
34431        Reviewed by Alexey Proskuryakov.
34432
34433        Pages using DeviceOrientation and DeviceMotion should not go into the page cache
34434        https://bugs.webkit.org/show_bug.cgi?id=47408
34435
34436        Tests: fast/dom/DeviceMotion/no-page-cache.html
34437               fast/dom/DeviceOrientation/no-page-cache.html
34438
34439        * dom/DeviceMotionController.h:
34440        (WebCore::DeviceMotionController::isActive):
34441        * dom/DeviceOrientationController.h:
34442        (WebCore::DeviceOrientationController::isActive):
34443        * history/PageCache.cpp:
34444        (WebCore::logCanCachePageDecision):
34445        (WebCore::PageCache::canCache):
34446        * page/Page.cpp:
34447
344482010-10-13  Jenn Braithwaite  <jennb@chromium.org>
34449
34450        Reviewed by Dmitry Titov.
34451
34452        Make resource identifiers unique across pages
34453        https://bugs.webkit.org/show_bug.cgi?id=47002
34454
34455        Test: http/tests/misc/iframe-reparenting-id-collision.html
34456
34457        * loader/ProgressTracker.cpp:
34458        (WebCore::ProgressTracker::ProgressTracker):
34459        (WebCore::ProgressTracker::createUniqueIdentifier):
34460        * loader/ProgressTracker.h:
34461
344622010-10-12  Roland Steiner  <rolandsteiner@chromium.org>
34463
34464        Reviewed by David Hyatt.
34465
34466        Bug 41040 - :before/:after content should not become part of a ruby base
34467        https://bugs.webkit.org/show_bug.cgi?id=41040
34468
34469        Also related to:
34470        https://bugs.webkit.org/show_bug.cgi?id=40895.
34471        https://bugs.webkit.org/show_bug.cgi?id=43722.
34472
34473        Explicitly handle :before and :after content in the default way.
34474
34475        Test: fast/ruby/ruby-beforeafter.html
34476              fast/ruby/after-doesnt-crash.html
34477
34478        * rendering/RenderObject.h:
34479        (WebCore::RenderObject::isBeforeContent):
34480        * rendering/RenderRuby.cpp:
34481        (WebCore::lastRubyRun):
34482        (WebCore::RenderRubyAsInline::addChild):
34483        (WebCore::RenderRubyAsInline::removeChild):
34484        (WebCore::RenderRubyAsBlock::addChild):
34485        (WebCore::RenderRubyAsBlock::removeChild):
34486
344872010-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
34488
34489        Unreviewed, rolling out r69639.
34490        http://trac.webkit.org/changeset/69639
34491        https://bugs.webkit.org/show_bug.cgi?id=47575
34492
34493        "regressed nav-element.html" (Requested by rniwa on #webkit).
34494
34495        * editing/ApplyBlockElementCommand.cpp:
34496        (WebCore::ApplyBlockElementCommand::formatSelection):
34497        * editing/EditorCommand.cpp:
34498        (WebCore::executeFormatBlock):
34499        * editing/FormatBlockCommand.cpp:
34500        (WebCore::FormatBlockCommand::formatRange):
34501        * editing/FormatBlockCommand.h:
34502        (WebCore::FormatBlockCommand::editingAction):
34503        * editing/VisiblePosition.cpp:
34504        (WebCore::enclosingBlockFlowElement):
34505        * editing/VisiblePosition.h:
34506        * editing/htmlediting.cpp:
34507        (WebCore::validBlockTag):
34508        * editing/htmlediting.h:
34509
345102010-10-12  Ryosuke Niwa  <rniwa@webkit.org>
34511
34512        Reviewed by Tony Chang.
34513
34514        execCommand FormatBlock creates lots of blockquotes
34515        https://bugs.webkit.org/show_bug.cgi?id=19795
34516
34517        The bug was caused by WebKit's not reusing the block node added by previous iteration
34518        and its inserting block node at wrong places.
34519
34520        Fixed the bug by rewriting FormatBlockCommand::formatRange.  New code resembles that of
34521        IndentOutdentCommand::indentIntoBlockquote.  The difference between two is that formatRange
34522        avoids the existing block elements when replacing blocks and it also adds a placeholder
34523        when removing the existing block caused paragraphs to collapse.
34524
34525        Tests: editing/execCommand/format-block-multiple-paragraphs.html
34526               editing/execCommand/format-block-table.html
34527
34528        * editing/EditorCommand.cpp:
34529        (WebCore::executeFormatBlock):
34530        * editing/FormatBlockCommand.cpp:
34531        (WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
34532        (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
34533        and moved from htmlediting.cpp.
34534        (WebCore::FormatBlockCommand::enclosingBlockToSplitTreeTo): Added.
34535        * editing/FormatBlockCommand.h:
34536        * editing/VisiblePosition.cpp:
34537        (WebCore::enclosingBlockFlowElement): Changed the return type to Element*
34538        * editing/VisiblePosition.h:
34539
345402010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>
34541
34542        Reviewed by Anders Carlsson.
34543
34544        Make PluginView inherit from PluginViewBase.
34545
34546        This change is a precursor to adding accelerated compositing support
34547        for NPAPI plugins.
34548
34549        https://bugs.webkit.org/show_bug.cgi?id=47418
34550
34551        * page/Page.cpp:
34552        (WebCore::Page::privateBrowsingStateChanged):
34553        * plugins/PluginView.h:
34554        * plugins/PluginViewBase.h:
34555        (WebCore::PluginViewBase::PluginViewBase):
34556
345572010-10-12  Kinuko Yasuda  <kinuko@chromium.org>
34558
34559        Reviewed by Jian Li.
34560
34561        Pass platform path (rather than virtual path) when creating File from FileEntry
34562        https://bugs.webkit.org/show_bug.cgi?id=47563
34563
34564        No new tests, the new test for FileWriter will be verifying this.
34565
34566        * fileapi/FileEntry.cpp:
34567        (WebCore::FileEntry::file):
34568
345692010-10-12 David Hyatt  <hyatt@apple.com>
34570
34571        Reviewed by Dan Bernstein
34572
34573        <rdar://problem/8488444> REGRESSION (r67771)
34574        https://bugs.webkit.org/show_bug.cgi?id=47434
34575        Crash when printing in RenderBlock::markDescendantBlocksAndLinesForLayout
34576        
34577        Added printing/simultaneous-position-float-change.html
34578
34579        Remove the markDescendantBlocksAndLinesForLayout method since it can walk m_floatingObjects lists with deleted
34580        objects in them.  Make the mechanism for relayout when the page height changes the same as the one when pageY
34581        changes and just tie a concept of pageHeightChanged to the layout state.  If that is set, blocks will just
34582        automatically mark themselves as needing layout.
34583
34584        * rendering/LayoutState.cpp:
34585        (WebCore::LayoutState::LayoutState):
34586        * rendering/LayoutState.h:
34587        (WebCore::LayoutState::LayoutState):
34588        (WebCore::LayoutState::pageHeight):
34589        (WebCore::LayoutState::pageHeightChanged):
34590        * rendering/RenderBlock.cpp:
34591        (WebCore::RenderBlock::layoutBlock):
34592        (WebCore::RenderBlock::layoutBlockChild):
34593        (WebCore::RenderBlock::layoutPositionedObjects):
34594        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
34595        (WebCore::RenderBlock::insertFloatingObject):
34596        (WebCore::RenderBlock::positionNewFloats):
34597        * rendering/RenderBlock.h:
34598        * rendering/RenderBox.cpp:
34599        * rendering/RenderBox.h:
34600        (WebCore::RenderBox::markForPaginationRelayoutIfNeeded):
34601        * rendering/RenderFlexibleBox.cpp:
34602        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
34603        (WebCore::RenderFlexibleBox::layoutVerticalBox):
34604        * rendering/RenderView.cpp:
34605        (WebCore::RenderView::RenderView):
34606        (WebCore::RenderView::layout):
34607        * rendering/RenderView.h:
34608        (WebCore::RenderView::setPageHeight):
34609        (WebCore::RenderView::pushLayoutState):
34610        (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
34611        (WebCore::LayoutStateMaintainer::push):
34612
346132010-10-12  Anders Carlsson  <andersca@apple.com>
34614
34615        Reviewed by Dan Bernstein.
34616
34617        Paint the find overlay background
34618        https://bugs.webkit.org/show_bug.cgi?id=47565
34619
34620        Export symbols required by WebKit2.
34621
34622        * WebCore.exp.in:
34623
346242010-10-12  James Robinson  <jamesr@chromium.org>
34625
34626        Unreviewed chromium compile fixes for http://trac.webkit.org/changeset/69619
34627
34628        * platform/graphics/chromium/LayerRendererChromium.cpp:
34629        (WebCore::LayerRendererChromium::create):
34630        (WebCore::LayerRendererChromium::LayerRendererChromium):
34631        * platform/graphics/chromium/LayerRendererChromium.h:
34632
346332010-10-12  Chris Marrin  <cmarrin@apple.com>
34634
34635        Reviewed by Darin Adler.
34636
34637        Manage DrawingBuffer lifetime in GraphicsContext3D
34638        https://bugs.webkit.org/show_bug.cgi?id=47501
34639
34640        GraphicsContext3D and DrawingBuffer are now Refcounted. DrawingBuffer
34641        has a RefPtr to GraphicsContext3D to ensure the proper lifetime. 
34642        DrawingBuffer is now created by GraphicsContext3D. Also DrawingBuffer
34643        refers to GraphicsContext3D rather than SharedGraphicsContext3D.
34644
34645        * html/canvas/CanvasRenderingContext2D.cpp:
34646        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
34647        * html/canvas/CanvasRenderingContext2D.h:
34648        * html/canvas/WebGLRenderingContext.cpp:
34649        (WebCore::WebGLRenderingContext::create):
34650        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
34651        * html/canvas/WebGLRenderingContext.h:
34652        * platform/graphics/GraphicsContext3D.cpp:
34653        (WebCore::GraphicsContext3D::createDrawingBuffer):
34654        * platform/graphics/GraphicsContext3D.h:
34655        * platform/graphics/chromium/DrawingBufferChromium.cpp:
34656        (WebCore::generateColorTexture):
34657        (WebCore::DrawingBuffer::DrawingBuffer):
34658        (WebCore::DrawingBuffer::~DrawingBuffer):
34659        (WebCore::DrawingBuffer::publishToPlatformLayer):
34660        (WebCore::DrawingBuffer::reset):
34661        * platform/graphics/gpu/DrawingBuffer.cpp:
34662        (WebCore::DrawingBuffer::create):
34663        (WebCore::DrawingBuffer::clear):
34664        (WebCore::DrawingBuffer::bind):
34665        * platform/graphics/gpu/DrawingBuffer.h:
34666        (WebCore::DrawingBuffer::graphicsContext3D):
34667        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
34668        (WebCore::SharedGraphicsContext3D::create):
34669        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
34670        * platform/graphics/gpu/SharedGraphicsContext3D.h:
34671        (WebCore::SharedGraphicsContext3D::graphicsContext3D):
34672        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
34673        (WebCore::DrawingBuffer::DrawingBuffer):
34674        (WebCore::DrawingBuffer::~DrawingBuffer):
34675        (WebCore::DrawingBuffer::reset):
34676        * platform/graphics/mac/GraphicsContext3DMac.mm:
34677        (WebCore::GraphicsContext3D::create):
34678
346792010-10-12  Jian Li  <jianli@chromium.org>
34680
34681        Reviewed by David Levin.
34682
34683        Fix passing blob data with string data item between threads.
34684        https://bugs.webkit.org/show_bug.cgi?id=46543
34685
34686        The fix is to use a thread-safe ref-counted Vector<char> to store the
34687        string data. This also makes us be able to store any binary data in it.
34688
34689        I've also fix BlobBuilder and BlobRegistryImpl to avoid some additional
34690        copies to make blob handling faster.
34691
34692        * fileapi/BlobBuilder.cpp:
34693        (WebCore::BlobBuilder::append):
34694        * fileapi/ThreadableBlobRegistry.cpp:
34695        (WebCore::BlobRegistryContext::BlobRegistryContext):
34696        * platform/network/BlobData.cpp:
34697        (WebCore::BlobDataItem::RawData::RawData):
34698        (WebCore::BlobDataItem::RawData::detachFromCurrentThread):
34699        (WebCore::BlobDataItem::detachFromCurrentThread):
34700        (WebCore::BlobData::create):
34701        (WebCore::BlobData::detachFromCurrentThread):
34702        (WebCore::BlobData::appendData):
34703        * platform/network/BlobData.h:
34704        (WebCore::BlobDataItem::RawData::create):
34705        (WebCore::BlobDataItem::RawData::data):
34706        (WebCore::BlobDataItem::RawData::length):
34707        (WebCore::BlobDataItem::RawData::mutableData):
34708        (WebCore::BlobDataItem::BlobDataItem):
34709        * platform/network/BlobRegistryImpl.cpp:
34710        (WebCore::BlobRegistryImpl::registerBlobURL):
34711        * platform/network/BlobResourceHandle.cpp:
34712        (WebCore::BlobResourceHandle::readDataSync):
34713        (WebCore::BlobResourceHandle::readDataAsync):
34714        * platform/network/mac/FormDataStreamMac.mm:
34715        (WebCore::setHTTPBody):
34716        * platform/text/LineEnding.cpp:
34717        (OutputBuffer::CStringBuffer::CStringBuffer):
34718        (OutputBuffer::CStringBuffer::~CStringBuffer):
34719        (OutputBuffer::CStringBuffer::allocate):
34720        (OutputBuffer::CStringBuffer::copy):
34721        (OutputBuffer::CStringBuffer::buffer):
34722        (OutputBuffer::VectorCharAppendBuffer::VectorCharAppendBuffer):
34723        (OutputBuffer::VectorCharAppendBuffer::~VectorCharAppendBuffer):
34724        (OutputBuffer::VectorCharAppendBuffer::allocate):
34725        (OutputBuffer::VectorCharAppendBuffer::copy):
34726        (OutputBuffer::internalNormalizeLineEndingsToCRLF):
34727        (WebCore::normalizeToCROrLF):
34728        (WebCore::normalizeLineEndingsToCRLF):
34729        (WebCore::normalizeLineEndingsToCR):
34730        (WebCore::normalizeLineEndingsToLF):
34731        (WebCore::normalizeLineEndingsToNative):
34732        * platform/text/LineEnding.h:
34733
347342010-10-12  Sheriff Bot  <webkit.review.bot@gmail.com>
34735
34736        Unreviewed, rolling out r69589.
34737        http://trac.webkit.org/changeset/69589
34738        https://bugs.webkit.org/show_bug.cgi?id=47547
34739
34740        Wrong patch landed from a bug with two patches (Requested by
34741        mrobinson on #webkit).
34742
34743        * platform/network/ResourceHandleInternal.h:
34744        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
34745        * platform/network/soup/ResourceHandleSoup.cpp:
34746        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
34747        (WebCore::ResourceHandle::~ResourceHandle):
34748        (WebCore::restartedCallback):
34749        (WebCore::gotChunkCallback):
34750        (WebCore::finishedCallback):
34751        (WebCore::parseDataUrl):
34752        (WebCore::startHttp):
34753        * platform/network/soup/ResourceRequest.h:
34754        * platform/network/soup/ResourceRequestSoup.cpp:
34755
347562010-10-12  Simon Fraser  <simon.fraser@apple.com>
34757
34758        Screen.availLeft should be signed
34759        https://bugs.webkit.org/show_bug.cgi?id=34397
34760        
34761        Add the manual test missed in r69599.
34762
34763        * manual-tests/screen-availLeft.html: Added.
34764
347652010-10-12  Girish Ramakrishnan  <girish@forwardbias.in>
34766
34767        Reviewed by Ariya Hidayat.
34768
34769        [Qt] Windowless mode 64-bit Flash/X11 freezes when right-click is sent.
34770
34771        Adds a new quirk PluginQuirkIgnoreRightClickInWindowlessMode. This
34772        quirk is enabled only for 64-bit Flash/X11 and should not affect other
34773        plugins. The freeze itself is in Flash code and the backtrace is not
34774        useful.
34775
34776        https://bugs.webkit.org/show_bug.cgi?id=47545
34777
34778        * plugins/PluginPackage.cpp:
34779        (WebCore::PluginPackage::determineQuirks):
34780        * plugins/PluginQuirkSet.h:
34781        * plugins/qt/PluginViewQt.cpp:
34782        (WebCore::PluginView::handleMouseEvent):
34783
347842010-10-08  Simon Fraser  <simon.fraser@apple.com>
34785
34786        Reviewed by Alexey Proskuryakov.
34787
34788        Screen.availLeft should be signed
34789        https://bugs.webkit.org/show_bug.cgi?id=34397
34790
34791        For the screen to the left of the main screen, screen.availLeft
34792        can be negative, so the Screen API needs to use signed numbers
34793        for availLeft and availTop.
34794
34795        * manual-tests/screen-availLeft.html: Added.
34796        * page/Screen.cpp:
34797        (WebCore::Screen::availLeft):
34798        (WebCore::Screen::availTop):
34799        * page/Screen.h:
34800        * page/Screen.idl:
34801
348022010-10-12  Anders Carlsson  <andersca@apple.com>
34803
34804        Reviewed by Sam Weinig.
34805
34806        Add FindController class
34807        https://bugs.webkit.org/show_bug.cgi?id=47555
34808
34809        Export Page::findString.
34810
34811        * WebCore.exp.in:
34812
348132010-10-12  Alexey Proskuryakov  <ap@apple.com>
34814
34815        Reviewed by Simon Fraser.
34816
34817        https://bugs.webkit.org/show_bug.cgi?id=47550
34818        <rdar://problem/8353386> For WebKit plug-ins, beforeload can be called recursively
34819        (esp. with AdBlock style extensions)
34820
34821        No test - we don't have a WebKit-style plugin in DRT, and don't care enough to add one.
34822
34823        The fix is to block plug-in scripting while in beforeload event - the plug-in is obviously
34824        not available yet, so scripting could only attempt to load it recursively.
34825
34826        This didn't affect NPAPI plug-ins, because of a completely different code path taken in
34827        updateWidget(), see <https://bugs.webkit.org/show_bug.cgi?id=44575#c8>.
34828
34829        * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::updateWidget):
34830        * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::updateWidget):
34831        * html/HTMLPlugInElement.cpp:
34832        (WebCore::HTMLPlugInElement::HTMLPlugInElement):
34833        (WebCore::HTMLPlugInElement::pluginWidget):
34834        * html/HTMLPlugInElement.h:
34835
348362010-10-12  Nikolas Zimmermann  <nzimmermann@rim.com>
34837
34838        Reviewed by Gavin Barraclough.
34839
34840        Unify JSC::StringBuilder & WebCore::StringBuilder
34841        https://bugs.webkit.org/show_bug.cgi?id=47538
34842
34843        JSC::StringBuilder operates on a Vector<UChar, 64> and allows to build a string based on a stream of characters in an efficient manner.
34844        WebCore::StringBuilder operates on a Vector<String, 16> and allows to concat an arbitary number of Strings. It's not efficient in handling single
34845        characters, as a String with length=1 has to be constructed for those. An analysis of the callers of WebCore::StringBuilder shows that
34846        most callsites actually combine Strings and single characters, so using a Vector<UChar> would be more efficient. Those who only combine large
34847        strings are only used for debugging purposes, so it's fine to switch them to a Vector<UChar> approach as well.
34848
34849        Replace WebCore::StringBuilder with JSC::StringBuilder, and move it to wtf/text/StringBuilder.h into the WTF namespace.
34850        While I was at it remove platform/text/StringBuffer.h, as it was only including wtf/text/StringBuffer.h.
34851
34852        No change in functionality, thus no new tests.
34853
34854        * Android.mk: Remove platform/text/StringBuilder.* and platform/text/StringBuffer.h.
34855        * CMakeLists.txt: Ditto.
34856        * GNUmakefile.am: Ditto. 
34857        * WebCore.gypi: Ditto.
34858        * WebCore.order: Ditto.
34859        * WebCore.pro: Ditto.
34860        * WebCore.vcproj/WebCore.vcproj: Ditto.
34861        * WebCore.xcodeproj/project.pbxproj: Ditto.
34862        * ForwardingHeaders/runtime/StringBuilder.h: Removed.
34863        * ForwardingHeaders/runtime/UStringBuilder.h: Added.
34864        * ForwardingHeaders/wtf/text/StringBuilder.h: Added.
34865        * bindings/js/ScriptString.h: Don't include PlatformString.h but wtf/text/WTFString.h.
34866        (WebCore::ScriptString::operator+=): Use JSC::UStringBuilder instead of JSC::StringBuilder.
34867        * bridge/jni/JNIBridge.cpp: Use WTF::StringBuilder (+ use append(const UChar) for single characters).
34868        * css/MediaQuery.cpp: Ditto.
34869        * css/MediaQueryExp.cpp: Ditto.
34870        * dom/Node.cpp: Ditto.
34871        (WebCore::Node::appendTextContent): Manually track wheter the StringBuilder content is empty or null, the new StringBuilder doesn't differentiate between null & empty strings.
34872        * dom/Node.h: Remove appendTextContent definition, it's not needed to be exported, removes the need for a StringBuilder.h include or forward declaration.
34873        * html/DOMTokenList.cpp: Use WTF::StringBuilder.
34874        * inspector/InspectorResource.cpp: Remove useless StringBuffer.h include.
34875        * platform/android/FileSystemAndroid.cpp: Use WTF::StringBuilder.
34876        * platform/brew/FileSystemBrew.cpp: Ditto.
34877        * platform/chromium/ClipboardChromium.cpp: Ditto (+ use append(const UChar) for single characters).
34878        * platform/graphics/gpu/PODInterval.h: Ditto (Only used as debugging helper here, in debug builds).
34879        * platform/graphics/gpu/PODRedBlackTree.h: Ditto (Only used as debugging helper here, in debug builds).
34880        * platform/graphics/mac/GraphicsLayerCA.mm: Remove useless StringBuilder.h include.
34881        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Use WTF::StringBuilder, and use append(const UChar) for single characters.
34882        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Ditto.
34883        * platform/network/ProxyServer.cpp:
34884        (WebCore::appendProxyServerString): Use WTF::StringBuilder.
34885        * platform/text/StringBuffer.h: Removed.
34886        * platform/text/StringBuilder.cpp: Removed.
34887        * platform/text/StringBuilder.h: Removed.
34888        * plugins/DOMMimeType.cpp: Use WTF::StringBuilder.
34889        * svg/SVGPathParserFactory.cpp: Ditto.
34890        * svg/SVGPathStringBuilder.cpp: SVGPathStringBuilder used stringBuilder.toString(ConcatAddingSpacesBetweenIndividualStrings), adapt to the change, that this mode is gone now.
34891        (WebCore::SVGPathStringBuilder::result): Just use toString(), append a space to the end of each command, when building the string. Remove the last trailing space before building the result.
34892        (WebCore::SVGPathStringBuilder::moveTo):
34893        (WebCore::SVGPathStringBuilder::lineTo):
34894        (WebCore::SVGPathStringBuilder::lineToHorizontal):
34895        (WebCore::SVGPathStringBuilder::lineToVertical):
34896        (WebCore::SVGPathStringBuilder::curveToCubic):
34897        (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
34898        (WebCore::SVGPathStringBuilder::curveToQuadratic):
34899        (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
34900        (WebCore::SVGPathStringBuilder::arcTo):
34901        (WebCore::SVGPathStringBuilder::closePath):
34902        * svg/SVGPathStringBuilder.h:
34903        (WebCore::SVGPathStringBuilder::cleanup): StringBuilder::clear() is gone, just cleanup by assigning StringBuilder().
34904        * websockets/WebSocket.cpp: Use WTF::StringBuilder.
34905        * websockets/WebSocketHandshake.cpp: Ditto (+ use append(const UChar) for single characters).
34906
349072010-10-12  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
34908
34909        Reviewed by Antonio Gomes.
34910
34911        [EFL] Add a missing file in CMakeListEfl.txt
34912        https://bugs.webkit.org/show_bug.cgi?id=47480
34913
34914        IntRectEfl.cpp was missing in CMakeListEfl.txt. So, IntRectEfl.cpp is added.
34915
34916        * CMakeListsEfl.txt:
34917
349182010-10-12  Sam Weinig  <sam@webkit.org>
34919
34920        Reviewed by Anders Carlsson.
34921
34922        Need WebKit2 API to get the cell above a table cell
34923        <rdar://problem/8537111>
34924        https://bugs.webkit.org/show_bug.cgi?id=47532
34925
34926        Re-factor functionality to get the cell above a table cell
34927        into a function on HTMLTableCellElement and export it for use
34928        as SPI.
34929
34930        * WebCore.exp.in:
34931        * WebCore.xcodeproj/project.pbxproj:
34932        * html/HTMLTableCellElement.cpp:
34933        (WebCore::HTMLTableCellElement::cellAbove): Move implementation here...
34934        * html/HTMLTableCellElement.h:
34935        * page/Frame.cpp:
34936        (WebCore::Frame::searchForLabelsAboveCell): ...from here.
34937
349382010-10-12  Dave Moore  <davemoore@chromium.org>
34939
34940        Reviewed by Tony Chang.
34941
34942        Use new WebThemeEngine api on chromium / linux to draw scrollbars.
34943        https://bugs.webkit.org/show_bug.cgi?id=47473
34944
34945        * platform/chromium/ChromiumBridge.h:
34946        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
34947
349482010-10-12  Andreas Kling  <kling@webkit.org>
34949
34950        Reviewed by Antonio Gomes.
34951
34952        [Qt] Clipping problem viewing SVG with WebKit
34953        https://bugs.webkit.org/show_bug.cgi?id=29596
34954
34955        SVG path clipping (via GraphicsContext::clipPath()) was done using the
34956        Qt::ReplaceClip mode (default) instead of Qt::IntersectClip. This led
34957        to misrenderings when nesting multiple clip paths.
34958
34959        * platform/graphics/qt/GraphicsContextQt.cpp:
34960        (WebCore::GraphicsContext::clipPath):
34961
349622010-10-07  Pavel Podivilov  <podivilov@chromium.org>
34963
34964        Reviewed by Pavel Feldman.
34965
34966        Web Inspector: refactoring of native breakpoints.
34967        https://bugs.webkit.org/show_bug.cgi?id=47360
34968
34969        Make DOM, EventListener and XHR breakpoints subclasses of NativeBreakpoint class.
34970        Move stuff that depends on breakpoint type to corresponding subclass.
34971
34972        * inspector/Inspector.idl:
34973        * inspector/InspectorController.cpp:
34974        (WebCore::InspectorController::didCommitLoad):
34975        (WebCore::InspectorController::setNativeBreakpoint):
34976        (WebCore::InspectorController::removeNativeBreakpoint):
34977        (WebCore::InspectorController::findEventListenerBreakpoint):
34978        (WebCore::InspectorController::findXHRBreakpoint):
34979        * inspector/InspectorController.h:
34980        * inspector/InspectorDOMAgent.cpp:
34981        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
34982        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
34983        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
34984        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
34985        (WebCore::InspectorDOMAgent::removeBreakpointsForNode):
34986        (WebCore::InspectorDOMAgent::createBreakpointId):
34987        * inspector/InspectorDOMAgent.h:
34988        * inspector/InspectorDebuggerAgent.h:
34989        * inspector/InspectorInstrumentation.cpp:
34990        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
34991        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
34992        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
34993        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
34994        (WebCore::InspectorInstrumentation::willDispatchEventImpl):
34995        * inspector/front-end/BreakpointManager.js:
34996        (WebInspector.BreakpointManager):
34997        (WebInspector.BreakpointManager.prototype.reset):
34998        (WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
34999        (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
35000        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
35001        (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
35002        (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
35003        (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
35004        (WebInspector.BreakpointManager.prototype.debuggerPaused):
35005        (WebInspector.BreakpointManager.prototype.debuggerResumed):
35006        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints.restoreBreakpointsForNode):
35007        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
35008        (WebInspector.NativeBreakpoint):
35009        (WebInspector.NativeBreakpoint.prototype.remove):
35010        (WebInspector.NativeBreakpoint.prototype.get _frontendId):
35011        (WebInspector.NativeBreakpoint.prototype.get _type):
35012        (WebInspector.NativeBreakpoint.prototype._compare):
35013        (WebInspector.NativeBreakpoint.prototype._onRemove):
35014        (WebInspector.DOMBreakpoint):
35015        (WebInspector.DOMBreakpoint.prototype.click):
35016        (WebInspector.DOMBreakpoint.prototype.compareTo):
35017        (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
35018        (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.formatters.s):
35019        (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.append):
35020        (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement):
35021        (WebInspector.DOMBreakpoint.prototype._condition):
35022        (WebInspector.DOMBreakpoint.prototype._onRemove):
35023        (WebInspector.EventListenerBreakpoint):
35024        (WebInspector.EventListenerBreakpoint.prototype.compareTo):
35025        (WebInspector.EventListenerBreakpoint.prototype.label):
35026        (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
35027        (WebInspector.EventListenerBreakpoint.prototype._condition):
35028        (WebInspector.XHRBreakpoint):
35029        (WebInspector.XHRBreakpoint.prototype.compareTo):
35030        (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
35031        (WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
35032        (WebInspector.XHRBreakpoint.prototype._condition):
35033        (WebInspector.domBreakpointTypeLabel):
35034        (WebInspector.domBreakpointTypeContextMenuLabel):
35035        * inspector/front-end/BreakpointsSidebarPane.js:
35036        (WebInspector.BreakpointItem):
35037        (WebInspector.BreakpointItem.prototype._breakpointClicked):
35038        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
35039        * inspector/front-end/CallStackSidebarPane.js:
35040        (WebInspector.CallStackSidebarPane):
35041        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
35042        (WebInspector.CallStackSidebarPane.prototype._breakpointHit):
35043        * inspector/front-end/DOMAgent.js:
35044        (WebInspector.DOMNode):
35045        (WebInspector.DOMAgent.prototype._setDocument):
35046        (WebInspector.DOMAgent.prototype._removeBreakpoints):
35047        (WebInspector.childNodeRemoved):
35048        * inspector/front-end/ElementsTreeOutline.js:
35049        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
35050        * inspector/front-end/ScriptsPanel.js:
35051        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
35052        * inspector/front-end/inspector.js:
35053        (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
35054        (WebInspector.createDOMBreakpointsSidebarPane):
35055        (WebInspector.reset):
35056
350572010-10-11  Eric Uhrhane  <ericu@chromium.org>
35058
35059        Reviewed by Dumitru Daniliuc.
35060
35061        FileWriter should hold a reference to a Blob during write
35062        https://bugs.webkit.org/show_bug.cgi?id=47318
35063
35064        Without this reference, the Blob might get garbage-collected from JS
35065        before the write has completed, which would be quite unintuitive to the
35066        user.  I just grab a RefPtr to the Blob at write(), then clear it when
35067        we're done.
35068
35069        * fileapi/FileWriter.cpp:
35070        (WebCore::FileWriter::stop):
35071        (WebCore::FileWriter::write):
35072        (WebCore::FileWriter::didWrite):
35073        (WebCore::FileWriter::didFail):
35074        * fileapi/FileWriter.h:
35075
350762010-10-11  Michael Saboff  <msaboff@apple.com>
35077
35078        Reviewed by Darin Adler.
35079
35080        Changed DOMWindow to have a constructor.  Updated the code generator
35081        to add security checks to the constructors if CheckDomainSecurity is 
35082        set.  Also changed the constructor generation code to use 
35083        globalObject->prototype() for DOMWindow object prototypes instead
35084        of "self".
35085        https://bugs.webkit.org/show_bug.cgi?id=47422
35086
35087        Test: fast/dom/Window/window-constructor.html
35088
35089        * bindings/scripts/CodeGeneratorJS.pm:
35090        * page/DOMWindow.idl:
35091
350922010-10-11  Daniel Cheng  <dcheng@chromium.org>
35093
35094        Reviewed by Tony Chang.
35095
35096        [chromium] Prepare Clipboard/DragData for transition to new drag-and-drop interface.
35097        https://bugs.webkit.org/show_bug.cgi?id=44992
35098
35099        In order to allow a graceful transition, ChromiumDataObject has been
35100        reimplemented as a wrapper around the three different types of data
35101        objects that the Chrome port uses:
35102        1. ChromiumDataObjectLegacy -- this is the original ChromiumDataObject.
35103           All the data that ClipboardChromium/DragDataChromium can potentially
35104           use is copied over, regardless of whether or not it is needed.
35105        2. ReadableDataObject -- used for dragging in and pasting into WebKit.
35106           For efficiency, it caches an optimistic list of types it believes it
35107           can handle. When getData() is called, a browser IPC is called to
35108           retrieve the appropriate data.
35109        3. WritableDataObject -- similar to ChromiumDataObjectLegacy in that it
35110           buffers all data when dragging out of WebKit or copying/cutting.
35111           Unfortunately, there is a difference between dragging out and
35112           copying/cutting--on drag outs, the data is buffered and flushed out
35113           when startDrag() is called. For copy/cut, any calls to setData()
35114           result in a browser IPC right away, so calls to setData() in one
35115           copy/cut event are not atomic.
35116
35117        Copy and paste has been changed to use the new data objects. Dragging
35118        out uses the legacy data object, and dragging in now has two potential
35119        entry points--one using the legacy data object, and one using
35120        ReadableDataObject. Once Chromium transitions to using the new drag-in
35121        interface, the old interface will be removed.
35122
35123        This change is covered by existing tests.
35124
35125        * WebCore.gypi:
35126        * editing/chromium/EditorChromium.cpp:
35127        (WebCore::Editor::newGeneralClipboard):
35128        * page/chromium/EventHandlerChromium.cpp:
35129        (WebCore::EventHandler::createDraggingClipboard):
35130        * platform/chromium/ChromiumDataObject.cpp:
35131        (WebCore::ChromiumDataObject::ChromiumDataObject):
35132        (WebCore::ChromiumDataObject::create):
35133        (WebCore::ChromiumDataObject::createReadable):
35134        (WebCore::ChromiumDataObject::createWritable):
35135        (WebCore::ChromiumDataObject::clearData):
35136        (WebCore::ChromiumDataObject::clearAll):
35137        (WebCore::ChromiumDataObject::clearAllExceptFiles):
35138        (WebCore::ChromiumDataObject::hasData):
35139        (WebCore::ChromiumDataObject::types):
35140        (WebCore::ChromiumDataObject::getData):
35141        (WebCore::ChromiumDataObject::setData):
35142        (WebCore::ChromiumDataObject::urlTitle):
35143        (WebCore::ChromiumDataObject::setUrlTitle):
35144        (WebCore::ChromiumDataObject::htmlBaseUrl):
35145        (WebCore::ChromiumDataObject::setHtmlBaseUrl):
35146        (WebCore::ChromiumDataObject::containsFilenames):
35147        (WebCore::ChromiumDataObject::filenames):
35148        (WebCore::ChromiumDataObject::setFilenames):
35149        (WebCore::ChromiumDataObject::fileExtension):
35150        (WebCore::ChromiumDataObject::setFileExtension):
35151        (WebCore::ChromiumDataObject::fileContentFilename):
35152        (WebCore::ChromiumDataObject::setFileContentFilename):
35153        (WebCore::ChromiumDataObject::fileContent):
35154        (WebCore::ChromiumDataObject::setFileContent):
35155        * platform/chromium/ChromiumDataObject.h:
35156        * platform/chromium/ChromiumDataObjectLegacy.cpp: Copied from ChromiumDataObject.cpp
35157        (WebCore::ChromiumDataObjectLegacy::clearData):
35158        (WebCore::ChromiumDataObjectLegacy::clearAll):
35159        (WebCore::ChromiumDataObjectLegacy::clearAllExceptFiles):
35160        (WebCore::ChromiumDataObjectLegacy::hasData):
35161        (WebCore::ChromiumDataObjectLegacy::types):
35162        (WebCore::ChromiumDataObjectLegacy::getData):
35163        (WebCore::ChromiumDataObjectLegacy::setData):
35164        (WebCore::ChromiumDataObjectLegacy::ChromiumDataObjectLegacy):
35165        * platform/chromium/ChromiumDataObjectLegacy.h: Copied from ChromiumDataObject.h
35166        (WebCore::ChromiumDataObjectLegacy::create):
35167        (WebCore::ChromiumDataObjectLegacy::copy):
35168        (WebCore::ChromiumDataObjectLegacy::urlTitle):
35169        (WebCore::ChromiumDataObjectLegacy::setUrlTitle):
35170        (WebCore::ChromiumDataObjectLegacy::htmlBaseUrl):
35171        (WebCore::ChromiumDataObjectLegacy::setHtmlBaseUrl):
35172        (WebCore::ChromiumDataObjectLegacy::containsFilenames):
35173        (WebCore::ChromiumDataObjectLegacy::filenames):
35174        (WebCore::ChromiumDataObjectLegacy::setFilenames):
35175        (WebCore::ChromiumDataObjectLegacy::fileExtension):
35176        (WebCore::ChromiumDataObjectLegacy::setFileExtension):
35177        (WebCore::ChromiumDataObjectLegacy::fileContentFilename):
35178        (WebCore::ChromiumDataObjectLegacy::setFileContentFilename):
35179        (WebCore::ChromiumDataObjectLegacy::fileContent):
35180        (WebCore::ChromiumDataObjectLegacy::setFileContent):
35181        * platform/chromium/ClipboardChromium.cpp:
35182        (WebCore::ClipboardChromium::create):
35183        * platform/chromium/ClipboardChromium.h:
35184        * platform/chromium/ReadableDataObject.cpp:
35185        (WebCore::ReadableDataObject::getData):
35186        * platform/chromium/WritableDataObject.cpp:
35187        (WebCore::WritableDataObject::setData):
35188
351892010-10-11  Anders Carlsson  <andersca@apple.com>
35190
35191        Reviewed by Darin Adler.
35192
35193        Remove WebIconFetcher from WebKit and IconFetcher from WebCore
35194        https://bugs.webkit.org/show_bug.cgi?id=47523
35195
35196        Remove all traces of the WebCore IconFetcher class. It's SPI that nobody uses.
35197
35198        * GNUmakefile.am:
35199        * WebCore.exp.in:
35200        * WebCore.gyp/WebCore.gyp:
35201        * WebCore.gypi:
35202        * WebCore.vcproj/WebCore.vcproj:
35203        * WebCore.xcodeproj/project.pbxproj:
35204        * loader/icon/IconFetcher.cpp: Removed.
35205        * loader/icon/IconFetcher.h: Removed.
35206
352072010-10-11  Jia Pu  <jpu@apple.com>
35208
35209        Reviewed by Adele Peterson.
35210
35211        Should commit pending autocorrection before next round of text checking.
35212        https://bugs.webkit.org/show_bug.cgi?id=46986
35213        <rdar://problem/8424535>
35214
35215        1. Apply pending autocorrection before calling markAllMisspellingsAndBadGrammarInRanges().
35216        2. Remove unneccessary calls to dismissCorrectionPanel(), since the panel is dismissed when
35217           selection changes, which occurs after every typing command.
35218
35219        * editing/Editor.cpp:
35220        (WebCore::Editor::markMisspellingsAfterTypingToPosition): Apply pending autocorrection.
35221        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Store current correction replacement
35222          in m_correctionReplacementString.
35223        (WebCore::Editor::startCorrectionPanelTimer): Remove call to dismissCorrectionPanel().
35224        * editing/Editor.h: Add m_correctionReplacementString to store proposed autocorrection string.
35225
352262010-10-11  Oliver Hunt  <oliver@apple.com>
35227
35228        Reviewed by Adam Barth.
35229
35230        Make fast/canvas/webgl/glsl-conformance pass again
35231        https://bugs.webkit.org/show_bug.cgi?id=47525
35232
35233        Remove incorrect call to glGetShaderiv, so it is only
35234        called in the case where we don't have our own simulated
35235        log.
35236
35237        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
35238        (WebCore::GraphicsContext3D::getShaderInfoLog):
35239
352402010-10-11  Sam Weinig  <sam@webkit.org>
35241
35242        Reviewed by Anders Carlsson.
35243
35244        Add WebKit2 equivalents for setValueForUser and setAutoFilled
35245        <rdar://problem/8475934>
35246        https://bugs.webkit.org/show_bug.cgi?id=47524
35247
35248        * WebCore.exp.in: Add needed export.
35249
352502010-10-11  Andrei Popescu  <andreip@google.com>
35251
35252        Reviewed by Jeremy Orlow.
35253
35254        The names of IndexedDB-specific attributes of DOMWindow should be prefixed with 'webkit'.
35255        https://bugs.webkit.org/show_bug.cgi?id=47508
35256
35257        * bindings/generic/RuntimeEnabledFeatures.h:
35258        (WebCore::RuntimeEnabledFeatures::setWebkitIndexedDBEnabled):
35259        (WebCore::RuntimeEnabledFeatures::webkitIndexedDBEnabled):
35260        (WebCore::RuntimeEnabledFeatures::webkitIDBCursorEnabled):
35261        (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseEnabled):
35262        (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseErrorEnabled):
35263        (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseExceptionEnabled):
35264        (WebCore::RuntimeEnabledFeatures::webkitIDBErrorEventEnabled):
35265        (WebCore::RuntimeEnabledFeatures::webkitIDBEventEnabled):
35266        (WebCore::RuntimeEnabledFeatures::webkitIDBFactoryEnabled):
35267        (WebCore::RuntimeEnabledFeatures::webkitIDBIndexEnabled):
35268        (WebCore::RuntimeEnabledFeatures::webkitIDBKeyRangeEnabled):
35269        (WebCore::RuntimeEnabledFeatures::webkitIDBObjectStoreEnabled):
35270        (WebCore::RuntimeEnabledFeatures::webkitIDBRequestEnabled):
35271        (WebCore::RuntimeEnabledFeatures::webkitIDBSuccessEventEnabled):
35272        (WebCore::RuntimeEnabledFeatures::webkitIDBTransactionEnabled):
35273        * page/DOMWindow.cpp:
35274        (WebCore::DOMWindow::webkitIndexedDB):
35275        * page/DOMWindow.h:
35276        * page/DOMWindow.idl:
35277
352782010-10-11  Sam Weinig  <sam@webkit.org>
35279
35280        Reviewed by Anders Carlsson.
35281
35282        Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef
35283        https://bugs.webkit.org/show_bug.cgi?id=47509
35284
35285        * WebCore.exp.in: Export toNode.
35286
352872010-10-11  Martin Robinson  <mrobinson@igalia.com>
35288
35289        Reviewed by Tony Chang.
35290
35291        [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails on GTK+
35292        https://bugs.webkit.org/show_bug.cgi?id=47244
35293
35294        Store the URI list as a String in DataObjectGtk, so that non-URI elements
35295        are preserved when getData(...) is called. This necessitates some other
35296        changes, including adding a m_filenames member to DataObjectGtk to store
35297        filenames extracted during setURIList(...). The logic in getData(...) has
35298        also changed to set success = true no matter what to match the spec. A
35299        followup patch will remove this parameter completely for all platforms.
35300
35301        * platform/gtk/ClipboardGtk.cpp:
35302        (WebCore::ClipboardGtk::getData): Always succeed to match the HTML5
35303        spec and Firefox. Simply return the uriList string from the DataObject
35304        instead of reconstructing it from a vector of KURLs.
35305        (WebCore::ClipboardGtk::setData): The DataObject now accepts a string
35306        for the uriList parameter.
35307        (WebCore::ClipboardGtk::types): Predicate the "Files" member on 
35308        DataObjectGtk::hasFilenames().
35309        (WebCore::ClipboardGtk::files): Update to reflect the change from
35310        DataObjectGtk::files() to DataObjectGtk::filenames().
35311        * platform/gtk/DataObjectGtk.cpp:
35312        (WebCore::DataObjectGtk::setURIList): Expanded this setter to find the
35313        first valid URL to use as the m_url member and also extract a list of filenames
35314        from the URI list.
35315        (WebCore::DataObjectGtk::setURL): Updated to reflect changes to m_uriList.
35316        (WebCore::DataObjectGtk::clear): Updated to reflect changes to m_uriList and
35317        also leave a comment explaining why we do not clear filenames here.
35318        * platform/gtk/DataObjectGtk.h:
35319        (WebCore::DataObjectGtk::url): This implementation is now a simple getter.
35320        (WebCore::DataObjectGtk::uriList): Ditto.
35321        (WebCore::DataObjectGtk::filenames): Added.
35322        (WebCore::DataObjectGtk::hasURL): Now a simple check.
35323        (WebCore::DataObjectGtk::hasFilenames): Added.
35324        (WebCore::DataObjectGtk::clearURIList): Simple setter.
35325        (WebCore::DataObjectGtk::clearURL): Ditto.
35326        * platform/gtk/DragDataGtk.cpp:
35327        (WebCore::DragData::containsFiles): Updated to access DataObjectGtk::hasFilenames().
35328        (WebCore::DragData::asFilenames): Updated to access DataObjectGtk::filenames().
35329        * platform/gtk/PasteboardHelper.cpp:
35330        (WebCore::PasteboardHelper::getClipboardContents): Use the uriList as a string now.
35331        (WebCore::PasteboardHelper::fillSelectionData):  Ditto.
35332        (WebCore::PasteboardHelper::fillDataObjectFromDropData): Ditto.
35333
353342010-10-11  James Robinson  <jamesr@chromium.org>
35335
35336        Reviewed by Kenneth Russell.
35337
35338        [chromium] DRT crash in fast/canvas tests w/accel 2D canvas due to NULL DrawingBuffer
35339        https://bugs.webkit.org/show_bug.cgi?id=47241
35340
35341        Avoid initializing accelerated graphics objects on CanvasRenderingContext2D
35342        if there is no drawingContext associated with the canvas.
35343
35344        Test: fast/canvas/access-zero-sized-canvas.html
35345              fast/canvas/canvas-skia-excessive-size.html
35346              fast/canvas/toDataURL-noData.html
35347        with --accelerated-compositing and --accelerated-2d-canvas
35348
35349        * html/canvas/CanvasRenderingContext2D.cpp:
35350        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
35351        (WebCore::CanvasRenderingContext2D::reset):
35352
353532010-10-11  Martin Robinson  <mrobinson@igalia.com>
35354
35355        Reviewed by Gustavo Noronha Silva.
35356
35357        [GTK] Cleanup font selection code for the Freetype backend
35358        https://bugs.webkit.org/show_bug.cgi?id=47503
35359
35360        Do some miscellaneous cleanup work in the Freetype font font selection backend.
35361
35362        * platform/graphics/cairo/FontCacheFreeType.cpp:
35363        (WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Modified this method to return
35364        a WebCore String.
35365        (WebCore::FontCache::createFontPlatformData): Do a bit of cleanup in this method: properly
35366        handle cursive and fantasy as fallback-like fonts. Instead of using raw CStrings do string
35367        comparisons using WebCore Strings. Remove a large block comment that originated from a
35368        Apache-licensed file.
35369
353702010-10-11  Martin Robinson  <mrobinson@igalia.com>
35371
35372        Reviewed by Gustavo Noronha Silva.
35373
35374        [GTK] Buttons activated with the keyboard should be painted as clicked
35375        https://bugs.webkit.org/show_bug.cgi?id=18364
35376
35377        When a button is pressed, force it into the hovered state as far as the
35378        Mozilla theme drawing code is concerned. This bug also seems to be an
35379        issue for Firefox. When we switch away from the Mozilla theme drawing
35380        code this work-around should no longer be necessary.
35381
35382        No new tests. I was not able to generate a pixel test for this issue. It
35383        seems that our DRT does not have the necessary infrastructure to generate a
35384        pixel dump while a button is in the pressed state.
35385
35386        * platform/gtk/RenderThemeGtk.cpp:
35387        (WebCore::RenderThemeGtk::paintRenderObject):
35388
353892010-10-11  Jian Li  <jianli@chromium.org>
35390
35391        Unreviewed. Build fix.
35392
35393        * bindings/js/JSArrayBufferCustom.cpp:
35394        * bindings/js/JSArrayBufferViewCustom.cpp:
35395        * bindings/js/JSFloat32ArrayCustom.cpp:
35396        * bindings/js/JSInt16ArrayCustom.cpp:
35397        * bindings/js/JSInt32ArrayCustom.cpp:
35398        * bindings/js/JSInt8ArrayCustom.cpp:
35399        * bindings/js/JSUint16ArrayCustom.cpp:
35400        * bindings/js/JSUint32ArrayCustom.cpp:
35401        * bindings/js/JSUint8ArrayCustom.cpp:
35402        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
35403        * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
35404        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
35405        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
35406        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
35407        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
35408        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
35409        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
35410        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
35411
354122010-10-11  Brent Fulgham  <bfulgham@webkit.org>
35413
35414        Unreviewed WinCairo build fixes.
35415
35416        * platform/network/curl/ResourceResponse.h: Correct forward declaration
35417        for CFURLResponseRef.
35418        * rendering/RenderMediaControls.h: Add ENABLE(VIDEO) guard to new
35419        header file to avoid build failure on non-VIDEO builds.
35420
354212010-10-11  Jian Li  <jianli@chromium.org>
35422
35423        Reviewed by Adam Barth.
35424
35425        Add File API feature guard to all typed array files
35426        https://bugs.webkit.org/show_bug.cgi?id=47437
35427
35428        Since we're going to add ArrayBuffer support to FileReader and BlobBuilder,
35429        we need to update all type array files to include File API feature guard
35430        in addition to the existing 3D_CANVAS guard. When ArrayBuffer is used in
35431        XMLHttpRequest, we will then remove all the guards. This is per the
35432        discussion on webkit-dev mailing list:
35433        https://lists.webkit.org/pipermail/webkit-dev/2010-October/014716.html
35434
35435        * html/canvas/ArrayBuffer.cpp:
35436        * html/canvas/ArrayBuffer.idl:
35437        * html/canvas/ArrayBufferView.cpp:
35438        * html/canvas/ArrayBufferView.idl:
35439        * html/canvas/Float32Array.cpp:
35440        * html/canvas/Float32Array.idl:
35441        * html/canvas/Int16Array.cpp:
35442        * html/canvas/Int16Array.idl:
35443        * html/canvas/Int32Array.cpp:
35444        * html/canvas/Int32Array.idl:
35445        * html/canvas/Int8Array.cpp:
35446        * html/canvas/Int8Array.idl:
35447        * html/canvas/Uint16Array.cpp:
35448        * html/canvas/Uint16Array.idl:
35449        * html/canvas/Uint32Array.cpp:
35450        * html/canvas/Uint32Array.idl:
35451        * html/canvas/Uint8Array.cpp:
35452        * html/canvas/Uint8Array.idl:
35453
354542010-10-11  Andreas Kling  <kling@webkit.org>
35455
35456        Build fix (implicit float conversion in Path.cpp)
35457
35458        * platform/graphics/Path.cpp:
35459
354602010-10-11  Girish Ramakrishnan  <girish@forwardbias.in>
35461
35462        Reviewed by Kenneth Rohde Christiansen.
35463
35464        [Qt] Refactor Plugin X Pixmap painting code to a separate function
35465
35466        The refactored function will be used for rendering by the Accelerated
35467        Composition enabled graphics layer.
35468
35469        https://bugs.webkit.org/show_bug.cgi?id=35524
35470
35471        * plugins/PluginView.h:
35472        * plugins/qt/PluginViewQt.cpp:
35473        (WebCore::PluginView::paintUsingXPixmap):
35474        (WebCore::PluginView::paint):
35475
354762010-10-11  Andreas Kling  <kling@webkit.org>
35477
35478        Reviewed by Dirk Schulze.
35479
35480        SVG: Remove "create" methods and use port-specific "add" counterparts
35481        https://bugs.webkit.org/show_bug.cgi?id=46052
35482
35483        Circles and ellipses will be significantly faster on platforms that
35484        implement Path::addEllipse() in a sane fashion.
35485
35486        Also, a lot of Path copying has been factored out by changing functions
35487        that would return Paths to take Path& arguments instead (toPathData, toClipPath)
35488
35489        * mathml/RenderMathMLRoot.cpp:
35490        (WebCore::RenderMathMLRoot::paint):
35491        * mathml/RenderMathMLSquareRoot.cpp:
35492        (WebCore::RenderMathMLSquareRoot::paint):
35493        * platform/graphics/GraphicsContext.cpp:
35494        (WebCore::GraphicsContext::addRoundedRectClip):
35495        (WebCore::GraphicsContext::clipOutRoundedRect):
35496        * platform/graphics/Path.cpp:
35497        (WebCore::pathLengthApplierFunction):
35498        (WebCore::Path::addRoundedRect):
35499        * platform/graphics/Path.h:
35500        * platform/graphics/cairo/ContextShadowCairo.cpp:
35501        (WebCore::ContextShadow::drawRectShadowWithoutTiling):
35502        (WebCore::ContextShadow::drawRectShadow):
35503        * platform/graphics/cairo/GraphicsContextCairo.cpp:
35504        (WebCore::GraphicsContext::drawFocusRing):
35505        (WebCore::GraphicsContext::drawTiledShadow):
35506        (WebCore::GraphicsContext::fillRoundedRect):
35507        * platform/graphics/cg/GraphicsContextCG.cpp:
35508        (WebCore::GraphicsContext::fillRoundedRect):
35509        * platform/graphics/qt/GraphicsContextQt.cpp:
35510        (WebCore::GraphicsContext::fillRoundedRect):
35511        * rendering/RenderBoxModelObject.cpp:
35512        (WebCore::RenderBoxModelObject::paintBorder):
35513        (WebCore::RenderBoxModelObject::paintBoxShadow):
35514        * rendering/RenderEmbeddedObject.cpp:
35515        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
35516        * rendering/RenderSVGResourceClipper.cpp:
35517        (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
35518        * rendering/svg/RenderSVGPath.cpp:
35519        (WebCore::RenderSVGPath::layout):
35520        * rendering/svg/RenderSVGTextPath.cpp:
35521        (WebCore::RenderSVGTextPath::layoutPath):
35522        * rendering/svg/SVGInlineTextBox.cpp:
35523        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
35524        * svg/SVGAnimateMotionElement.cpp:
35525        (WebCore::SVGAnimateMotionElement::animationPath):
35526        * svg/SVGCircleElement.cpp:
35527        (WebCore::SVGCircleElement::toPathData):
35528        * svg/SVGCircleElement.h:
35529        * svg/SVGEllipseElement.cpp:
35530        (WebCore::SVGEllipseElement::toPathData):
35531        * svg/SVGEllipseElement.h:
35532        * svg/SVGLineElement.cpp:
35533        (WebCore::SVGLineElement::toPathData):
35534        * svg/SVGLineElement.h:
35535        * svg/SVGPathElement.cpp:
35536        (WebCore::SVGPathElement::getTotalLength):
35537        (WebCore::SVGPathElement::getPointAtLength):
35538        (WebCore::SVGPathElement::toPathData):
35539        * svg/SVGPathElement.h:
35540        * svg/SVGPolygonElement.cpp:
35541        (WebCore::SVGPolygonElement::toPathData):
35542        * svg/SVGPolygonElement.h:
35543        * svg/SVGPolylineElement.cpp:
35544        (WebCore::SVGPolylineElement::toPathData):
35545        * svg/SVGPolylineElement.h:
35546        * svg/SVGRectElement.cpp:
35547        (WebCore::SVGRectElement::toPathData):
35548        * svg/SVGRectElement.h:
35549        * svg/SVGStyledTransformableElement.cpp:
35550        (WebCore::SVGStyledTransformableElement::toClipPath):
35551        * svg/SVGStyledTransformableElement.h:
35552        (WebCore::SVGStyledTransformableElement::toPathData):
35553        * svg/SVGUseElement.cpp:
35554        (WebCore::SVGUseElement::toClipPath):
35555        * svg/SVGUseElement.h:
35556
355572010-10-01  Oliver Hunt  <oliver@apple.com>
35558
35559        Reviewed by Gavin Barraclough.
35560
35561        [ES5] Implement strict mode
35562        https://bugs.webkit.org/show_bug.cgi?id=10701
35563
35564        Test: fast/js/basic-strict-mode.html
35565
35566        Override toStrictThisObject on the domwindow so that
35567        it correctly provides the shell object when used as this
35568        in a strict mode function.
35569
35570        * bindings/js/JSDOMWindowBase.cpp:
35571        (WebCore::JSDOMWindowBase::toStrictThisObject):
35572        * bindings/js/JSDOMWindowBase.h:
35573
355742010-10-11  Joseph Pecoraro  <joepeck@webkit.org>
35575
35576        Reviewed by Eric Carlson.
35577
35578        CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
35579        https://bugs.webkit.org/show_bug.cgi?id=46777
35580
35581        Another case that could lead to an improper set of states between
35582        m_currentNode and m_loadingState. Also added an ASSERT and early
35583        return to prevent crashes if this case can still happen in other ways.
35584
35585        * html/HTMLMediaElement.cpp:
35586        (WebCore::HTMLMediaElement::prepareForLoad):
35587
355882010-10-11  Ryosuke Niwa  <rniwa@webkit.org>
35589
35590        Reviewed by Darin Adler.
35591
35592        spellcheck="false" not respected in designMode
35593        https://bugs.webkit.org/show_bug.cgi?id=39978
35594
35595        The bug was caused by WebKit's setting focus to html element rather than body element in design mode.
35596        Because we disable spell-check only if ancestor nodes of the focused element had spellcheck=false,
35597        this caused us to ignore body element's spellcheck attribute.
35598
35599        Fixed the bug by overriding supportsFocus in HTMLBodyElement to make body element focusable
35600        when the parent node of body elements (namely html element) is editable.
35601
35602        Test: editing/spelling/design-mode-spellcheck-off.html
35603
35604        * html/HTMLBodyElement.cpp:
35605        (WebCore::HTMLBodyElement::supportsFocus): Added.
35606        * html/HTMLBodyElement.h:
35607
356082010-10-11  Oliver Hunt  <oliver@apple.com>
35609
35610        Build fix -- I thought i had killed the prior commit in time to have this be part of the commit.
35611
35612        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
35613        (WebCore::GraphicsContext3D::getShaderInfoLog):
35614
356152010-10-11  Oliver Hunt  <oliver@apple.com>
35616
35617        Reviewed by Andreas Kling.
35618
35619        Incorrect handling of 0 length logs in GraphicsContext3DOpenGL.cpp
35620        https://bugs.webkit.org/show_bug.cgi?id=47494
35621
35622        Working on another patch I found that there was some screwy behaviour
35623        when dealing with logs from GL.  GL_INFO_LOG_LENGTH is defined as being
35624        zero if there is no log message, but we did not check for that case and
35625        simply perfomed a zero sized alloc and passed the resultant buffer to
35626        glGetShaderInfoLog, etc.  glGetShaderInfoLog would then write a null
35627        terminator to the buffer, thus causing an overflow.  This is obviously
35628        not a problem in practice as allocations are at least 4 bytes long in
35629        all common allocators, but it is still a bug.
35630
35631        I also removed some unnecessary null checks following calls to fastMalloc.
35632
35633        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
35634        (WebCore::GraphicsContext3D::getProgramInfoLog):
35635        (WebCore::GraphicsContext3D::getShaderInfoLog):
35636
356372010-10-11  Nikolas Zimmermann  <nzimmermann@rim.com>
35638
35639        Reviewed by Andreas Kling.
35640
35641        Kill Path::debugString()
35642        https://bugs.webkit.org/show_bug.cgi?id=47493
35643
35644        Remove the obsolete Path::debugString() method. DRT now dumps paths in a platform independant way.
35645
35646        * platform/graphics/Path.h:
35647        * platform/graphics/cairo/PathCairo.cpp:
35648        * platform/graphics/cg/PathCG.cpp:
35649        * platform/graphics/haiku/PathHaiku.cpp:
35650        * platform/graphics/openvg/PathOpenVG.cpp:
35651        * platform/graphics/qt/PathQt.cpp:
35652        * platform/graphics/skia/PathSkia.cpp:
35653        * platform/graphics/wince/PathWinCE.cpp:
35654        * platform/graphics/wince/PlatformPathWinCE.cpp:
35655        * platform/graphics/wince/PlatformPathWinCE.h:
35656        * platform/graphics/wx/PathWx.cpp:
35657        * svg/SVGGlyphElement.h:
35658        (WebCore::SVGGlyphIdentifier::operator==):
35659
356602010-10-11  Martin Robinson  <mrobinson@igalia.com>
35661
35662        Reviewed by Xan Lopez.
35663
35664        [GTK] Search field icons should be centered vertically in the field
35665        https://bugs.webkit.org/show_bug.cgi?id=47441
35666
35667        Center search field icons vertically in the search field.
35668
35669        * platform/gtk/RenderThemeGtk.cpp:
35670        (WebCore::centerRectVerticallyInParentInputElement): Added this helper.
35671        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Center the search
35672        field icon by adjusting its drawing rect relative to the containing search field.
35673        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto.
35674
356752010-10-11  Pavel Podivilov  <podivilov@chromium.org>
35676
35677        Reviewed by Pavel Feldman.
35678
35679        Web Inspector: fix event listener breakpoints sidebar pane style
35680        https://bugs.webkit.org/show_bug.cgi?id=47487
35681
35682        * inspector/front-end/inspector.css:
35683        (.section .properties, .event-bar .event-properties):
35684        (.section.expanded .properties, .event-bar.expanded .event-properties):
35685        (.properties-tree):
35686        (.properties-tree li):
35687        (.properties-tree li.parent):
35688        (.properties-tree li.parent::before):
35689        (.properties-tree li.parent.expanded::before):
35690        (.properties-tree li .info):
35691        (.properties-tree ol, .stack-trace ol, ol.stack-trace):
35692        (.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace):
35693        (ol.stack-trace):
35694        (.event-listener-breakpoints .event-category):
35695        (.event-listener-breakpoints.properties-tree .children li):
35696        (.event-listener-breakpoints .checkbox-elem):
35697        (.breakpoint-list .breakpoint-hit):
35698
356992010-10-11  Andreas Kling  <kling@webkit.org>
35700
35701        Reviewed by Tor Arne Vestbø.
35702
35703        [Qt] Avoid QPainterPath::operator=(QPainterPath()) when possible
35704
35705        Same concept as <http://trac.webkit.org/changeset/69462>, do nothing
35706        when clearing an already empty QPainterPath. Avoids one delete+new.
35707
35708        * platform/graphics/qt/GraphicsContextQt.cpp:
35709        (WebCore::GraphicsContextPlatformPrivate::clearCurrentPath):
35710        (WebCore::GraphicsContext::fillPath):
35711        (WebCore::GraphicsContext::strokePath):
35712        (WebCore::GraphicsContext::beginPath):
35713
357142010-10-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35715
35716        Unreviewed. Remove unnecessary GTK+ and Pango includes.
35717
35718        * platform/gtk/FileChooserGtk.cpp:
35719        * platform/gtk/Language.cpp:
35720
357212010-10-11  Kinuko Yasuda  <kinuko@chromium.org>
35722
35723        Reviewed by David Levin.
35724
35725        Support DirectoryEntry.removeRecursively for FileSystem API
35726        https://bugs.webkit.org/show_bug.cgi?id=47400
35727
35728        Also disallows remove/removeRecursively on the root directory.
35729
35730        Test: fast/filesystem/op-remove.html
35731
35732        * fileapi/DOMFileSystemBase.cpp:
35733        (WebCore::DOMFileSystemBase::removeRecursively): Added.
35734        * fileapi/DOMFileSystemBase.h:
35735        * fileapi/DirectoryEntry.cpp:
35736        (WebCore::DirectoryEntry::removeRecursively): Added.
35737        * fileapi/DirectoryEntry.h:
35738        * fileapi/DirectoryEntry.idl:
35739        * fileapi/DirectoryEntrySync.cpp:
35740        (WebCore::DirectoryEntrySync::removeRecursively): Added.
35741        * fileapi/DirectoryEntrySync.h:
35742        * fileapi/DirectoryEntrySync.idl:
35743        * platform/AsyncFileSystem.h:
35744
357452010-10-11  Dirk Schulze  <krit@webkit.org>
35746
35747        Reviewed by Nikolas Zimmermann.
35748
35749        SVG feImage take preserveAspectRatio into account for absolute paint rect
35750        https://bugs.webkit.org/show_bug.cgi?id=47464
35751
35752        Determine the smallest effect region for SVGFEImage by taking preserveAspectRatio into account.
35753
35754        * svg/graphics/filters/SVGFEImage.cpp:
35755        (WebCore::FEImage::determineAbsolutePaintRect):
35756        (WebCore::FEImage::apply):
35757        * svg/graphics/filters/SVGFEImage.h:
35758
357592010-10-10  Abhishek Arya  <inferno@chromium.org>
35760
35761        Reviewed by Dan Bernstein.
35762
35763        <rdar://problem/8510200> Lines flow around a float that has been removed 
35764
35765        Overhanging floats are not added to flexible boxes since they behave like
35766        block formatting contexts. This causes the intruding floats added in siblings
35767        to not get cleared. Enforce the float release by checking if the parent is a
35768        flexible box and if yes, use that as the outermost block.
35769        
35770        https://bugs.webkit.org/show_bug.cgi?id=47104
35771
35772        Test: fast/flexbox/overhanging-floats-removed.html
35773
35774        * rendering/RenderBox.cpp:
35775        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
35776
357772010-10-10  Chris Fleizach  <cfleizach@apple.com>
35778
35779        Reviewed by Beth Dakin.
35780
35781        AX: if aria-live is on a <span> or ignored element, live regions don't work
35782        https://bugs.webkit.org/show_bug.cgi?id=47443
35783
35784        If an element has aria attributes, but has no other native role associated with it,
35785        accessibility should fallback to exposing that element as an AXGroup.
35786
35787        Test: platform/mac/accessibility/live-region-on-span.html
35788
35789        * accessibility/AccessibilityRenderObject.cpp:
35790        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
35791
357922010-10-10  Daniel Cheng  <dcheng@chromium.org>
35793
35794        Reviewed by Adam Barth.
35795
35796        [chromium] Clipboard no longer accepts 'text' as a synonym for 'text/plain'
35797        https://bugs.webkit.org/show_bug.cgi?id=47419
35798
35799        This was a regression introduced in r68807. mimeTypeText had the incorrect
35800        value.
35801
35802        Test: editing/pasteboard/dataTransfer-setData-getData.html
35803
35804        * platform/chromium/ClipboardMimeTypes.cpp:
35805
358062010-10-09  Eric Uhrhane  <ericu@chromium.org>
35807
35808        Reviewed by Andreas Kling.
35809
35810        FileWriter sends write event instead of progress event
35811        https://bugs.webkit.org/show_bug.cgi?id=47454
35812
35813        No new tests; FileWriter tests will be added shortly, but currently
35814        there's no implementation capable of running them.
35815
35816        * fileapi/FileWriter.cpp:
35817        (WebCore::FileWriter::didWrite):
35818
358192010-10-09  Andreas Kling  <kling@webkit.org>
35820
35821        Reviewed by Kenneth Rohde Christiansen.
35822
35823        [Qt] Fast-path in Path::clear() for already empty paths
35824        https://bugs.webkit.org/show_bug.cgi?id=47460
35825
35826        The only way to clear a QPainterPath is to assign QPainterPath() to it.
35827        Avoid creating a temporary object etc if the path is already empty.
35828
35829        * platform/graphics/qt/PathQt.cpp:
35830        (WebCore::Path::clear):
35831
358322010-10-08  Ryosuke Niwa  <rniwa@webkit.org>
35833
35834        Reviewed by Darin Adler.
35835
35836        Redo in ReplaceNodeWithSpanCommand is broken
35837        https://bugs.webkit.org/show_bug.cgi?id=47428
35838
35839        The bug was caused by ReplaceNodeWithSpanCommand's inheriting from CompositeEditCommand,
35840        and ReplaceNodeWithSpanCommand's not implementing doReapply. Because ReplaceNodeWithSpanCommand's doApply
35841        directly modifies DOM and does not use simple edit commands while CompositeEditCommand's doReapply
35842        only calls reapply of compositing simple edit commands, ReplaceNodeWithSpanCommand's doReapply was no-op.
35843
35844        Fixed the bug by changing the base class of ReplaceNodeWithSpanCommand to SimpleEditCommand.
35845        This allows ReplaceNodeWithSpanCommand's doReapply to call its doApply, which already supports redo operation.
35846
35847        Test: editing/undo/replace-by-span-then-remove.html
35848
35849        * editing/ReplaceNodeWithSpanCommand.cpp:
35850        (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand):
35851        * editing/ReplaceNodeWithSpanCommand.h:
35852
358532010-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
35854
35855        Reviewed by Martin Robinson.
35856
35857        [GTK] Implement subregion rendering in WebView when using gtk3
35858        https://bugs.webkit.org/show_bug.cgi?id=47411
35859
35860        * GNUmakefile.am:
35861        * platform/graphics/FloatRect.h:
35862        * platform/graphics/cairo/FloatRectCairo.cpp: Added.
35863        (WebCore::FloatRect::FloatRect):
35864        (WebCore::FloatRect::operator cairo_rectangle_t):
35865
358662010-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
35867
35868        Reviewed by Martin Robinson.
35869
35870        [GTK] Implement subregion rendering in WebView when using gtk3
35871        https://bugs.webkit.org/show_bug.cgi?id=47411
35872
35873        * GNUmakefile.am:
35874        * platform/graphics/FloatRect.h:
35875        * platform/graphics/cairo/FloatRectCairo.cpp: Added.
35876        (WebCore::FloatRect::FloatRect):
35877        (WebCore::FloatRect::operator cairo_rectangle_t):
35878
358792010-10-09  Kwang Yul Seo  <skyul@company100.net>
35880
35881        Reviewed by Andreas Kling.
35882
35883        Add ENABLE(ACCELERATED_2D_CANVAS) guard for m_uploadTexture
35884        https://bugs.webkit.org/show_bug.cgi?id=47114
35885
35886        PlatformContextSkia's m_uploadTexture is used only in code guarded with ENABLE(ACCELERATED_2D_CANVAS).
35887
35888        * platform/graphics/skia/PlatformContextSkia.h:
35889
358902010-10-09  Patrick Gansterer  <paroga@webkit.org>
35891
35892        Reviewed by Adam Barth.
35893
35894        Use WTF::StringHasher for hashing MappedAttributeKey
35895        https://bugs.webkit.org/show_bug.cgi?id=46516
35896
35897        * dom/StyledElement.cpp:
35898        (WebCore::MappedAttributeHash::hash):
35899
359002010-10-09  Martin Robinson  <mrobinson@igalia.com>
35901
35902        Reviewed by Xan Lopez.
35903
35904        [Gtk] Non-rectangular buttons have a square background behind them
35905        https://bugs.webkit.org/show_bug.cgi?id=23569
35906
35907        Remove some code which was clearing pieces of the GdkDrawable if it was
35908        currently mapped to a window. In our case it is unnecessary, because the
35909        platform-independent parts of the render have already cleared this section
35910        if it is needed.
35911
35912        Mozilla must not trip this code path, which means they are probably rendering
35913        most often to a non-mapped GdkPixmap.
35914
35915        No new tests as some themed rendering is covered by existing tests that
35916        render buttons. This particular bug is very hard to test as it only appears
35917        with certain GTK+ themes and we currently have no mechanism to test different
35918        themes in DRT.
35919
35920        * platform/gtk/gtk2drawing.c:
35921        (moz_gtk_button_paint): Remove unnecessary code.
35922
359232010-10-09  Martin Robinson  <mrobinson@igalia.com>
35924
35925        Reviewed by Xan Lopez.
35926
35927        [GTK] Slider padding translate into a larger track rect
35928        https://bugs.webkit.org/show_bug.cgi?id=47435
35929
35930        Instead of painting the track rectangle for ranges onto the entire RenderBox
35931        rectangle, simply paint it on the content rectangle. This prevents misrendering
35932        sliders with padding.
35933
35934        * platform/gtk/RenderThemeGtk.cpp:
35935        (WebCore::RenderThemeGtk::paintSliderTrack): Paint onto the absoluteContentRect
35936        of the slider instead of the entire area (which includes padding).
35937
359382010-10-09  Kent Tamura  <tkent@chromium.org>
35939
35940        Unreviewed, trivial regression fix for r69445.
35941
35942        RangeInputType::supportsRequired() should return false.
35943        https://bugs.webkit.org/show_bug.cgi?id=47405
35944
35945        * html/RangeInputType.cpp:
35946        (WebCore::RangeInputType::supportsRequired):
35947        * html/RangeInputType.h:
35948
359492010-10-09  Kent Tamura  <tkent@chromium.org>
35950
35951        Reviewed by Dimitri Glazkov.
35952
35953        Refactor HTMLInputElement: Move typeMismatch(), valueMissing(),
35954        isRequiredFormControl(), and recalcWillValidate()
35955        https://bugs.webkit.org/show_bug.cgi?id=47405
35956
35957        Also make checkedRadioButtons() an inline member function of
35958        HTMLInputElement in order that RadioInputType can use it.
35959
35960        * html/BaseDateAndTimeInputType.cpp:
35961        (WebCore::BaseDateAndTimeInputType::typeMismatchFor):
35962        (WebCore::BaseDateAndTimeInputType::typeMismatch):
35963        * html/BaseDateAndTimeInputType.h:
35964        * html/ButtonInputType.cpp:
35965        (WebCore::ButtonInputType::supportsValidation):
35966        * html/ButtonInputType.h:
35967        * html/CheckboxInputType.cpp:
35968        (WebCore::CheckboxInputType::valueMissing):
35969        * html/CheckboxInputType.h:
35970        * html/ColorInputType.cpp:
35971        (WebCore::isValidColorString):
35972        (WebCore::ColorInputType::typeMismatchFor):
35973        (WebCore::ColorInputType::typeMismatch):
35974        (WebCore::ColorInputType::supportsRequired):
35975        * html/ColorInputType.h:
35976        * html/EmailInputType.cpp:
35977        (WebCore::isValidEmailAddress):
35978        (WebCore::EmailInputType::typeMismatchFor):
35979        (WebCore::EmailInputType::typeMismatch):
35980        * html/EmailInputType.h:
35981        * html/FileInputType.cpp:
35982        (WebCore::FileInputType::valueMissing):
35983        * html/FileInputType.h:
35984        * html/HTMLInputElement.cpp:
35985        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
35986        (WebCore::HTMLInputElement::isValidValue):
35987        (WebCore::HTMLInputElement::typeMismatch):
35988        (WebCore::HTMLInputElement::valueMissing):
35989        (WebCore::HTMLInputElement::isKeyboardFocusable):
35990        (WebCore::HTMLInputElement::updateType):
35991        (WebCore::HTMLInputElement::parseMappedAttribute):
35992        (WebCore::HTMLInputElement::setChecked):
35993        (WebCore::HTMLInputElement::preDispatchEventHandler):
35994        (WebCore::HTMLInputElement::isRequiredFormControl):
35995        (WebCore::HTMLInputElement::recalcWillValidate):
35996        * html/HTMLInputElement.h:
35997        (WebCore::HTMLInputElement::checkedRadioButtons):
35998        * html/HiddenInputType.cpp:
35999        (WebCore::HiddenInputType::supportsValidation):
36000        * html/HiddenInputType.h:
36001        * html/ImageInputType.cpp:
36002        (WebCore::ImageInputType::supportsValidation):
36003        * html/ImageInputType.h:
36004        * html/InputType.cpp:
36005        (WebCore::InputType::supportsValidation):
36006        (WebCore::InputType::typeMismatchFor):
36007        (WebCore::InputType::typeMismatch):
36008        (WebCore::InputType::supportsRequired):
36009        (WebCore::InputType::valueMissing):
36010        * html/InputType.h:
36011        * html/IsIndexInputType.cpp:
36012        (WebCore::IsIndexInputType::supportsRequired):
36013        * html/IsIndexInputType.h:
36014        * html/NumberInputType.cpp:
36015        (WebCore::NumberInputType::typeMismatchFor):
36016        (WebCore::NumberInputType::typeMismatch):
36017        * html/NumberInputType.h:
36018        * html/RadioInputType.cpp:
36019        (WebCore::RadioInputType::valueMissing):
36020        * html/RadioInputType.h:
36021        * html/ResetInputType.cpp:
36022        (WebCore::ResetInputType::supportsValidation):
36023        * html/ResetInputType.h:
36024        * html/SubmitInputType.cpp:
36025        (WebCore::SubmitInputType::supportsValidation):
36026        * html/SubmitInputType.h:
36027        * html/TextFieldInputType.cpp:
36028        (WebCore::TextFieldInputType::valueMissing):
36029        * html/TextFieldInputType.h:
36030        * html/URLInputType.cpp:
36031        (WebCore::URLInputType::typeMismatchFor):
36032        (WebCore::URLInputType::typeMismatch):
36033        * html/URLInputType.h:
36034        * html/ValidityState.cpp:
36035        (WebCore::ValidityState::typeMismatch):
36036
360372010-10-09  Pratik Solanki  <psolanki@apple.com>
36038
36039        Reviewed by Dan Bernstein.
36040
36041        https://bugs.webkit.org/show_bug.cgi?id=47450
36042        Crash in WebCore::SocketStreamHandle::chooseProxyFromArray because proxyArray passed is nil
36043        <rdar://problem/8244376>
36044
36045        * platform/network/cf/SocketStreamHandleCFNet.cpp:
36046        (WebCore::SocketStreamHandle::chooseProxyFromArray): If proxyArray is
36047        NULL, return early to avoid crash.
36048
360492010-10-08  Chris Rogers  <crogers@google.com>
36050
36051        Reviewed by James Robinson.
36052
36053        Add HRTFPanner files
36054        https://bugs.webkit.org/show_bug.cgi?id=46299
36055
36056        No new tests since audio API is not yet implemented.
36057
36058        * platform/audio/HRTFPanner.cpp: Added.
36059        (WebCore::HRTFPanner::HRTFPanner):
36060        (WebCore::HRTFPanner::~HRTFPanner):
36061        (WebCore::HRTFPanner::fftSizeForSampleRate):
36062        (WebCore::HRTFPanner::reset):
36063        (WebCore::wrapDistance):
36064        (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
36065        (WebCore::HRTFPanner::pan):
36066        * platform/audio/HRTFPanner.h: Added.
36067        (WebCore::HRTFPanner::fftSize):
36068        (WebCore::HRTFPanner::sampleRate):
36069
360702010-10-08  James Robinson  <jamesr@chromium.org>
36071
36072        Reviewed by Adam Barth.
36073
36074        Avoid inlining large and/or virtual functions in widely included header files
36075        https://bugs.webkit.org/show_bug.cgi?id=47230
36076
36077        Functions with very large bodies should not be included in widely included header files.
36078        This results in the function's code ending up included in hundreds of object files that
36079        the linker has to discard, at a cost of linker memory use, link time, and disk space. This
36080        is a particular problem in the Chromium windows build where MSVC often exhausts its 32-bit
36081        virtual address space and completely fails to link.
36082
36083        This patch moves function definitions from the .h to the corresponding .cpp when the function
36084        is large and not a candidate for inlining either because it is virtual or because its size is
36085        above any reasonable compiler's threshhold for inlining.  The most common case by far in this
36086        patch is changing a class' implicitly defined destructor to an explicitly declared d'tor in
36087        the header and an explicitly defined d'tor in the .cpp.  This is important since many of our
36088        container and utility classes (especially Vector, String, and HashSet) have quite large
36089        destructors.
36090
36091        This patch removes 22.4MB of object file size in a debug 64 bit compile.
36092
36093        * css/CSSBorderImageValue.cpp:
36094        (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
36095        * css/CSSBorderImageValue.h:
36096        * css/CSSFontFaceSrcValue.cpp:
36097        (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
36098        * css/CSSFontFaceSrcValue.h:
36099        * css/CSSFunctionValue.h:
36100        * dom/BeforeTextInsertedEvent.cpp:
36101        (WebCore::BeforeTextInsertedEvent::~BeforeTextInsertedEvent):
36102        * dom/BeforeTextInsertedEvent.h:
36103        * dom/BeforeUnloadEvent.cpp:
36104        (WebCore::BeforeUnloadEvent::~BeforeUnloadEvent):
36105        * dom/BeforeUnloadEvent.h:
36106        * dom/ClassNodeList.h:
36107        * dom/ClipboardEvent.cpp:
36108        (WebCore::ClipboardEvent::~ClipboardEvent):
36109        * dom/ClipboardEvent.h:
36110        * dom/CustomEvent.cpp:
36111        (WebCore::CustomEvent::~CustomEvent):
36112        * dom/CustomEvent.h:
36113        * dom/Element.cpp:
36114        * dom/Element.h:
36115        * dom/EventTarget.cpp:
36116        (WebCore::EventTargetData::EventTargetData):
36117        * dom/EventTarget.h:
36118        * dom/InputElement.cpp:
36119        (WebCore::InputElementData::~InputElementData):
36120        * dom/InputElement.h:
36121        * dom/MutationEvent.cpp:
36122        (WebCore::MutationEvent::~MutationEvent):
36123        * dom/MutationEvent.h:
36124        * dom/Node.cpp:
36125        (WebCore::Node::refEventTarget):
36126        (WebCore::Node::derefEventTarget):
36127        * dom/Node.h:
36128        * dom/OptionElement.cpp:
36129        (WebCore::OptionElementData::~OptionElementData):
36130        * dom/OptionElement.h:
36131        * dom/PopStateEvent.cpp:
36132        (WebCore::PopStateEvent::~PopStateEvent):
36133        * dom/PopStateEvent.h:
36134        * dom/QualifiedName.cpp:
36135        (WebCore::QualifiedName::~QualifiedName):
36136        * dom/QualifiedName.h:
36137        * dom/SelectElement.cpp:
36138        (WebCore::SelectElementData::~SelectElementData):
36139        * dom/SelectElement.h:
36140        * dom/StaticHashSetNodeList.cpp:
36141        (WebCore::StaticHashSetNodeList::StaticHashSetNodeList):
36142        (WebCore::StaticHashSetNodeList::~StaticHashSetNodeList):
36143        * dom/StaticHashSetNodeList.h:
36144        * dom/StyleElement.cpp:
36145        (WebCore::StyleElement::~StyleElement):
36146        * dom/StyleElement.h:
36147        * dom/TouchEvent.cpp:
36148        (WebCore::TouchEvent::TouchEvent):
36149        (WebCore::TouchEvent::~TouchEvent):
36150        * dom/TouchEvent.h:
36151        * editing/CompositeEditCommand.cpp:
36152        (WebCore::CompositeEditCommand::~CompositeEditCommand):
36153        * editing/CompositeEditCommand.h:
36154        * editing/TextIterator.cpp:
36155        (WebCore::BitStack::~BitStack):
36156        (WebCore::TextIterator::~TextIterator):
36157        (WebCore::WordAwareIterator::~WordAwareIterator):
36158        * editing/TextIterator.h:
36159        * inspector/InspectorValues.cpp:
36160        (WebCore::InspectorObject::~InspectorObject):
36161        (WebCore::InspectorObject::InspectorObject):
36162        (WebCore::InspectorArray::~InspectorArray):
36163        (WebCore::InspectorArray::InspectorArray):
36164        * inspector/InspectorValues.h:
36165        * loader/CachedResource.cpp:
36166        (WebCore::CachedResource::registerHandle):
36167        (WebCore::CachedResource::unregisterHandle):
36168        * loader/CachedResource.h:
36169        * platform/network/HTTPHeaderMap.cpp:
36170        (WebCore::HTTPHeaderMap::HTTPHeaderMap):
36171        (WebCore::HTTPHeaderMap::~HTTPHeaderMap):
36172        (WebCore::HTTPHeaderMap::get):
36173        (WebCore::HTTPHeaderMap::add):
36174        * platform/network/HTTPHeaderMap.h:
36175        * rendering/RenderApplet.cpp:
36176        (WebCore::RenderApplet::~RenderApplet):
36177        * rendering/RenderApplet.h:
36178        * rendering/RenderButton.cpp:
36179        (WebCore::RenderButton::~RenderButton):
36180        * rendering/RenderButton.h:
36181        * rendering/RenderCounter.cpp:
36182        (WebCore::RenderCounter::~RenderCounter):
36183        * rendering/RenderCounter.h:
36184        * rendering/RenderFieldset.h:
36185        * rendering/RenderForeignObject.cpp:
36186        (WebCore::RenderForeignObject::~RenderForeignObject):
36187        * rendering/RenderForeignObject.h:
36188        * rendering/RenderFrame.h:
36189        * rendering/RenderFrameBase.h:
36190        * rendering/RenderHTMLCanvas.h:
36191        * rendering/RenderIFrame.h:
36192        * rendering/RenderInline.h:
36193        * rendering/RenderListItem.h:
36194        * rendering/RenderMarquee.cpp:
36195        (WebCore::RenderMarquee::~RenderMarquee):
36196        * rendering/RenderMarquee.h:
36197        * rendering/RenderPath.cpp:
36198        (WebCore::RenderPath::~RenderPath):
36199        * rendering/RenderPath.h:
36200        * rendering/RenderSVGBlock.h:
36201        * rendering/RenderSVGContainer.cpp:
36202        (WebCore::RenderSVGContainer::~RenderSVGContainer):
36203        * rendering/RenderSVGContainer.h:
36204        * rendering/RenderSVGHiddenContainer.h:
36205        * rendering/RenderSVGInline.h:
36206        * rendering/RenderSVGInlineText.cpp:
36207        (WebCore::RenderSVGInlineText::~RenderSVGInlineText):
36208        * rendering/RenderSVGInlineText.h:
36209        * rendering/RenderSVGModelObject.h:
36210        * rendering/RenderSVGResourceFilterPrimitive.h:
36211        * rendering/RenderSVGRoot.cpp:
36212        (WebCore::RenderSVGRoot::~RenderSVGRoot):
36213        * rendering/RenderSVGRoot.h:
36214        * rendering/RenderSVGTSpan.h:
36215        * rendering/RenderSVGText.h:
36216        * rendering/RenderSVGTextPath.h:
36217        * rendering/RenderSVGTransformableContainer.h:
36218        * rendering/RenderSVGViewportContainer.h:
36219        * rendering/RenderTable.cpp:
36220        (WebCore::RenderTable::~RenderTable):
36221        * rendering/RenderTable.h:
36222        * rendering/RenderTableCell.h:
36223        * rendering/RenderTableCol.h:
36224        * rendering/RenderTableRow.h:
36225        * rendering/RenderTextFragment.cpp:
36226        (WebCore::RenderTextFragment::~RenderTextFragment):
36227        * rendering/RenderTextFragment.h:
36228        * rendering/RenderWordBreak.h:
36229        * svg/SVGStyledElement.cpp:
36230        (WebCore::SVGStyledElement::~SVGStyledElement):
36231        * svg/SVGStyledElement.h:
36232        * svg/SVGStyledTransformableElement.cpp:
36233        (WebCore::SVGStyledTransformableElement::~SVGStyledTransformableElement):
36234        * svg/SVGStyledTransformableElement.h:
36235        * xml/XPathParser.cpp:
36236        (WebCore::XPath::Parser::~Parser):
36237        * xml/XPathParser.h:
36238
362392010-10-08  Martin Robinson  <mrobinson@igalia.com>
36240
36241        Reviewed by Daniel Bates.
36242
36243        [GTK] Fails /LayoutTests/fast/css/button-height.html
36244        https://bugs.webkit.org/show_bug.cgi?id=33936
36245
36246        GTK buttons honor height property set via CSS. The code for the method
36247        adjustButtonStyle originates from the original GTK+ theme drawing code
36248        and is clearly just a copy-paste from the Safari theme drawing code. The
36249        Safari theme drawing code does quite a bit of work to ensure that button
36250        fonts are consistent with the system theme, which is not something the GTK+
36251        port does.
36252
36253        This change brings the method more in line with the Chromium port, which
36254        allows CSS to style buttons, only overriding the line-height property,
36255        which is required for layout tests to pass.
36256
36257        * platform/gtk/RenderThemeGtk.cpp:
36258        (WebCore::RenderThemeGtk::adjustButtonStyle): No longer override most CSS
36259        properties for button styling.
36260
362612010-10-08  Mihai Parparita  <mihaip@chromium.org>
36262
36263        Reviewed by Adam Barth.
36264
36265        popstate events are lost when network connection is in progress
36266        https://bugs.webkit.org/show_bug.cgi?id=42940
36267        
36268        Instead of checking FrameLoader::isComplete() (which isn't true if the
36269        document's resource loader has requests outstanding), check that the
36270        document's readyState is complete, as the spec says.
36271
36272        Test: http/tests/history/popstate-fires-with-pending-requests.html
36273
36274        * dom/Document.cpp:
36275        (WebCore::Document::statePopped):
36276        * loader/FrameLoader.cpp:
36277        (WebCore::FrameLoader::didBeginDocument): Added call to set readyState
36278        to Loading earlier. Otherwise, readyState's initial value is Complete,
36279        and we only set it to Loading in Document::implicitOpen (which is called
36280        after FrameLoader::didBeginDocument by DocumentWriter::begin), so we 
36281        could end up in Document::statePopped and have the readyState be
36282        Complete, even if we hadn't even begin loading the document.
36283
362842010-10-08  Daniel Cheng  <dcheng@chromium.org>
36285
36286        Reviewed by Tony Chang.
36287
36288        [chromium] Update ReadableDataObject/WritableDataObject interface for ChromiumDataObject change
36289        https://bugs.webkit.org/show_bug.cgi?id=47394
36290
36291        Minor cleanup--these classes have suffered from bit rot since they aren't
36292        actively used at the moment. The three main changes are to:
36293        1) Condense getURL, setURL, getHTML, setHTML, urlTitle, htmlBaseUrl,
36294           setUrlTitle, and sethtmlBaseUrl into setters/getters for just the URL
36295           title and HTML base URL.
36296        2) Use Clipboard::ClipboardType instead of a bool.
36297        3) Remove the use of virtuals, as they are no longer needed..
36298
36299        * platform/chromium/ReadableDataObject.cpp:
36300        (WebCore::clipboardBuffer):
36301        (WebCore::ReadableDataObject::create):
36302        (WebCore::ReadableDataObject::ReadableDataObject):
36303        (WebCore::ReadableDataObject::getData):
36304        (WebCore::ReadableDataObject::urlTitle): renamed from getURL
36305        (WebCore::ReadableDataObject::htmlBaseUrl): renamed from getHTML
36306        (WebCore::ReadableDataObject::containsFilenames):
36307        (WebCore::ReadableDataObject::filenames):
36308        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
36309        * platform/chromium/ReadableDataObject.h:
36310        * platform/chromium/WritableDataObject.cpp:
36311        (WebCore::WritableDataObject::create):
36312        (WebCore::WritableDataObject::WritableDataObject):
36313        (WebCore::WritableDataObject::setData):
36314        * platform/chromium/WritableDataObject.h:
36315        (WebCore::WritableDataObject::setUrlTitle): renamed from setURL
36316        (WebCore::WritableDataObject::setHtmlBaseUrl): renamed from setHTML
36317        (WebCore::WritableDataObject::dataMap):
36318        (WebCore::WritableDataObject::urlTitle):
36319        (WebCore::WritableDataObject::htmlBaseURL):
36320        (WebCore::WritableDataObject::fileExtension):
36321        (WebCore::WritableDataObject::fileContentFilename):
36322        (WebCore::WritableDataObject::fileContent):
36323        (WebCore::WritableDataObject::setFileExtension):
36324        (WebCore::WritableDataObject::setFileContentFilename):
36325        (WebCore::WritableDataObject::setFileContent):
36326
363272010-10-08  Abhishek Arya  <inferno@chromium.org>
36328
36329        Unreviewed, rolling out r69360.
36330        http://trac.webkit.org/changeset/69360
36331        https://bugs.webkit.org/show_bug.cgi?id=46921
36332
36333        Test still crashing on chromium test_shell
36334
36335        * html/HTMLObjectElement.cpp:
36336        (WebCore::HTMLObjectElement::renderFallbackContent):
36337
363382010-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
36339
36340        Unreviewed, rolling out r68574.
36341        http://trac.webkit.org/changeset/68574
36342        https://bugs.webkit.org/show_bug.cgi?id=47433
36343
36344        [chromium] Breaks partial repaint of images while scrolling
36345        (Requested by jamesr on #webkit).
36346
36347        * platform/graphics/skia/ImageSkia.cpp:
36348        (WebCore::computeResamplingMode):
36349        (WebCore::drawResampledBitmap):
36350
363512010-10-08  Andy Estes  <aestes@apple.com>
36352
36353        Reviewed by Darin Adler.
36354
36355        REGRESSION (r66223): Crash when using CSS content and -webkit-mask-box-image properties containing cached images.
36356        https://bugs.webkit.org/show_bug.cgi?id=47430
36357
36358        Test: fast/replaced/css-content-and-webkit-mask-box-image-crash.html
36359
36360        * rendering/RenderImage.cpp:
36361        (WebCore::RenderImage::imageChanged): imageChanged() can be called prior
36362        to m_imageResource being set. The appropriate thing to do in this case
36363        is to return early.
36364        (WebCore::RenderImage::notifyFinished): Ditto.
36365
363662010-10-08  Andrei Popescu  <andreip@google.com>
36367
36368        Reviewed by Jeremy Orlow.
36369
36370        IndexedDB does not have a quota mechanism.
36371        https://bugs.webkit.org/show_bug.cgi?id=47389
36372
36373        Test: storage/indexeddb/database-quota.html
36374
36375        Add a simple mechanism for enforcing a maximum size
36376        for each origin using IndexedDB. Note that this depends
36377        on having one SQLite database file per origin, which is
36378        addressed in a separate patch.
36379
36380        * page/GroupSettings.cpp:
36381        (WebCore::GroupSettings::GroupSettings):
36382        (WebCore::GroupSettings::setIndexedDBQuotaBytes):
36383        * page/GroupSettings.h:
36384        (WebCore::GroupSettings::indexedDBQuotaBytes):
36385        * storage/IDBDatabaseBackendImpl.cpp:
36386        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
36387        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
36388        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
36389        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
36390        * storage/IDBFactory.cpp:
36391        (WebCore::IDBFactory::open):
36392        * storage/IDBFactoryBackendImpl.cpp:
36393        (WebCore::openSQLiteDatabase):
36394        (WebCore::IDBFactoryBackendImpl::open):
36395        * storage/IDBFactoryBackendImpl.h:
36396        * storage/IDBFactoryBackendInterface.h:
36397        * storage/IDBObjectStoreBackendImpl.cpp:
36398        (WebCore::putObjectStoreData):
36399        (WebCore::putIndexData):
36400        (WebCore::IDBObjectStoreBackendImpl::put):
36401        (WebCore::IDBObjectStoreBackendImpl::putInternal):
36402        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
36403        * storage/IDBObjectStoreBackendImpl.h:
36404
364052010-10-08  Gavin Peters  <gavinp@chromium.org>
36406
36407        Reviewed by Adam Barth.
36408
36409        Output X-Purpose header for prefetch requests
36410        https://bugs.webkit.org/show_bug.cgi?id=46529
36411
36412        Test: http/tests/misc/prefetch-purpose.html
36413
36414        * loader/loader.cpp:
36415        (WebCore::Loader::Host::servePendingRequests):
36416
364172010-10-08  James Kozianski  <koz@chromium.org>
36418
36419        Reviewed by Simon Fraser.
36420
36421        Crash on reload when CSS property 'content' has malformed URL.
36422        https://bugs.webkit.org/show_bug.cgi?id=47322
36423
36424        Make CSSStyleSelector handle the case where a cached image can't be
36425        produced due to a malformed URL.
36426
36427        Test: fast/css-generated-content/malformed-url.html
36428
36429        * css/CSSStyleSelector.cpp:
36430        (WebCore::CSSStyleSelector::loadPendingImages):
36431
364322010-10-08  Dirk Schulze  <krit@webkit.org>
36433
36434        Reviewed by Nikolas Zimmermann.
36435
36436        SVG feImage needs absolute subregion for preserveAspectRatio
36437        https://bugs.webkit.org/show_bug.cgi?id=47409
36438
36439        PreserverAspectRatio needs the subregion in absolute coordinates to determine
36440        the destination position and size of the input image. The maxEffectRect() already
36441        stores the absolute subregion, but clipped to the filter region.
36442
36443        Test: svg/W3C-SVG-1.1se/filters-image-03-f.svg
36444
36445        * platform/graphics/filters/FETile.cpp:
36446        (WebCore::FETile::apply):
36447        * platform/graphics/filters/FilterEffect.h: Added enum to differentate sourece inputs, feTile and feImage.
36448        (WebCore::FilterEffect::filterEffectType):
36449        * platform/graphics/filters/SourceAlpha.h: Make use of the new enum in FilterEffect
36450        (WebCore::SourceAlpha::filterEffectType):
36451        * platform/graphics/filters/SourceGraphic.h: Ditto.
36452        (WebCore::SourceGraphic::filterEffectType):
36453        * svg/graphics/filters/SVGFEImage.cpp: Take the absolute subregion to determine the destination rect for input image.
36454        (WebCore::FEImage::apply):
36455        * svg/graphics/filters/SVGFEImage.h: Ditto.
36456        (WebCore::FEImage::setAbsoluteSubregion):
36457        (WebCore::FEImage::filterEffectType):
36458        * svg/graphics/filters/SVGFilter.cpp: Give over subregion in absolute coordinates to feImage. Just feImage makes use of it.
36459        (WebCore::SVGFilter::determineFilterPrimitiveSubregion):
36460
364612010-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
36462
36463        Reviewed by Dirk Schulze.
36464
36465        gradient stroke on lines does not work
36466        https://bugs.webkit.org/show_bug.cgi?id=40985
36467
36468        Correct handling of invalid fill/stroke paint servers / colors according to SVG 1.1 2nd Edition.
36469        Perfectly matches Opera, and now lets us pass three of the new tests.
36470
36471        Fix incorrect svg/custom/invalid-fill* tests:
36472        -> If there's an invalid fill URI, but no fallback specified, it is as if fill="black" was specified. (invalid-fill.svg)
36473        -> If there's an invalid fill color, but no fallback specified, it is as if fill="none" was specified. (invalid-fill-hex.svg)
36474
36475        Needed to refactor some of the gradient/pattern code to properly handle fallback paint servers.
36476        As side effect, we're allowing gradients with gradientUnits="userSpaceOnUse" to apply on 1d objects (lines) again, per SVG 1.1 2nd edition.
36477
36478        Tests: svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg
36479               svg/W3C-SVG-1.1-SE/pservers-grad-17-b.svg
36480               svg/W3C-SVG-1.1-SE/pservers-grad-20-b.svg
36481
36482        * rendering/RenderSVGResource.cpp: Rewrite fill/stroke paint resource requests, share all code between the similar functions.
36483        (WebCore::requestPaintingResource):
36484        (WebCore::RenderSVGResource::fillPaintingResource):
36485        (WebCore::RenderSVGResource::strokePaintingResource):
36486        * rendering/RenderSVGResource.h:
36487        * rendering/RenderSVGResourceGradient.cpp: Split collecting gradient properties from building the gradient. We don't need to build it, if it's not applyable (eg. on 1d lines).
36488        (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
36489        (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
36490        (WebCore::clipToTextMask):
36491        (WebCore::RenderSVGResourceGradient::applyResource):
36492        * rendering/RenderSVGResourceGradient.h: Stop storing boundingBoxMode & gradientTransform in each GradientData object, it's enough to just store it in the gradient resource, once.
36493        * rendering/RenderSVGResourceLinearGradient.cpp:
36494        (WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes): Splitted from buildGradient.
36495        (WebCore::RenderSVGResourceLinearGradient::buildGradient):
36496        * rendering/RenderSVGResourceLinearGradient.h:
36497        (WebCore::RenderSVGResourceLinearGradient::boundingBoxMode): Return bounding box mode information, from m_attributes instead of storing in gradientData.
36498        (WebCore::RenderSVGResourceLinearGradient::calculateGradientTransform): Ditto.
36499        * rendering/RenderSVGResourcePattern.cpp: Split collecting pattern properties from building the pattern. We don't need to build it, if it's not applyable (eg. on 1d lines).
36500        (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
36501        (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
36502        (WebCore::RenderSVGResourcePattern::applyResource):
36503        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
36504        * rendering/RenderSVGResourcePattern.h:
36505        * rendering/RenderSVGResourceRadialGradient.cpp:
36506        (WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
36507        (WebCore::RenderSVGResourceRadialGradient::buildGradient):
36508        * rendering/RenderSVGResourceRadialGradient.h:
36509        (WebCore::RenderSVGResourceRadialGradient::boundingBoxMode):
36510        (WebCore::RenderSVGResourceRadialGradient::calculateGradientTransform):
36511        * rendering/SVGRenderTreeAsText.cpp: Adapt to change, that fill/strokePaintingResource now take a Color& fallbackColor parameter.
36512        (WebCore::writeStyle):
36513        (WebCore::writeSVGResourceContainer):
36514        * rendering/svg/RenderSVGPath.cpp: 
36515        (WebCore::RenderSVGPath::fillContains): Ditto.
36516        (WebCore::RenderSVGPath::strokeContains): Ditto.
36517        (WebCore::RenderSVGPath::fillAndStrokePath): Properly handle fallback color, if an existing (!) paint server failed to apply.
36518        * rendering/svg/SVGInlineTextBox.cpp:
36519        (WebCore::SVGInlineTextBox::acquirePaintingResource): Ditto.
36520        * svg/SVGLinearGradientElement.cpp:
36521        (WebCore::SVGLinearGradientElement::collectGradientAttributes): Pass LinearGradientAttributes by reference, instead of returning a copy.
36522        * svg/SVGLinearGradientElement.h: Rename collectGradientProperties to collectGradientAttributes.
36523        * svg/SVGPatternElement.cpp:
36524        (WebCore::SVGPatternElement::collectPatternAttributes): Pass PatternAttributes by reference, instead of returning.
36525        * svg/SVGPatternElement.h: Rename collectPatternProperties to collectPatternAttributes.
36526        * svg/SVGRadialGradientElement.cpp:
36527        (WebCore::SVGRadialGradientElement::collectGradientAttributes): Pass RadialGradientAttributes by reference, instead of returning a copy.
36528        * svg/SVGRadialGradientElement.h: Rename collectGradientProperties to collectGradientAttributes.
36529
365302010-10-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
36531
36532        Reviewed by Andreas Kling.
36533
36534        [Qt] Slider widgets looks bad on Mac
36535        https://bugs.webkit.org/show_bug.cgi?id=47421
36536
36537        This patch change the rendering of the slider to only have the
36538        subcontrols that would be defined by default on a QSlider.
36539
36540        * platform/qt/RenderThemeQt.cpp:
36541        (WebCore::RenderThemeQt::paintSliderTrack):
36542
365432010-10-08  Renata Hodovan  <reni@inf.u-szeged.hu>
36544
36545        Reviewed by Andreas Kling.
36546
36547        SVGFEColorMatrixElement doesn't support dynamic invalidation, when attributes change.
36548        https://bugs.webkit.org/show_bug.cgi?id=47342
36549
36550        The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
36551
36552        Tests: svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr.html
36553               svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr.html
36554               svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr.html
36555               svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop.html
36556               svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop.html
36557               svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop.html
36558
36559        * svg/SVGFEColorMatrixElement.cpp:
36560        (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
36561        * svg/SVGFEColorMatrixElement.h:
36562
365632010-10-08  Pavel Podivilov  <podivilov@chromium.org>
36564
36565        Reviewed by Pavel Feldman.
36566
36567        Web Inspector: save InspectorController in instrumentation cookie
36568        https://bugs.webkit.org/show_bug.cgi?id=47406
36569
36570        * bindings/v8/V8Proxy.cpp:
36571        (WebCore::V8Proxy::evaluate):
36572        (WebCore::V8Proxy::callFunction):
36573        * dom/Document.cpp:
36574        (WebCore::Document::recalcStyle):
36575        * dom/Node.cpp:
36576        (WebCore::Node::dispatchGenericEvent):
36577        * html/parser/HTMLDocumentParser.cpp:
36578        (WebCore::HTMLDocumentParser::pumpTokenizer):
36579        * inspector/InspectorInstrumentation.cpp:
36580        * inspector/InspectorInstrumentation.h:
36581        * loader/ResourceLoader.cpp:
36582        (WebCore::ResourceLoader::didReceiveResponse):
36583        (WebCore::ResourceLoader::didReceiveData):
36584        * page/DOMTimer.cpp:
36585        (WebCore::DOMTimer::fired):
36586        * page/DOMWindow.cpp:
36587        (WebCore::DOMWindow::dispatchEvent):
36588        * page/FrameView.cpp:
36589        (WebCore::FrameView::layout):
36590        (WebCore::FrameView::paintContents):
36591        * rendering/RenderLayerBacking.cpp:
36592        (WebCore::RenderLayerBacking::paintContents):
36593        * xml/XMLHttpRequest.cpp:
36594        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
36595
365962010-10-08  Adam Roben  <aroben@apple.com>
36597
36598        Windows Release build fix for 32-bit systems
36599
36600        WebCore had once again grown too large for the linker's virtual
36601        address space on 32-bit systems. I combined WebCore/rendering,
36602        WebCore/rendering/style, and WebCore/dom into new *AllInOne.cpp files,
36603        and added a few more files to RenderSVGAllInOne.cpp.
36604
36605        Fixes <http://webkit.org/b/47417> <rdar://problem/8529362>
36606
36607        * WebCore.vcproj/WebCore.vcproj: Added new *AllInOne.cpp files and
36608        excluded the individual files they contain from the build.
36609
36610        * rendering/RenderSVGAllInOne.cpp: Added a few more files to this.
36611
36612        * dom/DOMAllInOne.cpp: Added.
36613        * rendering/RenderingAllInOne.cpp: Added.
36614        * rendering/style/StyleAllInOne.cpp: Added.
36615
366162010-10-08  Girish Ramakrishnan  <girish@forwardbias.in>
36617
36618        Reviewed by Andreas Kling.
36619
36620        [Qt] Use constBegin and constEnd when using const iterators
36621
36622        * platform/graphics/qt/GraphicsLayerQt.cpp:
36623        (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
36624        (WebCore::GraphicsLayerQtImpl::updateTransform):
36625        (WebCore::GraphicsLayerQtImpl::flushChanges):
36626
366272010-10-07  Pavel Feldman  <pfeldman@chromium.org>
36628
36629        Reviewed by Yury Semikhatsky.
36630
36631        Web Inspector: add resource viewer to the network panel.
36632        https://bugs.webkit.org/show_bug.cgi?id=47346
36633
36634        * inspector/front-end/DataGrid.js:
36635        (WebInspector.DataGrid):
36636        (WebInspector.DataGrid.prototype.autoSizeColumns):
36637        (WebInspector.DataGrid.prototype.updateWidths):
36638        (WebInspector.DataGrid.prototype.columnWidthsMap):
36639        (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
36640        (WebInspector.DataGrid.prototype.isColumnVisible):
36641        (WebInspector.DataGrid.prototype.showColumn):
36642        (WebInspector.DataGrid.prototype.hideColumn):
36643        (WebInspector.DataGrid.prototype._positionResizers):
36644        (WebInspector.DataGrid.prototype._resizerDragging):
36645        * inspector/front-end/NetworkPanel.js:
36646        (WebInspector.NetworkPanel):
36647        (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
36648        (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
36649        (WebInspector.NetworkPanel.prototype.handleShortcut):
36650        (WebInspector.NetworkPanel.prototype._createTable):
36651        (WebInspector.NetworkPanel.prototype._sortItems):
36652        (WebInspector.NetworkPanel.prototype._sortByTimeline):
36653        (WebInspector.NetworkPanel.prototype._createSummaryBar):
36654        (WebInspector.NetworkPanel.prototype._updateDividersIfNeeded):
36655        (WebInspector.NetworkPanel.prototype.hide):
36656        (WebInspector.NetworkPanel.prototype.get searchableViews):
36657        (WebInspector.NetworkPanel.prototype.refresh):
36658        (WebInspector.NetworkPanel.prototype.reset):
36659        (WebInspector.NetworkPanel.prototype.refreshResource):
36660        (WebInspector.NetworkPanel.prototype.canShowSourceLine):
36661        (WebInspector.NetworkPanel.prototype.showSourceLine):
36662        (WebInspector.NetworkPanel.prototype._showResource):
36663        (WebInspector.NetworkPanel.prototype._closeVisibleResource):
36664        (WebInspector.NetworkPanel.prototype._resourceViewForResource):
36665        (WebInspector.NetworkPanel.prototype._resourceViewTypeMatchesResource):
36666        (WebInspector.NetworkPanel.prototype._toggleGridMode):
36667        (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
36668        (WebInspector.NetworkDataGridNode):
36669        (WebInspector.NetworkDataGridNode.prototype.select):
36670        (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
36671        * inspector/front-end/networkPanel.css:
36672        (#network-container):
36673        (#network-views):
36674        (.network.panel .data-grid.full-grid-mode .viewer-column):
36675        (.network.panel .data-grid.brief-grid-mode .time-column):
36676        (.network.panel.viewing-resource .network-timeline-grid):
36677        (.network.panel .data-grid.viewing-resource-mode .timeline-column):
36678        (.network.panel .network-sidebar):
36679        (.network.panel:not(.viewing-resource) .sidebar-resizer-vertical):
36680        (.network.panel.viewing-resource .data-grid-resizer):
36681        (.network.panel .scope-bar):
36682        (.network.panel .resource-view.headers-visible .resource-view-content):
36683        (.network.panel:not(.viewing-resource) .data-grid tr.selected):
36684
366852010-10-08  Andreas Kling  <kling@webkit.org>
36686
36687        Reviewed by Nikolas Zimmermann.
36688
36689        SVGTextLayoutAttributesBuilder: "XValue" and "YValue" clash with X11 macros
36690        https://bugs.webkit.org/show_bug.cgi?id=47180
36691
36692        Rename *Value to *ValueAttribute
36693
36694        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
36695        (WebCore::SVGTextLayoutAttributesBuilder::nextLayoutValue):
36696        (WebCore::SVGTextLayoutAttributesBuilder::assignLayoutAttributesForCharacter):
36697        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
36698
366992010-10-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
36700
36701        Reviewed by Kenneth Rohde Christiansen.
36702
36703        [Qt] Don't use -whole-archive to link-in libWebKit2.a except for libQtWebKit.so
36704        https://bugs.webkit.org/show_bug.cgi?id=47347
36705
36706        * WebCore.pro:
36707
367082010-10-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
36709
36710        Reviewed by Kenneth Rohde Christiansen.
36711
36712        [EFL] Implement IntRectEfl.cpp
36713        https://bugs.webkit.org/show_bug.cgi?id=47403
36714
36715        Implement IntRect for Efl Port using Eina_Rectangle.
36716
36717        * platform/graphics/IntRect.h:
36718        * platform/graphics/efl/IntRectEfl.cpp:
36719        (WebCore::IntRect::IntRect):
36720        (WebCore::IntRect::operator Eina_Rectangle):
36721
367222010-10-08  Andreas Kling  <andreas.kling@nokia.com>
36723
36724        Reviewed by Nikolas Zimmermann.
36725
36726        SVG: Make RenderPath DRT output platform-independent
36727        https://bugs.webkit.org/show_bug.cgi?id=46051
36728
36729        Move away from using the port-specific Path::debugString() to dump
36730        RenderPath objects. This shrinks the DRT output delta between platforms
36731        and makes it more readable as we now dump only the relevant,
36732        element-specific properties of each object.
36733
36734        * rendering/SVGRenderTreeAsText.cpp:
36735        (WebCore::operator<<):
36736        Generate DRT output for RenderPaths in a platform-independent manner,
36737        dumping the relevant element properties.
36738
367392010-10-08  Kinuko Yasuda  <kinuko@chromium.org>
36740
36741        Reviewed by David Levin.
36742
36743        Fix FileSystem path validation order to normalize '..' and '.' before restriction checks
36744        https://bugs.webkit.org/show_bug.cgi?id=47309
36745
36746        Test: fast/filesystem/op-get-entry.html
36747
36748        * fileapi/DOMFileSystemBase.cpp:
36749        (WebCore::DOMFileSystemBase::getFile): Fixed the path validation order.
36750        (WebCore::DOMFileSystemBase::getDirectory): Fixed the path validation order.
36751
367522010-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
36753
36754        Reviewed by Xan Lopez.
36755
36756        [GTK] Port GTK+ theming code to GTK+ 3.x APIs
36757        https://bugs.webkit.org/show_bug.cgi?id=47398
36758
36759        Create a new gtk3drawing file for the widget drawing primitives in
36760        WebKit, using the GTK+ 3.x APIs. It's very similar to the GTK+ 2.x
36761        code at the moment, but we'll evolve it incrementally from here.
36762
36763        * GNUmakefile.am:
36764        * platform/gtk/RenderThemeGtk.cpp:
36765        (WebCore::RenderThemeGtk::partsForDrawable):
36766        (WebCore::RenderThemeGtk::paintMozillaGtkWidget):
36767        * platform/gtk/gtk2drawing.c:
36768        (TSOffsetStyleGCArray):
36769        (TSOffsetStyleGCs):
36770        (moz_gtk_button_paint):
36771        (moz_gtk_scrollbar_thumb_paint):
36772        (moz_gtk_entry_paint):
36773        (moz_gtk_combo_box_paint):
36774        (moz_gtk_get_widget_border):
36775        * platform/gtk/gtk3drawing.c: Added.
36776        * platform/gtk/gtkdrawing.h:
36777
367782010-10-07  Daniel Cheng  <dcheng@chromium.org>
36779
36780        Reviewed by Kent Tamura.
36781
36782        [chromium] Fix indentation in ChromiumDataObject.h 
36783        https://bugs.webkit.org/show_bug.cgi?id=47396
36784
36785        Just a cleanup patch to make followup diffs smaller.
36786
36787        * platform/chromium/ChromiumDataObject.h:
36788        (WebCore::ChromiumDataObject::create):
36789        (WebCore::ChromiumDataObject::copy):
36790        (WebCore::ChromiumDataObject::urlTitle):
36791        (WebCore::ChromiumDataObject::setUrlTitle):
36792        (WebCore::ChromiumDataObject::htmlBaseUrl):
36793        (WebCore::ChromiumDataObject::setHtmlBaseUrl):
36794        (WebCore::ChromiumDataObject::containsFilenames):
36795        (WebCore::ChromiumDataObject::filenames):
36796        (WebCore::ChromiumDataObject::setFilenames):
36797        (WebCore::ChromiumDataObject::fileExtension):
36798        (WebCore::ChromiumDataObject::setFileExtension):
36799        (WebCore::ChromiumDataObject::fileContentFilename):
36800        (WebCore::ChromiumDataObject::setFileContentFilename):
36801        (WebCore::ChromiumDataObject::fileContent):
36802        (WebCore::ChromiumDataObject::setFileContent):
36803
368042010-10-07  Kent Tamura  <tkent@chromium.org>
36805
36806        Reviewed by Dimitri Glazkov.
36807
36808        Refactor HTMLInputElement: Move valueAsDate and valueAsNumber implementations
36809        https://bugs.webkit.org/show_bug.cgi?id=47327
36810
36811        Move the content of HTMLInputElement::valueAsDate(), setValueAsDate(),
36812        valueAsNumber(), and setValueAsNumber() to InputType, and move
36813        serialize() and serializeForDateTimeTypes() too
36814
36815        * html/BaseDateAndTimeInputType.cpp:
36816        (WebCore::BaseDateAndTimeInputType::valueAsDate):
36817        (WebCore::BaseDateAndTimeInputType::setValueAsDate):
36818        (WebCore::BaseDateAndTimeInputType::valueAsNumber):
36819        (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
36820        (WebCore::BaseDateAndTimeInputType::serialize):
36821        * html/BaseDateAndTimeInputType.h:
36822        * html/DateInputType.cpp:
36823        (WebCore::DateInputType::setMillisecondToDateComponents):
36824        * html/DateInputType.h:
36825        * html/DateTimeInputType.cpp:
36826        (WebCore::DateTimeInputType::setMillisecondToDateComponents):
36827        * html/DateTimeInputType.h:
36828        * html/DateTimeLocalInputType.cpp:
36829        (WebCore::DateTimeLocalInputType::valueAsDate):
36830        (WebCore::DateTimeLocalInputType::setValueAsDate):
36831        (WebCore::DateTimeLocalInputType::setMillisecondToDateComponents):
36832        * html/DateTimeLocalInputType.h:
36833        * html/HTMLInputElement.cpp:
36834        (WebCore::HTMLInputElement::valueAsDate):
36835        (WebCore::HTMLInputElement::setValueAsDate):
36836        (WebCore::HTMLInputElement::valueAsNumber):
36837        (WebCore::HTMLInputElement::setValueAsNumber):
36838        (WebCore::HTMLInputElement::stepUpFromRenderer):
36839        * html/HTMLInputElement.h:
36840        * html/InputType.cpp:
36841        (WebCore::InputType::valueAsDate):
36842        (WebCore::InputType::setValueAsDate):
36843        (WebCore::InputType::valueAsNumber):
36844        (WebCore::InputType::setValueAsNumber):
36845        (WebCore::InputType::serialize):
36846        * html/InputType.h:
36847        * html/MonthInputType.cpp:
36848        (WebCore::MonthInputType::valueAsDate):
36849        (WebCore::MonthInputType::setValueAsDate):
36850        (WebCore::MonthInputType::setMillisecondToDateComponents):
36851        * html/MonthInputType.h:
36852        * html/NumberInputType.cpp:
36853        (WebCore::NumberInputType::valueAsNumber):
36854        (WebCore::NumberInputType::setValueAsNumber):
36855        (WebCore::NumberInputType::serialize):
36856        * html/NumberInputType.h:
36857        * html/RangeInputType.cpp:
36858        (WebCore::RangeInputType::valueAsNumber):
36859        (WebCore::RangeInputType::setValueAsNumber):
36860        (WebCore::RangeInputType::serialize):
36861        * html/RangeInputType.h:
36862        * html/TimeInputType.cpp:
36863        (WebCore::TimeInputType::setMillisecondToDateComponents):
36864        * html/TimeInputType.h:
36865        * html/WeekInputType.cpp:
36866        (WebCore::WeekInputType::setMillisecondToDateComponents):
36867        * html/WeekInputType.h:
36868
368692010-10-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
36870
36871        Reviewed by Kenneth Rohde Christiansen.
36872
36873        [Texmap] [Qt] Texture mapper initial implementation
36874        Texture Mapper is an implementation of accelerated compositing that doesn't require a
36875        platform specific scenegraph library like CA or QGraphicsView. The idea is that with
36876        time this would replace GraphicsLayerQt, and could serve as an implementation for other
36877        platforms that don't have a scenegraph library. The first stage of this is to add all the code to trunk,
36878        and enable it in Qt with an opt-in build flag so that it can be easily tested. Once it reaches
36879        an adequate level of stability, we can enable it by default and eventually have it replace GraphicsLayerQt.
36880
36881        This change includes only the common new files and the Qt backend; Still to come: the GL backend and integration layer.
36882
36883        * platform/graphics/qt/TextureMapperQt.cpp: Added.
36884        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: Added.
36885        * platform/graphics/texmap/GraphicsLayerTextureMapper.h: Added.
36886        * platform/graphics/texmap/TextureMapper.h: Added.
36887        * platform/graphics/texmap/TextureMapperPlatformLayer.h: Added.
36888
368892010-10-07  Antonio Gomes  <agomes@rim.com>
36890
36891        Reviewed by Simon Fraser.
36892
36893        [Mac] [DRT] implement setSpatialNavigationEnabled
36894        https://bugs.webkit.org/show_bug.cgi?id=47291
36895
36896        Added Settings::setSpatialNavigationEnabled symbols to WebKit.exp.in
36897        so it can be used from WebKit/mac.
36898
36899        * WebCore.exp.in:
36900
369012010-10-07  Eric Uhrhane  <ericu@chromium.org>
36902
36903        Reviewed by Jian Li
36904
36905        [V8] Add FileWriter to active DOM map
36906        https://bugs.webkit.org/show_bug.cgi?id=47380
36907
36908        It's an ActiveDOMObject; it needs to be in the map.
36909
36910        * bindings/scripts/CodeGeneratorV8.pm:
36911
369122010-10-07  Nico Weber  <thakis@chromium.org>
36913
36914        Reviewed by James Robinson.
36915
36916        [chromium] Make sure to update the current graphics context when calling out to AppKit.
36917        https://bugs.webkit.org/show_bug.cgi?id=47387
36918
36919        This ports r57741 to ThemeChromiumMac. It also reverts r66975, which is
36920        now no longer necessary.
36921
36922        Should be covered by existing tests. The checkbox at
36923        http://webkit.org/blog-files/3d-transforms/morphing-cubes.html should
36924        now show up correctly.
36925
36926        * platform/chromium/ThemeChromiumMac.mm:
36927        (WebCore::paintCheckbox):
36928        (WebCore::paintRadio):
36929        Create current context.
36930        * platform/graphics/chromium/ContentLayerChromium.cpp:
36931        (WebCore::ContentLayerChromium::updateContents):
36932        Remove LocalCurrentContext, it's now no longer necessary.
36933
369342010-10-07  Cris Neckar  <cdn@chromium.org>
36935
36936        Reviewed by Adam Barth.
36937
36938        Postpone clearing the imageLoader when rendering certain fallback content for objects until after the attach().
36939        https://bugs.webkit.org/show_bug.cgi?id=46921
36940
36941        Test: fast/html/object-image-nested-fallback.html
36942
36943        * html/HTMLObjectElement.cpp:
36944        (WebCore::HTMLObjectElement::renderFallbackContent):
36945
369462010-10-07  Rafael Antognolli  <antognolli@profusion.mobi>
36947
36948        Reviewed by Kenneth Rohde Christiansen.
36949
36950        [EFL] Fix shared timers on EFL port - make them thread safe.
36951        https://bugs.webkit.org/show_bug.cgi?id=47383
36952
36953        Using ecore_timer_add to create a timer from a thread that is
36954        not the main thread isn't safe. Now we add a pipe that is used
36955        to request a timer to be added in the main thread.
36956
36957        In order to reduce some delay on timers that are added with a
36958        very small interval, the timer callback is called immediately
36959        if the interval is smaller than the mainloop frame time.
36960
36961        No new features, so no tests added.
36962
36963        * platform/efl/SharedTimerEfl.cpp:
36964        (WebCore::setSharedTimerFiredFunction):
36965        (WebCore::timerEvent):
36966        (WebCore::processTimers):
36967        (WebCore::pipeHandlerCb):
36968        (WebCore::stopSharedTimer):
36969        (WebCore::addNewTimer):
36970        (WebCore::setSharedTimerFireTime):
36971
369722010-10-07  James Kozianski  <koz@chromium.org>
36973
36974        Reviewed by Adam Barth.
36975
36976        getPropertyValue('border') is incorrect after border-top-width is set
36977        https://bugs.webkit.org/show_bug.cgi?id=45949
36978
36979        Test: fast/dom/css-shorthand-common-value.html
36980
36981        CSSMutableStyleDeclaration::getCommonValue() was ignoring values from
36982        properties that were implicitly set, which led to erroneous results
36983        from getPropertyValue().
36984
36985        * css/CSSMutableStyleDeclaration.cpp:
36986        (WebCore::CSSMutableStyleDeclaration::getCommonValue):
36987
369882010-10-07  Ryosuke Niwa  <rniwa@webkit.org>
36989
36990        Reviewed by Tony Chang.
36991
36992        REGRESSION: Indenting pre duplicates content
36993        https://bugs.webkit.org/show_bug.cgi?id=47233
36994
36995        The bug was caused by our not splitting text nodes properly.
36996
36997        In new approach, we split text nodes in each iteration. Added rangeForParagraphSplitingTextNodesIfNeeded
36998        to split text nodes at the start and at the end of paragraph, which also adjusts start and end positions
36999        for moveParagraphWithClones. Added endOfNextParagrahSplittingTextNodesIfNeeded to adjust endOfNextParagraph,
37000        start, and end to work-around moveParagraphWithClones's removing a line feed.
37001
37002        Tests: editing/execCommand/indent-pre-list.html
37003               editing/execCommand/indent-pre-paragraphs.html
37004
37005        * editing/ApplyBlockElementCommand.cpp:
37006        (WebCore::ApplyBlockElementCommand::formatSelection): See above.
37007        (WebCore::isNewLineAtPosition):
37008        (WebCore::renderStyleOfEnclosingTextNode): Added.
37009        (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Added.
37010        (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Added.
37011        * editing/ApplyBlockElementCommand.h:
37012        * editing/FormatBlockCommand.cpp:
37013        (WebCore::FormatBlockCommand::formatRange): Takes two Positions instead of one VisiblePosition.
37014        * editing/FormatBlockCommand.h:
37015        * editing/IndentOutdentCommand.cpp:
37016        (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Ditto.
37017        (WebCore::IndentOutdentCommand::indentIntoBlockquote): Ditto.
37018        (WebCore::IndentOutdentCommand::formatRange): Ditto.
37019        * editing/IndentOutdentCommand.h:
37020
370212010-10-07  Jian Li  <jianli@chromium.org>
37022
37023        Reviewed by Adam Barth.
37024
37025        Support generating a FormData object based on the data in an existing <form>.
37026        https://bugs.webkit.org/show_bug.cgi?id=45929
37027
37028        Test: http/tests/local/formdata/send-form-data-constructed-from-form.html
37029
37030        * bindings/js/JSDOMFormDataCustom.cpp:
37031        (WebCore::toHTMLFormElement):
37032        (WebCore::JSDOMFormDataConstructor::constructJSDOMFormData):
37033        * bindings/v8/custom/V8DOMFormDataCustom.cpp:
37034        (WebCore::V8DOMFormData::constructorCallback):
37035        * html/DOMFormData.cpp:
37036        (WebCore::DOMFormData::DOMFormData):
37037        * html/DOMFormData.h:
37038        (WebCore::DOMFormData::create):
37039        * html/DOMFormData.idl:
37040
370412010-10-07  Abhishek Arya  <inferno@chromium.org>
37042
37043        Reviewed by Dave Hyatt.
37044
37045        Set the m_selectedChildren flag on the root inline box if one of the leaf 
37046        inline box from the bidi runs walk has a selection state. Remove the flag
37047        setting logic from addToLine, since line boxes created in createLinesBoxes
37048        should not be propagating selection state to root inline box.
37049        https://bugs.webkit.org/show_bug.cgi?id=47201
37050
37051        Test: editing/selection/root-inlinebox-selected-children-crash.html
37052
37053        * rendering/InlineFlowBox.cpp:
37054        (WebCore::InlineFlowBox::addToLine):
37055        * rendering/RenderBlockLineLayout.cpp:
37056        (WebCore::RenderBlock::constructLine):
37057
370582010-10-07  Benjamin Otte  <otte@gnome.org>
37059
37060        Reviewed by Martin Robinson.
37061
37062        [GTK] Code cleanup in PluginViewGtk.cpp for transparent plugins
37063        https://bugs.webkit.org/show_bug.cgi?id=47361
37064
37065        Reduce some code in PluginViewGtk.cpp by doing things with Cairo instead
37066        of directly with X11. This should work fine with GDK double-buffering, but
37067        if we ever disable it, we'll need to verify that this is still functioning
37068        properly.
37069
37070        * plugins/gtk/PluginViewGtk.cpp:
37071        (WebCore::PluginView::paint): Do a bit of code cleanup.
37072
370732010-10-07  Anders Carlsson  <andersca@apple.com>
37074
37075        Reviewed by Sam Weinig.
37076
37077        Add a WKPageFindClient, hook up WKPageCountStringMatches
37078        https://bugs.webkit.org/show_bug.cgi?id=47373
37079
37080        Export find related symbols needed by WebKit2.
37081
37082        * WebCore.exp.in:
37083
370842010-10-07  David Hyatt  <hyatt@apple.com>
37085
37086        Reviewed by Sam Weinig.
37087
37088        https://bugs.webkit.org/show_bug.cgi?id=47370
37089        
37090        Make line box placement in the inline direction writing-mode-aware.  Lines now set their y-position instead of x-position
37091        when vertical.
37092        
37093        Refactored shadow overflow to give text-shadow the same helpers in RenderStyle that box-shadow has so that the shadow-walking loop in
37094        placeBoxesInInlineDirection can be replaced with the helper.
37095
37096        Overflow had to be patched to be writing-mode-aware so that the correct physical directions would be set for vertical line
37097        boxes.
37098
37099        Vertical lines are still not testable until they can be placed in the block direction.  Then the render tree dumps
37100        become meaningful (even if the pixel results look horrible).
37101
37102        * rendering/InlineBox.h:
37103        (WebCore::InlineBox::logicalRight):
37104        * rendering/InlineFlowBox.cpp:
37105        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
37106        * rendering/InlineFlowBox.h:
37107        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
37108        (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
37109        (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
37110        (WebCore::InlineFlowBox::logicalRightVisualOverflow):
37111        (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
37112        * rendering/RenderBlockLineLayout.cpp:
37113        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
37114        * rendering/style/RenderStyle.cpp:
37115        (WebCore::RenderStyle::getShadowExtent):
37116        (WebCore::RenderStyle::getShadowHorizontalExtent):
37117        (WebCore::RenderStyle::getShadowVerticalExtent):
37118        * rendering/style/RenderStyle.h:
37119        (WebCore::InheritedFlags::getTextShadowExtent):
37120        (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
37121        (WebCore::InheritedFlags::getTextShadowVerticalExtent):
37122        (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
37123        (WebCore::InheritedFlags::getBoxShadowExtent):
37124        (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
37125        (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
37126        (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
37127        (WebCore::InheritedFlags::getShadowInlineDirectionExtent):
37128
371292010-10-07  Dan Bernstein  <mitz@apple.com>
37130
37131        Reviewed by Simon Fraser.
37132
37133        <rdar://problem/8142645> REGRESSION (r47440): Printing Mail messages with large fonts does not fill page
37134        https://bugs.webkit.org/show_bug.cgi?id=47374
37135
37136        In the legacy (paint-time pagination) printing model, when there are overlapping lines,
37137        adjustPageHeightDeprecated() was not idempotent, since the truncation point imposed by line n,
37138        namely the top of line n, was above the bottom of line n-1, so in the next round, line n-1
37139        moved the truncation point up again.
37140
37141        * rendering/RenderLineBoxList.cpp:
37142        (WebCore::RenderLineBoxList::paint): Consider the top of the next line when deciding if the
37143        current line extends below the truncation point.
37144
371452010-10-07  Simon Fraser  <simon.fraser@apple.com>
37146
37147        Reviewed by Beth Dakin.
37148
37149        Use isIdentityOrTranslationOrFlipped() in scrollbar code
37150        https://bugs.webkit.org/show_bug.cgi?id=47378
37151
37152        Replace old code that looked at values in the CGAffineTransform
37153        with nicely named method that does the same test.
37154
37155        * platform/mac/ScrollbarThemeMac.mm:
37156        (WebCore::ScrollbarThemeMac::paint):
37157
371582010-10-07  Simon Fraser  <simon.fraser@apple.com>
37159
37160        Reviewed by Beth Dakin.
37161
37162        Edge fringe artifact with transformed, masked elements (including reflections)
37163        https://bugs.webkit.org/show_bug.cgi?id=19179
37164        
37165        When drawing the mask images, use a transparency layer if the CTM
37166        has a rotation, scale or skew in it to avoid antialiasing issues at
37167        the edges.
37168
37169        Test: fast/css/transformed-mask.html
37170
37171        * rendering/RenderBox.cpp:
37172        (WebCore::RenderBox::paintMask): Don't bother painting the mask if
37173        painting is disabled, which also avoids an assertion in getCTM().
37174        (WebCore::RenderBox::paintMaskImages):
37175
371762010-10-07  Kwang Yul Seo  <skyul@company100.net>
37177
37178        Reviewed by Kent Tamura.
37179
37180        [BREWMP] Map non-alphabet key code to Unicode value
37181        https://bugs.webkit.org/show_bug.cgi?id=46002
37182
37183        Non-alphabet key codes are not equal to the unicode values. Add conversion.
37184
37185        * platform/brew/PlatformKeyboardEventBrew.cpp:
37186        (WebCore::singleCharacterString):
37187
371882010-10-05  Martin Robinson  <mrobinson@igalia.com>
37189
37190        Reviewed by Chris Fleizach.
37191
37192        [GTK] The FreeType backend does not respect the FC_EMBOLDEN property
37193        https://bugs.webkit.org/show_bug.cgi?id=46216
37194
37195        Look for the FC_EMBOLDEN property of the FcPattern when constructing
37196        FontPlatformData and use it to enable synthetic bold fonts when necessary.
37197
37198        Test: platform/gtk/fonts/fontconfig-synthetic-bold.html
37199
37200        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
37201        (WebCore::FontPlatformData::FontPlatformData): Properly handle the FC_EMBOLDEN property.
37202
372032010-10-07  James Simonsen  <simonjam@chromium.org>
37204
37205        Reviewed by Pavel Feldman.
37206
37207        [Web Timing] Use platform definition of responseEnd
37208        https://bugs.webkit.org/show_bug.cgi?id=46306
37209
37210        No new tests. Used existing webtiming test.
37211
37212        * loader/MainResourceLoader.cpp:
37213        (WebCore::MainResourceLoader::didFinishLoading):
37214
372152010-10-05  Martin Robinson  <mrobinson@igalia.com>
37216
37217        Reviewed by Chris Fleizach.
37218
37219        [Gtk] CSS font-style: italic behavior
37220        https://bugs.webkit.org/show_bug.cgi?id=33299
37221
37222        Properly interpret the FC_MATRIX property from a FontConfig pattern.
37223        FontConfig will use this property when returning fonts which have a
37224        synthetic oblique variant configured in the fonts.conf configuration
37225        file.
37226
37227        Test: platform/gtk/fonts/fontconfig-synthetic-oblique.html
37228
37229        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
37230        (WebCore::FontPlatformData::FontPlatformData): Added a constructor that
37231        takes an existing FontPlatformData and a font size.
37232        (WebCore::FontPlatformData::initializeWithFontFace): Added this helper
37233        intialization method that properly handles the FC_MATRIX property from
37234        the FcPattern.
37235        * platform/graphics/cairo/FontPlatformDataFreeType.h: Added a declaration
37236        to the new constructor and the initializeWithFontFace.
37237        * platform/graphics/cairo/SimpleFontDataCairo.cpp:
37238        (WebCore::SimpleFontData::smallCapsFontData): Use the new FontPlatformData
37239        constructor.
37240
372412010-10-07  David Hyatt  <hyatt@apple.com>
37242
37243        Reviewed by Dan Bernstein.
37244
37245        https://bugs.webkit.org/show_bug.cgi?id=47357
37246        
37247        Make findNextLineBreak and some of the helper functions it also calls writing-mode-aware.
37248
37249        * rendering/InlineFlowBox.cpp:
37250        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
37251        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
37252        * rendering/RenderBlock.cpp:
37253        (WebCore::RenderBlock::positionNewFloatOnLine):
37254        * rendering/RenderBlockLineLayout.cpp:
37255        (WebCore::getBorderPaddingMargin):
37256        (WebCore::inlineLogicalWidth):
37257        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
37258        (WebCore::inlineFlowRequiresLineBox):
37259        (WebCore::RenderBlock::skipLeadingWhitespace):
37260        (WebCore::RenderBlock::fitBelowFloats):
37261        (WebCore::RenderBlock::findNextLineBreak):
37262        * rendering/RenderBoxModelObject.h:
37263        (WebCore::RenderBoxModelObject::hasInlineDirectionBordersPaddingOrMargin):
37264        (WebCore::RenderBoxModelObject::hasInlineDirectionBordersOrPadding):
37265
372662010-10-07  Luiz Agostini  <luiz.agostini@openbossa.org>
37267
37268        Reviewed by Kenneth Rohde Christiansen.
37269
37270        Fixing viewport meta tag user-scalable handling
37271        https://bugs.webkit.org/show_bug.cgi?id=47330
37272
37273        user-scalable attribute was not considered in viewport meta tag handling.
37274
37275        * dom/ViewportArguments.cpp:
37276        (WebCore::findConfigurationForViewportData):
37277        * dom/ViewportArguments.h:
37278
372792010-10-05  Diego Gonzalez  <diegohcg@webkit.org>
37280
37281        Reviewed by Andreas Kling.
37282
37283        [Qt] Hook up accelerometer data via Qt DeviceMotion
37284        https://bugs.webkit.org/show_bug.cgi?id=47105
37285
37286        Get accelerometer necessary data via Qt mobility library using a
37287        provider class. Enable, also the RotationRate using the current device
37288        orientation provider.
37289
37290        * WebCore.pro:
37291
372922010-10-07  Luiz Agostini  <luiz.agostini@openbossa.org>
37293
37294        Reviewed by Kenneth Rohde Christiansen.
37295
37296        Some viewport meta tag api refactoring
37297        https://bugs.webkit.org/show_bug.cgi?id=47334
37298
37299        WebCore::findConfigurationForViewportData renamed to computeViewportAttributes.
37300        WebCore::ViewportAttributes::layoutViewport renamed to layoutSize.
37301
37302        * dom/ViewportArguments.cpp:
37303        (WebCore::computeViewportAttributes):
37304        * dom/ViewportArguments.h:
37305
373062010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
37307
37308        Reviewed by Xan Lopez.
37309
37310        [GTK] Don't use GtkObject
37311        https://bugs.webkit.org/show_bug.cgi?id=47090
37312
37313        GtkObject has been removed in gtk3.
37314
37315        * plugins/gtk/gtk2xtbin.c:
37316        (gtk_xtbin_class_init):
37317        (gtk_xtbin_dispose):
37318
373192010-10-07  Pavel Podivilov  <podivilov@chromium.org>
37320
37321        Reviewed by Pavel Feldman.
37322
37323        Web Inspector: highlight XHR breakpoint when hit.
37324        https://bugs.webkit.org/show_bug.cgi?id=47253
37325
37326        * inspector/InspectorController.cpp:
37327        (WebCore::InspectorController::didCommitLoad):
37328        (WebCore::InspectorController::setNativeBreakpoint):
37329        (WebCore::InspectorController::removeNativeBreakpoint):
37330        (WebCore::InspectorController::findEventListenerBreakpoint):
37331        (WebCore::InspectorController::findXHRBreakpoint):
37332        * inspector/InspectorController.h:
37333        * inspector/InspectorInstrumentation.cpp:
37334        (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
37335        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
37336        * inspector/front-end/BreakpointManager.js:
37337        (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
37338        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
37339        (WebInspector.BreakpointManager.prototype._xhrBreakpointRemoved):
37340        (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
37341        (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
37342        (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
37343        (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
37344        (WebInspector.BreakpointManager.prototype._removeNativeBreakpointFromBackend):
37345        (WebInspector.BreakpointManager.prototype.debuggerPaused):
37346        (WebInspector.BreakpointManager.prototype.debuggerResumed):
37347        (WebInspector.NativeBreakpoint):
37348        (WebInspector.NativeBreakpoint.prototype.get enabled):
37349        (WebInspector.NativeBreakpoint.prototype.set enabled):
37350        (WebInspector.NativeBreakpoint.prototype.remove):
37351        * inspector/front-end/BreakpointsSidebarPane.js:
37352        (WebInspector.BreakpointItem):
37353        (WebInspector.BreakpointItem.prototype._breakpointClicked):
37354        (WebInspector.BreakpointItem.prototype._hitStateChanged):
37355        * inspector/front-end/CallStackSidebarPane.js:
37356        (WebInspector.CallStackSidebarPane.prototype.updateStatus):
37357        * inspector/front-end/inspector.css:
37358        (.breakpoint-list .breakpoint-hit):
37359        * inspector/front-end/inspector.js:
37360        (WebInspector.pausedScript):
37361        (WebInspector.resumedScript):
37362
373632010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
37364
37365        Reviewed by Xan Lopez.
37366
37367        [GTK] Fix the build for GTK+ 3
37368        https://bugs.webkit.org/show_bug.cgi?id=47249
37369
37370        Use GdkVisual instead of GdkColormap. GdkColormap has been removed
37371        in gtk3.
37372
37373        * plugins/gtk/PluginViewGtk.cpp:
37374        (WebCore::PluginView::platformStart):
37375        * plugins/gtk/gtk2xtbin.c:
37376        (gtk_xtbin_new):
37377
373782010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
37379
37380        Reviewed by Xan Lopez.
37381
37382        [GTK] Fix the build for GTK+ 3
37383        https://bugs.webkit.org/show_bug.cgi?id=47249
37384
37385        Do not use GdkDrawable deprecated API. Some methods of GdkDrawable
37386        are deprecated in gtk2 and have been removed in gtk3. Equivalent
37387        API has been added to GdkWindow.
37388
37389        * platform/gtk/GtkVersioning.c:
37390        (getDefaultGDKPointerDevice):
37391        * platform/gtk/GtkVersioning.h:
37392        * platform/gtk/PlatformScreenGtk.cpp:
37393        (WebCore::getVisual):
37394        (WebCore::screenAvailableRect):
37395
373962010-10-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
37397
37398        Reviewed by Andreas Kling.
37399
37400        [Qt] Disconnect signals before destroying MediaPlayerPrivateQt
37401
37402        https://bugs.webkit.org/show_bug.cgi?id=47073
37403
37404        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
37405
374062010-10-07  Alexander Pavlov  <apavlov@chromium.org>
37407
37408        Unreviewed, release build fix.
37409
37410        * inspector/InspectorStyleSheet.cpp:
37411        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
37412        * inspector/InspectorStyleSheet.h:
37413        (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
37414        (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
37415
374162010-10-07  Pavel Podivilov  <podivilov@chromium.org>
37417
37418        Unreviewed, build fix.
37419
37420        Build fix for r69283.
37421
37422        * dom/Document.cpp:
37423        (WebCore::Document::inspectorController):
37424        * dom/Document.h:
37425
374262010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
37427
37428        Reviewed by Xan Lopez.
37429
37430        [GTK] Fix the build for GTK+ 3
37431        https://bugs.webkit.org/show_bug.cgi?id=47249
37432
37433        Don't use gtk_size_request_get_size(). It has been removed,
37434        gtk_widget_get_preferred_size() should be used instead
37435
37436        * platform/gtk/PopupMenuGtk.cpp:
37437        (WebCore::PopupMenuGtk::show):
37438
374392010-10-06  Alexander Pavlov  <apavlov@chromium.org>
37440
37441        Reviewed by Pavel Feldman.
37442
37443        Web Inspector: Implement handling of CSS operations in InspectorCSSAgent.
37444        Property toggling not implemented yet. The code is not going live.
37445        https://bugs.webkit.org/show_bug.cgi?id=45825
37446
37447        * CMakeLists.txt:
37448        * GNUmakefile.am:
37449        * WebCore.gypi:
37450        * WebCore.pro:
37451        * WebCore.vcproj/WebCore.vcproj:
37452        * WebCore.xcodeproj/project.pbxproj:
37453        * inspector/InspectorCSSAgent.cpp: Added.
37454        (WebCore::InspectorCSSAgent::buildObjectForStyle):
37455        (WebCore::InspectorCSSAgent::parentStyleSheet):
37456        (WebCore::InspectorCSSAgent::asCSSStyleRule):
37457        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
37458        (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
37459        (WebCore::InspectorCSSAgent::reset):
37460        (WebCore::InspectorCSSAgent::getMatchedRulesForNode2):
37461        (WebCore::InspectorCSSAgent::getMatchedPseudoRulesForNode2):
37462        (WebCore::InspectorCSSAgent::getAttributeStylesForNode2):
37463        (WebCore::InspectorCSSAgent::getInlineStyleForNode2):
37464        (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
37465        (WebCore::InspectorCSSAgent::getInheritedStylesForNode2):
37466        (WebCore::InspectorCSSAgent::getAllStyles2):
37467        (WebCore::InspectorCSSAgent::getStyleSheet2):
37468        (WebCore::InspectorCSSAgent::setStyleSheetText2):
37469        (WebCore::InspectorCSSAgent::setStyleText2):
37470        (WebCore::InspectorCSSAgent::toggleProperty2):
37471        (WebCore::InspectorCSSAgent::setRuleSelector2):
37472        (WebCore::InspectorCSSAgent::addRule2):
37473        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
37474        (WebCore::InspectorCSSAgent::inlineStyleElement):
37475        (WebCore::InspectorCSSAgent::populateObjectWithStyleProperties):
37476        (WebCore::InspectorCSSAgent::shorthandValue):
37477        (WebCore::InspectorCSSAgent::shorthandPriority):
37478        (WebCore::InspectorCSSAgent::longhandProperties):
37479        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
37480        (WebCore::InspectorCSSAgent::elementForId):
37481        (WebCore::InspectorCSSAgent::bindStyleSheet):
37482        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
37483        (WebCore::InspectorCSSAgent::styleSheetForId):
37484        (WebCore::InspectorCSSAgent::detectOrigin):
37485        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
37486        (WebCore::InspectorCSSAgent::buildObjectForAttributeStyles):
37487        (WebCore::InspectorCSSAgent::didRemoveDocument):
37488        (WebCore::InspectorCSSAgent::didRemoveDOMNode):
37489        * inspector/InspectorCSSAgent.h: Added.
37490        (WebCore::InspectorCSSAgent::create):
37491        * inspector/InspectorDOMAgent.cpp:
37492        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
37493        (WebCore::InspectorDOMAgent::setDOMListener):
37494        (WebCore::InspectorDOMAgent::unbind):
37495        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
37496        (WebCore::InspectorDOMAgent::getSupportedCSSProperties):
37497        * inspector/InspectorDOMAgent.h:
37498        (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
37499        (WebCore::InspectorDOMAgent::documents):
37500        * inspector/InspectorStyleSheet.cpp: Added.
37501        (ParsedStyleSheet::cssStyleSheet):
37502        (ParsedStyleSheet::text):
37503        (ParsedStyleSheet::hasText):
37504        (ParsedStyleSheet::sourceData):
37505        (ParsedStyleSheet::hasSourceData):
37506        (ParsedStyleSheet::ParsedStyleSheet):
37507        (ParsedStyleSheet::setText):
37508        (ParsedStyleSheet::setSourceData):
37509        (ParsedStyleSheet::ruleSourceDataAt):
37510        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
37511        (WebCore::InspectorStyleSheet::~InspectorStyleSheet):
37512        (WebCore::InspectorStyleSheet::setText):
37513        (WebCore::InspectorStyleSheet::setRuleSelector):
37514        (WebCore::InspectorStyleSheet::addRule):
37515        (WebCore::InspectorStyleSheet::ruleForId):
37516        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
37517        (WebCore::InspectorStyleSheet::buildObjectForRule):
37518        (WebCore::InspectorStyleSheet::buildObjectForStyle):
37519        (WebCore::InspectorStyleSheet::styleForId):
37520        (WebCore::InspectorStyleSheet::setStyleText):
37521        (WebCore::InspectorStyleSheet::ownerDocument):
37522        (WebCore::InspectorStyleSheet::ruleSourceDataFor):
37523        (WebCore::InspectorStyleSheet::ruleIndexByStyle):
37524        (WebCore::InspectorStyleSheet::ensureParsedDataReady):
37525        (WebCore::InspectorStyleSheet::text):
37526        (WebCore::InspectorStyleSheet::ensureText):
37527        (WebCore::InspectorStyleSheet::ensureSourceData):
37528        (WebCore::InspectorStyleSheet::innerSetStyleSheetText):
37529        (WebCore::InspectorStyleSheet::innerSetStyleText):
37530        (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
37531        (WebCore::InspectorStyleSheet::findPageRuleWithStyle):
37532        (WebCore::InspectorStyleSheet::fullRuleId):
37533        (WebCore::InspectorStyleSheet::revalidateStyle):
37534        (WebCore::InspectorStyleSheet::styleSheetText):
37535        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
37536        (WebCore::InspectorStyleSheet::inlineStyleSheetText):
37537        (WebCore::InspectorStyleSheet::buildArrayForRuleList):
37538        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
37539        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
37540        (WebCore::InspectorStyleSheetForInlineStyle::ownerDocument):
37541        (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
37542        (WebCore::InspectorStyleSheetForInlineStyle::inlineStyle):
37543        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
37544        * inspector/InspectorStyleSheet.h: Added.
37545        (WebCore::InspectorStyleSheet::create):
37546        (WebCore::InspectorStyleSheet::id):
37547        (WebCore::InspectorStyleSheet::pageStyleSheet):
37548        (WebCore::InspectorStyleSheet::canBind):
37549        (WebCore::InspectorStyleSheet::fullRuleOrStyleId):
37550        (WebCore::InspectorStyleSheet::ruleOrStyleId):
37551        (WebCore::InspectorStyleSheet::fullStyleId):
37552        (WebCore::InspectorStyleSheetForInlineStyle::create):
37553        (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
37554        (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
37555        (WebCore::InspectorStyleSheetForInlineStyle::ruleIndexByStyle):
37556        * inspector/InspectorUtilities.cpp: Added.
37557        (WebCore::InspectorUtilities::resourceContentForURL):
37558        * inspector/InspectorUtilities.h: Added.
37559
375602010-10-05  Pavel Podivilov  <podivilov@chromium.org>
37561
37562        Reviewed by Pavel Feldman.
37563
37564        Web Inspector: extract Inspector Instrumentation API as a class
37565        https://bugs.webkit.org/show_bug.cgi?id=47173
37566
37567        * bindings/js/JSXMLHttpRequestCustom.cpp:
37568        (WebCore::JSXMLHttpRequest::send):
37569        * bindings/js/ScriptController.cpp:
37570        (WebCore::ScriptController::evaluateInWorld):
37571        * bindings/v8/V8DOMWindowShell.cpp:
37572        * bindings/v8/V8Proxy.cpp:
37573        (WebCore::V8Proxy::evaluate):
37574        (WebCore::V8Proxy::callFunction):
37575        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
37576        (WebCore::V8XMLHttpRequest::sendCallback):
37577        * dom/Document.cpp:
37578        (WebCore::Document::recalcStyle):
37579        * dom/Document.h:
37580        * dom/Node.cpp:
37581        (WebCore::Node::dispatchGenericEvent):
37582        * html/parser/HTMLDocumentParser.cpp:
37583        (WebCore::HTMLDocumentParser::pumpTokenizer):
37584        * html/parser/HTMLDocumentParser.h:
37585        * inspector/InspectorInstrumentation.cpp:
37586        (WebCore::InspectorInstrumentation::hasFrontend):
37587        (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
37588        * inspector/InspectorInstrumentation.h:
37589        (WebCore::InspectorInstrumentation::hasFrontends):
37590        (WebCore::InspectorInstrumentation::inspectorControllerForContext):
37591        (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
37592        (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
37593        (WebCore::InspectorInstrumentation::inspectorControllerForPage):
37594        * inspector/InspectorTimelineAgent.cpp:
37595        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
37596        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
37597        * inspector/InspectorTimelineAgent.h:
37598        * loader/ResourceLoader.cpp:
37599        (WebCore::ResourceLoader::didReceiveResponse):
37600        (WebCore::ResourceLoader::didReceiveData):
37601        * loader/loader.cpp:
37602        (WebCore::Loader::load):
37603        * page/DOMTimer.cpp:
37604        (WebCore::DOMTimer::install):
37605        (WebCore::DOMTimer::removeById):
37606        (WebCore::DOMTimer::fired):
37607        * page/DOMTimer.h:
37608        * page/DOMWindow.cpp:
37609        (WebCore::DOMWindow::dispatchEvent):
37610        * page/DOMWindow.h:
37611        * page/FrameView.cpp:
37612        (WebCore::FrameView::layout):
37613        (WebCore::FrameView::paintContents):
37614        * page/FrameView.h:
37615        * page/Page.cpp:
37616        * page/Page.h:
37617        * rendering/RenderLayerBacking.cpp:
37618        (WebCore::RenderLayerBacking::paintContents):
37619        * xml/XMLHttpRequest.cpp:
37620        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
37621
376222010-10-07  Zraly Mike  <mike.zraly@nokia.com>
37623
37624        Reviewed by Andreas Kling.
37625
37626        Windowless flash plugin is not rendered in Symbian
37627        https://bugs.webkit.org/show_bug.cgi?id=47172
37628
37629        * plugins/symbian/PluginViewSymbian.cpp:
37630        (WebCore::PluginView::platformStart):
37631        Add call to updatePluginWidget() following changes to
37632        platform widget.  This is needed to set PluginView's
37633        m_windowRect and m_clipRect members properly after
37634        the proxy widget and its container get created.
37635
376362010-10-07  Andreas Kling  <kling@webkit.org>
37637
37638        Reviewed by Nikolas Zimmermann.
37639
37640        Rename (and move) RenderPath to svg/RenderSVGPath
37641        https://bugs.webkit.org/show_bug.cgi?id=47053
37642
37643        Also renamed RenderObject::isRenderPath() to isSVGPath()
37644
37645        * Android.mk:
37646        * CMakeLists.txt:
37647        * GNUmakefile.am:
37648        * WebCore.gypi:
37649        * WebCore.order:
37650        * WebCore.pro:
37651        * WebCore.vcproj/WebCore.vcproj:
37652        * WebCore.xcodeproj/project.pbxproj:
37653        * rendering/RenderObject.h:
37654        (WebCore::RenderObject::isSVGPath):
37655        * rendering/RenderPath.cpp: Removed.
37656        * rendering/RenderPath.h: Removed.
37657        * rendering/RenderSVGHiddenContainer.cpp:
37658        * rendering/RenderSVGResourceClipper.cpp:
37659        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
37660        (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
37661        (WebCore::RenderSVGResourceClipper::hitTestClipContent):
37662        * rendering/RenderSVGResourceContainer.cpp:
37663        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
37664        * rendering/RenderSVGResourceSolidColor.cpp:
37665        (WebCore::RenderSVGResourceSolidColor::postApplyResource):
37666        * rendering/RenderTreeAsText.cpp:
37667        (WebCore::write):
37668        * rendering/SVGRenderSupport.cpp:
37669        (WebCore::SVGRenderSupport::layoutChildren):
37670        * rendering/SVGRenderTreeAsText.cpp:
37671        (WebCore::writeStyle):
37672        (WebCore::operator<<):
37673        (WebCore::write):
37674        * rendering/SVGRenderTreeAsText.h:
37675        * rendering/style/SVGRenderStyle.cpp:
37676        (WebCore::SVGRenderStyle::diff):
37677        * rendering/svg/RenderSVGPath.cpp: Copied from WebCore/rendering/RenderPath.cpp.
37678        (WebCore::RenderSVGPath::RenderSVGPath):
37679        (WebCore::RenderSVGPath::fillContains):
37680        (WebCore::RenderSVGPath::strokeContains):
37681        (WebCore::RenderSVGPath::layout):
37682        (WebCore::RenderSVGPath::fillAndStrokePath):
37683        (WebCore::RenderSVGPath::paint):
37684        (WebCore::RenderSVGPath::addFocusRingRects):
37685        (WebCore::RenderSVGPath::nodeAtFloatPoint):
37686        (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
37687        (WebCore::RenderSVGPath::updateCachedBoundaries):
37688        * rendering/svg/RenderSVGPath.h: Copied from WebCore/rendering/RenderPath.h.
37689        (WebCore::RenderSVGPath::isSVGPath):
37690        (WebCore::RenderSVGPath::renderName):
37691        (WebCore::toRenderSVGPath):
37692        * svg/SVGCircleElement.cpp:
37693        (WebCore::SVGCircleElement::svgAttributeChanged):
37694        * svg/SVGEllipseElement.cpp:
37695        (WebCore::SVGEllipseElement::svgAttributeChanged):
37696        * svg/SVGGradientElement.cpp:
37697        * svg/SVGLineElement.cpp:
37698        (WebCore::SVGLineElement::svgAttributeChanged):
37699        * svg/SVGPathElement.cpp:
37700        (WebCore::SVGPathElement::svgAttributeChanged):
37701        * svg/SVGPolyElement.cpp:
37702        (WebCore::SVGPolyElement::svgAttributeChanged):
37703        * svg/SVGRectElement.cpp:
37704        (WebCore::SVGRectElement::svgAttributeChanged):
37705        * svg/SVGStyledLocatableElement.cpp:
37706        * svg/SVGStyledTransformableElement.cpp:
37707        (WebCore::SVGStyledTransformableElement::createRenderer):
37708
377092010-10-06  Yury Semikhatsky  <yurys@chromium.org>
37710
37711        Reviewed by Pavel Feldman.
37712
37713        Web Inspector: clear line highlight when switching current view
37714        https://bugs.webkit.org/show_bug.cgi?id=47262
37715
37716        * inspector/front-end/SourceFrame.js:
37717        (WebInspector.SourceFrame.prototype.clearLineHighlight):
37718        * inspector/front-end/SourceView.js:
37719        (WebInspector.SourceView.prototype.hide):
37720        * inspector/front-end/TextViewer.js:
37721        (WebInspector.TextViewer.prototype.highlightLine):
37722        (WebInspector.TextViewer.prototype.clearLineHighlight):
37723
377242010-10-06  Chris Evans  <cevans@google.com>
37725
37726        Reviewed by David Levin.
37727
37728        https://bugs.webkit.org/show_bug.cgi?id=47313
37729
37730        Fix integer errors with enormous input strings to newline normalization APIs.
37731
37732        * platform/text/LineEnding.cpp:
37733        (WebCore::normalizeLineEndingsToCRLF): return the empty string upon huge input strings. (Behaves similarly to base64Encode now).
37734        (WebCore::normalizeToCROrLF): use the correct type for a string length.
37735
377362010-10-06  Kent Tamura  <tkent@chromium.org>
37737
37738        Unreviewed, build fix.
37739
37740        Windows build fix for r69272.
37741
37742        * html/BaseDateAndTimeInputType.cpp:
37743        (WebCore::BaseDateAndTimeInputType::stepBase):
37744         Use defaultStepBase() instead of defaultStepBase.
37745        * html/InputType.h:
37746        (WebCore::InputType::defaultStepBase):
37747         Make defaultStepBase static function.
37748        * html/NumberInputType.cpp:
37749        (WebCore::NumberInputType::stepBase):
37750         Use defaultStepBase() instead of defaultStepBase.
37751
377522010-10-06  Kent Tamura  <tkent@chromium.org>
37753
37754        Reviewed by Dimitri Glazkov.
37755
37756        Refactor HTMLInputElement: Move range/step related functions
37757        https://bugs.webkit.org/show_bug.cgi?id=47251
37758
37759        Move the content of the following functions:
37760         - rangeUnderflow()
37761         - rangeOverflow()
37762         - minimum()
37763         - maximum()
37764         - stepMismatch()
37765         - stepBase()
37766
37767        getStepParameters() was split into InputType::defaultStep() and
37768        stepScaleFactor().
37769
37770        * html/BaseDateAndTimeInputType.cpp:
37771        (WebCore::BaseDateAndTimeInputType::rangeUnderflow):
37772        (WebCore::BaseDateAndTimeInputType::rangeOverflow):
37773        (WebCore::BaseDateAndTimeInputType::stepMismatch):
37774        (WebCore::BaseDateAndTimeInputType::stepBase):
37775        * html/BaseDateAndTimeInputType.h:
37776        * html/DateInputType.cpp:
37777        (WebCore::DateInputType::minimum):
37778        (WebCore::DateInputType::maximum):
37779        (WebCore::DateInputType::defaultStep):
37780        (WebCore::DateInputType::stepScaleFactor):
37781        (WebCore::DateInputType::parsedStepValueShouldBeInteger):
37782        * html/DateInputType.h:
37783        * html/DateTimeInputType.cpp:
37784        (WebCore::DateTimeInputType::minimum):
37785        (WebCore::DateTimeInputType::maximum):
37786        (WebCore::DateTimeInputType::defaultStep):
37787        (WebCore::DateTimeInputType::stepScaleFactor):
37788        (WebCore::DateTimeInputType::scaledStepValeuShouldBeInteger):
37789        * html/DateTimeInputType.h:
37790        * html/DateTimeLocalInputType.cpp:
37791        (WebCore::DateTimeLocalInputType::minimum):
37792        (WebCore::DateTimeLocalInputType::maximum):
37793        (WebCore::DateTimeLocalInputType::defaultStep):
37794        (WebCore::DateTimeLocalInputType::stepScaleFactor):
37795        (WebCore::DateTimeLocalInputType::scaledStepValeuShouldBeInteger):
37796        * html/DateTimeLocalInputType.h:
37797        * html/HTMLInputElement.cpp:
37798        (WebCore::HTMLInputElement::rangeUnderflow):
37799        (WebCore::HTMLInputElement::rangeOverflow):
37800        (WebCore::HTMLInputElement::minimum):
37801        (WebCore::HTMLInputElement::maximum):
37802        (WebCore::HTMLInputElement::stepMismatch):
37803        (WebCore::HTMLInputElement::getAllowedValueStep):
37804        (WebCore::HTMLInputElement::applyStep):
37805        (WebCore::HTMLInputElement::handleKeyEventForRange):
37806        (WebCore::HTMLInputElement::stepUpFromRenderer):
37807        * html/HTMLInputElement.h:
37808        * html/InputType.cpp:
37809        (WebCore::InputType::patternMismatch):
37810        (WebCore::InputType::rangeUnderflow):
37811        (WebCore::InputType::rangeOverflow):
37812        (WebCore::InputType::minimum):
37813        (WebCore::InputType::maximum):
37814        (WebCore::InputType::stepMismatch):
37815        (WebCore::InputType::stepBase):
37816        (WebCore::InputType::defaultStep):
37817        (WebCore::InputType::stepScaleFactor):
37818        (WebCore::InputType::parsedStepValueShouldBeInteger):
37819        (WebCore::InputType::scaledStepValeuShouldBeInteger):
37820        * html/InputType.h:
37821        * html/MonthInputType.cpp:
37822        (WebCore::MonthInputType::minimum):
37823        (WebCore::MonthInputType::maximum):
37824        (WebCore::MonthInputType::defaultStep):
37825        (WebCore::MonthInputType::stepScaleFactor):
37826        (WebCore::MonthInputType::parsedStepValueShouldBeInteger):
37827        * html/MonthInputType.h:
37828        * html/NumberInputType.cpp:
37829        (WebCore::NumberInputType::rangeUnderflow):
37830        (WebCore::NumberInputType::rangeOverflow):
37831        (WebCore::NumberInputType::minimum):
37832        (WebCore::NumberInputType::maximum):
37833        (WebCore::NumberInputType::stepMismatch):
37834        (WebCore::NumberInputType::stepBase):
37835        (WebCore::NumberInputType::defaultStep):
37836        (WebCore::NumberInputType::stepScaleFactor):
37837        * html/NumberInputType.h:
37838        * html/RangeInputType.cpp:
37839        (WebCore::RangeInputType::rangeUnderflow):
37840        (WebCore::RangeInputType::rangeOverflow):
37841        (WebCore::RangeInputType::minimum):
37842        (WebCore::RangeInputType::maximum):
37843        (WebCore::RangeInputType::stepMismatch):
37844        (WebCore::RangeInputType::stepBase):
37845        (WebCore::RangeInputType::defaultStep):
37846        (WebCore::RangeInputType::stepScaleFactor):
37847        * html/RangeInputType.h:
37848        * html/TimeInputType.cpp:
37849        (WebCore::TimeInputType::minimum):
37850        (WebCore::TimeInputType::maximum):
37851        (WebCore::TimeInputType::defaultStep):
37852        (WebCore::TimeInputType::stepScaleFactor):
37853        (WebCore::TimeInputType::scaledStepValeuShouldBeInteger):
37854        * html/TimeInputType.h:
37855        * html/WeekInputType.cpp:
37856        (WebCore::WeekInputType::minimum):
37857        (WebCore::WeekInputType::maximum):
37858        (WebCore::WeekInputType::stepBase):
37859        (WebCore::WeekInputType::defaultStep):
37860        (WebCore::WeekInputType::stepScaleFactor):
37861        (WebCore::WeekInputType::parsedStepValueShouldBeInteger):
37862        * html/WeekInputType.h:
37863
378642010-10-06  Simon Fraser  <simon.fraser@apple.com>
37865
37866        Reviewed by Dan Bernstein, Darin Adler.
37867
37868        :first-letter should apply to "punctuation" after the first letter
37869        https://bugs.webkit.org/show_bug.cgi?id=45986
37870        
37871        Follow the CSS 2.1 spec by allow certain kinds of punctuation before and after
37872        the :first-letter character.
37873        
37874        The spec does not describe whitespace behavior, and browsers are inconsistent.
37875        This patch allows whitespace (including non-breaking spaces) before and after the
37876        leading punctuation, and before the trailing punctuation.
37877
37878        Test: fast/css/first-letter-punctuation.html
37879
37880        * rendering/RenderBlock.cpp:
37881        (WebCore::isPunctuationForFirstLetter):
37882        (WebCore::shouldSkipForFirstLetter):
37883        (WebCore::RenderBlock::updateFirstLetter):
37884
378852010-10-06  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
37886
37887        Reviewed by Darin Fisher.
37888
37889        Released the pluginNode in PluginDocument::detach() and prevents a memory leak.
37890        https://bugs.webkit.org/show_bug.cgi?id=47129
37891
37892        * html/PluginDocument.cpp:
37893        (WebCore::PluginDocument::detach):
37894        * html/PluginDocument.h:
37895
378962010-10-06  Vincent Scheib  <scheib@chromium.org>
37897
37898        Reviewed by Kenneth Russell.
37899
37900        [chromium] Thumbnail generation asserts on zero alpha values.
37901        https://bugs.webkit.org/show_bug.cgi?id=47292
37902
37903        Test: Tested manually by running debug mode, and analyzing in PIX.
37904
37905        * platform/graphics/chromium/LayerRendererChromium.cpp:
37906        (WebCore::LayerRendererChromium::drawLayers):
37907
379082010-10-06  Kinuko Yasuda  <kinuko@chromium.org>
37909
37910        Unreviewed, trying to fix chromium Windows build.
37911
37912        Explicitly give the parameter value that has a default parameter value.
37913
37914        * page/DOMWindow.cpp:
37915        (WebCore::DOMWindow::requestFileSystem):
37916        * workers/WorkerContext.cpp:
37917        (WebCore::WorkerContext::requestFileSystem):
37918
379192010-10-06  Darin Adler  <darin@apple.com>
37920
37921        Try to fix Windows build.
37922
37923        * platform/graphics/cg/ColorCG.cpp:
37924        (WebCore::cachedCGColor): Put in braces to make the Windows compiler
37925        happy with this file.
37926
37927        * platform/graphics/cg/ImageCG.cpp: Added include of RetainPtr.h.
37928
379292010-10-06  Darin Adler  <darin@apple.com>
37930
37931        Reviewed by Alexey Proskuryakov.
37932
37933        Cache CGColor as we do NSColor
37934        https://bugs.webkit.org/show_bug.cgi?id=47226
37935
37936        This fixes performance problems on certain web pages that use
37937        multiple colors. Once in the past we were using NSColor. Now that
37938        we are using CGColor, we need the same sort of caching that we have
37939        for NSColor.
37940
37941        One example: <http://results.active.com/uploads/html/100759.html>.
37942
37943        * WebCore.xcodeproj/project.pbxproj: Add GraphicsContextCG.h.
37944
37945        * platform/graphics/Color.h: Replace createCGColor with cachedCGColor.
37946
37947        * platform/graphics/cg/ColorCG.cpp:
37948        (WebCore::cachedCGColorSpace): Added.
37949        (WebCore::leakCGColor): Added. 
37950        (WebCore::cachedCGColor): Added.
37951
37952        * platform/graphics/cg/GraphicsContextCG.cpp:
37953        (WebCore::setCGFillColor): Use cachedCGColor.
37954        (WebCore::setCGStrokeColor): Ditto.
37955        (WebCore::GraphicsContext::fillRect): Ditto.
37956        (WebCore::GraphicsContext::setPlatformShadow): Ditto.
37957
37958        * platform/graphics/cg/GraphicsContextCG.h: Added.
37959        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
37960        Moved the color space functions here.
37961
37962        * platform/graphics/cg/ImageCG.cpp: Tweaked headers and formatting.
37963
37964        * platform/graphics/mac/ColorMac.mm: Removed the createCGColor
37965        function.
37966
37967        * platform/graphics/mac/GraphicsContextMac.mm:
37968        (WebCore::drawFocusRingToContext): Removed innappropriate use of
37969        RetainPtr for the arguments to this function.
37970        (WebCore::GraphicsContext::drawFocusRing): Use cachedCGColor.
37971
37972        * platform/graphics/mac/GraphicsLayerCA.mm:
37973        (WebCore::setLayerBorderColor): Use cachedCGColor.
37974        (WebCore::setLayerBackgroundColor): Ditto.
37975        * platform/graphics/win/GraphicsContextCGWin.cpp:
37976        (WebCore::GraphicsContext::drawFocusRing): Ditto.
37977        * platform/graphics/win/GraphicsLayerCACF.cpp:
37978        (WebCore::setLayerBorderColor): Ditto.
37979        (WebCore::setLayerBackgroundColor): Ditto.
37980
37981        * platform/graphics/win/WKCACFLayerRenderer.cpp:
37982        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Use
37983        CGColorCreateGenericRGB for color used only for debugging.
37984        * platform/graphics/win/WebTiledLayer.cpp:
37985        (WebCore::WebTiledLayer::addTile): Ditto.
37986
379872010-10-06  Peter Kasting  <pkasting@google.com>
37988
37989        Reviewed by James Robinson
37990
37991        ScrollViews without scrollbars should not eat scroll events
37992        https://bugs.webkit.org/show_bug.cgi?id=47036
37993
37994        * platform/ScrollView.cpp:
37995        (WebCore::ScrollView::wheelEvent):
37996
379972010-10-06  Daniel Bates  <dbates@rim.com>
37998
37999        Reviewed by Darin Adler.
38000
38001        ASSERTION FAILURE: Attempt to cast RenderObject to RenderFrameSet
38002        when <frameset> has CSS content property
38003        https://bugs.webkit.org/show_bug.cgi?id=47314
38004
38005        Fixes an issue where sending a mouse event to an HTML Frameset Element that
38006        whose content was replaced via the CSS content property causes an assertion
38007        failure.
38008
38009        By default, HTMLFrameSetElement forwards mouse events to RenderFrameSet so as
38010        to support resizing a frame within the set. When a <frameset> specifies an
38011        image in its CSS content property we create a generic render object (RenderObject)
38012        for the frame set instead of a RenderFrameSet object. The event handler code
38013        in HTMLFrameSetElement calls WebCore::toRenderFrameSet() to cast its renderer
38014        to type RenderFrameSet, which fails. To correct this, HTMLFrameSetElement
38015        must check that its renderer is of type RenderFrameSet before casting to this type.
38016
38017        Test: fast/frames/crash-frameset-CSS-content-property.html
38018
38019        * html/HTMLFrameSetElement.cpp:
38020        (WebCore::HTMLFrameSetElement::defaultEventHandler): Check that our renderer is
38021        of type RenderFrameSet before casting it as such.
38022
380232010-10-06  Albert J. Wong  <ajwong@chromium.org>
38024
38025        Reviewed by Andreas Kling.
38026
38027        r69181 breaks compilation of WebCore/platform/graphics/filters/FETile.cpp if ENABLE(SVG) is false.
38028        https://bugs.webkit.org/show_bug.cgi?id=47315
38029
38030        Compile fix. No tests.
38031
38032        * platform/graphics/filters/FETile.cpp:
38033        (WebCore::FETile::apply):
38034
380352010-10-06  Kinuko Yasuda  <kinuko@chromium.org>
38036
38037        Unreviewed, fixing screwed up ChangeLogs.
38038
380392010-10-06  Kinuko Yasuda  <kinuko@chromium.org>
38040
38041        Reviewed by David Levin.
38042
38043        Add FileSystemSync implementation for Worker
38044        https://bugs.webkit.org/show_bug.cgi?id=47044
38045
38046        Tests: fast/filesystem/async-operations.html
38047               fast/filesystem/workers/async-operations.html
38048               fast/filesystem/workers/sync-operations.html
38049
38050        * GNUmakefile.am:
38051        * WebCore.gypi:
38052        * WebCore.pro:
38053        * WebCore.vcproj/WebCore.vcproj:
38054        * WebCore.xcodeproj/project.pbxproj:
38055        * bindings/generic/RuntimeEnabledFeatures.h: Removed
38056        requestFileSystemEnabled() as I changed the idl/generator to
38057        use fileSystemEnabled for all the FileSystem related features.
38058        * fileapi/DOMFileSystem.cpp:
38059        * fileapi/DOMFileSystem.h:
38060        * fileapi/DOMFileSystemBase.cpp:
38061        (WebCore::DOMFileSystemBase::getMetadata): Moved from DOMFileSystem.
38062        (WebCore::checkValidityForForCopyOrMove): Moved from DOMFileSystem.
38063        (WebCore::DOMFileSystemBase::move): Moved from DOMFileSystem.
38064        (WebCore::DOMFileSystemBase::copy): Moved from DOMFileSystem.
38065        (WebCore::DOMFileSystemBase::remove): Moved from DOMFileSystem.
38066        (WebCore::DOMFileSystemBase::getParent): Moved from DOMFileSystem.
38067        (WebCore::DOMFileSystemBase::getFile): Moved from DOMFileSystem.
38068        (WebCore::DOMFileSystemBase::getDirectory): Moved from DOMFileSystem.
38069        (WebCore::DOMFileSystemBase::readDirectory): Moved from DOMFileSystem.
38070        * fileapi/DOMFileSystemBase.h:
38071        * fileapi/DOMFileSystemSync.h:
38072        * fileapi/DirectoryEntry.cpp:
38073        (WebCore::DirectoryEntry::DirectoryEntry): Updated to call
38074        DOMFileSystemBase's method instead of DOMFileSystem's one.
38075        (WebCore::DirectoryEntry::getFile): Ditto.
38076        (WebCore::DirectoryEntry::getDirectory): Ditto.
38077        * fileapi/DirectoryEntry.h:
38078        * fileapi/DirectoryEntrySync.cpp:
38079        (WebCore::DirectoryEntrySync::getFile): Implemented.
38080        (WebCore::DirectoryEntrySync::getDirectory): Implemented.
38081        * fileapi/DirectoryReader.h:
38082        * fileapi/DirectoryReaderSync.cpp:
38083        (WebCore::DirectoryReaderSync::readEntries): Implemented.
38084        * fileapi/Entry.cpp:
38085        (WebCore::Entry::Entry): Updated to call DOMFileSystemBase's method.
38086        (WebCore::Entry::getMetadata): Ditto.
38087        (WebCore::Entry::moveTo): Ditto.
38088        (WebCore::Entry::copyTo): Ditto.
38089        (WebCore::Entry::remove): Ditto.
38090        (WebCore::Entry::getParent): Ditto.
38091        * fileapi/Entry.h:
38092        * fileapi/Entry.idl:
38093        * fileapi/EntryArraySync.cpp:
38094        (WebCore::EntryArraySync::create): Added.
38095        * fileapi/EntryArraySync.h:
38096        * fileapi/EntryBase.h:
38097        (WebCore::EntryBase::filesystem): Added.
38098        * fileapi/EntrySync.cpp:
38099        (WebCore::EntrySync::create): Implemented.
38100        (WebCore::EntrySync::getMetadata): Implemented.
38101        (WebCore::EntrySync::moveTo): Implemented.
38102        (WebCore::EntrySync::copyTo): Implemented.
38103        (WebCore::EntrySync::remove): Implemented.
38104        * fileapi/EntrySync.h:
38105        * fileapi/FileEntry.cpp:
38106        * fileapi/FileEntry.h:
38107        * fileapi/FileSystemCallbacks.cpp:
38108        (WebCore::EntryCallbacks::create): Updated to take DOMFileSystemBase
38109        instead of DOMFileSystem.
38110        (WebCore::EntryCallbacks::EntryCallbacks): Ditto.
38111        (WebCore::EntriesCallbacks::create): Ditto.
38112        (WebCore::EntriesCallbacks::EntriesCallbacks): Ditto.
38113        * fileapi/FileSystemCallbacks.h:
38114        * fileapi/LocalFileSystem.cpp:
38115        (WebCore::LocalFileSystem::requestFileSystem): Added synchronous
38116        parameter.
38117        * fileapi/LocalFileSystem.h:
38118        * fileapi/Metadata.h:
38119        * fileapi/SyncCallbackHelper.h: Added. This defines a helper template
38120        for synchronous implementation.
38121        * page/DOMWindow.idl:
38122        * platform/AsyncFileSystem.h:
38123        (WebCore::AsyncFileSystem::waitCompletion): Added.
38124        * workers/WorkerContext.cpp:
38125        (WebCore::WorkerContext::requestFileSystemSync): Added.
38126        * workers/WorkerContext.h:
38127        * workers/WorkerContext.idl:
38128
381292010-10-06  Andrei Popescu  <andreip@google.com>
38130
38131        Reviewed by Jeremy Orlow.
38132
38133        IDBDatabase and IDBObjectStore metadata is not recovered correctly when the setVersion transactions aborts.
38134        https://bugs.webkit.org/show_bug.cgi?id=47245
38135
38136        Recover metadata properly by adding abort tasks that
38137        are run when a transaction aborts.
38138 
38139        * storage/IDBDatabase.cpp:
38140        (WebCore::IDBDatabase::createObjectStore):
38141        (WebCore::IDBDatabase::removeObjectStore):
38142        * storage/IDBDatabaseBackendImpl.cpp:
38143        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
38144        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
38145        (WebCore::IDBDatabaseBackendImpl::setVersion):
38146        (WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap):
38147        (WebCore::IDBDatabaseBackendImpl::addObjectStoreToMap):
38148        (WebCore::IDBDatabaseBackendImpl::resetVersion):
38149        * storage/IDBDatabaseBackendImpl.h:
38150        * storage/IDBObjectStoreBackendImpl.cpp:
38151        (WebCore::IDBObjectStoreBackendImpl::createIndex):
38152        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
38153        (WebCore::IDBObjectStoreBackendImpl::removeIndexFromMap):
38154        (WebCore::IDBObjectStoreBackendImpl::addIndexToMap):
38155        * storage/IDBObjectStoreBackendImpl.h:
38156        * storage/IDBTransactionBackendImpl.cpp:
38157        (WebCore::IDBTransactionBackendImpl::scheduleTask):
38158        (WebCore::IDBTransactionBackendImpl::abort):
38159        * storage/IDBTransactionBackendImpl.h:
38160        * storage/IDBTransactionBackendInterface.h:
38161        * storage/IDBTransactionCoordinator.h:
38162
381632010-10-06  David Hyatt  <hyatt@apple.com>
38164
38165        Reviewed by Dan Bernstein.
38166
38167        https://bugs.webkit.org/show_bug.cgi?id=47306
38168        
38169        Convert determineStart/EndPosition and matchedEndLine to be writing-mode-aware.
38170
38171        * rendering/RenderBlockLineLayout.cpp:
38172        (WebCore::RenderBlock::determineStartPosition):
38173        (WebCore::RenderBlock::determineEndPosition):
38174        (WebCore::RenderBlock::matchedEndLine):
38175
3817622010-10-06  Chris Fleizach  <cfleizach@apple.com>
38177
38178        Reviewed by Beth Dakin.
38179
38180        REGRESSION (r53857): AREA tag with tabindex="-1" displays focus ring after multiple mouse clicks.
38181        https://bugs.webkit.org/show_bug.cgi?id=45832
38182
38183        Test: fast/events/mouse-focus-imagemap.html
38184
38185        * html/HTMLAreaElement.cpp:
38186        (WebCore::HTMLAreaElement::isKeyboardFocusable):
38187        (WebCore::HTMLAreaElement::isMouseFocusable):
38188        (WebCore::HTMLAreaElement::isFocusable):
38189        (WebCore::HTMLAreaElement::updateFocusAppearance):
38190        * html/HTMLAreaElement.h:
38191
38192010-10-06  David Hyatt  <hyatt@apple.com>
38193
38194        Reviewed by Dan Bernstein.
38195
38196        https://bugs.webkit.org/show_bug.cgi?id=47303
38197
38198        Convert layoutInlineChildren to be block-flow-aware.  None of the functions it calls are patched yet.
38199
38200        * rendering/RenderBlock.cpp:
38201        (WebCore::RenderBlock::layoutBlock):
38202        * rendering/RenderBlock.h:
38203        (WebCore::RenderBlock::forceLayoutInlineChildren):
38204        * rendering/RenderBlockLineLayout.cpp:
38205        (WebCore::RenderBlock::layoutInlineChildren):
38206        (WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
38207        (WebCore::RenderBlock::afterSideVisibleOverflowForLine):
38208        (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
38209        (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
38210        * rendering/RenderBox.h:
38211        (WebCore::RenderBox::logicalLeftLayoutOverflow):
38212        (WebCore::RenderBox::logicalRightLayoutOverflow):
38213        (WebCore::RenderBox::logicalLeftVisualOverflow):
38214        (WebCore::RenderBox::logicalRightVisualOverflow):
38215
382162010-10-06  David Hyatt  <hyatt@apple.com>
38217
38218        Reviewed by Dan Bernstein.
38219
38220        https://bugs.webkit.org/show_bug.cgi?id=47298
38221        
38222        Rename blockHeight to blockLogicalHeight.
38223
38224        * rendering/RenderBlock.cpp:
38225        (WebCore::RenderBlock::markLinesDirtyInBlockRange):
38226        * rendering/RenderBlockLineLayout.cpp:
38227        (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
38228        (WebCore::RenderBlock::layoutInlineChildren):
38229        (WebCore::RenderBlock::determineStartPosition):
38230        (WebCore::RenderBlock::determineEndPosition):
38231        (WebCore::RenderBlock::matchedEndLine):
38232        * rendering/RootInlineBox.cpp:
38233        (WebCore::RootInlineBox::RootInlineBox):
38234        (WebCore::RootInlineBox::adjustPosition):
38235        * rendering/RootInlineBox.h:
38236        (WebCore::RootInlineBox::blockLogicalHeight):
38237        (WebCore::RootInlineBox::setBlockLogicalHeight):
38238        * rendering/svg/SVGRootInlineBox.cpp:
38239        (WebCore::SVGRootInlineBox::layoutRootBox):
38240
382412010-10-05  James Robinson  <jamesr@chromium.org>
38242
38243        Reviewed by Kenneth Russell.
38244
38245        [chromium] DRT assertion w/accel 2D canvas in PlatformContextSkia
38246        https://bugs.webkit.org/show_bug.cgi?id=47242
38247
38248        Call PlatformContextSkia::prepareForSoftwareDraw before doing putImageData
38249        since that call mutates the software backing store.
38250
38251        Test: fast/canvas/canvas-putImageData.html
38252
38253        * platform/graphics/skia/ImageBufferSkia.cpp:
38254        (WebCore::ImageBuffer::putUnmultipliedImageData):
38255
382562010-10-06  Alexey Proskuryakov  <ap@apple.com>
38257
38258        Reviewed by Brady Eidson.
38259
38260        https://bugs.webkit.org/show_bug.cgi?id=47294
38261        <rdar://problem/8425647>Application cache isn't consulted on redirect
38262
38263        Test: http/tests/appcache/main-resource-redirect.html
38264
38265        * loader/MainResourceLoader.cpp:
38266        (WebCore::MainResourceLoader::continueAfterNavigationPolicy): If we have substitute data now
38267        (presumably after a redirect is served by appcache), switch to it.
38268        (WebCore::MainResourceLoader::willSendRequest): Check appcache for the new URL.
38269
38270        * loader/MainResourceLoader.h: Made handleDataLoadSoon() take a const ResourceRequest
38271        reference - it doesn't ever modify it, and we can call it from continueAfterNavigationPolicy() now.
38272
382732010-10-06  Alejandro G. Castro  <alex@igalia.com>
38274
38275        Reviewed by Dirk Schulze.
38276
38277        ContextShadow should not use the blur radius as kernel size of the
38278        box blurs
38279        https://bugs.webkit.org/show_bug.cgi?id=46918
38280
38281        Calculate the size of the kernel in the blur algorithm using the radius instead
38282        of using the blur distance directly. Change the name of the variables to match the
38283        terminology in the spec.
38284
38285        * platform/graphics/ContextShadow.cpp:
38286        (WebCore::ContextShadow::ContextShadow):
38287        (WebCore::ContextShadow::clear):
38288        (WebCore::ContextShadow::blurLayerImage):
38289        (WebCore::ContextShadow::calculateLayerBoundingRect):
38290        * platform/graphics/ContextShadow.h:
38291
382922010-10-06  Andras Becsi  <abecsi@webkit.org>
38293
38294        Reviewed by Kenneth Rohde Christiansen.
38295
38296        [Qt] Correct CamelCase of socketSentdata() in SocketStreamHandlePrivate 
38297        to fix "QMetaObject::invokeMethod: No such method" warnings in layout tests.
38298        https://bugs.webkit.org/show_bug.cgi?id=47284
38299
38300        No new tests needed.
38301
38302        * platform/network/qt/SocketStreamHandlePrivate.h:
38303        * platform/network/qt/SocketStreamHandleQt.cpp:
38304        (WebCore::SocketStreamHandlePrivate::socketSentData):
38305
383062010-10-06  David Hyatt  <hyatt@apple.com>
38307
38308        Reviewed by Dan Bernstein.
38309
38310        https://bugs.webkit.org/show_bug.cgi?id=47285
38311
38312        Update to the latest writing-mode draft. The block-flow property is gone and has been replaced with writing-mode.
38313        Change all the code to use writingMode() instead of blockFlow() and rename all functions that referred to block flow
38314        as appropriate.
38315
38316        * css/CSSComputedStyleDeclaration.cpp:
38317        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
38318        * css/CSSParser.cpp:
38319        (WebCore::CSSParser::parseValue):
38320        * css/CSSPrimitiveValueMappings.h:
38321        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
38322        (WebCore::CSSPrimitiveValue::operator WritingMode):
38323        (WebCore::CSSPrimitiveValue::operator SVGWritingMode):
38324        * css/CSSProperty.cpp:
38325        (WebCore::resolveToPhysicalProperty):
38326        (WebCore::CSSProperty::resolveDirectionAwareProperty):
38327        * css/CSSProperty.h:
38328        * css/CSSPropertyNames.in:
38329        * css/CSSStyleSelector.cpp:
38330        (WebCore::CSSStyleSelector::styleForDocument):
38331        (WebCore::CSSStyleSelector::adjustRenderStyle):
38332        (WebCore::CSSStyleSelector::applyDeclarations):
38333        (WebCore::CSSStyleSelector::applyProperty):
38334        * css/CSSValueKeywords.in:
38335        * rendering/RenderBlock.cpp:
38336        (WebCore::RenderBlock::MarginInfo::MarginInfo):
38337        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
38338        (WebCore::RenderBlock::setLogicalLeftForChild):
38339        (WebCore::RenderBlock::setLogicalTopForChild):
38340        (WebCore::RenderBlock::layoutBlockChild):
38341        (WebCore::RenderBlock::insertFloatingObject):
38342        (WebCore::RenderBlock::addOverhangingFloats):
38343        (WebCore::RenderBlock::addIntrudingFloats):
38344        (WebCore::RenderBlock::collapsedMarginBeforeForChild):
38345        (WebCore::RenderBlock::collapsedMarginAfterForChild):
38346        (WebCore::RenderBlock::marginBeforeForChild):
38347        (WebCore::RenderBlock::marginAfterForChild):
38348        (WebCore::RenderBlock::marginStartForChild):
38349        (WebCore::RenderBlock::marginEndForChild):
38350        (WebCore::RenderBlock::setMarginStartForChild):
38351        (WebCore::RenderBlock::setMarginEndForChild):
38352        (WebCore::RenderBlock::setMarginBeforeForChild):
38353        (WebCore::RenderBlock::setMarginAfterForChild):
38354        (WebCore::RenderBlock::marginValuesForChild):
38355        * rendering/RenderBlock.h:
38356        (WebCore::RenderBlock::logicalWidthForChild):
38357        (WebCore::RenderBlock::logicalHeightForChild):
38358        (WebCore::RenderBlock::logicalTopForChild):
38359        (WebCore::RenderBlock::logicalRightOffsetForContent):
38360        (WebCore::RenderBlock::logicalLeftOffsetForContent):
38361        (WebCore::RenderBlock::logicalTopForFloat):
38362        (WebCore::RenderBlock::logicalBottomForFloat):
38363        (WebCore::RenderBlock::logicalLeftForFloat):
38364        (WebCore::RenderBlock::logicalRightForFloat):
38365        (WebCore::RenderBlock::logicalWidthForFloat):
38366        (WebCore::RenderBlock::setLogicalTopForFloat):
38367        (WebCore::RenderBlock::setLogicalLeftForFloat):
38368        (WebCore::RenderBlock::setLogicalHeightForFloat):
38369        (WebCore::RenderBlock::setLogicalWidthForFloat):
38370        * rendering/RenderBox.cpp:
38371        (WebCore::RenderBox::marginBefore):
38372        (WebCore::RenderBox::marginAfter):
38373        (WebCore::RenderBox::marginStart):
38374        (WebCore::RenderBox::marginEnd):
38375        (WebCore::RenderBox::setMarginStart):
38376        (WebCore::RenderBox::setMarginEnd):
38377        (WebCore::RenderBox::setMarginBefore):
38378        (WebCore::RenderBox::setMarginAfter):
38379        (WebCore::RenderBox::styleDidChange):
38380        (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
38381        (WebCore::RenderBox::computeLogicalWidth):
38382        (WebCore::RenderBox::computeLogicalHeight):
38383        (WebCore::RenderBox::availableLogicalHeightUsing):
38384        (WebCore::RenderBox::avoidsFloats):
38385        * rendering/RenderBox.h:
38386        (WebCore::RenderBox::logicalLeft):
38387        (WebCore::RenderBox::logicalTop):
38388        (WebCore::RenderBox::logicalWidth):
38389        (WebCore::RenderBox::logicalHeight):
38390        (WebCore::RenderBox::setLogicalLeft):
38391        (WebCore::RenderBox::setLogicalTop):
38392        (WebCore::RenderBox::setLogicalWidth):
38393        (WebCore::RenderBox::setLogicalHeight):
38394        (WebCore::RenderBox::setLogicalLocation):
38395        (WebCore::RenderBox::contentLogicalWidth):
38396        (WebCore::RenderBox::contentLogicalHeight):
38397        (WebCore::RenderBox::stretchesToViewport):
38398        (WebCore::RenderBox::intrinsicLogicalWidth):
38399        (WebCore::RenderBox::intrinsicLogicalHeight):
38400        (WebCore::RenderBox::availableWidth):
38401        (WebCore::RenderBox::availableHeight):
38402        (WebCore::RenderBox::scrollbarLogicalHeight):
38403        (WebCore::RenderBox::isWritingModeRoot):
38404        * rendering/RenderFieldset.cpp:
38405        (WebCore::RenderFieldset::paintBoxDecorations):
38406        (WebCore::RenderFieldset::paintMask):
38407        * rendering/RenderImage.cpp:
38408        (WebCore::RenderImage::computeReplacedLogicalWidth):
38409        (WebCore::RenderImage::computeReplacedLogicalHeight):
38410        * rendering/RenderInline.cpp:
38411        (WebCore::RenderInline::marginLeft):
38412        (WebCore::RenderInline::marginRight):
38413        (WebCore::RenderInline::marginTop):
38414        (WebCore::RenderInline::marginBottom):
38415        * rendering/RenderTableCell.cpp:
38416        (WebCore::RenderTableCell::paddingTop):
38417        (WebCore::RenderTableCell::paddingBottom):
38418        (WebCore::RenderTableCell::paddingLeft):
38419        (WebCore::RenderTableCell::paddingRight):
38420        * rendering/RenderView.h:
38421        (WebCore::RenderView::viewLogicalWidth):
38422        (WebCore::RenderView::viewLogicalHeight):
38423        * rendering/RootInlineBox.cpp:
38424        (WebCore::RootInlineBox::RootInlineBox):
38425        * rendering/style/RenderStyle.cpp:
38426        (WebCore::RenderStyle::diff):
38427        (WebCore::RenderStyle::logicalWidth):
38428        (WebCore::RenderStyle::logicalHeight):
38429        (WebCore::RenderStyle::logicalMinWidth):
38430        (WebCore::RenderStyle::logicalMaxWidth):
38431        (WebCore::RenderStyle::logicalMinHeight):
38432        (WebCore::RenderStyle::logicalMaxHeight):
38433        (WebCore::RenderStyle::borderBeforeWidth):
38434        (WebCore::RenderStyle::borderAfterWidth):
38435        (WebCore::RenderStyle::borderStartWidth):
38436        (WebCore::RenderStyle::borderEndWidth):
38437        (WebCore::RenderStyle::marginBefore):
38438        (WebCore::RenderStyle::marginAfter):
38439        (WebCore::RenderStyle::marginBeforeUsing):
38440        (WebCore::RenderStyle::marginAfterUsing):
38441        (WebCore::RenderStyle::marginStart):
38442        (WebCore::RenderStyle::marginEnd):
38443        (WebCore::RenderStyle::marginStartUsing):
38444        (WebCore::RenderStyle::marginEndUsing):
38445        (WebCore::RenderStyle::paddingBefore):
38446        (WebCore::RenderStyle::paddingAfter):
38447        (WebCore::RenderStyle::paddingStart):
38448        (WebCore::RenderStyle::paddingEnd):
38449        * rendering/style/RenderStyle.h:
38450        (WebCore::InheritedFlags::setBitDefaults):
38451        (WebCore::InheritedFlags::writingMode):
38452        (WebCore::InheritedFlags::isHorizontalWritingMode):
38453        (WebCore::InheritedFlags::setWritingMode):
38454        (WebCore::InheritedFlags::initialWritingMode):
38455        * rendering/style/RenderStyleConstants.h:
38456        * rendering/style/SVGRenderStyle.h:
38457        (WebCore::SVGRenderStyle::initialWritingMode):
38458        (WebCore::SVGRenderStyle::setWritingMode):
38459        (WebCore::SVGRenderStyle::writingMode):
38460        * rendering/style/SVGRenderStyleDefs.h:
38461
384622010-10-06  Sheriff Bot  <webkit.review.bot@gmail.com>
38463
38464        Unreviewed, rolling out r69201.
38465        http://trac.webkit.org/changeset/69201
38466        https://bugs.webkit.org/show_bug.cgi?id=47279
38467
38468        This change broke the WebKitGTK+ build for GTK+ 2.0.
38469        (Requested by mrobinson on #webkit).
38470
38471        * platform/gtk/GtkVersioning.c:
38472        (getDefaultGDKPointerDevice):
38473        * platform/gtk/GtkVersioning.h:
38474        * platform/gtk/PlatformScreenGtk.cpp:
38475        (WebCore::getVisual):
38476        (WebCore::screenAvailableRect):
38477
384782010-10-06  Stephen White  <senorblanco@chromium.org>
38479
38480        Reviewed by James Robinson.
38481        https://bugs.webkit.org/show_bug.cgi?id=47282
38482
38483        Robustify the creation of SharedGraphicsContext3D against shader
38484        compilation failures.
38485
38486        Covered by any canvas 2D layout test, when opened in chrome with 
38487        --enable-accelerated-2d-canvas --in-process-webgl.
38488
38489        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
38490        (WebCore::SharedGraphicsContext3D::create):
38491        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
38492        * platform/graphics/gpu/SharedGraphicsContext3D.h:
38493
384942010-10-06  Luiz Agostini  <luiz.agostini@openbossa.org>
38495
38496        Reviewed by Kenneth Rohde Christiansen.
38497
38498        Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
38499        https://bugs.webkit.org/show_bug.cgi?id=47268
38500
38501        Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
38502
38503        * dom/ViewportArguments.cpp:
38504        (WebCore::findConfigurationForViewportData):
38505        * dom/ViewportArguments.h:
38506
385072010-10-06  Renata Hodovan  <reni@inf.u-szeged.hu>
38508
38509        Reviewed by Nikolas Zimmermann.
38510
38511        SVGFEMergeNodeElement doesn't support dynamic invalidation, when attributes change.
38512        https://bugs.webkit.org/show_bug.cgi?id=47181
38513
38514        Since feMergeNode doesn't have own renderer, we have to call the invalidation via its parent.
38515
38516        Tests: svg/dynamic-updates/SVGFEMergeNodeElement-dom-in-attr.html
38517               svg/dynamic-updates/SVGFEMergeNodeElement-svgdom-in-prop.html
38518
38519        * svg/SVGFEMergeNodeElement.cpp:
38520        (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
38521        * svg/SVGFEMergeNodeElement.h:
38522
385232010-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
38524
38525        Reviewed by Martin Robinson.
38526
38527        [GTK] Remove unused code from gtk2drawing.c
38528        https://bugs.webkit.org/show_bug.cgi?id=47086
38529
38530        gtk2drawing.c was copied from mozilla and contains a lot of code that is not
38531        used by WebKit. Most of that unused code is uncompatible with gtk3, so
38532        removing it will make easier porting to gtk3.
38533
38534        * platform/gtk/gtk2drawing.c:
38535        (moz_gtk_get_widget_border):
38536        (moz_gtk_widget_paint):
38537        (moz_gtk_destroy_theme_parts_widgets):
38538        * platform/gtk/gtkdrawing.h:
38539
385402010-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
38541
38542        Reviewed by Xan Lopez.
38543
38544        [GTK] Use pixbufs instead of pixmaps when creating platform cursors
38545        https://bugs.webkit.org/show_bug.cgi?id=47087
38546
38547        gdk_cursor_new_from_pixmap() has been removed in gtk3. We can use a
38548        pixbuf instead of a pixman and use gdk_cursor_new_from_pixbuf() instead
38549        for both gtk2 and gtk3.
38550
38551        * platform/gtk/CursorGtk.cpp:
38552        (WebCore::createNamedCursor):
38553        * platform/gtk/GtkVersioning.c:
38554        (gdk_cairo_format_for_content):
38555        (gdk_cairo_surface_coerce_to_image):
38556        (convert_alpha):
38557        (convert_no_alpha):
38558        (gdk_pixbuf_get_from_surface):
38559        * platform/gtk/GtkVersioning.h:
38560
385612010-10-06  Pavel Podivilov  <podivilov@chromium.org>
38562
38563        Reviewed by Yury Semikhatsky.
38564
38565        Web Inspector: add event listener breakpoints sidebar pane
38566        https://bugs.webkit.org/show_bug.cgi?id=46738
38567
38568        * inspector/front-end/BreakpointManager.js:
38569        (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
38570        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint.breakpoint.compareTo):
38571        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
38572        (WebInspector.NativeBreakpoint):
38573        (WebInspector.NativeBreakpoint.prototype._setOnBackend.didSet):
38574        (WebInspector.NativeBreakpoint.prototype._setOnBackend):
38575        * inspector/front-end/BreakpointsSidebarPane.js:
38576        (WebInspector.XHRBreakpointsSidebarPane.prototype._showEditBreakpointDialog):
38577        (WebInspector.BreakpointItem):
38578        (WebInspector.EventListenerBreakpointsSidebarPane):
38579        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
38580        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCheckbox):
38581        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
38582        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._eventNameCheckboxClicked):
38583        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointEnableChanged):
38584        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
38585        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.reset):
38586        * inspector/front-end/EventListenersSidebarPane.js:
38587        ():
38588        * inspector/front-end/PropertiesSection.js:
38589        (WebInspector.PropertiesSection):
38590        * inspector/front-end/ScriptsPanel.js:
38591        (WebInspector.ScriptsPanel):
38592        (WebInspector.ScriptsPanel.prototype.reset):
38593        * inspector/front-end/inspector.css:
38594        (.section .properties, .event-bar .event-properties):
38595        (.section.expanded .properties, .event-bar.expanded .event-properties):
38596        (ol.properties-tree):
38597        (ol.properties-tree li):
38598        (ol.properties-tree li.parent):
38599        (ol.properties-tree li.parent::before):
38600        (ol.properties-tree li.parent.expanded::before):
38601        (ol.properties-tree li .info):
38602        (ol.properties-tree ol, .stack-trace ol, ol.stack-trace):
38603        (ol.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace):
38604        (ol.stack-trace):
38605        (.event-listener-breakpoints .event-category):
38606        (ol.event-listener-breakpoints.properties-tree .children li):
38607        (.event-listener-breakpoints .checkbox-elem):
38608        * inspector/front-end/inspector.js:
38609        (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
38610        (WebInspector.createXHRBreakpointsSidebarPane):
38611
386122010-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
38613
38614        Reviewed by Xan Lopez.
38615
38616        [GTK] Port to gtk+3 (2.91.0)
38617        https://bugs.webkit.org/show_bug.cgi?id=47249
38618
38619        Do not use GdkDrawable deprecated API
38620
38621        Some methods of GdkDrawable are deprecated in gtk2 and have been
38622        remmoved in gtk3. Equivalent API has been added to GdkWindow.
38623
38624        * platform/gtk/GtkVersioning.c:
38625        (getDefaultGDKPointerDevice):
38626        * platform/gtk/GtkVersioning.h:
38627        * platform/gtk/PlatformScreenGtk.cpp:
38628        (WebCore::getVisual):
38629        (WebCore::screenAvailableRect):
38630
386312010-10-06  Ryuan Choi  <ryuan.choi@samsung.com>
38632
38633        Reviewed by Antonio Gomes.
38634
38635        [EFL] Support Progress Tag
38636        https://bugs.webkit.org/show_bug.cgi?id=45951
38637
38638        Implement to render progress tag.
38639
38640        No new tests. Existing tests in fast/dom/HTMLProgressElement.
38641
38642        * platform/efl/RenderThemeEfl.cpp:
38643        (WebCore::RenderThemeEfl::paintThemePart):
38644        (WebCore::RenderThemeEfl::edjeGroupFromFormType):
38645        (WebCore::RenderThemeEfl::adjustProgressBarStyle):
38646        (WebCore::RenderThemeEfl::paintProgressBar):
38647        * platform/efl/RenderThemeEfl.h:
38648
386492010-10-06  Patrick Gansterer  <paroga@webkit.org>
38650
38651        Reviewed by Darin Adler.
38652
38653        Add KURL::protocolIsData()
38654        https://bugs.webkit.org/show_bug.cgi?id=47219
38655
38656        * page/Page.cpp:
38657        (WebCore::Page::userStyleSheetLocationChanged):
38658        * page/SecurityOrigin.cpp:
38659        (WebCore::SecurityOrigin::taintsCanvas):
38660        * page/XSSAuditor.cpp:
38661        (WebCore::XSSAuditor::findInRequest):
38662        * platform/KURL.h:
38663        (WebCore::KURL::protocolIsData):
38664        * platform/network/curl/ResourceHandleManager.cpp:
38665        (WebCore::ResourceHandleManager::dispatchSynchronousJob):
38666        (WebCore::ResourceHandleManager::startJob):
38667        * platform/network/win/ResourceHandleWin.cpp:
38668        (WebCore::ResourceHandle::start):
38669        (WebCore::ResourceHandle::fileLoadTimer):
38670
386712010-10-06  Alexander Pavlov  <apavlov@chromium.org>
38672
38673        Reviewed by Pavel Feldman.
38674
38675        CSSParser: Enable rule selector source range extraction.
38676        API modification followed by clients.
38677        https://bugs.webkit.org/show_bug.cgi?id=46367
38678
38679        Some code removal suggested by Darin Adler.
38680
38681        * css/CSSGrammar.y:
38682        * css/CSSParser.cpp:
38683        (WebCore::CSSParser::CSSParser):
38684        (WebCore::CSSParser::parseSheet):
38685        (WebCore::CSSParser::parseDeclaration):
38686        (WebCore::CSSParser::createStyleRule):
38687        (WebCore::CSSParser::markSelectorListStart):
38688        (WebCore::CSSParser::markSelectorListEnd):
38689        (WebCore::CSSParser::markRuleBodyStart):
38690        (WebCore::CSSParser::markRuleBodyEnd):
38691        (WebCore::CSSParser::markPropertyStart):
38692        (WebCore::CSSParser::markPropertyEnd):
38693        * css/CSSParser.h:
38694        (WebCore::CSSParser::resetSelectorListMarks):
38695        (WebCore::CSSParser::resetRuleBodyMarks):
38696        (WebCore::CSSParser::resetPropertyMarks):
38697        * css/CSSPropertySourceData.cpp:
38698        * css/CSSPropertySourceData.h:
38699        (WebCore::CSSRuleSourceData::create):
38700        * inspector/InspectorCSSStore.cpp:
38701        (WebCore::InspectorCSSStore::getRuleSourceData):
38702        (WebCore::InspectorCSSStore::extractRanges):
38703        (WebCore::InspectorCSSStore::getStyleAttributeRanges):
38704        * inspector/InspectorCSSStore.h:
38705        * inspector/InspectorDOMAgent.cpp:
38706        (WebCore::InspectorDOMAgent::getStyleSourceData):
38707
387082010-10-06  Dirk Schulze  <krit@webkit.org>
38709
38710        Added reviewer to commit r69187.
38711
387122010-10-06  Dirk Schulze  <krit@webkit.org>
38713
38714        Reviewed by Nikolas Zimmermann.
38715
38716        SVG feMorphology - big radii cause huge ImageBuffer sizes
38717        https://bugs.webkit.org/show_bug.cgi?id=47263
38718
38719        The current code in FEMorphology::determineAbsolutePaintRect calculates the smallest paint rect by inflate the paint rect
38720        of a previous effect with the radius. This was meant as an optimization, but I forgot to clip the calculated image size
38721        by the maximal effect size. This caused huge image sizes for big radii.
38722
38723        This is covered by svg/filters/feMorphology-invalid-radius.svg and fixes the crashes on Windows and Snow Leopard bots.
38724
38725        * platform/graphics/filters/FEMorphology.cpp:
38726        (WebCore::FEMorphology::determineAbsolutePaintRect):
38727
387282010-10-06  Alejandro G. Castro  <alex@igalia.com>
38729
38730        Reviewed by Dirk Schulze.
38731
38732        Fixed crash in gtk bots (filter-empty-g.svg) after r69181.
38733
38734        * rendering/RenderSVGResourceFilter.cpp:
38735        (WebCore::RenderSVGResourceFilter::postApplyResource):
38736
387372010-10-06  Antonio Gomes  <agomes@rim.org>
38738
38739        Reviewed by Kenneth Rohde Christiansen.
38740
38741        Rename HitTestResult::rectFromPoint to rectForPoint
38742        https://bugs.webkit.org/show_bug.cgi?id=47261
38743
38744        As per Kenneth Christiansen request inhttps://bugs.webkit.org/show_bug.cgi?id=46336#c20.
38745
38746        * WebCore.exp.in:
38747        * dom/Document.cpp:
38748        (WebCore::Document::nodesFromRect):
38749        * rendering/EllipsisBox.cpp:
38750        (WebCore::EllipsisBox::nodeAtPoint):
38751        * rendering/HitTestResult.cpp:
38752        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
38753        (WebCore::HitTestResult::rectForPoint):
38754        * rendering/HitTestResult.h:
38755        (WebCore::HitTestResult::rectForPoint):
38756        * rendering/InlineFlowBox.cpp:
38757        (WebCore::InlineFlowBox::nodeAtPoint):
38758        * rendering/InlineTextBox.cpp:
38759        (WebCore::InlineTextBox::nodeAtPoint):
38760        * rendering/RenderBlock.cpp:
38761        (WebCore::RenderBlock::nodeAtPoint):
38762        (WebCore::RenderBlock::hitTestColumns):
38763        * rendering/RenderBox.cpp:
38764        (WebCore::RenderBox::nodeAtPoint):
38765        * rendering/RenderLayer.cpp:
38766        (WebCore::RenderLayer::hitTestLayer):
38767        (WebCore::RenderLayer::hitTestChildLayerColumns):
38768        * rendering/RenderTable.cpp:
38769        (WebCore::RenderTable::nodeAtPoint):
38770        * rendering/RenderTableSection.cpp:
38771        (WebCore::RenderTableSection::nodeAtPoint):
38772
387732010-10-06  Dirk Schulze  <krit@webkit.org>
38774
38775        Reviewed by Martin Robinson.
38776
38777        SVGs with filters look grainy when scaled
38778        https://bugs.webkit.org/show_bug.cgi?id=5526
38779
38780        Fixed issues on Cairos shadow implementation after the changes to FilterEffects.
38781        Cairo calculates the inflation of the effect rect itself. Respect this for FEGaussianBlur.
38782        This is just a temporary solution, since Cairo and Qt will use ContextShadow soon.
38783
38784        * platform/graphics/GraphicsContext.h:
38785        * platform/graphics/cairo/GraphicsContextCairo.cpp:
38786        (WebCore::drawBorderlessRectShadow):
38787        (WebCore::GraphicsContext::applyPlatformShadow):
38788        (WebCore::GraphicsContext::createShadowMask):
38789        (WebCore::GraphicsContext::drawTiledShadow):
38790        (WebCore::GraphicsContext::fillRoundedRect):
38791        * platform/graphics/filters/ImageBufferFilter.cpp:
38792        (WebCore::ImageBufferFilter::ImageBufferFilter):
38793        (WebCore::ImageBufferFilter::create):
38794        * platform/graphics/filters/ImageBufferFilter.h:
38795        (WebCore::ImageBufferFilter::filterRegion):
38796        (WebCore::ImageBufferFilter::sourceImageRect):
38797
387982010-10-06  Nikolas Zimmermann  <nzimmermann@rim.com>
38799
38800        Reviewed by Dirk Schulze.
38801
38802        Only execute first SVG text layout phase if needed
38803        https://bugs.webkit.org/show_bug.cgi?id=47254
38804
38805        The first SVG text layout phase which computes the per-character metrics and extracts
38806        the x/y/dx/dy/rotate values from the SVG DOM is currently executed upon every RenderSVGText::layout() call.
38807
38808        Optimize this, by only calling it:
38809        - if x/y/dx/dy/rotate value lists change
38810        - the style of a RenderSVGInlineText changes (eg. font-size changes influence metrics)
38811        - the text content of any of the children in the <text> subtree change
38812
38813        No change in layout tests, a pure performance change - covered by existing tests.
38814
38815        * rendering/RenderSVGResourceGradient.cpp:
38816        (WebCore::createMaskAndSwapContextForTextGradient): Adapt to renames, use RenderSVGText::locateRenderSVGTextAncestor().
38817        (WebCore::clipToTextMask): Ditto.
38818        * rendering/SVGRenderSupport.cpp:
38819        * rendering/SVGRenderSupport.h: Move findTreeRootObject to RenderSVGText::locateRenderSVGTextAncestor().
38820        * rendering/svg/RenderSVGInline.cpp:
38821        (WebCore::RenderSVGInline::objectBoundingBox): adapt to renames, use RenderSVGText::locateRenderSVGTextAncestor().
38822        (WebCore::RenderSVGInline::strokeBoundingBox): Ditto.
38823        (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto.
38824        (WebCore::RenderSVGInline::absoluteQuads): Ditto.
38825        * rendering/svg/RenderSVGInlineText.cpp:
38826        (WebCore::RenderSVGInlineText::styleDidChange): Call setNeedsPositioningValuesUpdate() on the RenderSVGText root object, if diff == StyleDifferenceLayout.
38827        * rendering/svg/RenderSVGText.cpp:
38828        (WebCore::RenderSVGText::RenderSVGText): Initialize m_needsPositioningValuesUpdate.
38829        (WebCore::RenderSVGText::locateRenderSVGTextAncestor): New helper function, moved from SVGRenderSupport, to a more sensible place.
38830        (WebCore::RenderSVGText::layout): Only execute the first SVG text layout phase, if m_needsPositioningValuesUpdate=true.
38831        * rendering/svg/RenderSVGText.h:
38832        (WebCore::RenderSVGText::setNeedsPositioningValuesUpdate):
38833        (WebCore::toRenderSVGText): Add new helper casting methods, like most other renderers have.
38834        * svg/SVGTextPositioningElement.cpp:
38835        (WebCore::updatePositioningValuesInRenderer):
38836        (WebCore::SVGTextPositioningElement::svgAttributeChanged): If x/y/dx/dy/rotate changes, call setNeedsPositioningValuesUpdate on the RenderSVGText root object.
38837        (WebCore::SVGTextPositioningElement::childrenChanged): If any children changes (addition, removal), do the same.
38838        * svg/SVGTextPositioningElement.h:
38839
388402010-10-05  Andrey Kosyakov  <caseq@chromium.org>
38841
38842        Reviewed by Yury Semikhatsky.
38843
38844        Web Inspector: [Extensions API] Expose access to resource bodies
38845        Added support for encoding resource in WebInspector.getResourceContent()
38846        https://bugs.webkit.org/show_bug.cgi?id=45953
38847
38848        * inspector/Inspector.idl: Added encoding parameter to getResourceContent()
38849        * inspector/InspectorController.cpp:
38850        (WebCore::InspectorController::getResourceContent):
38851        * inspector/InspectorController.h:
38852        * inspector/InspectorResource.cpp: Added sourceBytes() to return encoded representation of resource's binary body.
38853        (WebCore::InspectorResource::sourceBytes):
38854        * inspector/InspectorResource.h:
38855        * inspector/front-end/ExtensionAPI.js:
38856        (WebInspector.injectedExtensionAPI.Resources.prototype.getContent):
38857        * inspector/front-end/ExtensionServer.js:
38858        (WebInspector.ExtensionServer):
38859        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
38860        (WebInspector.ExtensionServer.prototype._onGetResourceContent.onContentAvailable):
38861        (WebInspector.getEncodedResourceContent):
38862        * inspector/front-end/NetworkPanel.js:
38863        (WebInspector.getResourceContent):
38864        * inspector/front-end/ResourcesPanel.js:
38865        (WebInspector.getResourceContent):
38866
388672010-10-06  David Hyatt  <hyatt@apple.com>
38868
38869        Reviewed by Dan Bernstein.
38870
38871        https://bugs.webkit.org/show_bug.cgi?id=47235
38872        
38873        Make "lr" block-flow fieldsets work.
38874        
38875        (1) Patched html.css rules for legends and fieldsets to use logical margins and padding.
38876        (2) Converted just enough of computePreferredLogicalWidths to make basic examples work.
38877        (3) Removed the extra border drawing code from fieldsets so that the "clip out the legend" approach
38878        is now just always used.  It's silly to keep the old border drawing code in (which has already gotten out
38879        of sync with the base class) just to avoid a save/restore and some clipping.
38880        (4) Modified the layout/painting routines to place the legend properly and to be able to draw it in
38881        both the top and the left borders.
38882
38883        Added fast/blockflow/fieldsets.html
38884
38885        * css/html.css:
38886        (legend):
38887        (fieldset):
38888        * rendering/RenderBlock.cpp:
38889        (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
38890        (WebCore::RenderBlock::setLogicalLeftForChild):
38891        (WebCore::RenderBlock::setLogicalTopForChild):
38892        (WebCore::RenderBlock::layoutBlockChild):
38893        (WebCore::RenderBlock::computePreferredLogicalWidths):
38894        * rendering/RenderBlock.h:
38895        * rendering/RenderFieldset.cpp:
38896        (WebCore::RenderFieldset::layoutLegend):
38897        (WebCore::RenderFieldset::paintBoxDecorations):
38898        (WebCore::RenderFieldset::paintMask):
38899        * rendering/RenderFieldset.h:
38900
389012010-10-06  Patrick Gansterer  <paroga@webkit.org>
38902
38903        Reviewed by Darin Adler.
38904
38905        Move parseDataUrl() from CURL into own file
38906        https://bugs.webkit.org/show_bug.cgi?id=41462
38907
38908        Move the data URL parsing algorithm into a new file to use it in ResourceHandleWin too.
38909
38910        * CMakeLists.txt:
38911        * WebCore.gypi:
38912        * WebCore.vcproj/WebCore.vcproj:
38913        * platform/network/DataURL.cpp: Added.
38914        (WebCore::handleDataURL):
38915        * platform/network/DataURL.h: Added.
38916        * platform/network/curl/ResourceHandleManager.cpp:
38917        (WebCore::ResourceHandleManager::dispatchSynchronousJob):
38918        (WebCore::ResourceHandleManager::startJob):
38919        * platform/network/win/ResourceHandleWin.cpp:
38920        (WebCore::ResourceHandle::start):
38921        (WebCore::ResourceHandle::fileLoadTimer):
38922
389232010-10-06  Dirk Schulze  <krit@webkit.org>
38924
38925        Reviewed by Nikolas Zimmermann.
38926
38927        SVGs with filters look grainy when scaled
38928        https://bugs.webkit.org/show_bug.cgi?id=5526
38929
38930        SVG filter effects need smarter size calculation
38931        https://bugs.webkit.org/show_bug.cgi?id=31370
38932
38933        SVG elements use Filters before own transformations
38934        https://bugs.webkit.org/show_bug.cgi?id=32486
38935
38936        Calculate all filter results in device space instead of the filtered objects user space. This change is similar to
38937        the patches for SVG Pattern and SVG Masker before. It avoids pixelation and guarantees smooth filter results for
38938        every scale level and is independent of any transformation to the target element or any ancester of the target.
38939        The second part of this patch reduces the size of every effect to the smallest affected region instead of the complete
38940        filter primitive subregion (http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveSubRegion). We just use the subregion
38941        as clipping region, like mentioned in the SVG specification, to make the affected region even smaller now.
38942
38943        This is a huge speed up. The ECMA cloud (http://ejohn.org/files/ecma-cloud.svg) is more than 100 times faster on Gtk and
38944        renders in less than a second.
38945        Some examples on svg-wow.org can be viewed the first time now, since the subregions were much bigger than the affected
38946        region.
38947        There's still more potential to speed up filters, by further reducing the ImageBuffer sizes.
38948        Renamed repaintRectInLocalCoordinates to absolutePaintRect, since all coordinates are in device space instead of the
38949        user space now.
38950        The absolute paint rect is calculated by determineAbsolutePaintRect() and gets called by FilterEffect::effectContext() on
38951        applying the effect.
38952        Partly rewrote filter resolution (http://www.w3.org/TR/SVG/filters.html#FilterElementFilterResAttribute) to work with the
38953        new concept. This also corrects the old behavior to match the SVG specification.
38954
38955        Tests: svg/filters/filterRes1.svg
38956               svg/filters/filterRes2.svg
38957               svg/filters/filterRes3.svg
38958
38959        * platform/graphics/cairo/GraphicsContextCairo.cpp: Call setAbsolutePaintRect instead of setRepaintRectInLocalCoordinates.
38960        (WebCore::GraphicsContext::createShadowMask):
38961        * platform/graphics/filters/FEBlend.cpp: Renamed repaintRectInLocalCoordinates to absolutePaintRect.
38962        (WebCore::FEBlend::apply):
38963        * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
38964        (WebCore::FEColorMatrix::apply):
38965        * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
38966        (WebCore::FEComponentTransfer::apply):
38967        * platform/graphics/filters/FEComposite.cpp: Ditto.
38968        (WebCore::FEComposite::determineAbsolutePaintRect):
38969        (WebCore::FEComposite::apply):
38970        * platform/graphics/filters/FEComposite.h:
38971        * platform/graphics/filters/FEConvolveMatrix.cpp: Ditto.
38972        (WebCore::FEConvolveMatrix::apply):
38973        * platform/graphics/filters/FEConvolveMatrix.h:
38974        (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
38975        * platform/graphics/filters/FEDisplacementMap.cpp: Ditto.
38976        (WebCore::FEDisplacementMap::apply):
38977        * platform/graphics/filters/FEDisplacementMap.h:
38978        (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
38979        * platform/graphics/filters/FEFlood.cpp: Ditto.
38980        (WebCore::FEFlood::apply):
38981        * platform/graphics/filters/FEFlood.h:
38982        (WebCore::FEFlood::determineAbsolutePaintRect):
38983        * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
38984        (WebCore::calculateKernelSize):
38985        (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
38986        (WebCore::FEGaussianBlur::apply):
38987        * platform/graphics/filters/FEGaussianBlur.h:
38988        * platform/graphics/filters/FELighting.cpp: Ditto.
38989        (WebCore::FELighting::apply):
38990        * platform/graphics/filters/FEMerge.cpp: Ditto.
38991        (WebCore::FEMerge::apply):
38992        * platform/graphics/filters/FEMorphology.cpp: Ditto.
38993        (WebCore::FEMorphology::determineAbsolutePaintRect):
38994        (WebCore::FEMorphology::apply):
38995        * platform/graphics/filters/FEMorphology.h:
38996        * platform/graphics/filters/FEOffset.cpp: Ditto.
38997        (WebCore::FEOffset::determineAbsolutePaintRect):
38998        (WebCore::FEOffset::apply):
38999        * platform/graphics/filters/FEOffset.h:
39000        * platform/graphics/filters/FETile.cpp: Ditto.
39001        (WebCore::FETile::determineFilterPrimitiveSubregion):
39002        (WebCore::FETile::apply):
39003        * platform/graphics/filters/FETile.h:
39004        (WebCore::FETile::determineAbsolutePaintRect):
39005        * platform/graphics/filters/FETurbulence.cpp: Ditto.
39006        (WebCore::FETurbulence::apply):
39007        * platform/graphics/filters/FETurbulence.h:
39008        (WebCore::FETurbulence::determineAbsolutePaintRect):
39009        * platform/graphics/filters/Filter.h:
39010        (WebCore::Filter::applyHorizontalScale): Map horizontal effect values to absolute coordinates.
39011        (WebCore::Filter::applyVerticalScale): Map vertical effect values to absolute coordinates.
39012        (WebCore::Filter::mapAbsolutePointToLocalPoint):
39013        (WebCore::Filter::filterRegionInUserSpace):
39014        * platform/graphics/filters/FilterEffect.cpp: Ditto.
39015        (WebCore::FilterEffect::determineFilterPrimitiveSubregion):
39016        (WebCore::FilterEffect::determineAbsolutePaintRect):
39017        (WebCore::FilterEffect::requestedRegionOfInputImageData):
39018        (WebCore::FilterEffect::drawingRegionOfInputImage):
39019        (WebCore::FilterEffect::effectContext):
39020        * platform/graphics/filters/FilterEffect.h:
39021        (WebCore::FilterEffect::absolutePaintRect):
39022        (WebCore::FilterEffect::setAbsolutePaintRect):
39023        (WebCore::FilterEffect::maxEffectRect): The subregion in absolute coordinates for SVG.
39024        (WebCore::FilterEffect::setMaxEffectRect):
39025        * platform/graphics/filters/SourceAlpha.cpp: Ditto.
39026        (WebCore::SourceAlpha::determineAbsolutePaintRect):
39027        (WebCore::SourceAlpha::apply):
39028        * platform/graphics/filters/SourceAlpha.h:
39029        * platform/graphics/filters/SourceGraphic.cpp: Ditto.
39030        (WebCore::SourceGraphic::determineAbsolutePaintRect):
39031        (WebCore::SourceGraphic::apply):
39032        * platform/graphics/filters/SourceGraphic.h:
39033        * rendering/RenderSVGResourceFilter.cpp:
39034        (WebCore::RenderSVGResourceFilter::applyResource):
39035        (WebCore::RenderSVGResourceFilter::postApplyResource):
39036        * rendering/RenderSVGResourceFilter.h:
39037        (WebCore::FilterData::FilterData):
39038        * svg/graphics/filters/SVGFEImage.cpp: Ditto.
39039        (WebCore::FEImage::apply):
39040        * svg/graphics/filters/SVGFEImage.h:
39041        (WebCore::FEImage::determineAbsolutePaintRect):
39042        * svg/graphics/filters/SVGFilter.cpp:
39043        (WebCore::SVGFilter::SVGFilter):
39044        (WebCore::SVGFilter::determineFilterPrimitiveSubregion):
39045        (WebCore::SVGFilter::applyHorizontalScale):
39046        (WebCore::SVGFilter::applyVerticalScale):
39047        (WebCore::SVGFilter::create):
39048        * svg/graphics/filters/SVGFilter.h:
39049        (WebCore::SVGFilter::effectBoundingBoxMode):
39050        (WebCore::SVGFilter::filterRegionInUserSpace):
39051        (WebCore::SVGFilter::filterRegion):
39052        (WebCore::SVGFilter::mapAbsolutePointToLocalPoint): Map absolute point to local point in userspace.
39053        (WebCore::SVGFilter::sourceImageRect):
39054        (WebCore::SVGFilter::maxImageSize):
39055
390562010-10-06  Pavel Podivilov  <podivilov@chromium.org>
39057
39058        Reviewed by Yury Semikhatsky.
39059
39060        Web Inspector: add "Set Breakpoint" item to XHR resource context menu.
39061        https://bugs.webkit.org/show_bug.cgi?id=47085
39062
39063        * English.lproj/localizedStrings.js:
39064        * inspector/front-end/ResourcesPanel.js:
39065        (WebInspector.ResourcesPanel.prototype._contextMenu):
39066
390672010-10-05  Kinuko Yasuda  <kinuko@chromium.org>
39068
39069        Reviewed by David Levin.
39070
39071        Add idl and mock classes for FileSystemSync for FileSystem API
39072        https://bugs.webkit.org/show_bug.cgi?id=46405
39073
39074        Added bunch of *Sync classes, plus refactored some classes:
39075        Added DOMFileSystemBase as a common base class for DOMFileSystem and
39076        DOMFileSystemSync.
39077        Added EntryBase as a common base class for Entry and EntrySync.
39078        Added DirectoryReaderBase as a common base class for DirectoryReader and
39079        DirectoryReaderSync.
39080
39081        Test: fast/filesystem/workers/
39082
39083        * CMakeLists.txt: Added new files.
39084        * DerivedSources.cpp: Added new files.
39085        * DerivedSources.make: Added new files.
39086        * GNUmakefile.am: Added new files.
39087        * WebCore.gypi: Added new files.
39088        * WebCore.pri: Added new files.
39089        * WebCore.pro: Added new files.
39090        * WebCore.vcproj/WebCore.vcproj: Added new files. Also removed the duplicated fileapi\FileEntry.cpp entry.
39091        * WebCore.xcodeproj/project.pbxproj: Added new files.
39092        * bindings/js/JSDirectoryEntrySyncCustom.cpp: Added.
39093        * bindings/js/JSEntrySyncCustom.cpp: Added.
39094        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp: Added.
39095        * bindings/v8/custom/V8EntrySyncCustom.cpp: Added.
39096        * fileapi/DOMFileSystemBase.cpp: Added.
39097        * fileapi/DOMFileSystemBase.h: Added.
39098        * fileapi/DOMFileSystemSync.cpp: Added.
39099        * fileapi/DOMFileSystemSync.h: Added.
39100        * fileapi/DOMFileSystemSync.idl: Added.
39101        * fileapi/DirectoryEntrySync.cpp: Added.
39102        * fileapi/DirectoryEntrySync.h: Added.
39103        * fileapi/DirectoryEntrySync.idl: Added.
39104        * fileapi/DirectoryReaderBase.h: Added.
39105        * fileapi/DirectoryReaderSync.cpp: Added.
39106        * fileapi/DirectoryReaderSync.h: Added.
39107        * fileapi/DirectoryReaderSync.idl: Added.
39108        * fileapi/EntryArraySync.cpp: Added.
39109        * fileapi/EntryArraySync.h: Added.
39110        * fileapi/EntryArraySync.idl: Added.
39111        * fileapi/EntryBase.h: Added.
39112        * fileapi/EntrySync.cpp: Added.
39113        * fileapi/EntrySync.h: Added.
39114        * fileapi/EntrySync.idl: Added.
39115        * fileapi/FileEntrySync.cpp: Added.
39116        * fileapi/FileEntrySync.h: Added.
39117        * fileapi/FileEntrySync.idl: Added.
39118
391192010-10-05  Kent Tamura  <tkent@chromium.org>
39120
39121        Reviewed by Dimitri Glazkov.
39122
39123        REGRESSION (r67166): "Placeholder" text remains in input box after 2nd focus()
39124        https://bugs.webkit.org/show_bug.cgi?id=45940
39125
39126        Test: fast/forms/input-placeholder-focus-twice.html
39127
39128        * html/HTMLFormControlElement.h: Make supportsPlaceholder() public.
39129        * rendering/RenderTextControlSingleLine.cpp:
39130        (WebCore::RenderTextControlSingleLine::updateFromElement):
39131         We always need to update the renderer value with the DOM value if
39132         the element supports the placeholder feature.
39133         Note: the placeholder feature and "unacceptable renderer value"
39134         are exclusive.
39135
391362010-10-05  Kyusun Kim  <maniagoon@company100.net>
39137
39138        Reviewed by Kent Tamura.
39139
39140        [BREWMP] Translate key code in PlatformKeyboardEvent with IKeysMapping
39141        https://bugs.webkit.org/show_bug.cgi?id=47234
39142
39143        Brew MP devices have a variey of key configurations and use modifiers to
39144        input capital letters, symbols and special characters. Use IKeysMapping to translate key code.
39145
39146        * platform/brew/PlatformKeyboardEventBrew.cpp:
39147        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
39148
391492010-10-05  W. James MacLean  <wjmaclean@chromium.org>
39150
39151        Reviewed by James Robinson.
39152
39153        [chromium] Add mipmap support for ImageLayerChromium
39154        https://bugs.webkit.org/show_bug.cgi?id=46493
39155
39156        Mipmap behaviour can be tested with existing tests.
39157        Tests in LayoutTests/compositing/images/ will detect if
39158        mipmaps fail.
39159
39160        * platform/graphics/chromium/ContentLayerChromium.cpp:
39161        (WebCore::ContentLayerChromium::SharedValues::SharedValues):
39162        (WebCore::isPowerOfTwo):
39163        (WebCore::ContentLayerChromium::updateTextureRect):
39164        * platform/graphics/chromium/ContentLayerChromium.h:
39165        (WebCore::ContentLayerChromium::SharedValues::npotSupported):
39166        * platform/graphics/chromium/ImageLayerChromium.cpp:
39167        (WebCore::ImageLayerChromium::updateContents):
39168
391692010-10-05  Adam Barth  <abarth@webkit.org>
39170
39171        Reviewed by Darin Adler.
39172
39173        Issue in treebuilder parsing related to table tags
39174        https://bugs.webkit.org/show_bug.cgi?id=47190
39175
39176        Update ASSERT to match the spec and our behavior.
39177
39178        * html/parser/HTMLTreeBuilder.cpp:
39179        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
39180
391812010-10-05  Victoria Kirst  <vrk@google.com>
39182
39183        Reviewed by James Robinson.
39184
39185        VideoLayerChromium releases old resources if the LayerRenderer changes.
39186        https://bugs.webkit.org/show_bug.cgi?id=47030
39187
39188        Refactored LayerChromium to have a virtual cleanupResources() method
39189        that will release textures/other context-dependent resources when a
39190        LayerRenderer changes. ContentLayerChromium and VideoLayerChromium now
39191        override this method to perform cleanup.
39192
39193        * platform/graphics/chromium/ContentLayerChromium.cpp:
39194        * platform/graphics/chromium/ContentLayerChromium.h:
39195        * platform/graphics/chromium/LayerChromium.cpp:
39196        (WebCore::LayerChromium::setLayerRenderer):
39197        * platform/graphics/chromium/LayerChromium.h:
39198        (WebCore::LayerChromium::cleanupResources):
39199        * platform/graphics/chromium/VideoLayerChromium.cpp:
39200        (WebCore::VideoLayerChromium::~VideoLayerChromium):
39201        (WebCore::VideoLayerChromium::cleanupResources):
39202        * platform/graphics/chromium/VideoLayerChromium.h:
39203
392042010-10-05  Kinuko Yasuda  <kinuko@chromium.org>
39205
39206        Reviewed by Jian Li.
39207
39208        FileEntry::file needs to be implemented
39209        https://bugs.webkit.org/show_bug.cgi?id=47192
39210
39211        Test: fast/filesystem/file-from-file-entry.html
39212
39213        * fileapi/FileEntry.cpp:
39214        (WebCore::FileEntry::file): Implemented.
39215
392162010-09-29  Alpha Lam  <hclam@chromium.org>
39217
39218        Reviewed by James Robinson.
39219
39220        Render textures in video frame directly.
39221        https://bugs.webkit.org/show_bug.cgi?id=46765
39222
39223        Render textures in VideoLayerChromium directly if the video frame type
39224        is GL texture. In the future VideoLayerChromium will not allocate
39225        textures and perform textures upload as those operations will be done
39226        in Chromium to minimize memory copy. This patch will help moving toward
39227        this direction and facilitate hardware video decoding.
39228
39229        * platform/graphics/chromium/VideoFrameChromium.h:
39230        * platform/graphics/chromium/VideoFrameProvider.h:
39231        (WebCore::VideoFrameProvider::~VideoFrameProvider):
39232        * platform/graphics/chromium/VideoLayerChromium.cpp:
39233        (WebCore::VideoLayerChromium::VideoLayerChromium):
39234        (WebCore::VideoLayerChromium::~VideoLayerChromium):
39235        (WebCore::VideoLayerChromium::updateContents):
39236        (WebCore::VideoLayerChromium::draw):
39237        (WebCore::VideoLayerChromium::releaseCurrentFrame):
39238        (WebCore::VideoLayerChromium::resetFrameParameters):
39239        (WebCore::VideoLayerChromium::saveCurrentFrame):
39240        * platform/graphics/chromium/VideoLayerChromium.h:
39241        (WebCore::VideoLayerChromium::SharedValues::initialized):
39242
392432010-10-05  Fady Samuel  <fsamuel@chromium.org>
39244
39245        Reviewed by Darin Adler.
39246
39247        REGRESSION (r65539): One pixel white gaps when scrolling Trac changeset pages
39248        https://bugs.webkit.org/show_bug.cgi?id=45131
39249
39250        When border-collapse: separate property is set on the table, paintObject
39251        may skip repainting cells, if the dirty region only touches one row/col of pixels.
39252
39253        Test: fast/table/simple_paint_separate_borders.html
39254
39255        * rendering/RenderTableSection.cpp:
39256        (WebCore::RenderTableSection::paintObject):  
39257            Don't subtract one from the right and bottom of the dirty paint rect.
39258
392592010-10-05  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
39260
39261        Reviewed by Darin Fisher.
39262
39263        PluginDocument now holds on to the created plugin node so that the pluginNode() and pluginWidget() methods can return the correct node.
39264        https://bugs.webkit.org/show_bug.cgi?id=47129
39265
39266        * html/PluginDocument.cpp:
39267        (WebCore::PluginDocumentParser::createDocumentStructure):
39268        (WebCore::PluginDocument::pluginWidget):
39269        (WebCore::PluginDocument::pluginNode):
39270        * html/PluginDocument.h:
39271        (WebCore::PluginDocument::setPluginNode):
39272
392732010-10-05  Andreas Kling  <kling@webkit.org>
39274
39275        Reviewed by Tor Arne Vestbø.
39276
39277        [Qt] Re-enable single-NPP_SetWindow quirk for 64-bit
39278        https://bugs.webkit.org/show_bug.cgi?id=45363
39279
39280        This is still causing trouble for people, so let's put the
39281        quirk back until we can figure this out properly.
39282
39283        * plugins/PluginPackage.cpp:
39284        (WebCore::PluginPackage::determineQuirks):
39285
392862010-10-05  Jian Li  <jianli@chromium.org>
39287
39288        Reviewed by Nate Chapin.
39289
39290        [V8] Add FileReader to active DOM map
39291        https://bugs.webkit.org/show_bug.cgi?id=47205
39292
39293        We need to have a custom FileReader V8 constructor in order to add object
39294        into active DOM map to prevent it from GC-ed when it is still in-use.
39295
39296        * Android.v8bindings.mk:
39297        * WebCore.gypi:
39298        * bindings/scripts/CodeGeneratorV8.pm:
39299        * bindings/v8/custom/V8FileReaderCustom.cpp: Added.
39300        (WebCore::V8FileReader::constructorCallback):
39301        * fileapi/FileReader.idl:
39302
393032010-10-05  Vincent Scheib  <scheib@chromium.org>
39304
39305        Reviewed by Kenneth Russell.
39306
39307        [chromium] 51304 GPU compositor resorts to "slow" text rendering for base page layer
39308        https://bugs.webkit.org/show_bug.cgi?id=47193
39309
39310        Test: Accelerated compositor test infrastructure still coming online. Tested manually.
39311
39312        * platform/graphics/chromium/LayerRendererChromium.cpp:
39313        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
39314        (WebCore::LayerRendererChromium::prepareToDrawLayers):
39315        (WebCore::LayerRendererChromium::drawLayers):
39316
393172010-10-05  Nico Weber  <thakis@chromium.org>
39318
39319        Reviewed by Andreas Kling.
39320
39321        Fix clang build
39322        https://bugs.webkit.org/show_bug.cgi?id=47198
39323
39324        * page/Chrome.h:
39325        Declare ViewportArguments as struct, not as class.
39326
393272010-10-05  David Hyatt  <hyatt@apple.com>
39328
39329        Reviewed by Sam Weinig.
39330
39331        https://bugs.webkit.org/show_bug.cgi?id=47204
39332        
39333        Make isSelfCollapsingBlock use logical height instead of height in all its checks.
39334
39335        Added fast/blockflow/self-collapsing-block.html
39336
39337        * rendering/RenderBlock.cpp:
39338        (WebCore::RenderBlock::isSelfCollapsingBlock):
39339
393402010-10-05  Eric Uhrhane  <ericu@chromium.org>
39341
39342        Reviewed by David Levin.
39343
39344        Relax restrictions on FileWriter::didWrite calls
39345        https://bugs.webkit.org/show_bug.cgi?id=47139
39346
39347        No new tests; they're still waiting on the first implementation.
39348
39349        * fileapi/FileWriter.cpp:
39350        (WebCore::FileWriter::FileWriter):
39351        (WebCore::FileWriter::write):
39352        (WebCore::FileWriter::didWrite):
39353        * fileapi/FileWriter.h:
39354
393552010-10-05  Daniel Cheng  <dcheng@chromium.org>
39356
39357        Reviewed by Tony Chang.
39358
39359        [chromium] getData('text/uri-list') should return the same thing that was passed to setData('text/uri-list')
39360        https://bugs.webkit.org/show_bug.cgi?id=46943
39361
39362        We no longer parse the input of setData('text/uri-list') and only store
39363        the valid URLs that were parsed out.
39364
39365        Test: editing/pasteboard/dataTransfer-setData-getData.html
39366
39367        * platform/chromium/ChromiumDataObject.cpp:
39368        (WebCore::ChromiumDataObject::clearData):
39369        (WebCore::ChromiumDataObject::clearAllExceptFiles):
39370        (WebCore::ChromiumDataObject::types):
39371        (WebCore::ChromiumDataObject::getData):
39372        (WebCore::ChromiumDataObject::setData):
39373        * platform/chromium/ChromiumDataObject.h:
39374
393752010-10-05  Martin Robinson  <mrobinson@igalia.com>
39376
39377        Reviewed by Xan Lopez.
39378
39379        [GTK] Support FontPlatformData::isFixedPitch for custom fonts
39380        https://bugs.webkit.org/show_bug.cgi?id=47124
39381
39382        Instead of determining whether or not a font is a fixed-width font
39383        lazily, do it up front. For fonts not backed by Fontconfig patterns,
39384        fetch information about whether or not the font is fixed-width from
39385        the FreeType face.
39386
39387        No new tests as this should not change functionality.
39388
39389        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
39390        (WebCore::FontPlatformData::FontPlatformData): Initialize the m_fixedWidth member
39391        from the Fontconfig pattern or the FreeType face.
39392        (WebCore::FontPlatformData::operator=): Copy over the m_fixedWidth member.
39393        (WebCore::FontPlatformData::isFixedPitch): Just return the value of the m_fixedWidth member.
39394        * platform/graphics/cairo/FontPlatformDataFreeType.h: Added an m_fixedWidth member.
39395
393962010-10-05  David Hyatt  <hyatt@apple.com>
39397
39398        Reviewed by Anders Carlsson.
39399
39400        https://bugs.webkit.org/show_bug.cgi?id=47199
39401        
39402        Make float positioning work in block layout with block children.
39403        It doesn't work yet from inside line layout, since line layout is unpatched.
39404
39405        Added fast/blockflow/floats-in-block-layout.html
39406
39407        * rendering/RenderBlock.cpp:
39408        (WebCore::RenderBlock::adjustFloatingBlock):
39409        (WebCore::RenderBlock::setLogicalLeftForChild):
39410        (WebCore::RenderBlock::setLogicalTopForChild):
39411        (WebCore::RenderBlock::insertFloatingObject):
39412        (WebCore::RenderBlock::positionNewFloats):
39413        (WebCore::RenderBlock::logicalLeftOffsetForLine):
39414        (WebCore::RenderBlock::logicalRightOffsetForLine):
39415        * rendering/RenderBlock.h:
39416        (WebCore::RenderBlock::FloatingObject::type):
39417        (WebCore::RenderBlock::FloatingObject::renderer):
39418        (WebCore::RenderBlock::logicalRightForFloat):
39419        (WebCore::RenderBlock::setLogicalTopForFloat):
39420        (WebCore::RenderBlock::setLogicalLeftForFloat):
39421        (WebCore::RenderBlock::setLogicalHeightForFloat):
39422        (WebCore::RenderBlock::setLogicalWidthForFloat):
39423
394242010-10-05  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
39425
39426        Reviewed by Kenneth Rohde Christiansen.
39427
39428        [Qt] Web process crash when pressing modifiers in input field
39429        https://bugs.webkit.org/show_bug.cgi?id=44935
39430
39431        Revert part of the http://trac.webkit.org/changeset/69105 due to a
39432        test regression.  Unix: Add ASSERTs to plugin related code. These
39433        will fail if Qt WebKit2 is used with plugins, unless code is not
39434        fixed before.
39435
39436        * plugins/qt/PluginViewQt.cpp:
39437        (WebCore::setXKeyEventSpecificFields): Use qKeyEvent, Use ASSERT as a reminder.
39438
394392010-10-05  Chris Rogers  <crogers@google.com>
39440
39441        Reviewed by Kenneth Russell.
39442
39443        Add AudioBasicProcessorNode files
39444        https://bugs.webkit.org/show_bug.cgi?id=46495
39445
39446        No new tests since audio API is not yet implemented.
39447
39448        * webaudio/AudioBasicProcessorNode.cpp: Added.
39449        (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
39450        (WebCore::AudioBasicProcessorNode::initialize):
39451        (WebCore::AudioBasicProcessorNode::uninitialize):
39452        (WebCore::AudioBasicProcessorNode::process):
39453        (WebCore::AudioBasicProcessorNode::pullInputs):
39454        (WebCore::AudioBasicProcessorNode::reset):
39455        (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
39456        (WebCore::AudioBasicProcessorNode::numberOfChannels):
39457        * webaudio/AudioBasicProcessorNode.h: Added.
39458        (WebCore::AudioBasicProcessorNode::processor):
39459
394602010-10-05  Chris Marrin  <cmarrin@apple.com>
39461
39462        Unreviewed.
39463
39464        The platform/graphics/gpu folder was mistakenly inside the filters folder.
39465        I moved it to the right place in the Group Tree.
39466
39467        * WebCore.xcodeproj/project.pbxproj:
39468
394692010-10-05  Chris Marrin  <cmarrin@apple.com>
39470
39471        Reviewed by Adam Roben.
39472
39473        Fix ownership of GraphicsContext3D in SharedGraphicsContext3D to prevent early deallocation and crash
39474        https://bugs.webkit.org/show_bug.cgi?id=47197
39475
39476        This is work in progress and the crash only happens with ACCELERATED_2D_CANVAS turned on (which is off
39477        by default). Many existing test cases will crash before and after this patch.
39478
39479        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
39480        (WebCore::SharedGraphicsContext3D::create):
39481
394822010-10-05  Tony Chang  <tony@chromium.org>
39483
39484        Reviewed by Kent Tamura.
39485
39486        [chromium] properly paint really small scrollbar arrows on linux
39487        https://bugs.webkit.org/show_bug.cgi?id=47109
39488
39489        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
39490        (WebCore::ScrollbarThemeChromiumLinux::buttonSize): Clamp button size based on available size.  This matches what
39491            we do on Win.
39492
394932010-10-05  Nate Chapin  <japhet@chromium.org>
39494
39495        Reviewed by David Levin.
39496
39497        Remove unused CachedResource::Status values (New and NotCached).
39498        https://bugs.webkit.org/show_bug.cgi?id=47132
39499
39500        Refactor only, no new tests.
39501
39502        * loader/CachedResource.h:
39503        * loader/CachedResourceLoader.cpp:
39504        (WebCore::CachedResourceLoader::checkCacheObjectStatus):
39505
395062010-10-04  Jeremy Orlow  <jorlow@chromium.org>
39507
39508        Reviewed by Nate Chapin.
39509
39510        Rename get* and open*Cursor per the spec on IDBIndex
39511        https://bugs.webkit.org/show_bug.cgi?id=46906
39512
39513        The spec changed so that:
39514        IDBIndex.get -> getKey
39515        IDBIndex.getObject -> get
39516        IDBIndex.openCursor -> openKeyCursor
39517        IDBIndex.openObjectCursor -> openCursor
39518
39519        Existing tests cover since this is just renaming stuff.
39520
39521        * storage/IDBIndex.cpp:
39522        (WebCore::IDBIndex::openCursor):
39523        (WebCore::IDBIndex::openKeyCursor):
39524        (WebCore::IDBIndex::get):
39525        (WebCore::IDBIndex::getKey):
39526        * storage/IDBIndex.h:
39527        * storage/IDBIndex.idl:
39528        * storage/IDBIndexBackendImpl.cpp:
39529        (WebCore::IDBIndexBackendImpl::openCursor):
39530        (WebCore::IDBIndexBackendImpl::openKeyCursor):
39531        (WebCore::IDBIndexBackendImpl::get):
39532        (WebCore::IDBIndexBackendImpl::getKey):
39533        * storage/IDBIndexBackendImpl.h:
39534        * storage/IDBIndexBackendInterface.h:
39535
395362010-10-05  Keith Kyzivat  <keith.kyzivat@nokia.com>
39537
39538        Reviewed by Simon Hausmann.
39539
39540        [Qt] Fix breakage in RVCT 2.2 compile
39541        https://bugs.webkit.org/show_bug.cgi?id=47187
39542
39543        Fix bug in RVCT 2.2 compile for Symbian^3 in html/canvas/Int32Array.h and 
39544        html/canvas/Uin8Array.h
39545        For RVCT2.2, the using clause is unneeded, and can be omitted.
39546
39547        A Test case cannot be made for this since this is a build-related issue.
39548
39549        * html/canvas/Int32Array.h:
39550        * html/canvas/Uint8Array.h:
39551
395522010-10-04  Andrei Popescu  <andreip@google.com>
39553
39554        Reviewed by Jeremy Orlow.
39555
39556        IDBDatabase::createObjectStore/removeObjectStore and IDBObjectStore::createIndex/removeIndex should be synchronous.
39557        https://bugs.webkit.org/show_bug.cgi?id=46883
39558
39559        Makes the schema manipulation methods synchronous. Modifies the transaction
39560        logic to support tasks that may have pending events as well as tasks that
39561        don't have such events.
39562
39563        * storage/IDBDatabase.cpp:
39564        (WebCore::IDBDatabase::createObjectStore):
39565        (WebCore::IDBDatabase::removeObjectStore):
39566        * storage/IDBDatabase.h:
39567        * storage/IDBDatabase.idl:
39568        * storage/IDBDatabaseBackendImpl.cpp:
39569        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
39570        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
39571        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
39572        (WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal):
39573        * storage/IDBDatabaseBackendImpl.h:
39574        * storage/IDBDatabaseBackendInterface.h:
39575        * storage/IDBIndexBackendImpl.cpp:
39576        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
39577        * storage/IDBIndexBackendImpl.h:
39578        (WebCore::IDBIndexBackendImpl::create):
39579        (WebCore::IDBIndexBackendImpl::id):
39580        (WebCore::IDBIndexBackendImpl::setId):
39581        * storage/IDBObjectStore.cpp:
39582        (WebCore::IDBObjectStore::createIndex):
39583        (WebCore::IDBObjectStore::removeIndex):
39584        * storage/IDBObjectStore.h:
39585        * storage/IDBObjectStore.idl:
39586        * storage/IDBObjectStoreBackendImpl.cpp:
39587        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
39588        (WebCore::IDBObjectStoreBackendImpl::createIndex):
39589        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
39590        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
39591        (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
39592        * storage/IDBObjectStoreBackendImpl.h:
39593        (WebCore::IDBObjectStoreBackendImpl::create):
39594        (WebCore::IDBObjectStoreBackendImpl::id):
39595        (WebCore::IDBObjectStoreBackendImpl::setId):
39596        (WebCore::IDBObjectStoreBackendImpl::autoIncrement):
39597        * storage/IDBObjectStoreBackendInterface.h:
39598        * storage/IDBTransactionBackendImpl.cpp:
39599        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
39600        (WebCore::IDBTransactionBackendImpl::objectStore):
39601        (WebCore::IDBTransactionBackendImpl::scheduleTask):
39602        (WebCore::IDBTransactionBackendImpl::abort):
39603        (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
39604        (WebCore::IDBTransactionBackendImpl::run):
39605        (WebCore::IDBTransactionBackendImpl::taskTimerFired):
39606        (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
39607        * storage/IDBTransactionBackendImpl.h:
39608
396092010-10-05  Chris Fleizach  <cfleizach@apple.com>
39610
39611        Reviewed by Darin Adler.
39612
39613        WAI-ARIA 'marquee' role live region uses aria-live="polite", should use aria-live="off"
39614        https://bugs.webkit.org/show_bug.cgi?id=47185
39615
39616        Test: platform/mac/accessibility/aria-liveregion-marquee-default.html
39617
39618        * accessibility/AccessibilityRenderObject.cpp:
39619        (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
39620
396212010-10-05  Martin Robinson  <mrobinson@igalia.com>
39622
39623        Reviewed by Xan Lopez.
39624
39625        [GTK] Interior scrollbars do not draw their background properly
39626        https://bugs.webkit.org/show_bug.cgi?id=47096
39627
39628        Correct the method that the GTK+ theme drawing code uses to
39629        draw scrolled window backgrounds. Now it uses gtk_paint_shadow,
39630        the same as the actual code from GTK+.
39631
39632        No new tests as this is very hard to write tests for. The bug only
39633        manifests on some GTK+ themes and we have no test harness mechanism
39634        for testing rendering with non-default GTK+ themes.
39635
39636        * platform/gtk/ScrollbarThemeGtk.cpp:
39637        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): No longer
39638        initialize the widget state, as it's unused by the callee.
39639        (WebCore::ScrollbarThemeGtk::paint): Remove an inaccurate comment.
39640        * platform/gtk/gtk2drawing.c:
39641        (moz_gtk_scrolled_window_paint): Paint scrolled window backgrounds
39642        with gtk_paint_shadow instead of gtk_paint_box.
39643
396442010-10-05  Kwang Yul Seo  <skyul@company100.net>
39645
39646        Reviewed by Kent Tamura.
39647
39648        [BREWMP] Use PlatformRefPtr instead of OwnPtr in FileSystem
39649        https://bugs.webkit.org/show_bug.cgi?id=47025
39650
39651        PlatformRefPtr is a better choice here because all Brew MP instances are
39652        reference counted.
39653
39654        * platform/brew/FileSystemBrew.cpp:
39655        (WebCore::getFileSize):
39656        (WebCore::fileExists):
39657        (WebCore::deleteFile):
39658        (WebCore::deleteEmptyDirectory):
39659        (WebCore::canonicalPath):
39660        (WebCore::makeAllDirectories):
39661        (WebCore::openTemporaryFile):
39662
396632010-10-05  Martin Robinson  <mrobinson@igalia.com>
39664
39665        Reviewed by Gustavo Noronha Silva.
39666
39667        [GTK] Complex text rendering does not render custom fonts
39668        https://bugs.webkit.org/show_bug.cgi?id=41091
39669
39670        For fonts that do not have a FontConfig pattern (including custom
39671        fonts), fall back to the simple text rendering path. This is a work-
39672        -around for not supporting Pango rendering with non-FontConfig fonts.
39673
39674        Test: platform/gtk/fonts/font-face-with-complex-text.html
39675
39676        * platform/graphics/gtk/FontGtk.cpp:
39677        (WebCore::Font::drawComplexText): Fall back to the simple path for custom fonts.
39678        (WebCore::Font::floatWidthForComplexText): Ditto.
39679        (WebCore::Font::offsetForPositionForComplexText): Ditto.
39680        (WebCore::Font::selectionRectForComplexText): Ditto.
39681
396822010-10-05  Kwang Yul Seo  <skyul@company100.net>
39683
39684        Reviewed by Kent Tamura.
39685
39686        [BREWMP] Use PlatformRefPtr in getDisplayInfo
39687        https://bugs.webkit.org/show_bug.cgi?id=47023
39688
39689        Use PlatformRefPtr to release IBitmap* automatically.
39690
39691        * platform/brew/ScreenBrew.cpp:
39692        (WebCore::getDisplayInfo):
39693
396942010-10-05  Kristian Monsen  <kristianm@google.com>
39695
39696        Reviewed by Steve Block.
39697
39698        Including JavaScriptCore/config.h from WebCore/config.h
39699        instead of from WebCorePrefix.h.
39700        https://bugs.webkit.org/show_bug.cgi?id=47179
39701
39702        No new tests, just changing where files are included.
39703
39704        * WebCorePrefix.h:
39705        * config.h:
39706
397072010-10-05  Jakob Petsovits  <jpetsovits@rim.com>
39708
39709        Reviewed by Andreas Kling.
39710
39711        [Qt] Make build work with QT_NO_CURSOR
39712        https://bugs.webkit.org/show_bug.cgi?id=46097
39713
39714        Add a missing include.
39715
39716        * platform/qt/QWebPageClient.h:
39717
397182010-10-05  Jakob Petsovits  <jpetsovits@rim.com>
39719
39720        Reviewed by Andreas Kling.
39721
39722        [Qt] Make build work with QT_NO_CURSOR
39723        https://bugs.webkit.org/show_bug.cgi?id=46097
39724
39725        createCustomCursor() is a static function and not used
39726        in that file if QT_NO_CURSOR is defined, so rather than
39727        making it return 0, it should not exist altogether.
39728
39729        * platform/qt/CursorQt.cpp:
39730        (WebCore::createCustomCursor):
39731
397322010-10-05  Adam Roben  <aroben@apple.com>
39733
39734        Windows linker warning fix
39735
39736        * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMTokenList.cpp from the
39737        build, since it is already being compiled via DerivedSources.cpp. Also
39738        let VS reorder some files.
39739
397402010-10-05  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
39741
39742        Reviewed by Kenneth Rohde Christiansen.
39743
39744        [Qt] Web process crash when pressing modifiers in input field
39745        https://bugs.webkit.org/show_bug.cgi?id=44935
39746
39747        Fix null pointer dereference by not using
39748        PlatformKeyboardEvent::m_qtEvent. This member is not set when
39749        event comes from WebKit2.  Unix: Add ASSERTs to plugin related
39750        code. These will fail if WebKit2 is used with plugins, unless code
39751        is not fixed before.  Symbian: Add ASSERT to code which uses
39752        qtEvent(). It will fail when WebKit2 is enabled for Symbian, if
39753        code is not fixed before.
39754
39755        * platform/PlatformKeyboardEvent.h:
39756        * platform/qt/PlatformKeyboardEventQt.cpp:
39757        (WebCore::isVirtualKeyCodeRepresentingCharacter): Added.
39758        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Avoid using m_qtEvent.
39759        (WebCore::PlatformKeyboardEvent::nativeModifiers): Added. Use ASSERT as a reminder.
39760        (WebCore::PlatformKeyboardEvent::nativeScanCode): Added. Use ASSERT as a reminder.
39761        * plugins/qt/PluginViewQt.cpp:
39762        (WebCore::setXKeyEventSpecificFields):
39763        * plugins/symbian/PluginViewSymbian.cpp:
39764        (WebCore::PluginView::handleKeyboardEvent): Add ASSERT as a reminder.
39765
397662010-10-05  Kwang Yul Seo  <skyul@company100.net>
39767
39768        Reviewed by Csaba Osztrogonác.
39769
39770        Add ENABLE(ACCELERATED_2D_CANVAS) guard to LoopBlinnLocalTriangulator.cpp
39771        https://bugs.webkit.org/show_bug.cgi?id=47115
39772
39773        LoopBlinnLocalTriangulator.cpp depends on LoopBlinnMathUtils.cpp which is guarded by
39774        ENABLE(ACCELERATED_2D_CANVAS).
39775
39776        * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp:
39777
397782010-10-05  Satish Sampath  <satish@chromium.org>
39779
39780        Reviewed by Kent Tamura.
39781
39782        Added event onwebkitspeechchange to invoke on new speech input results.
39783        https://bugs.webkit.org/show_bug.cgi?id=47127
39784
39785        * dom/EventNames.h: Added webkitspeechchange event name.
39786        * html/HTMLAttributeNames.in: Added onwebkitspeechchange attribute name.
39787        * html/HTMLInputElement.cpp:
39788        (WebCore::HTMLInputElement::parseMappedAttribute): Handle new attribute set.
39789        (WebCore::HTMLInputElement::dispatchWebkitSpeechChangeEvent): Invoke the event handler.
39790        * html/HTMLInputElement.h:
39791        * html/HTMLInputElement.idl: Added attribute to IDL.
39792        * rendering/TextControlInnerElements.cpp:
39793        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Invoke new event handler instead of onChange
39794
397952010-10-05  Satish Sampath  <satish@chromium.org>
39796
39797        Reviewed by Jeremy Orlow.
39798
39799        Rename @webkitspeech to @x-webkit-speech to follow HTML5 convention
39800        https://bugs.webkit.org/show_bug.cgi?id=46873
39801
39802        The @webkitspeech attribute is renamed to @x-webkit-speech per the HTML5 spec for extension
39803        attributes. The DOM attribute in IDL was renamed to 'webkitSpeech' as well. But the generated
39804        code for the attribute did not match the generated code for the IDL, so I modified
39805        dom/make_names.pl to generate the appropriate name for such extension attributes.
39806
39807        * bindings/generic/RuntimeEnabledFeatures.h: Rename flag accessor to match IDL attribute name.
39808        (WebCore::RuntimeEnabledFeatures::webkitSpeechEnabled):
39809        * dom/make_names.pl: Additions to generate names for x-webkit-xxxx attributes that match the
39810        generated code from IDL and remember the original names including the x- prefix when writing
39811        out the cpp files.
39812        * html/HTMLAttributeNames.in: Rename @webkitspeech to @x-webkit-speech
39813        * html/HTMLInputElement.idl: Rename @webkitspeech to @webkitSpeech
39814
398152010-10-04  Andrey Kosyakov  <caseq@chromium.org>
39816
39817        Reviewed by Yury Semikhatsky.
39818
39819        Web Inspector: [Chromium][Extension API] provide tab id of inspected tab in extension API
39820        https://bugs.webkit.org/show_bug.cgi?id=47080
39821
39822        * inspector/front-end/ExtensionServer.js: Added support for platform-specific extensions API.
39823        (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
39824
398252010-10-05  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
39826
39827        Reviewed by Darin Fisher.
39828
39829        Fixed implementation of pluginWidgetFromDocument to search for the "embed" element rather than just use the first child.
39830        https://bugs.webkit.org/show_bug.cgi?id=47129
39831
39832        * html/PluginDocument.cpp:
39833        (WebCore::PluginDocumentParser::pluginWidgetFromDocument):
39834
398352010-10-05  Chris Rogers  <crogers@google.com>
39836
39837        Reviewed by Kenneth Russell.
39838
39839        Add BiquadDSPKernel files
39840        https://bugs.webkit.org/show_bug.cgi?id=46528
39841
39842        No new tests since audio API is not yet implemented.
39843
39844        * webaudio/BiquadDSPKernel.cpp: Added.
39845        (WebCore::BiquadDSPKernel::process):
39846        * webaudio/BiquadDSPKernel.h: Added.
39847        (WebCore::BiquadDSPKernel::BiquadDSPKernel):
39848        (WebCore::BiquadDSPKernel::reset):
39849        (WebCore::BiquadDSPKernel::biquadProcessor):
39850
398512010-10-05  Chris Rogers  <crogers@google.com>
39852
39853        Reviewed by James Robinson.
39854
39855        Fix AudioContext to use new HRTFDatabaseLoader API
39856        https://bugs.webkit.org/show_bug.cgi?id=46858
39857
39858        No new tests since audio API is not yet implemented.
39859
39860        * webaudio/AudioContext.cpp:
39861        (WebCore::AudioContext::AudioContext):
39862        (WebCore::AudioContext::isRunnable):
39863        * webaudio/AudioContext.h:
39864        * webaudio/AudioContext.idl:
39865
398662010-10-05  Chris Rogers  <crogers@google.com>
39867
39868        Reviewed by Kenneth Russell.
39869
39870        Add AudioPannerNode files
39871        https://bugs.webkit.org/show_bug.cgi?id=46505
39872
39873        No new tests since audio API is not yet implemented.
39874
39875        * webaudio/AudioPannerNode.cpp: Added.
39876        (WebCore::fixNANs):
39877        (WebCore::AudioPannerNode::AudioPannerNode):
39878        (WebCore::AudioPannerNode::~AudioPannerNode):
39879        (WebCore::AudioPannerNode::pullInputs):
39880        (WebCore::AudioPannerNode::process):
39881        (WebCore::AudioPannerNode::reset):
39882        (WebCore::AudioPannerNode::initialize):
39883        (WebCore::AudioPannerNode::uninitialize):
39884        (WebCore::AudioPannerNode::listener):
39885        (WebCore::AudioPannerNode::setPanningModel):
39886        (WebCore::AudioPannerNode::getAzimuthElevation):
39887        (WebCore::AudioPannerNode::dopplerRate):
39888        (WebCore::AudioPannerNode::distanceConeGain):
39889        (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
39890        * webaudio/AudioPannerNode.h: Added.
39891        (WebCore::AudioPannerNode::create):
39892        (WebCore::AudioPannerNode::panningModel):
39893        (WebCore::AudioPannerNode::position):
39894        (WebCore::AudioPannerNode::setPosition):
39895        (WebCore::AudioPannerNode::orientation):
39896        (WebCore::AudioPannerNode::setOrientation):
39897        (WebCore::AudioPannerNode::velocity):
39898        (WebCore::AudioPannerNode::setVelocity):
39899        (WebCore::AudioPannerNode::distanceModel):
39900        (WebCore::AudioPannerNode::setDistanceModel):
39901        (WebCore::AudioPannerNode::refDistance):
39902        (WebCore::AudioPannerNode::setRefDistance):
39903        (WebCore::AudioPannerNode::maxDistance):
39904        (WebCore::AudioPannerNode::setMaxDistance):
39905        (WebCore::AudioPannerNode::rolloffFactor):
39906        (WebCore::AudioPannerNode::setRolloffFactor):
39907        (WebCore::AudioPannerNode::coneInnerAngle):
39908        (WebCore::AudioPannerNode::setConeInnerAngle):
39909        (WebCore::AudioPannerNode::coneOuterAngle):
39910        (WebCore::AudioPannerNode::setConeOuterAngle):
39911        (WebCore::AudioPannerNode::coneOuterGain):
39912        (WebCore::AudioPannerNode::setConeOuterGain):
39913        (WebCore::AudioPannerNode::distanceGain):
39914        (WebCore::AudioPannerNode::coneGain):
39915        * webaudio/AudioPannerNode.idl: Added.
39916
399172010-10-04  Alejandro G. Castro  <alex@igalia.com>
39918
39919        Reviewed by Martin Robinson.
39920
39921        [Cairo] Port drawTiledShadow to the new ContextShadow
39922        https://bugs.webkit.org/show_bug.cgi?id=45902
39923
39924        Ported the drawTiledShadow function to the ContextShadow, it
39925        renders shadows for rects faster than the simple blurring using
39926        tiling of a smaller rect. We will remove the old function in a
39927        next patch when starting to use ContextShadows for cairo
39928        rendering.
39929
39930        * platform/graphics/ContextShadow.h:
39931        * platform/graphics/cairo/ContextShadowCairo.cpp:
39932        (WebCore::ContextShadow::drawRectShadowWithoutTiling):
39933        (WebCore::ContextShadow::drawRectShadow):
39934
399352010-10-05  Chris Rogers  <crogers@google.com>
39936
39937        Reviewed by Kenneth Russell.
39938
39939        Add BiquadProcessor files
39940        https://bugs.webkit.org/show_bug.cgi?id=46527
39941
39942        No new tests since audio API is not yet implemented.
39943
39944        * webaudio/BiquadProcessor.cpp: Added.
39945        (WebCore::BiquadProcessor::BiquadProcessor):
39946        (WebCore::BiquadProcessor::~BiquadProcessor):
39947        (WebCore::BiquadProcessor::createKernel):
39948        (WebCore::BiquadProcessor::process):
39949        * webaudio/BiquadProcessor.h: Added.
39950        (WebCore::BiquadProcessor::filterCoefficientsDirty):
39951        (WebCore::BiquadProcessor::parameter1):
39952        (WebCore::BiquadProcessor::parameter2):
39953        (WebCore::BiquadProcessor::parameter3):
39954        (WebCore::BiquadProcessor::type):
39955
399562010-10-05  Chris Rogers  <crogers@google.com>
39957
39958        Reviewed by Kenneth Russell.
39959
39960        Add EqualPowerPanner files
39961        https://bugs.webkit.org/show_bug.cgi?id=45077
39962
39963        No new tests since audio API is not yet implemented.
39964
39965        * platform/audio/EqualPowerPanner.cpp: Added.
39966        (WebCore::EqualPowerPanner::EqualPowerPanner):
39967        (WebCore::EqualPowerPanner::pan):
39968        * platform/audio/EqualPowerPanner.h: Added.
39969        (WebCore::EqualPowerPanner::reset):
39970
399712010-10-05  Chris Rogers  <crogers@google.com>
39972
39973        Reviewed by Kenneth Russell.
39974
39975        Add HighPass2FilterNode files
39976        https://bugs.webkit.org/show_bug.cgi?id=46533
39977
39978        No new tests since audio API is not yet implemented.
39979
39980        * webaudio/HighPass2FilterNode.cpp: Added.
39981        (WebCore::HighPass2FilterNode::HighPass2FilterNode):
39982        * webaudio/HighPass2FilterNode.h: Added.
39983        (WebCore::HighPass2FilterNode::create):
39984        (WebCore::HighPass2FilterNode::cutoff):
39985        (WebCore::HighPass2FilterNode::resonance):
39986        (WebCore::HighPass2FilterNode::biquadProcessor):
39987        * webaudio/HighPass2FilterNode.idl: Added.
39988
399892010-10-05  Chris Rogers  <crogers@google.com>
39990
39991        Reviewed by Kenneth Russell.
39992
39993        Add LowPass2FilterNode files
39994        https://bugs.webkit.org/show_bug.cgi?id=46532
39995
39996        No new tests since audio API is not yet implemented.
39997
39998        * webaudio/LowPass2FilterNode.cpp: Added.
39999        (WebCore::LowPass2FilterNode::LowPass2FilterNode):
40000        * webaudio/LowPass2FilterNode.h: Added.
40001        (WebCore::LowPass2FilterNode::create):
40002        (WebCore::LowPass2FilterNode::cutoff):
40003        (WebCore::LowPass2FilterNode::resonance):
40004        (WebCore::LowPass2FilterNode::biquadProcessor):
40005        * webaudio/LowPass2FilterNode.idl: Added.
40006
400072010-10-04  Alejandro G. Castro  <alex@igalia.com>
40008
40009        Reviewed by Kent Tamura.
40010
40011        Fixed compilation problem added in commit 69082. The interface of
40012        the function has two parameters with the same name.
40013
40014        * rendering/RenderBlock.h:
40015
400162010-10-04  Chris Rogers  <crogers@google.com>
40017
40018        Reviewed by Kenneth Russell.
40019
40020        Add AudioUtilities files
40021        https://bugs.webkit.org/show_bug.cgi?id=47011
40022
40023        No new tests since audio API is not yet implemented.
40024
40025        * platform/audio/AudioUtilities.cpp: Added.
40026        (WebCore::AudioUtilities::decibelsToLinear):
40027        (WebCore::AudioUtilities::linearToDecibels):
40028        (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
40029        * platform/audio/AudioUtilities.h: Added.
40030
400312010-10-04  David Hyatt  <hyatt@apple.com>
40032
40033        Reviewed by Dan Bernstein.
40034
40035        https://bugs.webkit.org/show_bug.cgi?id=47112
40036
40037        Convert addOverhangingFloats and addIntrudingFloats to be block-flow-aware.
40038        
40039        Also clean up how floats are placed to use a bit instead of the magic -1 value on top().
40040
40041        * rendering/RenderBlock.cpp:
40042        (WebCore::RenderBlock::layoutBlock):
40043        (WebCore::RenderBlock::layoutBlockChild):
40044        (WebCore::RenderBlock::insertFloatingObject):
40045        (WebCore::RenderBlock::removeFloatingObject):
40046        (WebCore::RenderBlock::removeFloatingObjectsBelow):
40047        (WebCore::RenderBlock::positionNewFloats):
40048        (WebCore::RenderBlock::markLinesDirtyInBlockRange):
40049        (WebCore::RenderBlock::clearFloats):
40050        (WebCore::RenderBlock::addOverhangingFloats):
40051        (WebCore::RenderBlock::addIntrudingFloats):
40052        * rendering/RenderBlock.h:
40053        (WebCore::RenderBlock::FloatingObject::FloatingObject):
40054        (WebCore::RenderBlock::FloatingObject::isPlaced):
40055        (WebCore::RenderBlock::FloatingObject::setIsPlaced):
40056        * rendering/RenderBlockLineLayout.cpp:
40057        (WebCore::RenderBlock::determineStartPosition):
40058
400592010-10-04  Nico Weber  <thakis@chromium.org>
40060
40061        Reviewed by Kenneth Russell.
40062
40063        Fix broken C++ in PODInterval and PODIntervalTree
40064        https://bugs.webkit.org/show_bug.cgi?id=47063
40065
40066        See http://clang.llvm.org/compatibility.html#dep_lookup . Since
40067        valueToString needs to work with non-class types, it needs to be
40068        declared before it's used. And since it needs to handle many types, it
40069        needs to be a template function, for which clients will need to
40070        provide specializations for the types they care about. Partial template
40071        specialization is only supported for structs, so wrap the function in
40072        a struct, too.
40073
40074        * platform/graphics/gpu/PODInterval.h:
40075        (WebCore::PODInterval::toString):
40076        * platform/graphics/gpu/PODIntervalTree.h:
40077        (WebCore::PODIntervalTree::checkInvariantsFromNode):
40078        * platform/graphics/gpu/PODRedBlackTree.h:
40079        (WebCore::PODRedBlackTree::dumpFromNode):
40080
400812010-10-04  Yael Aharon  <yael.aharon@nokia.com>
40082
40083        Reviewed by Antonio Gomes.
40084
40085        Spatial Navigation: Add support for <input type="radio">
40086        https://bugs.webkit.org/show_bug.cgi?id=46993
40087
40088        When using Spatial Navigation, every radio button should be focusable and 
40089        users should be able to navigate from one button to the next without moving the selection. 
40090
40091        Tests: fast/events/spatial-navigation/snav-radio-group.html
40092               fast/events/spatial-navigation/snav-radio.html
40093
40094        * html/HTMLInputElement.cpp:
40095        (WebCore::HTMLInputElement::isKeyboardFocusable):
40096        Every radio button should be keyboard focusable, if using Spatial Navigation.
40097        (WebCore::HTMLInputElement::defaultEventHandler):
40098        Disable the algorithm for selecting the next radio button within a group, if using Spatial Navigation.
40099
401002010-10-04  Renata Hodovan  <reni@inf.u-szeged.hu>
40101
40102        Reviewed by Andreas Kling.
40103
40104        SVGFEGaussianBlurElement doesn't support dynamic invalidation, when attributes change.
40105        https://bugs.webkit.org/show_bug.cgi?id=47074
40106        The patch also implements the simple setStdDeviation method.
40107
40108        Tests: svg/dynamic-updates/SVGFEGaussianBlurElement-dom-in-attr.html
40109               svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-attr.html
40110               svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-call.html
40111               svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-in-prop.html
40112
40113        * svg/SVGFEGaussianBlurElement.cpp:
40114        (WebCore::SVGFEGaussianBlurElement::setStdDeviation):
40115        (WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
40116        * svg/SVGFEGaussianBlurElement.h:
40117
401182010-10-04  Patrick Gansterer  <paroga@paroga.com>
40119
40120        Reviewed by Darin Adler.
40121
40122        Add Base64DecodePolicy option at base64Decode()
40123        https://bugs.webkit.org/show_bug.cgi?id=41510
40124
40125        Add an option for ignoring characters in base64 data.
40126        This is necessary for decoding data urls.
40127
40128        Also add an overload to decode WebCore::String directly.
40129
40130        * page/DOMWindow.cpp:
40131        (WebCore::DOMWindow::atob):
40132        * page/Page.cpp:
40133        (WebCore::Page::userStyleSheetLocationChanged):
40134        * platform/text/Base64.cpp:
40135        (WebCore::base64Encode):
40136        (WebCore::base64Decode):
40137        (WebCore::base64DecodeInternal):
40138        * platform/text/Base64.h:
40139        (WebCore::):
40140
401412010-10-04  Ryuan Choi  <bunhere@gmail.com>
40142
40143        Unreviewed build fix.
40144
40145        [WML] Build fix for r68854
40146        https://bugs.webkit.org/show_bug.cgi?id=47043
40147
40148        Include HTMLParserIdioms.h.
40149
40150        No features added, so no new tests.
40151
40152        * wml/WMLAElement.cpp:
40153        * wml/WMLImageLoader.cpp:
40154
401552010-10-04  Ryuan Choi  <ryuan.choi@samsung.com>
40156
40157        Unreviewed build fix.
40158
40159        [CMAKE] Build fix for r68901
40160        https://bugs.webkit.org/show_bug.cgi?id=47042
40161
40162        Move plugins/PluginPackage.cpp
40163
40164        No features added, so no new tests.
40165
40166        * CMakeLists.txt:
40167
401682010-10-04  Eric Uhrhane  <ericu@chromium.org>
40169
40170        Reviewed by David Levin.
40171
40172        Hook FileEntry::createWriter to DOMFileSystem::createWriter
40173        https://bugs.webkit.org/show_bug.cgi?id=46908
40174
40175        No new tests--still waiting for the first complete implementation.
40176
40177        * fileapi/FileEntry.cpp:
40178        (WebCore::FileEntry::createWriter):
40179
401802010-10-04  Yael Aharon  <yael.aharon@nokia.com>
40181
40182        Reviewed by Antonio Gomes.
40183
40184        Spatial Navigation: select element does not release focus with Spatial Navigation
40185        https://bugs.webkit.org/show_bug.cgi?id=46896
40186
40187        When using Spatial Navigation, once a select element is focused, you cannot use arrow keys
40188        to navigate out of the select element. That is because select element currently uses the
40189        arrow keys to change the selected element.
40190        Change the behavior of select element so it does not change selection, if Spatial Navigation
40191        is on.
40192
40193        This patch is addressing the case where Spatial Navigation is used 
40194        in a mobile device, and the flag ENABLE_NO_LISTBOX_RENDERING is on.
40195        In the future we can add support for the case where the flag is off, and
40196        the user needs to traverse the select element inline.
40197
40198        Tests: fast/events/spatial-navigation/snav-multiple-select.html
40199               fast/events/spatial-navigation/snav-single-select.html
40200
40201        * dom/SelectElement.cpp:
40202        (WebCore::SelectElement::menuListDefaultEventHandler):
40203
402042010-10-04  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
40205
40206        Reviewed by Andreas Kling.
40207
40208        [Qt] QNetworkReplyHandler forces buffered output for FormData with files
40209        https://bugs.webkit.org/show_bug.cgi?id=46259
40210
40211        No new tests. Existing form submit tests should cover this change.
40212
40213        * platform/network/qt/QNetworkReplyHandler.cpp:
40214        (WebCore::FormDataIODevice::FormDataIODevice):
40215        (WebCore::FormDataIODevice::computeSize):
40216         Add computeSize() for computing form device size
40217        (WebCore::QNetworkReplyHandler::start):
40218         Call computeSize(), fill Content-Length and prevent UploadData buffering
40219        * platform/network/qt/QNetworkReplyHandler.h:
40220        (WebCore::FormDataIODevice::getFormDataSize):
40221
402222010-10-04  Chang Shu  <chang.shu@nokia.com>
40223
40224        Reviewed by Antonio Gomes.
40225
40226        Fixed the typo that searches the wrong direction in the no-focus-node case.
40227        As a result, after page is loaded, pressing key "arrowdown" will bring the
40228        focus to the 1st element instead of the last element.
40229        https://bugs.webkit.org/show_bug.cgi?id=46901
40230
40231        Test: fast/events/spatial-navigation/snav-1st-stop.html
40232
40233        * page/FocusController.cpp:
40234        (WebCore::FocusController::advanceFocusDirectionally):
40235
402362010-10-04  Simon Fraser  <simon.fraser@apple.com>
40237
40238        No review.
40239        
40240        Touch cf/SocketStreamHandle.h and add an #ifdef to qt/SocketStreamHandle.h
40241        to fail at compile time if Mac includes that header.
40242
40243        * platform/network/cf/SocketStreamHandle.h:
40244        * platform/network/qt/SocketStreamHandle.h:
40245
402462010-10-04  Simon Fraser  <simon.fraser@apple.com>
40247
40248        Reviewed by Darin Adler.
40249
40250        https://bugs.webkit.org/show_bug.cgi?id=47136
40251        WebSocket tests are crashing
40252
40253        The Mac xcode project was finding qt/SocketStreamHandle.h because of
40254        an inadvertent change in r68951. Thus the header and implementation didn't match,
40255        and memory corruption ensued.
40256        
40257        * WebCore.xcodeproj/project.pbxproj:
40258
402592010-10-04  Chris Marrin  <cmarrin@apple.com>
40260
40261        Reviewed by James Robinson.
40262
40263        Move SharedGraphicsContext3D from ChromeClient to Page
40264        https://bugs.webkit.org/show_bug.cgi?id=47113
40265
40266        * html/canvas/CanvasRenderingContext2D.cpp:
40267        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
40268        * page/ChromeClient.h:
40269        * page/Page.cpp:
40270        (WebCore::Page::sharedGraphicsContext3D):
40271        * page/Page.h:
40272        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
40273        (WebCore::SharedGraphicsContext3D::create):
40274        * platform/graphics/gpu/SharedGraphicsContext3D.h:
40275
402762010-10-04  Jeremy Orlow  <jorlow@chromium.org>
40277
40278        Reviewed by Nate Chapin.
40279
40280        Implement IndexedDB's oncomplete and ontimeout.
40281        https://bugs.webkit.org/show_bug.cgi?id=47106
40282
40283        Add ontimeout and oncomplete to IDBTransaction and plumb
40284        them.  Test this behavior in the existing IDBTransaction-basics
40285        test.
40286
40287        * WebCore.gypi:
40288        * storage/IDBTransaction.cpp:
40289        (WebCore::IDBTransaction::IDBTransaction):
40290        (WebCore::IDBTransaction::mode):
40291        (WebCore::IDBTransaction::objectStore):
40292        (WebCore::IDBTransaction::abort):
40293        (WebCore::IDBTransaction::onAbort):
40294        (WebCore::IDBTransaction::onComplete):
40295        (WebCore::IDBTransaction::onTimeout):
40296        (WebCore::IDBTransaction::stop):
40297        (WebCore::IDBTransaction::onAbortTimerFired):
40298        (WebCore::IDBTransaction::onCompleteTimerFired):
40299        (WebCore::IDBTransaction::onTimeoutTimerFired):
40300        * storage/IDBTransaction.h:
40301        * storage/IDBTransactionBackendImpl.cpp:
40302        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
40303        (WebCore::IDBTransactionBackendImpl::commit):
40304        * storage/IDBTransactionCallbacks.h:
40305
403062010-10-04  Enrica Casucci  <enrica@apple.com>
40307
40308        Reviewed by Darin Adler.
40309
40310        Crash at WebCore::nextCandidate + 27
40311        https://bugs.webkit.org/show_bug.cgi?id=47118
40312        <rdar://problem/7282934>
40313
40314        When we canonicalize a Position to create a VisiblePosition, the position
40315        is passed by reference. In canonicalPosition we call updateLayoutIgnorePendingStylesheets
40316        that can produce a lot of side effects, including changing the selection.
40317        This becomes a serious problem whne the position passed as reference is one of
40318        the selection endpoints.
40319        
40320        Test: editing/selection/focus-crash.html
40321
40322        * editing/VisiblePosition.cpp:
40323        (WebCore::VisiblePosition::canonicalPosition):
40324
403252010-10-04  Alexey Proskuryakov  <ap@apple.com>
40326
40327        Reviewed by Adam Barth.
40328
40329        https://bugs.webkit.org/show_bug.cgi?id=37812
40330        Assertion failure when appcache/fail-on-update.html is run twice in a row
40331
40332        Test: http/tests/appcache/fail-on-update-2.html
40333
40334        For some reason, I can't reproduce this assertion failure with ToT, but the fixes I made
40335        previously are still good, and covered by the new test.
40336
40337        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
40338        Handle the case when the cache is already obsolete by the time cache selection occurs.
40339
40340        * loader/appcache/ApplicationCacheHost.cpp: (WebCore::ApplicationCacheHost::failedLoadingMainResource):
40341        It's not true that loading from appcache always succeeds - it can be aborted.
40342
40343        * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::store):
40344        Calling ensureOriginRecord(group->origin()) can change lastInsertRowID!
40345
403462010-10-04  Erik Arvidsson  <arv@chromium.org>
40347
40348        Reviewed by James Robinson.
40349
40350        https://bugs.webkit.org/show_bug.cgi?id=47122
40351        Crash in classList when class attribute is empty.
40352
40353        Tests: fast/dom/HTMLElement/class-list.html
40354
40355        * html/DOMTokenList.cpp:
40356        (WebCore::DOMTokenList::length):
40357        (WebCore::DOMTokenList::containsInternal):
40358        (WebCore::DOMTokenList::classNames):
40359
403602010-10-04  Darin Adler  <darin@apple.com>
40361
40362        Reviewed by Dan Bernstein.
40363
40364        Use isHTMLSpace in more places, and optimize it
40365        https://bugs.webkit.org/show_bug.cgi?id=47103
40366
40367        * css/CSSParser.cpp:
40368        (WebCore::parseColorInt): Use isHTMLSpace instead of a separate isCSSWhitespace function.
40369        (WebCore::parseAlphaValue): Ditto.
40370        (WebCore::CSSParser::text): Ditto.
40371
40372        * dom/SpaceSplitString.h: Removed isClassWhitespace.
40373
40374        * dom/SpaceSplitString.cpp:
40375        (WebCore::SpaceSplitStringData::createVector): Use isHTMLSpace instead of isClassWhitespace.
40376        * dom/StyledElement.cpp:
40377        (WebCore::StyledElement::classAttributeChanged): Ditto.
40378        * html/DOMTokenList.cpp:
40379        (WebCore::validateToken): Ditto.
40380        (WebCore::DOMTokenList::removeInternal): Ditto.
40381
40382        * html/parser/HTMLParserIdioms.h: Added histogram data an changed so that non-spaces take
40383        only a single branch and plain old spaces take only two branches.
40384
403852010-10-04  Justin Schuh  <jschuh@chromium.org>
40386
40387        Reviewed by James Robinson.
40388
40389        HTMLMediaElement delayed load should fire asynchronously
40390        https://bugs.webkit.org/show_bug.cgi?id=45765
40391
40392        Test: media/remove-from-document-before-load.html
40393
40394        * dom/Document.cpp:
40395        (WebCore::Document::Document):
40396        (WebCore::Document::decrementLoadEventDelayCount):
40397        (WebCore::Document::loadEventDelayTimerFired):
40398        * dom/Document.h:
40399        * html/HTMLMediaElement.cpp:
40400        (WebCore::HTMLMediaElement::HTMLMediaElement):
40401        (WebCore::HTMLMediaElement::asyncEventTimerFired):
40402        (WebCore::HTMLMediaElement::setShouldDelayLoadEvent):
40403        * html/HTMLMediaElement.h:
40404
404052010-10-04  Adam Barth  <abarth@webkit.org>
40406
40407        Reviewed by Darin Adler.
40408
40409        ResourceHandle's public/protected/private sections are fragmented
40410        https://bugs.webkit.org/show_bug.cgi?id=47038
40411
40412        Minor cleanup.
40413
40414        * platform/network/ResourceHandle.h:
40415
404162010-10-04  Alexey Proskuryakov  <ap@apple.com>
40417
40418        Reviewed by Adam Barth.
40419
40420        https://bugs.webkit.org/show_bug.cgi?id=43506
40421        <rdar://problem/8289284> foreign-iframe-main.html occasionally crashes (during the next test,
40422        idempotent-update.html)
40423
40424        Application cache doesn't use ResourceLoader machinery (for better or worse), so we need to
40425        abort update process explicitly.
40426
40427        Note that in principle, update could piggyback on any other existing frame - or even run
40428        frameless - but currently, it's tied to the first frame that requested update.
40429
40430        * loader/DocumentLoader.cpp:
40431        (WebCore::DocumentLoader::stopLoading):
40432        * loader/appcache/ApplicationCacheGroup.cpp:
40433        (WebCore::ApplicationCacheGroup::stopLoadingInFrame):
40434        * loader/appcache/ApplicationCacheGroup.h:
40435        * loader/appcache/ApplicationCacheHost.cpp:
40436        (WebCore::ApplicationCacheHost::~ApplicationCacheHost):
40437        (WebCore::ApplicationCacheHost::stopLoadingInFrame):
40438        * loader/appcache/ApplicationCacheHost.h:
40439
404402010-10-04  Adam Barth  <abarth@webkit.org>
40441
40442        Reviewed by Darin Adler.
40443
40444        Rename RedirectScheduler to NavigationScheduler
40445        https://bugs.webkit.org/show_bug.cgi?id=47037
40446
40447        This class schedules more than just redirects.  In fact, it schedules
40448        most kinds of navigations.
40449
40450        * Android.mk:
40451        * CMakeLists.txt:
40452        * GNUmakefile.am:
40453        * WebCore.gypi:
40454        * WebCore.pro:
40455        * WebCore.vcproj/WebCore.vcproj:
40456        * WebCore.xcodeproj/project.pbxproj:
40457        * bindings/generic/BindingDOMWindow.h:
40458        (WebCore::::createWindow):
40459        (WebCore::::open):
40460        * bindings/generic/BindingFrame.h:
40461        (WebCore::::navigateIfAllowed):
40462        * bindings/js/JSDOMWindowCustom.cpp:
40463        (WebCore::JSDOMWindow::setLocation):
40464        (WebCore::createWindow):
40465        (WebCore::JSDOMWindow::open):
40466        * bindings/js/JSDocumentCustom.cpp:
40467        (WebCore::JSDocument::setLocation):
40468        * bindings/js/JSLocationCustom.cpp:
40469        (WebCore::JSLocation::reload):
40470        * bindings/v8/custom/V8LocationCustom.cpp:
40471        (WebCore::V8Location::reloadCallback):
40472        * dom/Document.cpp:
40473        (WebCore::Document::implicitClose):
40474        (WebCore::Document::processHttpEquiv):
40475        * inspector/InspectorController.cpp:
40476        (WebCore::InspectorController::setResourceTrackingEnabled):
40477        (WebCore::InspectorController::reloadPage):
40478        * loader/FrameLoader.cpp:
40479        (WebCore::FrameLoader::setDefersLoading):
40480        (WebCore::FrameLoader::submitForm):
40481        (WebCore::FrameLoader::stopLoading):
40482        (WebCore::FrameLoader::didOpenURL):
40483        (WebCore::FrameLoader::didExplicitOpen):
40484        (WebCore::FrameLoader::cancelAndClear):
40485        (WebCore::FrameLoader::clear):
40486        (WebCore::FrameLoader::receivedFirstData):
40487        (WebCore::FrameLoader::checkCompleted):
40488        (WebCore::FrameLoader::provisionalLoadStarted):
40489        (WebCore::FrameLoader::completed):
40490        (WebCore::FrameLoader::prepareForCachedPageRestore):
40491        * loader/FrameLoader.h:
40492        * loader/NavigationScheduler.cpp: Added.
40493        (WebCore::ScheduledNavigation::ScheduledNavigation):
40494        (WebCore::ScheduledNavigation::~ScheduledNavigation):
40495        (WebCore::ScheduledNavigation::shouldStartTimer):
40496        (WebCore::ScheduledNavigation::didStartTimer):
40497        (WebCore::ScheduledNavigation::didStopTimer):
40498        (WebCore::ScheduledNavigation::delay):
40499        (WebCore::ScheduledNavigation::lockHistory):
40500        (WebCore::ScheduledNavigation::lockBackForwardList):
40501        (WebCore::ScheduledNavigation::wasDuringLoad):
40502        (WebCore::ScheduledNavigation::isLocationChange):
40503        (WebCore::ScheduledNavigation::wasUserGesture):
40504        (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
40505        (WebCore::ScheduledURLNavigation::fire):
40506        (WebCore::ScheduledURLNavigation::didStartTimer):
40507        (WebCore::ScheduledURLNavigation::didStopTimer):
40508        (WebCore::ScheduledURLNavigation::url):
40509        (WebCore::ScheduledURLNavigation::referrer):
40510        (WebCore::ScheduledRedirect::ScheduledRedirect):
40511        (WebCore::ScheduledRedirect::shouldStartTimer):
40512        (WebCore::ScheduledLocationChange::ScheduledLocationChange):
40513        (WebCore::ScheduledRefresh::ScheduledRefresh):
40514        (WebCore::ScheduledRefresh::fire):
40515        (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
40516        (WebCore::ScheduledHistoryNavigation::fire):
40517        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
40518        (WebCore::ScheduledFormSubmission::fire):
40519        (WebCore::ScheduledFormSubmission::didStartTimer):
40520        (WebCore::ScheduledFormSubmission::didStopTimer):
40521        (WebCore::NavigationScheduler::NavigationScheduler):
40522        (WebCore::NavigationScheduler::~NavigationScheduler):
40523        (WebCore::NavigationScheduler::redirectScheduledDuringLoad):
40524        (WebCore::NavigationScheduler::locationChangePending):
40525        (WebCore::NavigationScheduler::clear):
40526        (WebCore::NavigationScheduler::scheduleRedirect):
40527        (WebCore::NavigationScheduler::mustLockBackForwardList):
40528        (WebCore::NavigationScheduler::scheduleLocationChange):
40529        (WebCore::NavigationScheduler::scheduleFormSubmission):
40530        (WebCore::NavigationScheduler::scheduleRefresh):
40531        (WebCore::NavigationScheduler::scheduleHistoryNavigation):
40532        (WebCore::NavigationScheduler::timerFired):
40533        (WebCore::NavigationScheduler::schedule):
40534        (WebCore::NavigationScheduler::startTimer):
40535        (WebCore::NavigationScheduler::cancel):
40536        * loader/NavigationScheduler.h: Added.
40537        * loader/RedirectScheduler.cpp: Removed.
40538        * loader/RedirectScheduler.h: Removed.
40539        * loader/SubframeLoader.cpp:
40540        (WebCore::SubframeLoader::loadOrRedirectSubframe):
40541        * loader/appcache/ApplicationCacheGroup.cpp:
40542        (WebCore::ApplicationCacheGroup::selectCache):
40543        * page/Frame.cpp:
40544        (WebCore::Frame::Frame):
40545        * page/Frame.h:
40546        (WebCore::Frame::navigationScheduler):
40547        * page/History.cpp:
40548        (WebCore::History::back):
40549        (WebCore::History::forward):
40550        (WebCore::History::go):
40551        * page/XSSAuditor.cpp:
40552        (WebCore::XSSAuditor::findInRequest):
40553
405542010-10-04  Adam Barth  <abarth@webkit.org>
40555
40556        Reviewed by Sam Weinig.
40557
40558        Remove ENABLE_SANDBOX
40559        https://bugs.webkit.org/show_bug.cgi?id=47032
40560
40561        I'm not sure there's a reason for this to be behind a compile flag
40562        anymore.
40563
40564        * Configurations/FeatureDefines.xcconfig:
40565        * GNUmakefile.am:
40566        * features.pri:
40567        * html/HTMLIFrameElement.cpp:
40568        (WebCore::parseSandboxAttribute):
40569        (WebCore::HTMLIFrameElement::parseMappedAttribute):
40570
405712010-10-04  Huahui Wu  <mediadependent@gmail.com>
40572
40573        Reviewed by Darin Adler.
40574
40575        Fix a compiler error for ANDROID introduced by bug 45221.
40576        https://bugs.webkit.org/show_bug.cgi?id=47095
40577
40578        It's a small fix for a compiler error, so there is no new test.
40579
40580        * platform/android/PlatformTouchEventAndroid.cpp:
40581        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
40582
405832010-10-04  Chris Fleizach  <cfleizach@apple.com>
40584
40585        Reviewed by Beth Dakin.
40586
40587        AX: doAXRangeForLine does not work
40588        https://bugs.webkit.org/show_bug.cgi?id=47101
40589
40590        Asking for NSAccessibilityRangeForLine was returning a null range for any line number > 0.
40591        The code was using a SelectionController to extend to the next line. Rather than change the implementation
40592        of that core functionality, it is cleaner to use endOfLine to find the end of the line.
40593
40594        Test: platform/mac/accessibility/range-for-line-textarea.html
40595
40596        * accessibility/AccessibilityRenderObject.cpp:
40597        (WebCore::AccessibilityRenderObject::doAXRangeForLine):
40598
405992010-10-04  Brent Fulgham  <bfulgham@webkit.org>
40600
40601        Unreviewed, build fix for r68951.
40602
40603        Add stub implementation for ProxyServer logic.
40604
40605        * WebCore.vcproj/WebCore.vcproj: Add new WinCairo file.
40606        * WebCore/platform/network/curl/ProxyServerCurl.cpp: Added
40607
406082010-10-04  Alexey Proskuryakov  <ap@apple.com>
40609
40610        Reviewed by Adam Barth.
40611
40612        https://bugs.webkit.org/show_bug.cgi?id=47035
40613        Application cache selection algorithm should only be invoked after navigation
40614
40615        Tests: http/tests/appcache/document-write-html-element-2.html
40616               http/tests/appcache/document-write-html-element.html
40617               http/tests/appcache/insert-html-element-with-manifest-2.html
40618               http/tests/appcache/insert-html-element-with-manifest.html
40619
40620        * dom/DocumentParser.cpp: (WebCore::DocumentParser::DocumentParser):
40621        * dom/DocumentParser.h:
40622        (WebCore::DocumentParser::setDocumentWasLoadedAsPartOfNavigation):
40623        (WebCore::DocumentParser::documentWasLoadedAsPartOfNavigation):
40624        Track whether the document being parsed is being loaded as part of navigation.
40625
40626        * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::insertedByParser): Only run the
40627        cache selection algorithm if the document is being loaded as part of navigation. We don't 
40628        want to switch associated appcache is someone document.writes <html manifest=...>.
40629
40630        * html/HTMLHtmlElement.h: We need to differentiate between parsing and DOM manipulation, so
40631        this code can't be in HTMLHtmlElement::insertedIntoDocument().
40632
40633        * dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::startElementNs):
40634        * dom/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::parseStartElement):
40635        * html/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure):
40636        * html/MediaDocument.cpp: (WebCore::MediaDocumentParser::createDocumentStructure):
40637        * html/PluginDocument.cpp: (WebCore::PluginDocumentParser::createDocumentStructure):
40638        * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
40639        Check for manifest attribute in cases specified by HTML5.
40640
40641        * html/parser/HTMLConstructionSite.h: Removed unused insertHTMLHtmlElement().
40642
40643        * loader/DocumentWriter.cpp: (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
40644        * loader/DocumentWriter.h:
40645        Forward this call to DocumentParser, since DocumentWriter is supposed to encapsulate it.
40646
40647        * loader/FrameLoader.cpp: (WebCore::FrameLoader::receivedFirstData): Receiving data from
40648        loader means being loaded as part of navigation. This notion is used in HTML5 without a rigorous
40649        definition that I could find - this seems to be a meaningful formalization.
40650
406512010-10-04  David Hyatt  <hyatt@apple.com>
40652
40653        Reviewed by Dan Bernstein.
40654
40655        https://bugs.webkit.org/show_bug.cgi?id=47100
40656
40657        Convert clearFloats() to be block-flow-aware.  Helpers that it calls have not been patched though.
40658
40659        * rendering/RenderBlock.cpp:
40660        (WebCore::RenderBlock::clearFloats):
40661        * rendering/RenderBlock.h:
40662        (WebCore::RenderBlock::logicalTopForFloat):
40663        (WebCore::RenderBlock::logicalLeftForFloat):
40664        (WebCore::RenderBlock::logicalWidthForFloat):
40665
406662010-10-04  Diego Gonzalez  <diegohcg@webkit.org>
40667
40668        Reviewed by Kenneth Rohde Christiansen.
40669
40670        [Qt] Hook up DeviceOrientation data for Qt support
40671        https://bugs.webkit.org/show_bug.cgi?id=47052
40672
40673        Get DeviceOrientation necessary data via Qt mobility library
40674        using a provider class.
40675
40676        * WebCore.pro:
40677
406782010-10-01  Victoria Kirst  <vrk@google.com>
40679
40680        Reviewed by James Robinson.
40681
40682        Fixing crash when audio media player is destructed
40683        https://bugs.webkit.org/show_bug.cgi?id=47020
40684
40685        Adds assert for LayerRenderer in destructor.
40686
40687        * platform/graphics/chromium/VideoLayerChromium.cpp:
40688        (WebCore::VideoLayerChromium::~VideoLayerChromium):
40689
406902010-10-04  Pavel Podivilov  <podivilov@chromium.org>
40691
40692        Reviewed by Pavel Feldman.
40693
40694        Web Inspector: do not show breakpoint in front-end if it was not set in v8
40695        https://bugs.webkit.org/show_bug.cgi?id=46749
40696
40697        * bindings/v8/DebuggerScript.js:
40698        ():
40699
407002010-10-04  Alejandro G. Castro  <alex@igalia.com>
40701
40702        Reviewed by Martin Robinson.
40703
40704        [cairo] Context shadow modifies the data of the surface without
40705        flushing and marking as dirty
40706        https://bugs.webkit.org/show_bug.cgi?id=47079
40707
40708        Added the cairo_surface_flush and cairo_surface_mark_dirty before
40709        and after modifying the image pixels directly.
40710
40711        * platform/graphics/cairo/ContextShadowCairo.cpp:
40712        (WebCore::ContextShadow::endShadowLayer):
40713
407142010-10-04  Alejandro G. Castro  <alex@igalia.com>
40715
40716        Reviewed by Xan Lopez.
40717
40718        Crashed caused by missing OwnPtrCairo include, for more
40719        information check the issue in the bug 46268.
40720
40721        * platform/graphics/cairo/CairoUtilities.cpp:
40722
407232010-10-04  Alejandro G. Castro  <alex@igalia.com>
40724
40725        Reviewed by Martin Robinson.
40726
40727        [cairo] Move some cairo functions to the CairoUtilities
40728        https://bugs.webkit.org/show_bug.cgi?id=47076
40729
40730        Moved some cairo functions to the CairoUtilities so we can use
40731        them outside GraphicsContextCairo.
40732
40733        * platform/graphics/cairo/CairoUtilities.cpp:
40734        (WebCore::appendPathToCairoContext):
40735        (WebCore::setPathOnCairoContext):
40736        (WebCore::appendWebCorePathToCairoContext):
40737        (WebCore::toCairoOperator):
40738        (WebCore::drawPatternToCairoContext):
40739        * platform/graphics/cairo/CairoUtilities.h:
40740        * platform/graphics/cairo/GraphicsContextCairo.cpp:
40741        * platform/graphics/cairo/ImageCairo.cpp:
40742        (WebCore::Image::drawPattern):
40743
407442010-10-04  podivilov@chromium.org  <podivilov@chromium.org>
40745
40746        Reviewed by Yury Semikhatsky.
40747
40748        Web Inspector: implement pausing on event listeners (back-end part)
40749        https://bugs.webkit.org/show_bug.cgi?id=46624
40750
40751        * bindings/js/ScriptDebugServer.cpp:
40752        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
40753        * bindings/js/ScriptDebugServer.h:
40754        * bindings/v8/ScriptDebugServer.cpp:
40755        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
40756        * bindings/v8/ScriptDebugServer.h:
40757        * dom/Node.cpp:
40758        (WebCore::Node::dispatchGenericEvent):
40759        * inspector/InspectorController.cpp:
40760        (WebCore::InspectorController::didCommitLoad):
40761        (WebCore::InspectorController::setNativeBreakpoint):
40762        (WebCore::InspectorController::removeNativeBreakpoint):
40763        (WebCore::InspectorController::shouldBreakOnEvent):
40764        (WebCore::InspectorController::shouldBreakOnXMLHttpRequest):
40765        * inspector/InspectorController.h:
40766        * inspector/InspectorDebuggerAgent.cpp:
40767        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
40768        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
40769        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
40770        (WebCore::InspectorDebuggerAgent::pause):
40771        (WebCore::InspectorDebuggerAgent::didContinue):
40772        (WebCore::InspectorDebuggerAgent::breakProgram):
40773        * inspector/InspectorDebuggerAgent.h:
40774        * inspector/InspectorInstrumentation.cpp:
40775        (WebCore::eventHasListeners):
40776        (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
40777        (WebCore::InspectorInstrumentation::instrumentDidDispatchEventImpl):
40778        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
40779        * inspector/InspectorInstrumentation.h:
40780        (WebCore::InspectorInstrumentation::instrumentWillDispatchEvent):
40781        (WebCore::InspectorInstrumentation::instrumentDidDispatchEvent):
40782        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
40783        * inspector/InspectorTimelineAgent.cpp:
40784        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
40785        * inspector/InspectorTimelineAgent.h:
40786        (WebCore::InspectorTimelineAgent::id):
40787        * inspector/front-end/CallStackSidebarPane.js:
40788
407892010-10-04  Pavel Feldman  <pfeldman@chromium.org>
40790
40791        Reviewed by Yury Semikhatsky.
40792
40793        Web Inspector: add total bar to the network panel.
40794        https://bugs.webkit.org/show_bug.cgi?id=47081
40795
40796        * English.lproj/localizedStrings.js:
40797        * inspector/front-end/ConsoleView.js:
40798        (WebInspector.ConsoleView.createDividerElement):
40799        * inspector/front-end/DataGrid.js:
40800        (WebInspector.DataGrid.prototype.removeChild):
40801        (WebInspector.DataGrid.prototype.sortNodes):
40802        (WebInspector.DataGrid.prototype._clickInHeaderCell):
40803        (WebInspector.DataGrid.prototype.markColumnAsSortedBy):
40804        * inspector/front-end/NetworkPanel.js:
40805        (WebInspector.NetworkPanel):
40806        (WebInspector.NetworkPanel.prototype.resize):
40807        (WebInspector.NetworkPanel.prototype._positionSummaryBar):
40808        (WebInspector.NetworkPanel.prototype._createTimelineGrid):
40809        (WebInspector.NetworkPanel.prototype._createSortingFunctions):
40810        (WebInspector.NetworkPanel.prototype._sortItems):
40811        (WebInspector.NetworkPanel.prototype._sortByTimeline):
40812        (WebInspector.NetworkPanel.prototype._createFilterStatusBarItems):
40813        (WebInspector.NetworkPanel.prototype._createSummaryBar):
40814        (WebInspector.NetworkPanel.prototype._updateSummaryBar):
40815        (WebInspector.NetworkPanel.prototype._updateFilter):
40816        (WebInspector.NetworkPanel.prototype.show):
40817        (WebInspector.NetworkPanel.prototype.refresh):
40818        (WebInspector.NetworkPanel.prototype.reset):
40819        (WebInspector.NetworkDataGridNode.SizeComparator):
40820        (WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
40821        (WebInspector.NetworkTotalGridNode):
40822        (WebInspector.NetworkTotalGridNode.prototype.createCells):
40823        * inspector/front-end/ResourcesPanel.js:
40824        (WebInspector.ResourcesPanel.prototype.createFilterPanel):
40825        * inspector/front-end/inspector.css:
40826        (.scope-bar-divider):
40827        * inspector/front-end/networkPanel.css:
40828        (.network-timeline-grid):
40829        (.network-summary-bar):
40830        (.network-summary-bar-bottom):
40831        (.data-grid td .network-summary-bar):
40832
408332010-09-28  Luiz Agostini  <luiz.agostini@openbossa.org>
40834
40835        Reviewed by Kenneth Rohde Christiansen.
40836
40837        Viewport data change notifications
40838        https://bugs.webkit.org/show_bug.cgi?id=46755
40839
40840        Regarding viewport meta tags, what matters for browser developers is to know when the viewport data has
40841        changed and its current value. Viewport data belongs to the document, but it is useful to keep the current
40842        viewport data in Page as a reference, to be able to send notifications only when the current viewport
40843        has changed.
40844
40845        * dom/Document.cpp:
40846        (WebCore::Document::processViewport):
40847        (WebCore::Document::setInPageCache):
40848        * dom/ViewportArguments.h:
40849        (WebCore::ViewportArguments::operator==):
40850        * html/HTMLBodyElement.cpp:
40851        (WebCore::HTMLBodyElement::HTMLBodyElement):
40852        * page/Chrome.cpp:
40853        (WebCore::Chrome::viewportDataChanged):
40854        * page/Chrome.h:
40855        * page/ChromeClient.h:
40856        (WebCore::ChromeClient::viewportDataChanged):
40857        * page/Page.cpp:
40858        (WebCore::Page::updateViewportArguments):
40859        * page/Page.h:
40860        (WebCore::Page::viewportArguments):
40861
408622010-10-03  Kent Tamura  <tkent@chromium.org>
40863
40864        Unreviewed, build fix for r68996.
40865
40866        * html/BaseDateAndTimeInputType.cpp: Includes <wtf/MathExtras.h> for isfinite().
40867        * html/MonthInputType.cpp: ditto.
40868        * html/NumberInputType.cpp: ditto.
40869        * html/RangeInputType.cpp: ditto.
40870
408712010-10-03  Kent Tamura  <tkent@chromium.org>
40872
40873        Reviewed by Dimitri Glazkov.
40874
40875        Refactor HTMLInputElement: Move parseToDouble() and
40876        parseToDateComponents() to InputType.
40877        https://bugs.webkit.org/show_bug.cgi?id=46965
40878
40879        Introduce BaseDateAndTimeInputType, which is a super class of
40880        date, datetime, datetime-local, month, time, and week types.
40881
40882        No new tests. Just a refactoring.
40883
40884        * Android.mk: Add BaseDateAndTimeInputType.
40885        * CMakeLists.txt: ditto.
40886        * GNUmakefile.am: ditto.
40887        * WebCore.gypi: ditto.
40888        * WebCore.pro: ditto.
40889        * WebCore.vcproj/WebCore.vcproj: ditto.
40890        * WebCore.xcodeproj/project.pbxproj: ditto.
40891        * html/BaseDateAndTimeInputType.cpp: Added.
40892        (WebCore::BaseDateAndTimeInputType::parseToDouble):
40893        (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
40894        * html/BaseDateAndTimeInputType.h: Added.
40895        (WebCore::BaseDateAndTimeInputType::BaseDateAndTimeInputType):
40896        * html/DateInputType.cpp:
40897        (WebCore::DateInputType::parseToDateComponentsInternal):
40898        * html/DateInputType.h:
40899        (WebCore::DateInputType::DateInputType):
40900        * html/DateTimeInputType.cpp:
40901        (WebCore::DateTimeInputType::parseToDateComponentsInternal):
40902        * html/DateTimeInputType.h:
40903        (WebCore::DateTimeInputType::DateTimeInputType):
40904        * html/DateTimeLocalInputType.cpp:
40905        (WebCore::DateTimeLocalInputType::parseToDateComponentsInternal):
40906        * html/DateTimeLocalInputType.h:
40907        (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
40908        * html/HTMLInputElement.cpp: Replace parseToD* calls with m_inputType->parseToD*.
40909        (WebCore::HTMLInputElement::typeMismatch):
40910        (WebCore::HTMLInputElement::rangeUnderflow):
40911        (WebCore::HTMLInputElement::rangeOverflow):
40912        (WebCore::HTMLInputElement::minimum):
40913        (WebCore::HTMLInputElement::maximum):
40914        (WebCore::HTMLInputElement::stepBase):
40915        (WebCore::HTMLInputElement::stepMismatch):
40916        (WebCore::HTMLInputElement::applyStep):
40917        (WebCore::HTMLInputElement::valueAsDate):
40918        (WebCore::HTMLInputElement::valueAsNumber):
40919        (WebCore::HTMLInputElement::handleKeyEventForRange):
40920        (WebCore::HTMLInputElement::stepUpFromRenderer):
40921        * html/HTMLInputElement.h:
40922        * html/InputType.cpp:
40923        (WebCore::InputType::parseToDouble):
40924        (WebCore::InputType::parseToDateComponents):
40925        * html/InputType.h:
40926        * html/MonthInputType.cpp:
40927        (WebCore::MonthInputType::parseToDouble):
40928        (WebCore::MonthInputType::parseToDateComponentsInternal):
40929        * html/MonthInputType.h:
40930        (WebCore::MonthInputType::MonthInputType):
40931        * html/NumberInputType.cpp:
40932        (WebCore::NumberInputType::parseToDouble):
40933        * html/NumberInputType.h:
40934        * html/RangeInputType.cpp:
40935        (WebCore::RangeInputType::parseToDouble):
40936        * html/RangeInputType.h:
40937        * html/TimeInputType.cpp:
40938        (WebCore::TimeInputType::parseToDateComponentsInternal):
40939        * html/TimeInputType.h:
40940        (WebCore::TimeInputType::TimeInputType):
40941        * html/WeekInputType.cpp:
40942        (WebCore::WeekInputType::parseToDateComponentsInternal):
40943        * html/WeekInputType.h:
40944        (WebCore::WeekInputType::WeekInputType):
40945
409462010-10-03  Adam Barth  <abarth@webkit.org>
40947
40948        Reviewed by Holger Freyther.
40949
40950        ASSERT(m_state = Open); is bad news bears
40951        https://bugs.webkit.org/show_bug.cgi?id=47057
40952
40953        Added by ap (review by darin) in http://trac.webkit.org/changeset/50951
40954        Too bad the compiler doesn't catch these errors.  I don't believe this
40955        is possible to test.
40956
40957        * platform/network/cf/SocketStreamHandleCFNet.cpp:
40958        (WebCore::SocketStreamHandle::writeStreamCallback):
40959
409602010-10-03  Adam Barth  <abarth@webkit.org>
40961
40962        Reviewed by Holger Freyther.
40963
40964        All the WebSocket tests crash
40965        https://bugs.webkit.org/show_bug.cgi?id=47056
40966
40967        More code that tries to hold onto temporaries with references.
40968
40969        * websockets/WebSocketChannel.cpp:
40970        (WebCore::WebSocketChannel::didOpen):
40971
409722010-10-03  Adam Barth  <abarth@webkit.org>
40973
40974        Reviewed by Holger Freyther.
40975
40976        All the WebSocket tests crash
40977        https://bugs.webkit.org/show_bug.cgi?id=47055
40978
40979        This code attempts to hold onto temporary objects using references.
40980        That doesn't work in C++. Instead, we need to actually store the
40981        objects somewhere.
40982
40983        * bindings/js/JSWebSocketCustom.cpp:
40984        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
40985
409862010-10-02  Diego Gonzalez  <diegohcg@webkit.org>
40987
40988        Reviewed by Kenneth Rohde Christiansen.
40989
40990        [Qt] Provide Qt support for DeviceMotion/Orientation clients
40991        https://bugs.webkit.org/show_bug.cgi?id=47051
40992
40993        Add Qt DeviceMotion/Orientation dummy clients in build system.
40994
40995        * WebCore.pro:
40996
409972010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
40998
40999        Reviewed by Dirk Schulze.
41000
41001        Rewrite SVG text layout code
41002        https://bugs.webkit.org/show_bug.cgi?id=45532
41003
41004        Modernize SVG text layout engine, split the layout process into three phases, so that each results can be cached (which will be done in a follow-up patch).
41005
41006        Phase #1) - SVGTextLayoutAttributesBuilder
41007        ------------------------------------------
41008
41009        Parse x/y/dx/dy/rotate values of the <text> subtree (<text x="30 40">A<tspan>B<tspan x="50">C</tspan></tspan></text>)
41010        This is done by SVGTextLayoutAttributesBuilder. It builds a SVGTextLayoutAttributes object for each RenderSVGInlineText renderer, and stores it there.
41011        Phase #1 is started from RenderSVGText::layout(), before RenderBlockLineLayout is laying out the inline children, and thus before the InlineBox tree is created.
41012
41013        Now we know which character has an associated absolute x or y position, denoting the start of a new text chunk. Whenever we encounter a new text chunk
41014        RenderBlockLineLayout should create a new SVGInlineTextBox. This is very important, as BiDi reordering shouldn't happen across text chunks, as well as ligature detection.
41015
41016        The text chunk concept is now merged right into the InlineBox tree, so we don't need to hack around the lack of that, as done for the previous years.
41017
41018        Phase #2) - SVGTextLayoutEngine
41019        ------------------------------------------
41020
41021        RenderSVGText::layout() calls RenderBlock::layoutInlineChildren() right after phase #1 ends. The InlineBox tree is created. During that process findNextLineBreak()
41022        decides how to split up the text into InlineTextBoxes. It has already been patched, to ask RenderSVGInlineText::characterStartsNewTextChunk(int position), whether the
41023        current character should go in a new SVGInlineTextBox or not. This requires that phase #1 already stored these information in the RenderSVGInlineText objects.
41024
41025        For each <text> object a SVGRootInlineBox is created (in constructLine()) and all child boxes are added. After that SVGRootInlineBox::computePerCharacterLayoutInformation()
41026        is called (unlike HTML text, which splits the vertical & horizontal layout in two phases, it's just one single phase for SVG). This function invokes SVGTextLayoutEngine
41027        and starts phase #2 of the layout process.
41028
41029        SVGTextLayoutEngine lays out the content of each SVGInlineTextBox either on a line or a path. It contains all the logic handling, alignment-baseline, dominant-baseline,
41030        letter-spacing, word-spacing, kerning, glyph-orientation-(horizontal|vertical), rotation, etc. etc.
41031
41032        As result it generates a set of SVGTextFragment objects which are stored in each SVGInlineTextBox. Each SVGTextFragment is a portion of text that can be rendered/measured
41033        at once. Some examples to illustrate what's going on:
41034
41035        <text x="20">ABCD</text>:
41036        - SVGInlineTextBox
41037          - SVGTextFragment, start 0 length 4, "ABCD" (x=20)
41038
41039        <text x="20 100">ABCD</text>:
41040        - SVGInlineTextBox
41041          - SVGTextFragment, start 0 length 1, "A" (x=20)
41042        - SVGInlineTextBox
41043          - SVGTextFragment, start 0 length 1, "B" (x=100)
41044          - SVGTextFragment, start 1 length 2, "CD" (x=100 + advance_of_last)
41045
41046        <text><textPath xlink:href="#somePath">ABCD</textPath></text>:
41047        - SVGInlineTextBox
41048          - SVGTextFragment, start 0 length 1, "A" (rotated!)
41049          - SVGTextFragment, start 1 length 1, "B" (rotated!)
41050          - SVGTextFragment, start 2 length 1, "C" (rotated!)
41051          - SVGTextFragment, start 3 length 1, "D" (rotated!)
41052
41053        <text x="0 50 100">A<tspan>B</tspan>C</text>
41054        - SVGInlineTextBox
41055          - SVGTextFragment, start 0 length 1, "A" (x=0)
41056        - SVGInlineFlowBox
41057          - SVGInlineTextBox
41058            - SVGTextFragment, start 0 length 1, "B" (x=50)
41059        - SVGInlineTextBox
41060          - SVGTextFragment, start 0 length 1, "C" (x=100)
41061
41062        When painting text SVGInlineTextBox just walks its fragments and paints them. Text selection works the same.
41063        All text measurements (width/height etc.) have already been done in phase #2 and aren't required anymore while painting/selecting.
41064        This is one of the main benefits of the new text layout engine, painting & selection is cheap now, compared to the layout process.
41065
41066        We're now doing phase #1 everytime RenderSVGText::layout() is called. This is not necessary, we only have to recompute these information
41067        if the x/y/dx/dy or rotate list of an element in the <text> subtree changes or the text content itself -> this will be done in a follow-up patch.
41068        It's likely that we'll also find ways to skip phase #2 in certain situations.
41069
41070        Phase #3) - SVGTextChunkBuilder
41071        ------------------------------------------
41072
41073        After phase #2 finished, we can post-process the text fragments. Certain operations have to be applied on a "per chunk" basis.
41074        text-anchor should be applied to individual text chunks, as well as textLength corrections (lengthAdjust="spacing" / lengthAdjust="spacingAndGlyphs").
41075
41076        SVGTextChunkBuilder just walks the SVGInlineTextBox, and collects all boxes belonging to a certain chunk. For each of the chunks all fragments
41077        are post-processed. For instance for text-anchor="middle", all x positions of all fragments are shifted by -fragmentWidth/2 (for horizonal text).
41078
41079        After phase #1 - #3 finished, SVGRootInlineBox::computePerCharacterLayoutInformation() utilizies the stored SVGTextFragments to lay out all child
41080        boxes in the InlineBox tree (setWidth/Height, etc.), the size and position of the SVGRootInlineBox and it's parent RenderSVGText object.
41081
41082        This should give interessted readers a good summary of how the new text layout engine works.
41083        See LayoutTests/ChangeLog for more details on test progression.
41084
41085        Tests: svg/custom/text-rotation.svg
41086               svg/custom/text-x-dy-lists.svg
41087
41088        * Android.mk: Add SVGTextLayoutEngine.* / SVGTextChunkBuilder.* to build. Remove SVGCharacterData.* / SVGTextChunkLayoutInfo.* / SVGTextLayoutUtilities.* from build.
41089        * CMakeLists.txt: Ditto.
41090        * GNUmakefile.am: Ditto.
41091        * WebCore.gypi: Ditto.
41092        * WebCore.pro: Ditto.
41093        * WebCore.vcproj/WebCore.vcproj: Ditto.
41094        * WebCore.xcodeproj/project.pbxproj: Ditto.
41095        * rendering/InlineBox.h:
41096        (WebCore::InlineBox::isSVGInlineFlowBox): Add helper function to identify SVGInlineFlowBoxes. The variants for SVGInlineTextBox etc. already exist.
41097        * rendering/InlineTextBox.h: Devirtualize selectionStartEnd, SVG is no longer overriding it.
41098        * rendering/RenderSVGAllInOne.cpp: removes
41099        * rendering/RenderText.cpp:
41100        (WebCore::RenderText::setTextInternal): Remove SVG specific hacks, moved to RenderSVGInlineText.
41101        * rendering/SVGCharacterData.cpp: Removed.
41102        * rendering/SVGCharacterData.h: Removed.
41103        * rendering/SVGCharacterLayoutInfo.cpp: Removed.
41104        * rendering/SVGCharacterLayoutInfo.h: Removed.
41105        * rendering/SVGRenderTreeAsText.cpp: Hack DRT output to be somewhat compatible with the current output, the plan is to change it completly after this patch.
41106        (WebCore::writeRenderSVGTextBox):
41107        (WebCore::writeSVGInlineTextBox):
41108        * rendering/SVGTextChunkLayoutInfo.cpp: Removed.
41109        * rendering/SVGTextChunkLayoutInfo.h: Removed.
41110        * rendering/SVGTextLayoutUtilities.cpp: Removed.
41111        * rendering/SVGTextLayoutUtilities.h: Removed.
41112        * rendering/style/RenderStyle.cpp:
41113        (WebCore::RenderStyle::diff): Only return immediately if SVGRenderStyle::diff produced StyleDifferenceLayout, it it's sth. else be sure to ask RenderStyle itself what to do.
41114        * rendering/style/SVGRenderStyle.h:
41115        (WebCore::SVGRenderStyle::isVerticalWritingMode): New helper method, moved from SVGTextLayoutUtilities.
41116        * rendering/svg/RenderSVGInlineText.cpp:
41117        (WebCore::applySVGWhitespaceRules): Moved from RenderText into a SVG specific place.
41118        (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use applySVGWhitespaceRules on the incoming text.
41119        (WebCore::RenderSVGInlineText::styleDidChange): Only apply SVG white space rules, when using xml:space="preserve", otherwhise the constructor already handled it.
41120        (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Create text chunks for absolute y values as well, SVG 1.1 2nd Edition demands that.
41121        (WebCore::RenderSVGInlineText::positionForPoint): New function operating on all SVGInlineTextBoxes and their SVGTextFragments.
41122        * rendering/svg/RenderSVGInlineText.h:
41123        (WebCore::RenderSVGInlineText::layoutAttributes): Stores the layout attributes generated by SVGTextLayoutAttributesBuilder.
41124        (WebCore::toRenderSVGInlineText): New helper methods for casting.
41125        * rendering/svg/RenderSVGText.cpp:
41126        (WebCore::RenderSVGText::layout): Add comment, that SVGTextLayoutAttributesBuilder is just phase one of the layout process.
41127        (WebCore::RenderSVGText::positionForPoint): Simplified implementation for SVGs needs.
41128        * rendering/svg/RenderSVGText.h:
41129        * rendering/svg/SVGInlineFlowBox.cpp:
41130        (WebCore::SVGInlineFlowBox::paintSelectionBackground): Seperated selection background drawing from actual text rendering, to make sure selection is always in background for SVG.
41131        (WebCore::SVGInlineFlowBox::paint): Call computetextMatchMarkerRectForRenderer, before painting.
41132        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): New method.
41133        * rendering/svg/SVGInlineFlowBox.h:
41134        (WebCore::SVGInlineFlowBox::isSVGInlineFlowBox):
41135        * rendering/svg/SVGInlineTextBox.cpp: Completly rewritten, operates on SVGTextFragments, produced by the SVGTextLayoutEngine. Whole new concept, compared to the old hack.
41136        * rendering/svg/SVGInlineTextBox.h:
41137        (WebCore::SVGInlineTextBox::clearTextFragments): Only used by SVGTextLayoutEngine, to clean up previously computed fragments.
41138        (WebCore::SVGInlineTextBox::textFragments): Offers access to the fragments in the box.
41139        (WebCore::SVGInlineTextBox::startsNewTextChunk): Does this box start a new text chunk?
41140        (WebCore::SVGInlineTextBox::setStartsNewTextChunk): SVGTextLayoutEngine marks this box, if it starts a new text chunk.
41141        * rendering/svg/SVGRootInlineBox.cpp: Remove old code regarding text chunk parts.
41142        (WebCore::SVGRootInlineBox::paint): Selection is now painted before text, to assure it's really in the background.
41143        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use new SVGTextLayoutEngine.
41144        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): Feed SVGTextLayoutEngine with SVGInlineTextBoxes, detect the begin/end of path layouts.
41145        (WebCore::SVGRootInlineBox::layoutChildBoxes): Use new isSVGInlineTextBox() helper method.
41146        (WebCore::SVGRootInlineBox::closestLeafChildForPosition): Simplified version for SVG.
41147        * rendering/svg/SVGRootInlineBox.h: Remove access to text chunks, they're now longer stored in the SVGRootInlineBox.
41148        * rendering/svg/SVGTextChunk.cpp: s/SVGTextChunkNew/SVGTextChunk/
41149        * rendering/svg/SVGTextChunk.h:
41150        * rendering/svg/SVGTextChunkBuilder.cpp: Added.
41151        * rendering/svg/SVGTextChunkBuilder.h: Added.
41152        * rendering/svg/SVGTextLayoutAttributes.cpp: Constify dump() method.
41153        * rendering/svg/SVGTextLayoutAttributes.h:
41154        (WebCore::SVGTextLayoutAttributes::textMetricsValues):
41155        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewritten, consume less memory, while building the layout attributes.
41156        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
41157        * rendering/svg/SVGTextLayoutEngine.cpp: Added.
41158        * rendering/svg/SVGTextLayoutEngine.h: Added.
41159        * rendering/svg/SVGTextQuery.cpp: Rewritten to deal with the new SVGTextFragment/SVGTextLayoutAttributes logic.
41160        * rendering/svg/SVGTextQuery.h:
41161
411622010-10-02  Alpha Lam  <hclam@chromium.org>
41163
41164        Build fix. Not reviewed.
41165
41166        An adhoc fix for a crash found by reliability bot. This will make the
41167        reliability bot happy. A proper fix is pending commit.
41168
41169        * platform/graphics/chromium/VideoLayerChromium.cpp:
41170        (WebCore::VideoLayerChromium::~VideoLayerChromium):
41171
411722010-10-01  Ryosuke Niwa  <rniwa@webkit.org>
41173
41174        Reviewed by Darin Adler.
41175
41176        FormatBlockCommand and IndentOutdentCommand should use the same code to iterate paragraphs
41177        https://bugs.webkit.org/show_bug.cgi?id=46840
41178
41179        Added ApplyBlockElementCommand, which is an abstract class inherited by FormatBlockCommand
41180        and IndentOutdentCommand.  It is intended to be inherited by InsertListCommand as well.
41181
41182        ApplyBlockElementCommand's doApply verifies the current selection and exits early
41183        if it's invalid or orphaned or if the current selection is outside editable region.
41184        It then calls formatSelection to apply the block element after which doApply restores the selection.
41185        formatSelection iterates through paragraphs and calls formatParagraph, a pure virtual function
41186        implemented by FormatBlockCommand and IndentOutdentCommand, on each paragraph.
41187
41188        No new tests are added since this is a refactoring.
41189
41190        * Android.mk: Added ApplyBlockElementCommand.cpp.
41191        * CMakeLists.txt: Ditto.
41192        * GNUmakefile.am: Added ApplyBlockElementCommand.cpp and ApplyBlockElementCommand.h.
41193        * WebCore.gypi: Ditto.
41194        * WebCore.pro: Ditto.
41195        * WebCore.xcodeproj/project.pbxproj: Ditto.
41196        * editing/ApplyBlockElementCommand.cpp: Added.
41197        (WebCore::countParagraphs): Moved from IndentOutdentCommand.cpp
41198        (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand): Added.
41199        (WebCore::ApplyBlockElementCommand::doApply): Moved from IndentOutdentCommand::doApply.
41200        (WebCore::ApplyBlockElementCommand::formatSelection): Moved from IndentOutdentCommand::indentRegion.
41201        (WebCore::ApplyBlockElementCommand::createBlockElement): Added.
41202        (WebCore::ApplyBlockElementCommand::splitTextNodes): Moved from IndentOutdentCommand::splitTextNodes.
41203        * editing/ApplyBlockElementCommand.h: Added.
41204        * editing/EditingAllInOne.cpp:
41205        * editing/EditorCommand.cpp:
41206        (WebCore::executeFormatBlock):
41207        * editing/FormatBlockCommand.cpp: Removed doApply.
41208        (WebCore::FormatBlockCommand::FormatBlockCommand): Calls ApplyBlockElementCommand's constructor.
41209        (WebCore::FormatBlockCommand::formatParagraph): Renamed from doApplyForSingleParagraph.
41210        * editing/FormatBlockCommand.h: FormatBlockCommand inherits from ApplyBlockElementCommand.
41211        (WebCore::FormatBlockCommand::create): Uses QualifiedName for the tag name instead of AtomicString.
41212        * editing/IndentOutdentCommand.cpp: Removed doApply, indentIntoBlockquote, and splitTextNodes.
41213        (WebCore::IndentOutdentCommand::IndentOutdentCommand): Calls ApplyBlockElementCommand's constructor.
41214        (WebCore::IndentOutdentCommand::indentIntoBlockquote): The code to nullify targetBlockquote
41215        when the next paragraph is in a different table cell is moved to ApplyBlockElementCommand::formatSelection.
41216        (WebCore::IndentOutdentCommand::formatSelection): Added. Calls outdentRegion when outdenting.
41217        (WebCore::IndentOutdentCommand::formatParagraph): Added. Calls tryIndentingAsListItem and indentIntoBlockquote.
41218        * editing/IndentOutdentCommand.h: IndentOutdentCommand inherits from ApplyBlockElementCommand.
41219
412202010-10-01  Mark Rowe  <mrowe@apple.com>
41221
41222        Build fix.
41223
41224        Clear the executable bit from a number of source files.
41225
41226        * page/Frame.cpp:
41227        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
41228        * platform/graphics/win/WKCACFLayerRenderer.cpp:
41229        * platform/graphics/win/WKCACFLayerRenderer.h:
41230        * platform/network/ResourceRawHeaders.h:
41231        * rendering/RenderLayerCompositor.cpp:
41232        * rendering/RenderLayerCompositor.h:
41233
412342010-10-01  Martin Robinson  <mrobinson@igalia.com>
41235
41236        Reviewed by Adam Barth.
41237
41238        [GTK] r68923 broke some plugin tests
41239        https://bugs.webkit.org/show_bug.cgi?id=47040
41240
41241        No longer pass focus and blur events to plugins when the "old" DOM Level
41242        2 DOMFocusIn/DOMFocusOut events occur. r68923 made a change which means
41243        that the DOM Level 3 version is always fired for this event. 
41244
41245        No new tests, as this should cause the failing tests to pass.
41246
41247        * plugins/PluginView.cpp:
41248        (WebCore::PluginView::handleEvent): No longer pass focus and blur events to
41249        plugins when DOMFocusIn / DOMFocusOut events occur.
41250
412512010-10-01  Anders Carlsson  <andersca@apple.com>
41252
41253        Reviewed by Sam Weinig.
41254
41255        Plug-ins should have access to the private browsing state.
41256        https://bugs.webkit.org/show_bug.cgi?id=47031
41257        <rdar://problem/8505405>
41258
41259        * page/Page.cpp:
41260        (WebCore::Page::privateBrowsingStateChanged):
41261        When iterating over all widgets, also look for PluginViewBase classes and invoke their 
41262        privateBrowsingStateChange member function.
41263
41264        * plugins/PluginViewBase.h:
41265        (WebCore::PluginViewBase::privateBrowsingStateChanged):
41266        Add function.
41267
412682010-10-01  Brian Weinstein  <bweinstein@apple.com>
41269
41270        Build Fix for Windows.
41271
41272        * WebCore.vcproj/WebCore.vcproj: Don't have an empty post-build step, use
41273            WebCoreCommon.vsprops to handle post-build step.
41274        * WebCore.vcproj/WebCoreCommon.vsprops: Set the post-build step to delete 
41275             $(WebKitOutputDir)/buildfailed.
41276
412772010-10-01  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
41278
41279        Reviewed by Kenneth Rohde Christiansen.
41280
41281        [Qt] Segmentation fault during zoom out
41282        https://bugs.webkit.org/show_bug.cgi?id=46984
41283
41284        * platform/qt/QtMobileWebStyle.cpp:
41285        (QtMobileWebStyle::drawChecker): Adjust checkerSize to be greater than or equals to middle.
41286
412872010-10-01  Anders Carlsson  <andersca@apple.com>
41288
41289        Another Qt build fix attempt.
41290
41291        * WebCore.pro:
41292
412932010-10-01  David Hyatt  <hyatt@apple.com>
41294
41295        Reviewed by Dan Bernstein.
41296
41297        https://bugs.webkit.org/show_bug.cgi?id=47021
41298        
41299        Patch the floatBottom function and its friends.  Rename them and consolidate them to be block-flow-aware.
41300
41301        Nothing testable yet, since most of the float code is still unpatched.
41302
41303        * rendering/RenderBlock.cpp:
41304        (WebCore::RenderBlock::layoutBlock):
41305        (WebCore::RenderBlock::layoutBlockChildren):
41306        (WebCore::RenderBlock::layoutBlockChild):
41307        (WebCore::RenderBlock::positionNewFloats):
41308        (WebCore::RenderBlock::newLine):
41309        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
41310        (WebCore::RenderBlock::lowestFloatLogicalBottom):
41311        (WebCore::RenderBlock::clearFloats):
41312        (WebCore::RenderBlock::addOverhangingFloats):
41313        (WebCore::RenderBlock::getClearDelta):
41314        * rendering/RenderBlock.h:
41315        (WebCore::RenderBlock::logicalBottomForFloat):
41316        (WebCore::RenderBlock::hasOverhangingFloats):
41317        * rendering/RenderBlockLineLayout.cpp:
41318        (WebCore::RenderBlock::fitBelowFloats):
41319
413202010-10-01  Anders Carlsson  <andersca@apple.com>
41321
41322        Fix typo.
41323
41324        * platform/network/qt/ProxyServerQt.cpp:
41325        (WebCore::proxyServersForURL):
41326
413272010-10-01  Anders Carlsson  <andersca@apple.com>
41328
41329        Add Qt ProxyServer stub.
41330
41331        * WebCore.pro:
41332        * platform/network/qt/ProxyServerQt.cpp: Added.
41333        (WebCore::proxyServersForURL):
41334
413352010-10-01  Anders Carlsson  <andersca@apple.com>
41336
41337        Reviewed by Dan Bernstein.
41338
41339        Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it
41340        https://bugs.webkit.org/show_bug.cgi?id=47022
41341        <rdar://problem/8504712>
41342
41343        * WebCore.exp.in:
41344        Export proxyServersForURL and toString.
41345
41346        * WebCore.vcproj/WebCore.vcproj:
41347        * WebCore.xcodeproj/project.pbxproj:
41348        Add new files.
41349
41350        * platform/network/ProxyServer.cpp: Added.
41351        (WebCore::appendProxyServerString):
41352        (WebCore::toString):
41353        New function that converts a vector of ProxyServers into a PAC style string.
41354
41355        * platform/network/ProxyServer.h: Added.
41356        (WebCore::ProxyServer::ProxyServer):
41357        (WebCore::ProxyServer::type):
41358        (WebCore::ProxyServer::hostName):
41359        (WebCore::ProxyServer::port):
41360        Add ProxyServer class.
41361
41362        * platform/network/cf/ProxyServerCFNet.cpp: Added.
41363        (WebCore::proxyServersForURL):
41364        (WebCore::addProxyServersForURL):
41365        Query CFNetwork for the proxy servers given a URL.
41366
413672010-09-30  Zhenyao Mo  <zmo@google.com>
41368
41369        Reviewed by Kenneth Russell.
41370
41371        texImage2D fails on 16-bit-per-channel images
41372        https://bugs.webkit.org/show_bug.cgi?id=46947
41373
41374        * platform/graphics/GraphicsContext3D.cpp: Handling 16-bit-per-channel source formats.
41375        (WebCore::convertColor16To8):
41376        (WebCore::doPacking):
41377        * platform/graphics/GraphicsContext3D.h: Ditto.
41378        * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
41379        (WebCore::GraphicsContext3D::getImageData):
41380
413812010-10-01  Eric Uhrhane  <ericu@chromium.org>
41382
41383        Reviewed by Nate Chapin.
41384
41385        Add v8 binding helpers to make FileWriter be an EventTarget.
41386        https://bugs.webkit.org/show_bug.cgi?id=46910
41387
41388        No new tests; still waiting for the first complete implementation.
41389
41390        * bindings/v8/V8DOMWrapper.cpp:
41391        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
41392
413932010-10-01  David Hyatt  <hyatt@apple.com>
41394
41395        Reviewed by Sam Weinig.
41396
41397        https://bugs.webkit.org/show_bug.cgi?id=47015
41398        
41399        Change FloatingObject to store its dimensions as a rect.
41400        This will make it easier for logical access for block-flow later on if
41401        top/bottom is no different from left/width.  This change also simplifies
41402        calling code a bit in places.
41403
41404        * rendering/RenderBlock.cpp:
41405        (WebCore::RenderBlock::addOverflowFromFloats):
41406        (WebCore::RenderBlock::repaintOverhangingFloats):
41407        (WebCore::RenderBlock::paintFloats):
41408        (WebCore::RenderBlock::fillSelectionGaps):
41409        (WebCore::RenderBlock::insertFloatingObject):
41410        (WebCore::RenderBlock::removeFloatingObject):
41411        (WebCore::RenderBlock::removeFloatingObjectsBelow):
41412        (WebCore::RenderBlock::positionNewFloats):
41413        (WebCore::RenderBlock::positionNewFloatOnLine):
41414        (WebCore::RenderBlock::logicalLeftOffsetForLine):
41415        (WebCore::RenderBlock::logicalRightOffsetForLine):
41416        (WebCore::RenderBlock::nextFloatBottomBelow):
41417        (WebCore::RenderBlock::floatBottom):
41418        (WebCore::RenderBlock::lowestPosition):
41419        (WebCore::RenderBlock::rightmostPosition):
41420        (WebCore::RenderBlock::leftmostPosition):
41421        (WebCore::RenderBlock::leftBottom):
41422        (WebCore::RenderBlock::rightBottom):
41423        (WebCore::RenderBlock::clearFloats):
41424        (WebCore::RenderBlock::addOverhangingFloats):
41425        (WebCore::RenderBlock::addIntrudingFloats):
41426        (WebCore::RenderBlock::hitTestFloats):
41427        (WebCore::RenderBlock::adjustForBorderFit):
41428        * rendering/RenderBlock.h:
41429        (WebCore::RenderBlock::FloatingObject::FloatingObject):
41430        (WebCore::RenderBlock::FloatingObject::left):
41431        (WebCore::RenderBlock::FloatingObject::right):
41432        (WebCore::RenderBlock::FloatingObject::top):
41433        (WebCore::RenderBlock::FloatingObject::bottom):
41434        (WebCore::RenderBlock::FloatingObject::width):
41435        (WebCore::RenderBlock::FloatingObject::height):
41436        (WebCore::RenderBlock::FloatingObject::setLeft):
41437        (WebCore::RenderBlock::FloatingObject::setTop):
41438        (WebCore::RenderBlock::FloatingObject::setWidth):
41439        (WebCore::RenderBlock::FloatingObject::setHeight):
41440        (WebCore::RenderBlock::FloatingObject::frameRect):
41441        (WebCore::RenderBlock::FloatingObject::setFrameRect):
41442        * rendering/RenderBlockLineLayout.cpp:
41443        (WebCore::RenderBlock::layoutInlineChildren):
41444        (WebCore::RenderBlock::matchedEndLine):
41445
414462010-10-01  Enrica Casucci  <enrica@apple.com>
41447
41448        Reviewed by Darin Adler.
41449
41450        DOMFocusIn/DOMFocusOut return focusin/focusout Event.type
41451        https://bugs.webkit.org/show_bug.cgi?id=42580
41452        <rdar://problem/8107311>
41453        
41454        This change removes the aliased type machinery from the Event class.
41455        We now fire the event with the new name and the oldname.
41456        
41457        Tests: Modified fast/events/focusinout.html to check the event
41458        type.
41459
41460        * dom/Document.cpp:
41461        (WebCore::Document::setFocusedNode):
41462        * dom/Event.cpp: Removed aliasedType and hasAliasedType.
41463        * dom/Event.h: Removed aliasedType and hasAliasedType.
41464        * dom/EventTarget.cpp:
41465        (WebCore::EventTarget::fireEventListeners): Removed aliasedType related code.
41466
414672010-10-01  David Hyatt  <hyatt@apple.com>
41468
41469        Reviewed by Darin Adler.
41470
41471        https://bugs.webkit.org/show_bug.cgi?id=46642, make replaced elements work with block-flow.  This patch changes
41472        all of the computeReplacedLogicalWidth and comuteReplacedLogicalHeight functions (and their helpers) to use logical width
41473        and logical height instead.
41474
41475        Added fast/blockflow/block-level-images.html
41476
41477        * rendering/RenderBox.cpp:
41478        (WebCore::RenderBox::computeLogicalWidth):
41479        (WebCore::RenderBox::computeLogicalHeight):
41480        (WebCore::RenderBox::computeReplacedLogicalWidth):
41481        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
41482        (WebCore::RenderBox::computeReplacedLogicalHeight):
41483        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
41484        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
41485        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
41486        * rendering/RenderBox.h:
41487        (WebCore::RenderBox::intrinsicLogicalWidth):
41488        (WebCore::RenderBox::intrinsicLogicalHeight):
41489        * rendering/RenderImage.cpp:
41490        (WebCore::RenderImage::isLogicalWidthSpecified):
41491        (WebCore::RenderImage::isLogicalHeightSpecified):
41492        (WebCore::RenderImage::computeReplacedLogicalWidth):
41493        (WebCore::RenderImage::computeReplacedLogicalHeight):
41494        (WebCore::RenderImage::calcAspectRatioLogicalWidth):
41495        (WebCore::RenderImage::calcAspectRatioLogicalHeight):
41496        * rendering/RenderImage.h:
41497        * rendering/RenderReplaced.cpp:
41498        (WebCore::RenderReplaced::layout):
41499        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
41500        (WebCore::RenderReplaced::computeReplacedLogicalHeight):
41501        (WebCore::RenderReplaced::calcAspectRatioLogicalWidth):
41502        (WebCore::RenderReplaced::calcAspectRatioLogicalHeight):
41503        (WebCore::RenderReplaced::computePreferredLogicalWidths):
41504        * rendering/RenderReplaced.h:
41505        * rendering/RenderSVGRoot.cpp:
41506        (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
41507        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
41508        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
41509        * rendering/RenderSVGRoot.h:
41510        * rendering/RenderVideo.cpp:
41511        (WebCore::RenderVideo::computeReplacedLogicalWidth):
41512        (WebCore::RenderVideo::computeReplacedLogicalHeight):
41513        * rendering/RenderVideo.h:
41514
415152010-10-01  Nate Chapin  <japhet@chromium.org>
41516
41517        Reviewed by Darin Adler.
41518
41519        Remove unused Request::buffer() and Request::m_buffer.
41520
41521        https://bugs.webkit.org/show_bug.cgi?id=47003
41522
41523        * loader/Request.h:
41524
415252010-10-01  Dan Bernstein  <mitz@apple.com>
41526
41527        Reviewed by Adele Peterson.
41528
41529        <rdar://problem/7563219> Null dereference when dragging an element with generated content
41530        https://bugs.webkit.org/show_bug.cgi?id=47005
41531
41532        Test: fast/css-generated-content/drag-state.html
41533
41534        * rendering/RenderObject.cpp:
41535        (WebCore::RenderObject::updateDragState): Null-check node().
41536
415372010-10-01  Robert Hogan  <robert@webkit.org>
41538
41539        Reviewed by Adam Barth.
41540
41541        [Qt] Fix http/tests/loading/redirect-methods.html
41542
41543        Document our redirection behaviour too.
41544
41545        https://bugs.webkit.org/show_bug.cgi?id=41571
41546
41547        * platform/network/qt/QNetworkReplyHandler.cpp:
41548        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
41549        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
41550        * platform/network/qt/QNetworkReplyHandler.h:
41551
415522010-10-01  Adam Roben  <aroben@apple.com>
41553
41554        Copy forwarding headers and Inspector JS files as part of
41555        WebCoreGenerated.vcproj
41556
41557        WebCoreGenerated.vcproj runs on every build, while WebCore.vcproj only
41558        runs when a .h or .cpp file changes. By moving the copying to
41559        WebCoreGenerated, it will happen even when someone only changes a JS
41560        file (as happened in r68887).
41561
41562        Fixes <http://webkit.org/b/46988> <rdar://problem/8502489> REGRESSION
41563        (r68887): Web Inspector: inspector/extensions*.html are failing on
41564        Windows
41565
41566        Reviewed by Anders Carlsson.
41567
41568        * WebCore.vcproj/WebCore.vcproj: Moved invocation of
41569        copyForwardingHeaders and copyInspectorFiles from here...
41570        * WebCore.vcproj/WebCoreGenerated.vcproj: ...to here.
41571
415722010-09-30  Ryosuke Niwa  <rniwa@webkit.org>
41573
41574        Reviewed by Darin Adler.
41575
41576        Implement queryCommandState('justifyFull')
41577        https://bugs.webkit.org/show_bug.cgi?id=46954
41578
41579        Implemented queryCommandState('justifyFull').
41580        New tests are added to editing/style/inline-style-container.html
41581
41582        * editing/ApplyStyleCommand.cpp:
41583        (WebCore::getTextAlignment): Added support for CSSValueJustify.
41584        * editing/EditorCommand.cpp:
41585        (WebCore::stateJustifyFull): Added.
41586        (WebCore::createCommandMap): Added stateJustifyFull.
41587
415882010-10-01  Jia Pu  <jpu@apple.com>
41589
41590        Reviewed by Darin Adler.
41591
41592        Autocorrection shouldn't prompt the same correction after user has edited previous correction.
41593        https://bugs.webkit.org/show_bug.cgi?id=46839
41594        <rdar://problem/8476963>
41595
41596        * editing/Editor.cpp:
41597        (WebCore::Editor::respondToChangedSelection): Remove "CorrectionIndicator" marker instead of
41598          "Replacement" marker. Since the former controls whether we draw autocorrection underline,
41599          and the latter is used to prevent autocorrection from being applied again on already auto-
41600          corrected word. So the "Replacement" shouldn't be removed.
41601
416022010-10-01  Patrick Gansterer  <paroga@webkit.org>
41603
41604        Reviewed by Anders Carlsson.
41605
41606        [CMake] Add handling for ENABLE(NETSCAPE_PLUGIN_API)
41607        https://bugs.webkit.org/show_bug.cgi?id=46309
41608
41609        * CMakeLists.txt:
41610        * CMakeListsEfl.txt:
41611
416122010-10-01  David Hyatt  <hyatt@apple.com>
41613
41614        Reviewed by Darin Adler.
41615
41616        https://bugs.webkit.org/show_bug.cgi?id=46996, patch the functions dealing with the bottom of the block to
41617        be block-flow-aware.
41618
41619        * rendering/RenderBlock.cpp:
41620        (WebCore::RenderBlock::setCollapsedBottomMargin):
41621        (WebCore::RenderBlock::handleAfterSideOfBlock):
41622
416232010-10-01  Pratik Solanki  <psolanki@apple.com>
41624
41625        Reviewed by Geoffrey Garen.
41626        Specify ALWAYS_INLINE at function declaration not function definition
41627        https://bugs.webkit.org/show_bug.cgi?id=46960
41628
41629        For functions defined with ALWAYS_INLINE, add the attribute to the declaration as well.
41630
41631        * css/CSSStyleSelector.h:
41632        * rendering/InlineIterator.h:
41633        * rendering/style/RenderStyle.h:
41634
416352010-10-01  David Hyatt  <hyatt@apple.com>
41636
41637        Reviewed by Dan Bernstein.
41638
41639        https://bugs.webkit.org/show_bug.cgi?id=46995, make direction propagate up to the viewport from the root element.
41640
41641        Added fast/css/rtl-to-viewport.html
41642
41643        * css/CSSStyleSelector.cpp:
41644        (WebCore::CSSStyleSelector::styleForDocument):
41645        * rendering/RenderBox.cpp:
41646        (WebCore::RenderBox::styleDidChange):
41647
416482010-10-01  Alexey Proskuryakov  <ap@apple.com>
41649
41650        Reviewed by Anders Carlsson.
41651
41652        https://bugs.webkit.org/show_bug.cgi?id=44406
41653        <rdar://problem/8310921> Application Cache crash when a fallback document has a manifest URL
41654
41655        Test: http/tests/appcache/foreign-fallback.html
41656
41657        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
41658        Changed ApplicationCacheResource lookup to find fallback resources correctly.
41659
416602010-10-01  Kwang Yul Seo  <skyul@company100.net>
41661
41662        Unreviewed, Brew MP build fix.
41663
41664        * platform/brew/ClipboardBrew.cpp:
41665        (WebCore::ClipboardBrew::ClipboardBrew):
41666
416672010-10-01  Rafael Antognolli  <antognolli@profusion.mobi>
41668
41669        Unreviewed build fix.
41670
41671        [CMAKE] Build fix for r68878
41672        https://bugs.webkit.org/show_bug.cgi?id=46985
41673
41674        Fix name of files added to CMakeLists.txt:
41675        SVGTextLayoutBaseline.cpp -> SVGTextLayoutEngineBaseline.cpp
41676        SVGTextLayoutSpacing.cpp -> SVGTextLayoutEngineSpacing.cpp
41677
41678        No features added, so no new tests.
41679
41680        * CMakeLists.txt:
41681
416822010-10-01  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
41683
41684        Reviewed by Kenneth Rohde Christiansen.
41685
41686        [Qt] New buttons style for Qt Mobile theme
41687        https://bugs.webkit.org/show_bug.cgi?id=46920
41688
41689        Rename Maemo5Webstyle to QtMobileWebStyle since it implements the style for all Qt mobile platform.
41690        Adjust new Qt mobile style for buttons, radios, checks and combos.
41691
41692        * WebCore.pro:
41693        * css/themeQtMobile.css: Adjust gradient color for buttons and combos.
41694        (select):
41695        (select:active):
41696        * platform/qt/QtMobileWebStyle.cpp: Renamed from platform/qt/Maemo5Webstyle.cpp to match name scheme.
41697        (QtMobileWebStyle::QtMobileWebStyle):
41698        (drawRectangularControlBackground):
41699        (QtMobileWebStyle::drawChecker):
41700        (QtMobileWebStyle::findChecker):
41701        (QtMobileWebStyle::drawRadio): Adjust gradient color for RadioButton.
41702        (QtMobileWebStyle::findRadio):
41703        (QtMobileWebStyle::drawControl): Adjust gradient color for CheckBox.
41704        (QtMobileWebStyle::drawMultipleComboButton):
41705        (QtMobileWebStyle::drawSimpleComboButton): Adjust ComboBox arrow.
41706        (QtMobileWebStyle::getButtonImageSize):
41707        (QtMobileWebStyle::findComboButton):
41708        (QtMobileWebStyle::drawComplexControl):
41709        * platform/qt/QtMobileWebStyle.h: Renamed from platform/qt/Maemo5Webstyle.h to match name scheme.
41710        * platform/qt/RenderThemeQt.cpp:
41711        (WebCore::RenderThemeQt::RenderThemeQt):
41712
417132010-10-01  Andrey Kosyakov  <caseq@chromium.org>
41714
41715        Reviewed by Pavel Feldman.
41716
41717        Web Inspector: [Extensions API] expose page load events timings
41718        Added webInspector.resources.getPageTimings()
41719        
41720        https://bugs.webkit.org/show_bug.cgi?id=45954
41721
41722        * inspector/front-end/ExtensionAPI.js:
41723        (WebInspector.injectedExtensionAPI.Resources.prototype):
41724        (WebInspector.injectedExtensionAPI.Resources.prototype.getPageTimings):
41725        * inspector/front-end/ExtensionServer.js:
41726        (WebInspector.ExtensionServer):
41727        (WebInspector.ExtensionServer.prototype._onGetPageTimings):
41728        * inspector/front-end/HAREntry.js: Return page event timings as -1 if start or event time unknown.
41729        (WebInspector.HARLog.prototype._buildPages):
41730        (WebInspector.HARLog.prototype.buildMainResourceTimings):
41731        (WebInspector.HARLog.prototype._convertResource):
41732        (WebInspector.HARLog.prototype._pageEventTime):
41733
417342010-10-01  Patrick Gansterer  <paroga@webkit.org>
41735
41736        Reviewed by Adam Roben.
41737
41738        [WIN] Add GDIExtras
41739        https://bugs.webkit.org/show_bug.cgi?id=46974
41740
41741        Some, but not all WinCE environments have support for AlphaBlend().
41742        Add this files to check for AlphaBlend (and SoftLink) on WinCE.
41743        On WinNT alphaBlendIfSupported() inlines AlphaBlend and returns true.
41744
41745        * platform/graphics/win/GDIExtras.cpp: Added.
41746        (WebCore::AlphaBlendPointer):
41747        * platform/graphics/win/GDIExtras.h: Added.
41748        (WebCore::hasAlphaBlendSupport):
41749        (WebCore::alphaBlendIfSupported):
41750
417512010-10-01  Patrick Gansterer  <paroga@webkit.org>
41752
41753        Reviewed by Adam Roben.
41754
41755        [WINCE] Use alphaBlendIfSupported in GraphicsContext
41756        https://bugs.webkit.org/show_bug.cgi?id=46979
41757
41758        * platform/graphics/wince/GraphicsContextWinCE.cpp:
41759        (WebCore::GraphicsContextPlatformPrivate::paintBackTransparentLayerBitmap):
41760
417612010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
41762
41763        Reviewed by Dirk Schulze.
41764
41765        Add two new helper files for the new SVGTextLayoutEngine
41766        https://bugs.webkit.org/show_bug.cgi?id=46972
41767
41768        Refactor code from SVGTextLayoutUtilities into two seperated classes.
41769        SVGTextLayoutUtilities will be removed, as soon as the main clss SVGTextLayoutEngine lands and gets used.
41770
41771        Doesn't affect any functionality yet, as the new classes are not used so far.
41772
41773        * Android.mk:
41774        * CMakeLists.txt:
41775        * GNUmakefile.am:
41776        * WebCore.gypi:
41777        * WebCore.vcproj/WebCore.vcproj:
41778        * WebCore.xcodeproj/project.pbxproj:
41779        * rendering/svg/SVGTextFragment.h:
41780        * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Added.
41781        (WebCore::SVGTextLayoutEngineBaseline::SVGTextLayoutEngineBaseline):
41782        (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
41783        (WebCore::SVGTextLayoutEngineBaseline::dominantBaselineToAlignmentBaseline):
41784        (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
41785        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle):
41786        (WebCore::glyphOrientationIsMultiplyOf180Degrees):
41787        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
41788        * rendering/svg/SVGTextLayoutEngineBaseline.h: Added.
41789        * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Added.
41790        (WebCore::SVGTextLayoutEngineSpacing::SVGTextLayoutEngineSpacing):
41791        (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
41792        (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
41793        * rendering/svg/SVGTextLayoutEngineSpacing.h: Added.
41794
417952010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
41796
41797        Reviewed by Andreas Kling.
41798
41799        Rename SVGTextLayoutBuilder to SVGTextLayoutAttributesBuilder
41800        https://bugs.webkit.org/show_bug.cgi?id=46971
41801
41802        Doesn't affect any functionality, just moves files around.
41803
41804        * Android.mk:
41805        * CMakeLists.txt:
41806        * GNUmakefile.am:
41807        * WebCore.gypi:
41808        * WebCore.pro:
41809        * WebCore.vcproj/WebCore.vcproj:
41810        * WebCore.xcodeproj/project.pbxproj:
41811        * rendering/svg/RenderSVGText.cpp:
41812        (WebCore::RenderSVGText::layout): Adopt to renaming.
41813        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Copied from rendering/svg/SVGTextLayoutBuilder.cpp.
41814        * rendering/svg/SVGTextLayoutAttributesBuilder.h: Copied from rendering/svg/SVGTextLayoutBuilder.h.
41815        * rendering/svg/SVGTextLayoutBuilder.cpp: Removed.
41816        * rendering/svg/SVGTextLayoutBuilder.h: Removed.
41817
418182010-10-01  MORITA Hajime  <morrita@google.com>
41819
41820        Unreviewed build fix.
41821
41822        * platform/graphics/skia/PlatformContextSkia.cpp:
41823        (WebCore::PlatformContextSkia::PlatformContextSkia):
41824
418252010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
41826
41827        Reviewed by Andreas Kling.
41828
41829        Move SVG text related renderers into rendering/svg/
41830        https://bugs.webkit.org/show_bug.cgi?id=46969
41831
41832        Doesn't affect any functionality, just moves files around.
41833
41834        * Android.mk:
41835        * CMakeLists.txt:
41836        * GNUmakefile.am:
41837        * WebCore.gypi:
41838        * WebCore.pro:
41839        * WebCore.vcproj/WebCore.vcproj:
41840        * WebCore.xcodeproj/project.pbxproj:
41841        * rendering/RenderSVGAllInOne.cpp:
41842        * rendering/RenderSVGInline.cpp: Removed.
41843        * rendering/RenderSVGInline.h: Removed.
41844        * rendering/RenderSVGInlineText.cpp: Removed.
41845        * rendering/RenderSVGInlineText.h: Removed.
41846        * rendering/RenderSVGTSpan.cpp: Removed.
41847        * rendering/RenderSVGTSpan.h: Removed.
41848        * rendering/RenderSVGText.cpp: Removed.
41849        * rendering/RenderSVGText.h: Removed.
41850        * rendering/RenderSVGTextPath.cpp: Removed.
41851        * rendering/RenderSVGTextPath.h: Removed.
41852        * rendering/SVGInlineFlowBox.cpp: Removed.
41853        * rendering/SVGInlineFlowBox.h: Removed.
41854        * rendering/SVGInlineTextBox.cpp: Removed.
41855        * rendering/SVGInlineTextBox.h: Removed.
41856        * rendering/SVGRootInlineBox.cpp: Removed.
41857        * rendering/SVGRootInlineBox.h: Removed.
41858        * rendering/SVGTextQuery.cpp: Removed.
41859        * rendering/SVGTextQuery.h: Removed.
41860        * rendering/svg/RenderSVGInline.cpp: Copied from rendering/RenderSVGInline.cpp.
41861        * rendering/svg/RenderSVGInline.h: Copied from rendering/RenderSVGInline.h.
41862        * rendering/svg/RenderSVGInlineText.cpp: Copied from rendering/RenderSVGInlineText.cpp.
41863        * rendering/svg/RenderSVGInlineText.h: Copied from rendering/RenderSVGInlineText.h.
41864        * rendering/svg/RenderSVGTSpan.cpp: Copied from rendering/RenderSVGTSpan.cpp.
41865        * rendering/svg/RenderSVGTSpan.h: Copied from rendering/RenderSVGTSpan.h.
41866        * rendering/svg/RenderSVGText.cpp: Copied from rendering/RenderSVGText.cpp.
41867        * rendering/svg/RenderSVGText.h: Copied from rendering/RenderSVGText.h.
41868        * rendering/svg/RenderSVGTextPath.cpp: Copied from rendering/RenderSVGTextPath.cpp.
41869        * rendering/svg/RenderSVGTextPath.h: Copied from rendering/RenderSVGTextPath.h.
41870        * rendering/svg/SVGInlineFlowBox.cpp: Copied from rendering/SVGInlineFlowBox.cpp.
41871        * rendering/svg/SVGInlineFlowBox.h: Copied from rendering/SVGInlineFlowBox.h.
41872        * rendering/svg/SVGInlineTextBox.cpp: Copied from rendering/SVGInlineTextBox.cpp.
41873        * rendering/svg/SVGInlineTextBox.h: Copied from rendering/SVGInlineTextBox.h.
41874        * rendering/svg/SVGRootInlineBox.cpp: Copied from rendering/SVGRootInlineBox.cpp.
41875        * rendering/svg/SVGRootInlineBox.h: Copied from rendering/SVGRootInlineBox.h.
41876        * rendering/svg/SVGTextQuery.cpp: Copied from rendering/SVGTextQuery.cpp.
41877        * rendering/svg/SVGTextQuery.h: Copied from rendering/SVGTextQuery.h.
41878
418792010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
41880
41881        Reviewed by Dirk Schulze.
41882
41883        Add SVGTextMetrics/SVGTextFragment/SVGTextChunk primitives used by the new layout engine
41884        https://bugs.webkit.org/show_bug.cgi?id=46964
41885
41886        The new SVG text layout engine will use these new classes.
41887        1) SVGTextMetrics is used to measure either single glyphs (which may span multiple characters, when ligatures are defined) or a range of characters.
41888           
41889           -> In "single glyph" mode, it returns the width/height of the glyph, the length of the glyph (> 1, when ligatures are used) and a "Glyph" object
41890              describing the glyph (name of glyph, when used together with SVG Fonts and the unicode string the glyph describes).
41891           -> In "range of characters" mode, it returns the width/height of the range, and its length.
41892
41893           All measurements are done using the regular Font::floatWidth() methods, this class just encapsulates its usage for the SVG text layout engine.
41894
41895        2) SVGTextFragment describes a fragment of text, living in a SVGInlineTextBox, which can be measured/rendered in one shot.
41896           It contains all necessary information to render the fragment (x/y/width/height, offset into characters() buffer for the first char of the fragment,
41897           length, and an arbitary transformation, holding information about rotations/scale/glyph-orientation etc.)
41898
41899           In future the SVGTextLayoutEngine will generate SVGTextFragment objects for each SVGInlineTextBox. When painting no more measurements have to
41900           be performed as SVGTextFragment contains all necessary information to render text / select text etc.
41901
41902        3) SVGTextChunk describes a SVG text chunk, which may span multiple text boxes (and in turn text fragments).
41903
41904           Quotes from SVG spec:
41905           Each absolute position adjustment defines a new "text chunk". Absolute position adjustments impact text layout in the following ways:
41906            * Ligatures only occur when a set of characters which might map to a ligature are all in the same text chunk.
41907            * Each text chunk represents a separate block of text for alignment due to "text-anchor" property values.
41908            * Reordering of characters due to bidirectionality only occurs within a text chunk. Reordering does not happen across text chunks.
41909
41910            An absolute position adjustment occurs in the following circumstances:
41911            * At the start of a <text> element
41912            * At the start of each <textPath> element
41913            * For each character within a <text>, <tspan>, <tref> and <altGlyph> element which has an "x" or "y" attribute value assigned to it explicitly
41914
41915            After the line-layout finishes, each "text chunk" is altered according to the textLength and text-anchor processing rules
41916            (eg. for text-anchor="middle" moving the whole text chunk by -fragmentWidth/2, for horizontal text).
41917
41918            SVGTextChunk is just a simple helper class, that encapsulates measuring/altering a text chunk.
41919
41920        Doesn't affect any tests, as these classes aren't used so far.
41921
41922        * Android.mk: Add SVGTextMetrics.*, SVGTextFragment.h, SVGTextChunk.* to build.
41923        * CMakeLists.txt: Ditto.
41924        * GNUmakefile.am: Ditto.
41925        * WebCore.gypi: Ditto.
41926        * WebCore.pro: Ditto.
41927        * WebCore.vcproj/WebCore.vcproj: Ditto.
41928        * WebCore.xcodeproj/project.pbxproj: Ditto.
41929        * rendering/svg/SVGTextChunk.cpp: Added.
41930        * rendering/svg/SVGTextChunk.h: Added.
41931        * rendering/svg/SVGTextFragment.h: Added.
41932        * rendering/svg/SVGTextMetrics.cpp: Added.
41933        * rendering/svg/SVGTextMetrics.h: Added.
41934
419352010-10-01  Vincent Scheib  <scheib@chromium.org>
41936
41937        Reviewed by James Robinson.
41938
41939        REGRESSION: Lots of fast canvas updates fail to completely render
41940        https://bugs.webkit.org/show_bug.cgi?id=46319
41941
41942        Test: fast/repaint/canvas-putImageData.html
41943
41944        * html/canvas/CanvasRenderingContext2D.cpp:
41945        (WebCore::CanvasRenderingContext2D::putImageData):
41946
419472010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
41948
41949        Reviewed by Dirk Schulze.
41950
41951        Add helper methods to cast between renderers & SVGTextContent/PositioningElement
41952        https://bugs.webkit.org/show_bug.cgi?id=46963
41953
41954        Doesn't affect any tests.
41955
41956        * svg/SVGTextContentElement.cpp:
41957        (WebCore::SVGTextContentElement::elementFromRenderer):
41958        * svg/SVGTextContentElement.h:
41959        * svg/SVGTextPositioningElement.cpp:
41960        (WebCore::SVGTextPositioningElement::elementFromRenderer):
41961        * svg/SVGTextPositioningElement.h:
41962
419632010-09-30  MORITA Hajime  <morrita@google.com>
41964
41965        Reviewed by James Robinson.
41966
41967        [Chromium] build fails unless ACCELERATED_2D_CANVAS defined
41968        https://bugs.webkit.org/show_bug.cgi?id=46955
41969        
41970        Added ifdef guard around SharedGraphicsContext3D.
41971
41972        No new tests. just a build fix.
41973
41974        * platform/graphics/skia/PlatformContextSkia.cpp:
41975        (WebCore::PlatformContextSkia::~PlatformContextSkia):
41976        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
41977        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
41978        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
41979        * platform/graphics/skia/PlatformContextSkia.h:
41980        (WebCore::PlatformContextSkia::gpuCanvas):
41981
419822010-09-30  Kent Tamura  <tkent@chromium.org>
41983
41984        Reviewed by Chris Fleizach.
41985
41986        [Windows] Implement <input type=number> UI
41987        https://bugs.webkit.org/show_bug.cgi?id=38381
41988
41989        Implement theme drawing for inner-spin-button.
41990        No new tests. Existing tests for type=number will cover this change.
41991
41992        * rendering/RenderThemeWin.cpp:
41993        (WebCore::RenderThemeWin::RenderThemeWin):
41994         Handle m_spinButtonTheme.
41995        (WebCore::RenderThemeWin::spinButtonTheme): ditto.
41996        (WebCore::RenderThemeWin::close): ditto.
41997        (WebCore::RenderThemeWin::determineClassicState):
41998         Add ControlSubPart parameter, and add support for InnerSpinButtonPart.
41999        (WebCore::RenderThemeWin::determineSpinButtonState): Added.
42000        (WebCore::RenderThemeWin::getClassicThemeData):
42001         Add ControlSubPart parameter, and handle InnerSpinButtonPart.
42002        (WebCore::RenderThemeWin::getThemeData): ditto.
42003        (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
42004         Set SM_CXVSCROLL value to the width.
42005        (WebCore::RenderThemeWin::paintInnerSpinButton):
42006         Call drawControl() for the upper part and the lower part.
42007        * rendering/RenderThemeWin.h:
42008
420092010-09-30  Kent Tamura  <tkent@chromium.org>
42010
42011        Unreviewed, Windows build fix for r68854
42012
42013        * WebCore.vcproj/copyForwardingHeaders.cmd:
42014          Copy WebCore/html/parser/*.h.
42015
420162010-09-30  Abhishek Arya  <inferno@chromium.org>
42017
42018        Reviewed by Dan Bernstein.
42019
42020        While updating :before and :after content, make sure that the generated
42021        container is allowed to add the child type.
42022        https://bugs.webkit.org/show_bug.cgi?id=46106
42023
42024        Test: fast/css-generated-content/text-before-table-col-crash.html
42025
42026        * rendering/RenderObjectChildList.cpp:
42027        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
42028
420292010-09-30  Mario Sanchez Prada  <msanchez@igalia.com>
42030
42031        Reviewed by Daniel Bates.
42032
42033        [GTK] Crash on testatk.c unittest because of a call to ASSERT_NOT_REACHED
42034        https://bugs.webkit.org/show_bug.cgi?id=46886
42035
42036        Removed call to ASSERT_NOT_REACHED() from listMarkerSuffix().
42037
42038        So far, this assertion made sense because it was not possible that
42039        a call to listMarkerSuffix() happened when the style of the list
42040        item was one of the following: Asterisks, Circle, Discm Footnotes,
42041        NoneListStyle or Square (it's easy to figure this out by checking
42042        the functions where listMarkerSuffix() was called).
42043
42044        However, since revision 68415 (about bug 45381), there's a new
42045        place where listMarkerSuffix() is being called (the suffix()
42046        public method), regardless of the style of the item being or not
42047        one of those pointed out, so the aforementioned assertion in
42048        listMarkerSuffix() would no longer be correct, as now it's ok to
42049        reach those cases in the switch statement.
42050
42051        * rendering/RenderListMarker.cpp:
42052        (WebCore::listMarkerSuffix): Removed call to ASSERT_NOT_REACHED().
42053
420542010-09-30  Beth Dakin  <bdakin@apple.com>
42055
42056        Reviewed by Adele Peterson.
42057
42058        https://bugs.webkit.org/show_bug.cgi?id=46948 Crash with all-
42059        whitespace separators for mfenced
42060
42061        Check the size of characters instead of separators in case all the 
42062        separators were whitespace.
42063
42064        * mathml/RenderMathMLFenced.cpp:
42065        (WebCore::RenderMathMLFenced::updateFromElement):
42066
420672010-09-30  Darin Adler  <darin@apple.com>
42068
42069        Reviewed by Sam Weinig.
42070
42071        Remove remaining calls to deprecatedParseURL
42072        https://bugs.webkit.org/show_bug.cgi?id=26599
42073
42074        Test: fast/replaced/object-param-spaces.html
42075
42076        * css/CSSHelper.cpp: Removed.
42077        * css/CSSHelper.h: Removed deprecatedParseURL.
42078
42079        * html/parser/HTMLParserIdioms.cpp:
42080        (WebCore::stripLeadingAndTrailingHTMLSpaces):
42081        Fixed bug where the function would turn the null string into the empty string.
42082        Fixed bug where the function would not strip all trailing spaces.
42083
42084        * html/parser/CSSPreloadScanner.cpp:
42085        (WebCore::CSSPreloadScanner::CSSPreloadScanner): Initialize m_state
42086        instead of calling the reset function.
42087        (WebCore::CSSPreloadScanner::scan): Tweaked coding style.
42088        (WebCore::CSSPreloadScanner::tokenize): Use isHTMLSpace instead of
42089        an identical local function named isWhitespace.
42090        (WebCore::parseCSSStringOrURL): Added. This function does what
42091        deprecatedParseURL did before, and this is the only place in WebKit
42092        that needs it. The code implements the rules for a string or URL
42093        token. The real CSS parser does this with flex and the code to hook
42094        flex up to yacc, so the function is not needed there.
42095        (WebCore::CSSPreloadScanner::emitRule): Streamlined the code a bit
42096        and mae it call parseCSSStringOrURL.
42097
42098        * bindings/generic/BindingSecurity.h:
42099        (WebCore::::allowSettingFrameSrcToJavascriptUrl):
42100        * bindings/js/JSDOMBinding.cpp:
42101        (WebCore::allowSettingSrcToJavascriptURL):
42102        * bindings/js/JSHTMLFrameElementCustom.cpp:
42103        (WebCore::allowSettingJavascriptURL):
42104        * bindings/objc/DOM.mm:
42105        (-[DOMElement _getURLAttribute:]):
42106        * bindings/objc/DOMHTML.mm:
42107        (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
42108        * dom/Document.cpp:
42109        (WebCore::Document::processBaseElement):
42110        * dom/Element.cpp:
42111        (WebCore::isAttributeToRemove):
42112        (WebCore::Element::getURLAttribute):
42113        (WebCore::Element::getNonEmptyURLAttribute):
42114        * html/HTMLAnchorElement.cpp:
42115        (WebCore::HTMLAnchorElement::defaultEventHandler):
42116        (WebCore::HTMLAnchorElement::parseMappedAttribute):
42117        (WebCore::HTMLAnchorElement::href):
42118        * html/HTMLBodyElement.cpp:
42119        (WebCore::HTMLBodyElement::parseMappedAttribute):
42120        * html/HTMLEmbedElement.cpp:
42121        (WebCore::HTMLEmbedElement::parseMappedAttribute):
42122        * html/HTMLFrameElementBase.cpp:
42123        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
42124        * html/HTMLImageElement.cpp:
42125        (WebCore::HTMLImageElement::parseMappedAttribute):
42126        * html/HTMLImageLoader.cpp:
42127        (WebCore::HTMLImageLoader::sourceURI):
42128        * html/HTMLLinkElement.cpp:
42129        (WebCore::HTMLLinkElement::parseMappedAttribute):
42130        * html/HTMLMediaElement.cpp:
42131        * html/HTMLObjectElement.cpp:
42132        (WebCore::HTMLObjectElement::parseMappedAttribute):
42133        (WebCore::HTMLObjectElement::parametersForPlugin):
42134        * html/HTMLTableElement.cpp:
42135        (WebCore::HTMLTableElement::parseMappedAttribute):
42136        * html/HTMLTablePartElement.cpp:
42137        (WebCore::HTMLTablePartElement::parseMappedAttribute):
42138        * html/parser/HTMLPreloadScanner.cpp:
42139        (WebCore::HTMLNames::PreloadTask::setUrlToLoad):
42140        * loader/FormSubmission.cpp:
42141        (WebCore::FormSubmission::Attributes::parseAction):
42142        * platform/chromium/ClipboardChromium.cpp:
42143        (WebCore::ClipboardChromium::declareAndWriteDragImage):
42144        * platform/chromium/PasteboardChromium.cpp:
42145        (WebCore::Pasteboard::writeImage):
42146        * platform/qt/ClipboardQt.cpp:
42147        (WebCore::ClipboardQt::declareAndWriteDragImage):
42148        * platform/win/ClipboardWin.cpp:
42149        (WebCore::ClipboardWin::declareAndWriteDragImage):
42150        * rendering/HitTestResult.cpp:
42151        (WebCore::HitTestResult::absoluteImageURL):
42152        (WebCore::HitTestResult::absoluteMediaURL):
42153        (WebCore::HitTestResult::absoluteLinkURL):
42154        * svg/SVGAElement.cpp:
42155        (WebCore::SVGAElement::defaultEventHandler):
42156        * svg/SVGImageLoader.cpp:
42157        (WebCore::SVGImageLoader::sourceURI):
42158        * wml/WMLAElement.cpp:
42159        (WebCore::WMLAElement::defaultEventHandler):
42160        * wml/WMLImageLoader.cpp:
42161        (WebCore::WMLImageLoader::sourceURI):
42162        Call stripLeadingAndTrailingHTMLSpaces instead of deprecatedParseURL.
42163
42164        * WebCore.exp.in: Updated.
42165
42166        * Android.mk: Removed CSSHelper.cpp.
42167        * CMakeLists.txt: Ditto.
42168        * GNUmakefile.am: Ditto.
42169        * WebCore.gypi: Ditto.
42170        * WebCore.pro: Ditto.
42171        * WebCore.vcproj/WebCore.vcproj: Ditto.
42172        * WebCore.xcodeproj/project.pbxproj: Ditto.
42173
42174        * bindings/js/JSAttrCustom.cpp:
42175        * bindings/js/JSElementCustom.cpp:
42176        * bindings/v8/custom/V8ElementCustom.cpp:
42177        * bindings/v8/custom/V8LocationCustom.cpp:
42178        * css/CSSParser.cpp:
42179        * html/HTMLMediaElement.cpp:
42180        * html/HTMLVideoElement.cpp:
42181        * loader/ImageLoader.cpp:
42182        * rendering/style/RenderStyle.h:
42183        Removed unneeded include of CSSHelper.h.
42184
421852010-09-30  Alexey Marinichev  <amarinichev@chromium.org>
42186
42187        Reviewed by Chris Marrin.
42188
42189        Add GetGraphicsResetStatusARB entry point from ARB_robustness
42190        extension to GraphicsContext3D
42191        https://bugs.webkit.org/show_bug.cgi?id=46850
42192
42193        Added stubs for GraphicsContext3D::getGraphicsResetStatusARB for
42194        Mac and QT.
42195
42196        * platform/graphics/GraphicsContext3D.h:
42197        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
42198        (WebCore::GraphicsContext3D::getGraphicsResetStatusARB):
42199        * platform/graphics/qt/GraphicsContext3DQt.cpp:
42200        (WebCore::GraphicsContext3D::getGraphicsResetStatusARB):
42201
422022010-09-30  David Hyatt  <hyatt@apple.com>
42203
42204        Reviewed by Sam Weinig.
42205
42206        https://bugs.webkit.org/show_bug.cgi?id=46938
42207        
42208        Rewrite margin collapsing to be block-flow-aware.  Eliminate a bunch of the margin functions on RenderBox in favor of a single
42209        master function for grabbing all the margin values for a child: marginValuesForChild on RenderBlock.  Introduce a new
42210        MarginValues struct to make returning the collection of 4 margin values easy.
42211    
42212        fast/blockflow/inline-direction-positioning.html progresses to have the correct results.
42213        Added fast/blockflow/margin-collapse.html
42214
42215        * rendering/RenderBlock.cpp:
42216        (WebCore::RenderBlock::MarginInfo::MarginInfo):
42217        (WebCore::RenderBlock::adjustPositionedBlock):
42218        (WebCore::RenderBlock::collapseMargins):
42219        (WebCore::RenderBlock::clearFloatsIfNeeded):
42220        (WebCore::RenderBlock::setCollapsedBottomMargin):
42221        (WebCore::RenderBlock::layoutBlockChild):
42222        (WebCore::RenderBlock::setMaxMarginBeforeValues):
42223        (WebCore::RenderBlock::setMaxMarginAfterValues):
42224        (WebCore::RenderBlock::marginValuesForChild):
42225        * rendering/RenderBlock.h:
42226        (WebCore::RenderBlock::MarginValues::MarginValues):
42227        (WebCore::RenderBlock::MarginValues::positiveMarginBefore):
42228        (WebCore::RenderBlock::MarginValues::negativeMarginBefore):
42229        (WebCore::RenderBlock::MarginValues::positiveMarginAfter):
42230        (WebCore::RenderBlock::MarginValues::negativeMarginAfter):
42231        (WebCore::RenderBlock::MarginValues::setPositiveMarginBefore):
42232        (WebCore::RenderBlock::MarginValues::setNegativeMarginBefore):
42233        (WebCore::RenderBlock::MarginValues::setPositiveMarginAfter):
42234        (WebCore::RenderBlock::MarginValues::setNegativeMarginAfter):
42235        (WebCore::RenderBlock::maxPositiveMarginBefore):
42236        (WebCore::RenderBlock::maxNegativeMarginBefore):
42237        (WebCore::RenderBlock::maxPositiveMarginAfter):
42238        (WebCore::RenderBlock::maxNegativeMarginAfter):
42239        (WebCore::RenderBlock::initMaxMarginValues):
42240        (WebCore::RenderBlock::collapsedMarginBefore):
42241        (WebCore::RenderBlock::collapsedMarginAfter):
42242        (WebCore::RenderBlock::MarginInfo::clearMargin):
42243        (WebCore::RenderBlock::MarginInfo::setPositiveMargin):
42244        (WebCore::RenderBlock::MarginInfo::setNegativeMargin):
42245        (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
42246        (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
42247        (WebCore::RenderBlock::MarginInfo::setMargin):
42248        (WebCore::RenderBlock::MarginInfo::positiveMargin):
42249        (WebCore::RenderBlock::MarginInfo::negativeMargin):
42250        (WebCore::RenderBlock::MarginInfo::margin):
42251        (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
42252        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
42253        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
42254        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
42255        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
42256        * rendering/RenderBox.h:
42257        (WebCore::RenderBox::collapsedMarginBefore):
42258        (WebCore::RenderBox::collapsedMarginAfter):
42259        * rendering/RenderFlexibleBox.cpp:
42260        (WebCore::RenderFlexibleBox::layoutBlock):
42261
422622010-09-30  Patrick Gansterer  <paroga@webkit.org>
42263
42264        Reviewed by Adam Roben.
42265
42266        [WINCE] Fix InternetGetCookie in CookieJarWin.cpp
42267        https://bugs.webkit.org/show_bug.cgi?id=46929
42268
42269        If the InternetGetCookie fails the output size won't be set.
42270        Set the default size to 0, so we always get the correct size
42271        and check the return value of InternetGetCookie.
42272
42273        * platform/network/win/CookieJarWin.cpp:
42274        (WebCore::cookies):
42275
422762010-09-30  Patrick Gansterer  <paroga@webkit.org>
42277
42278        Reviewed by Adam Roben.
42279
42280        [WINCE] Use OwnPtr for HBRUSH and HPEN in GraphicsContext
42281        https://bugs.webkit.org/show_bug.cgi?id=46881
42282
42283        Also add some missing SelectObject calls.
42284
42285        * platform/graphics/wince/GraphicsContextWinCE.cpp:
42286        (WebCore::createPen):
42287        (WebCore::createBrush):
42288        (WebCore::GraphicsContext::drawRect):
42289        (WebCore::GraphicsContext::drawLine):
42290        (WebCore::GraphicsContext::drawEllipse):
42291        (WebCore::GraphicsContext::strokeArc):
42292        (WebCore::GraphicsContext::drawConvexPolygon):
42293        (WebCore::GraphicsContext::strokeRect):
42294        (WebCore::GraphicsContext::fillRoundedRect):
42295        (WebCore::GraphicsContext::fillPath):
42296        (WebCore::GraphicsContext::strokePath):
42297
422982010-09-30  Anders Carlsson  <andersca@apple.com>
42299
42300        Reviewed by Dan Bernstein and Darin Adler.
42301
42302        WebCore uses the main thread to process sleep notifications
42303        https://bugs.webkit.org/show_bug.cgi?id=46935
42304        <rdar://problem/8495374>
42305
42306        Rewrite the old WebCorePowerNotifier to use IOKit directly. 
42307        
42308        On Snow Leopard, set up power notifications to arrive on a dispatch queue,
42309        so that we can handle them quickly even if the main thread is hung.
42310
42311        (Tiger and Leopard will still get the old behavior).
42312
42313        * WebCore.xcodeproj/project.pbxproj:
42314        Link with IOKit.
42315
42316        * platform/mac/SharedTimerMac.mm:
42317        (WebCore::PowerObserver::PowerObserver):
42318        Initialize the IOKit machinery.
42319
42320        (WebCore::PowerObserver::~PowerObserver):
42321        Tear down the IOKit notifications.
42322
42323        (WebCore::PowerObserver::didReceiveSystemPowerNotification):
42324        Acknowledge the event immediately and then call the shared timer functions. On Snow Leopard, we
42325        make sure to call the shared timer functions on the main thread.
42326    
423272010-09-30  James Simonsen  <simonjam@chromium.org>
42328
42329        Reviewed by Adam Barth.
42330
42331        [Web Timing] Make requestEnd equal to start of response
42332        https://bugs.webkit.org/show_bug.cgi?id=46302
42333
42334        * page/Timing.cpp:
42335        (WebCore::Timing::requestEnd):
42336
423372010-09-30  Zhenyao Mo  <zmo@google.com>
42338
42339        Reviewed by Kenneth Russell.
42340
42341        fast/canvas/webgl/draw-elements-out-of-bounds.html is crashing on Snow Leopard
42342        https://bugs.webkit.org/show_bug.cgi?id=46870
42343
42344        * platform/graphics/ANGLEWebKitBridge.cpp:
42345        (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Remove ShFinalize().
42346
423472010-09-30  Ryosuke Niwa  <rniwa@webkit.org>
42348
42349        Reviewed by Tony Chang.
42350
42351        WebKit nests font element when applying different font styles
42352        https://bugs.webkit.org/show_bug.cgi?id=45568
42353
42354        The bug was caused by fixRangeAndApplyInlineStyle's not including fully selected ancestors,
42355        and addInlineStyleIfNeeded's always surrounding the contents by new elements as supposed to
42356        adding font attributes or style attribute.
42357
42358        Fixed the bug by extending the node range in fixRangeAndApplyInlineStyle and finding
42359        the appropriate container node to add attributes in addInlineStyleIfNeeded.
42360        addInlineStyleIfNeeded now tires to add font and style attributes to the inner most font and
42361        span elements respectively.
42362
42363        Also added an early exit check to removeStyleFromRunBeforeApplyingStyle so that WebKit does not
42364        modify the contents when the entire contents already have the desired style.
42365
42366        Test: editing/style/inline-style-container.html
42367
42368        * editing/ApplyStyleCommand.cpp:
42369        (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
42370        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
42371        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
42372        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
42373
423742010-09-30  Jarred Nicholls  <jarred@sencha.com>
42375
42376        Reviewed by Darin Adler.
42377
42378        Removed unnecessary calls to ceil() on an int
42379        Removing the call fixes MSVC build errors
42380        https://bugs.webkit.org/show_bug.cgi?id=46931
42381
42382        * platform/graphics/ContextShadow.cpp:
42383        (WebCore::ContextShadow::calculateLayerBoundingRect):
42384
423852010-09-30  David Hyatt  <hyatt@apple.com>
42386
42387        Reviewed by Beth Dakin.
42388
42389        https://bugs.webkit.org/show_bug.cgi?id=46932
42390        
42391        Get fast/blockflow/root-lr-basic.html results to be correct by patching a few more
42392        height() calls to be logicalHeight().
42393
42394        * rendering/RenderBlock.cpp:
42395        (WebCore::RenderBlock::collapseMargins):
42396        (WebCore::RenderBlock::handleAfterSideOfBlock):
42397
423982010-09-30  Cris Neckar  <cdn@chromium.org>
42399
42400        Reviewed by Darin Adler.
42401
42402        Added check to test for removed counter node when calling findPlaceForCounter() in updateCounters().
42403        Added refcounting to counternodes in countermaps.
42404        https://bugs.webkit.org/show_bug.cgi?id=46387
42405
42406        Test: fast/css/counters/counter-traverse-table-cell.html
42407
42408        * rendering/CounterNode.cpp:
42409        (WebCore::CounterNode::create):
42410        * rendering/CounterNode.h:
42411        * rendering/RenderCounter.cpp:
42412        (WebCore::makeCounterNode):
42413        (WebCore::destroyCounterNodeWithoutMapRemoval):
42414        (WebCore::RenderCounter::destroyCounterNodes):
42415        (WebCore::RenderCounter::destroyCounterNode):
42416        (WebCore::updateCounters):
42417
424182010-09-30  David Hyatt  <hyatt@apple.com>
42419
42420        Reviewed by Beth Dakin.
42421
42422        https://bugs.webkit.org/show_bug.cgi?id=46928
42423        
42424        Add isLeftToRightDirection() to RenderStyle and change callers that did direction() == LTR and direction() == RTL to use this instead.
42425
42426        * css/CSSStyleSelector.cpp:
42427        (WebCore::CSSStyleSelector::isLeftPage):
42428        (WebCore::CSSStyleSelector::applyProperty):
42429        * editing/Editor.cpp:
42430        (WebCore::Editor::hasBidiSelection):
42431        * editing/VisiblePosition.cpp:
42432        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
42433        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
42434        * html/canvas/CanvasRenderingContext2D.cpp:
42435        (WebCore::CanvasRenderingContext2D::drawTextInternal):
42436        * rendering/InlineBox.h:
42437        (WebCore::InlineBox::isLeftToRightDirection):
42438        (WebCore::InlineBox::caretLeftmostOffset):
42439        (WebCore::InlineBox::caretRightmostOffset):
42440        * rendering/InlineFlowBox.cpp:
42441        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
42442        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
42443        (WebCore::InlineFlowBox::paintTextDecorations):
42444        * rendering/InlineIterator.h:
42445        (WebCore::InlineIterator::direction):
42446        * rendering/InlineTextBox.cpp:
42447        (WebCore::InlineTextBox::selectionRect):
42448        (WebCore::InlineTextBox::placeEllipsisBox):
42449        (WebCore::InlineTextBox::paint):
42450        (WebCore::InlineTextBox::paintSelection):
42451        (WebCore::InlineTextBox::paintCompositionBackground):
42452        (WebCore::InlineTextBox::paintDecoration):
42453        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
42454        (WebCore::InlineTextBox::paintTextMatchMarker):
42455        (WebCore::InlineTextBox::computeRectForReplacementMarker):
42456        (WebCore::InlineTextBox::textPos):
42457        (WebCore::InlineTextBox::offsetForPosition):
42458        (WebCore::InlineTextBox::positionForOffset):
42459        * rendering/RenderBlock.cpp:
42460        (WebCore::RenderBlock::adjustPositionedBlock):
42461        (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
42462        (WebCore::RenderBlock::paintColumnRules):
42463        (WebCore::RenderBlock::paintColumnContents):
42464        (WebCore::RenderBlock::getHorizontalSelectionGapInfo):
42465        (WebCore::RenderBlock::logicalLeftOffsetForLine):
42466        (WebCore::RenderBlock::logicalRightOffsetForLine):
42467        (WebCore::RenderBlock::rightmostPosition):
42468        (WebCore::RenderBlock::leftmostPosition):
42469        (WebCore::RenderBlock::columnRectAt):
42470        (WebCore::RenderBlock::layoutColumns):
42471        (WebCore::getBorderPaddingMargin):
42472        (WebCore::RenderBlock::localCaretRect):
42473        (WebCore::RenderBlock::marginStartForChild):
42474        (WebCore::RenderBlock::marginEndForChild):
42475        (WebCore::RenderBlock::setMarginStartForChild):
42476        (WebCore::RenderBlock::setMarginEndForChild):
42477        * rendering/RenderBlockLineLayout.cpp:
42478        (WebCore::getBorderPaddingMargin):
42479        (WebCore::RenderBlock::constructLine):
42480        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
42481        (WebCore::RenderBlock::determineStartPosition):
42482        (WebCore::RenderBlock::skipTrailingWhitespace):
42483        (WebCore::RenderBlock::skipLeadingWhitespace):
42484        (WebCore::RenderBlock::findNextLineBreak):
42485        (WebCore::RenderBlock::checkLinesForTextOverflow):
42486        * rendering/RenderBox.cpp:
42487        (WebCore::RenderBox::marginStart):
42488        (WebCore::RenderBox::marginEnd):
42489        (WebCore::RenderBox::setMarginStart):
42490        (WebCore::RenderBox::setMarginEnd):
42491        (WebCore::RenderBox::scrollWidth):
42492        (WebCore::RenderBox::computeInlineDirectionMargins):
42493        (WebCore::RenderBox::containingBlockWidthForPositioned):
42494        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
42495        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
42496        (WebCore::RenderBox::localCaretRect):
42497        * rendering/RenderBoxModelObject.cpp:
42498        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
42499        * rendering/RenderFieldset.cpp:
42500        (WebCore::RenderFieldset::layoutLegend):
42501        * rendering/RenderFileUploadControl.cpp:
42502        (WebCore::RenderFileUploadControl::paintObject):
42503        * rendering/RenderFlexibleBox.cpp:
42504        (WebCore::FlexBoxIterator::FlexBoxIterator):
42505        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
42506        (WebCore::RenderFlexibleBox::layoutVerticalBox):
42507        * rendering/RenderLayer.cpp:
42508        (WebCore::RenderLayer::computeScrollDimensions):
42509        * rendering/RenderListBox.cpp:
42510        (WebCore::RenderListBox::paintItemForeground):
42511        * rendering/RenderListItem.cpp:
42512        (WebCore::RenderListItem::positionListMarker):
42513        (WebCore::RenderListItem::markerTextWithSuffix):
42514        * rendering/RenderListMarker.cpp:
42515        (WebCore::RenderListMarker::paint):
42516        (WebCore::RenderListMarker::updateMargins):
42517        (WebCore::RenderListMarker::suffix):
42518        * rendering/RenderMarquee.cpp:
42519        (WebCore::RenderMarquee::computePosition):
42520        * rendering/RenderMeter.cpp:
42521        (WebCore::RenderMeter::valuePartRect):
42522        * rendering/RenderProgress.cpp:
42523        (WebCore::RenderProgress::valuePartRect):
42524        * rendering/RenderTable.cpp:
42525        (WebCore::RenderTable::calcBorderLeft):
42526        (WebCore::RenderTable::calcBorderRight):
42527        * rendering/RenderTableCell.cpp:
42528        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
42529        (WebCore::RenderTableCell::borderHalfLeft):
42530        (WebCore::RenderTableCell::borderHalfRight):
42531        (WebCore::RenderTableCell::collectBorderStyles):
42532        (WebCore::RenderTableCell::paintCollapsedBorder):
42533        * rendering/RenderTableSection.cpp:
42534        (WebCore::RenderTableSection::layoutRows):
42535        (WebCore::RenderTableSection::recalcOuterBorder):
42536        (WebCore::RenderTableSection::paintObject):
42537        (WebCore::RenderTableSection::nodeAtPoint):
42538        * rendering/RenderText.cpp:
42539        (WebCore::RenderText::localCaretRect):
42540        (WebCore::RenderText::positionLineBox):
42541        * rendering/RenderTextControlSingleLine.cpp:
42542        (WebCore::RenderTextControlSingleLine::forwardEvent):
42543        * rendering/RenderThemeMac.mm:
42544        (WebCore::RenderThemeMac::levelIndicatorFor):
42545        (WebCore::RenderThemeMac::paintProgressBar):
42546        * rendering/RenderTreeAsText.cpp:
42547        (WebCore::writeTextRun):
42548        * rendering/SVGInlineTextBox.cpp:
42549        (WebCore::SVGInlineTextBox::measureCharacter):
42550        (WebCore::SVGInlineTextBox::buildLayoutInformation):
42551        * rendering/SVGRenderTreeAsText.cpp:
42552        (WebCore::writeSVGInlineTextBox):
42553        * rendering/SVGTextLayoutUtilities.cpp:
42554        (WebCore::svgTextRunForInlineTextBox):
42555        * rendering/style/RenderStyle.cpp:
42556        (WebCore::RenderStyle::borderStartWidth):
42557        (WebCore::RenderStyle::borderEndWidth):
42558        (WebCore::RenderStyle::marginStart):
42559        (WebCore::RenderStyle::marginEnd):
42560        (WebCore::RenderStyle::marginStartUsing):
42561        (WebCore::RenderStyle::marginEndUsing):
42562        (WebCore::RenderStyle::paddingStart):
42563        (WebCore::RenderStyle::paddingEnd):
42564        * rendering/style/RenderStyle.h:
42565        (WebCore::InheritedFlags::isLeftToRightDirection):
42566        * wml/WMLTableElement.cpp:
42567        (WebCore::WMLTableElement::alignCells):
42568
425692010-09-30  David Hyatt  <hyatt@apple.com>
42570
42571        Reviewed by Simon Fraser.
42572
42573        https://bugs.webkit.org/show_bug.cgi?id=46923
42574        
42575        Make determineLogicalLeftPositionForChild block-flow-aware.  Rewrite the function so that there aren't
42576        completely separate LTR/RTL cases.
42577
42578        Added fast/blockflow/inline-direction-positioning.html
42579
42580        * rendering/RenderBlock.cpp:
42581        (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
42582        (WebCore::RenderBlock::setLogicalLeftForChild):
42583        * rendering/RenderBlock.h:
42584        (WebCore::RenderBlock::logicalWidthForChild):
42585        (WebCore::RenderBlock::logicalRightOffsetForContent):
42586        (WebCore::RenderBlock::logicalLeftOffsetForContent):
42587
425882010-09-29  Adam Roben  <aroben@apple.com>
42589
42590        Fix color media queries on Windows
42591
42592        Fixes <http://webkit.org/b/42973> <rdar://problem/8234072> (color:8)
42593        media query does not evaluate to true for 32bpp displays on Windows
42594
42595        Test: fast/media/color-does-not-include-alpha.html
42596
42597        Reviewed by Darin Adler.
42598
42599        * platform/win/PlatformScreenWin.cpp:
42600        (WebCore::screenDepthPerComponent): Use screenDepth instead of trying
42601        to interpret DEVMODE directly, since screenDepth knows how to correct
42602        for video drivers that return 32 instead of 24.
42603
426042010-09-29  Adam Roben  <aroben@apple.com>
42605
42606        Make sure screen.colorDepth/screen.pixelDepth don't include the bits
42607        used for alpha
42608
42609        Fixes <http://webkit.org/b/42972> <rdar://problem/8234071>
42610        screen.colorDepth and screen.pixelDepth return 32 on Windows, but
42611        should return 24 (according to CSSOM View and Firefox)
42612
42613        Reviewed by Darin Adler.
42614
42615        * platform/win/PlatformScreenWin.cpp:
42616        (WebCore::screenDepth): If Windows says there are 32 bits per pixel,
42617        return 24 instead, as 32 includes the alpha component but this
42618        function is supposed to ignore the alpha component.
42619
426202010-09-30  Daniel Cheng  <dcheng@chromium.org>
42621
42622        Reviewed by Tony Chang.
42623
42624        [chromium] Refactor ChromiumDataObject to use getters/setters.
42625        https://bugs.webkit.org/show_bug.cgi?id=46559
42626
42627        This is an intermediate step to converting ChromiumDataObject to use
42628        callbacks to the browser to retrieve data.
42629
42630        This is covered by existing tests.
42631
42632        * editing/chromium/EditorChromium.cpp:
42633        (WebCore::Editor::newGeneralClipboard):
42634        * page/chromium/EventHandlerChromium.cpp:
42635        (WebCore::EventHandler::createDraggingClipboard):
42636        * platform/chromium/ChromiumDataObject.cpp:
42637        (WebCore::ChromiumDataObject::clearData):
42638        (WebCore::ChromiumDataObject::clearAll):
42639        (WebCore::ChromiumDataObject::clearAllExceptFiles):
42640        (WebCore::ChromiumDataObject::hasData):
42641        (WebCore::ChromiumDataObject::types):
42642        (WebCore::ChromiumDataObject::getData):
42643        (WebCore::ChromiumDataObject::setData):
42644        (WebCore::ChromiumDataObject::ChromiumDataObject):
42645        * platform/chromium/ChromiumDataObject.h:
42646        (WebCore::ChromiumDataObject::create):
42647        (WebCore::ChromiumDataObject::urlTitle):
42648        (WebCore::ChromiumDataObject::setUrlTitle):
42649        (WebCore::ChromiumDataObject::htmlBaseUrl):
42650        (WebCore::ChromiumDataObject::setHtmlBaseUrl):
42651        (WebCore::ChromiumDataObject::containsFilenames):
42652        (WebCore::ChromiumDataObject::filenames):
42653        (WebCore::ChromiumDataObject::setFilenames):
42654        (WebCore::ChromiumDataObject::fileExtension):
42655        (WebCore::ChromiumDataObject::setFileExtension):
42656        (WebCore::ChromiumDataObject::fileContentFilename):
42657        (WebCore::ChromiumDataObject::setFileContentFilename):
42658        (WebCore::ChromiumDataObject::fileContent):
42659        (WebCore::ChromiumDataObject::setFileContent):
42660        * platform/chromium/ClipboardChromium.cpp:
42661        (WebCore::normalizeType):
42662        (WebCore::ClipboardChromium::clearData):
42663        (WebCore::ClipboardChromium::clearAllData):
42664        (WebCore::ClipboardChromium::getData):
42665        (WebCore::ClipboardChromium::setData):
42666        (WebCore::ClipboardChromium::types):
42667        (WebCore::ClipboardChromium::files):
42668        (WebCore::writeImageToDataObject):
42669        (WebCore::ClipboardChromium::declareAndWriteDragImage):
42670        (WebCore::ClipboardChromium::writeURL):
42671        (WebCore::ClipboardChromium::writeRange):
42672        (WebCore::ClipboardChromium::writePlainText):
42673        * platform/chromium/ClipboardChromiumWin.cpp:
42674        (WebCore::ClipboardChromium::validateFileName):
42675        * platform/chromium/ClipboardMimeTypes.cpp:
42676        * platform/chromium/ClipboardMimeTypes.h:
42677        * platform/chromium/DragDataChromium.cpp:
42678        (WebCore::containsHTML):
42679        (WebCore::DragData::containsURL):
42680        (WebCore::DragData::asURL):
42681        (WebCore::DragData::containsFiles):
42682        (WebCore::DragData::asFilenames):
42683        (WebCore::DragData::containsPlainText):
42684        (WebCore::DragData::asPlainText):
42685        (WebCore::DragData::canSmartReplace):
42686        (WebCore::DragData::asFragment):
42687        * platform/chromium/ReadableDataObject.cpp:
42688        (WebCore::ReadableDataObject::getURL):
42689        (WebCore::ReadableDataObject::getHTML):
42690        * platform/chromium/WritableDataObject.cpp:
42691        (WebCore::WritableDataObject::clearData):
42692        (WebCore::WritableDataObject::setData):
42693        (WebCore::WritableDataObject::setURL):
42694        (WebCore::WritableDataObject::setHTML):
42695
426962010-09-30  Chris Marrin  <cmarrin@apple.com>
42697
42698        Reviewed by Simon Fraser.
42699
42700        Make 2D accelerated canvas rendering build on Mac
42701        https://bugs.webkit.org/show_bug.cgi?id=46007
42702
42703        Add accelerated 2D rendering files to Mac build, fix build errors,
42704        add ifdefs to compile only when the ACCELERATED_2D_CANVAS flag is
42705        enabled, and add a skeleton of the mac specific file so it builds.
42706
42707        DrawingBufferMac.mm, the Mac specific file does nothing right now
42708        other than initialize and create a layer. The rest will be added
42709        when I do the actual implementation. 
42710
42711        The most significant change was to SharedGraphicsContext3D, which
42712        had a static local OwnPtr in one of the methods. This was causing
42713        the exit time destructor warning. Getting rid of the OwnPtr fixed
42714        the problem. Since the pointer that was being wrapped was to a
42715        static object that would never get destroyed, the OwnPtr was not
42716        necessary.
42717
42718        I also added the ACCELERATED_2D_CANVAS flag to build-webkit
42719        and FeatureDefines.xcconfig for WebCore, WebKit and JavaScriptCore.
42720        But right now the flag is off by default.
42721
42722        * Configurations/FeatureDefines.xcconfig:
42723        * WebCore.xcodeproj/project.pbxproj:
42724        * platform/graphics/gpu/DrawingBuffer.cpp:
42725        * platform/graphics/gpu/DrawingBuffer.h:
42726        (WebCore::DrawingBuffer::WillPublishCallback::~WillPublishCallback):
42727        * platform/graphics/gpu/LoopBlinnClassifier.cpp:
42728        * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
42729        * platform/graphics/gpu/LoopBlinnTextureCoords.cpp:
42730        * platform/graphics/gpu/Shader.cpp:
42731        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
42732        (WebCore::SharedGraphicsContext3D::allContexts):
42733        * platform/graphics/gpu/SolidFillShader.cpp:
42734        * platform/graphics/gpu/TexShader.cpp:
42735        * platform/graphics/gpu/Texture.cpp:
42736        * platform/graphics/gpu/Texture.h:
42737        * platform/graphics/gpu/TilingData.cpp:
42738        * platform/graphics/gpu/mac: Added.
42739        * platform/graphics/gpu/mac/DrawingBufferMac.mm: Added.
42740        (WebCore::DrawingBuffer::DrawingBuffer):
42741        (WebCore::DrawingBuffer::~DrawingBuffer):
42742        (WebCore::DrawingBuffer::reset):
42743        (WebCore::DrawingBuffer::platformLayer):
42744
427452010-09-30  Renata Hodovan  <reni@inf.u-szeged.hu>
42746
42747        Reviewed by Dirk Schulze.
42748
42749        SVGFECompositeElement doesn't support dynamic invalidation, when attributes change.
42750        https://bugs.webkit.org/show_bug.cgi?id=46902
42751
42752        Tests: svg/dynamic-updates/SVGFECompositeElement-dom-in-attr.html
42753               svg/dynamic-updates/SVGFECompositeElement-dom-in2-attr.html
42754               svg/dynamic-updates/SVGFECompositeElement-dom-k1-attr.html
42755               svg/dynamic-updates/SVGFECompositeElement-dom-k2-attr.html
42756               svg/dynamic-updates/SVGFECompositeElement-dom-k3-attr.html
42757               svg/dynamic-updates/SVGFECompositeElement-dom-k4-attr.html
42758               svg/dynamic-updates/SVGFECompositeElement-dom-operator-attr.html
42759               svg/dynamic-updates/SVGFECompositeElement-svgdom-in-prop.html
42760               svg/dynamic-updates/SVGFECompositeElement-svgdom-in2-prop.html
42761               svg/dynamic-updates/SVGFECompositeElement-svgdom-k1-prop.html
42762               svg/dynamic-updates/SVGFECompositeElement-svgdom-k2-prop.html
42763               svg/dynamic-updates/SVGFECompositeElement-svgdom-k3-prop.html
42764               svg/dynamic-updates/SVGFECompositeElement-svgdom-k4-prop.html
42765               svg/dynamic-updates/SVGFECompositeElement-svgdom-operator-prop.html
42766
42767        * svg/SVGFECompositeElement.cpp:
42768        (WebCore::SVGFECompositeElement::svgAttributeChanged):
42769        * svg/SVGFECompositeElement.h:
42770
427712010-09-29  Jeremy Orlow  <jorlow@chromium.org>
42772
42773        Reviewed by Steve Block.
42774
42775        Finished IDBTransaction for IndexedDB
42776        https://bugs.webkit.org/show_bug.cgi?id=46823
42777
42778        Switch the rest of IndexedDB to use transactions.
42779        Implement most of setVersion.
42780        Add IDBTransactions to IDBAny, IDBCursor, IDBRequest, etc.
42781        Switch to using the standard cross thread task stuff.
42782        Make everything threadsafe so it works with cross thread copy
42783            (will be useful in the future).
42784        Fix some subtle bugs in transactions.
42785        
42786        Various bits of clean up (when I couldn't resist).
42787
42788        * bindings/js/JSIDBAnyCustom.cpp:
42789        (WebCore::toJS):
42790        * bindings/v8/IDBBindingUtilities.cpp:
42791        (WebCore::LocalContext::LocalContext):
42792        (WebCore::LocalContext::~LocalContext):
42793        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
42794        * bindings/v8/SerializedScriptValue.cpp:
42795        (WebCore::SerializedScriptValue::release):
42796        (WebCore::SerializedScriptValue::SerializedScriptValue):
42797        * bindings/v8/SerializedScriptValue.h:
42798        * bindings/v8/custom/V8IDBAnyCustom.cpp:
42799        (WebCore::toV8):
42800        * platform/CrossThreadCopier.cpp:
42801        * storage/IDBAny.cpp:
42802        (WebCore::IDBAny::idbFactory):
42803        (WebCore::IDBAny::idbTransaction):
42804        (WebCore::IDBAny::set):
42805        * storage/IDBAny.h:
42806        * storage/IDBCallbacks.h:
42807        * storage/IDBCursor.cpp:
42808        (WebCore::IDBCursor::IDBCursor):
42809        (WebCore::IDBCursor::update):
42810        (WebCore::IDBCursor::continueFunction):
42811        (WebCore::IDBCursor::remove):
42812        * storage/IDBCursor.h:
42813        (WebCore::IDBCursor::create):
42814        * storage/IDBCursorBackendImpl.cpp:
42815        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
42816        (WebCore::IDBCursorBackendImpl::update):
42817        (WebCore::IDBCursorBackendImpl::updateInternal):
42818        (WebCore::IDBCursorBackendImpl::continueFunction):
42819        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
42820        (WebCore::IDBCursorBackendImpl::remove):
42821        (WebCore::IDBCursorBackendImpl::removeInternal):
42822        * storage/IDBCursorBackendImpl.h:
42823        (WebCore::IDBCursorBackendImpl::create):
42824        * storage/IDBDatabase.cpp:
42825        (WebCore::IDBDatabase::setSetVersionTransaction):
42826        (WebCore::IDBDatabase::createObjectStore):
42827        (WebCore::IDBDatabase::removeObjectStore):
42828        (WebCore::IDBDatabase::setVersion):
42829        (WebCore::IDBDatabase::close):
42830        * storage/IDBDatabase.h:
42831        * storage/IDBDatabase.idl:
42832        * storage/IDBDatabaseBackendImpl.cpp:
42833        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
42834        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
42835        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
42836        (WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal):
42837        (WebCore::IDBDatabaseBackendImpl::setVersion):
42838        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
42839        (WebCore::IDBDatabaseBackendImpl::close):
42840        * storage/IDBDatabaseBackendImpl.h:
42841        * storage/IDBDatabaseBackendInterface.h:
42842        * storage/IDBFactory.cpp:
42843        (WebCore::IDBFactory::open):
42844        * storage/IDBIndex.cpp:
42845        (WebCore::IDBIndex::IDBIndex):
42846        (WebCore::IDBIndex::openObjectCursor):
42847        (WebCore::IDBIndex::openCursor):
42848        (WebCore::IDBIndex::getObject):
42849        (WebCore::IDBIndex::get):
42850        * storage/IDBIndex.h:
42851        (WebCore::IDBIndex::create):
42852        * storage/IDBIndexBackendImpl.cpp:
42853        (WebCore::IDBIndexBackendImpl::openCursorInternal):
42854        (WebCore::IDBIndexBackendImpl::openObjectCursor):
42855        (WebCore::IDBIndexBackendImpl::openCursor):
42856        (WebCore::IDBIndexBackendImpl::getInternal):
42857        (WebCore::IDBIndexBackendImpl::getObject):
42858        (WebCore::IDBIndexBackendImpl::get):
42859        * storage/IDBIndexBackendImpl.h:
42860        * storage/IDBIndexBackendInterface.h:
42861        * storage/IDBKey.cpp:
42862        (WebCore::IDBKey::IDBKey):
42863        * storage/IDBKey.h:
42864        * storage/IDBKeyRange.h:
42865        * storage/IDBObjectStore.cpp:
42866        (WebCore::IDBObjectStore::IDBObjectStore):
42867        (WebCore::IDBObjectStore::add):
42868        (WebCore::IDBObjectStore::put):
42869        (WebCore::IDBObjectStore::remove):
42870        (WebCore::IDBObjectStore::createIndex):
42871        (WebCore::IDBObjectStore::index):
42872        (WebCore::IDBObjectStore::removeIndex):
42873        (WebCore::IDBObjectStore::openCursor):
42874        * storage/IDBObjectStore.idl:
42875        * storage/IDBObjectStoreBackendImpl.cpp:
42876        (WebCore::IDBObjectStoreBackendImpl::get):
42877        (WebCore::IDBObjectStoreBackendImpl::getInternal):
42878        (WebCore::IDBObjectStoreBackendImpl::put):
42879        (WebCore::IDBObjectStoreBackendImpl::putInternal):
42880        (WebCore::IDBObjectStoreBackendImpl::remove):
42881        (WebCore::IDBObjectStoreBackendImpl::removeInternal):
42882        (WebCore::IDBObjectStoreBackendImpl::createIndex):
42883        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
42884        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
42885        (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
42886        (WebCore::IDBObjectStoreBackendImpl::openCursor):
42887        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
42888        * storage/IDBObjectStoreBackendImpl.h:
42889        * storage/IDBObjectStoreBackendInterface.h:
42890        * storage/IDBRequest.cpp:
42891        (WebCore::IDBRequest::IDBRequest):
42892        (WebCore::IDBRequest::resetReadyState):
42893        (WebCore::IDBRequest::onSuccess):
42894        (WebCore::IDBRequest::timerFired):
42895        * storage/IDBRequest.h:
42896        (WebCore::IDBRequest::create):
42897        * storage/IDBTransactionBackendImpl.cpp:
42898        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
42899        (WebCore::IDBTransactionBackendImpl::scheduleTask):
42900        (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
42901        (WebCore::IDBTransactionBackendImpl::run):
42902        (WebCore::IDBTransactionBackendImpl::start):
42903        (WebCore::IDBTransactionBackendImpl::commit):
42904        (WebCore::IDBTransactionBackendImpl::timerFired):
42905        * storage/IDBTransactionBackendImpl.h:
42906
429072010-09-30  Csaba Osztrogonác  <ossy@webkit.org>
42908
42909        Reviewed by Martin Robinson.
42910
42911        [Gtk] build still broken since r68521
42912        https://bugs.webkit.org/show_bug.cgi?id=46795
42913
42914        makevalues.pl and makeprop.pl generate 3 files in one run.
42915        Double or triple target is incorrect, because on a multicore
42916        machine make processes targets in parallel.
42917
42918        Setting a->b->c dependencies for 3 generated files guarantees
42919        that make doesn't execute the recipe of the rule more than one.
42920
42921        * GNUmakefile.am: Dependencies and missing headers added.
42922
429232010-09-30  Andrey Kosyakov  <caseq@chromium.org>
42924
42925        Unreviewed build fix (marked ResourceRawHeaders.h as private)
42926
42927        * WebCore.xcodeproj/project.pbxproj:
42928
429292010-09-29  Andrey Kosyakov  <caseq@chromium.org>
42930
42931        Reviewed by Pavel Feldman.
42932
42933        Web Inspector: display headers actually used by network stack in Resources tab
42934        https://bugs.webkit.org/show_bug.cgi?id=46092
42935
42936        * GNUmakefile.am:
42937        * WebCore.gypi:
42938        * WebCore.pro:
42939        * WebCore.vcproj/WebCore.vcproj:
42940        * inspector/InspectorController.cpp:
42941        (WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible.
42942        * inspector/InspectorResource.cpp:
42943        (WebCore::InspectorResource::updateResponse):
42944        * platform/network/ResourceRawHeaders.h: Added.
42945        * platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting.
42946        (WebCore::ResourceRequestBase::reportRawHeaders):
42947        (WebCore::ResourceRequestBase::setReportRawHeaders):
42948        (WebCore::ResourceRequestBase::ResourceRequestBase):
42949        * platform/network/ResourceResponseBase.cpp: Added support for raw headers.
42950        (WebCore::ResourceResponseBase::resourceRawHeaders):
42951        (WebCore::ResourceResponseBase::setResourceRawHeaders):
42952        * platform/network/ResourceResponseBase.h:
42953
429542010-09-29  Andrey Kosyakov  <caseq@chromium.org>
42955
42956        Reviewed by Pavel Feldman.
42957
42958        Web Inspector: display headers actually used by network stack in Resources tab
42959        https://bugs.webkit.org/show_bug.cgi?id=46092
42960
42961        * GNUmakefile.am:
42962        * WebCore.gypi:
42963        * WebCore.pro:
42964        * WebCore.vcproj/WebCore.vcproj:
42965        * inspector/InspectorController.cpp:
42966        (WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible.
42967        * inspector/InspectorResource.cpp:
42968        (WebCore::InspectorResource::updateResponse):
42969        * platform/network/ResourceRawHeaders.h: Added.
42970        * platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting.
42971        (WebCore::ResourceRequestBase::reportRawHeaders):
42972        (WebCore::ResourceRequestBase::setReportRawHeaders):
42973        (WebCore::ResourceRequestBase::ResourceRequestBase):
42974        * platform/network/ResourceResponseBase.cpp: Added support for raw headers.
42975        (WebCore::ResourceResponseBase::resourceRawHeaders):
42976        (WebCore::ResourceResponseBase::setResourceRawHeaders):
42977        * platform/network/ResourceResponseBase.h:
42978
429792010-09-30  Andreas Kling  <andreas.kling@nokia.com>
42980
42981        Reviewed by Tor Arne Vestbø.
42982
42983        [Qt] V8 port: Unbreak build
42984
42985        Add missing <wtf/text/CString.h> include.
42986
42987        * loader/PingLoader.cpp:
42988
429892010-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
42990
42991        Reviewed by Pavel Feldman.
42992
42993        Web Inspector: assign the resource loading finish time which was obtained from the network stack
42994        as the end time for the corresponding event in Timeline.
42995        See related change for Resources panel https://bugs.webkit.org/show_bug.cgi?id=45664
42996
42997        https://bugs.webkit.org/show_bug.cgi?id=46789
42998
42999        * inspector/InspectorController.cpp:
43000        (WebCore::InspectorController::didFinishLoading):
43001        (WebCore::InspectorController::didFailLoading):
43002        * inspector/InspectorTimelineAgent.cpp:
43003        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
43004        * inspector/InspectorTimelineAgent.h:
43005
430062010-09-29  Pavel Feldman  <pfeldman@chromium.org>
43007
43008        Reviewed by Timothy Hatcher.
43009
43010        Web Inspector: implement sorting by timeline in network panel + filtering.
43011        https://bugs.webkit.org/show_bug.cgi?id=45657
43012
43013        A number of drive-by fixes, sorting by timeline added,
43014        0-based timeline for duration added, filters added,
43015        more love for detailed view + nice headers.
43016
43017        * English.lproj/localizedStrings.js:
43018        * inspector/front-end/DataGrid.js:
43019        (WebInspector.DataGrid):
43020        (WebInspector.DataGrid.prototype.markColumnAsSortedBy):
43021        (WebInspector.DataGrid.prototype.headerTableHeader):
43022        * inspector/front-end/NetworkPanel.js:
43023        (WebInspector.NetworkPanel):
43024        (WebInspector.NetworkPanel.prototype.get statusBarItems):
43025        (WebInspector.NetworkPanel.prototype._createTable):
43026        (WebInspector.NetworkPanel.prototype._makeHeaderInnerHTML):
43027        (WebInspector.NetworkPanel.prototype._createSortingFunctions):
43028        (WebInspector.NetworkPanel.prototype._sortByTimeline):
43029        (WebInspector.NetworkPanel.prototype._sortItems):
43030        (WebInspector.NetworkPanel.prototype._createFilterPanel):
43031        (WebInspector.NetworkPanel.prototype._showCategory):
43032        (WebInspector.NetworkPanel.prototype._hideCategory):
43033        (WebInspector.NetworkPanel.prototype._updateFilter):
43034        (WebInspector.NetworkPanel.prototype._filter):
43035        (WebInspector.NetworkPanel.prototype._updateDividersIfNeeded):
43036        (WebInspector.NetworkPanel.prototype.reset):
43037        (WebInspector.NetworkPanel.prototype._setLargerResources):
43038        (WebInspector.NetworkDataGridNode.prototype.createCells):
43039        (WebInspector.NetworkDataGridNode.prototype._createDivInTD):
43040        (WebInspector.NetworkDataGridNode.prototype._refreshURLCell):
43041        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
43042        (WebInspector.NetworkDataGridNode.prototype._appendSubtitle):
43043        (WebInspector.NetworkDataGridNode.SizeComparator):
43044        (WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
43045        * inspector/front-end/ProfilesPanel.js:
43046        (WebInspector.ProfilesPanel):
43047        (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
43048        * inspector/front-end/StoragePanel.js:
43049        (WebInspector.StoragePanel):
43050        * inspector/front-end/TimelineGrid.js:
43051        (WebInspector.TimelineGrid.prototype.updateDividers):
43052        * inspector/front-end/TimelineOverviewPane.js:
43053        (WebInspector.TimelineOverviewPane):
43054        (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
43055        * inspector/front-end/inspector.css:
43056        (.data-grid th.sort-ascending > div::after):
43057        (.data-grid th.sort-descending > div::after):
43058        (.status-bar-items):
43059        * inspector/front-end/networkPanel.css:
43060        (.network.panel .data-grid td):
43061        (.network.panel .data-grid th):
43062        (.network.panel .data-grid.small th):
43063        (.network.panel .data-grid .data-container):
43064        (.network.panel .data-grid.small .data-container):
43065        (.network.panel .data-grid select):
43066        (.network.panel .data-grid td.time-column):
43067        (.network-cell-subtitle):
43068        (.network-header-subtitle):
43069        (.network-event-divider):
43070        (.network.panel .network-timeline-grid.small .network-event-divider):
43071        (.network.panel .resources-dividers-label-bar):
43072        (.network.panel .network-timeline-grid.small .resources-dividers-label-bar):
43073        (.network.panel .resources-divider-label):
43074        (.network.panel .resources-dividers-label-bar .resources-divider):
43075        (.network.panel .network-timeline-grid.small .resources-dividers-label-bar .resources-divider):
43076        (.network.panel .resources-divider.first .resources-divider-label):
43077        (.network.panel .resources-dividers-label-bar .resources-divider.first):
43078        (#network-filter):
43079        (.data-grid table.data tr.revealed.network-category-websockets, .data-grid table.data tr.revealed.network-category-other):
43080        (.data-grid.filter-all table.data tr.revealed.network-category-other, .data-grid.filter-other table.data tr.revealed.network-category-other):
43081
430822010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
43083
43084        Reviewed by Simon Hausmann.
43085
43086        [Qt] Ensure we always report a valid size for the video
43087
43088        Some QtMultimedia-backends require a paint before even giving us
43089        a size, so we start out by using the default video size, and then
43090        update it once QtMultimedia starts feeding us valid sizes.
43091
43092        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
43093        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
43094        (WebCore::MediaPlayerPrivateQt::nativeSizeChanged):
43095        (WebCore::MediaPlayerPrivateQt::setSize):
43096        (WebCore::MediaPlayerPrivateQt::naturalSize):
43097        * platform/graphics/qt/MediaPlayerPrivateQt.h:
43098
430992010-09-30  Nikolas Zimmermann  <nzimmermann@rim.com>
43100
43101        Reviewed by Andreas Kling.
43102
43103        RenderSVGTextPath lacks isSVGTextPath() method
43104        https://bugs.webkit.org/show_bug.cgi?id=46888
43105
43106        Make RenderSVGTextPath objects easily detectable, using a isSVGTextPath() method, like all other SVG renderers have.
43107
43108        * rendering/RenderObject.h:
43109        (WebCore::RenderObject::isSVGTextPath): Return false.
43110        * rendering/RenderSVGTextPath.h: Changed indentation of whole file.
43111        (WebCore::RenderSVGTextPath::isSVGTextPath): Return true.
43112        (WebCore::RenderSVGTextPath::renderName):
43113        (WebCore::toRenderSVGTextPath): Add helper casting methods.
43114
431152010-09-30  Nikolas Zimmermann  <nzimmermann@rim.com>
43116
43117        Reviewed by Dirk Schulze.
43118
43119        AffineTransform should expose methods calculating the x/y scale factors
43120        https://bugs.webkit.org/show_bug.cgi?id=46887
43121
43122        Expose methods calculating the x/y scale factors for an AffineTransform. 
43123
43124        * platform/graphics/transforms/AffineTransform.cpp:
43125        (WebCore::affineTransformDecompose): Move xScale / yScale calculations in their own functions.
43126        (WebCore::AffineTransform::xScale):
43127        (WebCore::AffineTransform::yScale):
43128        * platform/graphics/transforms/AffineTransform.h:
43129
431302010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
43131
43132        Reviewed by Simon Hausmann.
43133
43134        [Qt] Ensure that the media player backend does not leave any resources around
43135
43136        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
43137        (WebCore::MediaPlayerPrivateQt::~MediaPlayerPrivateQt):
43138
431392010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
43140
43141        Reviewed by Simon Hausmann.
43142
43143        Minor cleanup of MediaPlayerPrivateQt
43144
43145        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
43146        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
43147        (WebCore::MediaPlayerPrivateQt::currentTime):
43148        (WebCore::MediaPlayerPrivateQt::positionChanged):
43149        (WebCore::MediaPlayerPrivateQt::paint):
43150
431512010-09-30  Jochen Eisinger  <jochen@chromium.org>
43152
43153        Reviewed by Jeremy Orlow.
43154
43155        Mark unused parameters as such.
43156        https://bugs.webkit.org/show_bug.cgi?id=46880
43157
43158        * inspector/InspectorDOMAgent.cpp:
43159        * page/Geolocation.cpp:
43160        (WebCore::Geolocation::clearWatch):
43161
431622010-09-29  Pavel Podivilov  <podivilov@chromium.org>
43163
43164        Reviewed by Pavel Feldman.
43165
43166        Web Inspector: extract Inspector Instrumentation API as a class.
43167        https://bugs.webkit.org/show_bug.cgi?id=46614
43168
43169        * CMakeLists.txt:
43170        * GNUmakefile.am:
43171        * WebCore.gypi:
43172        * WebCore.pro:
43173        * WebCore.vcproj/WebCore.vcproj:
43174        * WebCore.xcodeproj/project.pbxproj:
43175        * bindings/js/JSXMLHttpRequestCustom.cpp:
43176        (WebCore::JSXMLHttpRequest::send):
43177        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
43178        (WebCore::V8XMLHttpRequest::sendCallback):
43179        * dom/CharacterData.cpp:
43180        (WebCore::CharacterData::dispatchModifiedEvent):
43181        * dom/ContainerNode.cpp:
43182        (WebCore::ContainerNode::insertBefore):
43183        (WebCore::ContainerNode::parserInsertBefore):
43184        (WebCore::ContainerNode::replaceChild):
43185        (WebCore::ContainerNode::appendChild):
43186        (WebCore::ContainerNode::parserAddChild):
43187        (WebCore::notifyChildInserted):
43188        (WebCore::dispatchChildRemovalEvents):
43189        * dom/Element.cpp:
43190        (WebCore::Element::setAttribute):
43191        (WebCore::Element::removeAttribute):
43192        * inspector/InspectorController.cpp:
43193        (WebCore::InspectorController::InspectorController):
43194        (WebCore::InspectorController::~InspectorController):
43195        (WebCore::InspectorController::connectFrontend):
43196        (WebCore::InspectorController::disconnectFrontend):
43197        (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
43198        * inspector/InspectorController.h:
43199        * inspector/InspectorInstrumentation.cpp: Added.
43200        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
43201        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
43202        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
43203        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
43204        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
43205        (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
43206        (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
43207        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
43208        * inspector/InspectorInstrumentation.h: Added.
43209        (WebCore::InspectorInstrumentation::frontendCreated):
43210        (WebCore::InspectorInstrumentation::frontendDeleted):
43211        (WebCore::InspectorInstrumentation::hasFrontends):
43212        (WebCore::InspectorInstrumentation::willInsertDOMNode):
43213        (WebCore::InspectorInstrumentation::didInsertDOMNode):
43214        (WebCore::InspectorInstrumentation::willRemoveDOMNode):
43215        (WebCore::InspectorInstrumentation::willModifyDOMAttr):
43216        (WebCore::InspectorInstrumentation::didModifyDOMAttr):
43217        (WebCore::InspectorInstrumentation::characterDataModified):
43218        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
43219        (WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext):
43220        (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
43221        (WebCore::InspectorInstrumentation::inspectorControllerForPage):
43222        * workers/SharedWorker.cpp:
43223
432242010-09-30  Kwang Yul Seo  <skyul@company100.net>
43225
43226        Reviewed by Darin Adler.
43227
43228        Build fix: Add ENABLE(INSPECTOR) guard
43229        https://bugs.webkit.org/show_bug.cgi?id=46852
43230
43231        Page does not have inspectorController() when ENABLE(INSPECTOR) is 0.
43232
43233        * inspector/InspectorController.h:
43234        (WebCore::InspectorController::inspectorControllerForDocument):
43235
432362010-09-30  Michael Nordman  <michaeln@google.com>
43237
43238        Reviewed by David Levin.
43239
43240        Make it possible to copy platform specific data members of ResourceRequest and ResourceResponse
43241        across threads and to compare platform specific data members of ResourceRequest.
43242        - Added two instance methods to the platform specific subclasses: doPlatformAdopt and doPlatformCopyData.
43243        - Also added a "shadowable" static method for platformCompare to ResourceRequestBase, a similar method
43244          is already present on ResourceResponseBase.
43245        - Converted the cross thread structs defined in ResourceRequest/ResponseBase.h to base
43246          classes and extended those base classes in the platform specific headers to provide a place
43247          to hold additional fields.
43248        - Used this mechanism to have the chromium port's data members make the hop.
43249        https://bugs.webkit.org/show_bug.cgi?id=46430
43250
43251        No new tests. Just plumbing.
43252
43253        * WebCore.exp.in: removed the symbol for the now inlined == operator
43254        * WebCore.gypi: added chromium/ResourceResponse.cpp
43255        * platform/network/ResourceRequestBase.cpp:
43256        (WebCore::ResourceRequestBase::adopt):
43257        (WebCore::ResourceRequestBase::copyData):
43258        (WebCore::ResourceRequestBase::compare):
43259        * platform/network/ResourceRequestBase.h:
43260        (WebCore::ResourceRequestBase::platformCompare):
43261        (WebCore::operator==):
43262        (WebCore::operator!=):
43263        * platform/network/ResourceResponseBase.cpp:
43264        (WebCore::ResourceResponseBase::asResourceResponse):
43265        (WebCore::ResourceResponseBase::adopt):
43266        (WebCore::ResourceResponseBase::copyData):
43267        * platform/network/ResourceResponseBase.h:
43268        * platform/network/android/ResourceRequest.h:
43269        (WebCore::ResourceRequest::doPlatformCopyData):
43270        (WebCore::ResourceRequest::doPlatformAdopt):
43271        * platform/network/android/ResourceResponse.h:
43272        (WebCore::ResourceResponse::doPlatformCopyData):
43273        (WebCore::ResourceResponse::doPlatformAdopt):
43274        * platform/network/cf/ResourceRequest.h:
43275        (WebCore::ResourceRequest::doPlatformCopyData):
43276        (WebCore::ResourceRequest::doPlatformAdopt):
43277        * platform/network/cf/ResourceResponse.h:
43278        (WebCore::ResourceResponse::doPlatformCopyData):
43279        (WebCore::ResourceResponse::doPlatformAdopt):
43280        * platform/network/chromium/ResourceRequest.cpp:
43281        (WebCore::ResourceRequest::doPlatformCopyData):
43282        (WebCore::ResourceRequest::doPlatformAdopt):
43283        * platform/network/chromium/ResourceRequest.h:
43284        * platform/network/chromium/ResourceResponse.cpp: Added.
43285        (WebCore::ResourceResponse::doPlatformCopyData):
43286        (WebCore::ResourceResponse::doPlatformAdopt):
43287        * platform/network/chromium/ResourceResponse.h:
43288        * platform/network/curl/ResourceRequest.h:
43289        (WebCore::ResourceRequest::doPlatformCopyData):
43290        (WebCore::ResourceRequest::doPlatformAdopt):
43291        * platform/network/curl/ResourceResponse.h:
43292        (WebCore::ResourceResponse::doPlatformCopyData):
43293        (WebCore::ResourceResponse::doPlatformAdopt):
43294        * platform/network/mac/ResourceRequest.h:
43295        (WebCore::ResourceRequest::doPlatformCopyData):
43296        (WebCore::ResourceRequest::doPlatformAdopt):
43297        * platform/network/mac/ResourceResponse.h:
43298        (WebCore::ResourceResponse::doPlatformCopyData):
43299        (WebCore::ResourceResponse::doPlatformAdopt):
43300        * platform/network/qt/ResourceRequest.h:
43301        (WebCore::ResourceRequest::doPlatformCopyData):
43302        (WebCore::ResourceRequest::doPlatformAdopt):
43303        * platform/network/qt/ResourceResponse.h:
43304        (WebCore::ResourceResponse::doPlatformCopyData):
43305        (WebCore::ResourceResponse::doPlatformAdopt):
43306        * platform/network/soup/ResourceRequest.h:
43307        (WebCore::ResourceRequest::doPlatformCopyData):
43308        (WebCore::ResourceRequest::doPlatformAdopt):
43309        * platform/network/soup/ResourceResponse.h:
43310        (WebCore::ResourceResponse::doUpdateResourceResponse):
43311        (WebCore::ResourceResponse::doPlatformCopyData):
43312        (WebCore::ResourceResponse::doPlatformAdopt):
43313
433142010-09-29  Chris Rogers  <crogers@google.com>
43315
43316        Reviewed by Kenneth Russell.
43317
43318        Put default initialize() and uninitialize() methods in AudioNode
43319        https://bugs.webkit.org/show_bug.cgi?id=46767
43320
43321        No new tests since audio API is not yet implemented.
43322
43323        * webaudio/AudioNode.cpp:
43324        (WebCore::AudioNode::initialize):
43325        (WebCore::AudioNode::uninitialize):
43326        * webaudio/AudioNode.h:
43327
433282010-09-29  Kent Tamura  <tkent@chromium.org>
43329
43330        Reviewed by Dimitri Glazkov.
43331
43332        Refactor HTMLInputElement: Make DeprecatedInputType private.
43333        https://bugs.webkit.org/show_bug.cgi?id=46791
43334
43335        No new tests because this doesn't change any behavior.
43336
43337        * html/HTMLInputElement.cpp:
43338        (WebCore::HTMLInputElement::createTypeMap):
43339        * html/HTMLInputElement.h:
43340         Move DeprecatedInputType, deprecatedInputType() and
43341         parseToDateComponents() to the private section, make
43342         createTypeMap() a member function of HTMLInputElement.
43343        (WebCore::HTMLInputElement::deprecatedInputType):
43344
433452010-09-29  Mihai Parparita  <mihaip@chromium.org>
43346
43347        Reviewed by Darin Fisher.
43348
43349        REGRESSION: page reload on back button after history.pushState with appearing/disappearing iframes
43350        https://bugs.webkit.org/show_bug.cgi?id=46324
43351        
43352        Revert same document check to the way it was before r66238 for history
43353        entries created by pushState or fragment changes. Logic fror determining
43354        if same document navigation should be used is moved to HistoryItem.
43355
43356        Tests: fast/history/same-document-iframes-changing-fragment.html
43357               fast/history/same-document-iframes-changing-pushstate.html
43358
43359        * history/HistoryItem.cpp:
43360        (WebCore::HistoryItem::shouldDoSameDocumentNavigationTo):
43361        (WebCore::HistoryItem::hasSameDocumentTree):
43362        (WebCore::HistoryItem::hasSameFrames):
43363        * history/HistoryItem.h:
43364        * loader/FrameLoader.cpp:
43365        (WebCore::FrameLoader::loadItem):
43366
43367        * loader/FrameLoader.cpp:
43368        (WebCore::FrameLoader::loadItem):
43369
433702010-09-29  MORITA Hajime  <morrita@google.com>
43371
43372        Unreviewed build fix.
43373        
43374        WebCore::ESpeak causes missing symbol with no ENABLE_SVG
43375        https://bugs.webkit.org/show_bug.cgi?id=46865
43376
43377        Moves ESpeak related function definitions outside ENABLE_SVG block.
43378
43379        * css/CSSPrimitiveValueMappings.h:
43380        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
43381        (WebCore::CSSPrimitiveValue::operator ESpeak):
43382        (WebCore::CSSPrimitiveValue::operator EVectorEffect):
43383
433842010-09-29  Chris Rogers  <crogers@google.com>
43385
43386        Reviewed by Kenneth Russell.
43387
43388        Add AudioChannelSplitter files
43389        https://bugs.webkit.org/show_bug.cgi?id=46290
43390
43391        No new tests since audio API is not yet implemented.
43392
43393        * webaudio/AudioChannelSplitter.cpp: Added.
43394        (WebCore::AudioChannelSplitter::AudioChannelSplitter):
43395        (WebCore::AudioChannelSplitter::process):
43396        (WebCore::AudioChannelSplitter::reset):
43397        * webaudio/AudioChannelSplitter.h: Added.
43398        (WebCore::AudioChannelSplitter::create):
43399        * webaudio/AudioChannelSplitter.idl: Added.
43400
434012010-09-29  Kinuko Yasuda  <kinuko@chromium.org>
43402
43403        Reviewed by David Levin.
43404
43405        Fix DirectoryReader's behavior to trigger only one EntriesCallback per readEntries
43406        https://bugs.webkit.org/show_bug.cgi?id=46563
43407
43408        Test: fast/filesystem/read-directory.html
43409
43410        * fileapi/DOMFileSystem.cpp:
43411        (WebCore::DOMFileSystem::readDirectory): Changed to take DirectoryReader
43412        as a parameter.
43413        * fileapi/DOMFileSystem.h:
43414        (WebCore::DOMFileSystem::scheduleCallback): Added.
43415        * fileapi/DirectoryReader.cpp:
43416        (WebCore::DirectoryReader::DirectoryReader): Added initializer for
43417        m_hasMore flag.
43418        (WebCore::DirectoryReader::readEntries): Changed to schedule
43419        EntriesCallback with an empty array if m_hasMore flag is set false.
43420        * fileapi/DirectoryReader.h:
43421        (WebCore::DirectoryReader::filesystem): Added.
43422        (WebCore::DirectoryReader::setHasMore): Added.
43423        * fileapi/FileSystemCallbacks.cpp:
43424        (WebCore::EntriesCallbacks::create):
43425        (WebCore::EntriesCallbacks::EntriesCallbacks): Changed to take
43426        DirectoryReader as a parameter.
43427        (WebCore::EntriesCallbacks::didReadDirectoryEntry):
43428        (WebCore::EntriesCallbacks::didReadDirectoryEntries): Changed 1) not to
43429        trigger the second callback when hasMore is false, and 2) to update
43430        the DirectoryReader's m_hasMore flag.
43431        * fileapi/FileSystemCallbacks.h:
43432
434332010-09-29  Chris Rogers  <crogers@google.com>
43434
43435        Reviewed by Kenneth Russell.
43436
43437        Add AudioGainNode files
43438        https://bugs.webkit.org/show_bug.cgi?id=46286
43439
43440        No new tests since audio API is not yet implemented.
43441
43442        * webaudio/AudioGainNode.cpp: Added.
43443        (WebCore::AudioGainNode::AudioGainNode):
43444        (WebCore::AudioGainNode::process):
43445        (WebCore::AudioGainNode::reset):
43446        (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
43447        * webaudio/AudioGainNode.h: Added.
43448        (WebCore::AudioGainNode::create):
43449        (WebCore::AudioGainNode::gain):
43450        * webaudio/AudioGainNode.idl: Added.
43451
434522010-09-29  Chris Rogers  <crogers@google.com>
43453
43454        Reviewed by Kenneth Russell.
43455
43456        Add AudioChannelMerger files
43457        https://bugs.webkit.org/show_bug.cgi?id=46291
43458
43459        No new tests since audio API is not yet implemented.
43460
43461        * webaudio/AudioChannelMerger.cpp: Added.
43462        (WebCore::AudioChannelMerger::AudioChannelMerger):
43463        (WebCore::AudioChannelMerger::process):
43464        (WebCore::AudioChannelMerger::reset):
43465        * webaudio/AudioChannelMerger.h: Added.
43466        (WebCore::AudioChannelMerger::create):
43467        * webaudio/AudioChannelMerger.idl: Added.
43468
434692010-09-29  Chris Fleizach  <cfleizach@apple.com>
43470
43471        No review. Missed file for patch.
43472
43473        AX: implement CSS3 Speech "speak"
43474        https://bugs.webkit.org/show_bug.cgi?id=46827
43475
43476        * css/CSSParser.cpp:
43477        (WebCore::CSSParser::parseValue):
43478
434792010-09-29  Enrica Casucci  <enrica@apple.com>
43480
43481        Reviewed by Darin Adler.
43482
43483        Crash at lineBreakExistsAtPosition + 125
43484        <rdar://problem/7028809> 
43485        https://bugs.webkit.org/show_bug.cgi?id=46770
43486        
43487        lineBreakExistsAtPosition is called from InsertTextCommand::input,
43488        where we compute the downstream position of the endingSelection().
43489        Downstream can return the original position, that comes from a VisibleSelection
43490        but there is no guarantee that its renderer is still there. Everywhere we dereference
43491        a renderer we check if it's null.
43492        
43493        There is no regression test.
43494        
43495        * editing/htmlediting.cpp:
43496        (WebCore::lineBreakExistsAtPosition): Added check that the renderer is not null
43497        before dereferencing it.
43498
434992010-09-29  Sam Weinig  <sam@webkit.org>
43500
43501        Reviewed by Darin Adler.
43502
43503        Add additional checks to StringBuilder.
43504        <rdar://problem/7761248>
43505
43506        * platform/text/StringBuilder.cpp:
43507        (WebCore::checkAppend):
43508        (WebCore::StringBuilder::append):
43509        (WebCore::StringBuilder::toString):
43510        (WebCore::StringBuilder::clear):
43511        (WebCore::StringBuilder::length):
43512        * platform/text/StringBuilder.h:
43513        (WebCore::StringBuilder::StringBuilder):
43514        (WebCore::StringBuilder::setNonNull):
43515        (WebCore::StringBuilder::isNull):
43516
435172010-09-29  Anders Carlsson  <andersca@apple.com>
43518
43519        Reviewed by Darin Adler.
43520
43521        plugins/npruntime/invoke-failure.html fails in WebKit2 due to slightly different exception being thrown
43522        https://bugs.webkit.org/show_bug.cgi?id=46715
43523        <rdar://problem/8485909>
43524
43525        Remove exclamation points from exceptions.
43526
43527        * bindings/v8/V8NPObject.cpp:
43528        (WebCore::npObjectInvokeImpl):
43529        * bridge/c/c_instance.cpp:
43530        (JSC::Bindings::CInstance::invokeMethod):
43531        (JSC::Bindings::CInstance::invokeDefaultMethod):
43532        (JSC::Bindings::CInstance::invokeConstruct):
43533
435342010-09-29  Anders Carlsson  <andersca@apple.com>
43535
43536        Reviewed by Darin Adler.
43537
43538        Add additional check to Text::wholeText.
43539        <rdar://problem/8304795>
43540
43541        * dom/Text.cpp:
43542        (WebCore::Text::wholeText):
43543
435442010-09-29  Brian Weinstein  <bweinstein@apple.com>
43545
43546        Reviewed by Brady Eidson.
43547
43548        REGRESSION (r66129): Loading full-frame .swf file crashes with flash blocker extension enabled
43549        <https://bugs.webkit.org/show_bug.cgi?id=46773>
43550        <rdar://problem/8390975>
43551        
43552        After r66129, start scripts were run on plugin documents, and cancelling the load of a plugin
43553        document could cause Safari to crash.
43554        
43555        If a plugin load on an initial document is cancelled, we cancel the main resource load (where the
43556        main resource is the plugin), and if the load is restarted and allowed, we don't go through the manual
43557        loading path like we do on the initial load of a plugin in a plugin document.
43558
43559        Tests: plugins/plugin-document-load-prevented-userscript.html
43560               plugins/plugin-document-willSendRequest-null.html
43561
43562        * html/HTMLEmbedElement.cpp:
43563        (WebCore::HTMLEmbedElement::updateWidget): If the plugin load was cancelled, and this is in a
43564            plugin document, call a function on PluginDocument that cancels the main resource load, and
43565            sets a plugin document flag.
43566        * html/PluginDocument.cpp:
43567        (WebCore::PluginDocumentParser::appendBytes): Null check the widget's renderer, because it could be
43568            null if the load was cancelled.
43569        (WebCore::PluginDocument::PluginDocument): Initialize the new variable.
43570        (WebCore::PluginDocument::cancelManualPluginLoad): Cancel the main resource load of the plugin document
43571            (which is a plugin in the case of a plugin document).
43572        * html/PluginDocument.h:
43573        (WebCore::PluginDocument::shouldLoadPluginManually): Returns whether or not we should load the plugin
43574            manually.
43575        (WebCore::PluginDocument::setShouldLoadPluginManually): Set whether or not we should load the plugin
43576            manually.
43577        (WebCore::toPluginDocument):
43578        * loader/SubframeLoader.cpp:
43579        (WebCore::SubframeLoader::loadPlugin): Check if we should load the plugin manually according to the plugin
43580            document.
43581
435822010-09-29  David Hyatt  <hyatt@apple.com>
43583
43584        Reviewed by Sam Weinig.
43585
43586        https://bugs.webkit.org/show_bug.cgi?id=46844, make estimateLogicalTopPosition
43587        block-flow-aware.
43588
43589        * rendering/RenderBlock.cpp:
43590        (WebCore::RenderBlock::estimateLogicalTopPosition):
43591        (WebCore::RenderBlock::collapsedMarginBeforeForChild):
43592        (WebCore::RenderBlock::collapsedMarginAfterForChild):
43593        * rendering/RenderBlock.h:
43594
435952010-09-29  Chris Rogers  <crogers@google.com>
43596
43597        Reviewed by Kenneth Russell.
43598
43599        Minor cleanup to AudioContext
43600        https://bugs.webkit.org/show_bug.cgi?id=46843
43601
43602        No new tests since audio API is not yet implemented
43603
43604        * webaudio/AudioContext.cpp:
43605        (WebCore::AudioContext::lock):
43606        (WebCore::AudioContext::handleDeferredFinishDerefs):
43607
436082010-09-29  MORITA Hajime  <morrita@google.com>
43609
43610        Reviewed by Eric Seidel.
43611
43612        Assertion failed when accessing -webkit-margin-top-collapse via computed style.
43613        https://bugs.webkit.org/show_bug.cgi?id=46798
43614        
43615        There was a switch statement which missed enum entries in getPropertyCSSValue().
43616        This change added these entries to prevent the leak.
43617        It also added extra case statements to encourage the compiler's help.
43618
43619        Test: fast/css/getComputedStyle/margin-top-bottom-collapse-alias.html
43620
43621        * css/CSSComputedStyleDeclaration.cpp:
43622        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
43623
436242010-09-29  Chris Rogers  <crogers@google.com>
43625
43626        Reviewed by Kenneth Russell.
43627
43628        Limit number of AudioNode deletions per render quantum in AudioContext
43629        https://bugs.webkit.org/show_bug.cgi?id=46834
43630
43631        No new tests since audio API is not yet implemented.
43632
43633        * webaudio/AudioContext.cpp:
43634        (WebCore::AudioContext::handlePostRenderTasks):
43635        (WebCore::AudioContext::deleteMarkedNodes):
43636
436372010-09-29  David Hyatt  <hyatt@apple.com>
43638
43639        Reviewed by Simon Fraser.
43640
43641        https://bugs.webkit.org/show_bug.cgi?id=46838
43642        
43643        Get rid of the marginXXXUsing/setMarginXXXUsing methods on RenderBox.  I'm inverting the way these are called
43644        and putting the methods on RenderBlock instead.  The methods can be named better this way and the getters
43645        can operate on RenderBoxModelObjects instead of just RenderBoxes.
43646
43647        * rendering/RenderBlock.cpp:
43648        (WebCore::RenderBlock::layoutBlockChild):
43649        (WebCore::RenderBlock::marginBeforeForChild):
43650        (WebCore::RenderBlock::marginAfterForChild):
43651        (WebCore::RenderBlock::marginStartForChild):
43652        (WebCore::RenderBlock::marginEndForChild):
43653        (WebCore::RenderBlock::setMarginStartForChild):
43654        (WebCore::RenderBlock::setMarginEndForChild):
43655        (WebCore::RenderBlock::setMarginBeforeForChild):
43656        (WebCore::RenderBlock::setMarginAfterForChild):
43657        * rendering/RenderBlock.h:
43658        (WebCore::RenderBlock::logicalHeightForChild):
43659        (WebCore::RenderBlock::logicalTopForChild):
43660        * rendering/RenderBox.cpp:
43661        (WebCore::RenderBox::marginBefore):
43662        (WebCore::RenderBox::marginAfter):
43663        (WebCore::RenderBox::marginStart):
43664        (WebCore::RenderBox::marginEnd):
43665        (WebCore::RenderBox::setMarginStart):
43666        (WebCore::RenderBox::setMarginEnd):
43667        (WebCore::RenderBox::setMarginBefore):
43668        (WebCore::RenderBox::setMarginAfter):
43669        (WebCore::RenderBox::computeLogicalWidth):
43670        (WebCore::RenderBox::computeInlineDirectionMargins):
43671        (WebCore::RenderBox::computeBlockDirectionMargins):
43672        * rendering/RenderBox.h:
43673        (WebCore::RenderBox::setMarginTop):
43674        (WebCore::RenderBox::setMarginBottom):
43675        (WebCore::RenderBox::setMarginLeft):
43676        (WebCore::RenderBox::setMarginRight):
43677
436782010-09-29  Dan Bernstein  <mitz@apple.com>
43679
43680        Reviewed by Sam Weinig.
43681
43682        Removed input type site-specific quirk for mail.google.com
43683        https://bugs.webkit.org/show_bug.cgi?id=46836
43684
43685        * bindings/js/JSHTMLInputElementCustom.cpp:
43686        (WebCore::needsGmailQuirk): Removed.
43687        (WebCore::JSHTMLInputElement::type): Removed this custom getter. 
43688        * html/HTMLInputElement.idl: Removed the JSCCustomGetter custom attribute
43689        from the type attribute.
43690
436912010-09-29  Joseph Pecoraro  <joepeck@webkit.org>
43692
43693        Reviewed by Simon Fraser.
43694
43695        CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
43696        https://bugs.webkit.org/show_bug.cgi?id=46777
43697
43698        It should not be possible to get to be in the LoadingFromSourceElement
43699        state with a null current source node. This was a possible scenario
43700        where the current source node was cleared but the load state was not
43701        cleared as well. Tried and could not create a test case for this.
43702
43703        * html/HTMLMediaElement.cpp:
43704        (WebCore::HTMLMediaElement::userCancelledLoad): clear the load state because we also clear the current source node.
43705
437062010-09-29  David Hyatt  <hyatt@apple.com>
43707
43708        Reviewed by Dan Bernstein.
43709
43710        https://bugs.webkit.org/show_bug.cgi?id=46835, patch a few more height/logicalHeights.  Rename stretchesToViewHeight.
43711
43712        * page/FrameView.cpp:
43713        (WebCore::FrameView::layout):
43714        * rendering/RenderBlock.cpp:
43715        (WebCore::RenderBlock::layoutBlock):
43716        * rendering/RenderBlockLineLayout.cpp:
43717        (WebCore::RenderBlock::layoutInlineChildren):
43718        * rendering/RenderBox.cpp:
43719        (WebCore::RenderBox::computeLogicalHeight):
43720        * rendering/RenderBox.h:
43721        (WebCore::RenderBox::stretchesToViewport):
43722        * rendering/RenderBoxModelObject.cpp:
43723        (WebCore::RenderBoxModelObject::relativePositionOffsetY):
43724
437252010-09-29  Chris Fleizach  <cfleizach@apple.com>
43726
43727        Reviewed by Darin Adler.
43728
43729        AX: implement CSS3 Speech "speak"
43730        https://bugs.webkit.org/show_bug.cgi?id=46827
43731
43732        Support the "speak" style as defined in
43733        http://www.w3.org/TR/css3-speech/#speak
43734
43735        This puts all the pieces in place for a platform to support this ability, but there's no platform implementation yet.
43736
43737        Test: platform/mac/accessibility/css-speech-speak.html
43738
43739        * accessibility/AccessibilityObject.h:
43740        (WebCore::AccessibilityObject::speakProperty):
43741        * accessibility/AccessibilityRenderObject.cpp:
43742        (WebCore::AccessibilityRenderObject::speakProperty):
43743        * accessibility/AccessibilityRenderObject.h:
43744        * accessibility/mac/AccessibilityObjectWrapper.mm:
43745        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
43746        * css/CSSComputedStyleDeclaration.cpp:
43747        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
43748        * css/CSSPrimitiveValueMappings.h:
43749        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
43750        (WebCore::CSSPrimitiveValue::operator ESpeak):
43751        * css/CSSPropertyNames.in:
43752        * css/CSSStyleSelector.cpp:
43753        (WebCore::CSSStyleSelector::applyProperty):
43754        * css/CSSValueKeywords.in:
43755        * rendering/style/RenderStyle.h:
43756        (WebCore::InheritedFlags::speak):
43757        (WebCore::InheritedFlags::setSpeak):
43758        (WebCore::InheritedFlags::initialSpeak):
43759        * rendering/style/RenderStyleConstants.h:
43760        * rendering/style/StyleRareInheritedData.cpp:
43761        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
43762        (WebCore::StyleRareInheritedData::operator==):
43763        * rendering/style/StyleRareInheritedData.h:
43764
437652010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>
43766
43767        Reviewed by Antonio Gomes.
43768
43769        [Curl] Fix unused and unitialized warnings.
43770        https://bugs.webkit.org/show_bug.cgi?id=46831
43771
43772        No new tests since no new funcionality has been added.
43773
43774        * platform/network/curl/ResourceHandleCurl.cpp:
43775        (WebCore::allowsAnyHTTPSCertificateHosts):
43776        * platform/network/curl/ResourceHandleManager.cpp:
43777        (WebCore::ResourceHandleManager::ResourceHandleManager):
43778        (WebCore::handleLocalReceiveResponse):
43779        (WebCore::ResourceHandleManager::downloadTimerCallback):
43780        (WebCore::ResourceHandleManager::initializeHandle):
43781
437822010-09-29  David Hyatt  <hyatt@apple.com>
43783
43784        Reviewed by Sam Weinig.
43785
43786        https://bugs.webkit.org/show_bug.cgi?id=46824
43787        
43788        Convert layoutBlockChild (but not the functions it calls) to be block-flow-aware.
43789
43790        fast/blockflow/root-lr.html progresses as a result of this change.
43791
43792        * rendering/RenderBlock.cpp:
43793        (WebCore::RenderBlock::estimateLogicalTopPosition):
43794        (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
43795        (WebCore::RenderBlock::setLogicalTopForChild):
43796        (WebCore::RenderBlock::layoutBlockChild):
43797        * rendering/RenderBlock.h:
43798        (WebCore::RenderBlock::logicalHeightForChild):
43799        (WebCore::RenderBlock::logicalTopForChild):
43800        * rendering/RenderBox.h:
43801
438022010-09-29  Ryosuke Niwa  <rniwa@webkit.org>
43803
43804        Reviewed by Antonio Gomes.
43805
43806        queryCommandValue "formatBlock" always returns false
43807        https://bugs.webkit.org/show_bug.cgi?id=21305
43808
43809        Implemented queryCommandValue('formatBlock'). We match the Firefox's behavior exactly
43810        because Firefox and Internet Explorer support the same set of elements
43811        (address, h1, h2, h3, h4, h5, h6, and p) and Firefox's behavior is more compatible with Opera.
43812        See the bug for the detailed discussion.
43813
43814        WebKit's implementation returns the local name of the lowest common ancestor
43815        of the selection with the tag name address, h1, h2, h3, h4, h5, h6, or p.
43816        It returns "" when there is no such an ancestor or there is no selection.
43817
43818        Test: editing/execCommand/query-format-block.html
43819
43820        * editing/Editor.cpp:
43821        (WebCore::isElementForFormatBlockCommand):
43822        (WebCore::Editor::elementForFormatBlockCommand):
43823        * editing/Editor.h:
43824        * editing/EditorCommand.cpp:
43825        (WebCore::valueFormatBlock):
43826        (WebCore::createCommandMap):
43827
438282010-09-29  Matt Perry  <mpcomplete@chromium.org>
43829
43830        Reviewed by Darin Fisher.
43831
43832        Remove obsolete registerExtension variants from chromium port.
43833        https://bugs.webkit.org/show_bug.cgi?id=46683
43834
43835        * bindings/v8/V8DOMWindowShell.cpp:
43836        (WebCore::V8DOMWindowShell::createNewContext):
43837        * bindings/v8/V8Proxy.cpp:
43838        (WebCore::V8Proxy::registeredExtensionWithV8):
43839        (WebCore::V8Proxy::registerExtension):
43840        * bindings/v8/V8Proxy.h:
43841
438422010-09-29  Martin Robinson  <mrobinson@igalia.com>
43843
43844        Reviewed by Chris Fleizach.
43845
43846        [GTK] editing/selection/selection-modify-crash.html crashes when run in Xvfb
43847        https://bugs.webkit.org/show_bug.cgi?id=46822
43848
43849        When parentObjectUnignored returns null in objectAndOffsetUnignored consider that
43850        a failure case. Handle this failure appropriately at all call sites.
43851
43852        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
43853        (webkit_accessible_text_get_caret_offset): Handle the failure of objectAndOffsetUnignored.
43854        (objectAndOffsetUnignored): Always check the return value of parentObjectUnignored and
43855        return 0 to indicate failure when that happens.
43856        * editing/gtk/SelectionControllerGtk.cpp:
43857        (WebCore::SelectionController::notifyAccessibilityForSelectionChange): Handle the failure
43858        case of objectAndOffsetUnignored.
43859
438602010-09-29  Sheriff Bot  <webkit.review.bot@gmail.com>
43861
43862        Unreviewed, rolling out r68657.
43863        http://trac.webkit.org/changeset/68657
43864        https://bugs.webkit.org/show_bug.cgi?id=46820
43865
43866        reason "Breaks win debug build" (Requested by podivilov on
43867        #webkit).
43868
43869        * CMakeLists.txt:
43870        * GNUmakefile.am:
43871        * WebCore.gypi:
43872        * WebCore.pro:
43873        * WebCore.xcodeproj/project.pbxproj:
43874        * bindings/js/JSXMLHttpRequestCustom.cpp:
43875        (WebCore::JSXMLHttpRequest::send):
43876        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
43877        (WebCore::V8XMLHttpRequest::sendCallback):
43878        * dom/CharacterData.cpp:
43879        (WebCore::CharacterData::dispatchModifiedEvent):
43880        * dom/ContainerNode.cpp:
43881        (WebCore::ContainerNode::insertBefore):
43882        (WebCore::ContainerNode::parserInsertBefore):
43883        (WebCore::ContainerNode::replaceChild):
43884        (WebCore::ContainerNode::appendChild):
43885        (WebCore::ContainerNode::parserAddChild):
43886        (WebCore::notifyChildInserted):
43887        (WebCore::dispatchChildRemovalEvents):
43888        * dom/Element.cpp:
43889        (WebCore::Element::setAttribute):
43890        (WebCore::Element::removeAttribute):
43891        * inspector/InspectorController.cpp:
43892        (WebCore::InspectorController::InspectorController):
43893        (WebCore::InspectorController::~InspectorController):
43894        (WebCore::InspectorController::connectFrontend):
43895        (WebCore::InspectorController::disconnectFrontend):
43896        (WebCore::InspectorController::willInsertDOMNodeImpl):
43897        (WebCore::InspectorController::didInsertDOMNodeImpl):
43898        (WebCore::InspectorController::willRemoveDOMNodeImpl):
43899        (WebCore::InspectorController::didRemoveDOMNodeImpl):
43900        (WebCore::InspectorController::willModifyDOMAttrImpl):
43901        (WebCore::InspectorController::didModifyDOMAttrImpl):
43902        (WebCore::InspectorController::characterDataModifiedImpl):
43903        (WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
43904        * inspector/InspectorController.h:
43905        (WebCore::InspectorController::willInsertDOMNode):
43906        (WebCore::InspectorController::didInsertDOMNode):
43907        (WebCore::InspectorController::willRemoveDOMNode):
43908        (WebCore::InspectorController::willModifyDOMAttr):
43909        (WebCore::InspectorController::didModifyDOMAttr):
43910        (WebCore::InspectorController::characterDataModified):
43911        (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
43912        (WebCore::InspectorController::inspectorControllerForScriptExecutionContext):
43913        (WebCore::InspectorController::inspectorControllerForNode):
43914        (WebCore::InspectorController::inspectorControllerForDocument):
43915        * inspector/InspectorInstrumentation.cpp: Removed.
43916        * inspector/InspectorInstrumentation.h: Removed.
43917        * workers/SharedWorker.cpp:
43918
439192010-09-29  Xiaomei Ji  <xji@chromium.org>
43920
43921        Reviewed by David Levin.
43922
43923        Performance improvement for FontLinux.
43924        https://bugs.webkit.org/show_bug.cgi?id=46374
43925
43926        Reduce new/delete operations by storing the maximum capacity of the glyph
43927        array and use that value in subsequent HB_ShapeItem calls. (Note that a
43928        call to HB_ShapeItem may reduce the value of m_item.num_glyphs below the
43929        capacity.)
43930
43931        Also be consistent with zero'ing the glyph arrays before calling 
43932        HB_ShapeItem.
43933
43934        There is no functionality changes so no new tests are added.
43935 
43936        * platform/graphics/chromium/FontLinux.cpp:
43937        (WebCore::TextRunWalker::createGlyphArrays):
43938        (WebCore::TextRunWalker::resetGlyphArrays):
43939        (WebCore::TextRunWalker::shapeGlyphs):
43940
439412010-09-29  Pavel Podivilov  <podivilov@chromium.org>
43942
43943        Reviewed by Pavel Feldman.
43944
43945        Web Inspector: extract Inspector Instrumentation API as a class.
43946        https://bugs.webkit.org/show_bug.cgi?id=46614
43947
43948        * CMakeLists.txt:
43949        * GNUmakefile.am:
43950        * WebCore.gypi:
43951        * WebCore.pro:
43952        * WebCore.xcodeproj/project.pbxproj:
43953        * bindings/js/JSXMLHttpRequestCustom.cpp:
43954        (WebCore::JSXMLHttpRequest::send):
43955        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
43956        (WebCore::V8XMLHttpRequest::sendCallback):
43957        * dom/CharacterData.cpp:
43958        (WebCore::CharacterData::dispatchModifiedEvent):
43959        * dom/ContainerNode.cpp:
43960        (WebCore::ContainerNode::insertBefore):
43961        (WebCore::ContainerNode::parserInsertBefore):
43962        (WebCore::ContainerNode::replaceChild):
43963        (WebCore::ContainerNode::appendChild):
43964        (WebCore::ContainerNode::parserAddChild):
43965        (WebCore::notifyChildInserted):
43966        (WebCore::dispatchChildRemovalEvents):
43967        * dom/Element.cpp:
43968        (WebCore::Element::setAttribute):
43969        (WebCore::Element::removeAttribute):
43970        * inspector/InspectorController.cpp:
43971        (WebCore::InspectorController::InspectorController):
43972        (WebCore::InspectorController::~InspectorController):
43973        (WebCore::InspectorController::connectFrontend):
43974        (WebCore::InspectorController::disconnectFrontend):
43975        (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
43976        * inspector/InspectorController.h:
43977        * inspector/InspectorInstrumentation.cpp: Added.
43978        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
43979        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
43980        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
43981        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
43982        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
43983        (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
43984        (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
43985        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
43986        * inspector/InspectorInstrumentation.h: Added.
43987        (WebCore::InspectorInstrumentation::frontendCreated):
43988        (WebCore::InspectorInstrumentation::frontendDeleted):
43989        (WebCore::InspectorInstrumentation::hasFrontends):
43990        (WebCore::InspectorInstrumentation::willInsertDOMNode):
43991        (WebCore::InspectorInstrumentation::didInsertDOMNode):
43992        (WebCore::InspectorInstrumentation::willRemoveDOMNode):
43993        (WebCore::InspectorInstrumentation::willModifyDOMAttr):
43994        (WebCore::InspectorInstrumentation::didModifyDOMAttr):
43995        (WebCore::InspectorInstrumentation::characterDataModified):
43996        (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
43997        (WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext):
43998        (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
43999        (WebCore::InspectorInstrumentation::inspectorControllerForPage):
44000
440012010-09-29  David Hyatt  <hyatt@apple.com>
44002
44003        Reviewed by Sam Weinig.
44004
44005        https://bugs.webkit.org/show_bug.cgi?id=46786, convert layoutBlockChild (but not any functions it calls)
44006        to be block-flow-aware.
44007
44008        * rendering/RenderBlock.cpp:
44009        (WebCore::RenderBlock::layoutBlock):
44010        (WebCore::RenderBlock::handleAfterSideOfBlock):
44011        (WebCore::RenderBlock::layoutBlockChildren):
44012        * rendering/RenderBlock.h:
44013        * rendering/RenderBox.h:
44014        (WebCore::RenderBox::scrollbarLogicalHeight):
44015
440162010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>
44017
44018        Reviewed by Antonio Gomes.
44019
44020        [EFL] General small fixes.
44021        https://bugs.webkit.org/show_bug.cgi?id=46813
44022
44023        This commit spots a comparison between signed and unsigned integer
44024        expressions, a missing return and a never-called function.
44025
44026        No new tests since no new funcionality has been added.
44027
44028        * platform/efl/SharedBufferEfl.cpp:
44029        (WebCore::SharedBuffer::createWithContentsOfFile):
44030
440312010-09-29  Philippe Normand  <pnormand@igalia.com>
44032
44033        Reviewed by Gustavo Noronha Silva.
44034
44035        build still broken since r68521
44036        https://bugs.webkit.org/show_bug.cgi?id=46795
44037
44038        Call make-values.pl once only. It seems calling it multiple times
44039        in the same build produces a wrong CSSValueKeywordsHash.h which
44040        has a duplicate declaration of its valueList variable. The double
44041        call is triggered by the double targets in the Makefile rules and
44042        makevalues.pl generates one of them, which screws up the build. A
44043        more proper fix should be done with the advices on
44044        http://www.cmcrossroads.com/cm-basics/12905-rules-with-multiple-outputs-in-gnu-make
44045
44046        * GNUmakefile.am:
44047
440482010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>
44049
44050        Unreviewed build fix.
44051
44052        Fix CMake build for ENABLE_PROGRESS_TAG.
44053        https://bugs.webkit.org/show_bug.cgi?id=46808
44054
44055        No new tests since it's a build fix.
44056
44057        * CMakeLists.txt:
44058
440592010-09-29  Yury Semikhatsky  <yurys@chromium.org>
44060
44061        Reviewed by Pavel Feldman.
44062
44063        [v8] Use generic mechanism to report exceptions in V8CustomVoidCallback
44064        https://bugs.webkit.org/show_bug.cgi?id=46803
44065
44066        No new tests. It's covered by existing tests under LayoutTests/storage
44067
44068        * bindings/v8/custom/V8CustomVoidCallback.cpp:
44069        (WebCore::invokeCallback):
44070
440712010-09-29  Satish Sampath  <satish@chromium.org>
44072
44073        Reviewed by Jeremy Orlow.
44074
44075        Rename the input element's @speech attribute to @webkitspeech since it is still experimental.
44076        https://bugs.webkit.org/show_bug.cgi?id=46799
44077
44078        * bindings/generic/RuntimeEnabledFeatures.h:
44079        (WebCore::RuntimeEnabledFeatures::webkitspeechEnabled): Rename the runtime feature flag getter.
44080        * css/CSSPrimitiveValueMappings.h:
44081        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
44082        * css/CSSValueKeywords.in: Rename the css style name.
44083        * css/html.css: Rename the css style name.
44084        (input::-webkit-input-speech-button):
44085        * html/HTMLAttributeNames.in: Rename the @speech attribute.
44086        * html/HTMLInputElement.cpp: Update code using the attribute.
44087        (WebCore::HTMLInputElement::parseMappedAttribute):
44088        (WebCore::HTMLInputElement::isSpeechEnabled):
44089        * html/HTMLInputElement.idl: Rename the @speech attribute.
44090
440912010-09-29  MORITA Hajime  <morrita@google.com>
44092
44093        [Chromium] failed to build without ACCELERATED_COMPOSITING
44094        https://bugs.webkit.org/show_bug.cgi?id=46793
44095
44096        Moved constant definitions from inside ACCELERATED_COMPOSITING to
44097        outside of the condition.
44098        
44099        * WebCore.gypi:
44100        * platform/graphics/chromium/VideoFrameChromium.cpp: Added just for defining constants.
44101        * platform/graphics/chromium/VideoLayerChromium.cpp:
44102
441032010-09-28  Pavel Feldman  <pfeldman@chromium.org>
44104
44105        Reviewed by Timothy Hatcher.
44106
44107        Web Inspector: [Resources panel] Need more visible "at a glance".
44108        https://bugs.webkit.org/show_bug.cgi?id=45657
44109
44110        * WebCore.gypi:
44111        * WebCore.vcproj/WebCore.vcproj:
44112        * inspector/front-end/DataGrid.js:
44113        (WebInspector.DataGrid):
44114        (WebInspector.DataGrid.prototype.updateWidths):
44115        (WebInspector.DataGrid.prototype.sortNodes):
44116        (WebInspector.DataGrid.prototype._resizerDragging):
44117        (WebInspector.DataGrid.prototype._endResizerDragging):
44118        (WebInspector.DataGridNode.prototype.selectable.true.get element):
44119        (WebInspector.DataGridNode.prototype.createCells):
44120        (WebInspector.DataGridNode.prototype.refresh):
44121        * inspector/front-end/Images/networkIcon.png: Copied from WebCore/inspector/front-end/Images/resourcesIcon.png.
44122        * inspector/front-end/NetworkPanel.js: Added.
44123        * inspector/front-end/Settings.js:
44124        * inspector/front-end/WebKit.qrc:
44125        * inspector/front-end/inspector.css:
44126        (.toolbar-item.network .toolbar-icon):
44127        (.data-grid .data-container):
44128        * inspector/front-end/inspector.html:
44129        * inspector/front-end/inspector.js:
44130        (WebInspector._createPanels):
44131        (WebInspector.updateResource):
44132        * inspector/front-end/networkPanel.css: Added.
44133
441342010-09-28  Ilya Tikhonovsky  <loislo@chromium.org>
44135
44136        Reviewed by Yury Semikhatsky.
44137
44138        Web Inspector: move pauseOnExceptionState under control of InspectorState
44139        It is Inspector Protocol cleanup activity.
44140        The actual state of this flag can be obtained as a return value of setPauseOnExceptionState command
44141        or as a value in InspectorState object.
44142
44143        https://bugs.webkit.org/show_bug.cgi?id=46724
44144
44145        * inspector/Inspector.idl:
44146        * inspector/InspectorController.cpp:
44147        (WebCore::InspectorController::getInspectorState):
44148        (WebCore::InspectorController::populateScriptObjects):
44149        * inspector/InspectorDebuggerAgent.cpp:
44150        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
44151        (WebCore::InspectorDebuggerAgent::pauseOnExceptionsState):
44152        * inspector/InspectorDebuggerAgent.h:
44153        * inspector/front-end/ScriptsPanel.js:
44154        (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
44155        * inspector/front-end/inspector.js:
44156        (WebInspector.doLoadedDone.populateInspectorState):
44157        (WebInspector.doLoadedDone):
44158        (WebInspector.reportProtocolError):
44159
441602010-09-28  Philippe Normand  <pnormand@igalia.com>
44161
44162        Reviewed by Martin Robinson.
44163
44164        check USE(GSTREAMER) instead of ENABLE(VIDEO) in gstreamer/ files
44165        https://bugs.webkit.org/show_bug.cgi?id=46717
44166
44167        Guard the gstreamer/ files with USE(GSTREAMER), which is more
44168        explicit than ENABLE(VIDEO).
44169
44170        * GNUmakefile.am: Define WTF_USE_GSTREAMER only if GStreamer
44171        support is enabled.
44172        * platform/graphics/gstreamer/DataSourceGStreamer.cpp:
44173        * platform/graphics/gstreamer/DataSourceGStreamer.h:
44174        * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp:
44175        * platform/graphics/gstreamer/GOwnPtrGStreamer.h:
44176        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
44177        * platform/graphics/gstreamer/GStreamerGWorld.h:
44178        * platform/graphics/gstreamer/ImageGStreamer.h:
44179        * platform/graphics/gstreamer/ImageGStreamerCG.mm:
44180        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
44181        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
44182        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
44183        * platform/graphics/gstreamer/PlatformVideoWindow.h:
44184        * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
44185        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
44186        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
44187        * platform/graphics/gstreamer/VideoSinkGStreamer.h:
44188        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
44189        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
44190
441912010-09-28  Kent Tamura  <tkent@chromium.org>
44192
44193        Unreviewed, windows build fix for r68629.
44194
44195        * WebCore.vcproj/WebCore.vcproj: Add TimeInputType.{cpp,h}
44196
441972010-09-28  Johnny Ding  <jnd@chromium.org>
44198
44199        Reviewed by Adam Barth.
44200
44201        https://bugs.webkit.org/show_bug.cgi?id=41292
44202        Pass the right popupAllowed flag to current execution frame,
44203        so WebKit can get right gesture status for popups initiated
44204        from plugins.
44205        This also makes v8 binding's ScriptController::processingUserGesture
44206        match what jsc version.
44207
44208        Test: plugins/plugin-initiate-popup-window.html
44209
44210        * bindings/v8/NPV8Object.cpp:
44211        (_NPN_EvaluateHelper):
44212        * bindings/v8/ScriptController.cpp:
44213        (WebCore::ScriptController::ScriptController):
44214        (WebCore::ScriptController::processingUserGesture):
44215        * bindings/v8/ScriptController.h:
44216        (WebCore::ScriptController::setAllowPopupsFromPlugin):
44217        (WebCore::ScriptController::allowPopupsFromPlugin):
44218
442192010-09-28  Kent Tamura  <tkent@chromium.org>
44220
44221        Reviewed by Darin Adler.
44222
44223        Refactor HTMLInputElement: Introducing InputType class and classes
44224        for each input element types.
44225        https://bugs.webkit.org/show_bug.cgi?id=45872
44226
44227        No new tests because this doesn't change any behavior.
44228
44229        * Android.mk: Add new files.
44230        * CMakeLists.txt: ditto.
44231        * GNUmakefile.am: ditto.
44232        * WebCore.gypi: ditto.
44233        * WebCore.pro: ditto.
44234        * WebCore.vcproj/WebCore.vcproj: ditto.
44235        * WebCore.xcodeproj/project.pbxproj: ditto.
44236        * html/BaseTextInputType.cpp: Added.
44237        (WebCore::BaseTextInputType::isTextType):
44238        (WebCore::BaseTextInputType::patternMismatch):
44239        * html/BaseTextInputType.h: Added.
44240        (WebCore::BaseTextInputType::BaseTextInputType):
44241        * html/ButtonInputType.cpp: Added.
44242        (WebCore::ButtonInputType::create):
44243        (WebCore::ButtonInputType::formControlType):
44244        * html/ButtonInputType.h: Added.
44245        (WebCore::ButtonInputType::ButtonInputType):
44246        * html/CheckboxInputType.cpp: Added.
44247        (WebCore::CheckboxInputType::create):
44248        (WebCore::CheckboxInputType::formControlType):
44249        * html/CheckboxInputType.h: Added.
44250        (WebCore::CheckboxInputType::CheckboxInputType):
44251        * html/ColorInputType.cpp: Added.
44252        (WebCore::ColorInputType::create):
44253        (WebCore::ColorInputType::formControlType):
44254        * html/ColorInputType.h: Added.
44255        (WebCore::ColorInputType::ColorInputType):
44256        * html/DateInputType.cpp: Added.
44257        (WebCore::DateInputType::create):
44258        (WebCore::DateInputType::formControlType):
44259        * html/DateInputType.h: Added.
44260        (WebCore::DateInputType::DateInputType):
44261        * html/DateTimeInputType.cpp: Added.
44262        (WebCore::DateTimeInputType::create):
44263        (WebCore::DateTimeInputType::formControlType):
44264        * html/DateTimeInputType.h: Added.
44265        (WebCore::DateTimeInputType::DateTimeInputType):
44266        * html/DateTimeLocalInputType.cpp: Added.
44267        (WebCore::DateTimeLocalInputType::create):
44268        (WebCore::DateTimeLocalInputType::formControlType):
44269        * html/DateTimeLocalInputType.h: Added.
44270        (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
44271        * html/EmailInputType.cpp: Added.
44272        (WebCore::EmailInputType::create):
44273        (WebCore::EmailInputType::formControlType):
44274        * html/EmailInputType.h: Added.
44275        (WebCore::EmailInputType::EmailInputType):
44276        * html/FileInputType.cpp: Added.
44277        (WebCore::FileInputType::create):
44278        (WebCore::FileInputType::formControlType):
44279        * html/FileInputType.h: Added.
44280        (WebCore::FileInputType::FileInputType):
44281        * html/HTMLInputElement.cpp:
44282        (WebCore::HTMLInputElement::HTMLInputElement): Initialize m_inputType.
44283        (WebCore::HTMLInputElement::patternMismatch): Delegate to InputType.
44284        (WebCore::HTMLInputElement::updateType): Update m_inputType with new type.
44285        (WebCore::HTMLInputElement::formControlType): Delegate to InputType.
44286        (WebCore::HTMLInputElement::isTextField): ditto.
44287        (WebCore::HTMLInputElement::isTextType): ditto.
44288        * html/HTMLInputElement.h:
44289        * html/HiddenInputType.cpp: Added.
44290        (WebCore::HiddenInputType::create):
44291        (WebCore::HiddenInputType::formControlType):
44292        * html/HiddenInputType.h: Added.
44293        (WebCore::HiddenInputType::HiddenInputType):
44294        * html/ImageInputType.cpp: Added.
44295        (WebCore::ImageInputType::create):
44296        (WebCore::ImageInputType::formControlType):
44297        * html/ImageInputType.h: Added.
44298        (WebCore::ImageInputType::ImageInputType):
44299        * html/InputType.cpp: Added.
44300        (WebCore::createInputTypeFactoryMap):
44301        (WebCore::InputType::create):
44302        (WebCore::InputType::createText):
44303        (WebCore::InputType::~InputType):
44304        (WebCore::InputType::isTextField):
44305        (WebCore::InputType::isTextType):
44306        (WebCore::InputType::patternMismatch):
44307        (WebCore::InputTypeNames::button):
44308        (WebCore::InputTypeNames::checkbox):
44309        (WebCore::InputTypeNames::color):
44310        (WebCore::InputTypeNames::date):
44311        (WebCore::InputTypeNames::datetime):
44312        (WebCore::InputTypeNames::datetimelocal):
44313        (WebCore::InputTypeNames::email):
44314        (WebCore::InputTypeNames::file):
44315        (WebCore::InputTypeNames::hidden):
44316        (WebCore::InputTypeNames::image):
44317        (WebCore::InputTypeNames::isindex):
44318        (WebCore::InputTypeNames::month):
44319        (WebCore::InputTypeNames::number):
44320        (WebCore::InputTypeNames::password):
44321        (WebCore::InputTypeNames::radio):
44322        (WebCore::InputTypeNames::range):
44323        (WebCore::InputTypeNames::reset):
44324        (WebCore::InputTypeNames::search):
44325        (WebCore::InputTypeNames::submit):
44326        (WebCore::InputTypeNames::telephone):
44327        (WebCore::InputTypeNames::text):
44328        (WebCore::InputTypeNames::time):
44329        (WebCore::InputTypeNames::url):
44330        (WebCore::InputTypeNames::week):
44331        * html/InputType.h: Added.
44332        (WebCore::InputType::InputType):
44333        (WebCore::InputType::element):
44334        * html/IsIndexInputType.cpp: Added.
44335        (WebCore::IsIndexInputType::create):
44336        (WebCore::IsIndexInputType::formControlType):
44337        * html/IsIndexInputType.h: Added.
44338        (WebCore::IsIndexInputType::IsIndexInputType):
44339        * html/MonthInputType.cpp: Added.
44340        (WebCore::MonthInputType::create):
44341        (WebCore::MonthInputType::formControlType):
44342        * html/MonthInputType.h: Added.
44343        (WebCore::MonthInputType::MonthInputType):
44344        * html/NumberInputType.cpp: Added.
44345        (WebCore::NumberInputType::create):
44346        (WebCore::NumberInputType::formControlType):
44347        * html/NumberInputType.h: Added.
44348        (WebCore::NumberInputType::NumberInputType):
44349        * html/PasswordInputType.cpp: Added.
44350        (WebCore::PasswordInputType::create):
44351        (WebCore::PasswordInputType::formControlType):
44352        * html/PasswordInputType.h: Added.
44353        (WebCore::PasswordInputType::PasswordInputType):
44354        * html/RadioInputType.cpp: Added.
44355        (WebCore::RadioInputType::create):
44356        (WebCore::RadioInputType::formControlType):
44357        * html/RadioInputType.h: Added.
44358        (WebCore::RadioInputType::RadioInputType):
44359        * html/RangeInputType.cpp: Added.
44360        (WebCore::RangeInputType::create):
44361        (WebCore::RangeInputType::formControlType):
44362        * html/RangeInputType.h: Added.
44363        (WebCore::RangeInputType::RangeInputType):
44364        * html/ResetInputType.cpp: Added.
44365        (WebCore::ResetInputType::create):
44366        (WebCore::ResetInputType::formControlType):
44367        * html/ResetInputType.h: Added.
44368        (WebCore::ResetInputType::ResetInputType):
44369        * html/SearchInputType.cpp: Added.
44370        (WebCore::SearchInputType::create):
44371        (WebCore::SearchInputType::formControlType):
44372        * html/SearchInputType.h: Added.
44373        (WebCore::SearchInputType::SearchInputType):
44374        * html/SubmitInputType.cpp: Added.
44375        (WebCore::SubmitInputType::create):
44376        (WebCore::SubmitInputType::formControlType):
44377        * html/SubmitInputType.h: Added.
44378        (WebCore::SubmitInputType::SubmitInputType):
44379        * html/TelephoneInputType.cpp: Added.
44380        (WebCore::TelephoneInputType::create):
44381        (WebCore::TelephoneInputType::formControlType):
44382        * html/TelephoneInputType.h: Added.
44383        (WebCore::TelephoneInputType::TelephoneInputType):
44384        * html/TextFieldInputType.cpp: Added.
44385        (WebCore::TextFieldInputType::isTextField):
44386        * html/TextFieldInputType.h: Added.
44387        (WebCore::TextFieldInputType::TextFieldInputType):
44388        * html/TextInputType.cpp: Added.
44389        (WebCore::TextInputType::create):
44390        (WebCore::TextInputType::formControlType):
44391        * html/TextInputType.h: Added.
44392        (WebCore::TextInputType::TextInputType):
44393        * html/TimeInputType.cpp: Added.
44394        (WebCore::TimeInputType::create):
44395        (WebCore::TimeInputType::formControlType):
44396        * html/TimeInputType.h: Added.
44397        (WebCore::TimeInputType::TimeInputType):
44398        * html/URLInputType.cpp: Added.
44399        (WebCore::URLInputType::create):
44400        (WebCore::URLInputType::formControlType):
44401        * html/URLInputType.h: Added.
44402        (WebCore::URLInputType::URLInputType):
44403        * html/WeekInputType.cpp: Added.
44404        (WebCore::WeekInputType::create):
44405        (WebCore::WeekInputType::formControlType):
44406        * html/WeekInputType.h: Added.
44407        (WebCore::WeekInputType::WeekInputType):
44408
444092010-09-28  David Hyatt  <hyatt@apple.com>
44410
44411        Reviewed by Maciej Stachowiak.
44412
44413        https://bugs.webkit.org/show_bug.cgi?id=46782, rename the top and bottom margin quirk getters/setters.
44414
44415        Also do a bit of cleanup for block flow roots.  Make sure they don't try to propagate overhanging floats out
44416        to ancestors.
44417
44418        * rendering/RenderBlock.cpp:
44419        (WebCore::RenderBlock::layoutBlock):
44420        (WebCore::RenderBlock::collapseMargins):
44421        (WebCore::RenderBlock::setCollapsedBottomMargin):
44422        (WebCore::RenderBlock::addOverhangingFloats):
44423        * rendering/RenderObject.cpp:
44424        (WebCore::RenderObject::RenderObject):
44425        * rendering/RenderObject.h:
44426        (WebCore::RenderObject::isMarginBeforeQuirk):
44427        (WebCore::RenderObject::isMarginAfterQuirk):
44428        (WebCore::RenderObject::setMarginBeforeQuirk):
44429        (WebCore::RenderObject::setMarginAfterQuirk):
44430
444312010-09-28  David Hyatt  <hyatt@apple.com>
44432
44433        Reviewed by Sam Weinig.
44434
44435        https://bugs.webkit.org/show_bug.cgi?id=46780
44436        
44437        Rename the pos/neg/collapsed margin methods.  Rename all the members of the RenderBlockRareData struct.
44438        No logical changes.  Just renames.
44439
44440        * editing/TextIterator.cpp:
44441        (WebCore::shouldEmitExtraNewlineForNode):
44442        * rendering/RenderBlock.cpp:
44443        (WebCore::RenderBlock::MarginInfo::MarginInfo):
44444        (WebCore::RenderBlock::layoutBlock):
44445        (WebCore::RenderBlock::collapseMargins):
44446        (WebCore::RenderBlock::clearFloatsIfNeeded):
44447        (WebCore::RenderBlock::estimateVerticalPosition):
44448        (WebCore::RenderBlock::setCollapsedBottomMargin):
44449        (WebCore::RenderBlock::layoutBlockChild):
44450        (WebCore::RenderBlock::paintChildren):
44451        (WebCore::RenderBlock::lowestPosition):
44452        (WebCore::RenderBlock::setMaxMarginBeforeValues):
44453        (WebCore::RenderBlock::setMaxMarginAfterValues):
44454        (WebCore::RenderBlock::absoluteRects):
44455        (WebCore::RenderBlock::absoluteQuads):
44456        (WebCore::RenderBlock::rectWithOutlineForRepaint):
44457        (WebCore::RenderBlock::addFocusRingRects):
44458        * rendering/RenderBlock.h:
44459        (WebCore::RenderBlock::maxPosMarginBefore):
44460        (WebCore::RenderBlock::maxNegMarginBefore):
44461        (WebCore::RenderBlock::maxPosMarginAfter):
44462        (WebCore::RenderBlock::maxNegMarginAfter):
44463        (WebCore::RenderBlock::initMaxMarginValues):
44464        (WebCore::RenderBlock::maxMarginBefore):
44465        (WebCore::RenderBlock::maxMarginAfter):
44466        (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
44467        (WebCore::RenderBlock::RenderBlockRareData::beforePosDefault):
44468        (WebCore::RenderBlock::RenderBlockRareData::beforeNegDefault):
44469        (WebCore::RenderBlock::RenderBlockRareData::afterPosDefault):
44470        (WebCore::RenderBlock::RenderBlockRareData::afterNegDefault):
44471        * rendering/RenderBox.cpp:
44472        (WebCore::RenderBox::computeLogicalHeight):
44473        * rendering/RenderBox.h:
44474        (WebCore::RenderBox::collapsedMarginBefore):
44475        (WebCore::RenderBox::collapsedMarginAfter):
44476        (WebCore::RenderBox::maxMarginBefore):
44477        (WebCore::RenderBox::maxMarginAfter):
44478        * rendering/RenderFlexibleBox.cpp:
44479        (WebCore::RenderFlexibleBox::layoutBlock):
44480
444812010-09-28  Kevin Ollivier  <kevino@theolliviers.com>
44482
44483        [wx] wxMSW build fix. Don't use multiple inheritance in PopupMenuWx to avoid debug build
44484        compiler error about ambiguity over which new override (wx's or FastAllocBase's) to use.
44485
44486        * platform/wx/PopupMenuWx.cpp:
44487        (WebCore::PopupMenuEventHandler::PopupMenuEventHandler):
44488        (WebCore::PopupMenuEventHandler::OnMenuItemSelected):
44489        (WebCore::PopupMenuWx::PopupMenuWx):
44490        (WebCore::PopupMenuWx::show):
44491        * platform/wx/PopupMenuWx.h:
44492
444932010-09-28  Xiaomei Ji  <xji@chromium.org>
44494
44495        Reviewed by NOBODY (revert unsquashed git commits)
44496
44497        Revert change sets 68583 to 68590, which are un-squashed git-commits: Performance improvement for FontLinux regarding issue 46374.
44498        https://bugs.webkit.org/show_bug.cgi?id=46374
44499
445002010-09-28  Marc-Antoine Ruel  <maruel@chromium.org>
44501
44502        Reviewed by Tony Chang.
44503
44504        Split webcore_html off webcore_remaining.
44505
44506        webcore_remaining is still too large for certain 32 bits toolsets.
44507        https://bugs.webkit.org/show_bug.cgi?id=46445
44508
44509        * WebCore.gyp/WebCore.gyp:
44510
445112010-09-28  Jia Pu  <jpu@apple.com>
44512
44513        Reviewed by Dan Bernstein.
44514
44515        Delete and forward delete shouldn't start autocorrection panel timer.
44516        https://bugs.webkit.org/show_bug.cgi?id=46679
44517        <rdar://problem/8463917>
44518
44519        * editing/TypingCommand.cpp:
44520        (WebCore::TypingCommand::markMisspellingsAfterTyping): Only start correction panel timer
44521          when the editing command is InsertText.
44522        (WebCore::TypingCommand::typingAddedToOpenCommand): Add an argument to pass in command type.
44523
44524        * editing/TypingCommand.h: Add an argument to typingAddedToOpenCommand().
44525
445262010-09-28  Mihai Parparita  <mihaip@chromium.org>
44527
44528        Reviewed by Dimitri Glazkov.
44529
44530        No back/forward list entry added when submitting a form via an onclick handler inside a frame
44531        https://bugs.webkit.org/show_bug.cgi?id=44140
44532        
44533        Lock the back/forward list for JavaScript form submissions inside frames
44534        only if they're not in response to user gestures.
44535
44536        Tests: fast/history/form-submit-in-frame-via-onclick.html
44537               fast/history/form-submit-in-frame.html
44538
44539        * loader/RedirectScheduler.cpp:
44540        (WebCore::RedirectScheduler::scheduleFormSubmission):
44541
445422010-09-28  David Hyatt  <hyatt@apple.com>
44543
44544        Reviewed by Sam Weinig.
44545
44546        Fix typo in previous checkin.
44547
44548        * rendering/RenderBlock.cpp:
44549        (WebCore::RenderBlock::MarginInfo::MarginInfo):
44550
445512010-09-28  Nat Duca  <nduca@chromium.org>
44552
44553        Reviewed by James Robinson.
44554
44555        [chromium] invalidateRootLayerRect needs to schedule compositor
44556        https://bugs.webkit.org/show_bug.cgi?id=46219
44557
44558        Update comments on LayerChromium commit/display functions to clarify
44559        their limitations. Remove unused dirtying logic from 
44560        LayerRendererChromium.
44561
44562        * platform/graphics/chromium/LayerChromium.cpp:
44563        (WebCore::LayerChromium::setNeedsCommit):
44564        (WebCore::LayerChromium::setNeedsDisplay):
44565        * platform/graphics/chromium/LayerRendererChromium.cpp:
44566        (WebCore::LayerRendererChromium::LayerRendererChromium):
44567        (WebCore::LayerRendererChromium::present):
44568        * platform/graphics/chromium/LayerRendererChromium.h:
44569
445702010-09-28  Jenn Braithwaite  <jennb@chromium.org>
44571
44572        Reviewed by Dmitry Titov.
44573
44574        Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
44575        https://bugs.webkit.org/show_bug.cgi?id=46663
44576
44577        No new tests. API addition only. Will be used in separate patch.
44578
44579        * loader/EmptyClients.h:
44580        (WebCore::EmptyFrameLoaderClient::didTransferChildFrameToNewDocument):
44581        * loader/FrameLoaderClient.h:
44582        * page/Frame.cpp:
44583        (WebCore::Frame::transferChildFrameToNewDocument):
44584        Pass former page to didTransferChildFrameToNewDocument.
44585
445862010-09-28  W. James MacLean  <wjmaclean@chromium.org>
44587
44588        Reviewed by James Robinson.
44589
44590        Scaled Resized images are blurred when sent to Skia
44591        https://bugs.webkit.org/show_bug.cgi?id=42370
44592
44593        This patch modifies ImageSkia.cpp to fix the calculation of resampled
44594        bitmap sizes so as to include the transform matrix of the canvas.
44595
44596        Test: svg/custom/image-rescale.svg
44597
44598        * platform/graphics/skia/ImageSkia.cpp:
44599        (WebCore::computeResamplingMode):
44600        (WebCore::drawResampledBitmap):
44601
446022010-09-28  James Robinson  <jamesr@chromium.org>
44603
44604        [chromium] Decrease warning level on chromium linux temporarily. This is causing failures on some bots
44605
44606        * WebCore.gyp/WebCore.gyp:
44607
446082010-09-27  James Robinson  <jamesr@chromium.org>
44609
44610        Reviewed by Tony Chang.
44611
44612        [chromium] Increase warning level for chromium linux build
44613        https://bugs.webkit.org/show_bug.cgi?id=46687
44614
44615        This sets the chromium_code gyp variable to 1 for the chromium
44616        linux WebCore build and fixes the warnings that exposes.  This
44617        matches the chromium mac build's compiler settings more closely
44618        and should cut down on the number of patches that break mac but
44619        compile cleaning on linux.
44620
44621        * WebCore.gyp/WebCore.gyp:
44622        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
44623        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
44624        * platform/graphics/chromium/FontLinux.cpp:
44625        (WebCore::TextRunWalker::nextScriptRun):
44626        (WebCore::TextRunWalker::getTextRun):
44627        (WebCore::TextRunWalker::getNormalizedTextRun):
44628        (WebCore::TextRunWalker::setGlyphXPositions):
44629        (WebCore::glyphIndexForXPositionInScriptRun):
44630        (WebCore::Font::offsetForPositionForComplexText):
44631        (WebCore::Font::selectionRectForComplexText):
44632        * platform/graphics/chromium/HarfbuzzSkia.cpp:
44633        (WebCore::getOutlinePoint):
44634        * platform/graphics/chromium/LayerRendererChromium.cpp:
44635        (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
44636        * platform/graphics/gpu/Texture.cpp:
44637        (WebCore::copySubRect):
44638        * platform/graphics/skia/PlatformContextSkia.cpp:
44639        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
44640        * platform/image-decoders/gif/GIFImageDecoder.cpp:
44641        (WebCore::GIFImageDecoder::setSize):
44642        * platform/image-decoders/gif/GIFImageDecoder.h:
44643
446442010-09-28  Stephen White  <senorblanco@chromium.org>
44645
44646        Reviewed by Csaba Osztrogonác.
44647
44648        Fix for r68521 to build on VS2008/Release.
44649
44650        * html/DocTypeStrings.gperf:
44651        Don't emit "#include <string.h>" here, since we're inside a namespace.
44652        * make-hash-tools.pl:
44653        Emit #include <string.h> manually where required.
44654        * platform/ColorData.gperf:
44655        Don't emit "#include <string.h>" here, since we're inside a namespace.
44656
446572010-09-28  David Hyatt  <hyatt@apple.com>
44658
44659        Reviewed by Sam Weinig.
44660
44661        Right now we have two properties named margin-top-collapse and margin-after-collapse.  They are proprietary and only used by Safari RSS.
44662
44663        I am adding margin-before-collapse and margin-after-collapse and just aliasing the old properties to the new ones.
44664        This way we have some names that are directionally independent.
44665
44666        Note that these properties aren't like other directional properties.  They are about what to do with the before side and after side of
44667        your block's margins when collapsing with adjacent blocks.  The meaning of before/after depend on the block-flow directionality
44668        of the containing block.
44669
44670        Computed style tests all changed and the remove-shorthand.html test covers manipulation of the shorthand.
44671
44672        * css/CSSComputedStyleDeclaration.cpp:
44673        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
44674        * css/CSSParser.cpp:
44675        (WebCore::CSSParser::parseValue):
44676        * css/CSSPropertyLonghand.cpp:
44677        (WebCore::initShorthandMap):
44678        * css/CSSPropertyNames.in:
44679        * css/CSSStyleSelector.cpp:
44680        (WebCore::CSSStyleSelector::applyProperty):
44681        * rendering/RenderBlock.cpp:
44682        (WebCore::RenderBlock::MarginInfo::MarginInfo):
44683        (WebCore::RenderBlock::isSelfCollapsingBlock):
44684        (WebCore::RenderBlock::collapseMargins):
44685        (WebCore::RenderBlock::layoutBlockChild):
44686        * rendering/style/RenderStyle.cpp:
44687        (WebCore::RenderStyle::diff):
44688        * rendering/style/RenderStyle.h:
44689        (WebCore::InheritedFlags::marginBeforeCollapse):
44690        (WebCore::InheritedFlags::marginAfterCollapse):
44691        (WebCore::InheritedFlags::setMarginBeforeCollapse):
44692        (WebCore::InheritedFlags::setMarginAfterCollapse):
44693        (WebCore::InheritedFlags::initialMarginBeforeCollapse):
44694        (WebCore::InheritedFlags::initialMarginAfterCollapse):
44695        * rendering/style/StyleRareNonInheritedData.cpp:
44696        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
44697        (WebCore::StyleRareNonInheritedData::operator==):
44698        * rendering/style/StyleRareNonInheritedData.h:
44699
447002010-09-28  Martin Robinson  <mrobinson@igalia.com>
44701
44702        Reviewed by Gustavo Noronha Silva.
44703
44704        [Cairo] FreeType fonts should obey FontConfig hinting/anti-aliasing settings
44705        https://bugs.webkit.org/show_bug.cgi?id=46740
44706
44707        When creating a font from a FontConfig pattern, use the FontConfig pattern's
44708        hinting and anti-aliasing settings. This follows the Chromium Linux approach
44709        of having FontConfig settings take precedence over GTK+ settings, as GTK+
44710        settings cannot be configured per-font and per-font-size.
44711
44712        Test: platform/gtk/fonts/fontconfig-aliasing-settings.html
44713
44714        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
44715        (WebCore::convertFontConfigSubpixelOrder): Added this helper which converts
44716        the FontConfig subpixel order into the cairo equivalent.
44717        (WebCore::convertFontConfigHintStyle): Added this helper which converts the
44718        FontConfig hint style into the cairo equivalent.
44719        (WebCore::setCairoFontOptionsFromFontConfigPattern): Added this helper which
44720        reads the font rendering settings from a pattern and translates them into the
44721        appropriate cairo_font_options_t settings.
44722        (WebCore::FontPlatformData::FontPlatformData): When creating a font from a
44723        FontConfig pattern use setCairoFontOptionsFromFontConfigPattern to get the
44724        appropriate rendering options for the font.
44725
447262010-09-28  Sam Weinig  <sam@webkit.org>
44727
44728        Reviewed by Darin Adler and Dave Hyatt.
44729
44730        Vertical scroll bar on apple.com is too short with WebKit2
44731        <rdar://problem/8379230>
44732        https://bugs.webkit.org/show_bug.cgi?id=46739
44733
44734        Adds a function to recalculate the scrollbars to take advantage of
44735        a changed window re-sizer rect.
44736
44737        * WebCore.exp.in:
44738        * platform/ScrollView.cpp:
44739        (WebCore::ScrollView::windowResizerRectChanged):
44740        * platform/ScrollView.h:
44741
447422010-09-28  David Hyatt  <hyatt@apple.com>
44743
44744        Reviewed by Sam Weinig.
44745
44746        https://bugs.webkit.org/show_bug.cgi?id=46750
44747        
44748        Rename the MarginInfo members and functions to be block-flow independent.
44749
44750        * rendering/RenderBlock.cpp:
44751        (WebCore::RenderBlock::MarginInfo::MarginInfo):
44752        (WebCore::RenderBlock::adjustPositionedBlock):
44753        (WebCore::RenderBlock::adjustFloatingBlock):
44754        (WebCore::RenderBlock::collapseMargins):
44755        (WebCore::RenderBlock::clearFloatsIfNeeded):
44756        (WebCore::RenderBlock::estimateVerticalPosition):
44757        (WebCore::RenderBlock::setCollapsedBottomMargin):
44758        (WebCore::RenderBlock::handleBottomOfBlock):
44759        (WebCore::RenderBlock::layoutBlockChild):
44760        (WebCore::RenderBlock::applyAfterBreak):
44761        * rendering/RenderBlock.h:
44762        (WebCore::RenderBlock::MarginInfo::setAtBeforeSideOfBlock):
44763        (WebCore::RenderBlock::MarginInfo::setAtAfterSideOfBlock):
44764        (WebCore::RenderBlock::MarginInfo::setMarginBeforeQuirk):
44765        (WebCore::RenderBlock::MarginInfo::setMarginAfterQuirk):
44766        (WebCore::RenderBlock::MarginInfo::setDeterminedMarginBeforeQuirk):
44767        (WebCore::RenderBlock::MarginInfo::atBeforeSideOfBlock):
44768        (WebCore::RenderBlock::MarginInfo::canCollapseWithMarginBefore):
44769        (WebCore::RenderBlock::MarginInfo::canCollapseWithMarginAfter):
44770        (WebCore::RenderBlock::MarginInfo::canCollapseMarginBeforeWithChildren):
44771        (WebCore::RenderBlock::MarginInfo::canCollapseMarginAfterWithChildren):
44772        (WebCore::RenderBlock::MarginInfo::determinedMarginBeforeQuirk):
44773        (WebCore::RenderBlock::MarginInfo::marginBeforeQuirk):
44774        (WebCore::RenderBlock::MarginInfo::marginAfterQuirk):
44775
447762010-09-28  Dan Bernstein  <mitz@apple.com>
44777
44778        Reviewed by Darin Adler.
44779
44780        Improved the handling of soft hyphens in Copy and Find operations, addressing the following
44781        bugs:
44782
44783        <rdar://problem/7938878> Soft hyphenation and the clipboard
44784        https://bugs.webkit.org/show_bug.cgi?id=11154
44785
44786        window.getSelection().toString() breaks soft hyphen &shy;
44787        https://bugs.webkit.org/show_bug.cgi?id=26774
44788
44789        <rdar://problem/5640505> soft hyphen breaks search function
44790        https://bugs.webkit.org/show_bug.cgi?id=16675
44791
44792        Test: fast/text/find-soft-hyphen.html
44793
44794        Changed line layout code to not skip over soft hyphens but rather include them in the text
44795        boxes. Changed font code to render the soft hyphen character as a zero width space, so that
44796        the former change will not affect rendering of soft hyphens in the middle of the line. Also
44797        changed line layout code to mark text boxes where hyphenation occurred due to a soft hyphen
44798        as hyphenated, so that the hyphen string specified in CSS will be appended to them.
44799
44800        Not omitting the soft hyphens from the text boxes makes the text iterator emit them, which
44801        solves the Copy and plain-text conversion issues. Previously, the iterator would emit a space
44802        to account for non-rendered characters between adjacent boxes, which was wrong in this case.
44803
44804        To make Find work, soft hyphens are folded into 0, which is ignorable in the collation used
44805        for Find.
44806
44807        * editing/TextIterator.cpp:
44808        (WebCore::foldQuoteMarkOrSoftHyphen): Renamed foldQuoteMark() to this and added folding of
44809        soft hyphen to 0.
44810        (WebCore::foldQuoteMarksAndSoftHyphens): Renamed foldQuoteMarks() to thid and added folding
44811        of soft hyphen to 0.
44812        (WebCore::SearchBuffer::SearchBuffer): Updated for renames.
44813        (WebCore::SearchBuffer::append): Ditto.
44814        * platform/graphics/Font.h:
44815        (WebCore::Font::treatAsSpace): Replaced number literal with name.
44816        (WebCore::Font::treatAsZeroWidthSpace): Added softHyphen.
44817        * platform/graphics/GlyphPageTreeNode.cpp:
44818        (WebCore::GlyphPageTreeNode::initializePage): Get the zero width space glyph for soft hyphen.
44819        * platform/graphics/mac/ComplexTextController.cpp:
44820        (WebCore::ComplexTextController::collectComplexTextRuns): Removed special handling that made
44821        a trailing soft hyphen render as hyphen-minus. All soft hyphens are now rendered as zero width
44822        spaces, and where a line break actually occurs at a soft hyphen, rendering code appends the
44823        CSS-specified hyphenate character to the text run that is passed to us here.
44824        * rendering/RenderBlockLineLayout.cpp:
44825        (WebCore::chopMidpointsAt): Removed this function, which was only used for skipping over soft
44826        hyphens.
44827        (WebCore::checkMidpoints): Removed code related to skipping over soft hyphens.
44828        (WebCore::RenderBlock::findNextLineBreak): Removed code to skip over soft hyphens. Ignore
44829        a line break opportunity at a soft hyphen if the style specifies 'hyphens: none'. Set
44830        'hyphenated' to true if a line break occurs at a soft hyphen.
44831        * rendering/style/RenderStyle.cpp:
44832        (WebCore::RenderStyle::hyphenString): Changed the assertion to allow querying for the hyphen
44833        string for 'hyphens: manual'.
44834
448352010-09-28  Martin Robinson  <mrobinson@igalia.com>
44836
44837        More GTK+ build fixes after r68521.
44838
44839        * GNUmakefile.am: Added proper dependency tracking for some
44840        new autogenerated files.
44841
448422010-09-28  Andreas Kling  <andreas.kling@nokia.com>
44843
44844        Reviewed by Kenneth Rohde Christiansen.
44845
44846        [Qt] Text drawing taints GraphicsContext's QPainter::pen()
44847        https://bugs.webkit.org/show_bug.cgi?id=46744
44848
44849        Test: fast/canvas/canvas-style-intact-after-text.html
44850
44851        * platform/graphics/qt/FontQt.cpp:
44852        (WebCore::drawTextCommon): Make sure the QPainter's pen is
44853        restored after filling and/or stroking text.
44854
448552010-09-28  Jia Pu  <jpu@apple.com>
44856
44857        Reviewed by Dan Bernstein.
44858
44859        Autocorrection panel is shown at incorrect location when WebView is scrolled.
44860        https://bugs.webkit.org/show_bug.cgi?id=46531
44861        <rdar://problem/8455376>
44862
44863        * dom/Range.h: Make getBorderAndTextQuads() public so that it can be used by Editor.
44864        * editing/Editor.cpp:
44865        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Replaced call to textQuads()
44866          with getBorderAndTextQuads().
44867
448682010-09-28  Andrei Popescu  <andreip@google.com>
44869
44870        Reviewed by Jeremy Orlow.
44871
44872        IDBRequest should not have a method called abort.
44873        https://bugs.webkit.org/show_bug.cgi?id=46720
44874
44875        IDBRequest::abort() was dropped from the spec following discussion in
44876        http://www.w3.org/Bugs/Public/show_bug.cgi?id=10165
44877
44878        * storage/IDBRequest.cpp:
44879        (WebCore::IDBRequest::IDBRequest):
44880        (WebCore::IDBRequest::~IDBRequest):
44881        (WebCore::IDBRequest::resetReadyState):
44882        (WebCore::IDBRequest::timerFired):
44883        (WebCore::IDBRequest::scheduleEvent):
44884        * storage/IDBRequest.h:
44885        * storage/IDBRequest.idl:
44886
448872010-09-28  Chris Fleizach  <cfleizach@apple.com>
44888
44889        Reviewed by Beth Dakin.
44890
44891        CrashTracer: 1,382 crashes in Safari at com.apple.WebCore: WebCore::VisiblePosition::canonicalPosition + 78
44892        https://bugs.webkit.org/show_bug.cgi?id=45927
44893
44894        AXTextMarkers store pointers to Nodes without any retain or reference. If a Node is deallocated and then
44895        a client tries to use a text marker that references that node, it leads to this crash.
44896
44897        The AXObjectCache instance now keeps a HashSet of Node's being used. When a node becomes deallocated, it removes itself
44898        from the HashSet. When creating a VisiblePosition from an AXTextMarker, the cache can then check if the node is valid
44899        before proceeding.
44900
44901        Test: platform/mac/accessibility/crash-invalid-text-marker-node.html
44902
44903        * accessibility/AXObjectCache.cpp:
44904        (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
44905        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
44906            Modify to check whether a node is valid before proceeeding.
44907        * accessibility/AXObjectCache.h:
44908        (WebCore::AXObjectCache::setNodeInUse):
44909        (WebCore::AXObjectCache::removeNodeForUse):
44910        (WebCore::AXObjectCache::isNodeInUse):
44911            Methods for managing whether a node is in use by text markers.
44912        * accessibility/mac/AccessibilityObjectWrapper.mm:
44913        (textMarkerForVisiblePosition):
44914        (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
44915        (visiblePositionForTextMarker):
44916        (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
44917        (visiblePositionForStartOfTextMarkerRange):
44918        (visiblePositionForEndOfTextMarkerRange):
44919        (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
44920        (textMarkerRangeFromVisiblePositions):
44921        (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
44922        (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
44923        (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
44924        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
44925        (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
44926        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
44927             Change these calls so that the axObjectCache() can be passed in to create the visible position.
44928        * dom/Document.cpp:
44929        (WebCore::Document::axObjectCacheExists):
44930        * dom/Document.h:
44931        * dom/Node.cpp:
44932        (WebCore::Node::~Node):
44933             If accessibility is enabled, inform the axObjectCache() that this node is disappearing.
44934
449352010-09-28  Chris Rogers  <crogers@google.com>
44936
44937        Reviewed by Kenneth Russell.
44938
44939        Add AudioDestinationNode files
44940        https://bugs.webkit.org/show_bug.cgi?id=45009
44941
44942        No new tests since audio API is not yet implemented.
44943
44944        * webaudio/AudioDestinationNode.cpp: Added.
44945        (WebCore::AudioDestinationNode::AudioDestinationNode):
44946        (WebCore::AudioDestinationNode::~AudioDestinationNode):
44947        (WebCore::AudioDestinationNode::initialize):
44948        (WebCore::AudioDestinationNode::uninitialize):
44949        (WebCore::AudioDestinationNode::provideInput):
44950        * webaudio/AudioDestinationNode.h: Added.
44951        (WebCore::AudioDestinationNode::create):
44952        (WebCore::AudioDestinationNode::process):
44953        (WebCore::AudioDestinationNode::reset):
44954        (WebCore::AudioDestinationNode::currentTime):
44955        (WebCore::AudioDestinationNode::sampleRate):
44956        (WebCore::AudioDestinationNode::numberOfChannels):
44957        * webaudio/AudioDestinationNode.idl: Added.
44958
449592010-09-28  Chris Rogers  <crogers@google.com>
44960
44961        Reviewed by Kenneth Russell.
44962
44963        audio engine: audio output classes
44964        https://bugs.webkit.org/show_bug.cgi?id=34716
44965
44966        No new tests since audio API is not yet implemented.
44967
44968        * platform/audio/AudioDestination.h: Added.
44969        (WebCore::AudioDestination::~AudioDestination):
44970        * platform/audio/mac/AudioDestinationMac.cpp: Added.
44971        (WebCore::AudioDestination::create):
44972        (WebCore::AudioDestination::hardwareSampleRate):
44973        (WebCore::AudioDestinationMac::AudioDestinationMac):
44974        (WebCore::AudioDestinationMac::~AudioDestinationMac):
44975        (WebCore::AudioDestinationMac::configure):
44976        (WebCore::AudioDestinationMac::start):
44977        (WebCore::AudioDestinationMac::stop):
44978        (WebCore::AudioDestinationMac::render):
44979        (WebCore::AudioDestinationMac::inputProc):
44980        * platform/audio/mac/AudioDestinationMac.h: Added.
44981        (WebCore::AudioDestinationMac::isPlaying):
44982        (WebCore::AudioDestinationMac::sampleRate):
44983
449842010-09-28  Chris Rogers  <crogers@google.com>
44985
44986        Reviewed by Kenneth Russell.
44987
44988        Add AudioGain files
44989        https://bugs.webkit.org/show_bug.cgi?id=46285
44990
44991        No new tests since audio API is not yet implemented.
44992
44993        * webaudio/AudioGain.h: Added.
44994        (WebCore::AudioGain::create):
44995        (WebCore::AudioGain::AudioGain):
44996        * webaudio/AudioGain.idl: Added.
44997
449982010-09-28  Chris Rogers  <crogers@google.com>
44999
45000        Reviewed by Kenneth Russell.
45001
45002        Fix possible illegal float values in AudioParam
45003        https://bugs.webkit.org/show_bug.cgi?id=46681
45004
45005        No new tests since audio API is not yet implemented.
45006
45007        * webaudio/AudioParam.h:
45008        (WebCore::AudioParam::setValue):
45009
450102010-09-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
45011
45012        Reviewed by Simon Hausmann.
45013
45014        [Qt] Rename member variable in MediaPlayerPrivateQt 
45015
45016        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
45017        * platform/graphics/qt/MediaPlayerPrivateQt.h:
45018
450192010-09-28  Andras Becsi  <abecsi@webkit.org>
45020
45021        [Gtk] Build fix. Remove leftover trailing backslash.
45022
45023        * GNUmakefile.am:
45024
450252010-09-28  Andras Becsi  <abecsi@webkit.org>
45026
45027        Unreviewed.
45028
45029        [Gtk] Build fix after r68521
45030
45031        No new tests needed.
45032
45033        * GNUmakefile.am:
45034
450352010-09-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
45036
45037        Reviewed by Andreas Kling.
45038
45039        [Qt] Rename MediaPlayerPrivate to MediaPlayerPrivateQt/Phonon
45040
45041        https://bugs.webkit.org/show_bug.cgi?id=36663
45042
45043        * platform/graphics/MediaPlayer.cpp:
45044        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
45045        * platform/graphics/qt/MediaPlayerPrivateQt.h:
45046        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
45047        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
45048
450492010-09-28  Andras Becsi  <abecsi@webkit.org>
45050
45051        Reviewed by Csaba Osztrogonác.
45052
45053        Undefined reference errors when linking due to gperf and inlining.
45054        webkit.org/b/29244
45055
45056        EFL CMake changes by Leandro Pereira <leandro@profusion.mobi>
45057
45058        Refactor gperf code generation and usage to fix the debug build with gcc>4.4.
45059        Hitherto gperf generated C code, these files were included in multiple C++ files across WebCore
45060        to access the functionality provided. This resulted in debug build failure with newer gcc versions
45061        because of a behaviour change of gcc, which disables C style inlining in debug mode.
45062        The make-hash-tools.pl script lets gperf generate C++ code for all gperf files now, which are compiled
45063        in their own compilation unit.
45064        The functionality provided by the generated code is wrapped behind HashTools.h, so there is no need
45065        for multiple inclusions of generated C files to access these functions.
45066
45067        No new tests needed.
45068
45069        * CMakeLists.txt:
45070        * WebCore.gyp/WebCore.gyp:
45071        * WebCore.pri:
45072        * WebCore.vcproj/WebCore.vcproj:
45073        * WebCore.xcodeproj/project.pbxproj:
45074        * css/CSSParser.cpp:
45075        * css/makeprop.pl:
45076        * css/makevalues.pl:
45077        * html/DocTypeStrings.gperf:
45078        * html/HTMLDocument.cpp:
45079        * make-hash-tools.pl:
45080        * platform/ColorData.gperf:
45081        * platform/graphics/Color.cpp:
45082
450832010-09-28  Andreas Kling  <andreas.kling@nokia.com>
45084
45085        Reviewed by Kenneth Rohde Christiansen.
45086
45087        Canvas: Crash when setting a font with size in 'ex' units
45088        https://bugs.webkit.org/show_bug.cgi?id=46538
45089
45090        update() the style's font after setting the style's font description.
45091        Needed because CSSPrimitiveValue::computeLengthDouble() later assumes
45092        that the style's font is properly initialized (for xHeight().)
45093
45094        Fixes crash on IE test center's canvas-text-font-002 test.
45095
45096        * html/canvas/CanvasRenderingContext2D.cpp:
45097        (WebCore::CanvasRenderingContext2D::setFont):
45098
450992010-09-28  Benjamin Poulain  <benjamin.poulain@nokia.com>
45100
45101        Reviewed by Kenneth Rohde Christiansen.
45102
45103        [Qt] Remove support for Qt 4.5
45104        https://bugs.webkit.org/show_bug.cgi?id=46718
45105
45106        Remove the code for versions of Qt prior to 4.6.
45107
45108        * WebCore.pro:
45109        * features.pri:
45110        * platform/network/qt/QNetworkReplyHandler.cpp:
45111        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
45112        (WebCore::QNetworkReplyHandler::start):
45113        * platform/network/qt/ResourceRequestQt.cpp:
45114        (WebCore::ResourceRequest::toNetworkRequest):
45115        * platform/qt/QWebPageClient.h:
45116
451172010-09-28  Kent Tamura  <tkent@chromium.org>
45118
45119        Unreviewed, run sort-Xcode-project-file
45120
45121        * WebCore.xcodeproj/project.pbxproj:
45122
451232010-09-28  Huahui Wu  <mediadependent@gmail.com>
45124
45125        Reviewed by Steve Block.
45126
45127        Add multi-touch for Android.
45128        https://bugs.webkit.org/show_bug.cgi?id=45221
45129
45130        The Android touch event used to take one point as the touch point,
45131        it's now changed to a vector of points to support multi-touch.
45132
45133        Tests: fast/events/touch/basic-multi-touch-events-limited.html
45134               fast/events/touch/touch-target-limited.html
45135
45136        * platform/PlatformTouchEvent.h:
45137        * platform/PlatformTouchPoint.h:
45138        * platform/android/PlatformTouchEventAndroid.cpp:
45139        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
45140        * platform/android/PlatformTouchPointAndroid.cpp:
45141        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
45142
451432010-09-27  Kent Tamura  <tkent@chromium.org>
45144
45145        Reviewed by Alexey Proskuryakov.
45146
45147        Fix assertion failure in a case that the dirty flag of a textarea element is changed
45148        https://bugs.webkit.org/show_bug.cgi?id=45681
45149
45150        We need to call setNeedsValidityCheck() after updating m_isDirty.
45151
45152        Test: fast/forms/textarea-checkValidity-crash.html
45153
45154        * html/HTMLTextAreaElement.cpp:
45155        (WebCore::HTMLTextAreaElement::setValue):
45156        (WebCore::HTMLTextAreaElement::setNonDirtyValue):
45157        (WebCore::HTMLTextAreaElement::setValueCommon):
45158        * html/HTMLTextAreaElement.h:
45159
451602010-09-27  Abhishek Arya  <inferno@chromium.org>
45161
45162        Reviewed by Dan Bernstein.
45163
45164        When the block RunIn is destroyed, its line box tree is not deleted. As a result, it
45165        gets later used during dirtying of inline text boxes step where this deleted parent is
45166        accessed. The fix is to delete the line box tree before destroying the runin block.
45167
45168        https://bugs.webkit.org/show_bug.cgi?id=46376
45169
45170        Test: fast/text/dirty-inline-textbox-crash.html
45171
45172        * rendering/RenderText.cpp:
45173        (WebCore::RenderText::dirtyLineBoxes):
45174
451752010-09-27  Eric Uhrhane  <ericu@chromium.org>
45176
45177        Reviewed by David Levin.
45178
45179        Fix event sequencing in FileWriter
45180        https://bugs.webkit.org/show_bug.cgi?id=46544
45181
45182        Only set readyState to DONE when we're about to send the last progress
45183        event associated with an operation.  Make sure all progress events come
45184        from backend calls, and aren't ever fired synchronously in response to
45185        user JS method calls.
45186
45187        No new tests, as none of this is fully implemented yet.
45188
45189        * fileapi/FileWriter.cpp:
45190        (WebCore::FileWriter::write):
45191        (WebCore::FileWriter::truncate):
45192        (WebCore::FileWriter::abort):
45193        (WebCore::FileWriter::didWrite):
45194        (WebCore::FileWriter::didTruncate):
45195        (WebCore::FileWriter::didFail):
45196
451972010-09-27  Chris Rogers  <crogers@google.com>
45198
45199        Reviewed by James Robinson.
45200
45201        Add HRTFDatabase files
45202        https://bugs.webkit.org/show_bug.cgi?id=46233
45203
45204        No new tests since audio API is not yet implemented.
45205
45206        * platform/audio/HRTFDatabase.cpp: Added.
45207        (WebCore::HRTFDatabase::create):
45208        (WebCore::HRTFDatabase::HRTFDatabase):
45209        (WebCore::HRTFDatabase::getKernelsFromAzimuthElevation):
45210        (WebCore::HRTFDatabase::indexFromElevationAngle):
45211        * platform/audio/HRTFDatabase.h: Added.
45212        (WebCore::HRTFDatabase::numberOfAzimuths):
45213        (WebCore::HRTFDatabase::sampleRate):
45214
452152010-09-27  Alpha Lam  <hclam@chromium.org>
45216
45217        Build fix. Not reviewed.
45218
45219        Move constant definitions to VideoLayerChromium.cpp.
45220        A proper fix should come later.
45221
45222        * platform/graphics/chromium/VideoLayerChromium.cpp:
45223
452242010-09-23  Antonio Gomes  <agomes@rim.com>
45225
45226        Reviewed by Kenneth Rohde Christiansen.
45227
45228        Make Document::nodesFromRect more flexible
45229        https://bugs.webkit.org/show_bug.cgi?id=46336
45230
45231        The patch changes the API for the Document::nodesFromRect() method as follows:
45232        
45233        from
45234        - RefPtf<NodeList> nodesFromRect(int x, int y, unsigned horizontalPadding, unsigned verticalPadding, bool ignoreClipping)
45235        to
45236        - RefPtf<NodeList> nodesFromRect(int x, int y, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding,
45237                                         unsigned leftPadding, bool ignoreClipping)
45238
45239        Previously the method was receiving as parameter horizontal and vertical padding values.
45240        In practice, the horizontal padding was being used to expand a given center point in both
45241        right and left directions, while vertical padding was expanding it to the top and bottom directions.
45242
45243        Although this design makes it possible to improve the touch experience on mobile devices
45244        (Document::nodesFromRect exposes the rect based hit testing system), empirical experiments
45245        showed that, specially in capacitive touch screens, users tend to tap below elements. So
45246        for even more accurate results (which means here the possibility of pleasant tapping experience),
45247        it makes sense to use a region that is offset more above the touch point, favoring elements
45248        above the touch point.
45249
45250        The patch basically implements that, increasing the API flexible and power by making it possible
45251        to specify different padding values for each direction in a given orientation.
45252
45253        Changes were made accordingly to the HitTestResult, RenderLayer, RenderImage and RenderLineBoxList
45254        classes.
45255
45256        WebCore:
45257
45258        * WebCore.exp.in:
45259        * dom/Document.h: API adjustment.
45260        * dom/Document.idl: Ditto.
45261        * dom/Document.cpp: API adjustment and method body implementation accordingly.
45262        (WebCore::Document::nodesFromRect):
45263        * page/EventHandler.cpp:
45264        (WebCore::EventHandler::hitTestResultAtPoint): For simplicity, I did not change the signature
45265            but the way the padding value passed in as parameter is being used to construct a HitTestResult.
45266        * rendering/HitTestResult.cpp: Changed the rect-based bits from using IntSize (padding) to separated paddings for each direction.
45267        (WebCore::HitTestResult::HitTestResult): Ditto.
45268        (WebCore::HitTestResult::operator=): Ditto.
45269        (WebCore::HitTestResult::rectFromPoint): Ditto.
45270        * rendering/HitTestResult.h:
45271        (WebCore::HitTestResult::topPadding): getter for the top padding.
45272        (WebCore::HitTestResult::rightPadding): getter for the right padding.
45273        (WebCore::HitTestResult::bottomPadding): getter for the bottom padding.
45274        (WebCore::HitTestResult::leftPadding): getter for the left padding.
45275        (WebCore::HitTestResult::rectFromPoint): Added a static method that given a center point and padding values for each direction,
45276            returns the rect that is going to be used in WebCore's hit testing processing.
45277        * rendering/RenderImage.cpp: Changed the rect-based bits from using IntSize (padding) to separated paddings for each direction.
45278        (WebCore::RenderImage::nodeAtPoint): Ditto.
45279        * rendering/RenderLayer.cpp: Ditto.
45280        (WebCore::RenderLayer::hitTestLayer): Ditto.
45281        (WebCore::RenderLayer::hitTestList): Ditto.
45282        * rendering/RenderLineBoxList.cpp: Ditto.
45283        (WebCore::RenderLineBoxList::hitTest): Ditto.
45284
452852010-09-27  Chris Rogers  <crogers@google.com>
45286
45287        Reviewed by James Robinson.
45288
45289        Add HRTFDatabaseLoader files
45290        https://bugs.webkit.org/show_bug.cgi?id=46234
45291
45292        No new tests since audio API is not yet implemented.
45293
45294        * platform/audio/HRTFDatabaseLoader.cpp: Added.
45295        (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
45296        (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
45297        (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
45298        (WebCore::databaseLoaderEntry):
45299        (WebCore::HRTFDatabaseLoader::load):
45300        (WebCore::HRTFDatabaseLoader::loadAsynchronously):
45301        (WebCore::HRTFDatabaseLoader::isLoaded):
45302        (WebCore::HRTFDatabaseLoader::defaultHRTFDatabase):
45303        * platform/audio/HRTFDatabaseLoader.h: Added.
45304        (WebCore::HRTFDatabaseLoader::database):
45305        (WebCore::HRTFDatabaseLoader::databaseSampleRate):
45306
453072010-09-27  Ryosuke Niwa  <rniwa@webkit.org>
45308
45309        Reviewed by Darin Adler.
45310
45311        queryCommandState with justifyCenter, justifyLeft, and justifyRight always return false
45312        https://bugs.webkit.org/show_bug.cgi?id=45910
45313
45314        Implemented queryCommandState for justifyCenter, justifyLeft, and justifyRight commands.
45315        Added getTextAlignment to convert -webkit-center, -webkit-left, and -webkit-right to
45316        center, left, and right respectively because they can be treated equally for editing purposes.
45317
45318        Test: editing/execCommand/query-text-alignment.html
45319
45320        * editing/ApplyStyleCommand.cpp:
45321        (WebCore::getTextAlignment): Added.
45322        (WebCore::getPropertiesNotIn): Uses getTextAlignment.
45323        * editing/EditorCommand.cpp:
45324        (WebCore::stateJustifyCenter): Added.
45325        (WebCore::stateJustifyLeft): Added.
45326        (WebCore::stateJustifyRight): Added.
45327        (WebCore::createCommandMap): Refers to stateJustifyCenter, stateJustifyLeft, and stateJustifyRight.
45328
453292010-09-27  Alpha Lam  <hclam@chromium.org>
45330
45331        Unreviewed. Build fix.
45332
45333        Reorder member declarations and fix other warnings.
45334
45335        * platform/graphics/chromium/VideoLayerChromium.cpp:
45336        (WebCore::VideoLayerChromium::VideoLayerChromium):
45337        (WebCore::VideoLayerChromium::~VideoLayerChromium):
45338        (WebCore::VideoLayerChromium::updateContents):
45339        (WebCore::VideoLayerChromium::determineTextureFormat):
45340        (WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
45341        * platform/graphics/chromium/VideoLayerChromium.h:
45342
453432010-09-27  Kenneth Russell  <kbr@google.com>
45344
45345        Unreviewed, Qt build fix. Stub out CanvasRenderingContext::checkOrigin(const HTMLVideoElement*)
45346        on platforms that don't support video after r68460.
45347
45348        * html/canvas/CanvasRenderingContext.cpp:
45349        (WebCore::CanvasRenderingContext::checkOrigin):
45350
453512010-09-27  Chris Fleizach  <cfleizach@apple.com>
45352
45353        Reviewed by Beth Dakin.
45354
45355        CrashTracer: 1,803 crashes in Safari at com.apple.WebCore: -[AccessibilityObjectWrapper accessibilityIsIgnored] + 56
45356        https://bugs.webkit.org/show_bug.cgi?id=46662
45357
45358        Before calling updateBackingStore(), the wrapper object needs to be retained, lest it be invalidated during
45359        the updateBackingStore call. This consolidates all calls to updateBackingStore().
45360
45361        Test: platform/mac/accessibility/removing-textarea-after-edit-crash.html
45362
45363        * accessibility/mac/AXObjectCacheMac.mm:
45364        (WebCore::AXObjectCache::postPlatformNotification):
45365            Use an ASSERT here to catch the crash because DRT won't cause AppKit to post notifications.
45366        * accessibility/mac/AccessibilityObjectWrapper.mm:
45367        (-[AccessibilityObjectWrapper prepareAccessibilityMethod]):
45368        (-[AccessibilityObjectWrapper accessibilityActionNames]):
45369        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
45370        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
45371        (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
45372        (-[AccessibilityObjectWrapper accessibilityHitTest:]):
45373        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
45374        (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
45375        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
45376        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
45377        (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
45378        (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
45379        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
45380        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
45381        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
45382        (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
45383        (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
45384        (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
45385
453862010-09-27  Adrienne Walker  <enne@google.com>
45387
45388        Reviewed by Adam Barth.
45389
45390        WebGL's readPixels doesn't respect origin-clean flag
45391
45392        Push CanvasRenderingContext2D checkOrigin logic into base class so it can be shared between different kinds of canvas contexts.
45393        https://bugs.webkit.org/show_bug.cgi?id=45718
45394
45395        Test: LayoutTests/http/tests/canvas/webgl/origin-clean-conformance.html
45396
45397        * html/canvas/CanvasRenderingContext.cpp:
45398        (WebCore::CanvasRenderingContext::checkOrigin):
45399        * html/canvas/CanvasRenderingContext.h:
45400        (WebCore::CanvasRenderingContext::~CanvasRenderingContext):
45401        (WebCore::CanvasRenderingContext::canvas):
45402        (WebCore::CanvasRenderingContext::is2d):
45403        (WebCore::CanvasRenderingContext::is3d):
45404        (WebCore::CanvasRenderingContext::isAccelerated):
45405        (WebCore::CanvasRenderingContext::paintRenderingResultsToCanvas):
45406        (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
45407        (WebCore::CanvasRenderingContext::platformLayer):
45408        * html/canvas/CanvasRenderingContext2D.cpp:
45409        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
45410        (WebCore::CanvasRenderingContext2D::setFillStyle):
45411        (WebCore::CanvasRenderingContext2D::drawImage):
45412        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
45413        * html/canvas/CanvasRenderingContext2D.h:
45414        * html/canvas/WebGLRenderingContext.cpp:
45415        (WebCore::WebGLRenderingContext::readPixels):
45416        (WebCore::WebGLRenderingContext::texImage2D):
45417        (WebCore::WebGLRenderingContext::videoFrameToImage):
45418        (WebCore::WebGLRenderingContext::texSubImage2D):
45419        * html/canvas/WebGLRenderingContext.h:
45420        * html/canvas/WebGLRenderingContext.idl:
45421
454222010-09-27  Darin Adler  <darin@apple.com>
45423
45424        Reviewed by Dan Bernstein.
45425
45426        REGRESSION (r68054): Buttons no longer render at correct sizes
45427        https://bugs.webkit.org/show_bug.cgi?id=46513
45428
45429        Test: fast/forms/input-button-sizes.html
45430
45431        The setUpButtonCell function was running only once, but needed to run every time
45432        through the button function.
45433
45434        * platform/mac/ThemeMac.mm:
45435        (WebCore::leakButtonCell): Added. Separate one-time initialization code.
45436        (WebCore::setUpButtonCell): Removed the first-time initialization part of this function.
45437        (WebCore::button): Merged the three functions back into one.
45438
454392010-09-27  Victoria Kirst  <vrk@google.com>
45440
45441        Reviewed by James Robinson.
45442
45443        Modifies VideoLayerChromium to do YUV to RGB color conversion in the
45444        GPU. Also adds support for RGBA video frame formats, though this code
45445        path is currently never run because the video frames are in YV12
45446        format.
45447        https://bugs.webkit.org/show_bug.cgi?id=45069
45448
45449        * platform/graphics/chromium/LayerRendererChromium.cpp:
45450        (WebCore::LayerRendererChromium::initializeSharedObjects):
45451        (WebCore::LayerRendererChromium::cleanupSharedObjects):
45452        * platform/graphics/chromium/LayerRendererChromium.h:
45453        (WebCore::LayerRendererChromium::videoLayerSharedValues):
45454        * platform/graphics/chromium/VideoLayerChromium.cpp:
45455        (WebCore::VideoLayerChromium::SharedValues::SharedValues):
45456        (WebCore::VideoLayerChromium::SharedValues::~SharedValues):
45457        (WebCore::VideoLayerChromium::VideoLayerChromium):
45458        (WebCore::VideoLayerChromium::~VideoLayerChromium):
45459        (WebCore::VideoLayerChromium::updateContents):
45460        (WebCore::VideoLayerChromium::updateYUVContents):
45461        (WebCore::VideoLayerChromium::allocateYUVTextures):
45462        (WebCore::VideoLayerChromium::updateYUVTextures):
45463        (WebCore::VideoLayerChromium::updateRGBAContents):
45464        (WebCore::VideoLayerChromium::allocateTexture):
45465        (WebCore::VideoLayerChromium::updateTexture):
45466        (WebCore::VideoLayerChromium::updateContentsCompleted):
45467        (WebCore::VideoLayerChromium::draw):
45468        (WebCore::VideoLayerChromium::drawYUV):
45469        (WebCore::VideoLayerChromium::drawRGBA):
45470        * platform/graphics/chromium/VideoLayerChromium.h:
45471        (WebCore::VideoLayerChromium::drawsContent):
45472        (WebCore::VideoLayerChromium::SharedValues::yuvShaderProgram):
45473        (WebCore::VideoLayerChromium::SharedValues::rgbaShaderProgram):
45474        (WebCore::VideoLayerChromium::SharedValues::yuvShaderMatrixLocation):
45475        (WebCore::VideoLayerChromium::SharedValues::rgbaShaderMatrixLocation):
45476        (WebCore::VideoLayerChromium::SharedValues::yuvWidthScaleFactorLocation):
45477        (WebCore::VideoLayerChromium::SharedValues::rgbaWidthScaleFactorLocation):
45478        (WebCore::VideoLayerChromium::SharedValues::yTextureLocation):
45479        (WebCore::VideoLayerChromium::SharedValues::uTextureLocation):
45480        (WebCore::VideoLayerChromium::SharedValues::vTextureLocation):
45481        (WebCore::VideoLayerChromium::SharedValues::yuvAlphaLocation):
45482        (WebCore::VideoLayerChromium::SharedValues::rgbaTextureLocation):
45483        (WebCore::VideoLayerChromium::SharedValues::ccMatrixLocation):
45484        (WebCore::VideoLayerChromium::SharedValues::initialized):
45485
454862010-09-27  Peter Kasting  <pkasting@google.com>
45487
45488        Reviewed by James Robinson.
45489
45490        ImageDecoderSkia.cpp needs to check for allocator failure when copying
45491        bitmaps.
45492        https://bugs.webkit.org/show_bug.cgi?id=46437
45493
45494        * manual-tests/large-size-image-crash.html: Added.
45495        * manual-tests/resources/large-size-image-crash.gif: Added.
45496        * platform/image-decoders/ImageDecoder.cpp:
45497        (WebCore::RGBA32Buffer::copyBitmapData):
45498        * platform/image-decoders/ImageDecoder.h:
45499        * platform/image-decoders/gif/GIFImageDecoder.cpp:
45500        (WebCore::GIFImageDecoder::initFrameBuffer):
45501        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
45502        (WebCore::RGBA32Buffer::copyBitmapData):
45503        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
45504        (WebCore::RGBA32Buffer::copyBitmapData):
45505
455062010-09-27  James Robinson  <jamesr@chromium.org>
45507
45508        Reviewed by Simon Fraser.
45509
45510        Revert r63307, it broke repainting dynamically changed SVG content
45511        https://bugs.webkit.org/show_bug.cgi?id=46499
45512
45513        This patch reverts r63307 and adds a regression test for what broke.
45514
45515        Test: fast/repaint/repaint-svg-after-style-change.html
45516
45517        * rendering/RenderForeignObject.cpp:
45518        (WebCore::RenderForeignObject::layout):
45519        * rendering/RenderPath.cpp:
45520        (WebCore::RenderPath::layout):
45521        * rendering/RenderSVGContainer.cpp:
45522        (WebCore::RenderSVGContainer::layout):
45523        * rendering/RenderSVGImage.cpp:
45524        (WebCore::RenderSVGImage::layout):
45525        * rendering/RenderSVGRoot.cpp:
45526        (WebCore::RenderSVGRoot::layout):
45527        * rendering/RenderSVGText.cpp:
45528        (WebCore::RenderSVGText::layout):
45529
455302010-09-27  Vangelis Kokkevis  <vangelis@chromium.org>
45531
45532        Reviewed by James Robinson.
45533
45534        [chromium] Making LayerChromium's destructor virtual so that the appropriate
45535        derived class destructors get called when the layer tree is taken down.
45536        ContentLayerChromium and its derived types (ImageLayerChromium for now) will
45537        free up the texture allocated for their contents upon destruction. To avoid
45538        having the LayerRendererChromium destructor getting called before the layers
45539        are destroyed and thus leaving their textures orphaned, the layers now hold
45540        a ref counted pointer to the renderer that uses them.
45541        https://bugs.webkit.org/show_bug.cgi?id=46139
45542
45543        * platform/graphics/chromium/ContentLayerChromium.cpp:
45544        (WebCore::ContentLayerChromium::~ContentLayerChromium):
45545        (WebCore::ContentLayerChromium::setLayerRenderer):
45546        (WebCore::ContentLayerChromium::cleanupResources):
45547        * platform/graphics/chromium/ContentLayerChromium.h:
45548        * platform/graphics/chromium/LayerChromium.cpp:
45549        (WebCore::LayerChromium::setLayerRenderer):
45550        * platform/graphics/chromium/LayerChromium.h:
45551        (WebCore::LayerChromium::layerRenderer):
45552        * platform/graphics/chromium/LayerRendererChromium.cpp:
45553        (WebCore::LayerRendererChromium::create):
45554        (WebCore::LayerRendererChromium::deleteLayerTexture):
45555        (WebCore::LayerRendererChromium::cleanupSharedObjects):
45556        * platform/graphics/chromium/LayerRendererChromium.h:
45557
455582010-09-27  Erik Arvidsson  <arv@chromium.org>
45559
45560        Reviewed by Darin Adler.
45561
45562        Implement HTML 5's HTMLElement.classList property
45563        https://bugs.webkit.org/show_bug.cgi?id=20709
45564
45565        This adds a DOMTokenList class that is used for the classList property. DOMTokenList uses a SpaceSplitString for fast
45566        contains check. In standards mode the existing classNames is used but in quirks mode we use an internal SpaceSplitString
45567        because classList is always case sensitive.
45568
45569        Tests: fast/dom/HTMLElement/class-list-gc.html
45570               fast/dom/HTMLElement/class-list-quirks.html
45571               fast/dom/HTMLElement/class-list.html
45572               perf/class-list-remove.html
45573
45574        * Android.derived.jscbindings.mk:
45575        * Android.derived.v8bindings.mk:
45576        * Android.jscbindings.mk:
45577        * CMakeLists.txt:
45578        * DerivedSources.cpp:
45579        * DerivedSources.make:
45580        * GNUmakefile.am:
45581        * WebCore.gypi:
45582        * WebCore.pri:
45583        * WebCore.pro:
45584        * WebCore.vcproj/WebCore.vcproj:
45585        * WebCore.xcodeproj/project.pbxproj:
45586        * bindings/gobject/GNUmakefile.am:
45587        * bindings/js/JSElementCustom.cpp:
45588        (WebCore::JSElement::markChildren): Make sure that we keep the wrapper while the element is alive.
45589        * bindings/scripts/CodeGeneratorJS.pm: DOMTokenList has a string indexed getter.
45590        * bindings/scripts/CodeGeneratorV8.pm:
45591        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Added.
45592        (WebCore::toV8):
45593        * dom/Element.cpp:
45594        (WebCore::Element::classList):
45595        (WebCore::Element::optionalClassList):
45596        * dom/Element.h:
45597        * dom/ElementRareData.h: This now has an OwnPtr to a ClassList if the Element::classList is ever called.
45598        * dom/SpaceSplitString.h:
45599        (WebCore::SpaceSplitString::isNull):
45600        * dom/StyledElement.cpp:
45601        (WebCore::StyledElement::classAttributeChanged): Update the classList if it exists.
45602        * dom/StyledElement.h:
45603        * html/DOMTokenList.cpp: Added.
45604        (WebCore::validateToken):
45605        (WebCore::DOMTokenList::DOMTokenList):
45606        (WebCore::DOMTokenList::ref):
45607        (WebCore::DOMTokenList::deref):
45608        (WebCore::DOMTokenList::length):
45609        (WebCore::DOMTokenList::item):
45610        (WebCore::DOMTokenList::contains):
45611        (WebCore::DOMTokenList::containsInternal): The internal methods do no validation of the token.
45612        (WebCore::DOMTokenList::add):
45613        (WebCore::DOMTokenList::addInternal):
45614        (WebCore::DOMTokenList::remove):
45615        (WebCore::DOMTokenList::removeInternal):
45616        (WebCore::DOMTokenList::toggle):
45617        (WebCore::DOMTokenList::toString):
45618        (WebCore::DOMTokenList::reset):
45619        (WebCore::DOMTokenList::classNames):
45620        * html/DOMTokenList.h: Added.
45621        (WebCore::DOMTokenList::create):
45622        (WebCore::DOMTokenList::element):
45623        * html/DOMTokenList.idl: Added.
45624        * html/HTMLElement.idl:
45625        * page/DOMWindow.cpp:
45626        * page/DOMWindow.idl:
45627
456282010-09-27  Kenneth Russell  <kbr@google.com>
45629
45630        Reviewed by James Robinson.
45631
45632        Add local triangulation of cubic curve control points
45633        https://bugs.webkit.org/show_bug.cgi?id=45252
45634
45635        (Re-landing; I neglected to actually add the new files in
45636        http://trac.webkit.org/changeset/68045 .)
45637
45638        Adding a localized triangulation algorithm which takes as input
45639        the four control points of a cubic curve segment and provides both
45640        triangles as well as the ability to walk the interior edges. The
45641        latter will be used later to fill the interior of shapes bounded
45642        by these cubic curves, quadratic curves and line segments.
45643
45644        * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp: Added.
45645        (WebCore::LoopBlinnLocalTriangulator::Triangle::contains):
45646        (WebCore::LoopBlinnLocalTriangulator::Triangle::nextVertex):
45647        (WebCore::LoopBlinnLocalTriangulator::Triangle::indexForVertex):
45648        (WebCore::LoopBlinnLocalTriangulator::Triangle::makeCounterClockwise):
45649        (WebCore::LoopBlinnLocalTriangulator::LoopBlinnLocalTriangulator):
45650        (WebCore::LoopBlinnLocalTriangulator::reset):
45651        (WebCore::LoopBlinnLocalTriangulator::triangulate):
45652        (WebCore::LoopBlinnLocalTriangulator::triangulateHelper):
45653        (WebCore::LoopBlinnLocalTriangulator::addTriangle):
45654        (WebCore::LoopBlinnLocalTriangulator::addInteriorVertex):
45655        (WebCore::LoopBlinnLocalTriangulator::isSharedEdge):
45656        * platform/graphics/gpu/LoopBlinnLocalTriangulator.h: Added.
45657        (WebCore::LoopBlinnLocalTriangulator::Vertex::Vertex):
45658        (WebCore::LoopBlinnLocalTriangulator::Vertex::xyCoordinates):
45659        (WebCore::LoopBlinnLocalTriangulator::Vertex::klmCoordinates):
45660        (WebCore::LoopBlinnLocalTriangulator::Vertex::set):
45661        (WebCore::LoopBlinnLocalTriangulator::Vertex::end):
45662        (WebCore::LoopBlinnLocalTriangulator::Vertex::setEnd):
45663        (WebCore::LoopBlinnLocalTriangulator::Vertex::marked):
45664        (WebCore::LoopBlinnLocalTriangulator::Vertex::setMarked):
45665        (WebCore::LoopBlinnLocalTriangulator::Vertex::interior):
45666        (WebCore::LoopBlinnLocalTriangulator::Vertex::setInterior):
45667        (WebCore::LoopBlinnLocalTriangulator::Vertex::resetFlags):
45668        (WebCore::LoopBlinnLocalTriangulator::Triangle::Triangle):
45669        (WebCore::LoopBlinnLocalTriangulator::Triangle::getVertex):
45670        (WebCore::LoopBlinnLocalTriangulator::Triangle::setVertices):
45671        (WebCore::LoopBlinnLocalTriangulator::getVertex):
45672        (WebCore::LoopBlinnLocalTriangulator::numberOfTriangles):
45673        (WebCore::LoopBlinnLocalTriangulator::getTriangle):
45674        (WebCore::LoopBlinnLocalTriangulator::numberOfInteriorVertices):
45675        (WebCore::LoopBlinnLocalTriangulator::getInteriorVertex):
45676
456772010-09-27  Chris Rogers  <crogers@google.com>
45678
45679        Reviewed by Kenneth Russell.
45680
45681        Add AudioNode files
45682        https://bugs.webkit.org/show_bug.cgi?id=45571
45683
45684        No new tests since audio API is not yet implemented.
45685
45686        * webaudio/AudioNode.cpp: Added.
45687        (WebCore::AudioNode::AudioNode):
45688        (WebCore::AudioNode::~AudioNode):
45689        (WebCore::AudioNode::setType):
45690        (WebCore::AudioNode::lazyInitialize):
45691        (WebCore::AudioNode::addInput):
45692        (WebCore::AudioNode::addOutput):
45693        (WebCore::AudioNode::input):
45694        (WebCore::AudioNode::output):
45695        (WebCore::AudioNode::connect):
45696        (WebCore::AudioNode::disconnect):
45697        (WebCore::AudioNode::processIfNecessary):
45698        (WebCore::AudioNode::pullInputs):
45699        (WebCore::AudioNode::ref):
45700        (WebCore::AudioNode::deref):
45701        (WebCore::AudioNode::finishDeref):
45702        (WebCore::AudioNode::printNodeCounts):
45703        * webaudio/AudioNode.h: Added.
45704        (WebCore::AudioNode::context):
45705        (WebCore::AudioNode::type):
45706        (WebCore::AudioNode::isInitialized):
45707        (WebCore::AudioNode::numberOfInputs):
45708        (WebCore::AudioNode::numberOfOutputs):
45709        (WebCore::AudioNode::sampleRate):
45710        (WebCore::AudioNode::checkNumberOfChannelsForInput):
45711        * webaudio/AudioNode.idl: Added.
45712
457132010-09-27  David Hyatt  <hyatt@apple.com>
45714
45715        Reviewed by Sam Weinig.
45716
45717        https://bugs.webkit.org/show_bug.cgi?id=46665
45718
45719        Patch RenderView's layout and computeLogicalWidth/Height methods to be block-flow-aware.
45720
45721        Added fast/root-lr-basic.html
45722
45723        * rendering/RenderView.cpp:
45724        (WebCore::RenderView::computeLogicalHeight):
45725        (WebCore::RenderView::computeLogicalWidth):
45726        (WebCore::RenderView::layout):
45727        * rendering/RenderView.h:
45728        (WebCore::RenderView::viewLogicalWidth):
45729        (WebCore::RenderView::viewLogicalHeight):
45730
457312010-09-24  Zhenyao Mo  <zmo@google.com>
45732
45733        Reviewed by Kenneth Russell.
45734
45735        Hook up ANGLE with chromium --in-process-webgl port
45736        https://bugs.webkit.org/show_bug.cgi?id=44309
45737
45738        * platform/graphics/GraphicsContext3D.h: Move Angle stuff inside MAC only section.
45739
457402010-09-27  David Hyatt  <hyatt@apple.com>
45741
45742        Reviewed by Sam Weinig.
45743
45744        https://bugs.webkit.org/show_bug.cgi?id=46659
45745
45746        Patch the width/height/x/y calls in layoutBlock() to be their logical equivalents instead.
45747
45748        * rendering/RenderBlock.cpp:
45749        (WebCore::RenderBlock::layoutBlock):
45750
457512010-09-27  David Hyatt  <hyatt@apple.com>
45752
45753        Reviewed by Sam Weinig.
45754
45755        https://bugs.webkit.org/show_bug.cgi?id=46649, fix failing layout tests.
45756
45757        The implementation of setting the before/after margins was wrong and poking the wrong margin values.
45758        
45759        Once I made them set the correct values, it revealed that one of the new block flow tests wasn't
45760        actually working.  In order to fix it, I had to make the block direction margin computation actually
45761        use the containing block's block-flow in order to return the right answer.  This involved cleaning
45762        up computeBlockDirectionMargins to be more like computeInlineDirectionMargins.
45763        
45764        fast/css/logical-property-resolution.html also caught the bug.  Its results are now correct.
45765
45766        * rendering/RenderBlock.cpp:
45767        (WebCore::RenderBlock::adjustPositionedBlock):
45768        (WebCore::RenderBlock::determineHorizontalPosition):
45769        (WebCore::RenderBlock::layoutBlockChild):
45770        (WebCore::RenderBlock::insertFloatingObject):
45771        * rendering/RenderBox.cpp:
45772        (WebCore::RenderBox::setMarginBeforeUsing):
45773        (WebCore::RenderBox::setMarginAfterUsing):
45774        (WebCore::RenderBox::computeLogicalWidth):
45775        (WebCore::RenderBox::computeInlineDirectionMargins):
45776        (WebCore::RenderBox::computeLogicalHeight):
45777        (WebCore::RenderBox::computeBlockDirectionMargins):
45778        * rendering/RenderBox.h:
45779        * rendering/RenderFlexibleBox.cpp:
45780        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
45781        (WebCore::RenderFlexibleBox::layoutVerticalBox):
45782        * rendering/RenderObject.h:
45783        * rendering/RenderTable.cpp:
45784        (WebCore::RenderTable::computeLogicalWidth):
45785        * rendering/RenderTableRow.cpp:
45786        (WebCore::RenderTableRow::layout):
45787        * rendering/style/RenderStyle.cpp:
45788        (WebCore::RenderStyle::marginBeforeUsing):
45789        (WebCore::RenderStyle::marginAfterUsing):
45790        * rendering/style/RenderStyle.h:
45791
457922010-09-14  Zhenyao Mo  <zmo@google.com>
45793
45794        Reviewed by Kenneth Russell.
45795
45796        Textures and renderbuffers should be detached first before deletion if they are attached to framebuffers
45797        https://bugs.webkit.org/show_bug.cgi?id=43942
45798
45799        Test: fast/canvas/webgl/object-deletion-behaviour.html
45800
45801        * html/canvas/WebGLBuffer.cpp:
45802        (WebCore::WebGLBuffer::deleteObjectImpl): Delete the object only once.
45803        * html/canvas/WebGLFramebuffer.cpp: Use RefPtr for attachment WebGLObjects.
45804        (WebCore::WebGLFramebuffer::WebGLFramebuffer):
45805        (WebCore::WebGLFramebuffer::removeAttachment): Remove an attachment data ref.
45806        (WebCore::WebGLFramebuffer::onAttachedObjectChange):
45807        (WebCore::WebGLFramebuffer::getColorBufferFormat):
45808        (WebCore::WebGLFramebuffer::deleteObjectImpl):
45809        (WebCore::WebGLFramebuffer::initializeRenderbuffers):
45810        * html/canvas/WebGLFramebuffer.h: Declare removeAttachment().
45811        * html/canvas/WebGLObject.cpp:
45812        (WebCore::WebGLObject::setObject): Make it protected and can only be called when initializing.
45813        * html/canvas/WebGLObject.h:
45814        (WebCore::WebGLObject::onDetached): Fix a bug.
45815        (WebCore::WebGLObject::isDeleted): Expose the delete flag.
45816        * html/canvas/WebGLProgram.cpp:
45817        (WebCore::WebGLProgram::deleteObjectImpl): Detach shaders when deleting a program.
45818        * html/canvas/WebGLRenderbuffer.cpp:
45819        (WebCore::WebGLRenderbuffer::deleteObjectImpl): Delete the object only once.
45820        * html/canvas/WebGLRenderingContext.cpp:
45821        (WebCore::WebGLRenderingContext::deleteFramebuffer): Bind to internal fbo when deleting the currently-bound fbo.
45822        (WebCore::WebGLRenderingContext::deleteRenderbuffer): Remove renderbuffer from currently-bound fbo upon deletion.
45823        (WebCore::WebGLRenderingContext::deleteTexture): Remove texture from currently-bound fbo upon deletion.
45824        (WebCore::WebGLRenderingContext::useProgram): Fix a condition.
45825        * html/canvas/WebGLShader.cpp:
45826        (WebCore::WebGLShader::deleteObjectImpl): Delete the object only once.
45827        * html/canvas/WebGLTexture.cpp:
45828        (WebCore::WebGLTexture::deleteObjectImpl): Ditto.
45829
458302010-09-27  Ryosuke Niwa  <rniwa@webkit.org>
45831
45832        Reviewed by Antonio Gomes.
45833
45834        stateStyle (@EditorCommand.cpp) should ask EditingBehavior for platform specific behavior
45835        https://bugs.webkit.org/show_bug.cgi?id=41989
45836
45837        queryCommandState returns true even when in the mixed state
45838        https://bugs.webkit.org/show_bug.cgi?id=46382
45839
45840        Fixed stateStyle so that it calls selectionStartHasStyle when shouldToggleStyleBasedOnStartOfSelection
45841        is true (Mac platforms) and calls selectionHasStyle otherwise (non-Mac platforms).
45842
45843        Also fixed queryCommandState so that it only returns true when the state is TrueTriState
45844        as supposed to returning true whenever the state is not FalseTriState. New behavior matches that of
45845        other browsers such as Firefox and Internet Explorer.
45846
45847        * dom/Document.cpp:
45848        (WebCore::Document::queryCommandState):
45849        * editing/EditorCommand.cpp:
45850        (WebCore::executeToggleStyle):
45851        (WebCore::stateStyle):
45852
458532010-09-27  David Hyatt  <hyatt@apple.com>
45854
45855        Reviewed by Dan Bernstein.
45856
45857        https://bugs.webkit.org/show_bug.cgi?id=46647, add getters/setters for the logical position of a box.
45858
45859        Also made all of the logicalWidth/Height getters/setters inline for performance.
45860
45861        * rendering/RenderBox.cpp:
45862        * rendering/RenderBox.h:
45863        (WebCore::RenderBox::logicalLeft):
45864        (WebCore::RenderBox::logicalTop):
45865        (WebCore::RenderBox::logicalWidth):
45866        (WebCore::RenderBox::logicalHeight):
45867        (WebCore::RenderBox::setLogicalLeft):
45868        (WebCore::RenderBox::setLogicalTop):
45869        (WebCore::RenderBox::setLogicalWidth):
45870        (WebCore::RenderBox::setLogicalHeight):
45871        (WebCore::RenderBox::setLogicalLocation):
45872
458732010-09-27  David Hyatt  <hyatt@apple.com>
45874
45875        Reviewed by Sam Weinig.
45876
45877        https://bugs.webkit.org/show_bug.cgi?id=46639, make computeLogicalHeight block-flow-aware.
45878        
45879        This patch does the following:
45880            (1) Makes computeLogicalHeight block-flow-aware (patching all helper functions as needed to make this work).
45881            (2) Makes block flow roots (blocks whose parent has a different block-flow directionality) establish new block formatting contexts.
45882            (This causes them to not collapse their margins with their children and to avoid floats). 
45883            (3) Patch all occurrences of setHeight in block and line layout to setLogicalHeight so that height doesn't get incorrectly
45884            overwritten for lr/rl block-flow.  This is necessary to write tests that examine the width/height of the blocks.
45885        
45886        Added multiple new tests in fast/blockflow.
45887        fast/css/logical-property-resolution gives the correct results now.
45888
45889        * rendering/RenderBlock.cpp:
45890        (WebCore::RenderBlock::MarginInfo::MarginInfo):
45891        (WebCore::RenderBlock::layoutBlock):
45892        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
45893        (WebCore::RenderBlock::adjustFloatingBlock):
45894        (WebCore::RenderBlock::collapseMargins):
45895        (WebCore::RenderBlock::clearFloatsIfNeeded):
45896        (WebCore::RenderBlock::determineHorizontalPosition):
45897        (WebCore::RenderBlock::handleBottomOfBlock):
45898        (WebCore::RenderBlock::layoutBlockChildren):
45899        (WebCore::RenderBlock::layoutBlockChild):
45900        (WebCore::RenderBlock::positionNewFloatOnLine):
45901        (WebCore::RenderBlock::newLine):
45902        (WebCore::RenderBlock::logicalLeftOffsetForLine):
45903        (WebCore::RenderBlock::logicalRightOffsetForContent):
45904        (WebCore::RenderBlock::logicalRightOffsetForLine):
45905        (WebCore::RenderBlock::getClearDelta):
45906        (WebCore::RenderBlock::layoutColumns):
45907        * rendering/RenderBlock.h:
45908        * rendering/RenderBlockLineLayout.cpp:
45909        (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
45910        (WebCore::RenderBlock::layoutInlineChildren):
45911        (WebCore::RenderBlock::determineStartPosition):
45912        (WebCore::RenderBlock::fitBelowFloats):
45913        * rendering/RenderBox.cpp:
45914        (WebCore::RenderBox::marginBefore):
45915        (WebCore::RenderBox::marginBeforeUsing):
45916        (WebCore::RenderBox::marginAfter):
45917        (WebCore::RenderBox::marginAfterUsing):
45918        (WebCore::RenderBox::setMarginBefore):
45919        (WebCore::RenderBox::setMarginAfter):
45920        (WebCore::RenderBox::setMarginBeforeUsing):
45921        (WebCore::RenderBox::setMarginAfterUsing):
45922        (WebCore::RenderBox::computeLogicalHeight):
45923        (WebCore::RenderBox::computeLogicalHeightUsing):
45924        (WebCore::RenderBox::computePercentageLogicalHeight):
45925        (WebCore::RenderBox::computeReplacedHeightUsing):
45926        (WebCore::RenderBox::availableLogicalHeight):
45927        (WebCore::RenderBox::availableLogicalHeightUsing):
45928        (WebCore::RenderBox::computeBlockDirectionMargins):
45929        (WebCore::RenderBox::avoidsFloats):
45930        * rendering/RenderBox.h:
45931        (WebCore::RenderBox::contentLogicalWidth):
45932        (WebCore::RenderBox::contentLogicalHeight):
45933        (WebCore::RenderBox::stretchesToViewHeight):
45934        (WebCore::RenderBox::availableLogicalWidth):
45935        (WebCore::RenderBox::availableWidth):
45936        (WebCore::RenderBox::availableHeight):
45937        (WebCore::RenderBox::isBlockFlowRoot):
45938        * rendering/RenderTable.cpp:
45939        (WebCore::RenderTable::computeLogicalWidth):
45940
459412010-09-27  Mario Sanchez Prada  <msanchez@igalia.com>
45942
45943        Reviewed by Chris Fleizach.
45944
45945        [Gtk] Adjust atk_text_get_text_at_offset to account for bullets/numbers in list items
45946        https://bugs.webkit.org/show_bug.cgi?id=45381
45947
45948        Ensure list markers are consistently used in the Atk wrapper.
45949
45950        This patch does two things (both needed to fix the bug): It
45951        improves the way list items markers are exposed through the Atk
45952        Wrapper (by exposing the exact text in the marker, including the
45953        marker suffix, if any) and makes sure the marker is consistently
45954        considered and treated in those methods of the AtkText interface
45955        that would need it (like atk_text_get_character_count or
45956        atk_text_get_run_attributes, for instance).
45957
45958        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
45959        (textForObject):
45960           Append/prepend list marker when needed.
45961        (webkit_accessible_text_get_text):
45962           Use the new function markerTextWithSuffix() to expose a more
45963           accurate value.
45964        (accessibilityObjectLength):
45965           Consider list items marker to return the length of an object,
45966           if needed. Also, added some extra checks.
45967        (webkit_accessible_text_get_character_count):
45968           Just delegate on accessibilityObjectLength, to make it
45969           cleaner and more consistent.
45970
45971        * rendering/RenderListItem.cpp:
45972        (WebCore::RenderListItem::markerTextWithSuffix):
45973           New public function to return a single string with the
45974           marker associated to the item and its suffix, considering
45975           text direction (LTR or RTL).
45976        * rendering/RenderListItem.h:
45977        * rendering/RenderListMarker.cpp:
45978        (WebCore::RenderListMarker::suffix):
45979           New public function to return a String with the suffix
45980           associated to the marker.
45981        * rendering/RenderListMarker.h:
45982
459832010-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
45984
45985        Unreviewed, rolling out r68389.
45986        http://trac.webkit.org/changeset/68389
45987        https://bugs.webkit.org/show_bug.cgi?id=46637
45988
45989        test_shell is crashing on chromium Win (Requested by loislo on
45990        #webkit).
45991
45992        * inspector/InspectorTimelineAgent.cpp:
45993        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
45994        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
45995        (WebCore::InspectorTimelineAgent::didGC):
45996        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
45997        (WebCore::InspectorTimelineAgent::willCallFunction):
45998        (WebCore::InspectorTimelineAgent::didCallFunction):
45999        (WebCore::InspectorTimelineAgent::willDispatchEvent):
46000        (WebCore::InspectorTimelineAgent::didDispatchEvent):
46001        (WebCore::InspectorTimelineAgent::willLayout):
46002        (WebCore::InspectorTimelineAgent::didLayout):
46003        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
46004        (WebCore::InspectorTimelineAgent::didRecalculateStyle):
46005        (WebCore::InspectorTimelineAgent::willPaint):
46006        (WebCore::InspectorTimelineAgent::didPaint):
46007        (WebCore::InspectorTimelineAgent::willWriteHTML):
46008        (WebCore::InspectorTimelineAgent::didWriteHTML):
46009        (WebCore::InspectorTimelineAgent::didInstallTimer):
46010        (WebCore::InspectorTimelineAgent::didRemoveTimer):
46011        (WebCore::InspectorTimelineAgent::willFireTimer):
46012        (WebCore::InspectorTimelineAgent::didFireTimer):
46013        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
46014        (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
46015        (WebCore::InspectorTimelineAgent::willLoadXHR):
46016        (WebCore::InspectorTimelineAgent::didLoadXHR):
46017        (WebCore::InspectorTimelineAgent::willEvaluateScript):
46018        (WebCore::InspectorTimelineAgent::didEvaluateScript):
46019        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
46020        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
46021        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
46022        (WebCore::InspectorTimelineAgent::didReceiveResourceData):
46023        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
46024        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
46025        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
46026        (WebCore::InspectorTimelineAgent::didMarkTimeline):
46027        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
46028        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
46029        (WebCore::InspectorTimelineAgent::reset):
46030        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
46031        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
46032        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
46033        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
46034        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
46035        * inspector/InspectorTimelineAgent.h:
46036        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
46037        (WebCore::InspectorTimelineAgent::GCEvent::GCEvent):
46038
460392010-09-27  Kinuko Yasuda  <kinuko@google.com>
46040
46041        Reviewed by Adam Barth.
46042
46043        [Cleanup] Add create method to FileSystemCallbacks to get rid of naked new's
46044        https://bugs.webkit.org/show_bug.cgi?id=46561
46045
46046        Also cleanup the callbacks layering to pass AsyncFileSystemCallbacks
46047        object to LocalFileSystem::requestFileSystem (rather than
46048        FileSystemCallback and ErrorCallback) so that all the callbacks class
46049        we pass from WebCore to WebKit/chromium/src will be
46050        AsyncFileSystemCallbacks.
46051
46052        No new tests; this patch is only for cleanup and there should be no functionality changes.
46053
46054        * fileapi/DOMFileSystem.cpp:
46055        (WebCore::DOMFileSystem::getMetadata):
46056        (WebCore::DOMFileSystem::move):
46057        (WebCore::DOMFileSystem::copy):
46058        (WebCore::DOMFileSystem::remove):
46059        (WebCore::DOMFileSystem::getParent):
46060        (WebCore::DOMFileSystem::getFile):
46061        (WebCore::DOMFileSystem::getDirectory):
46062        (WebCore::DOMFileSystem::createWriter):
46063        (WebCore::DOMFileSystem::readDirectory):
46064        * fileapi/FileSystemCallbacks.cpp:
46065        (WebCore::EntryCallbacks::create): Added.
46066        (WebCore::EntriesCallbacks::create): Added.
46067        (WebCore::FileSystemCallbacks::create): Added.
46068        (WebCore::MetadataCallbacks::create): Added.
46069        (WebCore::FileWriterCallbacks::create): Added.
46070        (WebCore::VoidCallbacks::create): Added.
46071        * fileapi/FileSystemCallbacks.h:
46072        * fileapi/LocalFileSystem.cpp:
46073        (WebCore::openFileSystem):
46074        (WebCore::LocalFileSystem::requestFileSystem): Changed to take
46075        AsyncFileSystemCallbacks as (a) callback argument(s).
46076        * fileapi/LocalFileSystem.h:
46077        * page/DOMWindow.cpp:
46078        (WebCore::DOMWindow::requestFileSystem): Made a corresponding change
46079        to LocalFileSystem::requestFileSystem.
46080        * workers/WorkerContext.cpp:
46081        (WebCore::WorkerContext::requestFileSystem): Made a corresponding change
46082        to LocalFileSystem::requestFileSystem.
46083
460842010-09-27  Abhishek Arya  <inferno@chromium.org>
46085
46086        Reviewed by Dave Hyatt.
46087
46088        Fix memory safety issue during positioning list marker as a result of assuming 
46089        that list item's parent can always be casted to a RenderBox. The display of the parent
46090        can be manipluated using css as Inline which causes a bad cast.
46091
46092        https://bugs.webkit.org/show_bug.cgi?id=46384
46093
46094        Test: fast/lists/parent-box-not-box-crash.html
46095
46096        * rendering/RenderListItem.cpp:
46097        (WebCore::RenderListItem::positionListMarker):
46098        * rendering/RenderListMarker.cpp:
46099        (WebCore::RenderListMarker::layout):
46100
461012010-09-19  Martin Robinson  <mrobinson@igalia.com>
46102
46103        Reviewed by Gustavo Noronha Silva.
46104
46105        [GTK] Wrong font instantiated from an unknown font family
46106        https://bugs.webkit.org/show_bug.cgi?id=36548
46107
46108        When FontConfig returns a match for a particular family name, ensure that
46109        the family name matches the configured alias for the original pattern. This
46110        should prevent selecting FontConfig fallbacks in situations where the next
46111        font on the CSS fallback list should be used. This requires moving all FontConfig
46112        matching logic into FontCacheFreeType and out of FontPlatformDataFreeType.
46113        It should be there anyway.
46114
46115        Test: platform/gtk/fonts/font-family-fallback.html
46116
46117        * platform/graphics/cairo/FontCacheFreeType.cpp:
46118        (WebCore::FontCache::platformInit): Simply call FcInit here instead of
46119        deferring to FontPlatformData.
46120        (WebCore::FontCache::getLastResortFallbackFont): The last resort font should
46121        be a fallback font or else the new FontConfig logic may result in null font data
46122        if it cannot find an appropriate match.
46123        (WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Added. Helper function
46124        which converts WebCore fallback names into ones that FontConfig understands.
46125        (WebCore::isFallbackFontAllowed): Added. Helper function that allows FontConfig
46126        fallbacks to be used when generic family names are specified.
46127        (WebCore::FontCache::createFontPlatformData): Move all FontConfig matching logic here
46128        and prevent against the situation where FontConfig returns a different family name
46129        than we asked for.
46130        * platform/graphics/cairo/FontCustomPlatformData.cpp: Updated FontPlatformData constructor.
46131        * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Update the constructor to
46132        take the FcPattern returned and the original FontDescription. We no longer need the other
46133        arguments, because the selection is now done by FontCacheFreeType.
46134        (WebCore::FontPlatformData::FontPlatformData): Remove the FontConfig selection logic from
46135        this code.
46136        * platform/graphics/cairo/FontPlatformDataFreeType.h: Updated method definitions.
46137        * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Fixed includes.
46138        * platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added a PlatformRefPtr specialization
46139        for cairo_font_face_t.
46140        (WTF::refPlatformPtr): Added.
46141        (WTF::derefPlatformPtr): Added.
46142        * platform/graphics/cairo/PlatformRefPtrCairo.h: Updated method definitons.
46143        * platform/graphics/cairo/SimpleFontDataCairo.cpp:
46144        (WebCore::SimpleFontData::smallCapsFontData): Fixed FontPlatformData constructor.
46145
461462010-09-27  Philippe Normand  <pnormand@igalia.com>
46147
46148        Reviewed by Martin Robinson.
46149
46150        [GTK] Doesn't build with gtk+ 2.14
46151        https://bugs.webkit.org/show_bug.cgi?id=46565
46152
46153        Fixed the build for GTK+ 2.14 by adding backward compatible
46154        a backward-compatible function for gtk_menu_item_get_label and a
46155        utility function to create a blank mouse cursor. Those functions
46156        are used in the fullscreen video controller and in the DRT
46157        EventSender.
46158
46159        * platform/gtk/GtkVersioning.c:
46160        (gdk_window_get_root_coords):
46161        (blankCursor):
46162        (gtk_menu_item_get_label):
46163        * platform/gtk/GtkVersioning.h:
46164
461652010-09-23  Stephen White  <senorblanco@chromium.org>
46166
46167        Reviewed by James Robinson.
46168
46169        [CHROMIUM] Fix for canvas clearRect() with clipping active, when
46170        --enable-accelerated-2d-canvas is on.
46171        https://bugs.webkit.org/show_bug.cgi?id=46412
46172
46173        Covered by layout test http://philip.html5.org/tests/canvas/suite/tests/2d.clearRect.clip.html.
46174
46175        * platform/graphics/skia/GraphicsContextSkia.cpp:
46176        (WebCore::GraphicsContext::clearRect):
46177        Check if a clip is active during clipRect(), and force to software
46178        if so.  Force a readback in this case, since clearRect() is not
46179        compatible with mixed-mode rendering.
46180        * platform/graphics/skia/PlatformContextSkia.cpp:
46181        (WebCore::PlatformContextSkia::canvasClipApplied):
46182        * platform/graphics/skia/PlatformContextSkia.h:
46183        Implement accessor to check if a clip is active.
46184
461852010-09-14  Zhenyao Mo  <zmo@google.com>
46186
46187        Reviewed by Kenneth Russell.
46188
46189        drawElements with count=0 and offset = 0 should not generate GL error or crash
46190        https://bugs.webkit.org/show_bug.cgi?id=45769
46191
46192        * html/canvas/WebGLRenderingContext.cpp: Deal with count=0 case.
46193        (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
46194        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
46195        (WebCore::WebGLRenderingContext::drawElements):
46196
461972010-09-16  Zhenyao Mo  <zmo@google.com>
46198
46199        Reviewed by Kenneth Russell.
46200
46201        Fold getString into getParameter and implement new queries
46202        https://bugs.webkit.org/show_bug.cgi?id=40321
46203
46204        Test: fast/canvas/webgl/gl-getstring.html
46205
46206        * html/canvas/WebGLRenderingContext.cpp: Merge getString enums into getParameter.
46207        (WebCore::WebGLRenderingContext::getParameter):
46208        * html/canvas/WebGLRenderingContext.h: Remove getString.
46209        * html/canvas/WebGLRenderingContext.idl: Remove getString.
46210
462112010-09-24  Zhenyao Mo  <zmo@google.com>
46212
46213        Reviewed by Kenneth Russell.
46214
46215        gl-teximage fails on chrome mac bot
46216        https://bugs.webkit.org/show_bug.cgi?id=45332
46217
46218        Add support for alpha first pixel formats.
46219
46220        * platform/graphics/GraphicsContext3D.cpp:
46221        (WebCore::doPacking):
46222        * platform/graphics/GraphicsContext3D.h:
46223        * platform/graphics/cg/GraphicsContext3DCG.cpp:
46224        (WebCore::GraphicsContext3D::getImageData):
46225
462262010-09-17  Yury Semikhatsky  <yurys@chromium.org>
46227
46228        Reviewed by Pavel Feldman.
46229
46230        Web Inspector: implement go-to-line feature
46231        https://bugs.webkit.org/show_bug.cgi?id=45166
46232
46233        * English.lproj/localizedStrings.js:
46234        * inspector/front-end/GoToLineDialog.js: Added.
46235        (WebInspector.GoToLineDialog):
46236        (WebInspector.GoToLineDialog.show):
46237        (WebInspector.GoToLineDialog.prototype._hide):
46238        (WebInspector.GoToLineDialog.prototype._onKeyDown):
46239        (WebInspector.GoToLineDialog.prototype._onBlur):
46240        * inspector/front-end/ScriptsPanel.js:
46241        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
46242        (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
46243        (WebInspector.ScriptsPanel.prototype.showGoToLineDialog):
46244        * inspector/front-end/goToLineDialog.css: Added.
46245        (.go-to-line-dialog):
46246        * inspector/front-end/inspector.html:
46247
462482010-09-24  Pavel Podivilov  <podivilov@chromium.org>
46249
46250        Reviewed by Pavel Feldman.
46251
46252        Web Inspector: add XHR breakpoints sidebar pane to front-end
46253        https://bugs.webkit.org/show_bug.cgi?id=46483
46254
46255        * English.lproj/localizedStrings.js:
46256        * WebCore.gypi:
46257        * inspector/InspectorController.cpp:
46258        (WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
46259        * inspector/InspectorTimelineAgent.h:
46260        * inspector/front-end/BreakpointManager.js:
46261        (WebInspector.BreakpointManager):
46262        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
46263        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
46264        (WebInspector.BreakpointManager.prototype._xhrBreakpointRemoved):
46265        (WebInspector.Breakpoint.prototype.compareTo):
46266        (WebInspector.XHRBreakpoint):
46267        (WebInspector.XHRBreakpoint.prototype.get enabled):
46268        (WebInspector.XHRBreakpoint.prototype.set enabled):
46269        (WebInspector.XHRBreakpoint.prototype.get url):
46270        (WebInspector.XHRBreakpoint.prototype.formatLabel):
46271        (WebInspector.XHRBreakpoint.prototype.compareTo):
46272        (WebInspector.XHRBreakpoint.prototype.remove):
46273        (WebInspector.XHRBreakpoint.prototype._setOnBackend.didSet):
46274        (WebInspector.XHRBreakpoint.prototype._setOnBackend):
46275        (WebInspector.XHRBreakpoint.prototype._removeFromBackend):
46276        * inspector/front-end/BreakpointsSidebarPane.js:
46277        (WebInspector.XHRBreakpointsSidebarPane):
46278        (WebInspector.XHRBreakpointsSidebarPane.prototype._showEditBreakpointDialog):
46279        (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
46280        (WebInspector.BreakpointItem.prototype.compareTo):
46281        (WebInspector.BreakpointItem.prototype._checkboxClicked):
46282        (WebInspector.BreakpointItem.prototype._enableChanged):
46283        (WebInspector.BreakpointItem.prototype._breakpointClicked):
46284        (WebInspector.XHRBreakpointItem):
46285        * inspector/front-end/CallStackSidebarPane.js:
46286        (WebInspector.CallStackSidebarPane.prototype.updateStatus.formatters.s):
46287        (WebInspector.CallStackSidebarPane.prototype.updateStatus.append):
46288        (WebInspector.CallStackSidebarPane.prototype.updateStatus):
46289        * inspector/front-end/DOMAgent.js:
46290        (WebInspector.DOMBreakpoint.prototype.compareTo):
46291        * inspector/front-end/Images/paneAddButtons.png: Added.
46292        * inspector/front-end/ScriptsPanel.js:
46293        (WebInspector.ScriptsPanel):
46294        (WebInspector.ScriptsPanel.prototype.reset):
46295        * inspector/front-end/WebKit.qrc:
46296        * inspector/front-end/inspector.css:
46297        (.pane > .title > button.add):
46298        (.pane > .title > button.add:hover):
46299        (.pane > .title > button.add:active):
46300        (.pane > .body .breakpoint-condition):
46301        * inspector/front-end/inspector.js:
46302        (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
46303        (WebInspector.createXHRBreakpointsSidebarPane):
46304
463052010-09-27  Pavel Feldman  <pfeldman@chromium.org>
46306
46307        Reviewed by Timothy Hatcher.
46308
46309        Web Inspector: Merge AbstractTimelinePanel into ResourcesPanel.
46310        https://bugs.webkit.org/show_bug.cgi?id=46612
46311
46312        I am refactoring resources panel and would like to merge abstract
46313        one back in since it is not use anywhere else.
46314
46315        * WebCore.gypi:
46316        * WebCore.vcproj/WebCore.vcproj:
46317        * inspector/front-end/AbstractTimelinePanel.js: Removed.
46318        * inspector/front-end/ResourceCategory.js:
46319        (WebInspector.ResourceCategory):
46320        (WebInspector.ResourceCategory.prototype.toString):
46321        * inspector/front-end/ResourcesPanel.js:
46322        (WebInspector.ResourcesPanel):
46323        (WebInspector.ResourcesPanel.prototype.get items):
46324        (WebInspector.ResourcesPanel.prototype.createInterface):
46325        (WebInspector.ResourcesPanel.prototype.createFilterPanel.createFilterElement):
46326        (WebInspector.ResourcesPanel.prototype.createFilterPanel):
46327        (WebInspector.ResourcesPanel.prototype.showCategory):
46328        (WebInspector.ResourcesPanel.prototype.hideCategory):
46329        (WebInspector.ResourcesPanel.prototype.filter):
46330        (WebInspector.ResourcesPanel.prototype._updateFilter):
46331        (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
46332        (WebInspector.ResourcesPanel.prototype.get needsRefresh):
46333        (WebInspector.ResourcesPanel.prototype.set needsRefresh):
46334        (WebInspector.ResourcesPanel.prototype.refreshIfNeeded):
46335        (WebInspector.ResourcesPanel.prototype.resize):
46336        (WebInspector.ResourcesPanel.prototype.invalidateAllItems):
46337        (WebInspector.ResourcesPanel.prototype.get calculator):
46338        (WebInspector.ResourcesPanel.prototype.set calculator):
46339        (WebInspector.ResourcesPanel.prototype.addItem):
46340        (WebInspector.ResourcesPanel.prototype.removeItem):
46341        (WebInspector.ResourcesPanel.prototype.refreshItem):
46342        (WebInspector.ResourcesPanel.prototype.revealAndSelectItem):
46343        (WebInspector.ResourcesPanel.prototype.sortItems):
46344        (WebInspector.ResourcesPanel.prototype.adjustScrollPosition):
46345        (WebInspector.ResourcesPanel.prototype.addEventDivider):
46346        (WebInspector.ResourcesPanel.prototype.hideEventDividers):
46347        (WebInspector.ResourcesPanel.prototype.showEventDividers):
46348        (WebInspector.ResourcesPanel.prototype.show):
46349        (WebInspector.ResourcesPanel.prototype.refresh):
46350        (WebInspector.ResourcesPanel.prototype.reset):
46351        (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
46352        (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
46353        (WebInspector.ResourceBaseCalculator):
46354        (WebInspector.ResourceBaseCalculator.prototype.computeSummaryValues):
46355        (WebInspector.ResourceBaseCalculator.prototype.computeBarGraphPercentages):
46356        (WebInspector.ResourceBaseCalculator.prototype.computeBarGraphLabels):
46357        (WebInspector.ResourceBaseCalculator.prototype.get boundarySpan):
46358        (WebInspector.ResourceBaseCalculator.prototype.updateBoundaries):
46359        (WebInspector.ResourceBaseCalculator.prototype.reset):
46360        (WebInspector.ResourceBaseCalculator.prototype._value):
46361        (WebInspector.ResourceBaseCalculator.prototype.formatValue):
46362        (WebInspector.ResourceTimeCalculator):
46363        (WebInspector.ResourceTransferSizeCalculator):
46364        * inspector/front-end/WebKit.qrc:
46365        * inspector/front-end/inspector.html:
46366
463672010-09-27  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
46368
46369        Reviewed by Kenneth Rohde Christiansen.
46370
46371        [Qt] New input style for Qt Mobile theme
46372        https://bugs.webkit.org/show_bug.cgi?id=46461
46373
46374        Rename themeQtMaemo5.css to themeQtMobile.css since it is the theme for all Qt mobile platform.
46375        Adjust new input style.
46376
46377        * WebCore.pri:
46378        * css/themeQtMobile.css: Renamed from css/themeQtMaemo5.css
46379        (select):
46380        (select:disabled):
46381        (select:active):
46382        (select:active:disabled):
46383        (textarea):
46384        (textarea:disabled):
46385        (textarea:active):
46386        * platform/qt/RenderThemeQt.cpp:
46387        (WebCore::RenderThemeQt::extraDefaultStyleSheet): Renamed themeQtMaemo5UserAgentStyleSheet to themeQtMobileUserAgentStyleSheet to match renamed file.
46388
463892010-09-27  Girish Ramakrishnan  <girish@forwardbias.in>
46390
46391        Reviewed by Antonio Gomes.
46392
46393        [Qt] Enable local rendering of NPAPI plugins on Maemo6.
46394
46395        https://bugs.webkit.org/show_bug.cgi?id=46618
46396
46397        * WebCore.pro:
46398        * bridge/npapi.h:
46399        * plugins/PluginView.cpp:
46400        (WebCore::PluginView::setValue):
46401        (WebCore::PluginView::PluginView):
46402        * plugins/PluginView.h:
46403        * plugins/qt/PluginViewQt.cpp:
46404        (WebCore::PluginView::updatePluginWidget):
46405        (WebCore::PluginView::paint):
46406        (WebCore::PluginView::platformGetValueStatic):
46407
464082010-09-27  Ilya Tikhonovsky  <loislo@chromium.org>
46409
46410        Reviewed by Pavel Feldman.
46411
46412        Web Inspector: divide InspectorTimelineAgent into two parts.
46413
46414        We have an idea to split InspectorTimelineAgent into two parts.
46415        The first part is an instrumentation API which can be used for DOM breakpoints too.
46416        The other is the real Timeline agent which do a transformation of raw data into timeline data.
46417
46418        https://bugs.webkit.org/show_bug.cgi?id=46611
46419
46420        * inspector/InspectorTimelineAgent.cpp:
46421        (WebCore::InspectorTimelineAgent2::TimelineRecordEntry::TimelineRecordEntry):
46422        (WebCore::InspectorTimelineAgent2::GCEvent::GCEvent):
46423        (WebCore::InspectorTimelineAgent2::InspectorTimelineAgent2):
46424        (WebCore::InspectorTimelineAgent2::~InspectorTimelineAgent2):
46425        (WebCore::InspectorTimelineAgent2::didGC):
46426        (WebCore::InspectorTimelineAgent2::addRecordToTimeline):
46427        (WebCore::InspectorTimelineAgent2::setHeapSizeStatistic):
46428        (WebCore::InspectorTimelineAgent2::startNewRecord):
46429        (WebCore::InspectorTimelineAgent2::completeCurrentRecord):
46430        (WebCore::InspectorTimelineAgent2::asyncRecord):
46431        (WebCore::InspectorTimelineAgent2::atomicRecord):
46432        (WebCore::InspectorTimelineAgent2::getTopRecordData):
46433        (WebCore::InspectorTimelineAgent2::reset):
46434        (WebCore::InspectorTimelineAgent2::resetFrontendProxyObject):
46435        (WebCore::InspectorTimelineAgent2::pushGCEventRecords):
46436        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
46437        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
46438        (WebCore::InspectorTimelineAgent::reset):
46439        (WebCore::InspectorTimelineAgent::willCallFunction):
46440        (WebCore::InspectorTimelineAgent::didCallFunction):
46441        (WebCore::InspectorTimelineAgent::willDispatchEvent):
46442        (WebCore::InspectorTimelineAgent::didDispatchEvent):
46443        (WebCore::InspectorTimelineAgent::willLayout):
46444        (WebCore::InspectorTimelineAgent::didLayout):
46445        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
46446        (WebCore::InspectorTimelineAgent::didRecalculateStyle):
46447        (WebCore::InspectorTimelineAgent::willPaint):
46448        (WebCore::InspectorTimelineAgent::didPaint):
46449        (WebCore::InspectorTimelineAgent::willWriteHTML):
46450        (WebCore::InspectorTimelineAgent::didWriteHTML):
46451        (WebCore::InspectorTimelineAgent::didInstallTimer):
46452        (WebCore::InspectorTimelineAgent::didRemoveTimer):
46453        (WebCore::InspectorTimelineAgent::willFireTimer):
46454        (WebCore::InspectorTimelineAgent::didFireTimer):
46455        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
46456        (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
46457        (WebCore::InspectorTimelineAgent::willLoadXHR):
46458        (WebCore::InspectorTimelineAgent::didLoadXHR):
46459        (WebCore::InspectorTimelineAgent::willEvaluateScript):
46460        (WebCore::InspectorTimelineAgent::didEvaluateScript):
46461        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
46462        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
46463        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
46464        (WebCore::InspectorTimelineAgent::didReceiveResourceData):
46465        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
46466        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
46467        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
46468        (WebCore::InspectorTimelineAgent::didMarkTimeline):
46469        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
46470        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
46471        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
46472        * inspector/InspectorTimelineAgent.h:
46473
464742010-09-27  Alexander Pavlov  <apavlov@chromium.org>
46475
46476        Reviewed by Sam Weinig.
46477
46478        Implement CSSStyleRule::setSelectorText()
46479
46480        This involves removing the "selectorText" "setter raises(DOMException)" clause from the IDL files,
46481        since the setter no longer raises the exception, as per http://dev.w3.org/csswg/cssom/#dom-cssstylerule-selectortext
46482        https://bugs.webkit.org/show_bug.cgi?id=46487
46483
46484        Test: fast/css/css-set-selector-text.html
46485
46486        * css/CSSPageRule.idl:
46487        * css/CSSStyleRule.cpp:
46488        (WebCore::CSSStyleRule::setSelectorText):
46489        * css/CSSStyleRule.h:
46490        * css/CSSStyleRule.idl:
46491
464922010-09-27  Zoltan Herczeg  <zherczeg@webkit.org>
46493
46494        Reviewed by Dirk Schulze.
46495
46496        Filter builder should be able to follow the filter object dependencies
46497        https://bugs.webkit.org/show_bug.cgi?id=45812
46498
46499        To propagate the changes of a primitive object, a data structure
46500        is needed which stores the dependent primitive objects. (Those
46501        who use the resulting image.) This data structure is implemented
46502        as a hash map, which contains primitive object and set of primitive
46503        objects <key,value> pairs. The hash map is able to follow the
46504        dynamic topology changes.
46505
46506        * rendering/RenderSVGResourceFilter.cpp:
46507        (WebCore::RenderSVGResourceFilter::buildPrimitives):
46508        * rendering/RenderSVGResourceFilterPrimitive.h:
46509        (WebCore::RenderSVGResourceFilterPrimitive::renderName):
46510        (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
46511        * svg/graphics/filters/SVGFilterBuilder.cpp:
46512        (WebCore::SVGFilterBuilder::SVGFilterBuilder):
46513        (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
46514        (WebCore::SVGFilterBuilder::clearEffects):
46515        * svg/graphics/filters/SVGFilterBuilder.h:
46516        (WebCore::SVGFilterBuilder::getEffectReferences):
46517        (WebCore::SVGFilterBuilder::addBuiltinEffects):
46518
465192010-09-27  Andreas Kling  <andreas.kling@nokia.com>
46520
46521        Rubber-stamped by Kenneth Rohde Christiansen.
46522
46523        [Qt] 32-bit Flash crashes on repeated SetWindow calls
46524        https://bugs.webkit.org/show_bug.cgi?id=46616
46525
46526        Re-enable PluginQuirkDontCallSetWindowMoreThanOnce for Qt on x86 Unix.
46527
46528        We incorrectly thought this was fixed in Flash 10, but it turns out it
46529        was just never broken on 64-bit.
46530
46531        * plugins/PluginPackage.cpp:
46532        (WebCore::PluginPackage::determineQuirks):
46533
465342010-09-27  İsmail Dönmez  <ismail@namtrac.org>
46535
46536        Reviewed by Andreas Kling.
46537
46538        Add PluginView::setJavaScriptPaused(bool) stub for WinCE.
46539
46540        * platform/qt/TemporaryLinkStubsQt.cpp:
46541        (PluginView::setJavaScriptPaused):
46542
465432010-09-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
46544
46545        Reviewed by Dirk Schulze.
46546
46547        Bug 46607 -  [WML] Fix a build break when WML is enabled
46548
46549        Fix a build break when WML is enabled.
46550
46551        * wml/WMLElement.cpp: Include HTMLParserIdioms.h
46552        (WebCore::WMLElement::parseMappedAttribute): Add additional parameter to invoke parseHTMLInteger() function. 
46553
465542010-09-26  Patrick Gansterer  <paroga@webkit.org>
46555
46556        Reviewed by Adam Barth.
46557
46558        Remove dead code and fix header includes in ResourceHandleWin
46559        https://bugs.webkit.org/show_bug.cgi?id=46479
46560
46561        Also add missing member varibale from r68167.
46562
46563        * platform/network/ResourceHandle.h:
46564        * platform/network/ResourceHandleInternal.h:
46565        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
46566        * platform/network/win/ResourceHandleWin.cpp:
46567        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
46568        (WebCore::ResourceHandle::~ResourceHandle):
46569        (WebCore::ResourceHandle::onRequestComplete):
46570        * platform/network/win/ResourceHandleWin.h: Removed.
46571
465722010-09-26  Patrick Gansterer  <paroga@webkit.org>
46573
46574        Reviewed by Adam Barth.
46575
46576        Add WTF::StringHasher::createBlobHash
46577        https://bugs.webkit.org/show_bug.cgi?id=46514
46578
46579        Add this function for hashing FormElementKey and QualifiedNameComponents.
46580
46581        * dom/Document.cpp:
46582        (WebCore::FormElementKeyHash::hash):
46583        * dom/QualifiedName.h:
46584        (WebCore::hashComponents):
46585        (WebCore::QualifiedNameHash::hash):
46586
465872010-09-26  David Hyatt  <hyatt@apple.com>
46588
46589        Reviewed by Sam Weinig.
46590
46591        https://bugs.webkit.org/show_bug.cgi?id=46519
46592
46593        Convert the implementation of computeLogicalWidth to work with block-flow.
46594
46595        * rendering/RenderBlock.cpp:
46596        (WebCore::RenderBlock::determineHorizontalPosition):
46597        Patched to call the new computeMarginsInContainingBlockInlineDirection.  Eventually determineHorizontalPosition will
46598        be placing children along the inline direction of the containing block, and those children may have mismatched
46599        block flows.  The new computeMarginsInContainingBlockInlineDirection function is designed to handle that.
46600
46601        * rendering/RenderBox.cpp:
46602        (WebCore::RenderBox::marginStart):
46603        (WebCore::RenderBox::marginStartUsing):
46604        (WebCore::RenderBox::marginEnd):
46605        (WebCore::RenderBox::marginEndUsing):
46606        (WebCore::RenderBox::setMarginStart):
46607        (WebCore::RenderBox::setMarginEnd):
46608        (WebCore::RenderBox::setMarginStartUsing):
46609        (WebCore::RenderBox::setMarginEndUsing):
46610        Helpers that allow for marginStart/End access and that also allow for marginStart/End to be computed based off another
46611        element's block-flow and direction (typically the containing block).
46612        
46613        (WebCore::RenderBox::computeBorderBoxLogicalWidth):
46614        (WebCore::RenderBox::computeBorderBoxLogicalHeight):
46615        (WebCore::RenderBox::computeContentBoxLogicalWidth):
46616        (WebCore::RenderBox::computeContentBoxLogicalHeight):
46617        Patched to use logical border/padding widths and heights.
46618
46619        (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
46620        A function for returning the available logical height of a perpendicular containing block.  If a child has vertical
46621        text for example and its block-flow is "lr", its available logical width is determined by the logical
46622        height of the containing block when that containing block is perpendicular, e.g. "tb".
46623        
46624        (WebCore::RenderBox::computeLogicalWidth):
46625        (WebCore::RenderBox::computeLogicalWidthUsing):
46626        Patched to be block-flow-aware and to use logical width values everywhere.
46627    
46628        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
46629        Patched to use logical widths.
46630        
46631        (WebCore::RenderBox::computeMarginsInContainingBlockInlineDirection):
46632        A new function that is directionally abstract and that can handle the computation of margins in the containing
46633        block's inline direction.  This function is written such that a perpendicular child block flow can still be 
46634        pushed to the center, left or right in the containing block's inline direction.
46635        
46636        (WebCore::RenderBox::computePositionedLogicalWidth):
46637        This function is still largely unpatched.  A future patch will address positioend elements.
46638        
46639        * rendering/RenderBox.h:
46640        (WebCore::RenderBox::stretchesToMinIntrinsicLogicalWidth):
46641        * rendering/RenderFieldset.h:
46642        (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
46643        Renames.
46644        
46645        * rendering/RenderTable.cpp:
46646        (WebCore::RenderTable::computeLogicalWidth):
46647        Renames, but not converted yet. Tables will happen in a future patch.
46648        
46649        * rendering/style/RenderStyle.cpp:
46650        (WebCore::RenderStyle::marginStartUsing):
46651        (WebCore::RenderStyle::marginEndUsing):
46652        * rendering/style/RenderStyle.h:
46653        Added helpers for accessing marginStart and End using another style's direction and block flow (typically will
46654        be the containing block's).
46655
46656        fast/block/basic/016.html changed, since centering now always awards the extra pixel for odd widths to the end margin
46657        instead of the right margin.  This is a progression.
46658        
46659        fast/css/logical-property-values.html is now reporting garbage results, which is expected now that some of the core layout
46660        functions have been patched.
46661
46662        Horizontal block flows are untestable still, since the normal layout process incorrectly blows away any computed height values.
46663
466642010-09-26  Antonio Gomes  <agomes@rim.comg>
46665
46666        Reviewed by Kenneth Rohde Christiansen.
46667
46668        DRT/Mac nodesFromRect support
46669
46670        [Mac][DRT] Implement LayoutTestController::nodesFromRect
46671        https://bugs.webkit.org/show_bug.cgi?id=46580
46672
46673        Symbol files updated.
46674
46675        * WebCore.exp.in: Added symbols to Document::nodesFromRect and bits of JSDocument now
46676        needed in WebKit/mac.
46677        * WebCore.xcodeproj/project.pbxproj: Set both JSDocument.h and JSNodeList as private headers
46678        now that they are referred in WebKit/mac.
46679
466802010-09-26  Adam Barth  <abarth@webkit.org>
46681
46682        Reviewed by Dimitri Glazkov.
46683
46684        Implement location.origin and HTMLAnchorElement.origin
46685        https://bugs.webkit.org/show_bug.cgi?id=46558
46686
46687        These attributes are part of my proposed URL API:
46688        https://docs.google.com/document/edit?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en
46689
46690        Hixie thought we should implement as much of this API as makes sense on
46691        Location and HTMLAnchorElement as well.  I'm starting with the origin
46692        attribute, because that seems like the biggest bang for the buck.
46693
46694        Tests: fast/dom/anchor-origin.html
46695               http/tests/misc/location-origin.html
46696
46697        * WebCore.xcodeproj/project.pbxproj:
46698        * html/HTMLAnchorElement.cpp:
46699        (WebCore::HTMLAnchorElement::origin):
46700        * html/HTMLAnchorElement.h:
46701        * html/HTMLAnchorElement.idl:
46702        * page/Location.cpp:
46703        (WebCore::Location::origin):
46704        * page/Location.h:
46705        * page/Location.idl:
46706
467072010-09-26  Sheriff Bot  <webkit.review.bot@gmail.com>
46708
46709        Unreviewed, rolling out r68343.
46710        http://trac.webkit.org/changeset/68343
46711        https://bugs.webkit.org/show_bug.cgi?id=46581
46712
46713        broke GTK+ (Requested by kling on #webkit).
46714
46715        * html/canvas/CanvasRenderingContext2D.cpp:
46716        (WebCore::CanvasRenderingContext2D::setFont):
46717
467182010-09-25  Antonio Gomes  <agomes@rim.com>
46719
46720        Reviewed by Kenneth Christiansen and Andreas Kling.
46721
46722        document.nodesFromRect() needs to be removed from Document.idl
46723        https://bugs.webkit.org/show_bug.cgi?id=46492
46724
46725        As discussed with Sam Weinig on IRC, it was decided to removed
46726        nodesFromRect() from the Document.idl, and that way, not exposing
46727        it to Web content.
46728
46729        Reason: there is no plan to make it standard at the moment, and at the
46730        very least, the method should had been originally added with the "webkit"
46731        prefix, which was not the case.
46732
46733        * dom/Document.idl:
46734
467352010-09-26  Renata Hodovan  <reni@inf.u-szeged.hu>
46736
46737        Reviewed by Dirk Schulze.
46738
46739        SVGFEBlendElement doesn't support dynamic invalidation, when attributes change.
46740        https://bugs.webkit.org/show_bug.cgi?id=46464
46741
46742        Tests: svg/dynamic-updates/SVGFEBlendElement-dom-in-attr.html
46743               svg/dynamic-updates/SVGFEBlendElement-dom-in2-attr.html
46744               svg/dynamic-updates/SVGFEBlendElement-dom-mode-attr.html
46745               svg/dynamic-updates/SVGFEBlendElement-svgdom-in-prop.html
46746               svg/dynamic-updates/SVGFEBlendElement-svgdom-in2-prop.html
46747               svg/dynamic-updates/SVGFEBlendElement-svgdom-mode-prop.html
46748
46749        * svg/SVGFEBlendElement.cpp:
46750        (WebCore::SVGFEBlendElement::svgAttributeChanged):
46751        * svg/SVGFEBlendElement.h:
46752
467532010-09-26  Andreas Kling  <andreas.kling@nokia.com>
46754
46755        Reviewed by Dan Bernstein.
46756
46757        Canvas: Crash when setting a font with size in 'ex' units
46758        https://bugs.webkit.org/show_bug.cgi?id=46538
46759
46760        update() the style's font after setting the style's font description.
46761        Needed because CSSPrimitiveValue::computeLengthDouble() later assumes
46762        that the style's font is properly initialized (for xHeight().)
46763
46764        Fixes crash on IE test center's canvas-text-font-002 test.
46765
46766        * html/canvas/CanvasRenderingContext2D.cpp:
46767        (WebCore::CanvasRenderingContext2D::setFont):
46768
467692010-09-26  Kwang Yul Seo  <skyul@company100.net>
46770
46771        Reviewed by Eric Seidel.
46772
46773        [BREWMP] Don't pass PassOwnPtr in makeAllDirectories
46774        https://bugs.webkit.org/show_bug.cgi?id=42058
46775
46776        Change makeAllDirectories to take a raw FileMgr pointer
46777        because it is not safe to pass PassOwnPtr recursively.
46778
46779        * platform/brew/FileSystemBrew.cpp:
46780        (WebCore::makeAllDirectories):
46781
467822010-09-26  Robert Hogan  <robert@webkit.org>
46783
46784        Reviewed by Andreas Kling.
46785
46786        [Qt] fix http/tests/uri/escaped-entity.html
46787
46788        Replace invalid encodings with the appropriate escaped entity.
46789
46790        See also http://bugreports.qt.nokia.com/browse/QTBUG-13412
46791
46792        https://bugs.webkit.org/show_bug.cgi?id=45245
46793
46794        * platform/text/qt/TextCodecQt.cpp:
46795        (WebCore::TextCodecQt::encode):
46796
467972010-09-25  Abhishek Arya  <inferno@chromium.org>
46798
46799        Reviewed by Nikolas Zimmermann.
46800
46801        Fix the macro to bail out after setting the SVG style to 'initial'. Check that color is
46802        SVGColor before calling colorFromSVGColorCSSValue which makes sure we don't set invalid
46803        color. Also, doing the static cast in the caller and keeping the function
46804        colorFromSVGColorCSSValue clean to accept only take SVGColor objects.
46805        
46806        https://bugs.webkit.org/show_bug.cgi?id=46471
46807
46808        Test: svg/css/invalid-color-crash.svg
46809
46810        * css/SVGCSSStyleSelector.cpp:
46811        (WebCore::colorFromSVGColorCSSValue):
46812        (WebCore::CSSStyleSelector::applySVGProperty):
46813
468142010-09-25  Ryosuke Niwa  <rniwa@webkit.org>
46815
46816        Reviewed by Tony Chang.
46817
46818        FormatBlockCommand's modifyRange and doApply should be merged
46819        https://bugs.webkit.org/show_bug.cgi?id=46504
46820
46821        Isolated the code in doApply to insert and remove lists for single paragraph into doApplyForSingleParagraph.
46822        Merged the code in modifyRange into doApply and cleaned up.
46823
46824        No new tests are added since this is a cleanup.
46825
46826        * editing/FormatBlockCommand.cpp:
46827        (WebCore::FormatBlockCommand::doApply): Merged with modifyRange; calls doApplyForSingleParagraph.
46828        (WebCore::FormatBlockCommand::doApplyForSingleParagraph): Added.
46829        * editing/FormatBlockCommand.h:
46830
468312010-09-25  Dan Bernstein  <mitz@apple.com>
46832
46833        Reviewed by John Sullivan.
46834
46835        <rdar://problem/8478160> Null deref in InlineBox::height()
46836        https://bugs.webkit.org/show_bug.cgi?id=45344
46837
46838        Test: fast/css/first-line-parent-style-different.html
46839
46840        * rendering/RenderObject.cpp:
46841        (WebCore::RenderObject::firstLineStyleSlowCase): Set the pseudo style bit on the RenderStyle
46842        which is going to supply the first-line style rather than on this object’s RenderStyle. The
46843        styles may differ.
46844
468452010-09-25  Dan Bernstein  <mitz@apple.com>
46846
46847        Reviewed by John Sullivan.
46848
46849        <rdar://problem/8478182> Make canHyphenate() return false for unsupported locales
46850
46851        No change in functionality, hence no new test.
46852
46853        * platform/text/cf/HyphenationCF.cpp:
46854        (WebCore::::createValueForKey): Return 0 if hyphenation is not available for the locale.
46855        (WebCore::cfLocaleCache): Moved the definition of the cache from lastHyphenLocation() to
46856        this new getter to allow canHyphenate() to share it.
46857        (WebCore::canHyphenate): Now returns true only if hyphenation is available.
46858        (WebCore::lastHyphenLocation): Added an assertion.
46859
468602010-09-25  Andreas Kling  <andreas.kling@nokia.com>
46861
46862        Reviewed by Kenneth Rohde Christiansen.
46863
46864        [Qt] GraphicsContext::setLineDash() should scale dashOffset to penWidth
46865        https://bugs.webkit.org/show_bug.cgi?id=46548
46866
46867        Fixes incorrect rendering of <http://www.carto.net/svg/samples/animated_bustrack.shtml>
46868
46869        This is covered by existing layout tests which need to be rebaselined.
46870
46871        * platform/graphics/qt/GraphicsContextQt.cpp:
46872        (WebCore::GraphicsContext::setLineDash):
46873
468742010-09-24  Sam Weinig  <sam@webkit.org>
46875
46876        Rubber-stamped by Dan Bernstein.
46877
46878        Fix accidental increase in the size of InlineBox by using a bit
46879        field to indicate that a bool should only take up 1 bit.
46880
46881        * rendering/InlineBox.h:
46882
468832010-09-24  Simon Fraser  <simon.fraser@apple.com>
46884
46885        Reviewed by Sam Weinig.
46886
46887        Accelerated transitions do not suspend/resume properly.
46888        https://bugs.webkit.org/show_bug.cgi?id=43792
46889        
46890        (1) Fix regression from r68233, where if an animation affected two
46891        properties, only one would animate. The testcase tests this.
46892        
46893        (2) Fix a flash at the end of an animation or transition that has been
46894        paused and resumed. The flash occurred because we used CAAnimation's
46895        timeOffset when resuming to push the start of the animation into
46896        the past. However, timeOffset does not play nicely with fill modes,
46897        causing a single frame of animation with the element in its unanimated state.
46898        
46899        Fixed this by offsetting the beginTime into the past, rather than setting
46900        timeOffset. Normally we submit animations with beginTime == 0, and rely
46901        on CA assigning a beginTime when the animation is committed. This beginTime
46902        is then passed to AnimationController to sync hardware and software animations.
46903        However, since the code now assigns beginTimes in the past (on resume),
46904        we now have to denote whether we've done this, and send an appropriate
46905        timestamp back to AnimationController.
46906        
46907        (3) Finally, the patch removes PropertyAnimationPair and just uses LayerPropertyAnimation
46908        instead. This is just cleanup.
46909
46910        Test: animations/opacity-transform-animation.html
46911
46912        * platform/graphics/mac/GraphicsLayerCA.h: Remove PropertyAnimationPair,
46913        and change AnimationsMap to store a vector of LayerPropertyAnimation.
46914        New method, animationDidStart(), is called from the -animationDidStart: callback.
46915        
46916        * platform/graphics/mac/GraphicsLayerCA.mm:
46917        (-[WebAnimationDelegate animationDidStart:]): Just call m_graphicsLayer->animationDidStart()
46918        now.
46919        (WebCore::animationIdentifier): We need to pass in the property, to fix (1)
46920        (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Copy the WebKitAnimationBeginTimeSet
46921        value, if present.
46922        (WebCore::GraphicsLayerCA::animationDidStart): Call notifyAnimationStarted() on the client,
46923        after testing if we set a non-zero beginTime on this particular animation.
46924        (WebCore::GraphicsLayerCA::updateLayerAnimations): Change to use LayerPropertyAnimation.
46925        (WebCore::GraphicsLayerCA::setCAAnimationOnLayer): Set value for WebKitAnimationBeginTimeSetKey
46926        if we have a non-zero timeOffset. Make animationID an NSString, to avoid several conversions.
46927        (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):  Make animationID an NSString, to
46928        avoid several conversions.
46929        (WebCore::copyAnimationProperties): Copy WebKitAnimationBeginTimeSetKey if present.
46930        (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): Make animationID an NSString, to avoid
46931        several conversions.
46932
469332010-09-24  Andreas Kling  <andreas.kling@nokia.com>
46934
46935        Reviewed by Kenneth Rohde Christiansen.
46936
46937        SVG: Avoid calling pow() in genericParseNumber() unless necessary
46938        https://bugs.webkit.org/show_bug.cgi?id=46537
46939
46940        0.4% speedup on <http://themaninblue.com/experiment/AnimationBenchmark/svg/>
46941
46942        * svg/SVGParserUtilities.cpp:
46943        (WebCore::genericParseNumber): Only call pow() when we have an exponent.
46944
469452010-09-24  Martin Robinson  <mrobinson@igalia.com>
46946
46947        Reviewed by Gustavo Noronha Silva.
46948
46949        [GTK] opening local files on win32
46950        https://bugs.webkit.org/show_bug.cgi?id=31066
46951
46952        This is tested by changes to the testmimehandling API test.
46953
46954        * platform/network/soup/ResourceHandleSoup.cpp: Properly convert the GContentType
46955        of a file into a mime type. This is important for non-Unix platforms.
46956
469572010-09-24  Pawel Hajdan  <phajdan.jr@chromium.org>
46958
46959        Reviewed by Dumitru Daniliuc.
46960
46961        Move the implementation of chromium_vfs to webkit for POSIX.
46962        This allows us to link Chrome with system-provided SQLite on Linux.
46963        See also http://code.google.com/p/chromium/issues/detail?id=22208.
46964        https://bugs.webkit.org/show_bug.cgi?id=45416
46965
46966        No new tests.
46967
46968        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
46969        (sqliteErrorFromPosixError):
46970        (releaseLockInfo):
46971        (releaseOpenInfo):
46972        (findLockInfo):
46973        (chromiumCheckReservedLock):
46974        (rangeLock):
46975        (chromiumLock):
46976        (closePendingFds):
46977        (chromiumUnlock):
46978        (chromiumCloseNoLock):
46979        (chromiumClose):
46980        (chromiumCheckReservedLockNoop):
46981        (chromiumLockNoop):
46982        (chromiumUnlockNoop):
46983        (seekAndRead):
46984        (chromiumRead):
46985        (seekAndWrite):
46986        (chromiumWrite):
46987        (syncWrapper):
46988        (chromiumSync):
46989        (chromiumTruncate):
46990        (chromiumFileSize):
46991        (chromiumFileControl):
46992        (chromiumSectorSize):
46993        (chromiumDeviceCharacteristics):
46994        (fillInChromiumFile):
46995        (findReusableFd):
46996        (chromiumOpen):
46997        (chromiumDelete):
46998        (chromiumAccess):
46999        (chromiumFullPathname):
47000        (chromiumDlOpen):
47001        (chromiumDlError):
47002        (chromiumDlSym):
47003        (chromiumDlClose):
47004        (chromiumRandomness):
47005        (chromiumSleep):
47006        (chromiumCurrentTime):
47007        (chromiumGetLastError):
47008        (WebCore::SQLiteFileSystem::registerSQLiteVFS):
47009
470102010-09-24  Andreas Kling  <andreas.kling@nokia.com>
47011
47012        Reviewed by Dirk Schulze.
47013
47014        SVG: Make SVGLength's stringToLengthType() stricter and faster
47015        https://bugs.webkit.org/show_bug.cgi?id=46066
47016
47017        Only accept unit names immediately following the numeric value.
47018        This behavior matches Gecko.
47019
47020        Also, using String::endsWith("foo") caused a temporary WTF::String to be created.
47021        Avoid this by comparing characters directly.
47022
47023        10.5% speedup on <http://data.xeoh.net/svg.benchmark/>
47024
47025        Test: svg/custom/invalid-length-units.html
47026
47027        * svg/SVGLength.cpp:
47028        (WebCore::stringToLengthType):
47029        (WebCore::SVGLength::setValueAsString):
47030
470312010-09-24  Luiz Agostini  <luiz.agostini@openbossa.org>
47032        Reviewed by Kenneth Rohde Christiansen.
47033
47034        Keep viewport information in Document
47035        https://bugs.webkit.org/show_bug.cgi?id=46385
47036
47037        The viewport meta data (layout viewport, scale) needs to be set again when bringing
47038        back a page from the page cache. As the viewport metadata is only retrieved while parsing
47039        the document, we need to store it in the Document class.
47040
47041        Test: fast/viewport/viewport-128.html
47042
47043        * WebCore.xcodeproj/project.pbxproj:
47044        * dom/Document.cpp:
47045        (WebCore::Document::processViewport):
47046        (WebCore::Document::setInPageCache):
47047        * dom/Document.h:
47048        (WebCore::Document::viewportArguments):
47049        
470502010-09-24  David Hyatt  <hyatt@apple.com>
47051
47052        Reviewed by Sam Weinig.
47053
47054        https://bugs.webkit.org/show_bug.cgi?id=46496, rename containingBlockWidthForContent to
47055        containingBlockLogicalWidthForContent.
47056
47057        * rendering/RenderBlock.cpp:
47058        (WebCore::RenderBlock::localCaretRect):
47059        * rendering/RenderBox.cpp:
47060        (WebCore::RenderBox::containingBlockLogicalWidthForContent):
47061        (WebCore::RenderBox::computeLogicalWidth):
47062        (WebCore::RenderBox::computeReplacedWidthUsing):
47063        * rendering/RenderBox.h:
47064        * rendering/RenderBoxModelObject.cpp:
47065        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
47066        (WebCore::RenderBoxModelObject::containingBlockLogicalWidthForContent):
47067        * rendering/RenderBoxModelObject.h:
47068
470692010-09-24  David Hyatt  <hyatt@apple.com>
47070
47071        Reviewed by Sam Weinig.
47072
47073        https://bugs.webkit.org/show_bug.cgi?id=46489, rename the lineWidth and left/RightOffset methods
47074        to reflect that they will be logical.
47075
47076        * rendering/RenderBlock.cpp:
47077        (WebCore::RenderBlock::determineHorizontalPosition):
47078        (WebCore::RenderBlock::leftSelectionOffset):
47079        (WebCore::RenderBlock::rightSelectionOffset):
47080        (WebCore::RenderBlock::positionNewFloats):
47081        (WebCore::RenderBlock::logicalLeftOffsetForContent):
47082        (WebCore::RenderBlock::logicalLeftOffsetForLine):
47083        (WebCore::RenderBlock::logicalRightOffsetForContent):
47084        (WebCore::RenderBlock::logicalRightOffsetForLine):
47085        (WebCore::RenderBlock::availableLogicalWidthForLine):
47086        (WebCore::RenderBlock::getClearDelta):
47087        * rendering/RenderBlock.h:
47088        (WebCore::RenderBlock::logicalRightOffsetForLine):
47089        (WebCore::RenderBlock::logicalLeftOffsetForLine):
47090        * rendering/RenderBlockLineLayout.cpp:
47091        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
47092        (WebCore::RenderBlock::layoutInlineChildren):
47093        (WebCore::RenderBlock::skipTrailingWhitespace):
47094        (WebCore::RenderBlock::skipLeadingWhitespace):
47095        (WebCore::RenderBlock::fitBelowFloats):
47096        (WebCore::RenderBlock::findNextLineBreak):
47097        (WebCore::RenderBlock::checkLinesForTextOverflow):
47098        * rendering/RenderBox.cpp:
47099        (WebCore::RenderBox::containingBlockWidthForContent):
47100        * rendering/RenderFlexibleBox.cpp:
47101        (WebCore::RenderFlexibleBox::applyLineClamp):
47102        * rendering/RenderListItem.cpp:
47103        (WebCore::RenderListItem::positionListMarker):
47104        * rendering/RenderTable.cpp:
47105        (WebCore::RenderTable::computeLogicalWidth):
47106        * rendering/RootInlineBox.cpp:
47107        (WebCore::RootInlineBox::selectionTop):
47108
471092010-09-24  Abhishek Arya  <inferno@chromium.org>
47110
47111        Reviewed by Simon Fraser.
47112
47113        Comply with spec by generalizing container on which transforms can be applied.
47114        https://bugs.webkit.org/show_bug.cgi?id=46485
47115
47116        Already covered by existing tests.
47117
47118        * rendering/RenderObject.cpp:
47119        (WebCore::RenderObject::getTransformFromContainer):
47120
471212010-09-24  David Hyatt  <hyatt@apple.com>
47122
47123        Reviewed by Simon Fraser.
47124
47125        https://bugs.webkit.org/show_bug.cgi?id=46482, rename the various prefWidth functions to use
47126        preferredLogicalWidth.
47127
47128        * rendering/AutoTableLayout.cpp:
47129        (WebCore::AutoTableLayout::recalcColumn):
47130        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
47131        (WebCore::AutoTableLayout::calcEffectiveWidth):
47132        * rendering/AutoTableLayout.h:
47133        * rendering/FixedTableLayout.cpp:
47134        (WebCore::FixedTableLayout::calcWidthArray):
47135        (WebCore::FixedTableLayout::computePreferredLogicalWidths):
47136        * rendering/FixedTableLayout.h:
47137        * rendering/RenderBlock.cpp:
47138        (WebCore::RenderBlock::layoutBlockChildren):
47139        (WebCore::RenderBlock::layoutPositionedObjects):
47140        (WebCore::RenderBlock::getClearDelta):
47141        (WebCore::RenderBlock::computePreferredLogicalWidths):
47142        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
47143        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
47144        * rendering/RenderBlock.h:
47145        * rendering/RenderBlockLineLayout.cpp:
47146        (WebCore::dirtyLineBoxesForRenderer):
47147        (WebCore::RenderBlock::layoutInlineChildren):
47148        * rendering/RenderBox.cpp:
47149        (WebCore::RenderBox::RenderBox):
47150        (WebCore::RenderBox::minPreferredLogicalWidth):
47151        (WebCore::RenderBox::maxPreferredLogicalWidth):
47152        (WebCore::RenderBox::computeLogicalWidth):
47153        (WebCore::RenderBox::computeLogicalWidthUsing):
47154        (WebCore::RenderBox::computePositionedLogicalWidth):
47155        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
47156        * rendering/RenderBox.h:
47157        (WebCore::RenderBox::computePreferredLogicalWidths):
47158        * rendering/RenderCounter.cpp:
47159        (WebCore::RenderCounter::computePreferredLogicalWidths):
47160        * rendering/RenderCounter.h:
47161        * rendering/RenderDataGrid.cpp:
47162        (WebCore::RenderDataGrid::computePreferredLogicalWidths):
47163        * rendering/RenderDataGrid.h:
47164        * rendering/RenderFieldset.cpp:
47165        (WebCore::RenderFieldset::computePreferredLogicalWidths):
47166        * rendering/RenderFieldset.h:
47167        * rendering/RenderFileUploadControl.cpp:
47168        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
47169        * rendering/RenderFileUploadControl.h:
47170        * rendering/RenderFlexibleBox.cpp:
47171        (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
47172        (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
47173        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
47174        (WebCore::RenderFlexibleBox::allowedChildFlex):
47175        * rendering/RenderFlexibleBox.h:
47176        * rendering/RenderFrameBase.cpp:
47177        (WebCore::RenderFrameBase::layoutWithFlattening):
47178        * rendering/RenderHTMLCanvas.cpp:
47179        (WebCore::RenderHTMLCanvas::canvasSizeChanged):
47180        * rendering/RenderImage.cpp:
47181        (WebCore::RenderImage::imageChanged):
47182        * rendering/RenderListBox.cpp:
47183        (WebCore::RenderListBox::computePreferredLogicalWidths):
47184        * rendering/RenderListBox.h:
47185        * rendering/RenderListItem.cpp:
47186        (WebCore::RenderListItem::updateMarkerLocation):
47187        (WebCore::RenderListItem::computePreferredLogicalWidths):
47188        * rendering/RenderListItem.h:
47189        * rendering/RenderListMarker.cpp:
47190        (WebCore::RenderListMarker::layout):
47191        (WebCore::RenderListMarker::computePreferredLogicalWidths):
47192        (WebCore::RenderListMarker::updateMargins):
47193        * rendering/RenderListMarker.h:
47194        * rendering/RenderMenuList.cpp:
47195        (WebCore::RenderMenuList::computePreferredLogicalWidths):
47196        * rendering/RenderMenuList.h:
47197        * rendering/RenderObject.cpp:
47198        (WebCore::RenderObject::RenderObject):
47199        (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
47200        (WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
47201        * rendering/RenderObject.h:
47202        (WebCore::RenderObject::preferredLogicalWidthsDirty):
47203        (WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc):
47204        (WebCore::RenderObject::minPreferredLogicalWidth):
47205        (WebCore::RenderObject::maxPreferredLogicalWidth):
47206        * rendering/RenderReplaced.cpp:
47207        (WebCore::RenderReplaced::computePreferredLogicalWidths):
47208        * rendering/RenderReplaced.h:
47209        * rendering/RenderReplica.cpp:
47210        (WebCore::RenderReplica::computePreferredLogicalWidths):
47211        * rendering/RenderReplica.h:
47212        * rendering/RenderSVGRoot.cpp:
47213        (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
47214        * rendering/RenderSVGRoot.h:
47215        * rendering/RenderScrollbarPart.cpp:
47216        (WebCore::RenderScrollbarPart::computePreferredLogicalWidths):
47217        * rendering/RenderScrollbarPart.h:
47218        * rendering/RenderSlider.cpp:
47219        (WebCore::RenderSlider::computePreferredLogicalWidths):
47220        * rendering/RenderSlider.h:
47221        * rendering/RenderTable.cpp:
47222        (WebCore::RenderTable::computeLogicalWidth):
47223        (WebCore::RenderTable::computePreferredLogicalWidths):
47224        * rendering/RenderTable.h:
47225        * rendering/RenderTableCell.cpp:
47226        (WebCore::RenderTableCell::computePreferredLogicalWidths):
47227        * rendering/RenderTableCell.h:
47228        * rendering/RenderTableCol.cpp:
47229        (WebCore::RenderTableCol::computePreferredLogicalWidths):
47230        * rendering/RenderTableCol.h:
47231        * rendering/RenderText.cpp:
47232        (WebCore::RenderText::trimmedPrefWidths):
47233        (WebCore::RenderText::minPreferredLogicalWidth):
47234        (WebCore::RenderText::maxPreferredLogicalWidth):
47235        (WebCore::RenderText::computePreferredLogicalWidths):
47236        (WebCore::RenderText::width):
47237        * rendering/RenderText.h:
47238        * rendering/RenderTextControl.cpp:
47239        (WebCore::RenderTextControl::computePreferredLogicalWidths):
47240        * rendering/RenderTextControl.h:
47241        * rendering/RenderTextControlSingleLine.cpp:
47242        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
47243        (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
47244        * rendering/RenderVideo.cpp:
47245        (WebCore::RenderVideo::updateIntrinsicSize):
47246        * rendering/RenderView.cpp:
47247        (WebCore::RenderView::RenderView):
47248        (WebCore::RenderView::computePreferredLogicalWidths):
47249        (WebCore::RenderView::layout):
47250        * rendering/RenderView.h:
47251        * rendering/TableLayout.h:
47252
472532010-09-24  Jian Li  <jianli@chromium.org>
47254
47255        Reviewed by Alexey Proskuryakov.
47256
47257        DOMWindow::revokeBlobURL erroneously uses ParsedURLString.
47258        https://bugs.webkit.org/show_bug.cgi?id=46434
47259
47260        Test: fast/files/revoke-blob-url.html
47261
47262        * page/DOMWindow.cpp:
47263        (WebCore::DOMWindow::revokeBlobURL):
47264
472652010-09-24  David Hyatt  <hyatt@apple.com>
47266
47267        Reviewed by Sam Weinig.
47268
47269        https://bugs.webkit.org/show_bug.cgi?id=46474
47270        
47271        Patch computeWidthUsing to be block-flow-aware.  Rename the WidthType enum to LogicalWidthType.  Make computeLogicalWidthUsing
47272        query the style for logical width properties instead of width properties.
47273        
47274        fast/css/logical-property-resolution.html now fails and gives bad results.  This is expected.  It will become correct
47275        again as more layout code gets patched.
47276
47277        * rendering/RenderBox.cpp:
47278        (WebCore::RenderBox::computeLogicalWidth):
47279        (WebCore::RenderBox::computeLogicalWidthUsing):
47280        (WebCore::RenderBox::sizesToIntrinsicWidth):
47281        * rendering/RenderBox.h:
47282
472832010-09-24  Andrey Kosyakov  <caseq@chromium.org>
47284
47285        Reviewed by Pavel Feldman.
47286
47287        Web Inspector: Clicking "Select All" in audits panel has no effect when the checkbox is unchecked
47288        Only add category event listeners to real categories, not to "Select All"
47289        https://bugs.webkit.org/show_bug.cgi?id=46467
47290
47291        * inspector/front-end/AuditLauncherView.js:
47292        (WebInspector.AuditLauncherView.prototype._createCategoryElement):
47293
472942010-09-24  Hans Wennborg  <hans@chromium.org>
47295
47296        Reviewed by Steve Block.
47297
47298        Remove unnecessary casts in DeviceOrientation V8 bindings
47299        https://bugs.webkit.org/show_bug.cgi?id=46466
47300
47301        Remove unnecessary casts of v8::Value::NumberValue() to double from
47302        the custom v8 bindings code for DeviceOrientation/Motion.
47303
47304        No new tests: just cleanup, no new functionality.
47305
47306        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
47307        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
47308        * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
47309        (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
47310
473112010-09-24  Ilya Tikhonovsky  <loislo@chromium.org>
47312
47313        Reviewed by Pavel Feldman.
47314
47315        Web Inspector: move searchingForNode flag in InspectorController under control of InspectorCookies.
47316
47317        Four functions from Inspector IDL go away.
47318        Searching for node feature of Inspector keeps alive even after navigation.
47319
47320        https://bugs.webkit.org/show_bug.cgi?id=46462
47321
47322        * inspector/Inspector.idl:
47323        * inspector/InspectorController.cpp:
47324        (WebCore::InspectorController::updateInspectorStateCookie):
47325        (WebCore::InspectorController::restoreInspectorStateFromCookie):
47326        (WebCore::InspectorController::setSearchingForNode):
47327        (WebCore::InspectorController::populateScriptObjects):
47328        * inspector/InspectorController.h:
47329        * inspector/front-end/ElementsPanel.js:
47330        (WebInspector.ElementsPanel.prototype.hide):
47331        (WebInspector.ElementsPanel.prototype.updateFocusedNode):
47332        (WebInspector.ElementsPanel.prototype._setSearchingForNode):
47333        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
47334        (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
47335        * inspector/front-end/inspector.js:
47336        (WebInspector._updateFocusedNode):
47337
473382010-09-24  Andrei Popescu  <andreip@google.com>
47339
47340        Reviewed by Jeremy Orlow.
47341
47342        IDBTransactionCoordinator incorrectly assumes that aborted transactions must have been started or running.
47343        https://bugs.webkit.org/show_bug.cgi?id=46459
47344
47345        No new tests, storage/indexeddb/transaction-basics.html covers this.
47346
47347        Also fixes http://code.google.com/p/chromium/issues/detail?id=56732
47348
47349        * storage/IDBTransactionCoordinator.cpp:
47350        (WebCore::IDBTransactionCoordinator::didFinishTransaction):
47351
473522010-09-24  Hans Wennborg  <hans@chromium.org>
47353
47354        Reviewed by Steve Block.
47355
47356        Update DeviceMotionEvent to spec
47357        https://bugs.webkit.org/show_bug.cgi?id=46344
47358
47359        The spec has changed: the DeviceMotionEvent attributes accelerationX,
47360        accelerationY, etc. have been baked into an 'acceleration' attribute
47361        which returns an object with x, y, and z values. Likewise for the
47362        rotation rate. The 'accelerationIncludingGravity' attribute is new.
47363
47364        * WebCore.exp.in:
47365        The DeviceMotionData::create member function has changed. Also export
47366        create functions for DeviceMotionData::Acceleration and RotationRate.
47367
47368        * bindings/js/JSDeviceMotionEventCustom.cpp:
47369        (WebCore::JSDeviceMotionEvent::acceleration):
47370        (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
47371        (WebCore::JSDeviceMotionEvent::rotationRate):
47372        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
47373        Manually create and return objects with the right attributes for
47374        acceleration, accelerationIncludingGravity, and rotationRate.
47375        When creating the DeviceMotionData object in initDeviceMotionEvent,
47376        accept any input objects that have the right attributes.
47377
47378        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
47379        (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
47380        (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
47381        (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
47382        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
47383        V8 counterpart to the JSC code above.
47384
47385        * dom/DeviceMotionData.cpp:
47386        (WebCore::DeviceMotionData::Acceleration::create):
47387        (WebCore::DeviceMotionData::Acceleration::Acceleration):
47388        (WebCore::DeviceMotionData::RotationRate::create):
47389        (WebCore::DeviceMotionData::RotationRate::RotationRate):
47390        (WebCore::DeviceMotionData::create):
47391        (WebCore::DeviceMotionData::DeviceMotionData):
47392        * dom/DeviceMotionData.h:
47393        (WebCore::DeviceMotionData::Acceleration::canProvideX):
47394        (WebCore::DeviceMotionData::Acceleration::canProvideY):
47395        (WebCore::DeviceMotionData::Acceleration::canProvideZ):
47396        (WebCore::DeviceMotionData::Acceleration::x):
47397        (WebCore::DeviceMotionData::Acceleration::y):
47398        (WebCore::DeviceMotionData::Acceleration::z):
47399        (WebCore::DeviceMotionData::RotationRate::canProvideAlpha):
47400        (WebCore::DeviceMotionData::RotationRate::canProvideBeta):
47401        (WebCore::DeviceMotionData::RotationRate::canProvideGamma):
47402        (WebCore::DeviceMotionData::RotationRate::alpha):
47403        (WebCore::DeviceMotionData::RotationRate::beta):
47404        (WebCore::DeviceMotionData::RotationRate::gamma):
47405        (WebCore::DeviceMotionData::acceleration):
47406        (WebCore::DeviceMotionData::accelerationIncludingGravity):
47407        (WebCore::DeviceMotionData::rotationRate):
47408        Add member classes Acceleration and RotationRate to DeviceMotionData.
47409
47410        * dom/DeviceMotionEvent.idl:
47411        Update according to the spec. Acceleration and RotationRate need not
47412        be backed by native classes.
47413
474142010-09-24  Romain Pokrzywka  <romain@kdab.com>
47415
47416        Reviewed by Simon Hausmann.
47417
47418        [Qt] Fix the Wince build.
47419
47420        * WebCore.pro: Apply msvc flags to wince, too.
47421
474222010-09-24  Anders Bakken  <agbakken@gmail.com>
47423
47424        Reviewed by Simon Hausmann.
47425
47426        [Qt] Enable building Qt/Webkit with debug symbols
47427
47428        With this patch one can configure with -webkit-debug to build Webkit
47429        with debug symbols without having to manually edit WebCore.pro.
47430
47431        * WebCore.pro:
47432
474332010-09-24  Yael Aharon  <yael.aharon@nokia.com>
47434
47435        Reviewed by Kenneth Rohde Christiansen.
47436
47437        [Qt] Web Sockets are insecure with QtWebKit
47438        https://bugs.webkit.org/show_bug.cgi?id=44769
47439
47440        Throw an error when the server certificate is not valid.
47441        DRT currently does not support secure websocket connection,
47442        so no new tests. This was tested with the server at 
47443        http://code.google.com/p/pywebsocket instead.
47444
47445        * platform/network/qt/SocketStreamHandleQt.cpp:
47446        (WebCore::SocketStreamHandlePrivate::socketSslErrors):
47447
474482010-09-24  Jia Pu  <jpu@apple.com>
47449
47450        Reviewed by Shinichiro Hamaji.
47451
47452        Need to remove autocorrection underlines in current line when newline is entered.
47453        https://bugs.webkit.org/show_bug.cgi?id=45709
47454        <rdar://problem/8335576>
47455
47456        This change affects only Mac OSX build.
47457
47458        * dom/DocumentMarker.h: Added "CorrectionIndicator" to indicate the words on which we need
47459          to draw autocorrection underline. We cannot use existing "Replacement" for this purpose,
47460          since it is not meant to be removed once it is added. But we need to remove all autocorrection
47461          underlines when a line break or paragraph separator is inserted, which is the behavior in
47462          NSTextView. Hence we need a separate marker value for drawing autocorrection underline.
47463
47464        * editing/Editor.cpp:
47465        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Add "CorrectionIndicator" when
47466          autocorrection takes place.
47467        (WebCore::Editor::changeSelectionAfterCommand): Remove "CorrectionIndicator" markers if the
47468          command results in inserting paragraph separator.
47469
47470        * rendering/InlineTextBox.cpp:
47471        (WebCore::textCheckingLineStyleForMarkerType): Use "CorrectionIndicator" marker instead of
47472          "Replacement" to draw autocorrection underline.
47473        (WebCore::InlineTextBox::paintDocumentMarkers): Ditto.
47474
474752010-09-24  Eric Uhrhane  <ericu@chromium.org>
47476
47477        Reviewed by David Levin.
47478
47479        Remove unnecessary parameter from AsyncFileWriterClient::didTruncate
47480        https://bugs.webkit.org/show_bug.cgi?id=46390
47481
47482        * fileapi/AsyncFileWriterClient.h:
47483
47484        Added state to FileWriter to replace the parameter.
47485        * fileapi/FileWriter.h:
47486        * fileapi/FileWriter.cpp:
47487        (WebCore::FileWriter::truncate):
47488        (WebCore::FileWriter::didTruncate):
47489
474902010-09-24  Sheriff Bot  <webkit.review.bot@gmail.com>
47491
47492        Unreviewed, rolling out r68236.
47493        http://trac.webkit.org/changeset/68236
47494        https://bugs.webkit.org/show_bug.cgi?id=46449
47495
47496        compile fix didn't work (Requested by dino___ on #webkit).
47497
47498        * WebCore.exp.in:
47499        * bindings/js/JSDeviceMotionEventCustom.cpp:
47500        (WebCore::JSDeviceMotionEvent::xAcceleration):
47501        (WebCore::JSDeviceMotionEvent::yAcceleration):
47502        (WebCore::JSDeviceMotionEvent::zAcceleration):
47503        (WebCore::JSDeviceMotionEvent::xRotationRate):
47504        (WebCore::JSDeviceMotionEvent::yRotationRate):
47505        (WebCore::JSDeviceMotionEvent::zRotationRate):
47506        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
47507        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
47508        (WebCore::V8DeviceMotionEvent::xAccelerationAccessorGetter):
47509        (WebCore::V8DeviceMotionEvent::yAccelerationAccessorGetter):
47510        (WebCore::V8DeviceMotionEvent::zAccelerationAccessorGetter):
47511        (WebCore::V8DeviceMotionEvent::xRotationRateAccessorGetter):
47512        (WebCore::V8DeviceMotionEvent::yRotationRateAccessorGetter):
47513        (WebCore::V8DeviceMotionEvent::zRotationRateAccessorGetter):
47514        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
47515        * dom/DeviceMotionData.cpp:
47516        (WebCore::DeviceMotionData::create):
47517        (WebCore::DeviceMotionData::DeviceMotionData):
47518        * dom/DeviceMotionData.h:
47519        (WebCore::DeviceMotionData::xAcceleration):
47520        (WebCore::DeviceMotionData::yAcceleration):
47521        (WebCore::DeviceMotionData::zAcceleration):
47522        (WebCore::DeviceMotionData::xRotationRate):
47523        (WebCore::DeviceMotionData::yRotationRate):
47524        (WebCore::DeviceMotionData::zRotationRate):
47525        (WebCore::DeviceMotionData::canProvideXAcceleration):
47526        (WebCore::DeviceMotionData::canProvideYAcceleration):
47527        (WebCore::DeviceMotionData::canProvideZAcceleration):
47528        (WebCore::DeviceMotionData::canProvideXRotationRate):
47529        (WebCore::DeviceMotionData::canProvideYRotationRate):
47530        (WebCore::DeviceMotionData::canProvideZRotationRate):
47531        * dom/DeviceMotionEvent.idl:
47532
475332010-09-24  Chris Guillory   <chris.guillory@google.com>
47534
47535        Reviewed by Chris Fleizach.
47536
47537        Send webkit accessibility notifications to Chromium.
47538        https://bugs.webkit.org/show_bug.cgi?id=45156
47539
47540        * WebCore.gypi:
47541        * accessibility/chromium/AXObjectCacheChromium.cpp:
47542        (WebCore::AXObjectCache::postPlatformNotification):
47543        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
47544        (WebCore::AXObjectCache::handleScrolledToAnchor):
47545        * dom/Document.cpp:
47546        (WebCore::Document::implicitClose):
47547        (WebCore::Document::setFocusedNode):
47548        * editing/SelectionController.h:
47549        * page/ChromeClient.h:
47550        (WebCore::ChromeClient::postAccessibilityNotification):
47551        * page/FrameView.cpp:
47552        (WebCore::FrameView::layout):
47553
475542010-09-24  David Hyatt  <hyatt@apple.com>
47555
47556        Reviewed by Maciej Stachowiak.
47557
47558        https://bugs.webkit.org/show_bug.cgi?id=46454, rename a bunch of the width and height calculation methods.
47559
47560        calcReplacedWidth -> computeReplacedWidth
47561
47562        calcHorizontalMargins -> computeInlineDirectionMargins
47563
47564        calcVerticalMargins -> computeBlockDirectionMargins
47565
47566        calcWidthUsing -> computeLogicalWidthUsing
47567
47568        calcHeightUsing -> computeLogicalHeightUsing
47569
47570        calcReplacedHeight/HeightUsing -> computeReplacedHeight/HeightUsing
47571
47572        calcAbsoluteHorizontalValues -> computePositionedLogicalWidthUsing
47573
47574        calcAbsoluteVerticalValues -> computePositionedLogicalHeightUsing
47575
47576        calcAbsoluteHorizontal -> computePositionedLogicalWIdth
47577
47578        calcAbsoluteVertical -> computePositionedLogicalHeight
47579
47580        calcAbsoluteHorizontalReplaced -> computePositionedLogicalWidthReplaced
47581
47582        calcAbsoluteVerticalReplaced -> computePositionedLogicalHeightReplaced
47583
47584        calcBorderBoxWidth/Height -> computeBorderBoxLogicalWidth/LogicalHeight
47585
47586        calcContentBoxWidth/Height -> computeContentBoxLogicalWidth/LogicalHeight
47587
47588        shouldCalculateSizeAsReplaced -> shouldComputeSizeAsReplaced
47589
47590        calcPercentageHeight -> computePercentageLogicalHeight
47591
47592        * rendering/AutoTableLayout.cpp:
47593        (WebCore::AutoTableLayout::recalcColumn):
47594        * rendering/RenderBlock.cpp:
47595        (WebCore::RenderBlock::adjustPositionedBlock):
47596        (WebCore::RenderBlock::determineHorizontalPosition):
47597        (WebCore::RenderBlock::layoutBlockChild):
47598        (WebCore::RenderBlock::insertFloatingObject):
47599        (WebCore::RenderBlock::calcPrefWidths):
47600        * rendering/RenderBox.cpp:
47601        (WebCore::RenderBox::computeBorderBoxLogicalWidth):
47602        (WebCore::RenderBox::computeBorderBoxLogicalHeight):
47603        (WebCore::RenderBox::computeContentBoxLogicalWidth):
47604        (WebCore::RenderBox::computeContentBoxLogicalHeight):
47605        (WebCore::RenderBox::computeLogicalWidth):
47606        (WebCore::RenderBox::computeLogicalWidthUsing):
47607        (WebCore::RenderBox::computeInlineDirectionMargins):
47608        (WebCore::RenderBox::computeLogicalHeight):
47609        (WebCore::RenderBox::computeLogicalHeightUsing):
47610        (WebCore::RenderBox::computePercentageLogicalHeight):
47611        (WebCore::RenderBox::computeReplacedWidth):
47612        (WebCore::RenderBox::computeReplacedWidthUsing):
47613        (WebCore::RenderBox::computeReplacedHeight):
47614        (WebCore::RenderBox::computeReplacedHeightUsing):
47615        (WebCore::RenderBox::availableHeightUsing):
47616        (WebCore::RenderBox::computeBlockDirectionMargins):
47617        (WebCore::RenderBox::computePositionedLogicalWidth):
47618        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
47619        (WebCore::RenderBox::computePositionedLogicalHeight):
47620        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
47621        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
47622        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
47623        * rendering/RenderBox.h:
47624        (WebCore::RenderBox::shouldComputeSizeAsReplaced):
47625        * rendering/RenderDataGrid.cpp:
47626        (WebCore::RenderDataGrid::calcPrefWidths):
47627        * rendering/RenderFileUploadControl.cpp:
47628        (WebCore::RenderFileUploadControl::calcPrefWidths):
47629        * rendering/RenderFlexibleBox.cpp:
47630        (WebCore::RenderFlexibleBox::calcPrefWidths):
47631        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
47632        (WebCore::RenderFlexibleBox::layoutVerticalBox):
47633        * rendering/RenderImage.cpp:
47634        (WebCore::RenderImage::computeReplacedWidth):
47635        (WebCore::RenderImage::computeReplacedHeight):
47636        (WebCore::RenderImage::calcAspectRatioWidth):
47637        (WebCore::RenderImage::calcAspectRatioHeight):
47638        * rendering/RenderImage.h:
47639        * rendering/RenderListBox.cpp:
47640        (WebCore::RenderListBox::calcPrefWidths):
47641        * rendering/RenderMenuList.cpp:
47642        (WebCore::RenderMenuList::calcPrefWidths):
47643        * rendering/RenderObject.cpp:
47644        (WebCore::RenderObject::container):
47645        * rendering/RenderObject.h:
47646        (WebCore::RenderObject::computeBlockDirectionMargins):
47647        * rendering/RenderReplaced.cpp:
47648        (WebCore::RenderReplaced::computeReplacedWidth):
47649        (WebCore::RenderReplaced::computeReplacedHeight):
47650        (WebCore::RenderReplaced::calcAspectRatioWidth):
47651        (WebCore::RenderReplaced::calcAspectRatioHeight):
47652        (WebCore::RenderReplaced::calcPrefWidths):
47653        * rendering/RenderReplaced.h:
47654        * rendering/RenderSVGRoot.cpp:
47655        (WebCore::RenderSVGRoot::calcPrefWidths):
47656        (WebCore::RenderSVGRoot::computeReplacedWidth):
47657        (WebCore::RenderSVGRoot::computeReplacedHeight):
47658        * rendering/RenderSVGRoot.h:
47659        * rendering/RenderSlider.cpp:
47660        (WebCore::RenderSlider::calcPrefWidths):
47661        * rendering/RenderTable.cpp:
47662        (WebCore::RenderTable::computeLogicalWidth):
47663        (WebCore::RenderTable::layout):
47664        * rendering/RenderTableRow.cpp:
47665        (WebCore::RenderTableRow::layout):
47666        * rendering/RenderTextControl.cpp:
47667        (WebCore::RenderTextControl::calcPrefWidths):
47668        * rendering/RenderVideo.cpp:
47669        (WebCore::RenderVideo::computeReplacedWidth):
47670        (WebCore::RenderVideo::computeReplacedHeight):
47671        * rendering/RenderVideo.h:
47672
476732010-09-23  David Hyatt  <hyatt@apple.com>
47674
47675        Reviewed by Sam Weinig.
47676
47677        https://bugs.webkit.org/show_bug.cgi?id=46451
47678        
47679        Rename calcWidth to computeLogicalWidth.  Rename calcHeight to computeLogicalHeight.
47680
47681        * rendering/RenderApplet.cpp:
47682        (WebCore::RenderApplet::layout):
47683        * rendering/RenderBlock.cpp:
47684        (WebCore::RenderBlock::layoutBlock):
47685        (WebCore::RenderBlock::insertFloatingObject):
47686        (WebCore::RenderBlock::getClearDelta):
47687        * rendering/RenderBlockLineLayout.cpp:
47688        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
47689        * rendering/RenderBox.cpp:
47690        (WebCore::RenderBox::computeLogicalWidth):
47691        (WebCore::RenderBox::computeLogicalHeight):
47692        (WebCore::RenderBox::calcPercentageHeight):
47693        (WebCore::RenderBox::calcReplacedHeightUsing):
47694        (WebCore::RenderBox::availableHeightUsing):
47695        (WebCore::RenderBox::calcAbsoluteHorizontal):
47696        * rendering/RenderBox.h:
47697        (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
47698        * rendering/RenderEmbeddedObject.cpp:
47699        (WebCore::RenderEmbeddedObject::layout):
47700        * rendering/RenderFlexibleBox.cpp:
47701        (WebCore::RenderFlexibleBox::layoutBlock):
47702        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
47703        (WebCore::RenderFlexibleBox::layoutVerticalBox):
47704        * rendering/RenderForeignObject.cpp:
47705        (WebCore::RenderForeignObject::computeLogicalWidth):
47706        (WebCore::RenderForeignObject::computeLogicalHeight):
47707        * rendering/RenderForeignObject.h:
47708        * rendering/RenderHTMLCanvas.cpp:
47709        (WebCore::RenderHTMLCanvas::canvasSizeChanged):
47710        * rendering/RenderIFrame.cpp:
47711        (WebCore::RenderIFrame::computeLogicalHeight):
47712        (WebCore::RenderIFrame::computeLogicalWidth):
47713        (WebCore::RenderIFrame::layout):
47714        * rendering/RenderIFrame.h:
47715        * rendering/RenderImage.cpp:
47716        (WebCore::RenderImage::imageChanged):
47717        * rendering/RenderIndicator.cpp:
47718        (WebCore::RenderIndicator::layout):
47719        * rendering/RenderListBox.cpp:
47720        (WebCore::RenderListBox::computeLogicalHeight):
47721        * rendering/RenderListBox.h:
47722        * rendering/RenderMeter.cpp:
47723        (WebCore::RenderMeter::computeLogicalWidth):
47724        (WebCore::RenderMeter::computeLogicalHeight):
47725        * rendering/RenderMeter.h:
47726        * rendering/RenderReplaced.cpp:
47727        (WebCore::RenderReplaced::layout):
47728        * rendering/RenderSVGRoot.cpp:
47729        (WebCore::RenderSVGRoot::layout):
47730        * rendering/RenderSlider.cpp:
47731        (WebCore::RenderSlider::layout):
47732        * rendering/RenderTable.cpp:
47733        (WebCore::RenderTable::computeLogicalWidth):
47734        (WebCore::RenderTable::layout):
47735        * rendering/RenderTable.h:
47736        * rendering/RenderTableCell.cpp:
47737        (WebCore::RenderTableCell::computeLogicalWidth):
47738        * rendering/RenderTableCell.h:
47739        * rendering/RenderTextControl.cpp:
47740        (WebCore::RenderTextControl::computeLogicalHeight):
47741        * rendering/RenderTextControl.h:
47742        * rendering/RenderTextControlSingleLine.cpp:
47743        (WebCore::RenderTextControlSingleLine::layout):
47744        (WebCore::RenderTextControlSingleLine::textBlockWidth):
47745        (WebCore::RenderTextControlSingleLine::decorationWidthRight):
47746        (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
47747        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
47748        * rendering/RenderView.cpp:
47749        (WebCore::RenderView::computeLogicalHeight):
47750        (WebCore::RenderView::computeLogicalWidth):
47751        * rendering/RenderView.h:
47752        * svg/SVGSVGElement.cpp:
47753        (WebCore::SVGSVGElement::svgAttributeChanged):
47754
477552010-09-23  Hans Wennborg  <hans@chromium.org>
47756
47757        Reviewed by Simon Fraser.
47758
47759        Update DeviceMotionEvent to spec
47760        https://bugs.webkit.org/show_bug.cgi?id=46344
47761
47762        The spec has changed: the DeviceMotionEvent attributes accelerationX,
47763        accelerationY, etc. have been baked into an 'acceleration' attribute
47764        which returns an object with x, y, and z values. Likewise for the
47765        rotation rate. The 'accelerationIncludingGravity' attribute is new.
47766
47767        * WebCore.exp.in:
47768        The DeviceMotionData::create member function has changed. Also export
47769        create functions for DeviceMotionData::Acceleration and RotationRate.
47770
47771        * bindings/js/JSDeviceMotionEventCustom.cpp:
47772        (WebCore::JSDeviceMotionEvent::acceleration):
47773        (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
47774        (WebCore::JSDeviceMotionEvent::rotationRate):
47775        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
47776        Manually create and return objects with the right attributes for
47777        acceleration, accelerationIncludingGravity, and rotationRate.
47778        When creating the DeviceMotionData object in initDeviceMotionEvent,
47779        accept any input objects that have the right attributes.
47780
47781        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
47782        (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
47783        (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
47784        (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
47785        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
47786        V8 counterpart to the JSC code above.
47787
47788        * dom/DeviceMotionData.cpp:
47789        (WebCore::DeviceMotionData::Acceleration::create):
47790        (WebCore::DeviceMotionData::Acceleration::Acceleration):
47791        (WebCore::DeviceMotionData::RotationRate::create):
47792        (WebCore::DeviceMotionData::RotationRate::RotationRate):
47793        (WebCore::DeviceMotionData::create):
47794        (WebCore::DeviceMotionData::DeviceMotionData):
47795        * dom/DeviceMotionData.h:
47796        (WebCore::DeviceMotionData::Acceleration::canProvideX):
47797        (WebCore::DeviceMotionData::Acceleration::canProvideY):
47798        (WebCore::DeviceMotionData::Acceleration::canProvideZ):
47799        (WebCore::DeviceMotionData::Acceleration::x):
47800        (WebCore::DeviceMotionData::Acceleration::y):
47801        (WebCore::DeviceMotionData::Acceleration::z):
47802        (WebCore::DeviceMotionData::RotationRate::canProvideAlpha):
47803        (WebCore::DeviceMotionData::RotationRate::canProvideBeta):
47804        (WebCore::DeviceMotionData::RotationRate::canProvideGamma):
47805        (WebCore::DeviceMotionData::RotationRate::alpha):
47806        (WebCore::DeviceMotionData::RotationRate::beta):
47807        (WebCore::DeviceMotionData::RotationRate::gamma):
47808        (WebCore::DeviceMotionData::acceleration):
47809        (WebCore::DeviceMotionData::accelerationIncludingGravity):
47810        (WebCore::DeviceMotionData::rotationRate):
47811        Add member classes Acceleration and RotationRate to DeviceMotionData.
47812
47813        * dom/DeviceMotionEvent.idl:
47814        Update according to the spec. Acceleration and RotationRate need not
47815        be backed by native classes.
47816
478172010-09-23  Simon Fraser  <simon.fraser@apple.com>
47818
47819        Reviewed by Dan Bernstein.
47820
47821        Accelerated transitions do not suspend/resume properly.
47822        https://bugs.webkit.org/show_bug.cgi?id=43792
47823        
47824        Fix suspending of accelerated transitions.
47825        
47826        GraphicsLayer changes unify the handling of transitions and animations
47827        in GraphicsLayer. Both are now identified by name, so the code
47828        now refers to "animationName" rather than "keyframesName". Transitions
47829        use a dummy name which is not a valid keyframe identifier.
47830
47831        Tests: animations/suspend-transform-animation.html
47832               transitions/suspend-transform-transition.html
47833
47834        * page/animation/ImplicitAnimation.h:
47835        * page/animation/ImplicitAnimation.cpp:
47836        (WebCore::ImplicitAnimation::pauseAnimation): Call down to the RenderLayerBacking
47837        to tell it that an accelerated transition was paused.
47838
47839        * platform/graphics/GraphicsLayer.h:
47840        * platform/graphics/GraphicsLayer.cpp:
47841        (WebCore::GraphicsLayer::animationNameForTransition): Create a name
47842        for the transition of the given property.
47843        (WebCore::GraphicsLayer::addAnimation): Generalize "keyframe" to "animation" in the parameter names.
47844        (WebCore::GraphicsLayer::pauseAnimation): ditto
47845        (WebCore::GraphicsLayer::removeAnimation): ditto
47846
47847        * platform/graphics/mac/GraphicsLayerCA.h: Parameter renaming, and some method renames for clarity.
47848        (WebCore::GraphicsLayerCA::animationIsRunning):
47849        (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): struct rename for clarity.
47850
47851        * platform/graphics/mac/GraphicsLayerCA.mm:
47852        (WebCore::animationIdentifier): the animationName already has the property baked in.
47853        (WebCore::GraphicsLayerCA::moveOrCopyLayerAnimation): just deals with one animation now.
47854        (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): we have to trawl through
47855        m_runningAnimations to get the identifiers for the animations that need to be copied.
47856        (WebCore::GraphicsLayerCA::addAnimation): rename parameters.
47857        (WebCore::GraphicsLayerCA::pauseAnimation): re-ordered methods here. member var renames.
47858        (WebCore::GraphicsLayerCA::removeAnimation): ditto.
47859        (WebCore::GraphicsLayerCA::updateLayerAnimations): no need to iterate over m_transitionPropertiesToRemove,
47860        and no more divergence between transitions and animations.
47861        (WebCore::GraphicsLayerCA::setCAAnimationOnLayer): renames for clarity.
47862        (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): ditto
47863        (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): ditto
47864        (WebCore::GraphicsLayerCA::createAnimationFromKeyframes): renames
47865        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): renames
47866        (WebCore::GraphicsLayerCA::suspendAnimations): whitespace.
47867
47868        * rendering/RenderLayerBacking.h: Group the transition and animation methods together.
47869        * rendering/RenderLayerBacking.cpp:
47870        (WebCore::RenderLayerBacking::animationPaused): Re-ordered methods for clarity.
47871        (WebCore::RenderLayerBacking::animationFinished): ditto
47872        (WebCore::RenderLayerBacking::startTransition): Use animationNameForTransition() to generate
47873        the animation identifier.
47874        (WebCore::RenderLayerBacking::transitionPaused): Call pauseAnimation, using animationNameForTransition()
47875        to generate the animation identifier.
47876        (WebCore::RenderLayerBacking::transitionFinished): Call removeAnimation, using animationNameForTransition()
47877        to generate the animation identifier.
47878        (WebCore::RenderLayerBacking::notifyAnimationStarted): Moved.
47879        (WebCore::RenderLayerBacking::notifySyncRequired): Moved.
47880
478812010-09-23  David Hyatt  <hyatt@apple.com>
47882
47883        Reviewed by Sam Weinig.
47884
47885        https://bugs.webkit.org/show_bug.cgi?id=46442
47886
47887        Disallow the setting of block-flow to anything other than "tb" for all table-related display types
47888        and flexible box display types.  By disallowing block-flow on the subclasses of RenderBlock like tables
47889        and flexible boxes, we ensure that alterations to the RenderBlock base class won't result in misrenderings
47890        in tables and flexible boxes that try to specify other block flow values.
47891 
47892        * css/CSSStyleSelector.cpp:
47893        (WebCore::CSSStyleSelector::adjustRenderStyle):
47894
478952010-09-23  Kinuko Yasuda  <kinuko@chromium.org>
47896
47897        Reviewed by David Levin.
47898
47899        Add Worker support for FileSystem API
47900        https://bugs.webkit.org/show_bug.cgi?id=45808
47901
47902        Exposed requestFileSystem and Flags constructor on worker contexts.
47903
47904        Also changed how to get the base path for Web file systems (in
47905        non-chromium ports) so that it works for workers too.
47906        This patch assumes each port calls
47907        LocalFileSystem::initializeLocalFileSystem() in its initialization
47908        phase.
47909
47910        No new tests; tests will be added when we have complete implementation.
47911
47912        * bindings/generic/RuntimeEnabledFeatures.cpp:
47913        (WebCore::RuntimeEnabledFeatures::fileSystemEnabled): Changed to
47914        reflect AsyncFileSystem::isAvailable
47915        * bindings/generic/RuntimeEnabledFeatures.h: Moved the implementation
47916        of fileSystemEnabled to .cpp.
47917        * fileapi/LocalFileSystem.cpp:
47918        (WebCore::LocalFileSystem::initializeLocalFileSystem): Added.
47919        (WebCore::LocalFileSystem::localFileSystem): Added.
47920        (WebCore::LocalFileSystem::fileSystemBasePath): Added.
47921        * fileapi/LocalFileSystem.h:
47922        (WebCore::LocalFileSystem::~LocalFileSystem): Removed. (As now it's
47923        going to be used as a singleton.)
47924        * page/DOMWindow.cpp:
47925        (WebCore::DOMWindow::requestFileSystem): Changed to use a singleton
47926        instance of LocalFileSystem.
47927        * page/SecurityOrigin.h:
47928        (WebCore::SecurityOrigin::canAccessFileSystem): Added.
47929        * page/Settings.cpp: Removed fileSystemRootPath method.
47930        * page/Settings.h: Removed fileSystemRootPath method.
47931        * platform/AsyncFileSystem.cpp:
47932        (WebCore::AsyncFileSystem::isAvailable): Added.
47933        * workers/WorkerContext.cpp:
47934        (WebCore::WorkerContext::requestFileSystem): Added to expose
47935        requestFileSystem method in worker contexts.
47936        (WebCore::WorkerContext::Observer): Added.
47937        (WebCore::WorkerContext::registerObserver): Added.
47938        (WebCore::WorkerContext::unregisterObserver): Added.
47939        (WebCore::WorkerContext::notifyObserversOfStop): Added.
47940        * workers/WorkerContext.h:
47941        * workers/WorkerContext.idl:
47942        * workers/WorkerThread.cpp:
47943        (WebCore::WorkerThreadShutdownStartTask::performTask): Modified to
47944        call workerContext->notifyObserversOfStop to notify worker observers
47945        of the worker thread termination.
47946
479472010-09-23  Matthew Delaney  <mdelaney@apple.com>
47948
47949        Reviewed by Oliver Hunt.
47950
47951        Lower the default canvas interpolation quality for platforms that use CG
47952        https://bugs.webkit.org/show_bug.cgi?id=45722
47953
47954        Lowered the default image interpolation quality for platforms that
47955        use CG down to low since this is as good as if not better than
47956        other graphics platforms defaults (being bilinear interpolation).
47957
47958        * html/HTMLCanvasElement.cpp:
47959        (WebCore::HTMLCanvasElement::createImageBuffer):
47960        * html/HTMLCanvasElement.h: Moved in macros for default canvas interp quality.
47961        * platform/graphics/GraphicsContext.h: Moved out macros for default canvas interp quality. It makes more sense for them to be housed where they're used.
47962
479632010-09-23  David Hyatt  <hyatt@apple.com>
47964
47965        Reviewed by Adele Peterson.
47966
47967        https://bugs.webkit.org/show_bug.cgi?id=46414, rename line box methods that refer specifically to
47968        "horizontal" and "vertical."  Replace those terms with "inline direction" and "block direction."
47969
47970        * rendering/InlineFlowBox.cpp:
47971        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
47972        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
47973        (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
47974        * rendering/InlineFlowBox.h:
47975        (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
47976        (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
47977        * rendering/RenderBlock.h:
47978        * rendering/RenderBlockLineLayout.cpp:
47979        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
47980        (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
47981        (WebCore::RenderBlock::layoutInlineChildren):
47982        * rendering/RootInlineBox.cpp:
47983        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
47984        * rendering/RootInlineBox.h:
47985
479862010-09-23  Andrew Wilson  <atwilson@chromium.org>
47987
47988        Unreviewed, rolling out r68197.
47989        http://trac.webkit.org/changeset/68197
47990        https://bugs.webkit.org/show_bug.cgi?id=46344
47991
47992        Breaks
47993
47994        * WebCore.exp.in:
47995        * bindings/js/JSDeviceMotionEventCustom.cpp:
47996        (WebCore::JSDeviceMotionEvent::xAcceleration):
47997        (WebCore::JSDeviceMotionEvent::yAcceleration):
47998        (WebCore::JSDeviceMotionEvent::zAcceleration):
47999        (WebCore::JSDeviceMotionEvent::xRotationRate):
48000        (WebCore::JSDeviceMotionEvent::yRotationRate):
48001        (WebCore::JSDeviceMotionEvent::zRotationRate):
48002        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
48003        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
48004        (WebCore::V8DeviceMotionEvent::xAccelerationAccessorGetter):
48005        (WebCore::V8DeviceMotionEvent::yAccelerationAccessorGetter):
48006        (WebCore::V8DeviceMotionEvent::zAccelerationAccessorGetter):
48007        (WebCore::V8DeviceMotionEvent::xRotationRateAccessorGetter):
48008        (WebCore::V8DeviceMotionEvent::yRotationRateAccessorGetter):
48009        (WebCore::V8DeviceMotionEvent::zRotationRateAccessorGetter):
48010        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
48011        * dom/DeviceMotionData.cpp:
48012        (WebCore::DeviceMotionData::create):
48013        (WebCore::DeviceMotionData::DeviceMotionData):
48014        * dom/DeviceMotionData.h:
48015        (WebCore::DeviceMotionData::xAcceleration):
48016        (WebCore::DeviceMotionData::yAcceleration):
48017        (WebCore::DeviceMotionData::zAcceleration):
48018        (WebCore::DeviceMotionData::xRotationRate):
48019        (WebCore::DeviceMotionData::yRotationRate):
48020        (WebCore::DeviceMotionData::zRotationRate):
48021        (WebCore::DeviceMotionData::canProvideXAcceleration):
48022        (WebCore::DeviceMotionData::canProvideYAcceleration):
48023        (WebCore::DeviceMotionData::canProvideZAcceleration):
48024        (WebCore::DeviceMotionData::canProvideXRotationRate):
48025        (WebCore::DeviceMotionData::canProvideYRotationRate):
48026        (WebCore::DeviceMotionData::canProvideZRotationRate):
48027        * dom/DeviceMotionEvent.idl:
48028
480292010-09-23  David Hyatt  <hyatt@apple.com>
48030
48031        Reviewed by Adele Peterson.
48032
48033        https://bugs.webkit.org/show_bug.cgi?id=46403, convert the margin/border/padding accessors
48034        to be logical.
48035
48036        * rendering/InlineFlowBox.cpp:
48037        (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth):
48038        (WebCore::InlineFlowBox::placeBoxesHorizontally):
48039        (WebCore::InlineFlowBox::paintBoxShadow):
48040        (WebCore::InlineFlowBox::paintBoxDecorations):
48041        (WebCore::InlineFlowBox::paintTextDecorations):
48042        * rendering/InlineFlowBox.h:
48043        (WebCore::InlineFlowBox::InlineFlowBox):
48044        (WebCore::InlineFlowBox::marginBorderPaddingLogicalLeft):
48045        (WebCore::InlineFlowBox::marginBorderPaddingLogicalRight):
48046        (WebCore::InlineFlowBox::marginLogicalLeft):
48047        (WebCore::InlineFlowBox::marginLogicalRight):
48048        (WebCore::InlineFlowBox::borderLogicalLeft):
48049        (WebCore::InlineFlowBox::borderLogicalRight):
48050        (WebCore::InlineFlowBox::paddingLogicalLeft):
48051        (WebCore::InlineFlowBox::paddingLogicalRight):
48052        (WebCore::InlineFlowBox::includeLogicalLeftEdge):
48053        (WebCore::InlineFlowBox::includeLogicalRightEdge):
48054        (WebCore::InlineFlowBox::setEdges):
48055        * rendering/RenderBlockLineLayout.cpp:
48056        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
48057        * rendering/RenderBox.cpp:
48058        (WebCore::RenderBox::containingBlockWidthForPositioned):
48059        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
48060        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
48061        * rendering/RenderBoxModelObject.cpp:
48062        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
48063
480642010-09-23  Jeff Schiller  <jeffschiller@google.com>
48065
48066        Reviewed by David Hyatt.
48067
48068        Ensure that SVG documents included by reference (object, iframe, embed) have transparent
48069        backgrounds (not white).  https://bugs.webkit.org/show_bug.cgi?id=10687
48070
48071        Test: svg/in-html/by-reference.html
48072
48073        * dom/Document.cpp:
48074        (WebCore::Document::hasSVGRootNode):
48075        * dom/Document.h:
48076        (WebCore::Document::hasSVGRootNode):
48077        * rendering/RenderBoxModelObject.cpp:
48078        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
48079
480802010-09-23  Hans Wennborg  <hans@chromium.org>
48081
48082        Reviewed by Simon Fraser.
48083
48084        Update DeviceMotionEvent to spec
48085        https://bugs.webkit.org/show_bug.cgi?id=46344
48086
48087        The spec has changed: the DeviceMotionEvent attributes accelerationX,
48088        accelerationY, etc. have been baked into an 'acceleration' attribute
48089        which returns an object with x, y, and z values. Likewise for the
48090        rotation rate. The 'accelerationIncludingGravity' attribute is new.
48091
48092        * WebCore.exp.in:
48093        The DeviceMotionData::create member function has changed. Also export
48094        create functions for DeviceMotionData::Acceleration and RotationRate.
48095
48096        * bindings/js/JSDeviceMotionEventCustom.cpp:
48097        (WebCore::JSDeviceMotionEvent::acceleration):
48098        (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
48099        (WebCore::JSDeviceMotionEvent::rotationRate):
48100        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
48101        Manually create and return objects with the right attributes for
48102        acceleration, accelerationIncludingGravity, and rotationRate.
48103        When creating the DeviceMotionData object in initDeviceMotionEvent,
48104        accept any input objects that have the right attributes.
48105
48106        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
48107        (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
48108        (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
48109        (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
48110        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
48111        V8 counterpart to the JSC code above.
48112
48113        * dom/DeviceMotionData.cpp:
48114        (WebCore::DeviceMotionData::Acceleration::create):
48115        (WebCore::DeviceMotionData::Acceleration::Acceleration):
48116        (WebCore::DeviceMotionData::RotationRate::create):
48117        (WebCore::DeviceMotionData::RotationRate::RotationRate):
48118        (WebCore::DeviceMotionData::create):
48119        (WebCore::DeviceMotionData::DeviceMotionData):
48120        * dom/DeviceMotionData.h:
48121        (WebCore::DeviceMotionData::Acceleration::canProvideX):
48122        (WebCore::DeviceMotionData::Acceleration::canProvideY):
48123        (WebCore::DeviceMotionData::Acceleration::canProvideZ):
48124        (WebCore::DeviceMotionData::Acceleration::x):
48125        (WebCore::DeviceMotionData::Acceleration::y):
48126        (WebCore::DeviceMotionData::Acceleration::z):
48127        (WebCore::DeviceMotionData::RotationRate::canProvideAlpha):
48128        (WebCore::DeviceMotionData::RotationRate::canProvideBeta):
48129        (WebCore::DeviceMotionData::RotationRate::canProvideGamma):
48130        (WebCore::DeviceMotionData::RotationRate::alpha):
48131        (WebCore::DeviceMotionData::RotationRate::beta):
48132        (WebCore::DeviceMotionData::RotationRate::gamma):
48133        (WebCore::DeviceMotionData::acceleration):
48134        (WebCore::DeviceMotionData::accelerationIncludingGravity):
48135        (WebCore::DeviceMotionData::rotationRate):
48136        Add member classes Acceleration and RotationRate to DeviceMotionData.
48137
48138        * dom/DeviceMotionEvent.idl:
48139        Update according to the spec. Acceleration and RotationRate need not
48140        be backed by native classes.
48141
481422010-09-23  Patrick Gansterer  <paroga@webkit.org>
48143
48144        Reviewed by Adam Roben.
48145
48146        Set synchronous handle in ResourceHandleWin
48147        https://bugs.webkit.org/show_bug.cgi?id=46395
48148
48149        When loading synchronous network resources, we need to use a synchronous internet handle.
48150
48151        * platform/network/ResourceHandle.h:
48152        * platform/network/win/ResourceHandleWin.cpp:
48153        (WebCore::ResourceHandle::loadResourceSynchronously):
48154        (WebCore::ResourceHandle::setSynchronousInternetHandle):
48155
481562010-09-23  Alexey Proskuryakov  <ap@apple.com>
48157
48158        Reviewed by Darin Adler.
48159
48160        https://bugs.webkit.org/show_bug.cgi?id=46326
48161        Crash when trying to create a NodeIterator rooted at a document-less DocumentType node
48162
48163        Test: fast/dom/node-iterator-with-doctype-root.html
48164
48165        * dom/Document.cpp: (WebCore::Document::detachNodeIterator): Added a comment explaining that
48166        attach/detach may not always be paired.
48167
48168        * dom/NodeIterator.cpp:
48169        (WebCore::NodeIterator::NodeIterator): Don't try to register with the document if there is none.
48170        (WebCore::NodeIterator::~NodeIterator): Ditto.
48171        (WebCore::NodeIterator::detach): Ditto.
48172        (WebCore::NodeIterator::updateForNodeRemoval): There should be a document if we're getting a
48173        notification.
48174
481752010-09-23  Patrick Gansterer  <paroga@webkit.org>
48176
48177        Reviewed by Adam Roben.
48178
48179        Add synchronous loading for local files to ResourceHandleWin
48180        https://bugs.webkit.org/show_bug.cgi?id=46392
48181
48182        * platform/network/win/ResourceHandleWin.cpp:
48183        (WebCore::ResourceHandle::start):
48184
481852010-09-23  Patrick Gansterer  <paroga@webkit.org>
48186
48187        Reviewed by Adam Roben.
48188
48189        Remove (has|set)ReceivedResponse() from public ResourceHandleWin API
48190        https://bugs.webkit.org/show_bug.cgi?id=46391
48191
48192        There is no need for this functions to be public, so remove them.
48193
48194        * platform/network/ResourceHandle.h:
48195        * platform/network/win/ResourceHandleWin.cpp:
48196        (WebCore::ResourceHandle::onRequestComplete):
48197
481982010-09-23  David Hyatt  <hyatt@apple.com>
48199
48200        Reviewed by Adele Peterson.
48201
48202        https://bugs.webkit.org/show_bug.cgi?id=46400
48203        
48204        Add logicalLeft/Top getter/setters to line boxes.
48205
48206        * rendering/InlineBox.h:
48207        (WebCore::InlineBox::logicalLeft):
48208        (WebCore::InlineBox::setLogicalLeft):
48209        (WebCore::InlineBox::logicalTop):
48210        (WebCore::InlineBox::setLogicalTop):
48211
482122010-09-23  Matthew Delaney  <mdelaney@apple.com>
48213
48214        Reviewed by Simon Fraser.
48215
48216        Reduce minimum DOMTimer interval
48217        https://bugs.webkit.org/show_bug.cgi?id=45362
48218
48219        Since the setInterval call is meant to reflect a global change for
48220        all pages' DOMTimers, it's misleading to have it be a method on a
48221        given page's settings' object. Thus, this patch changes the call to be static.
48222
48223        This simple change to using a static call instead of the page's setting's
48224        method doesn't warrant a test.
48225
48226        * page/Settings.h: Changed the setInterval call to be static.
48227
482282010-09-23  David Hyatt  <hyatt@apple.com>
48229
48230        Reviewed by Dan Bernstein.
48231
48232        https://bugs.webkit.org/show_bug.cgi?id=46386, give line boxes a vertical bit so that it's easy to know
48233        the overall direction of the line without having to ask the containing block.
48234
48235        Also couldn't resist some cleanup.  Tightened up the type of the renderobject passed to RootInlineBox's
48236        constructor to be a RenderBlock.  Moved all the virtual logical height stuff outside of the SVG ifdef
48237        since TrailingFloatsRootInlineBox uses it and should work without SVG enabled.
48238
48239        * rendering/EllipsisBox.h:
48240        (WebCore::EllipsisBox::EllipsisBox):
48241        * rendering/InlineBox.h:
48242        (WebCore::InlineBox::InlineBox):
48243        (WebCore::InlineBox::isVertical):
48244        (WebCore::InlineBox::setIsVertical):
48245        * rendering/InlineFlowBox.cpp:
48246        (WebCore::InlineFlowBox::addToLine):
48247        * rendering/RootInlineBox.cpp:
48248        (WebCore::RootInlineBox::RootInlineBox):
48249        (WebCore::RootInlineBox::placeEllipsis):
48250        * rendering/RootInlineBox.h:
48251        * rendering/SVGRootInlineBox.h:
48252        (WebCore::SVGRootInlineBox::SVGRootInlineBox):
48253        * rendering/TrailingFloatsRootInlineBox.h:
48254        (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
48255
482562010-09-23  Patrick Gansterer  <paroga@webkit.org>
48257
48258        Reviewed by Adam Roben.
48259
48260        Check for a valid ResourceHandleClient in ResourceHandleWin
48261        https://bugs.webkit.org/show_bug.cgi?id=46389
48262
48263        * platform/network/win/ResourceHandleWin.cpp:
48264        (WebCore::ResourceHandle::onRequestComplete): Add checks to ensure client() is not 0.
48265
482662010-09-23  Patrick Gansterer  <paroga@webkit.org>
48267
48268        Reviewed by Adam Roben.
48269
48270        Fix ResourceHandleWin::cancel() for network resources 
48271        https://bugs.webkit.org/show_bug.cgi?id=46383
48272
48273        * platform/network/win/ResourceHandleWin.cpp:
48274        (WebCore::ResourceHandle::onRequestComplete): Check it requestHandle is not 0.
48275        (WebCore::ResourceHandle::cancel): Set requestHandle to 0.
48276
482772010-09-23  Patrick Gansterer  <paroga@webkit.org>
48278
48279        Reviewed by Adam Roben.
48280
48281        Add handling for form data and additional HTTP headers in ResourceHandleWin
48282        https://bugs.webkit.org/show_bug.cgi?id=46369
48283
48284        * platform/network/win/ResourceHandleWin.cpp:
48285        (WebCore::ResourceHandle::start):
48286
482872010-09-23  Eric Carlson  <eric.carlson@apple.com>
48288
48289        Reviewed by Simon Fraser
48290
48291        'seeking' event should always fire
48292        https://bugs.webkit.org/show_bug.cgi?id=45694
48293
48294        Update seek algorithm to match current spec.
48295
48296        * html/HTMLMediaElement.cpp:
48297        (WebCore::HTMLMediaElement::setReadyState): Don't need to fire 'seeking' event here.
48298        (WebCore::HTMLMediaElement::seek): Always fire 'seeking'. Update comments.
48299        (WebCore::HTMLMediaElement::finishSeek): Update comments.
48300        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
48301
483022010-09-23  Eric Uhrhane  <ericu@chromium.org>
48303
48304        Reviewed by David Levin.
48305
48306        Rename FileWriterClient to AsyncFileWriterClient.
48307        https://bugs.webkit.org/show_bug.cgi?id=46325
48308
48309        * GNUmakefile.am:
48310        * WebCore.gypi:
48311        * WebCore.vcproj/WebCore.vcproj:
48312        * WebCore.xcodeproj/project.pbxproj:
48313        * fileapi/AsyncFileWriter.h:
48314        * fileapi/AsyncFileWriterClient.h: Copied from WebCore/fileapi/FileWriterClient.h.
48315        * fileapi/FileWriter.h:
48316        * fileapi/FileWriterClient.h: Removed.
48317        * platform/AsyncFileSystem.h:
48318
483192010-09-23  David Hyatt  <hyatt@apple.com>
48320
48321        Reviewed by Dan Bernstein.
48322
48323        https://bugs.webkit.org/show_bug.cgi?id=46378, rename width/height on line boxes to logicalWidth/logicalHeight.
48324
48325        * editing/visible_units.cpp:
48326        (WebCore::previousLinePosition):
48327        (WebCore::nextLinePosition):
48328        * rendering/EllipsisBox.cpp:
48329        (WebCore::EllipsisBox::paint):
48330        (WebCore::EllipsisBox::paintSelection):
48331        (WebCore::EllipsisBox::nodeAtPoint):
48332        * rendering/InlineBox.cpp:
48333        (WebCore::InlineBox::logicalHeight):
48334        (WebCore::InlineBox::canAccommodateEllipsis):
48335        * rendering/InlineBox.h:
48336        (WebCore::InlineBox::InlineBox):
48337        (WebCore::InlineBox::hasVirtualLogicalHeight):
48338        (WebCore::InlineBox::setHasVirtualLogicalHeight):
48339        (WebCore::InlineBox::virtualLogicalHeight):
48340        (WebCore::InlineBox::setLogicalWidth):
48341        (WebCore::InlineBox::logicalWidth):
48342        * rendering/InlineFlowBox.cpp:
48343        (WebCore::InlineFlowBox::placeBoxesHorizontally):
48344        (WebCore::InlineFlowBox::placeBoxesVertically):
48345        (WebCore::InlineFlowBox::computeVerticalOverflow):
48346        (WebCore::InlineFlowBox::nodeAtPoint):
48347        (WebCore::InlineFlowBox::paintFillLayer):
48348        (WebCore::InlineFlowBox::paintBoxDecorations):
48349        (WebCore::InlineFlowBox::paintMask):
48350        (WebCore::InlineFlowBox::paintTextDecorations):
48351        (WebCore::InlineFlowBox::placeEllipsisBox):
48352        * rendering/InlineFlowBox.h:
48353        (WebCore::InlineFlowBox::visibleOverflowRect):
48354        (WebCore::InlineFlowBox::bottomLayoutOverflow):
48355        (WebCore::InlineFlowBox::rightLayoutOverflow):
48356        (WebCore::InlineFlowBox::layoutOverflowRect):
48357        (WebCore::InlineFlowBox::bottomVisualOverflow):
48358        (WebCore::InlineFlowBox::rightVisualOverflow):
48359        (WebCore::InlineFlowBox::visualOverflowRect):
48360        (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
48361        (WebCore::InlineFlowBox::setVerticalOverflowPositions):
48362        * rendering/InlineTextBox.cpp:
48363        (WebCore::InlineTextBox::selectionRect):
48364        (WebCore::InlineTextBox::placeEllipsisBox):
48365        (WebCore::InlineTextBox::nodeAtPoint):
48366        (WebCore::InlineTextBox::paint):
48367        (WebCore::InlineTextBox::paintSelection):
48368        (WebCore::InlineTextBox::paintCustomHighlight):
48369        (WebCore::InlineTextBox::paintDecoration):
48370        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
48371        (WebCore::InlineTextBox::paintTextMatchMarker):
48372        (WebCore::InlineTextBox::paintCompositionUnderline):
48373        * rendering/InlineTextBox.h:
48374        (WebCore::InlineTextBox::calculateBoundaries):
48375        (WebCore::InlineTextBox::setSpaceAdd):
48376        * rendering/RenderBlock.cpp:
48377        (WebCore::RenderBlock::paintEllipsisBoxes):
48378        (WebCore::RenderBlock::rightmostPosition):
48379        (WebCore::RenderBlock::adjustForBorderFit):
48380        (WebCore::RenderBlock::addFocusRingRects):
48381        * rendering/RenderBlockLineLayout.cpp:
48382        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
48383        (WebCore::RenderBlock::checkLinesForTextOverflow):
48384        * rendering/RenderBox.cpp:
48385        (WebCore::RenderBox::paintCustomHighlight):
48386        (WebCore::RenderBox::containingBlockWidthForPositioned):
48387        * rendering/RenderFlexibleBox.cpp:
48388        (WebCore::RenderFlexibleBox::applyLineClamp):
48389        * rendering/RenderInline.cpp:
48390        (WebCore::RenderInline::absoluteRects):
48391        (WebCore::RenderInline::absoluteQuads):
48392        (WebCore::RenderInline::linesBoundingBox):
48393        (WebCore::RenderInline::addFocusRingRects):
48394        (WebCore::RenderInline::paintOutline):
48395        * rendering/RenderSVGInline.cpp:
48396        (WebCore::RenderSVGInline::createInlineFlowBox):
48397        (WebCore::RenderSVGInline::absoluteQuads):
48398        * rendering/RenderSVGInlineText.cpp:
48399        (WebCore::RenderSVGInlineText::createTextBox):
48400        * rendering/RenderSVGText.cpp:
48401        (WebCore::RenderSVGText::createRootInlineBox):
48402        * rendering/RenderText.cpp:
48403        (WebCore::RenderText::absoluteRects):
48404        (WebCore::RenderText::absoluteRectsForRange):
48405        (WebCore::RenderText::absoluteQuadsForRange):
48406        (WebCore::RenderText::positionForPoint):
48407        (WebCore::RenderText::localCaretRect):
48408        (WebCore::RenderText::linesBoundingBox):
48409        * rendering/RenderTreeAsText.cpp:
48410        (WebCore::writeTextRun):
48411        * rendering/RootInlineBox.cpp:
48412        (WebCore::RootInlineBox::canAccommodateEllipsis):
48413        (WebCore::RootInlineBox::placeEllipsis):
48414        (WebCore::RootInlineBox::addHighlightOverflow):
48415        (WebCore::RootInlineBox::paintCustomHighlight):
48416        (WebCore::RootInlineBox::fillLineSelectionGap):
48417        (WebCore::RootInlineBox::closestLeafChildForXPos):
48418        * rendering/SVGInlineFlowBox.h:
48419        (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
48420        (WebCore::SVGInlineFlowBox::virtualLogicalHeight):
48421        (WebCore::SVGInlineFlowBox::setLogicalHeight):
48422        * rendering/SVGInlineTextBox.cpp:
48423        (WebCore::SVGInlineTextBox::SVGInlineTextBox):
48424        * rendering/SVGInlineTextBox.h:
48425        (WebCore::SVGInlineTextBox::virtualLogicalHeight):
48426        (WebCore::SVGInlineTextBox::setLogicalHeight):
48427        (WebCore::SVGInlineTextBox::selectionHeight):
48428        * rendering/SVGRenderTreeAsText.cpp:
48429        (WebCore::writeRenderSVGTextBox):
48430        * rendering/SVGRootInlineBox.cpp:
48431        (WebCore::SVGRootInlineBox::layoutChildBoxes):
48432        (WebCore::SVGRootInlineBox::layoutRootBox):
48433        * rendering/SVGRootInlineBox.h:
48434        (WebCore::SVGRootInlineBox::SVGRootInlineBox):
48435        (WebCore::SVGRootInlineBox::virtualLogicalHeight):
48436        (WebCore::SVGRootInlineBox::setLogicalHeight):
48437        * rendering/TrailingFloatsRootInlineBox.h:
48438        (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
48439        (WebCore::TrailingFloatsRootInlineBox::virtualLogicalHeight):
48440
484412010-09-23  Matthew Delaney  <mdelaney@apple.com>
48442
48443        Reviewed by Oliver Hunt.
48444
48445        context.drawImage with (source rect's height) = -(input image's native height) draws nothing
48446        https://bugs.webkit.org/show_bug.cgi?id=46243
48447
48448        This patch changes canvasrenderingcontext2d's drawImage with an image element to
48449        normalize the source and dest rects to acheive the desired canvas spec behavior
48450        of allowing negative widths and heights that don't cause flipping and fix the
48451        adverse behavior of specifying a source rect height of negative the source image's height
48452
48453        Tests: canvas/philip/tests/2d.drawImage.negativeSourceHeight.html
48454               canvas/philip/tests/2d.drawImage.negativeSourceHeight2.html
48455               canvas/philip/tests/2d.drawImage.negativeSourceHeightAndWidth.html
48456
48457        * html/canvas/CanvasRenderingContext2D.cpp: Normalize rects in drawImage before calling
48458        lower level draw calls.
48459
484602010-09-23  Renata Hodovan  <reni@inf.u-szeged.hu>
48461
48462        Reviewed by Dirk Schulze.
48463
48464        SVGFEMorphologyElement doesn't support dynamic invalidation, when attributes change.
48465        https://bugs.webkit.org/show_bug.cgi?id=46363
48466        The patch also implements the simple setRadius method.
48467
48468        Tests: svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html
48469               svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html
48470               svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html
48471               svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html
48472               svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html
48473               svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html
48474
48475        * svg/SVGFEMorphologyElement.cpp:
48476        (WebCore::SVGFEMorphologyElement::setRadius):
48477        (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
48478        * svg/SVGFEMorphologyElement.h:
48479
484802010-09-23  Patrick Gansterer  <paroga@webkit.org>
48481
48482        Reviewed by Adam Roben.
48483
48484        Add synchronous loading for network resources to ResourceHandleWin
48485        https://bugs.webkit.org/show_bug.cgi?id=46364
48486
48487        Use return value of onRequestComplete() to indicate that an additional
48488        call to it is required for receiving remaining network data.
48489
48490        * platform/network/ResourceHandle.h:
48491        * platform/network/win/ResourceHandleWin.cpp:
48492        (WebCore::ResourceHandle::onRequestComplete):
48493        (WebCore::ResourceHandle::start):
48494
484952010-09-23  Nate Chapin  <japhet@chromium.org>
48496
48497        Reviewed by Darin Fisher.
48498        
48499        Implement <a ping> (disabled by default).
48500        https://bugs.webkit.org/show_bug.cgi?id=30458
48501        
48502        Tests: http/tests/navigation/ping-cross-origin-from-https.html
48503               http/tests/navigation/ping-cross-origin.html
48504               http/tests/navigation/ping-same-origin.html
48505
48506        * html/HTMLAnchorElement.cpp:
48507        (WebCore::HTMLAnchorElement::defaultEventHandler):
48508        (WebCore::HTMLAnchorElement::sendPings):
48509        * html/HTMLAnchorElement.h:
48510        * html/HTMLAttributeNames.in:
48511        * loader/PingLoader.cpp:
48512        (WebCore::PingLoader::sendPing): Set ping-specific headers.
48513        (WebCore::PingLoader::PingLoader):
48514        * loader/PingLoader.h:
48515        (WebCore::PingLoader::timeout): Ensure pings eventually timeout, since
48516            the normal cancel mechanism can't stop them.
48517        * page/Settings.cpp:
48518        * page/Settings.h: Add hyperlinkAuditingEnabled.
48519
485202010-09-23  Steve VanDeBogart  <vandebo@chromium.org>
48521
48522        Reviewed by David Levin.
48523
48524        https://bugs.webkit.org/show_bug.cgi?id=46312
48525
48526        Use Skia's SkSafeRef/SkSafeUnref functions instead of safeRef/safeUnref.
48527
48528        * platform/graphics/chromium/FontLinux.cpp:
48529        (WebCore::Font::drawGlyphs):
48530        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
48531        (WebCore::FontPlatformData::FontPlatformData):
48532        (WebCore::FontPlatformData::~FontPlatformData):
48533        * platform/graphics/skia/GradientSkia.cpp:
48534        (WebCore::Gradient::platformDestroy):
48535        * platform/graphics/skia/PatternSkia.cpp:
48536        (WebCore::Pattern::platformDestroy):
48537        * platform/graphics/skia/PlatformContextSkia.cpp:
48538        (WebCore::PlatformContextSkia::State::State):
48539        (WebCore::PlatformContextSkia::State::~State):
48540        (WebCore::PlatformContextSkia::drawRect):
48541        (WebCore::PlatformContextSkia::setStrokeShader):
48542        (WebCore::PlatformContextSkia::setFillShader):
48543        (WebCore::PlatformContextSkia::setDashPathEffect):
48544        * platform/graphics/skia/SkiaFontWin.cpp:
48545        (WebCore::paintSkiaText):
48546
485472010-09-23  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
48548
48549        Reviewed by Csaba Osztrogonác.
48550
48551        Fix warnings regarding print format in 64 bits
48552        https://bugs.webkit.org/show_bug.cgi?id=46357
48553
48554        Use inttypes.h in order to have portable print formats across 32 and
48555        64 bits.
48556
48557        * platform/sql/SQLiteFileSystem.cpp:
48558        (WebCore::SQLiteFileSystem::getFileNameForNewDatabase):
48559
485602010-09-23  Chris Rogers  <crogers@google.com>
48561
48562        Reviewed by Kenneth Russell.
48563
48564        Add AudioContext files
48565        https://bugs.webkit.org/show_bug.cgi?id=44890
48566
48567        No new tests since audio API is not yet implemented.
48568
48569        * webaudio/AudioContext.cpp: Added.
48570        (WebCore::AudioContext::createAudioRequest):
48571        (WebCore::AudioContext::create):
48572        (WebCore::AudioContext::AudioContext):
48573        (WebCore::AudioContext::~AudioContext):
48574        (WebCore::AudioContext::lazyInitialize):
48575        (WebCore::AudioContext::uninitialize):
48576        (WebCore::AudioContext::isInitialized):
48577        (WebCore::AudioContext::isRunnable):
48578        (WebCore::AudioContext::stop):
48579        (WebCore::AudioContext::document):
48580        (WebCore::AudioContext::hasDocument):
48581        (WebCore::AudioContext::refBuffer):
48582        (WebCore::AudioContext::createBuffer):
48583        (WebCore::AudioContext::createBufferSource):
48584        (WebCore::AudioContext::createJavaScriptNode):
48585        (WebCore::AudioContext::createLowPass2Filter):
48586        (WebCore::AudioContext::createHighPass2Filter):
48587        (WebCore::AudioContext::createPanner):
48588        (WebCore::AudioContext::createConvolver):
48589        (WebCore::AudioContext::createAnalyser):
48590        (WebCore::AudioContext::createGainNode):
48591        (WebCore::AudioContext::createDelayNode):
48592        (WebCore::AudioContext::createChannelSplitter):
48593        (WebCore::AudioContext::createChannelMerger):
48594        (WebCore::AudioContext::notifyNodeFinishedProcessing):
48595        (WebCore::AudioContext::derefFinishedSourceNodes):
48596        (WebCore::AudioContext::refNode):
48597        (WebCore::AudioContext::derefNode):
48598        (WebCore::AudioContext::derefUnfinishedSourceNodes):
48599        (WebCore::AudioContext::lock):
48600        (WebCore::AudioContext::tryLock):
48601        (WebCore::AudioContext::unlock):
48602        (WebCore::AudioContext::isAudioThread):
48603        (WebCore::AudioContext::isGraphOwner):
48604        (WebCore::AudioContext::addDeferredFinishDeref):
48605        (WebCore::AudioContext::handlePostRenderTasks):
48606        (WebCore::AudioContext::handleDeferredFinishDerefs):
48607        (WebCore::AudioContext::markForDeletion):
48608        (WebCore::AudioContext::deleteMarkedNodes):
48609        * webaudio/AudioContext.h: Added.
48610        (WebCore::AudioContext::destination):
48611        (WebCore::AudioContext::currentTime):
48612        (WebCore::AudioContext::sampleRate):
48613        (WebCore::AudioContext::listener):
48614        (WebCore::AudioContext::temporaryMonoBus):
48615        (WebCore::AudioContext::temporaryStereoBus):
48616        (WebCore::AudioContext::incrementConnectionCount):
48617        (WebCore::AudioContext::connectionCount):
48618        (WebCore::AudioContext::setAudioThread):
48619        (WebCore::AudioContext::audioThread):
48620        (WebCore::AudioContext::isAudioThreadFinished):
48621        (WebCore::AudioContext::AutoLocker::AutoLocker):
48622        (WebCore::AudioContext::AutoLocker::~AutoLocker):
48623        (WebCore::AudioContext::RefInfo::RefInfo):
48624        * webaudio/AudioContext.idl: Added.
48625
486262010-09-23  Jeremy Orlow  <jorlow@chromium.org>
48627
48628        Reviewed by Steve Block.
48629
48630        IndexedDB shouldn't crash on invalid index names
48631        https://bugs.webkit.org/show_bug.cgi?id=46362
48632
48633        For now, return null.  In a later patch, we'll do proper exception raising.
48634
48635        * storage/IDBObjectStore.cpp:
48636        (WebCore::IDBObjectStore::index):
48637
486382010-09-23  Abhishek Arya  <inferno@chromium.org>
48639
48640        Reviewed by Dave Hyatt.
48641
48642        Fix the memory safety issue by checking containerObject is a RenderBox
48643        before doing the transforms.
48644        https://bugs.webkit.org/show_bug.cgi?id=46365
48645
48646        Test: compositing/overflow/get-transform-from-non-box-container.html
48647
48648        * rendering/RenderObject.cpp:
48649        (WebCore::RenderObject::getTransformFromContainer):
48650
486512010-09-23  David Hyatt  <hyatt@apple.com>
48652
48653        Reviewed by Simon Fraser.
48654
48655        https://bugs.webkit.org/show_bug.cgi?id=46314.
48656        
48657        The RenderView's block-flow should match the root element's block-flow.  When we create (or re-create) the style for the document, take
48658        the block-flow from the document element's style and use it if it's available.
48659        
48660        Also patch styleDidChange so that if the block-flow changes dynamically after we have already made the document style, we'll propagate
48661        the change back up to the RenderView and have it do a relayout.
48662
48663        No tests possible yet, since you can't see the document's style anywhere, and block-flow isn't doing anything to affect layout
48664        yet.
48665
48666        * css/CSSStyleSelector.cpp:
48667        (WebCore::CSSStyleSelector::styleForDocument):
48668        * rendering/RenderBox.cpp:
48669        (WebCore::RenderBox::styleDidChange):
48670
486712010-09-23  Pavel Podivilov  <podivilov@chromium.org>
48672
48673        Reviewed by Yury Semikhatsky.
48674
48675        Web Inspector: source frame popups shouldn't disappear when hovered
48676        https://bugs.webkit.org/show_bug.cgi?id=46358
48677
48678        * inspector/front-end/SourceFrame.js:
48679        (WebInspector.SourceFrame.prototype._mouseMove):
48680
486812010-09-23  Mario Sanchez Prada  <msanchez@igalia.com>
48682
48683        Reviewed by Chris Fleizach.
48684
48685        [Regression][Gtk] Left and Right Arrows no longer function when caret browsing is enabled
48686        https://bugs.webkit.org/show_bug.cgi?id=45375
48687
48688        Consider caret browsing for Move commands.
48689
48690        Test: platform/gtk/editing/selection/caret-mode-left-right-arrows.html
48691
48692        * editing/EditorCommand.cpp:
48693        (WebCore::createCommandMap): Use "caret browsing aware functions"
48694        as isEnabled() function for those commands moving the caret
48695        forward and backward across characters, words, lines or paragraphs,
48696        not just left and right, as it was the case so far.
48697
486982010-09-23  Brad Moore  <bradm@apple.com>
48699
48700        Reviewed by Dan Bernstein.
48701
48702        Address a remaining discrepancy in piecewise text measurement
48703        https://bugs.webkit.org/show_bug.cgi?id=45796
48704
48705        Don't include always-integral space widths in the floating point accumulator designed
48706        to minimize precision loss.  This brings whole-string measurement in line with piecewise
48707        text measurement when dealing with fonts with fractional advances.
48708
48709        * platform/graphics/WidthIterator.cpp:
48710        (WebCore::WidthIterator::advance): Change the associativity of width addition to minimize precision loss.
48711
487122010-09-23  Patrick Gansterer  <paroga@webkit.org>
48713
48714        Reviewed by Adam Roben.
48715
48716        Cleanup network communication code in ResourceHandleWin
48717        https://bugs.webkit.org/show_bug.cgi?id=46200
48718
48719        Add logic for request handling directly into ResourceHandle::start and fix style.
48720        Use Unicode instead of ASCII Windows API functions.
48721
48722        * platform/network/ResourceHandleInternal.h:
48723        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
48724        * platform/network/win/ResourceHandleWin.cpp:
48725        (WebCore::ResourceHandle::onRequestComplete):
48726        (WebCore::ResourceHandle::start):
48727
487282010-09-23  Luiz Agostini  <luiz.agostini@openbossa.org>
48729
48730        Reviewed by Andreas Kling.
48731
48732        Invalid assertion in ScriptCallback
48733        https://bugs.webkit.org/show_bug.cgi?id=46348
48734
48735        Removing invalid ASSERT from method ScriptCallback::call().
48736
48737        * bindings/js/ScriptFunctionCall.cpp:
48738        (WebCore::ScriptCallback::call):
48739
487402010-09-23  Martin Robinson  <mrobinson@igalia.com>
48741
48742        Reviewed by Ariya Hidayat.
48743
48744        [Cairo] Generalize ContextShadow from the Qt port and use it for shadow code
48745        https://bugs.webkit.org/show_bug.cgi?id=45599
48746
48747        Make ContextShadow platform-independent and add a Cairo implementation. This is currently
48748        disabled for Cairo, but will be enabled in a followup patch with new baselines.
48749
48750        No new tests as this does not change functionality.
48751
48752        * GNUmakefile.am: Update source lists.
48753        * WebCore.pro: Update source lists.
48754        * platform/graphics/ContextShadow.cpp: Added. A generalized version of Qt's ContextShadow.
48755        (WebCore::ContextShadow::ContextShadow):
48756        (WebCore::ContextShadow::clear):
48757        (WebCore::ContextShadow::blurLayerImage):
48758        (WebCore::ContextShadow::calculateMinimalLayerRect):
48759        * platform/graphics/ContextShadow.h: Added.
48760        (WebCore::ContextShadow::offset):
48761        * platform/graphics/cairo/CairoUtilities.cpp: Added. 
48762        (WebCore::setSourceRGBAFromColor): A utility to set the source RGBA on a Cairo surface from a WebCore color.
48763        * platform/graphics/cairo/CairoUtilities.h: Added.
48764        * platform/graphics/cairo/ContextShadowCairo.cpp: Added.
48765        (WebCore::purgeScratchBuffer): Static function to purge the shadow buffer.
48766        (WebCore::PurgeScratchBufferTimer::fired): Timer callback.
48767        (WebCore::scheduleScratchBufferPurge): Schedule's a WebCore timer to purge the shadow buffer.
48768        (WebCore::getScratchBuffer): Create or reuse the scratch buffer.
48769        (WebCore::ContextShadow::beginShadowLayer): Added.
48770        (WebCore::ContextShadow::endShadowLayer): Added.
48771        * platform/graphics/gtk/CairoUtilities.cpp: Removed.
48772        * platform/graphics/gtk/CairoUtilities.h: Removed.
48773        * platform/graphics/gtk/GdkCairoUtilities.cpp: Renamed from CairoUtilities.cpp.
48774        (getCairoSurfacePixel):
48775        (getGdkPixbufPixel):
48776        (cairoImageSurfaceToGdkPixbuf):
48777        * platform/graphics/gtk/GdkCairoUtilities.h: Added.
48778        * platform/graphics/gtk/ImageBufferGtk.cpp:
48779        * platform/graphics/gtk/ImageGtk.cpp:
48780        * platform/graphics/qt/ContextShadow.cpp: Removed.
48781        * platform/graphics/qt/ContextShadow.h: Removed.
48782        * platform/graphics/qt/ContextShadowQt.cpp: Added. Adapted from code originally in ContextShadow.cpp.
48783        (WebCore::ShadowBuffer::ShadowBuffer):
48784        (WebCore::ShadowBuffer::scratchImage):
48785        (WebCore::ShadowBuffer::schedulePurge):
48786        (WebCore::ShadowBuffer::timerEvent):
48787        (WebCore::ContextShadow::beginShadowLayer):
48788        (WebCore::ContextShadow::endShadowLayer):
48789        * platform/graphics/qt/FontQt.cpp:
48790        (WebCore::drawTextCommon): Updated to reflect new ContextShadow members.
48791        * platform/graphics/qt/GraphicsContextQt.cpp:
48792        (WebCore::GraphicsContextPlatformPrivate::hasShadow): Updated to reflect new ContextShadow members.
48793        (WebCore::GraphicsContext::strokeArc): Ditto.
48794        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
48795        (WebCore::GraphicsContext::fillPath): Ditto.
48796        (WebCore::GraphicsContext::strokePath): Ditto.
48797        (WebCore::GraphicsContext::fillRect): Ditto.
48798        (WebCore::GraphicsContext::fillRoundedRect): Ditto.
48799        (WebCore::GraphicsContext::setPlatformShadow): Ditto.
48800
488012010-09-23  Patrick Gansterer  <paroga@webkit.org>
48802
48803        Reviewed by Adam Roben.
48804
48805        Add internetStatusCallback to ResourceHandleWin.
48806        https://bugs.webkit.org/show_bug.cgi?id=46187
48807
48808        Add callback for asynchronous network transfer.
48809
48810        * platform/network/ResourceHandle.h:
48811        * platform/network/ResourceHandleInternal.h:
48812        * platform/network/win/ResourceHandleWin.cpp:
48813        (WebCore::callOnRedirect):
48814        (WebCore::callOnRequestComplete):
48815        (WebCore::ResourceHandle::internetStatusCallback):
48816        (WebCore::ResourceHandle::onRedirect):
48817
488182010-09-23  Andrei Popescu  <andreip@google.com>
48819
48820        Reviewed by Jeremy Orlow.
48821
48822        IDBTransactionCoordinator contains a broken assertion.
48823        https://bugs.webkit.org/show_bug.cgi?id=46356
48824
48825        Remove the broken assertion.
48826
48827        * storage/IDBTransactionCoordinator.cpp:
48828        (WebCore::IDBTransactionCoordinator::processStartedTransactions):
48829
488302010-09-23  Pavel Podivilov  <podivilov@chromium.org>
48831
48832        Reviewed by Pavel Feldman.
48833
48834        Web Inspector: highlight DOM nodes when navigating the DOM with keyboard
48835        https://bugs.webkit.org/show_bug.cgi?id=46346
48836
48837        * inspector/front-end/ElementsTreeOutline.js:
48838        (WebInspector.ElementsTreeElement.prototype.onselect):
48839        * inspector/front-end/treeoutline.js:
48840        (TreeOutline.prototype._treeKeyDown):
48841        (TreeElement.prototype.selectOnMouseDown):
48842        (TreeElement.prototype.select):
48843
488442010-09-23  Andrei Popescu  <andreip@google.com>
48845
48846        Reviewed by Jeremy Orlow.
48847
48848        [Chromium] Build broken due to missing include in IDBTransactionBackendImpl.h
48849        https://bugs.webkit.org/show_bug.cgi?id=46352
48850
48851        No new tests needed, build fix.
48852
48853        * storage/IDBTransaction.cpp:
48854        (WebCore::IDBTransaction::objectStore):
48855        * storage/IDBTransactionBackendImpl.h:
48856
488572010-09-23  Andrei Popescu  <andreip@google.com>
48858
48859        Reviewed by Jeremy Orlow.
48860
48861        IDBObjectStore::get should run in a transaction.
48862        https://bugs.webkit.org/show_bug.cgi?id=44700
48863
48864        Implements logic for running IDBObjectStore::get() in a transaction.
48865        Refactors the pending transaction monitor and the transaction coordinator
48866        to use pointers instead of transaction IDs.
48867 
48868        * bindings/v8/V8Proxy.cpp:
48869        (WebCore::V8Proxy::didLeaveScriptContext):
48870        * storage/IDBCursorBackendImpl.cpp:
48871        * storage/IDBDatabase.cpp:
48872        (WebCore::IDBDatabase::objectStore):
48873        * storage/IDBDatabaseBackendImpl.cpp:
48874        (WebCore::IDBDatabaseBackendImpl::objectStore):
48875        * storage/IDBDatabaseBackendImpl.h:
48876        (WebCore::IDBDatabaseBackendImpl::transactionCoordinator):
48877        * storage/IDBFactoryBackendImpl.cpp:
48878        * storage/IDBFactoryBackendImpl.h:
48879        * storage/IDBFactoryBackendInterface.h:
48880        * storage/IDBObjectStore.cpp:
48881        (WebCore::IDBObjectStore::IDBObjectStore):
48882        (WebCore::IDBObjectStore::get):
48883        * storage/IDBObjectStore.h:
48884        (WebCore::IDBObjectStore::create):
48885        * storage/IDBObjectStoreBackendImpl.cpp:
48886        (WebCore::IDBTask::IDBTask):
48887        (WebCore::IDBTask::performTask):
48888        (WebCore::createTask):
48889        (WebCore::IDBObjectStoreBackendImpl::get):
48890        (WebCore::IDBObjectStoreBackendImpl::getInternal):
48891        * storage/IDBObjectStoreBackendImpl.h:
48892        * storage/IDBObjectStoreBackendInterface.h:
48893        * storage/IDBPendingTransactionMonitor.cpp:
48894        (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
48895        (WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
48896        (WebCore::IDBPendingTransactionMonitor::abortPendingTransactions):
48897        * storage/IDBPendingTransactionMonitor.h:
48898        * storage/IDBRequest.cpp:
48899        (WebCore::IDBRequest::IDBRequest):
48900        (WebCore::IDBRequest::~IDBRequest):
48901        (WebCore::IDBRequest::onSuccess):
48902        (WebCore::IDBRequest::timerFired):
48903        * storage/IDBRequest.h:
48904        (WebCore::IDBRequest::create):
48905        * storage/IDBTransaction.cpp:
48906        (WebCore::IDBTransaction::IDBTransaction):
48907        (WebCore::IDBTransaction::objectStore):
48908        * storage/IDBTransactionBackendImpl.cpp:
48909        (WebCore::IDBTransactionBackendImpl::create):
48910        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
48911        (WebCore::IDBTransactionBackendImpl::objectStore):
48912        (WebCore::IDBTransactionBackendImpl::scheduleTask):
48913        (WebCore::IDBTransactionBackendImpl::abort):
48914        (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
48915        (WebCore::IDBTransactionBackendImpl::run):
48916        (WebCore::IDBTransactionBackendImpl::start):
48917        (WebCore::IDBTransactionBackendImpl::commit):
48918        (WebCore::IDBTransactionBackendImpl::timerFired):
48919        * storage/IDBTransactionBackendImpl.h:
48920        (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
48921        (WebCore::IDBTransactionBackendImpl::isFinished):
48922        * storage/IDBTransactionBackendInterface.h:
48923        * storage/IDBTransactionCoordinator.cpp:
48924        (WebCore::IDBTransactionCoordinator::createTransaction):
48925        (WebCore::IDBTransactionCoordinator::didStartTransaction):
48926        (WebCore::IDBTransactionCoordinator::didFinishTransaction):
48927        (WebCore::IDBTransactionCoordinator::processStartedTransactions):
48928        * storage/IDBTransactionCoordinator.h:
48929
489302010-09-23  Patrick Gansterer  <paroga@webkit.org>
48931
48932        Reviewed by Adam Roben.
48933
48934        [WINCE] Remove usage of MemoryManager
48935        https://bugs.webkit.org/show_bug.cgi?id=46206
48936
48937        MemoryManager does not provide any extra value, so remove it.
48938
48939        * page/wince/FrameWinCE.cpp:
48940        (WebCore::imageFromSelection):
48941        * platform/graphics/wince/PlatformPathWinCE.cpp:
48942        (WebCore::drawPolygons):
48943
489442010-09-23  Darin Adler  <darin@apple.com>
48945
48946        Reviewed by Chris Fleizach.
48947
48948        media/video-controls-with-mutation-event-handler.html crashing
48949        https://bugs.webkit.org/show_bug.cgi?id=46169
48950
48951        * rendering/MediaControlElements.cpp:
48952        (WebCore::MediaControlInputElement::MediaControlInputElement): Don't take a type argument.
48953        We can't set the type until after the element is created beacuse of reference counting rules.
48954        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Don't pass the type.
48955        (WebCore::MediaControlMuteButtonElement::create): Set the type.
48956        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): More of the same.
48957        (WebCore::MediaControlPlayButtonElement::create): Ditto.
48958        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Ditto.
48959        (WebCore::MediaControlSeekButtonElement::create): Ditto.
48960        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
48961        (WebCore::MediaControlRewindButtonElement::create): Ditto.
48962        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
48963        (WebCore::MediaControlReturnToRealtimeButtonElement::create): Ditto.
48964        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Ditto.
48965        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): Ditto.
48966        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Ditto.
48967        (WebCore::MediaControlTimelineElement::create): Ditto.
48968        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Ditto.
48969        (WebCore::MediaControlVolumeSliderElement::create): Ditto.
48970        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Ditto.
48971        (WebCore::MediaControlFullscreenButtonElement::create): Ditto.
48972
48973        * rendering/MediaControlElements.h: Removed the type argument from the MediaControlInputElement
48974        constructor.
48975
489762010-09-22  Luke Macpherson  <macpherson@chromium.org>
48977
48978        Reviewed by Alexey Proskuryakov.
48979
48980        Don't allow empty strings as tokens in xmlhttprequest, as per rfc2616 section 2.2.
48981
48982        XMLHttpRequest: setRequestHeader() does not throw SYNTAX_ERR exception if the header field name is empty
48983        https://bugs.webkit.org/show_bug.cgi?id=46151
48984
48985        Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-name.html
48986
48987        * xml/XMLHttpRequest.cpp:
48988        (WebCore::isValidToken):
48989
489902010-09-22  Kwang Yul Seo  <skyul@company100.net>
48991
48992        Reviewed by Adam Barth.
48993
48994        [BREWMP] Enable touch events
48995        https://bugs.webkit.org/show_bug.cgi?id=46321
48996
48997        Enable TOUCH_EVENTS by porting PlatformTouchEvent and PlatformTouchPoint.
48998        Brew MP does not support multi touch, so enable only single touch for now.
48999
49000        * platform/PlatformTouchEvent.h:
49001        * platform/PlatformTouchPoint.h:
49002        * platform/brew/PlatformTouchEventBrew.cpp: Added.
49003        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
49004        * platform/brew/PlatformTouchPointBrew.cpp: Added.
49005        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
49006
490072010-09-22  Andy Estes  <aestes@apple.com>
49008
49009        Reviewed by Darin Adler.
49010
49011        REGRESSION (r61285): Microsoft Entourage 2008 does not invoke My Day window
49012        https://bugs.webkit.org/show_bug.cgi?id=46334
49013
49014        * WebCore.exp.in: Export __ZN7WebCore27applicationIsMicrosoftMyDayEv.
49015        * platform/mac/RuntimeApplicationChecks.h:
49016        * platform/mac/RuntimeApplicationChecks.mm:
49017        (WebCore::applicationIsMicrosoftMyDay): Determine if the embeddding
49018        application is Microsoft My Day by checking the bundle identifier.
49019
490202010-09-22  Andy Estes  <aestes@apple.com>
49021
49022        Rubber-stamped by Darin Adler.
49023
49024        Fix a typo and correct an inaccurate phrase in a comment.
49025
49026        * html/parser/HTMLTreeBuilder.cpp:
49027        (WebCore::HTMLTreeBuilder::processEndTag):
49028
490292010-09-22  Andy Estes  <aestes@apple.com>
49030
49031        Reviewed by Adam Barth.
49032
49033        REGRESSION (r61285): <script /> parses differently in HTML5
49034        https://bugs.webkit.org/show_bug.cgi?id=42909
49035
49036        If pre-HTML5 parser quirks are enabled, the HTMLTreeBuilder should
49037        handle self-closing script tags like the old parser did. Specifically,
49038        "<script />" should be treated as "<script></script>".
49039
49040        * html/parser/HTMLDocumentParser.cpp:
49041        (WebCore::HTMLDocumentParser::HTMLDocumentParser): Instantiate
49042        HTMLTreeBuilder with the value of usePreHTML5ParserQuirks().
49043        * html/parser/HTMLTreeBuilder.cpp:
49044        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
49045        (WebCore::HTMLTreeBuilder::processEndTag): If the tokenizer is not
49046        currently in DataState, this means that the current end token is fake
49047        and was created by the tree builder to handle a self-closing script tag.
49048        Assert that pre-HTML5 quirks are enabled and set the tokenizer's state
49049        to DataState in this case.
49050        (WebCore::HTMLTreeBuilder::processStartTagForInHead): If pre-HTML5
49051        parser quirks are enabled and the script tag is self-closing, create and
49052        procses a fake script end tag.
49053        * html/parser/HTMLTreeBuilder.h:
49054        (WebCore::HTMLTreeBuilder::create):
49055
490562010-09-22  Mihai Parparita  <mihaip@chromium.org>
49057
49058        Reviewed by Darin Fisher.
49059
49060        [Chromium] User style layout tests don't pass on Chromium
49061        https://bugs.webkit.org/show_bug.cgi?id=46069
49062        
49063        Instead of making resetUserStyleCacheInAllFrames be a no-op for
49064        Chromium, have it be controlled by a UserStyleInjectionTime enum.
49065        
49066        Also move the UserStyleSheet::Level enum to be inside
49067        UserStyleSheetTypes for consistency.
49068
49069        * WebCore.exp.in:
49070        * dom/Document.cpp:
49071        (WebCore::Document::pageGroupUserSheets):
49072        * page/PageGroup.cpp:
49073        (WebCore::PageGroup::addUserStyleSheetToWorld):
49074        * page/PageGroup.h:
49075        * page/UserStyleSheet.h:
49076        (WebCore::UserStyleSheet::UserStyleSheet):
49077        (WebCore::UserStyleSheet::level):
49078        * page/UserStyleSheetTypes.h:
49079
490802010-09-22  Ruben  <chromium@hybridsource.org>
49081
49082        Reviewed by Tony Chang.
49083
49084        [chromium] added ifdefs for FreeBSD support
49085        https://bugs.webkit.org/show_bug.cgi?id=46316
49086
49087        * bindings/js/JSInspectorFrontendHostCustom.cpp:
49088        (WebCore::JSInspectorFrontendHost::platform):
49089        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
49090        (WebCore::V8InspectorFrontendHost::platformCallback):
49091        * dom/SelectElement.cpp:
49092        * loader/CachedFont.cpp:
49093        * page/EventHandler.cpp:
49094        * page/chromium/EventHandlerChromium.cpp:
49095        * platform/Scrollbar.cpp:
49096        * platform/chromium/ChromiumBridge.h:
49097        * platform/graphics/chromium/FontPlatformData.h:
49098        * platform/graphics/skia/FontCustomPlatformData.cpp:
49099        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
49100        (WebCore::FontCustomPlatformData::fontPlatformData):
49101        (WebCore::createFontCustomPlatformData):
49102        * platform/graphics/skia/FontCustomPlatformData.h:
49103
491042010-09-22  Rafael Antognolli  <antognolli@profusion.mobi>
49105
49106        Unreviewed build fix.
49107
49108        [EFL] Fix build due to latest EFL (Edje) changes.
49109        https://bugs.webkit.org/show_bug.cgi?id=46317
49110
49111        Make the change int -> Edje_Load_Error (enum).
49112
49113        No new functionality, so no new tests.
49114
49115        * platform/efl/RenderThemeEfl.cpp:
49116        (WebCore::RenderThemeEfl::themePartCacheEntryReset):
49117        (WebCore::RenderThemeEfl::createEdje):
49118        (WebCore::RenderThemeEfl::applyPartDescriptions):
49119        * platform/efl/ScrollbarEfl.cpp:
49120        (ScrollbarEfl::setParent):
49121
491222010-09-22  Chris Fleizach  <cfleizach@apple.com>
49123
49124        Reviewed by Darin Adler.
49125
49126        AX: aria-hidden change doesn't update the ax tree
49127        https://bugs.webkit.org/show_bug.cgi?id=45836
49128
49129        Test: accessibility/aria-hidden-update.html
49130
49131        * dom/Element.cpp:
49132        (WebCore::Element::updateAfterAttributeChanged):
49133
491342010-09-22  Kinuko Yasuda  <kinuko@chromium.org>
49135
49136        Reviewed by Dumitru Daniliuc.
49137
49138        [FileSystem] Fix Flags handling in DirectoryEntry custom binding code
49139        https://bugs.webkit.org/show_bug.cgi?id=46028
49140
49141        Do not use adoptRef to get RefPtr from a raw pointer that is already
49142        adopted in toNative/toJS.
49143
49144        Test: fast/filesystem/flags-passing.html
49145
49146        * bindings/js/JSDirectoryEntryCustom.cpp:
49147        (WebCore::JSDirectoryEntry::getFile):
49148        (WebCore::JSDirectoryEntry::getDirectory):
49149        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
49150        (WebCore::V8DirectoryEntry::getDirectoryCallback):
49151        (WebCore::V8DirectoryEntry::getFileCallback):
49152
491532010-09-22  Jia Pu  <jpu@apple.com>
49154
49155        Reviewed by Dan Bernstein.
49156
49157        Need to stop autocorrection panel timer when selection changes.
49158        https://bugs.webkit.org/show_bug.cgi?id=46201
49159        <rdar://problem/8441042>
49160
49161        * editing/Editor.cpp:
49162        (WebCore::Editor::appliedEditing): Stop correction timer after editing.
49163        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): When text checking is done for
49164          showing autocorrection panel, we suppress all corrections that are not at the end of
49165          text checking range. So that we don't replace other words while showing correction panel
49166          for the last word.
49167        (WebCore::Editor::stopCorrectionPanelTimer): Stop correction timer.
49168
49169        * editing/Editor.h: Added stopCorrectionPanelTimer() method.
49170
491712010-09-22  Eric Uhrhane  <ericu@chromium.org>
49172
49173        Reviewed by Dumitru Daniliuc.
49174
49175        Add Chromium implementation for FileWriter
49176        https://bugs.webkit.org/show_bug.cgi?id=44361
49177
49178        No new tests; the implementation's not yet far enough along for that.
49179
49180        This makes a chain of contruction-and-linking-up for various sorts of
49181        FileWriter interfaces to call through to Chromium, and for various
49182        sorts of FileWriterClients to call back, with object ownership always
49183        pointing towards the Chromium API.  That is, the DOM object owns an
49184        AsyncFileWriter, which owns its implementation object, and the reverse
49185        (client) direction is raw pointers.
49186
49187        File metadata is looked up before the FileWriter is returned, so that
49188        we know the file exists and can cache its length.
49189
49190        The WebCore part of this is simple and generic enough to handle
49191        Chromium, so it should be easy for me to put in a WebCore-only
49192        implementation next.
49193        
49194        * fileapi/AsyncFileWriter.h:
49195        * fileapi/DOMFileSystem.cpp:
49196        (WebCore::DOMFileSystem::createWriter):
49197        * fileapi/DOMFileSystem.h:
49198        * fileapi/FileSystemCallbacks.cpp:
49199        (WebCore::FileSystemCallbacksBase::didCreateFileWriter):
49200        (WebCore::FileWriterCallbacks::FileWriterCallbacks):
49201        (WebCore::FileWriterCallbacks::didCreateFileWriter):
49202        * fileapi/FileSystemCallbacks.h:
49203        * platform/AsyncFileSystem.h:
49204        * platform/AsyncFileSystemCallbacks.h:
49205
492062010-09-22  Alexey Proskuryakov  <ap@apple.com>
49207
49208        Reviewed by Adam Barth.
49209
49210        https://bugs.webkit.org/show_bug.cgi?id=46222
49211        <rdar://problem/8461701> Document.getElementById() malfunctions if ID was changed via Attr node modification.
49212
49213        Test: fast/dom/Attr/change-id-via-attr-node-value.html
49214
49215        * dom/Attr.h:
49216        * dom/Attr.cpp:
49217        (WebCore::Attr::setValue): Separated a version callable from WebCore from one avaiable to JS.
49218        Attr::setValue() can be called from Element::setAttribute(), and we don't want to update
49219        m_elementsById (or to call attributeChanged()) twice in that case.
49220        (WebCore::Attr::childrenChanged): If Attr's node children change, id changes.
49221
49222        * dom/Document.cpp: (WebCore::Document::removeElementById): Added an assertion that we are
49223        not trying to remove something that isn't there. If we are, we probably failed to update
49224        m_elementsById earlier.
49225
49226        * dom/Element.cpp: (WebCore::Element::setAttribute): If the attribute has an Attr node, its
49227        children should be updated to match attribute value.
49228
492292010-09-22  David Hyatt  <hyatt@apple.com>
49230
49231        Reviewed by Dan Bernstein.
49232
49233        https://bugs.webkit.org/show_bug.cgi?id=46311, lock form controls and replaced elements to vertical block flow.
49234
49235        Patch form controls that don't use RenderReplaced by hand in html.css.  Patch all RenderReplaced elements
49236        with an override of setStyle that forces the new style to have a vertical block flow.  We have to do something like
49237        this to cover the CSS3 content: url(img) method of image replacement.
49238        
49239        * css/html.css:
49240        (input, textarea, keygen, select, button, isindex, meter, progress):
49241        * rendering/RenderReplaced.cpp:
49242        (WebCore::RenderReplaced::setStyle):
49243        * rendering/RenderReplaced.h:
49244
492452010-09-22  David Hyatt  <hyatt@apple.com>
49246
49247        Reviewed by Dan Bernstein.
49248
49249        https://bugs.webkit.org/show_bug.cgi?id=46304
49250        
49251        display:inline should become display:inline-block when an object's block flow does not match its parent's block flow.
49252
49253        Added fast/blockflow/display-mutation.html
49254
49255        * css/CSSStyleSelector.cpp:
49256        (WebCore::CSSStyleSelector::styleForElement):
49257        (WebCore::CSSStyleSelector::pseudoStyleForElement):
49258        (WebCore::CSSStyleSelector::adjustRenderStyle):
49259        * css/CSSStyleSelector.h:
49260
492612010-09-22 Mario Sanchez Prada <msanchez@igalia.com>
49262
49263        Reviewed by Martin Robinson.
49264
49265        [Gtk] object:text-changed events should be emitted for entries and password text
49266        https://bugs.webkit.org/show_bug.cgi?id=25898
49267
49268        Implement proper 'text-changed' signal emission for the GTK port
49269
49270        Call deleteTextFromNode() when needed while removing text nodes.
49271        Do it even when removeNode() is going to be called afterwards, in
49272        order to allow accessibility to get properly notified about the
49273        text being removed alongside with that node.
49274
49275        * editing/DeleteSelectionCommand.cpp:
49276        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
49277
49278        New function in AXObjectCache to call when text changes in a node.
49279        Added one new function to allow notifying something changed in a
49280        text node through the associated RenderObject, making such a
49281        function dependant on the platform-specific implementation,
49282        provided through a protected function (provided a proper
49283        implementation for the GTK port and a dummy one for the others).
49284
49285        * accessibility/AXObjectCache.cpp:
49286        (WebCore::AXObjectCache::nodeTextChangeNotification): New
49287        * accessibility/AXObjectCache.h:
49288        (WebCore::AXObjectCache::AXTextChange): New enumeration
49289        (WebCore::AXObjectCache::nodeTextChangeNotification): New
49290        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
49291        * accessibility/AccessibilityRenderObject.h:
49292        (WebCore::toAccessibilityRenderObject):
49293        * accessibility/chromium/AXObjectCacheChromium.cpp:
49294        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
49295        * accessibility/gtk/AXObjectCacheAtk.cpp:
49296        (WebCore::emitTextChanged):
49297        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
49298        * accessibility/mac/AXObjectCacheMac.mm:
49299        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
49300        * accessibility/win/AXObjectCacheWin.cpp:
49301        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
49302
49303        Notify accessibility when something changes in a text node.
49304        Call to AXObjectCache::nodeTextChangeNotification() to notify when
49305        text was inserted/deleted when applying/unapplying a text edition
49306        command, along with the offset in the original text where the
49307        change took place and the number of characters that got affected.
49308
49309        * editing/AppendNodeCommand.cpp:
49310        (WebCore::sendAXTextChangedIgnoringLineBreaks):
49311        (WebCore::AppendNodeCommand::doApply):
49312        (WebCore::AppendNodeCommand::doUnapply):
49313        * editing/DeleteFromTextNodeCommand.cpp:
49314        (WebCore::DeleteFromTextNodeCommand::doApply):
49315        (WebCore::DeleteFromTextNodeCommand::doUnapply):
49316        * editing/InsertIntoTextNodeCommand.cpp:
49317        (WebCore::InsertIntoTextNodeCommand::doApply):
49318        (WebCore::InsertIntoTextNodeCommand::doUnapply):
49319        * editing/InsertNodeBeforeCommand.cpp:
49320        (WebCore::InsertNodeBeforeCommand::doApply):
49321        (WebCore::InsertNodeBeforeCommand::doUnapply):
49322        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
49323
493242010-09-22  David Hyatt  <hyatt@apple.com>
49325
49326        Reviewed by Dan Bernstein.
49327
49328        https://bugs.webkit.org/show_bug.cgi?id=46298, add logicalWidth/Height getters/setters to RenderBox.
49329
49330        * rendering/RenderBox.cpp:
49331        (WebCore::RenderBox::logicalWidth):
49332        (WebCore::RenderBox::logicalHeight):
49333        (WebCore::RenderBox::setLogicalWidth):
49334        (WebCore::RenderBox::setLogicalHeight):
49335        * rendering/RenderBox.h:
49336
493372010-09-22  Luiz Agostini  <luiz.agostini@openbossa.org>
49338
49339        Reviewed by Oliver Hunt.
49340
49341        Script engine agnostic ScriptCallback class
49342        https://bugs.webkit.org/show_bug.cgi?id=43216
49343
49344        Refactoring class ScriptFunctionCall to create a class (ScriptCallback) that
49345        receives a script function as a ScriptValue and calls that function with provided parameters.
49346
49347        * bindings/js/ScriptFunctionCall.cpp:
49348        (WebCore::ScriptCallArgumentHandler::appendArgument):
49349        (WebCore::ScriptFunctionCall::ScriptFunctionCall):
49350        (WebCore::ScriptCallback::ScriptCallback):
49351        (WebCore::ScriptCallback::call):
49352        * bindings/js/ScriptFunctionCall.h:
49353        (WebCore::ScriptCallArgumentHandler::ScriptCallArgumentHandler):
49354        * bindings/v8/ScriptFunctionCall.cpp:
49355        (WebCore::ScriptCallArgumentHandler::appendArgument):
49356        (WebCore::ScriptFunctionCall::ScriptFunctionCall):
49357        (WebCore::ScriptCallback::ScriptCallback):
49358        (WebCore::ScriptCallback::call):
49359        * bindings/v8/ScriptFunctionCall.h:
49360        (WebCore::ScriptCallArgumentHandler::ScriptCallArgumentHandler):
49361
493622010-09-22  Brent Fulgham  <bfulgham@webkit.org>
49363
49364        Unreviewed.
49365
49366        Build fix for invalid assertion after r68059.
49367
49368        * editing/ApplyStyleCommand.cpp:
49369        (WebCore::getPropertiesNotIn): Correct assertion target after
49370        name change.
49371
493722010-09-22  David Hyatt  <hyatt@apple.com>
49373
49374        Reviewed by Simon Fraser.
49375
49376        https://bugs.webkit.org/show_bug.cgi?id=45957, fix regression in column rules stacking test.
49377
49378        Rewrite how the pagination bit gets set in RenderLayers, since it was totally broken and not
49379        accounting for whether or not the columns block was even in the layer's containing block
49380        hierarchy.
49381
49382        * rendering/RenderLayer.cpp:
49383        (WebCore::checkContainingBlockChainForPagination):
49384        (WebCore::RenderLayer::updatePagination):
49385
493862010-09-22  Brent Fulgham  <bfulgham@webkit.org>
49387
49388        Unreviewed.
49389
49390        [WinCairo] Build fix for platform/cairo stuff after r67981.
49391
49392        * WebCore.vcproj/WebCore.vcproj: Add new files needed by all cairo
49393        ports.
49394
493952010-09-22  Erik Arvidsson  <arv@chromium.org>
49396
49397        Reviewed by Nate Chapin.
49398
49399        [Chromium] Fix memory model for dataset
49400        https://bugs.webkit.org/show_bug.cgi?id=46280
49401
49402        This is covered by existing tests.
49403
49404        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
49405        (WebCore::toV8):
49406
494072010-09-22  Abhishek Arya  <inferno@chromium.org>
49408
49409        Reviewed by Dave Hyatt.
49410
49411        Fix wrong casts for table cell since its parent is not a RenderBlock. Remove
49412        the redundant destroy call for empty anonymous columns or column span block.
49413        https://bugs.webkit.org/show_bug.cgi?id=46245
49414
49415        Tests: fast/table/table-anonymous-block-destroy-crash.html
49416               fast/table/table-columns-blocks-calc-crash.html
49417
49418        * rendering/RenderBlock.cpp:
49419        (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
49420        (WebCore::RenderBlock::columnsBlockForSpanningElement):
49421        (WebCore::RenderBlock::removeChild):
49422
494232010-09-22  Matt Perry  <mpcomplete@chromium.org>
49424
49425        Reviewed by Darin Fisher.
49426
49427        Trying to reland a version of r67749:
49428        Have V8DOMWindowShell ask the embedder whether to run a V8 extension
49429        in a particular script context.
49430        https://bugs.webkit.org/show_bug.cgi?id=45721
49431
49432        * bindings/v8/V8DOMWindowShell.cpp:
49433        (WebCore::V8DOMWindowShell::createNewContext):
49434        * bindings/v8/V8Proxy.cpp:
49435        (WebCore::V8Proxy::registerExtension):
49436        * bindings/v8/V8Proxy.h:
49437        * loader/EmptyClients.h:
49438        (WebCore::EmptyFrameLoaderClient::allowScriptExtension):
49439        * loader/FrameLoaderClient.h:
49440
494412010-09-22  Ryosuke Niwa  <rniwa@webkit.org>
49442
49443        Reviewed by Darin Adler.
49444
49445        queryCommandState returns false for Underline command when no selection is made
49446        https://bugs.webkit.org/show_bug.cgi?id=17594
49447
49448        The bug was caused by selectionComputedStyle's adding -webkit-text-decorations-in-effect property
49449        to a dummy span used to obtain the computed style when there is a typing style.
49450        Since this property is for internal use only, the CSS parser always stripped the property.
49451        As a result, we were always ignoring the text decorations set by the typing style.
49452
49453        Fixed the bug by making selectionComputedStyle directly merge the computed style of the current
49454        caret position and the typing style. This also eliminates the need for a dummy span element.
49455        Due to the merge, the return value of selectionComputedStyle had to be changed to CSSMutableStyleDeclaration
49456        from CSSComputedStyleDeclaration.
49457
49458        Test: editing/execCommand/query-text-decoration-with-typing-style.html
49459
49460        * editing/ApplyStyleCommand.cpp:
49461        (WebCore::StyleChange::init): Calls getPropertiesNotIn.
49462        (WebCore::getPropertiesNotIn): Renamed from getPropertiesNotInComputedStyle since it takes
49463        CSSStyleDeclaration* instead of CSSComputedStyleDeclaration* for the second argument.
49464        (WebCore::ApplyStyleCommand::removeNonEditingProperties): Extracted from editingStyleAtPosition.
49465        (WebCore::ApplyStyleCommand::editingStyleAtPosition): Calls removeNonEditingProperties.
49466        * editing/ApplyStyleCommand.h:
49467        * editing/Editor.cpp:
49468        (WebCore::triStateOfStyle): Calls getPropertiesNotIn. Renamed from triStateOfStyleInComputedStyle
49469        since it no longer takes CSSComputedStyleDeclaration.
49470        (WebCore::Editor::selectionStartHasStyle): Calls selectionComputedStyle and triStateOfStyle.
49471        (WebCore::Editor::selectionHasStyle): Ditto.
49472        (WebCore::Editor::selectionStartCSSPropertyValue): Calls selectionComputedStyle.
49473        (WebCore::Editor::selectionComputedStyle): See above.
49474        * editing/Editor.h:
49475        * editing/EditorCommand.cpp:
49476        (WebCore::executeToggleStyleInList): Calls selectionComputedStyle.
49477
494782010-09-22  Jamey Hicks  <jamey.hicks@nokia.com>
49479
49480        Reviewed by Kenneth Rohde Christiansen.
49481
49482        [Qt] Web Inspector: Remote Web Inspector support for QtWebKit
49483        https://bugs.webkit.org/show_bug.cgi?id=43988
49484
49485        Runs a web debug server on port specified by QtTestBrowser
49486        argument -remote-inspector-port. Property
49487        _q_webInspectorServerPort of the QWebPage instance will be set
49488        according to the argument. All pages with that property set will
49489        be remotely inspectable.
49490
49491        URL for remote inspection of first QWebPage is
49492            http://localhost:9222/webkit/inspector/inspector.html?page=1
49493        where 1 is the number of the QWebPage instance.
49494
49495        The base URL yields an index page with links to the individual inspectors:
49496            http://localhost:9222/
49497
49498        * WebCore.pro
49499
495002010-09-21  Darin Adler  <darin@apple.com>
49501
49502        Reviewed by Anders Carlsson.
49503
49504        Fix some Objective-C GC problems and use RetainPtr instead of HardRetain/Release
49505        https://bugs.webkit.org/show_bug.cgi?id=46220
49506
49507        * WebCore.exp.in: Updated.
49508
49509        * bindings/objc/ObjCEventListener.h: Use a RetainPtr for m_listener, since that
49510        will do a CFRetain, which is right for GC rather than an -[NSObject retain],
49511        which is not.
49512        * bindings/objc/ObjCEventListener.mm:
49513        (WebCore::ObjCEventListener::ObjCEventListener): Removed explicit retain.
49514        (WebCore::ObjCEventListener::~ObjCEventListener): Removed explicit release and
49515        added get().
49516        (WebCore::ObjCEventListener::handleEvent): Added get();
49517
49518        * bridge/objc/objc_instance.mm:
49519        (ObjcInstance::setGlobalException): Use copy/release instead of
49520        HardRetain/HardRelease.
49521        (ObjcInstance::moveGlobalExceptionToExecState): Ditto.
49522
49523        * platform/Cursor.h: Use RetainPtr for PlatformCursor on Mac.
49524
49525        * platform/Cursor.cpp:
49526        (WebCore::Cursor::platformCursor): Moved this to CursorMac for the Mac.
49527
49528        * platform/Widget.cpp: Removed retain/releasePlatformWidget and made them
49529        both inlines in the header file.
49530
49531        * platform/Widget.h: Fixed includes and added an include of RetainPtr.
49532        Made platformWidget and setPlatformWidget non-inline on the Mac platform.
49533        Made releasePlatformWidget and retainPlatformWidget empty inline functions
49534        for non-GTK platforms.
49535
49536        * platform/graphics/mac/ImageMac.mm: Removed unneeded FoundationExtras.h
49537        include.
49538
49539        * platform/mac/ClipboardMac.mm:
49540        (WebCore::cocoaTypeFromHTMLClipboardType): use RetainPtr for the return type.
49541        (WebCore::ClipboardMac::clearData): Use RetainPtr.
49542        (WebCore::ClipboardMac::getData): Ditto.
49543        (WebCore::ClipboardMac::setData): Ditto.
49544
49545        * platform/mac/CursorMac.mm:
49546        (WebCore::createCustomCursor): Use RetainPtr for the return type.
49547        (WebCore::Cursor::ensurePlatformCursor): Removed all the calls to HardRetain
49548        since m_platformCursor is now a RetainPtr.
49549        (WebCore::Cursor::Cursor): Ditto.
49550        (WebCore::Cursor::operator=): Ditto. Also HardRelease.
49551        (WebCore::Cursor::~Cursor): Ditto.
49552        (WebCore::Cursor::platformCursor): Use get here.
49553
49554        * platform/mac/FoundationExtras.h: Removed all the functions except for
49555        HardAutorelease. Later we can remove that one too.
49556
49557        * platform/mac/ThemeMac.mm:
49558        (WebCore::setUpButtonCell): Changed this function to have a return value.
49559        Otherwise we end up taking a pointer (actually a reference) to a global
49560        variable, which does not do the right thing for GC.
49561        (WebCore::nonDefaultButton): Added.
49562        (WebCore::defaultButton): Added.
49563        (WebCore::button): Changed to call two separate functions with two separate
49564        global variables to avoid the problem with pointers to globals.
49565
49566        * platform/mac/WidgetMac.mm:
49567        (WebCore::Widget::~Widget): Removed unneeded call to releasePlatformWidget.
49568        (WebCore::Widget::platformWidget): Non-inline so we can comipile the header
49569        plain non-Objective-C C++.
49570        (WebCore::Widget::setPlatformWidget): Ditto.
49571
49572        * platform/network/mac/WebCoreURLResponse.mm:
49573        (mimeTypeFromUTITree): Use RetainPtr for the return type.
49574        (-[NSURLResponse adjustMIMETypeIfNecessary]): Use RetainPtr.
49575
495762010-09-22  Martin Robinson  <mrobinson@igalia.com>
49577
49578        Reviewed by Xan Lopez.
49579
49580        [GTK] r68027 caused many crashes on the bots
49581        https://bugs.webkit.org/show_bug.cgi?id=46268
49582
49583        Add the appropriate OwnPtrCairo.h include which has the OwnPtr
49584        specialization for Cairo paths. Without it, we will have memory
49585        corruption.
49586
49587        * platform/graphics/cairo/PathCairo.cpp: Add OwnPtrCairo.h include.
49588
495892010-09-22  Pavel Podivilov  <podivilov@chromium.org>
49590
49591        Reviewed by Pavel Feldman.
49592
49593        Web Inspector: implement pausing on XHR
49594        https://bugs.webkit.org/show_bug.cgi?id=46086
49595
49596        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
49597        (WebCore::V8XMLHttpRequest::sendCallback):
49598        * inspector/Inspector.idl:
49599        * inspector/InspectorController.cpp:
49600        (WebCore::InspectorController::InspectorController):
49601        (WebCore::InspectorController::setNativeBreakpoint):
49602        (WebCore::InspectorController::removeNativeBreakpoint):
49603        (WebCore::InspectorController::willInsertDOMNodeImpl):
49604        (WebCore::InspectorController::willRemoveDOMNodeImpl):
49605        (WebCore::InspectorController::willModifyDOMAttrImpl):
49606        (WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
49607        * inspector/InspectorController.h:
49608        (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
49609        (WebCore::InspectorController::inspectorControllerForScriptExecutionContext):
49610        (WebCore::InspectorController::inspectorControllerForNode):
49611        (WebCore::InspectorController::inspectorControllerForDocument):
49612        * inspector/InspectorDebuggerAgent.cpp:
49613        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
49614        (WebCore::InspectorDebuggerAgent::didPause):
49615        (WebCore::InspectorDebuggerAgent::breakProgram):
49616        * inspector/InspectorDebuggerAgent.h:
49617        * inspector/InspectorTimelineAgent.h:
49618        * inspector/front-end/CallStackSidebarPane.js:
49619        (WebInspector.CallStackSidebarPane.prototype.updateStatus):
49620        * inspector/front-end/ElementsPanel.js:
49621        (WebInspector.ElementsPanel):
49622        (WebInspector.ElementsPanel.prototype.reset):
49623        * inspector/front-end/ElementsTreeOutline.js:
49624        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
49625        * inspector/front-end/ScriptsPanel.js:
49626        (WebInspector.ScriptsPanel):
49627        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
49628        (WebInspector.ScriptsPanel.prototype.reset):
49629        * inspector/front-end/Settings.js:
49630        * xml/XMLHttpRequest.h:
49631        (WebCore::XMLHttpRequest::url):
49632
496332010-09-22  Kenneth Russell  <kbr@google.com>
49634
49635        Reviewed by James Robinson.
49636
49637        Add local triangulation of cubic curve control points
49638        https://bugs.webkit.org/show_bug.cgi?id=45252
49639
49640        Adding a localized triangulation algorithm which takes as input
49641        the four control points of a cubic curve segment and provides both
49642        triangles as well as the ability to walk the interior edges. The
49643        latter will be used later to fill the interior of shapes bounded
49644        by these cubic curves, quadratic curves and line segments.
49645
49646        * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp: Added.
49647        (WebCore::LoopBlinnLocalTriangulator::Triangle::contains):
49648        (WebCore::LoopBlinnLocalTriangulator::Triangle::nextVertex):
49649        (WebCore::LoopBlinnLocalTriangulator::Triangle::indexForVertex):
49650        (WebCore::LoopBlinnLocalTriangulator::Triangle::makeCounterClockwise):
49651        (WebCore::LoopBlinnLocalTriangulator::LoopBlinnLocalTriangulator):
49652        (WebCore::LoopBlinnLocalTriangulator::reset):
49653        (WebCore::LoopBlinnLocalTriangulator::triangulate):
49654        (WebCore::LoopBlinnLocalTriangulator::triangulateHelper):
49655        (WebCore::LoopBlinnLocalTriangulator::addTriangle):
49656        (WebCore::LoopBlinnLocalTriangulator::addInteriorVertex):
49657        (WebCore::LoopBlinnLocalTriangulator::isSharedEdge):
49658        * platform/graphics/gpu/LoopBlinnLocalTriangulator.h: Added.
49659        (WebCore::LoopBlinnLocalTriangulator::Vertex::Vertex):
49660        (WebCore::LoopBlinnLocalTriangulator::Vertex::xyCoordinates):
49661        (WebCore::LoopBlinnLocalTriangulator::Vertex::klmCoordinates):
49662        (WebCore::LoopBlinnLocalTriangulator::Vertex::set):
49663        (WebCore::LoopBlinnLocalTriangulator::Vertex::end):
49664        (WebCore::LoopBlinnLocalTriangulator::Vertex::setEnd):
49665        (WebCore::LoopBlinnLocalTriangulator::Vertex::marked):
49666        (WebCore::LoopBlinnLocalTriangulator::Vertex::setMarked):
49667        (WebCore::LoopBlinnLocalTriangulator::Vertex::interior):
49668        (WebCore::LoopBlinnLocalTriangulator::Vertex::setInterior):
49669        (WebCore::LoopBlinnLocalTriangulator::Vertex::resetFlags):
49670        (WebCore::LoopBlinnLocalTriangulator::Triangle::Triangle):
49671        (WebCore::LoopBlinnLocalTriangulator::Triangle::getVertex):
49672        (WebCore::LoopBlinnLocalTriangulator::Triangle::setVertices):
49673        (WebCore::LoopBlinnLocalTriangulator::getVertex):
49674        (WebCore::LoopBlinnLocalTriangulator::numberOfTriangles):
49675        (WebCore::LoopBlinnLocalTriangulator::getTriangle):
49676        (WebCore::LoopBlinnLocalTriangulator::numberOfInteriorVertices):
49677        (WebCore::LoopBlinnLocalTriangulator::getInteriorVertex):
49678
496792010-09-22  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
49680
49681        Unreviewed, EFL build fix.
49682
49683        * CMakeListsEfl.txt:
49684        * platform/efl/ClipboardEfl.cpp:
49685        (WebCore::ClipboardEfl::ClipboardEfl):
49686
496872010-09-22  İsmail Dönmez  <ismail@namtrac.org>
49688
49689        Reviewed by Andreas Kling.
49690
49691        [Qt] Build fix for WinCE
49692
49693        Add two missing stubs:
49694        - privateBrowsingStateChanged(bool)
49695        - bindingInstance()
49696
49697        * platform/qt/TemporaryLinkStubsQt.cpp:
49698        (PluginView::privateBrowsingStateChanged):
49699        (PluginView::bindingInstance):
49700
497012010-09-22  Martin Robinson  <mrobinson@igalia.com>
49702
49703        Reviewed by Xan Lopez.
49704
49705        [GTK] FontCustomPlatformData.cpp leaks FT_Faces
49706        https://bugs.webkit.org/show_bug.cgi?id=16941
49707
49708        Attach lifetime of the FontCustomPlatformData FT_Face to the resulting cairo_font_face_t.
49709        This will free the memory associated with the FT_Face once the cairo_font_face_t is 
49710        destroyed.
49711
49712        No new tests as functionality should not change.
49713
49714        * platform/graphics/cairo/FontCustomPlatformData.cpp:
49715        (WebCore::releaseCustomFontData): Moved this helper method to the top of the file
49716        and gave it a more descriptive name.
49717        (WebCore::FontCustomPlatformData::FontCustomPlatformData): Changed the constructor to
49718        take the FT_Face and the buffer, so to better encapsulate the creation of the cairo
49719        face.
49720        (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a comment about the
49721        fate of the FT_Face to the destructor.
49722        (WebCore::createFontCustomPlatformData): Cleaned up the code here and moved some of the
49723        logic into the constructor.
49724        * platform/graphics/cairo/FontCustomPlatformData.h: Updated method definitions.
49725
497262010-09-22  Balazs Kelemen  <kb@inf.u-szeged.hu>
49727
49728        Reviewed by Kenneth Rohde Christiansen.
49729
49730        PluginStrategy should satisfy the needs of Qt
49731        https://bugs.webkit.org/show_bug.cgi?id=45857
49732        No new functionality so no new tests.
49733
49734        * plugins/PluginData.cpp:
49735        (WebCore::PluginData::initPlugins):
49736        * plugins/PluginStrategy.h: Added a |const Page*| argument to getPluginInfo.
49737
497382010-09-22  Pavel Feldman  <pfeldman@chromium.org>
49739
49740        Reviewed by Yury Semikhatsky.
49741
49742        Web Inspector: Elements panel does not reflect changes to the text node values.
49743        https://bugs.webkit.org/show_bug.cgi?id=46166
49744
49745        * dom/CharacterData.cpp:
49746        (WebCore::CharacterData::dispatchModifiedEvent):
49747        * inspector/Inspector.idl:
49748        * inspector/InspectorController.cpp:
49749        (WebCore::InspectorController::characterDataModifiedImpl):
49750        * inspector/InspectorController.h:
49751        (WebCore::InspectorController::characterDataModified):
49752        * inspector/InspectorDOMAgent.cpp:
49753        (WebCore::InspectorDOMAgent::characterDataModified):
49754        * inspector/InspectorDOMAgent.h:
49755        (WebCore::EventListenerInfo::EventListenerInfo):
49756        (WebCore::InspectorDOMAgent::create):
49757        (WebCore::InspectorDOMAgent::cast):
49758        (WebCore::InspectorDOMAgent::cssStore):
49759        * inspector/front-end/DOMAgent.js:
49760        (WebInspector.DOMAgent.prototype._characterDataModified):
49761        (WebInspector.characterDataModified):
49762        * inspector/front-end/ElementsPanel.js:
49763        (WebInspector.ElementsPanel.prototype._characterDataModified):
49764        * inspector/front-end/ElementsTreeOutline.js:
49765        (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
49766
497672010-09-21  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
49768
49769        Reviewed by Kenneth Rohde Christiansen.
49770
49771        [Qt] On Maemo platform, web style is missing for some inputs
49772        https://bugs.webkit.org/show_bug.cgi?id=46182
49773
49774        * css/themeQtMaemo5.css:
49775
497762010-09-22  Patrick Gansterer  <paroga@webkit.org>
49777
49778        Unreviewed.
49779
49780        [WINCE] Build fix for ResourceHandleWin after r67291.
49781
49782        * platform/network/win/ResourceHandleWin.cpp:
49783        (WebCore::ResourceHandle::loadResourceSynchronously): Replace Frame* parameter with NetworkingContext*.
49784
497852010-09-22  Chris Guillory   <chris.guillory@google.com>
49786
49787        Reviewed by Chris Fleizach.
49788
49789        Crash due to bad cast in AXObjectCacheChromium.cpp.
49790        https://bugs.webkit.org/show_bug.cgi?id=46237
49791
49792        * accessibility/chromium/AXObjectCacheChromium.cpp:
49793        (WebCore::AXObjectCache::postPlatformNotification):
49794        * page/ChromeClient.h:
49795        (WebCore::ChromeClient::postAccessibilityNotification):
49796        (WebCore::ChromeClient::didChangeAccessibilityObjectState):
49797        (WebCore::ChromeClient::didChangeAccessibilityObjectChildren):
49798        * page/chromium/ChromeClientChromium.h:
49799
498002010-09-22  Chris Rogers  <crogers@google.com>
49801
49802        Reviewed by James Robinson.
49803
49804        Add HRTFElevation files
49805        https://bugs.webkit.org/show_bug.cgi?id=45864
49806
49807        No new tests since audio API is not yet implemented.
49808
49809        * platform/audio/HRTFElevation.cpp: Added.
49810        (WebCore::HRTFElevation::calculateSymmetricKernelsForAzimuthElevation):
49811        (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
49812        (WebCore::HRTFElevation::createForSubject):
49813        (WebCore::HRTFElevation::createByInterpolatingSlices):
49814        (WebCore::HRTFElevation::getKernelsFromAzimuth):
49815        * platform/audio/HRTFElevation.h: Added.
49816        (WebCore::HRTFElevation::kernelListL):
49817        (WebCore::HRTFElevation::kernelListR):
49818        (WebCore::HRTFElevation::elevationAngle):
49819        (WebCore::HRTFElevation::numberOfAzimuths):
49820        (WebCore::HRTFElevation::sampleRate):
49821        (WebCore::HRTFElevation::HRTFElevation):
49822
498232010-09-22  Alejandro G. Castro  <alex@igalia.com>
49824
49825        Reviewed by Martin Robinson.
49826
49827        [gtk] Use the smart pointers to handle cairo_path_t
49828        https://bugs.webkit.org/show_bug.cgi?id=46212
49829
49830        Modified the code to use smart pointers with cairo_path_t
49831        variables.
49832
49833        * platform/graphics/cairo/GraphicsContextCairo.cpp:
49834        (WebCore::appendPathToCairoContext):
49835        (WebCore::GraphicsContext::clip):
49836        (WebCore::GraphicsContext::drawTiledShadow):
49837        * platform/graphics/cairo/PathCairo.cpp:
49838        (WebCore::Path::Path):
49839        (WebCore::Path::operator=):
49840        (WebCore::Path::apply):
49841        (WebCore::Path::debugString):
49842
498432010-09-22  Kwang Yul Seo  <skyul@company100.net>
49844
49845        Reviewed by Kent Tamura.
49846
49847        [BREWMP] Implement Image::loadPlatformResource
49848        https://bugs.webkit.org/show_bug.cgi?id=45873
49849
49850        Load images from the resource directory.
49851
49852        * platform/graphics/brew/ImageBrew.cpp: Added.
49853        (WebCore::Image::loadPlatformResource):
49854
498552010-09-22  Chris Rogers  <crogers@google.com>
49856
49857        Reviewed by James Robinson.
49858
49859        Add HRTFKernel files
49860        https://bugs.webkit.org/show_bug.cgi?id=45863
49861
49862        No new tests since audio API is not yet implemented.
49863
49864        * platform/audio/HRTFKernel.cpp: Added.
49865        (WebCore::extractAverageGroupDelay):
49866        (WebCore::HRTFKernel::HRTFKernel):
49867        (WebCore::HRTFKernel::createImpulseResponse):
49868        (WebCore::HRTFKernel::createInterpolatedKernel):
49869        * platform/audio/HRTFKernel.h: Added.
49870        (WebCore::HRTFKernel::create):
49871        (WebCore::HRTFKernel::fftFrame):
49872        (WebCore::HRTFKernel::fftSize):
49873        (WebCore::HRTFKernel::frameDelay):
49874        (WebCore::HRTFKernel::sampleRate):
49875        (WebCore::HRTFKernel::nyquist):
49876        (WebCore::HRTFKernel::HRTFKernel):
49877
498782010-09-22  Kent Tamura  <tkent@chromium.org>
49879
49880        Reviewed by Chris Fleizach.
49881
49882        Support keyboard operations for <input type=range>.
49883        https://bugs.webkit.org/show_bug.cgi?id=45803
49884
49885        Increasing the value with Up/Right arrow keys by its step value,
49886        and decreasing with Down/Left arrow keys. If an input element has
49887        step=any attribute, increasing/decreasing by 1/100 of max-min.
49888
49889        Note: This change is not useful on Mac because users can't set
49890        focus on range controls.
49891
49892        Test: fast/forms/range-keyoperation.html
49893
49894        * html/HTMLInputElement.cpp:
49895        (WebCore::HTMLInputElement::defaultEventHandler):
49896          Calls handleKeyEventForRange() for RANGE and key events.
49897        (WebCore::HTMLInputElement::handleKeyEventForRange):
49898        * html/HTMLInputElement.h: Add handleKeyEventForRange() declaration.
49899
499002010-09-22  Mario Sanchez Prada  <msanchez@igalia.com>
49901
49902        Reviewed by Chris Fleizach.
49903
49904        [Gtk] Incorrect exposure of list items whose children are elements
49905        https://bugs.webkit.org/show_bug.cgi?id=45383
49906
49907        Set ATK_ROLE_LIST_ITEM looking for the role of the parent object
49908
49909        Test: platform/gtk/accessibility/list-items-always-exposed.html
49910
49911        * accessibility/gtk/AccessibilityObjectAtk.cpp:
49912        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
49913        Always include objects with ListItemRole in accessibility for GTK.
49914        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
49915        (getInterfaceMaskFromObject): Add some specific code to handle the
49916        special case of list markers by implementing AtkText when needed.
49917
499182010-09-22  Dirk Schulze  <krit@webkit.org>
49919
49920        Reviewed by Nikolas Zimmermann.
49921
49922        Make FilterEffects independent of SVG
49923        https://bugs.webkit.org/show_bug.cgi?id=46177
49924
49925        Moving all FilterEffects from svg/graphics/filters to platform/graphics/filters, now that they
49926        are independent of SVG. Removed the SVG prefix of the files and updated the headers.
49927
49928        * Android.mk:
49929        * CMakeLists.txt:
49930        * GNUmakefile.am:
49931        * WebCore.gypi:
49932        * WebCore.pro:
49933        * WebCore.vcproj/WebCore.vcproj:
49934        * WebCore.xcodeproj/project.pbxproj:
49935        * platform/graphics/filters/DistantLightSource.h: Copied from WebCore/svg/graphics/filters/SVGDistantLightSource.h.
49936        * platform/graphics/filters/FEConvolveMatrix.cpp: Copied from WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp.
49937        * platform/graphics/filters/FEConvolveMatrix.h: Copied from WebCore/svg/graphics/filters/SVGFEConvolveMatrix.h.
49938        * platform/graphics/filters/FEDiffuseLighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFEDiffuseLighting.cpp.
49939        * platform/graphics/filters/FEDiffuseLighting.h: Copied from WebCore/svg/graphics/filters/SVGFEDiffuseLighting.h.
49940        * platform/graphics/filters/FEDisplacementMap.cpp: Copied from WebCore/svg/graphics/filters/SVGFEDisplacementMap.cpp.
49941        * platform/graphics/filters/FEDisplacementMap.h: Copied from WebCore/svg/graphics/filters/SVGFEDisplacementMap.h.
49942        * platform/graphics/filters/FEFlood.cpp: Copied from WebCore/svg/graphics/filters/SVGFEFlood.cpp.
49943        * platform/graphics/filters/FEFlood.h: Copied from WebCore/svg/graphics/filters/SVGFEFlood.h.
49944        * platform/graphics/filters/FELighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFELighting.cpp.
49945        * platform/graphics/filters/FELighting.h: Copied from WebCore/svg/graphics/filters/SVGFELighting.h.
49946        * platform/graphics/filters/FEMerge.cpp: Copied from WebCore/svg/graphics/filters/SVGFEMerge.cpp.
49947        * platform/graphics/filters/FEMerge.h: Copied from WebCore/svg/graphics/filters/SVGFEMerge.h.
49948        * platform/graphics/filters/FEMorphology.cpp: Copied from WebCore/svg/graphics/filters/SVGFEMorphology.cpp.
49949        * platform/graphics/filters/FEMorphology.h: Copied from WebCore/svg/graphics/filters/SVGFEMorphology.h.
49950        * platform/graphics/filters/FEOffset.cpp: Copied from WebCore/svg/graphics/filters/SVGFEOffset.cpp.
49951        * platform/graphics/filters/FEOffset.h: Copied from WebCore/svg/graphics/filters/SVGFEOffset.h.
49952        * platform/graphics/filters/FESpecularLighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFESpecularLighting.cpp.
49953        * platform/graphics/filters/FESpecularLighting.h: Copied from WebCore/svg/graphics/filters/SVGFESpecularLighting.h.
49954        * platform/graphics/filters/FETile.cpp: Copied from WebCore/svg/graphics/filters/SVGFETile.cpp.
49955        * platform/graphics/filters/FETile.h: Copied from WebCore/svg/graphics/filters/SVGFETile.h.
49956        * platform/graphics/filters/FETurbulence.cpp: Copied from WebCore/svg/graphics/filters/SVGFETurbulence.cpp.
49957        * platform/graphics/filters/FETurbulence.h: Copied from WebCore/svg/graphics/filters/SVGFETurbulence.h.
49958        * platform/graphics/filters/LightSource.cpp: Copied from WebCore/svg/graphics/filters/SVGLightSource.cpp.
49959        * platform/graphics/filters/LightSource.h: Copied from WebCore/svg/graphics/filters/SVGLightSource.h.
49960        * platform/graphics/filters/PointLightSource.h: Copied from WebCore/svg/graphics/filters/SVGPointLightSource.h.
49961        * platform/graphics/filters/SpotLightSource.h: Copied from WebCore/svg/graphics/filters/SVGSpotLightSource.h.
49962        * svg/SVGFEConvolveMatrixElement.h:
49963        * svg/SVGFEDiffuseLightingElement.cpp:
49964        * svg/SVGFEDisplacementMapElement.h:
49965        * svg/SVGFEDistantLightElement.cpp:
49966        * svg/SVGFEFloodElement.h:
49967        * svg/SVGFELightElement.h:
49968        * svg/SVGFEMergeElement.h:
49969        * svg/SVGFEMorphologyElement.h:
49970        * svg/SVGFEOffsetElement.h:
49971        * svg/SVGFEPointLightElement.cpp:
49972        * svg/SVGFESpecularLightingElement.h:
49973        * svg/SVGFESpotLightElement.cpp:
49974        * svg/SVGFETileElement.h:
49975        * svg/SVGFETurbulenceElement.h:
49976        * svg/graphics/filters/SVGDistantLightSource.h: Removed.
49977        * svg/graphics/filters/SVGFEConvolveMatrix.cpp: Removed.
49978        * svg/graphics/filters/SVGFEConvolveMatrix.h: Removed.
49979        * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Removed.
49980        * svg/graphics/filters/SVGFEDiffuseLighting.h: Removed.
49981        * svg/graphics/filters/SVGFEDisplacementMap.cpp: Removed.
49982        * svg/graphics/filters/SVGFEDisplacementMap.h: Removed.
49983        * svg/graphics/filters/SVGFEFlood.cpp: Removed.
49984        * svg/graphics/filters/SVGFEFlood.h: Removed.
49985        * svg/graphics/filters/SVGFELighting.cpp: Removed.
49986        * svg/graphics/filters/SVGFELighting.h: Removed.
49987        * svg/graphics/filters/SVGFEMerge.cpp: Removed.
49988        * svg/graphics/filters/SVGFEMerge.h: Removed.
49989        * svg/graphics/filters/SVGFEMorphology.cpp: Removed.
49990        * svg/graphics/filters/SVGFEMorphology.h: Removed.
49991        * svg/graphics/filters/SVGFEOffset.cpp: Removed.
49992        * svg/graphics/filters/SVGFEOffset.h: Removed.
49993        * svg/graphics/filters/SVGFESpecularLighting.cpp: Removed.
49994        * svg/graphics/filters/SVGFESpecularLighting.h: Removed.
49995        * svg/graphics/filters/SVGFETile.cpp: Removed.
49996        * svg/graphics/filters/SVGFETile.h: Removed.
49997        * svg/graphics/filters/SVGFETurbulence.cpp: Removed.
49998        * svg/graphics/filters/SVGFETurbulence.h: Removed.
49999        * svg/graphics/filters/SVGLightSource.cpp: Removed.
50000        * svg/graphics/filters/SVGLightSource.h: Removed.
50001        * svg/graphics/filters/SVGPointLightSource.h: Removed.
50002        * svg/graphics/filters/SVGSpotLightSource.h: Removed.
50003
500042010-09-22  Patrick Gansterer  <paroga@webkit.org>
50005
50006        Reviewed by Adam Roben.
50007
50008        [WIN] Add internetHandle to WebCoreSynchronousLoader.
50009        https://bugs.webkit.org/show_bug.cgi?id=46185
50010
50011        For loading content via network the WebCoreSynchronousLoader needs its own (synchronous) internetHandle.
50012        This also adds asynchronousInternetHandle() to create a static asynchronous internetHandle.
50013
50014        * platform/network/win/ResourceHandleWin.cpp:
50015        (WebCore::createInternetHandle):
50016        (WebCore::asynchronousInternetHandle):
50017        (WebCore::WebCoreSynchronousLoader::internetHandle):
50018        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Create synchronous internetHandle.
50019        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Delete synchronous internetHandle.
50020
500212010-09-22  Kwang Yul Seo  <skyul@company100.net>
50022
50023        Reviewed by Chris Fleizach.
50024
50025        [chromium] Remove unused sys/types.h in VDMXParser.cpp
50026        https://bugs.webkit.org/show_bug.cgi?id=46136
50027
50028        sys/types.h is not needed here.
50029
50030        * platform/graphics/chromium/VDMXParser.cpp:
50031
500322010-09-22  Kwang Yul Seo  <skyul@company100.net>
50033
50034        Reviewed by Kent Tamura.
50035
50036        [BREWMP] Change the home directory path to the WebKit module directory
50037        https://bugs.webkit.org/show_bug.cgi?id=45895
50038
50039        AEEFS_HOME_DIR denotes the currently running application's directory. 
50040        Change it to fs:/~<clsid> to use the WebKit module directory as home.
50041
50042        * platform/brew/FileSystemBrew.cpp:
50043        (WebCore::homeDirectoryPath):
50044
500452010-09-22  Kwang Yul Seo  <skyul@company100.net>
50046
50047        Reviewed by Kent Tamura.
50048
50049        [BREWMP] Add dummy Pasteboard
50050        https://bugs.webkit.org/show_bug.cgi?id=46107
50051
50052        Pasteboard is not supported yet. Add dummy implementation to avoid link errors.
50053
50054        * platform/brew/PasteboardBrew.cpp: Added.
50055        (WebCore::Pasteboard::generalPasteboard):
50056        (WebCore::Pasteboard::Pasteboard):
50057        (WebCore::Pasteboard::clear):
50058        (WebCore::Pasteboard::writeSelection):
50059        (WebCore::Pasteboard::writePlainText):
50060        (WebCore::Pasteboard::writeURL):
50061        (WebCore::Pasteboard::writeImage):
50062        (WebCore::Pasteboard::canSmartReplace):
50063        (WebCore::Pasteboard::plainText):
50064        (WebCore::Pasteboard::documentFragment):
50065
500662010-09-21  Ryosuke Niwa  <rniwa@webkit.org>
50067
50068        Reviewed by Kent Tamura.
50069
50070        Each EntityMaskIn* needs explanation
50071        https://bugs.webkit.org/show_bug.cgi?id=44833
50072
50073        Added a description as to why we escape nbsp when serializing HTML documents but not when serializing XML documents.
50074
50075        * editing/markup.cpp:
50076
500772010-09-21  Ryosuke Niwa  <rniwa@webkit.org>
50078
50079        Reviewed by Kent Tamura.
50080
50081        cleanup: removeInlineStyleFromElement and extractInlineStyleToPushDown should be merged
50082        https://bugs.webkit.org/show_bug.cgi?id=46205
50083
50084        Cleanup required to fix the bug 27818. Added the style extraction mechanism to removeInlineStyleFromElement
50085        and removeCSSStyle and replaced the call to extractInlineStyleToPushDown by a call to removeInlineStyleFromElement.
50086
50087        * editing/ApplyStyleCommand.cpp:
50088        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added extractedStyle argument.
50089        (WebCore::ApplyStyleCommand::removeCSSStyle): Added extractedStyle argument.
50090        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement instead of
50091        extractInlineStyleToPushDown which has been deleted.
50092        * editing/ApplyStyleCommand.h:
50093
500942010-09-21  Andrew Wilson  <atwilson@chromium.org>
50095
50096        Unreviewed, rolling out r67982.
50097        http://trac.webkit.org/changeset/67982
50098        https://bugs.webkit.org/show_bug.cgi?id=45156
50099
50100        Causes crashes on chromium testshell
50101
50102        * WebCore.gypi:
50103        * accessibility/chromium/AXObjectCacheChromium.cpp:
50104        (WebCore::AXObjectCache::postPlatformNotification):
50105        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
50106        (WebCore::AXObjectCache::handleScrolledToAnchor):
50107        * dom/Document.cpp:
50108        (WebCore::Document::implicitClose):
50109        (WebCore::Document::setFocusedNode):
50110        * editing/SelectionController.h:
50111        * editing/chromium/SelectionControllerChromium.cpp: Removed.
50112        * page/FrameView.cpp:
50113        (WebCore::FrameView::layout):
50114        * page/chromium/ChromeClientChromium.h:
50115
501162010-09-21  Cosmin Truta  <ctruta@chromium.org>
50117
50118        Reviewed by James Robinson.
50119
50120        RenderImage::intrinsicSizeChanged crashes when m_imageResource is missing
50121        https://bugs.webkit.org/show_bug.cgi?id=46120
50122
50123        Avoid applying operator -> to m_imageResource when its underlying pointer is NULL.
50124
50125        * rendering/RenderImage.h:
50126        (WebCore::RenderImage::intrinsicSizeChanged): Checked m_imageResource.
50127        * html/HTMLImageElement.cpp:
50128        (HTMLImageElement::createRenderer): Fixed indentation.
50129
501302010-09-21  Kenneth Russell  <kbr@google.com>
50131
50132        Reviewed by James Robinson.
50133
50134        [chromium] Remove GLES2Context and WebGLES2Context
50135        https://bugs.webkit.org/show_bug.cgi?id=46131
50136
50137        Removed now-obsolete GLES2Context and WebGLES2Context classes, and
50138        dependency on command buffer client code from WebCore. Built and
50139        tested 3D CSS and WebGL content on Mac OS X to test.
50140
50141        * WebCore.gypi:
50142        * platform/chromium/GLES2Context.h: Removed.
50143        * platform/graphics/skia/ImageSkia.cpp:
50144
501452010-09-21  Geoffrey Garen  <ggaren@apple.com>
50146
50147        Try to fix the Windows build.
50148
50149        * loader/Cache.cpp:
50150        (WebCore::Cache::makeResourcePurgeable):
50151        (WebCore::Cache::evict): Cast to int before using unary '-', to avoid an
50152        MSVC warning.
50153
501542010-09-21  Pratik Solanki  <psolanki@apple.com>
50155
50156        Reviewed by Geoffrey Garen and Darin Adler.
50157
50158        Use purgeable memory to keep more dead resources in cache
50159        https://bugs.webkit.org/show_bug.cgi?id=44806
50160        <rdar://problem/8350901>
50161
50162        This changes the behavior of dead resources in the WebCore cache to be the following if
50163        shouldMakeResourcePurgeableOnEviction() returns true.
50164
50165        1. Dead resources in the cache are kept in non-purgeable memory.
50166        2. When we prune dead resources, instead of freeing them, we mark their memory as purgeable
50167        and keep the resources until the kernel reclaims the purgeable memory.
50168
50169        By leaving the in-cache dead resources in dirty resident memory, we decrease the likelihood
50170        of the kernel claiming that memory and forcing us to refetch the resource (for example when
50171        a user presses back).
50172
50173        And by having an unbounded number of resource objects using purgeable memory, we can use
50174        as much memory as is available on the machine. The trade-off is that the CachedResource
50175        object (and its member variables) are allocated in non-purgeable TC-malloc'd memory so
50176        we would see slightly more memory use due to this.
50177
50178        * loader/Cache.cpp:
50179        (WebCore::Cache::resourceForURL): Adjust sizes appropriately if we made resource memory
50180        non-purgeable.
50181        (WebCore::Cache::pruneDeadResources): When removing dead resources, try first to mark their
50182        memory as purgeable. If not, evict the resource.
50183        (WebCore::Cache::makeResourcePurgeable): Added. Try to mark resource
50184        memory as purgeable. If successful, adjust the sizes so that we don't
50185        factor this resources size in the Cache size calculation.
50186        (WebCore::Cache::evict): Don't decrement size if we already did it in makeResourcePurgeable.
50187        (WebCore::Cache::dumpLRULists): Extra debug logging.
50188        * loader/Cache.h:
50189        (WebCore::Cache::shouldMakeResourcePurgeableOnEviction): Added. Indicates if the new
50190        behaviour is enabled.
50191        * loader/CachedCSSStyleSheet.cpp:
50192        (WebCore::CachedCSSStyleSheet::allClientsRemoved): Do not mark memory as purgeable. The
50193        Cache class takes care of this.
50194        * loader/CachedImage.cpp:
50195        (WebCore::CachedImage::destroyDecodedData): Ditto.
50196        * loader/CachedScript.cpp:
50197        (WebCore::CachedScript::destroyDecodedData): Ditto.
50198
501992010-09-21  Dan Bernstein  <mitz@apple.com>
50200
50201        Reviewed by Darin Adler.
50202
50203        <rdar://problem/7729077> Extending the selection to sentence boundary after a line break may select extra character
50204        https://bugs.webkit.org/show_bug.cgi?id=46232
50205
50206        Test: editing/selection/extend-by-sentence-002.html
50207
50208        * editing/visible_units.cpp:
50209        (WebCore::nextBoundary): The text iterator’s range end can be the position after
50210        the line break, in which case the next visible is actually after the first character
50211        of the next sentence. Instead, advance the text iterator past the newline character
50212        and return the beginning of its range, which is guaranteed to still be before the
50213        next sentence.
50214
502152010-09-21  Robert Hogan  <robert@webkit.org>
50216
50217        Rubber-stamped by Ariya Hidayat.
50218
50219        [Qt] Build fix against qt trunk
50220
50221        * platform/graphics/qt/ContextShadow.cpp:
50222        (WebCore::ContextShadow::beginShadowLayer):
50223
502242010-09-21  Tony Chang  <tony@chromium.org>
50225
50226        Unreviewed, QT build fix.
50227
50228        * platform/qt/ClipboardQt.cpp:
50229        (WebCore::ClipboardQt::ClipboardQt):
50230
502312010-09-21  Andy Estes  <aestes@apple.com>
50232
50233        Reviewed by Darin Adler.
50234
50235        REGRESSION (r61285): AIM 2.1.296: Code rendered as text in Welcome screen
50236        https://bugs.webkit.org/show_bug.cgi?id=46134
50237
50238        * WebCore.exp.in: Export __ZN7WebCore32applicationIsAOLInstantMessengerEv.
50239        * platform/mac/RuntimeApplicationChecks.h:
50240        * platform/mac/RuntimeApplicationChecks.mm:
50241        (WebCore::applicationIsAOLInstantMessenger): Determine if the embedding
50242        application is AOL Instant Messenger by checking the bundle identifier.
50243
502442010-09-21  Chris Guillory   <chris.guillory@google.com>
50245
50246        Reviewed by Chris Fleizach.
50247
50248        Send webkit accessibility notifications to Chromium.
50249        https://bugs.webkit.org/show_bug.cgi?id=45156
50250
50251        * WebCore.gypi:
50252        * accessibility/chromium/AXObjectCacheChromium.cpp:
50253        (WebCore::AXObjectCache::postPlatformNotification):
50254        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
50255        (WebCore::AXObjectCache::handleScrolledToAnchor):
50256        * dom/Document.cpp:
50257        (WebCore::Document::implicitClose):
50258        (WebCore::Document::setFocusedNode):
50259        * editing/SelectionController.h:
50260        * editing/chromium/SelectionControllerChromium.cpp: Added.
50261        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
50262        * page/FrameView.cpp:
50263        (WebCore::FrameView::layout):
50264        * page/chromium/ChromeClientChromium.h:
50265
502662010-09-21  Alejandro G. Castro  <alex@igalia.com>
50267
50268        Reviewed by Martin Robinson.
50269
50270        [gtk] Move copyContextProperties outside the GraphicsContextCairo
50271        https://bugs.webkit.org/show_bug.cgi?id=46179.
50272
50273        Moved the copyContextProperties function to the CairoUtilities so
50274        we can use it outside GraphicsContextCairo. We moved also the old
50275        gtk CairoUtilities file to GdkCairoUtilities and added the new
50276        file in the cairo directory.
50277
50278        * GNUmakefile.am:
50279        * platform/graphics/cairo/CairoUtilities.cpp: Added.
50280        (WebCore::copyContextProperties):
50281        * platform/graphics/cairo/CairoUtilities.h: Added.
50282        * platform/graphics/cairo/GraphicsContextCairo.cpp:
50283        * platform/graphics/gtk/CairoUtilities.cpp: Removed.
50284        * platform/graphics/gtk/CairoUtilities.h: Removed.
50285        * platform/graphics/gtk/GdkCairoUtilities.cpp: Added.
50286        (getCairoSurfacePixel):
50287        (getGdkPixbufPixel):
50288        (cairoImageSurfaceToGdkPixbuf):
50289        * platform/graphics/gtk/GdkCairoUtilities.h: Added.
50290        * platform/graphics/gtk/ImageBufferGtk.cpp:
50291        * platform/graphics/gtk/ImageGtk.cpp:
50292
502932010-09-21  Vangelis Kokkevis  <vangelis@chromium.org>
50294
50295        Reviewed by James Robinson.
50296
50297        [chromium] Cleaned up LayerRendererChromium::prepareToDrawLayers
50298        logic to avoid unnecessary copy operations if the existing root layer
50299        contents aren't useful for scrolling. Also removed call to updateLayersRecursive()
50300        as the composited layer update is actually happening in the drawLayers() method.
50301        https://bugs.webkit.org/show_bug.cgi?id=46199
50302
50303
50304        * platform/graphics/chromium/LayerRendererChromium.cpp:
50305        (WebCore::LayerRendererChromium::prepareToDrawLayers):
50306
503072010-09-21  Daniel Cheng  <dcheng@chromium.org>
50308
50309        Reviewed by Tony Chang.
50310
50311        Change Clipboard to use an enum instead of isForDragging = true/false
50312        https://bugs.webkit.org/show_bug.cgi?id=46004
50313
50314        No new tests, since it's just a refactoring change.
50315
50316        * bindings/js/JSClipboardCustom.cpp:
50317        (WebCore::JSClipboard::setDragImage):
50318        * bindings/v8/custom/V8ClipboardCustom.cpp:
50319        (WebCore::V8Clipboard::setDragImageCallback):
50320        * dom/Clipboard.cpp:
50321        (WebCore::Clipboard::Clipboard):
50322        (WebCore::Clipboard::setDropEffect):
50323        (WebCore::Clipboard::setEffectAllowed):
50324        * dom/Clipboard.h:
50325        (WebCore::Clipboard::isForCopyAndPaste):
50326        (WebCore::Clipboard::isForDragAndDrop):
50327        * editing/android/EditorAndroid.cpp:
50328        (WebCore::Editor::newGeneralClipboard):
50329        * editing/brew/EditorBrew.cpp:
50330        (WebCore::Editor::newGeneralClipboard):
50331        * editing/chromium/EditorChromium.cpp:
50332        (WebCore::Editor::newGeneralClipboard):
50333        * editing/haiku/EditorHaiku.cpp:
50334        (WebCore::Editor::newGeneralClipboard):
50335        * editing/mac/EditorMac.mm:
50336        (WebCore::Editor::newGeneralClipboard):
50337        * editing/wx/EditorWx.cpp:
50338        (WebCore::Editor::newGeneralClipboard):
50339        * page/chromium/EventHandlerChromium.cpp:
50340        (WebCore::EventHandler::createDraggingClipboard):
50341        * page/efl/EventHandlerEfl.cpp:
50342        (WebCore::EventHandler::createDraggingClipboard):
50343        * page/gtk/EventHandlerGtk.cpp:
50344        (WebCore::EventHandler::createDraggingClipboard):
50345        * page/haiku/EventHandlerHaiku.cpp:
50346        (WebCore::EventHandler::createDraggingClipboard):
50347        * page/mac/EventHandlerMac.mm:
50348        (WebCore::EventHandler::createDraggingClipboard):
50349        * page/qt/EventHandlerQt.cpp:
50350        (WebCore::EventHandler::createDraggingClipboard):
50351        * page/win/EventHandlerWin.cpp:
50352        (WebCore::EventHandler::createDraggingClipboard):
50353        * page/wx/EventHandlerWx.cpp:
50354        (WebCore::EventHandler::createDraggingClipboard):
50355        * platform/android/ClipboardAndroid.cpp:
50356        (WebCore::ClipboardAndroid::ClipboardAndroid):
50357        (WebCore::ClipboardAndroid::clearData):
50358        (WebCore::ClipboardAndroid::clearAllData):
50359        (WebCore::ClipboardAndroid::setData):
50360        * platform/android/ClipboardAndroid.h:
50361        * platform/brew/ClipboardBrew.cpp:
50362        (WebCore::ClipboardBrew::ClipboardBrew):
50363        (WebCore::ClipboardBrew::clearData):
50364        (WebCore::ClipboardBrew::clearAllData):
50365        (WebCore::ClipboardBrew::setData):
50366        * platform/brew/ClipboardBrew.h:
50367        * platform/chromium/ClipboardChromium.cpp:
50368        (WebCore::Clipboard::create):
50369        (WebCore::ClipboardChromium::ClipboardChromium):
50370        (WebCore::ClipboardChromium::create):
50371        (WebCore::ClipboardChromium::getData):
50372        * platform/chromium/ClipboardChromium.h:
50373        * platform/efl/ClipboardEfl.cpp:
50374        (WebCore::Editor::newGeneralClipboard):
50375        (WebCore::ClipboardEfl::ClipboardEfl):
50376        * platform/efl/ClipboardEfl.h:
50377        (WebCore::ClipboardEfl::create):
50378        * platform/gtk/ClipboardGtk.cpp:
50379        (WebCore::Editor::newGeneralClipboard):
50380        (WebCore::Clipboard::create):
50381        (WebCore::ClipboardGtk::ClipboardGtk):
50382        (WebCore::dataObjectTypeFromHTMLClipboardType):
50383        (WebCore::ClipboardGtk::clearData):
50384        (WebCore::ClipboardGtk::getData):
50385        (WebCore::ClipboardGtk::setData):
50386        * platform/gtk/ClipboardGtk.h:
50387        (WebCore::ClipboardGtk::create):
50388        * platform/haiku/ClipboardHaiku.cpp:
50389        (WebCore::Clipboard::create):
50390        (WebCore::ClipboardHaiku::ClipboardHaiku):
50391        * platform/haiku/ClipboardHaiku.h:
50392        (WebCore::ClipboardHaiku::create):
50393        * platform/mac/ClipboardMac.h:
50394        (WebCore::ClipboardMac::create):
50395        * platform/mac/ClipboardMac.mm:
50396        (WebCore::Clipboard::create):
50397        (WebCore::ClipboardMac::ClipboardMac):
50398        * platform/qt/ClipboardQt.cpp:
50399        (WebCore::ClipboardQt::ClipboardQt):
50400        (WebCore::ClipboardQt::~ClipboardQt):
50401        (WebCore::ClipboardQt::clearData):
50402        (WebCore::ClipboardQt::clearAllData):
50403        (WebCore::ClipboardQt::setData):
50404        (WebCore::ClipboardQt::declareAndWriteDragImage):
50405        (WebCore::ClipboardQt::writeURL):
50406        (WebCore::ClipboardQt::writeRange):
50407        (WebCore::ClipboardQt::writePlainText):
50408        * platform/qt/ClipboardQt.h:
50409        (WebCore::ClipboardQt::create):
50410        * platform/win/ClipboardWin.cpp:
50411        (WebCore::Clipboard::create):
50412        (WebCore::ClipboardWin::ClipboardWin):
50413        (WebCore::ClipboardWin::clearData):
50414        (WebCore::ClipboardWin::clearAllData):
50415        (WebCore::ClipboardWin::setData):
50416        (WebCore::ClipboardWin::setExternalDataObject):
50417        * platform/win/ClipboardWin.h:
50418        (WebCore::ClipboardWin::create):
50419        * platform/win/EditorWin.cpp:
50420        (WebCore::Editor::newGeneralClipboard):
50421        * platform/wx/ClipboardWx.cpp:
50422        (WebCore::ClipboardWx::ClipboardWx):
50423        * platform/wx/ClipboardWx.h:
50424        (WebCore::ClipboardWx::create):
50425
504262010-09-21  Abhishek Arya  <inferno@chromium.org>
50427
50428        Reviewed by Dave Hyatt.
50429
50430        Take isValueList() checks out of the asserts for memory safety.
50431        https://bugs.webkit.org/show_bug.cgi?id=46194
50432
50433        Test: editing/execCommand/apply-style-text-decoration-crash.html
50434
50435        * editing/ApplyStyleCommand.cpp:
50436        (WebCore::StyleChange::extractTextStyles):
50437        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
50438
504392010-09-21  Vangelis Kokkevis  <vangelis@chromium.org>
50440
50441        Reviewed by Kenneth Russell.
50442
50443        [chromium] Fixing double translation of composited layers when scrolling.
50444        The scrolling transform is now applied by a separate layer maintained in
50445        the RenderLayerCompositor.
50446        https://bugs.webkit.org/show_bug.cgi?id=46193
50447
50448        * platform/graphics/chromium/LayerRendererChromium.cpp:
50449        (WebCore::LayerRendererChromium::drawLayers):
50450
504512010-09-21  David Hyatt  <hyatt@apple.com>
50452
50453        Reviewed by Dan Bernstein.
50454
50455        https://bugs.webkit.org/show_bug.cgi?id=46196, add marginStart/Before/End/After accessors to RenderBoxModelObject.
50456
50457        * rendering/RenderBox.cpp:
50458        (WebCore::RenderBox::marginBefore):
50459        (WebCore::RenderBox::marginAfter):
50460        (WebCore::RenderBox::marginStart):
50461        (WebCore::RenderBox::marginEnd):
50462        * rendering/RenderBox.h:
50463        * rendering/RenderBoxModelObject.h:
50464        * rendering/RenderInline.cpp:
50465        (WebCore::computeMargin):
50466        (WebCore::RenderInline::marginLeft):
50467        (WebCore::RenderInline::marginRight):
50468        (WebCore::RenderInline::marginTop):
50469        (WebCore::RenderInline::marginBottom):
50470        (WebCore::RenderInline::marginStart):
50471        (WebCore::RenderInline::marginEnd):
50472        * rendering/RenderInline.h:
50473        (WebCore::RenderInline::marginBefore):
50474        (WebCore::RenderInline::marginAfter):
50475
504762010-09-21  David Hyatt  <hyatt@apple.com>
50477
50478        Reviewed by Dan Bernstein.
50479
50480        https://bugs.webkit.org/show_bug.cgi?id=46190, add borderStart/Before/End/After accessors to RenderBoxModelObject.
50481
50482        * rendering/RenderBoxModelObject.h:
50483        (WebCore::RenderBoxModelObject::borderBefore):
50484        (WebCore::RenderBoxModelObject::borderAfter):
50485        (WebCore::RenderBoxModelObject::borderStart):
50486        (WebCore::RenderBoxModelObject::borderEnd):
50487        (WebCore::RenderBoxModelObject::borderAndPaddingLogicalHeight):
50488        (WebCore::RenderBoxModelObject::borderAndPaddingLogicalWidth):
50489        * rendering/RenderTableCell.cpp:
50490        (WebCore::RenderTableCell::borderStart):
50491        (WebCore::RenderTableCell::borderEnd):
50492        (WebCore::RenderTableCell::borderBefore):
50493        (WebCore::RenderTableCell::borderAfter):
50494        * rendering/RenderTableCell.h:
50495
504962010-09-21  Martin Robinson  <mrobinson@igalia.com>
50497
50498        Reviewed by Xan Lopez.
50499
50500        [GTK] 'make dist' should be fixed in preparation for the next release
50501        https://bugs.webkit.org/show_bug.cgi?id=46129
50502
50503        * GNUmakefile.am: Update the sources list to include missing headers.
50504
505052010-09-21  David Hyatt  <hyatt@apple.com>
50506
50507        Reviewed by John Sullivan.
50508
50509        https://bugs.webkit.org/show_bug.cgi?id=46188, make the cross-platform setPrinting method match the Mac version of the method.
50510        Specifically don't pass the page size down to subframes of the one you're printing.
50511
50512        * page/Frame.cpp:
50513        (WebCore::Frame::setPrinting):
50514
505152010-09-21  Patrick Gansterer  <paroga@webkit.org>
50516
50517        Reviewed by Adam Roben.
50518
50519        Use WTF::Vector for storing formData in ResourceHandleWin.
50520        https://bugs.webkit.org/show_bug.cgi?id=46180
50521
50522        * platform/network/ResourceHandleInternal.h:
50523        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
50524        * platform/network/win/ResourceHandleWin.cpp:
50525        (WebCore::ResourceHandle::onHandleCreated):
50526        (WebCore::ResourceHandle::onRequestComplete):
50527
505282010-09-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
50529
50530        Reviewed by Andreas Kling.
50531
50532        [Qt] Check if the reply has been deleted before finishing a network request
50533        https://bugs.webkit.org/show_bug.cgi?id=46174
50534
50535        A crash can happen with the following sequence:
50536        1. QNetworkReplyHandler::abort() emits reply->deleteLater()
50537        2. QNAM emits QNetworkReply::finished() -> calls QNetworkReplyHandler::finish()
50538        3. event loop would call reply->deleteLater()
50539        However a crash occurs since m_reply == 0 on step 2.
50540
50541        * platform/network/qt/QNetworkReplyHandler.cpp:
50542        (WebCore::QNetworkReplyHandler::finish):
50543
505442010-09-21  Jochen Eisinger  <jochen@chromium.org>
50545
50546        Reviewed by Jeremy Orlow.
50547
50548        Use @ to concatenate the database name and the database identifier when building
50549        the filename to use for indexed databases. That character is valid for filenames
50550        but cannot occur in a database identifier derived from a security origin.
50551        https://bugs.webkit.org/show_bug.cgi?id=46178
50552
50553        * storage/IDBFactoryBackendImpl.cpp:
50554        (WebCore::IDBFactoryBackendImpl::databaseFileName):
50555
505562010-09-21  Steve Block  <steveblock@google.com>
50557
50558        Reviewed by Jeremy Orlow.
50559
50560        DeviceOrientationClient and DeviceMotionClient should have controllerDestroyed() methods
50561        https://bugs.webkit.org/show_bug.cgi?id=45891
50562
50563        Tested by existing DeviceOrientation tests.
50564
50565        * dom/DeviceMotionClient.h:
50566        * dom/DeviceMotionController.cpp:
50567        (WebCore::DeviceMotionController::~DeviceMotionController):
50568        * dom/DeviceMotionController.h:
50569        * dom/DeviceOrientationClient.h:
50570        * dom/DeviceOrientationController.cpp:
50571        (WebCore::DeviceOrientationController::~DeviceOrientationController):
50572        * dom/DeviceOrientationController.h:
50573        * loader/EmptyClients.h:
50574        (WebCore::EmptyDeviceMotionClient::deviceOrientationControllerDestroyed):
50575        (WebCore::EmptyDeviceOrientationClient::deviceOrientationControllerDestroyed):
50576        * platform/mock/DeviceOrientationClientMock.h:
50577        (WebCore::DeviceOrientationClientMock::deviceOrientationControllerDestroyed):
50578
505792010-09-21  Jochen Eisinger  <jochen@chromium.org>
50580
50581        Reviewed by Jeremy Orlow.
50582
50583        Factor out the file name used for a given indexed database to a static method.
50584        https://bugs.webkit.org/show_bug.cgi?id=46090
50585
50586        * storage/IDBFactoryBackendImpl.cpp:
50587        (WebCore::openSQLiteDatabase):
50588        (WebCore::IDBFactoryBackendImpl::databaseFileName):
50589        * storage/IDBFactoryBackendImpl.h:
50590
505912010-09-21  Dirk Schulze  <krit@webkit.org>
50592
50593        SVG Filter cleanup
50594        https://bugs.webkit.org/show_bug.cgi?id=45612
50595
50596        Unreviewed change of epsilon back to a more tolerant value in RenderTreeAsText and made it a static const.
50597        This should turn the bots green again.
50598
50599        * rendering/RenderTreeAsText.cpp:
50600        (WebCore::hasFractions):
50601
506022010-09-21  David Hyatt  <hyatt@apple.com>
50603
50604        Reviewed by Dan Bernstein.
50605
50606        https://bugs.webkit.org/show_bug.cgi?id=46125, convert table cell intrinsic padding from top/bottom-based
50607        to before/after-based.  A vertical text table can have intrinsic padding built into the left/right
50608        direction (and this allows the base class logical padding methods on RenderBoxModelObject to be safe to use).
50609
50610        * rendering/RenderTableCell.cpp:
50611        (WebCore::RenderTableCell::RenderTableCell):
50612        (WebCore::RenderTableCell::paddingTop):
50613        (WebCore::RenderTableCell::paddingBottom):
50614        (WebCore::RenderTableCell::paddingLeft):
50615        (WebCore::RenderTableCell::paddingRight):
50616        (WebCore::RenderTableCell::paddingBefore):
50617        (WebCore::RenderTableCell::paddingAfter):
50618        * rendering/RenderTableCell.h:
50619        (WebCore::RenderTableCell::setIntrinsicPaddingBefore):
50620        (WebCore::RenderTableCell::setIntrinsicPaddingAfter):
50621        (WebCore::RenderTableCell::setIntrinsicPadding):
50622        (WebCore::RenderTableCell::intrinsicPaddingBefore):
50623        (WebCore::RenderTableCell::intrinsicPaddingAfter):
50624        * rendering/RenderTableSection.cpp:
50625        (WebCore::RenderTableSection::calcRowHeight):
50626        (WebCore::RenderTableSection::layoutRows):
50627        * rendering/RenderTreeAsText.cpp:
50628        (WebCore::RenderTreeAsText::writeRenderObject):
50629        (WebCore::writeTextRun):
50630
506312010-09-21  Dirk Schulze  <krit@webkit.org>
50632
50633        Reviewed by Nikolas Zimmermann.
50634
50635        SVG Filter cleanup
50636        https://bugs.webkit.org/show_bug.cgi?id=45612
50637
50638        Second cleanup patch. Modified files to follow webkit style. Removed dependencies
50639        to SVG of most of the filter effects and prepared them to move from WebCore/svg/graphics/filters
50640        to WebCore/platform/graphics/filters/.
50641        Renamed calculateDrawingIntRect and calculateDrawingRect to requestedRegionOfInputImageData and
50642        drawingRegionOfInputImage to clarify the functionality and make both functions distinguishable.
50643
50644        * platform/graphics/filters/FEBlend.cpp:
50645        (WebCore::FEBlend::apply):
50646        * platform/graphics/filters/FEBlend.h:
50647        * platform/graphics/filters/FEColorMatrix.cpp:
50648        (WebCore::FEColorMatrix::apply):
50649        * platform/graphics/filters/FEColorMatrix.h:
50650        * platform/graphics/filters/FEComponentTransfer.cpp:
50651        (WebCore::FEComponentTransfer::apply):
50652        * platform/graphics/filters/FEComponentTransfer.h:
50653        (WebCore::ComponentTransferFunction::ComponentTransferFunction):
50654        * platform/graphics/filters/FEComposite.cpp:
50655        (WebCore::FEComposite::apply):
50656        * platform/graphics/filters/FEComposite.h:
50657        * platform/graphics/filters/FEGaussianBlur.cpp:
50658        (WebCore::FEGaussianBlur::apply):
50659        * platform/graphics/filters/FEGaussianBlur.h:
50660        * platform/graphics/filters/Filter.h:
50661        * platform/graphics/filters/FilterEffect.cpp:
50662        (WebCore::FilterEffect::requestedRegionOfInputImageData):
50663        (WebCore::FilterEffect::drawingRegionOfInputImage):
50664        (WebCore::FilterEffect::effectContext):
50665        * platform/graphics/filters/FilterEffect.h:
50666        * platform/graphics/filters/ImageBufferFilter.cpp:
50667        * platform/graphics/filters/ImageBufferFilter.h:
50668        * platform/graphics/filters/SourceAlpha.cpp:
50669        (WebCore::SourceAlpha::apply):
50670        * platform/graphics/filters/SourceAlpha.h:
50671        (WebCore::SourceAlpha::isSourceInput):
50672        (WebCore::SourceAlpha::SourceAlpha):
50673        * platform/graphics/filters/SourceGraphic.cpp:
50674        (WebCore::SourceGraphic::apply):
50675        * platform/graphics/filters/SourceGraphic.h:
50676        (WebCore::SourceGraphic::isSourceInput):
50677        (WebCore::SourceGraphic::SourceGraphic):
50678        * rendering/RenderTreeAsText.cpp:
50679        (WebCore::hasFractions):
50680        (WebCore::operator<<):
50681        * rendering/RenderTreeAsText.h:
50682        (WebCore::operator<<):
50683        * rendering/SVGRenderTreeAsText.cpp:
50684        * rendering/SVGRenderTreeAsText.h:
50685        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
50686        (WebCore::FEConvolveMatrix::apply):
50687        * svg/graphics/filters/SVGFEConvolveMatrix.h:
50688        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
50689        * svg/graphics/filters/SVGFEDiffuseLighting.h:
50690        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
50691        (WebCore::FEDisplacementMap::apply):
50692        * svg/graphics/filters/SVGFEDisplacementMap.h:
50693        * svg/graphics/filters/SVGFEFlood.cpp:
50694        (WebCore::FEFlood::apply):
50695        (WebCore::FEFlood::externalRepresentation):
50696        * svg/graphics/filters/SVGFEFlood.h:
50697        * svg/graphics/filters/SVGFEImage.cpp:
50698        (WebCore::FEImage::apply):
50699        * svg/graphics/filters/SVGFEImage.h:
50700        * svg/graphics/filters/SVGFELighting.cpp:
50701        (WebCore::FELighting::apply):
50702        * svg/graphics/filters/SVGFELighting.h:
50703        * svg/graphics/filters/SVGFEMerge.cpp:
50704        (WebCore::FEMerge::apply):
50705        * svg/graphics/filters/SVGFEMerge.h:
50706        * svg/graphics/filters/SVGFEMorphology.cpp:
50707        (WebCore::FEMorphology::apply):
50708        * svg/graphics/filters/SVGFEMorphology.h:
50709        * svg/graphics/filters/SVGFEOffset.cpp:
50710        (WebCore::FEOffset::apply):
50711        * svg/graphics/filters/SVGFEOffset.h:
50712        * svg/graphics/filters/SVGFESpecularLighting.cpp:
50713        * svg/graphics/filters/SVGFESpecularLighting.h:
50714        * svg/graphics/filters/SVGFETile.cpp:
50715        (WebCore::FETile::apply):
50716        * svg/graphics/filters/SVGFETile.h:
50717        * svg/graphics/filters/SVGFETurbulence.cpp:
50718        (WebCore::FETurbulence::apply):
50719        * svg/graphics/filters/SVGFETurbulence.h:
50720
507212010-09-20  Philippe Normand  <pnormand@igalia.com>
50722
50723        Reviewed by Eric Carlson.
50724
50725        [GTK] enhanced context menu for media elements
50726        https://bugs.webkit.org/show_bug.cgi?id=45021
50727
50728        New items in the media Element context menu:
50729        - play/pause
50730        - mute/unmute
50731        - controls display control
50732        - switch to fullscreen (for video only)
50733        - loop playback control
50734        - copy media url to clipboard
50735        - open in new window
50736
50737        Test: media/context-menu-actions.html
50738
50739        * page/ContextMenuController.cpp:
50740        (WebCore::ContextMenuController::contextMenuItemSelected):
50741        * platform/ContextMenu.cpp:
50742        (WebCore::ContextMenu::populate):
50743        (WebCore::ContextMenu::checkOrEnableIfNeeded):
50744        * platform/ContextMenuItem.h:
50745        * platform/LocalizationStrategy.h:
50746        * platform/LocalizedStrings.cpp:
50747        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50748        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50749        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50750        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50751        (WebCore::contextMenuItemTagToggleMediaControls):
50752        (WebCore::contextMenuItemTagToggleMediaLoop):
50753        (WebCore::contextMenuItemTagEnterVideoFullscreen):
50754        (WebCore::contextMenuItemTagMediaPlay):
50755        (WebCore::contextMenuItemTagMediaPause):
50756        (WebCore::contextMenuItemTagMediaMute):
50757        * platform/LocalizedStrings.h:
50758        * platform/android/LocalizedStringsAndroid.cpp:
50759        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50760        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50761        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50762        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50763        (WebCore::contextMenuItemTagToggleMediaControls):
50764        (WebCore::contextMenuItemTagToggleMediaLoop):
50765        (WebCore::contextMenuItemTagEnterVideoFullscreen):
50766        (WebCore::contextMenuItemTagMediaPlay):
50767        (WebCore::contextMenuItemTagMediaPause):
50768        (WebCore::contextMenuItemTagMediaMute):
50769        * platform/brew/LocalizedStringsBrew.cpp:
50770        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50771        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50772        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50773        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50774        (WebCore::contextMenuItemTagToggleMediaControls):
50775        (WebCore::contextMenuItemTagToggleMediaLoop):
50776        (WebCore::contextMenuItemTagEnterVideoFullscreen):
50777        (WebCore::contextMenuItemTagMediaPlay):
50778        (WebCore::contextMenuItemTagMediaPause):
50779        (WebCore::contextMenuItemTagMediaMute):
50780        * platform/efl/LocalizedStringsEfl.cpp:
50781        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50782        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50783        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50784        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50785        (WebCore::contextMenuItemTagToggleMediaControls):
50786        (WebCore::contextMenuItemTagToggleMediaLoop):
50787        (WebCore::contextMenuItemTagEnterVideoFullscreen):
50788        (WebCore::contextMenuItemTagMediaPlay):
50789        (WebCore::contextMenuItemTagMediaPause):
50790        (WebCore::contextMenuItemTagMediaMute):
50791        * platform/gtk/ContextMenuItemGtk.cpp:
50792        (WebCore::gtkStockIDFromContextMenuAction):
50793        * platform/gtk/LocalizedStringsGtk.cpp:
50794        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50795        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50796        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50797        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50798        (WebCore::contextMenuItemTagToggleMediaControls):
50799        (WebCore::contextMenuItemTagToggleMediaLoop):
50800        (WebCore::contextMenuItemTagEnterVideoFullscreen):
50801        (WebCore::contextMenuItemTagMediaPlay):
50802        (WebCore::contextMenuItemTagMediaPause):
50803        (WebCore::contextMenuItemTagMediaMute):
50804        * platform/haiku/LocalizedStringsHaiku.cpp:
50805        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50806        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50807        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50808        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50809        (WebCore::contextMenuItemTagToggleMediaControls):
50810        (WebCore::contextMenuItemTagToggleMediaLoop):
50811        (WebCore::contextMenuItemTagEnterVideoFullscreen):
50812        (WebCore::contextMenuItemTagMediaPlay):
50813        (WebCore::contextMenuItemTagMediaPause):
50814        (WebCore::contextMenuItemTagMediaMute):
50815        * platform/wx/LocalizedStringsWx.cpp:
50816        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
50817        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
50818        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
50819        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
50820        (WebCore::contextMenuItemTagToggleMediaControls):
50821        (WebCore::contextMenuItemTagToggleMediaLoop):
50822        (WebCore::contextMenuItemTagEnterVideoFullscreen):
50823        (WebCore::contextMenuItemTagMediaPlay):
50824        (WebCore::contextMenuItemTagMediaPause):
50825        (WebCore::contextMenuItemTagMediaMute):
50826        * rendering/HitTestResult.cpp:
50827        (WebCore::HitTestResult::absoluteMediaURL):
50828        (WebCore::HitTestResult::mediaSupportsFullscreen):
50829        (WebCore::HitTestResult::mediaElement):
50830        (WebCore::HitTestResult::toggleMediaControlsDisplay):
50831        (WebCore::HitTestResult::toggleMediaLoopPlayback):
50832        (WebCore::HitTestResult::enterFullscreenForVideo):
50833        (WebCore::HitTestResult::mediaControlsEnabled):
50834        (WebCore::HitTestResult::mediaLoopEnabled):
50835        (WebCore::HitTestResult::mediaPlaying):
50836        (WebCore::HitTestResult::toggleMediaPlayState):
50837        (WebCore::HitTestResult::mediaHasAudio):
50838        (WebCore::HitTestResult::mediaMuted):
50839        (WebCore::HitTestResult::toggleMediaMuteState):
50840        * rendering/HitTestResult.h:
50841
508422010-09-20  Kwang Yul Seo  <skyul@company100.net>
50843
50844        Reviewed by Daniel Bates.
50845
50846        [BREWMP] Handle tab key
50847        https://bugs.webkit.org/show_bug.cgi?id=46104
50848
50849        In Brew MP, AVK_FUNCTION is the key code for tab.
50850        Process AVK_FUNCTION as tab in PlatformKeyboardEvent.
50851
50852        * platform/brew/PlatformKeyboardEventBrew.cpp:
50853        (WebCore::keyIdentifierForBrewKeyCode):
50854        (WebCore::windowsKeyCodeForKeyEvent):
50855
508562010-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
50857
50858        Unreviewed, rolling out r67918.
50859        http://trac.webkit.org/changeset/67918
50860        https://bugs.webkit.org/show_bug.cgi?id=46162
50861
50862        Broke chromium win compile (Requested by jamesr on #webkit).
50863
50864        * WebCore.gyp/WebCore.gyp:
50865        * WebCore.gypi:
50866        * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Renamed from WebCore/platform/graphics/skia/GlyphPageTreeNodeSkia.cpp.
50867        (WebCore::GlyphPage::fill):
50868
508692010-09-20  Daniel Bates  <dbates@rim.com>
50870
50871        Reviewed by Dan Bernstein.
50872
50873        Cleanup: Extract common border radii expansion code in
50874        RenderBoxModelObject::paintBoxShadow() into function
50875        https://bugs.webkit.org/show_bug.cgi?id=45934
50876
50877        Extracted code for expanding and clamping the border radii
50878        into common function to remove duplicate code.
50879
50880        No functionality was changed. So, no new tests.
50881
50882        * rendering/RenderBoxModelObject.cpp:
50883        (WebCore::uniformlyExpandBorderRadii): Added.
50884        (WebCore::RenderBoxModelObject::paintBoxShadow): Moved common code to uniformlyExpandBorderRadii().
50885
508862010-09-20  Kwang Yul Seo  <skyul@company100.net>
50887
50888        Reviewed by James Robinson.
50889
50890        Make sure skia is not Chromium specific
50891        https://bugs.webkit.org/show_bug.cgi?id=39672
50892
50893        GGlyphPageTreeNodeLinux does not depend on Linux or Chromium.
50894        Move GGlyphPageTreeNodeLinux to platform/graphics/skia and rename it to
50895        GlyphPageTreeNodeSkia.cpp so that other ports can use it.
50896
50897        * WebCore.gyp/WebCore.gyp:
50898        * WebCore.gypi:
50899        * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Removed.
50900        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added.
50901
509022010-09-20  Kinuko Yasuda  <kinuko@chromium.org>
50903
50904        Reviewed by David Levin.
50905
50906        Add NoStaticTables attributes to IDLs of FileSystem API for Worker support
50907        https://bugs.webkit.org/show_bug.cgi?id=46021
50908
50909        Added NoStaticTables attributes to IDLs except for ones for Callbacks.
50910        (As NoStaticTables only affects non-callback interfaces.)
50911
50912        * fileapi/DOMFileSystem.idl:
50913        * fileapi/DirectoryEntry.idl:
50914        * fileapi/DirectoryReader.idl:
50915        * fileapi/Entry.idl:
50916        * fileapi/EntryArray.idl:
50917        * fileapi/FileEntry.idl:
50918        * fileapi/Flags.idl:
50919        * fileapi/Metadata.idl:
50920
509212010-09-20  Nico Weber  <thakis@chromium.org>
50922
50923        Reviewed by Adam Barth.
50924
50925        Fix "operands of ? are integers of different signs" clang warnings
50926        https://bugs.webkit.org/show_bug.cgi?id=46157
50927
50928        * platform/graphics/mac/ComplexTextController.cpp:
50929        (WebCore::ComplexTextController::advance):
50930        * rendering/RenderBox.cpp:
50931        (WebCore::RenderBox::calcHeight):
50932
509332010-09-20  Vangelis Kokkevis  <vangelis@chromium.org>
50934
50935        Unreviewed, rolling out r67906.
50936        http://trac.webkit.org/changeset/67906
50937        https://bugs.webkit.org/show_bug.cgi?id=46139
50938
50939        Change causes chromium to crash when switching pages
50940
50941        * platform/graphics/chromium/ContentLayerChromium.h:
50942        * platform/graphics/chromium/LayerChromium.h:
50943
509442010-09-19  Antonio Gomes  <agomes@rim.com>
50945
50946        Reviewed by Ojan Vafai.
50947
50948        SelectionController::modify should ask EditingBehavior for platform specific behavior
50949        https://bugs.webkit.org/show_bug.cgi?id=41975
50950
50951        As a follow up of the refactoring work in bug 39854, patch makes SelectionController::modify()
50952        stop accessing EditingBehaviorType values directly, and replaces its use by the EditingBehavior
50953        class.
50954
50955        Since the "Settings*" parameter of the private SelectionController::modify() method becomes unneeded
50956        with this change (it was used to query the editingBehaviorType), patch merges two modify() methods.
50957
50958        No behavior change, so no new tests.
50959
50960        * editing/EditingBehavior.h:
50961        (WebCore::EditingBehavior::shouldAlwaysGrowSelectionWhenExtendingToBoundary):
50962        * editing/SelectionController.cpp:
50963        (WebCore::SelectionController::modify):
50964        * editing/SelectionController.h:
50965
509662010-09-20  Vangelis Kokkevis  <vangelis@chromium.org>
50967
50968        Reviewed by James Robinson.
50969
50970        [chromium] Making destructors of LayerChromium and ContentLayerChromium virtual
50971        so that the derived class' destructor code gets called.
50972        https://bugs.webkit.org/show_bug.cgi?id=46139
50973
50974        * platform/graphics/chromium/ContentLayerChromium.h:
50975        * platform/graphics/chromium/LayerChromium.h:
50976
509772010-09-20  Darin Adler  <darin@apple.com>
50978
50979        Reviewed by James Robinson.
50980
50981        Deprecate the inputType function on HTMLInputElement
50982        https://bugs.webkit.org/show_bug.cgi?id=46023
50983
50984        * html/HTMLInputElement.cpp:
50985        (WebCore::HTMLInputElement::HTMLInputElement): Use m_deprecatedTypeNumber.
50986        (WebCore::HTMLInputElement::isValidValue): Use deprecatedInputType.
50987        (WebCore::HTMLInputElement::typeMismatch): Ditto.
50988        (WebCore::HTMLInputElement::valueMissing): Ditto.
50989        (WebCore::HTMLInputElement::rangeUnderflow): Ditto.
50990        (WebCore::HTMLInputElement::rangeOverflow): Ditto.
50991        (WebCore::HTMLInputElement::minimum): Ditto.
50992        (WebCore::HTMLInputElement::maximum): Ditto.
50993        (WebCore::HTMLInputElement::stepBase): Ditto.
50994        (WebCore::HTMLInputElement::stepMismatch): Ditto.
50995        (WebCore::HTMLInputElement::getStepParameters): Ditto.
50996        (WebCore::HTMLInputElement::getAllowedValueStep): Ditto.
50997        (WebCore::HTMLInputElement::isKeyboardFocusable): Ditto.
50998        (WebCore::HTMLInputElement::shouldUseInputMethod): Ditto.
50999        (WebCore::HTMLInputElement::handleBlurEvent): Ditto.
51000        (WebCore::HTMLInputElement::setType): Added a comment.
51001        (WebCore::HTMLInputElement::updateType): Replaced the setInputType function
51002        with this. The type is always the type attribute value, so there is no value
51003        in passing the type string in, and this is an internal implementation detail,
51004        not a public function.
51005        (WebCore::createFormControlTypes): Use deprecatedNumberOfTypes.
51006        (WebCore::HTMLInputElement::formControlType): Use deprecatedInputType.
51007        (WebCore::HTMLInputElement::saveFormControlState): Ditto.
51008        (WebCore::HTMLInputElement::restoreFormControlState): Ditto.
51009        (WebCore::HTMLInputElement::accessKeyAction): Ditto.
51010        (WebCore::HTMLInputElement::mapToEntry): Ditto.
51011        (WebCore::HTMLInputElement::parseMappedAttribute): Ditto.
51012        (WebCore::HTMLInputElement::rendererIsNeeded): Ditto.
51013        (WebCore::HTMLInputElement::createRenderer): Ditto.
51014        (WebCore::HTMLInputElement::attach): Ditto.
51015        (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Ditto.
51016        (WebCore::HTMLInputElement::appendFormData): Ditto.
51017        (WebCore::HTMLInputElement::isTextField): Ditto.
51018        (WebCore::HTMLInputElement::isTextType): Ditto.
51019        (WebCore::HTMLInputElement::setChecked): Ditto.
51020        (WebCore::HTMLInputElement::value): Ditto.
51021        (WebCore::HTMLInputElement::valueWithDefault): Ditto.
51022        (WebCore::HTMLInputElement::setSuggestedValue): Ditto.
51023        (WebCore::HTMLInputElement::setValue): Ditto.
51024        (WebCore::HTMLInputElement::parseToDouble): Ditto.
51025        (WebCore::HTMLInputElement::valueAsDate): Ditto.
51026        (WebCore::HTMLInputElement::setValueAsDate): Ditto.
51027        (WebCore::HTMLInputElement::valueAsNumber): Ditto.
51028        (WebCore::HTMLInputElement::setValueAsNumber): Ditto.
51029        (WebCore::HTMLInputElement::serializeForDateTimeTypes): Ditto.
51030        (WebCore::HTMLInputElement::serialize): Ditto.
51031        (WebCore::HTMLInputElement::setValueFromRenderer): Ditto.
51032        (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Ditto.
51033        (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
51034        (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
51035        (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
51036        (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): Ditto.
51037        (WebCore::HTMLInputElement::files): Ditto.
51038        (WebCore::HTMLInputElement::isAcceptableValue): Ditto.
51039        (WebCore::HTMLInputElement::sanitizeValue): Ditto.
51040        (WebCore::HTMLInputElement::hasUnacceptableValue): Ditto.
51041        (WebCore::HTMLInputElement::needsActivationCallback): Ditto.
51042        (WebCore::HTMLInputElement::isRequiredFormControl): Ditto.
51043        (WebCore::HTMLInputElement::recalcWillValidate): Ditto.
51044        (WebCore::HTMLInputElement::parseToDateComponents): Ditto.
51045        (WebCore::HTMLInputElement::dataList): Ditto.
51046        (WebCore::HTMLInputElement::isSpeechEnabled): Ditto.
51047
51048        * html/HTMLInputElement.h: Renamed InputType to DeprecatedInputType since it
51049        should not be used outside this class. Renamed numberOfTypes to
51050        dprecatedNumberOfTypes for the same reason. Changed all code to use
51051        deprecatedInputType function instead of m_type. Renamed inputType function
51052        to deprecatedInputType. Replaced public setInputType function with private
51053        updateType function. Renamed m_type data member to m_deprecatedTypeNumber.
51054
51055        * rendering/MediaControlElements.cpp:
51056        (WebCore::MediaControlInputElement::MediaControlInputElement):
51057        * rendering/RenderFileUploadControl.cpp:
51058        (WebCore::RenderFileUploadControl::updateFromElement):
51059        Use setType instead of setInputType.
51060
510612010-09-20  Mihai Parparita  <mihaip@chromium.org>
51062
51063        Unreviewed; an attempt to fix Windows build.
51064
51065        * WebCore.vcproj/WebCore.vcproj:
51066
510672010-09-20  Simon Fraser  <simon.fraser@apple.com>
51068
51069        Reviewed by Dan Bernstein.
51070
51071        When PDF image is directly composited, it does not display
51072        https://bugs.webkit.org/show_bug.cgi?id=46144
51073        
51074        In the "direct image compositing" code path, we set the image directly
51075        as the contents of the GraphicsLayer. However, this only works with
51076        bitmap images, so we have to check that the image is a bitmap image.
51077
51078        Test: compositing/images/direct-pdf-image.html
51079
51080        * rendering/RenderLayerBacking.cpp:
51081        (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
51082
510832010-09-20  Simon Fraser  <simon.fraser@apple.com>
51084
51085        Reviewed by Darin Adler.
51086
51087        Crash when div with content set to image gets composited (Vimeo).
51088        https://bugs.webkit.org/show_bug.cgi?id=46140
51089        
51090        When CSS specifies that the content of an element is an image, we make
51091        a RenderImage, and setStyle() before setting the image resource. In this
51092        case the compositing code can attempt to access the cached image, which
51093        would crash with a null deref.
51094        
51095        Fix by null-checking m_imageResource.
51096
51097        Test: compositing/images/content-image.html
51098
51099        * rendering/RenderImage.h:
51100        (WebCore::RenderImage::cachedImage):
51101
511022010-09-20  Mihai Parparita  <mihaip@chromium.org>
51103
51104        Reviewed by Dimitri Glazkov.
51105
51106        Hashchange event is no longer a simple event, needs to be its own interface
51107        https://bugs.webkit.org/show_bug.cgi?id=36335
51108        
51109        Add HashChangeEvent.idl and supporting files/changes.
51110
51111        Test: fast/loader/hashchange-event-properties.html
51112
51113        The original version of this patch was written by
51114        Steven Lai <s3lance@hotmail.com>.
51115
51116        * CMakeLists.txt:
51117        * DerivedSources.cpp:
51118        * DerivedSources.make:
51119        * GNUmakefile.am:
51120        * WebCore.gypi:
51121        * WebCore.pri:
51122        * WebCore.vcproj/WebCore.vcproj:
51123        * WebCore.xcodeproj/project.pbxproj:
51124        * bindings/js/JSEventCustom.cpp:
51125        (WebCore::toJS):
51126        * bindings/v8/custom/V8EventCustom.cpp:
51127        (WebCore::toV8):
51128        * dom/Document.cpp:
51129        (WebCore::Document::enqueueHashchangeEvent):
51130        * dom/Event.cpp:
51131        (WebCore::Event::isHashChangeEvent):
51132        * dom/Event.h:
51133        * dom/HashChangeEvent.h: Added.
51134        (WebCore::HashChangeEvent::isHashChangeEvent):
51135        (WebCore::HashChangeEvent::create):
51136        (WebCore::HashChangeEvent::initHashChangeEvent):
51137        (WebCore::HashChangeEvent::oldURL):
51138        (WebCore::HashChangeEvent::newURL):
51139        (WebCore::HashChangeEvent::HashChangeEvent):
51140        * dom/HashChangeEvent.idl: Added.
51141        * page/DOMWindow.idl:
51142
511432010-09-20  Andy Estes  <aestes@apple.com>
51144
51145        Reviewed by Adam Barth.
51146
51147        REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
51148        https://bugs.webkit.org/show_bug.cgi?id=40961
51149
51150        Add an optional quirk to the HTML5 tokenizer that reverts it to WebKit's
51151        legacy behavior when the start of a new token is encountered before the
51152        current token is finished parsing. The legacy behavior is to emit the
51153        current token as if it were properly closed and being parsing the new
51154        token.
51155
51156        Test: fast/parser/pre-html5-parser-quirks.html
51157
51158        * html/parser/HTMLDocumentParser.cpp:
51159        (WebCore::HTMLDocumentParser::HTMLDocumentParser): Instantiate
51160        m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
51161        (WebCore::usePreHTMLParserQuirks): Add a helper function to return the
51162        value of Settings::usePreHTML5ParserQuirks() if Settings is non-NULL.
51163        * html/parser/HTMLPreloadScanner.cpp:
51164        (WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Instantiate
51165        m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
51166        * html/parser/HTMLTokenizer.cpp:
51167        (WebCore::HTMLTokenizer::HTMLTokenizer):
51168        (WebCore::HTMLTokenizer::nextToken): If the quirk is enabled and an
51169        unexpected '<' is encountered in certain states, emit the current token
51170        and reprocess the '<' as the start of a new token.
51171        * html/parser/HTMLTokenizer.h:
51172        (WebCore::HTMLTokenizer::create):
51173        * html/parser/HTMLViewSourceParser.cpp:
51174        (WebCore::HTMLViewSourceParser::HTMLViewSourceParser): Instantiate
51175        m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
51176        * page/Settings.cpp:
51177        (WebCore::Settings::Settings):
51178        * page/Settings.h:
51179        (WebCore::Settings::setUsePreHTML5ParserQuirks):
51180        (WebCore::Settings::usePreHTML5ParserQuirks):
51181
511822010-09-20  David Hyatt  <hyatt@apple.com>
51183
51184        Reviewed by Dan Bernstein.
51185
51186        https://bugs.webkit.org/show_bug.cgi?id=46132, add an isVerticalBlockFlow() method to RenderStyle and
51187        patch callers so that they don't have to check both top-to-bottom and bottom-to-top block flow.
51188
51189        * rendering/RenderBox.cpp:
51190        (WebCore::RenderBox::availableLogicalWidth):
51191        * rendering/style/RenderStyle.cpp:
51192        (WebCore::RenderStyle::logicalWidth):
51193        (WebCore::RenderStyle::logicalHeight):
51194        (WebCore::RenderStyle::logicalMinWidth):
51195        (WebCore::RenderStyle::logicalMaxWidth):
51196        (WebCore::RenderStyle::logicalMinHeight):
51197        (WebCore::RenderStyle::logicalMaxHeight):
51198        (WebCore::RenderStyle::borderStartWidth):
51199        (WebCore::RenderStyle::borderEndWidth):
51200        (WebCore::RenderStyle::marginStart):
51201        (WebCore::RenderStyle::marginEnd):
51202        (WebCore::RenderStyle::paddingStart):
51203        (WebCore::RenderStyle::paddingEnd):
51204        * rendering/style/RenderStyle.h:
51205        (WebCore::InheritedFlags::isVerticalBlockFlow):
51206
512072010-09-20  David Hyatt  <hyatt@apple.com>
51208
51209        Reviewed by Dan Bernstein.
51210
51211        https://bugs.webkit.org/show_bug.cgi?id=46124, add support for logical padding accessors to
51212        RenderBoxModelObject.
51213
51214        Added fast/blockflow/percentage-padding.html even though it fails, so that when more of layout is patched
51215        we can see it start passing.
51216
51217        * rendering/RenderBoxModelObject.cpp:
51218        (WebCore::RenderBoxModelObject::paddingTop):
51219        (WebCore::RenderBoxModelObject::paddingBottom):
51220        (WebCore::RenderBoxModelObject::paddingLeft):
51221        (WebCore::RenderBoxModelObject::paddingRight):
51222        (WebCore::RenderBoxModelObject::paddingBefore):
51223        (WebCore::RenderBoxModelObject::paddingAfter):
51224        (WebCore::RenderBoxModelObject::paddingStart):
51225        (WebCore::RenderBoxModelObject::paddingEnd):
51226        * rendering/RenderBoxModelObject.h:
51227
512282010-09-20  David Hyatt  <hyatt@apple.com>
51229
51230        Reviewed by Dan Bernstein.
51231
51232        https://bugs.webkit.org/show_bug.cgi?id=46126, add availableLogicalWidth() to RenderBox.
51233        
51234        * rendering/RenderBlock.cpp:
51235        (WebCore::RenderBlock::availableWidth):
51236        (WebCore::RenderBlock::availableLogicalWidth):
51237        * rendering/RenderBlock.h:
51238        * rendering/RenderBox.cpp:
51239        (WebCore::RenderBox::availableLogicalWidth):
51240        * rendering/RenderBox.h:
51241        (WebCore::RenderBox::availableWidth):
51242
512432010-09-20  Kenneth Russell  <kbr@google.com>
51244
51245        Reviewed by James Robinson.
51246
51247        [chromium] Change compositor to use GraphicsContext3D rather than GLES2Context
51248        https://bugs.webkit.org/show_bug.cgi?id=45912
51249
51250        Switched Chromium's compositor to use GraphicsContext3D to issue
51251        its OpenGL rendering calls rather than the Chromium-specific
51252        GLES2Context and command buffer OpenGL implementation.
51253
51254        The in-process software rendering path for GraphicsContext3D does
51255        not yet work with the compositor, at least not on Mac OS X. This
51256        will be worked on in subsequent bugs.
51257
51258        Tested manually with 3D CSS, WebGL and video content on Mac OS X
51259        and Linux. No new tests.
51260
51261        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
51262        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
51263        (WebCore::Canvas2DLayerChromium::updateContents):
51264        * platform/graphics/chromium/CanvasLayerChromium.cpp:
51265        (WebCore::CanvasLayerChromium::SharedValues::SharedValues):
51266        (WebCore::CanvasLayerChromium::SharedValues::~SharedValues):
51267        (WebCore::CanvasLayerChromium::draw):
51268        * platform/graphics/chromium/CanvasLayerChromium.h:
51269        * platform/graphics/chromium/ContentLayerChromium.cpp:
51270        (WebCore::ContentLayerChromium::SharedValues::SharedValues):
51271        (WebCore::ContentLayerChromium::SharedValues::~SharedValues):
51272        (WebCore::ContentLayerChromium::~ContentLayerChromium):
51273        (WebCore::ContentLayerChromium::updateTextureRect):
51274        (WebCore::ContentLayerChromium::draw):
51275        * platform/graphics/chromium/ContentLayerChromium.h:
51276        * platform/graphics/chromium/DrawingBufferChromium.cpp:
51277        (WebCore::DrawingBuffer::publishToPlatformLayer):
51278        * platform/graphics/chromium/LayerChromium.cpp:
51279        (WebCore::loadShader):
51280        (WebCore::LayerChromium::SharedValues::SharedValues):
51281        (WebCore::LayerChromium::SharedValues::~SharedValues):
51282        (WebCore::LayerChromium::createShaderProgram):
51283        (WebCore::LayerChromium::layerRendererContext):
51284        (WebCore::LayerChromium::drawTexturedQuad):
51285        (WebCore::LayerChromium::drawDebugBorder):
51286        (WebCore::LayerChromium::drawAsMask):
51287        (WebCore::LayerChromium::prepareForDraw):
51288        * platform/graphics/chromium/LayerChromium.h:
51289        (WebCore::LayerChromium::SharedValues::context):
51290        * platform/graphics/chromium/LayerRendererChromium.cpp:
51291        (WebCore::LayerRendererChromium::create):
51292        (WebCore::LayerRendererChromium::LayerRendererChromium):
51293        (WebCore::LayerRendererChromium::context):
51294        (WebCore::LayerRendererChromium::debugGLCall):
51295        (WebCore::LayerRendererChromium::useShader):
51296        (WebCore::LayerRendererChromium::prepareToDrawLayers):
51297        (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
51298        (WebCore::LayerRendererChromium::drawLayers):
51299        (WebCore::LayerRendererChromium::finish):
51300        (WebCore::LayerRendererChromium::present):
51301        (WebCore::LayerRendererChromium::getFramebufferPixels):
51302        (WebCore::LayerRendererChromium::createLayerTexture):
51303        (WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer):
51304        (WebCore::LayerRendererChromium::drawLayersRecursive):
51305        (WebCore::LayerRendererChromium::drawLayer):
51306        (WebCore::LayerRendererChromium::scissorToRect):
51307        (WebCore::LayerRendererChromium::makeContextCurrent):
51308        (WebCore::LayerRendererChromium::resizeOnscreenContent):
51309        (WebCore::LayerRendererChromium::initializeSharedObjects):
51310        (WebCore::LayerRendererChromium::cleanupSharedObjects):
51311        * platform/graphics/chromium/LayerRendererChromium.h:
51312        * platform/graphics/chromium/VideoLayerChromium.cpp:
51313        (WebCore::VideoLayerChromium::createTextureRect):
51314        (WebCore::VideoLayerChromium::updateTextureRect):
51315        * platform/graphics/chromium/WebGLLayerChromium.cpp:
51316        (WebCore::WebGLLayerChromium::updateContents):
51317        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
51318        (WebCore::SharedGraphicsContext3D::flush):
51319        (WebCore::SharedGraphicsContext3D::supportsCopyTextureToParentTextureCHROMIUM):
51320        (WebCore::SharedGraphicsContext3D::copyTextureToParentTextureCHROMIUM):
51321        * platform/graphics/gpu/SharedGraphicsContext3D.h:
51322
513232010-09-20  David Hyatt  <hyatt@apple.com>
51324
51325        Reviewed by Dan Bernstein.
51326
51327        https://bugs.webkit.org/show_bug.cgi?id=46119, add logical accessors to RenderStyle.  Not used by any RenderObjects yet, so no tests
51328        until then.
51329
51330        * rendering/style/RenderStyle.cpp:
51331        (WebCore::RenderStyle::logicalWidth):
51332        (WebCore::RenderStyle::logicalHeight):
51333        (WebCore::RenderStyle::logicalMinWidth):
51334        (WebCore::RenderStyle::logicalMaxWidth):
51335        (WebCore::RenderStyle::logicalMinHeight):
51336        (WebCore::RenderStyle::logicalMaxHeight):
51337        (WebCore::RenderStyle::borderBeforeWidth):
51338        (WebCore::RenderStyle::borderAfterWidth):
51339        (WebCore::RenderStyle::borderStartWidth):
51340        (WebCore::RenderStyle::borderEndWidth):
51341        (WebCore::RenderStyle::marginBefore):
51342        (WebCore::RenderStyle::marginAfter):
51343        (WebCore::RenderStyle::marginStart):
51344        (WebCore::RenderStyle::marginEnd):
51345        (WebCore::RenderStyle::paddingBefore):
51346        (WebCore::RenderStyle::paddingAfter):
51347        (WebCore::RenderStyle::paddingStart):
51348        (WebCore::RenderStyle::paddingEnd):
51349        * rendering/style/RenderStyle.h:
51350
513512010-09-20  David Hyatt  <hyatt@apple.com>
51352
51353        Reviewed by Dan Bernstein.
51354
51355        https://bugs.webkit.org/show_bug.cgi?id=46116, implement block-flow-aware logical properties.
51356        
51357        This patch adds all the logical properties from the CSS3 Writing Mode draft for margins, padding, border,
51358        width and height.
51359
51360        Added fast/css/logical-property-resolution.html
51361
51362        * css/CSSComputedStyleDeclaration.cpp:
51363        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
51364        * css/CSSParser.cpp:
51365        (WebCore::CSSParser::parseValue):
51366        * css/CSSProperty.cpp:
51367        (WebCore::resolveToPhysicalProperty):
51368        (WebCore::CSSProperty::resolveDirectionAwareProperty):
51369        * css/CSSProperty.h:
51370        * css/CSSPropertyNames.in:
51371        * css/CSSStyleSelector.cpp:
51372        (WebCore::CSSStyleSelector::applyDeclarations):
51373        (WebCore::CSSStyleSelector::applyProperty):
51374
513752010-09-20  David Hyatt  <hyatt@apple.com>
51376
51377        Reviewed by Beth Dakin.
51378
51379        https://bugs.webkit.org/show_bug.cgi?id=46114, two tables repaint tests failing on bots.
51380
51381        Patch layoutRows to apply the layout delta when setting a new cell location prior to laying out the cell.
51382        
51383        The layout delta is then removed after layout has happened when the repaint check is done.  This change
51384        makes cell layout match block child layout, and now the cells have the correct new location up front
51385        when laying out (a necessity for pagination).
51386
51387        * rendering/RenderTableSection.cpp:
51388        (WebCore::RenderTableSection::layoutRows):
51389
513902010-09-20  Jacob Dinu  <dinu.jacob@nokia.com>
51391
51392        Reviewed by Adam Barth.
51393
51394        When loading a cached page, dispatchDidCommitLoad is called after FrameLoader::open so
51395        that all initialzations are done before calling client dispatchDidCommitLoad to avoid
51396        client from accessing incorrect data.
51397        https://bugs.webkit.org/show_bug.cgi?id=41155
51398
51399        * loader/FrameLoader.cpp:
51400        (WebCore::FrameLoader::commitProvisionalLoad):
51401        (WebCore::FrameLoader::transitionToCommitted):
51402
514032010-09-20  Simon Fraser  <simon.fraser@apple.com>
51404
51405        Reviewed by Adam Roben.
51406
51407        REGRESSION: alternating animation direction doesn't work on Windows
51408        https://bugs.webkit.org/show_bug.cgi?id=46017
51409        
51410        Animation-direction on Windows was broken because bitfields on
51411        Windows are signed.
51412        
51413        Fixed by making m_direction an unsigned in the bitfield, and
51414        casting in the accessor.
51415
51416        Test: animations/animation-direction.html
51417
51418        * platform/animation/Animation.h:
51419        (WebCore::Animation::direction):
51420
514212010-09-20  Enrica Casucci  <enrica@apple.com>
51422
51423        Reviewed by Sam Weinig.
51424
51425        Pasteboard doesn't work in WebKit2.
51426        https://bugs.webkit.org/show_bug.cgi?id=42317
51427        <rdar://problem/7660537>
51428
51429        * loader/EmptyClients.h:
51430        (WebCore::EmptyEditorClient::documentFragmentFromAttributedString): Changed parameter to
51431        be a Vector of RefPtr.
51432        * page/EditorClient.h:
51433        * platform/mac/PasteboardMac.mm:
51434        (WebCore::Pasteboard::documentFragmentWithRtf): Stylistic changes.
51435
514362010-09-20  Yong Li  <yoli@rim.com>
51437
51438        Reviewed by Alexey Proskuryakov.
51439
51440        https://bugs.webkit.org/show_bug.cgi?id=39966
51441        Make compareBorders() a consistent compare function which can beused by qsort().
51442
51443        New test case added: LayoutTests/tables/sort-collapsed-border-styles.html
51444
51445        * rendering/RenderTableCell.cpp:
51446        (WebCore::compareBorders):
51447        (WebCore::chooseBorder):
51448        (WebCore::RenderTableCell::collapsedLeftBorder):
51449        (WebCore::RenderTableCell::collapsedRightBorder):
51450        (WebCore::RenderTableCell::collapsedTopBorder):
51451        (WebCore::RenderTableCell::collapsedBottomBorder):
51452        (WebCore::compareBorderStylesForQSort):
51453
514542010-09-20  Patrick Gansterer  <paroga@paroga.com>
51455
51456        Reviewed by Adam Roben.
51457
51458        [WINCE] Buildfix for PluginViewWin.cpp
51459        https://bugs.webkit.org/show_bug.cgi?id=46033
51460
51461        * plugins/win/PluginViewWin.cpp:
51462        (WebCore::PluginView::paintIntoTransformedContext):
51463        (WebCore::PluginView::snapshot):
51464
514652010-09-18  David Hyatt  <hyatt@apple.com>
51466
51467        Reviewed by Sam Weinig.
51468
51469        https://bugs.webkit.org/show_bug.cgi?id=46030, aintitcool.com doesn't paginate correctly when printed.
51470        
51471        This happens because the site always has a document width that will exceed the page width.
51472        We incorrectly apply a double scale instead of clipping after the first scale still doesn't fit.
51473        The fix for the issue is to cap the right layout overflow to the page width and to just clip out
51474        any additional excess.  This is the code in FrameView.cpp.
51475        
51476        This patch also cleans up table cell invalidation to reduce the # of relayouts.  This change is not
51477        a correctness fix.  It's just performance.
51478        
51479        I'm not sure how to write a test for this, since the double scale is an artifact of how WebKit mac calls
51480        back in when really printing.
51481
51482        * page/FrameView.cpp:
51483        (WebCore::FrameView::forceLayoutForPagination):
51484        * rendering/RenderBlock.cpp:
51485        (WebCore::RenderBlock::layoutBlockChild):
51486        (WebCore::RenderBlock::layoutPositionedObjects):
51487        (WebCore::RenderBlock::positionNewFloats):
51488        * rendering/RenderBlock.h:
51489        (WebCore::RenderBlock::markForPaginationRelayout):
51490        * rendering/RenderFlexibleBox.cpp:
51491        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
51492        (WebCore::RenderFlexibleBox::layoutVerticalBox):
51493        * rendering/RenderTableSection.cpp:
51494        (WebCore::RenderTableSection::layoutRows):
51495
514962010-09-20  Ilya Tikhonovsky  <loislo@chromium.org>
51497
51498        Reviewed by Pavel Feldman.
51499
51500        Web Inspector: merge Inspector client runtime events into the serialized inspector state object.
51501
51502        Drive-by rename getBackendSettings -> getInspectorState to better reflect the nature of the data.
51503
51504        https://bugs.webkit.org/show_bug.cgi?id=45974
51505
51506        * inspector/Inspector.idl:
51507        * inspector/InspectorClient.h:
51508        (WebCore::InspectorClient::updateInspectorStateCookie):
51509        * inspector/InspectorController.cpp:
51510        (WebCore::InspectorController::saveApplicationSettings):
51511        (WebCore::InspectorController::getInspectorState):
51512        (WebCore::InspectorController::updateInspectorStateCookie):
51513        (WebCore::InspectorController::restoreInspectorStateFromCookie):
51514        (WebCore::InspectorController::getSettings):
51515        (WebCore::InspectorController::setMonitoringXHREnabled):
51516        (WebCore::InspectorController::restoreDebugger):
51517        (WebCore::InspectorController::restoreProfiler):
51518        (WebCore::InspectorController::setResourceTrackingEnabled):
51519        (WebCore::InspectorController::ensureSettingsLoaded):
51520        (WebCore::InspectorController::startTimelineProfiler):
51521        (WebCore::InspectorController::stopTimelineProfiler):
51522        (WebCore::InspectorController::enableProfiler):
51523        (WebCore::InspectorController::disableProfiler):
51524        (WebCore::InspectorController::enableDebuggerFromFrontend):
51525        (WebCore::InspectorController::disableDebugger):
51526        * inspector/InspectorController.h:
51527        * inspector/front-end/ConsoleView.js:
51528        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
51529        * inspector/front-end/ResourcesPanel.js:
51530        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
51531        * inspector/front-end/Settings.js:
51532        (WebInspector.Settings.initialize):
51533        * inspector/front-end/inspector.js:
51534        (WebInspector.doLoadedDone.populateInspectorState):
51535        (WebInspector.doLoadedDone):
51536
515372010-09-20  Dirk Schulze  <krit@webkit.org>
51538
51539        Reviewed by Nikolas Zimmermann.
51540
51541        SVG Filter cleanup
51542        https://bugs.webkit.org/show_bug.cgi?id=45612
51543        
51544        All effect inputs are stored in a Vector in FilterEffect instead of passing them via constructors to every effect type.
51545        This simplifies the primitive subregion logic and centralizes it in determineFilterPrimitiveSubregion.
51546        Just SourceGraphic, SourceAlpha and FETile still calculate filter primitive subregions on
51547        their own. Working on it in a followup patch.
51548        The subregions code is SVG specific and moving this calculation to FilterEffect is an
51549        intermediate step before moving it to RenderSVGResourceFilterPrimitive in a following patch.
51550        The new FilterEffectVector will also make it possible to add code to determine the
51551        smallest used region of an effect and will help save memory and resources in the future.
51552        subRegion got renamed to filterPrimitiveSubregion to match the name scheme. scaledSubRegion got
51553        renamed to repaintRectInLocalCoordinates since this is its proper meaning.
51554        Removed unnecessary member variables and functions from FilterEffect.
51555
51556        No new tests added since the functionality didn't change.
51557
51558        * platform/graphics/cairo/GraphicsContextCairo.cpp: scaledSubRegion was renamed to repaintRectInLocalCoordinates.
51559        (WebCore::GraphicsContext::createShadowMask):
51560        * platform/graphics/filters/FEBlend.cpp: Removed Filter effect inputs from constructor.
51561        (WebCore::FEBlend::FEBlend):
51562        (WebCore::FEBlend::create):
51563        (WebCore::FEBlend::apply): Call inputFilterEffects to get input filter primitives.
51564        (WebCore::FEBlend::externalRepresentation): Call inputFilterEffects to get input filter primitives.
51565        * platform/graphics/filters/FEBlend.h:
51566        * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
51567        (WebCore::FEColorMatrix::FEColorMatrix):
51568        (WebCore::FEColorMatrix::create):
51569        (WebCore::FEColorMatrix::apply):
51570        (WebCore::FEColorMatrix::externalRepresentation):
51571        * platform/graphics/filters/FEColorMatrix.h:
51572        * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
51573        (WebCore::FEComponentTransfer::FEComponentTransfer):
51574        (WebCore::FEComponentTransfer::create):
51575        (WebCore::FEComponentTransfer::apply):
51576        (WebCore::FEComponentTransfer::externalRepresentation):
51577        * platform/graphics/filters/FEComponentTransfer.h:
51578        * platform/graphics/filters/FEComposite.cpp: Ditto.
51579        (WebCore::FEComposite::FEComposite):
51580        (WebCore::FEComposite::create):
51581        (WebCore::FEComposite::apply):
51582        (WebCore::FEComposite::externalRepresentation):
51583        * platform/graphics/filters/FEComposite.h:
51584        * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
51585        (WebCore::FEGaussianBlur::FEGaussianBlur):
51586        (WebCore::FEGaussianBlur::create):
51587        (WebCore::FEGaussianBlur::apply):
51588        (WebCore::FEGaussianBlur::externalRepresentation):
51589        * platform/graphics/filters/FEGaussianBlur.h:
51590        * platform/graphics/filters/Filter.h:
51591        (WebCore::Filter::determineFilterPrimitiveSubregion): Renamed from calculateEffectSubRegion to match name scheme.
51592        * platform/graphics/filters/FilterEffect.cpp:
51593        (WebCore::FilterEffect::FilterEffect):
51594        (WebCore::FilterEffect::determineFilterPrimitiveSubregion): The main place for subregion calculation.
51595        (WebCore::FilterEffect::calculateDrawingIntRect): Takes repaintRectInLocalCoordinates now.
51596        (WebCore::FilterEffect::calculateDrawingRect): ditto.
51597        (WebCore::FilterEffect::getEffectContext): Check if ImageBuffer was created.
51598        * platform/graphics/filters/FilterEffect.h: Changed names to match name scheme. Removed unnecessary member variables and functions.
51599            Seperate SVG specific member variables and functions. Will get removed in followup patches.
51600        (WebCore::FilterEffect::resultImage):
51601        (WebCore::FilterEffect::setEffectBuffer):
51602        (WebCore::FilterEffect::inputEffect):
51603        (WebCore::FilterEffect::inputEffects):
51604        (WebCore::FilterEffect::numberOfinputEffects):
51605        (WebCore::FilterEffect::isAlphaImage):
51606        (WebCore::FilterEffect::setIsAlphaImage):
51607        (WebCore::FilterEffect::repaintRectInLocalCoordinates):
51608        (WebCore::FilterEffect::setRepaintRectInLocalCoordinates):
51609        (WebCore::FilterEffect::isSourceInput):
51610        (WebCore::FilterEffect::hasX):
51611        (WebCore::FilterEffect::setHasX):
51612        (WebCore::FilterEffect::hasY):
51613        (WebCore::FilterEffect::setHasY):
51614        (WebCore::FilterEffect::hasWidth):
51615        (WebCore::FilterEffect::setHasWidth):
51616        (WebCore::FilterEffect::hasHeight):
51617        (WebCore::FilterEffect::setHasHeight):
51618        (WebCore::FilterEffect::filterPrimitiveSubregion):
51619        (WebCore::FilterEffect::setFilterPrimitiveSubregion):
51620        (WebCore::FilterEffect::effectBoundaries):
51621        (WebCore::FilterEffect::setEffectBoundaries):
51622        * platform/graphics/filters/SourceAlpha.cpp:
51623        (WebCore::SourceAlpha::determineFilterPrimitiveSubregion): Renamed to match name scheme.
51624        * platform/graphics/filters/SourceAlpha.h:
51625        (WebCore::SourceAlpha::isSourceInput):
51626        * platform/graphics/filters/SourceGraphic.cpp:
51627        (WebCore::SourceGraphic::determineFilterPrimitiveSubregion): Ditto.
51628        * platform/graphics/filters/SourceGraphic.h:
51629        (WebCore::SourceGraphic::isSourceInput):
51630        * rendering/RenderSVGResourceFilter.cpp: Adapt to renames in FilterEffect.
51631        (WebCore::RenderSVGResourceFilter::applyResource):
51632        (WebCore::RenderSVGResourceFilter::postApplyResource):
51633        * svg/SVGFEBlendElement.cpp: Constructor of FEBlend doesn't take input effects. Adding them afterwards.
51634        (WebCore::SVGFEBlendElement::build):
51635        * svg/SVGFEColorMatrixElement.cpp: Ditto.
51636        (WebCore::SVGFEColorMatrixElement::build):
51637        * svg/SVGFEComponentTransferElement.cpp: Ditto.
51638        (WebCore::SVGFEComponentTransferElement::build):
51639        * svg/SVGFECompositeElement.cpp: Ditto.
51640        (WebCore::SVGFECompositeElement::build):
51641        * svg/SVGFEConvolveMatrixElement.cpp: Ditto.
51642        (WebCore::SVGFEConvolveMatrixElement::build):
51643        * svg/SVGFEDiffuseLightingElement.cpp: Ditto.
51644        (WebCore::SVGFEDiffuseLightingElement::build):
51645        * svg/SVGFEDisplacementMapElement.cpp: Ditto.
51646        (WebCore::SVGFEDisplacementMapElement::build):
51647        * svg/SVGFEGaussianBlurElement.cpp: Ditto.
51648        (WebCore::SVGFEGaussianBlurElement::build):
51649        * svg/SVGFEMergeElement.cpp: Ditto.
51650        (WebCore::SVGFEMergeElement::build):
51651        * svg/SVGFEMorphologyElement.cpp: Ditto.
51652        (WebCore::SVGFEMorphologyElement::build):
51653        * svg/SVGFEOffsetElement.cpp: Ditto.
51654        (WebCore::SVGFEOffsetElement::build):
51655        * svg/SVGFESpecularLightingElement.cpp: Ditto.
51656        (WebCore::SVGFESpecularLightingElement::build):
51657        * svg/SVGFETileElement.cpp: Ditto.
51658        (WebCore::SVGFETileElement::build):
51659        * svg/graphics/filters/SVGFEConvolveMatrix.cpp: Ditto.
51660        (WebCore::FEConvolveMatrix::FEConvolveMatrix):
51661        (WebCore::FEConvolveMatrix::create):
51662        (WebCore::FEConvolveMatrix::apply):
51663        (WebCore::FEConvolveMatrix::externalRepresentation):
51664        * svg/graphics/filters/SVGFEConvolveMatrix.h:
51665        * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
51666        (WebCore::FEDiffuseLighting::FEDiffuseLighting):
51667        (WebCore::FEDiffuseLighting::create):
51668        (WebCore::FEDiffuseLighting::externalRepresentation):
51669        * svg/graphics/filters/SVGFEDiffuseLighting.h:
51670        * svg/graphics/filters/SVGFEDisplacementMap.cpp: Ditto.
51671        (WebCore::FEDisplacementMap::FEDisplacementMap):
51672        (WebCore::FEDisplacementMap::create):
51673        (WebCore::FEDisplacementMap::apply):
51674        (WebCore::FEDisplacementMap::externalRepresentation):
51675        * svg/graphics/filters/SVGFEDisplacementMap.h:
51676        * svg/graphics/filters/SVGFEFlood.cpp: Ditto.
51677        (WebCore::FEFlood::apply):
51678        * svg/graphics/filters/SVGFEImage.cpp: Ditto.
51679        (WebCore::FEImage::apply):
51680        * svg/graphics/filters/SVGFELighting.cpp: Ditto.
51681        (WebCore::FELighting::FELighting):
51682        (WebCore::FELighting::apply):
51683        * svg/graphics/filters/SVGFELighting.h:
51684        * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
51685        (WebCore::FEMerge::FEMerge):
51686        (WebCore::FEMerge::create):
51687        (WebCore::FEMerge::apply):
51688        (WebCore::FEMerge::externalRepresentation):
51689        * svg/graphics/filters/SVGFEMerge.h:
51690        * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
51691        (WebCore::FEMorphology::FEMorphology):
51692        (WebCore::FEMorphology::create):
51693        (WebCore::FEMorphology::apply):
51694        (WebCore::FEMorphology::externalRepresentation):
51695        * svg/graphics/filters/SVGFEMorphology.h:
51696        * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
51697        (WebCore::FEOffset::FEOffset):
51698        (WebCore::FEOffset::create):
51699        (WebCore::FEOffset::apply):
51700        (WebCore::FEOffset::externalRepresentation):
51701        * svg/graphics/filters/SVGFEOffset.h:
51702        * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
51703        (WebCore::FESpecularLighting::FESpecularLighting):
51704        (WebCore::FESpecularLighting::create):
51705        (WebCore::FESpecularLighting::externalRepresentation):
51706        * svg/graphics/filters/SVGFESpecularLighting.h:
51707        * svg/graphics/filters/SVGFETile.cpp: Ditto.
51708        (WebCore::FETile::FETile):
51709        (WebCore::FETile::create):
51710        (WebCore::FETile::determineFilterPrimitiveSubregion): Renamed to match name scheme.
51711        (WebCore::FETile::apply):
51712        (WebCore::FETile::externalRepresentation):
51713        * svg/graphics/filters/SVGFETile.h:
51714        * svg/graphics/filters/SVGFilter.cpp: Renamed itemBox to targetBoundingBox to match name scheme.
51715        (WebCore::SVGFilter::SVGFilter):
51716        (WebCore::SVGFilter::determineFilterPrimitiveSubregion): Renamed to match name scheme.
51717        (WebCore::SVGFilter::create):
51718        * svg/graphics/filters/SVGFilter.h:
51719        (WebCore::SVGFilter::sourceImageRect):
51720
517212010-09-20  Pavel Podivilov  <podivilov@chromium.org>
51722
51723        Reviewed by Pavel Feldman.
51724
51725        Web Inspector: highlight DOM node when hover on link element or DOM breakpoint
51726        https://bugs.webkit.org/show_bug.cgi?id=45897
51727
51728        * inspector/front-end/BreakpointsSidebarPane.js:
51729        (WebInspector.BreakpointItem):
51730        (WebInspector.JSBreakpointItem):
51731        (WebInspector.DOMBreakpointItem):
51732        (WebInspector.DOMBreakpointItem.prototype.compareTo):
51733        (WebInspector.DOMBreakpointItem.prototype._breakpointClicked):
51734        * inspector/front-end/ElementsPanel.js:
51735        (WebInspector.ElementsPanel.prototype.hide):
51736        (WebInspector.ElementsPanel.prototype.reset):
51737        (WebInspector.ElementsPanel.prototype.setDocument.selectNode):
51738        (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
51739        (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
51740        (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
51741        * inspector/front-end/ElementsTreeOutline.js:
51742        (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
51743        (WebInspector.ElementsTreeOutline.prototype._onmousemove):
51744        (WebInspector.ElementsTreeOutline.prototype._onmouseout):
51745        * inspector/front-end/inspector.js:
51746        (WebInspector.highlightDOMNode):
51747        (WebInspector.highlightDOMNodeForTwoSeconds):
51748        (WebInspector.wireElementWithDOMNode):
51749        (WebInspector._updateFocusedNode):
51750        (WebInspector.reset):
51751        (WebInspector.updateFocusedNode):
51752
517532010-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
51754
51755        Unreviewed, rolling out r67749.
51756        http://trac.webkit.org/changeset/67749
51757        https://bugs.webkit.org/show_bug.cgi?id=46068
51758
51759        breaking ToT chromium canary build (Requested by shans on
51760        #webkit).
51761
51762        * bindings/v8/V8DOMWindowShell.cpp:
51763        (WebCore::V8DOMWindowShell::createNewContext):
51764        * bindings/v8/V8Proxy.cpp:
51765        (WebCore::V8Proxy::registeredExtensionWithV8):
51766        (WebCore::V8Proxy::registerExtension):
51767        * bindings/v8/V8Proxy.h:
51768        * loader/EmptyClients.h:
51769        * loader/FrameLoaderClient.h:
51770
517712010-09-19  Gavin Barraclough  <barraclough@apple.com>
51772
51773        Reviewed by Oliver Hunt.
51774
51775        Bug 46065 - Unify implementation of ToInt32 and ToUInt32, don't use fmod.
51776
51777        These methods implement the same conversion (see discussion in the notes
51778        of sections of 9.5 and 9.6 of the spec), only differing in how the result
51779        is interpretted.
51780
51781        Removing JSValue::toInt32 (since this has weird, non-spec function).
51782        A couple of places in the binding are using this method, so adding
51783        finiteInt32Value to the bindings to maintain current behaviour.
51784
51785        Test: fast/js/toInt32UInt32.html
51786
51787        * bindings/js/JSDOMBinding.h:
51788        (WebCore::finiteInt32Value):
51789        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
51790        (WebCore::JSHTMLOptionsCollection::add):
51791        * bindings/js/JSSQLResultSetRowListCustom.cpp:
51792        (WebCore::JSSQLResultSetRowList::item):
51793        * bindings/js/JSSVGPODListCustom.h:
51794        (WebCore::JSSVGPODListCustom::getItem):
51795        (WebCore::JSSVGPODListCustom::insertItemBefore):
51796        (WebCore::JSSVGPODListCustom::replaceItem):
51797        (WebCore::JSSVGPODListCustom::removeItem):
51798        * bindings/js/JSSVGPathSegListCustom.cpp:
51799        (WebCore::JSSVGPathSegList::getItem):
51800        (WebCore::JSSVGPathSegList::insertItemBefore):
51801        (WebCore::JSSVGPathSegList::replaceItem):
51802        (WebCore::JSSVGPathSegList::removeItem):
51803
518042010-09-19  Andreas Kling  <andreas.kling@nokia.com>
51805
51806        Reviewed by Kenneth Rohde Christiansen.
51807
51808        [Qt] clipBoundingRect() should return rect relevant to current layer
51809        https://bugs.webkit.org/show_bug.cgi?id=46059
51810
51811        r65791 inadvertently changed clipBoundingRect() to always use the GC painter
51812        without checking the TransparencyLayer stack first.
51813
51814        * platform/graphics/qt/GraphicsContextQt.cpp:
51815        (WebCore::GraphicsContextPlatformPrivate::p):
51816        (WebCore::GraphicsContextPlatformPrivate::clipBoundingRect):
51817
518182010-09-19  Sam Weinig  <sam@webkit.org>
51819
51820        Reviewed by Anders Carlsson.
51821
51822        Replace WKBundleRangeRef with WKBundleRangeHandleRef.
51823        https://bugs.webkit.org/show_bug.cgi?id=46054
51824
51825        * WebCore.exp.in:
51826        * WebCore.xcodeproj/project.pbxproj:
51827
518282010-09-19  Patrick Gansterer  <paroga@paroga.com>
51829
51830        Unreviewed.
51831
51832        [WINCE] Buildfix for Gradient after r67801.
51833
51834        * platform/graphics/Gradient.h:
51835        * platform/graphics/wince/GradientWinCE.cpp:
51836        (WebCore::Gradient::getStops):
51837
518382010-09-19  Kent Tamura  <tkent@chromium.org>
51839
51840        Reviewed by Dimitri Glazkov.
51841
51842        [Chromium] Add is<input type>() functions to WebInputElement
51843        https://bugs.webkit.org/show_bug.cgi?id=46035
51844
51845        * html/HTMLInputElement.h:
51846        (WebCore::HTMLInputElement::isText): Added. It is used by WebKit/chromium.
51847
518482010-09-18  Andreas Kling  <andreas.kling@nokia.com>
51849
51850        Reviewed by Antonio Gomes.
51851
51852        [Qt] Path: Remove unused member variable
51853        https://bugs.webkit.org/show_bug.cgi?id=46048
51854
51855        Path::m_lastMoveToIndex is not used for anything, so remove it.
51856
51857        * platform/graphics/Path.h:
51858        * platform/graphics/qt/PathQt.cpp:
51859        (WebCore::Path::Path):
51860        (WebCore::Path::operator=):
51861        (WebCore::Path::moveTo):
51862
518632010-09-18  Patrick Gansterer  <paroga@paroga.com>
51864
51865        Reviewed by Darin Adler.
51866
51867        Use AtomicString insted of String in XMLDocumentParser
51868        https://bugs.webkit.org/show_bug.cgi?id=45990
51869
51870        Create AtomicString as early as possible.
51871        This can avoid unnecessary memcpy of String content.
51872
51873        * dom/XMLDocumentParser.h:
51874        * dom/XMLDocumentParserLibxml2.cpp:
51875        (WebCore::toAtomicString):
51876        (WebCore::handleElementNamespaces):
51877        (WebCore::handleElementAttributes):
51878        (WebCore::XMLDocumentParser::startElementNs):
51879
518802010-09-18  Erik Arvidsson  <arv@chromium.org>
51881
51882        Reviewed by Nate Chapin.
51883
51884        [Chromium] fast/dom/dataset-gc.html is failing
51885        https://bugs.webkit.org/show_bug.cgi?id=45426
51886
51887        * bindings/scripts/CodeGeneratorV8.pm:
51888        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
51889        (WebCore::toV8):
51890        * dom/DOMStringMap.h:
51891        * dom/DatasetDOMStringMap.h:
51892        (WebCore::DatasetDOMStringMap::element):
51893
518942010-09-18  Andreas Kling  <andreas.kling@nokia.com>
51895
51896        Reviewed by Oliver Hunt.
51897
51898        Gradient: Fast-path for the ideal case in sortStopsIfNecessary()
51899        https://bugs.webkit.org/show_bug.cgi?id=46045
51900
51901        Avoid calling std::stable_sort for 2-stop gradients that are already in order.
51902
51903        * platform/graphics/Gradient.cpp:
51904        (WebCore::Gradient::sortStopsIfNecessary):
51905
519062010-09-18  Kwang Yul Seo  <skyul@company100.net>
51907
51908        Reviewed by Andreas Kling.
51909
51910        [BREWMP] Fix a typo in key code name
51911        https://bugs.webkit.org/show_bug.cgi?id=46003
51912
51913        AVK_CLR is the right Brew MP key code name for VK_BACK.
51914
51915        * platform/brew/PlatformKeyboardEventBrew.cpp:
51916        (WebCore::windowsKeyCodeForKeyEvent):
51917
519182010-09-18  Andreas Kling  <andreas.kling@nokia.com>
51919
51920        Reviewed by Oliver Hunt.
51921
51922        Gradient: Pre-reserve space for 2 color stops
51923        https://bugs.webkit.org/show_bug.cgi?id=46044
51924
51925        Most gradients have only 2 color stops, pre-reserve space for these in m_stops
51926        to avoid growing the vector dynamically in the common case.
51927
51928        * platform/graphics/Gradient.h:
51929
519302010-09-18  Dimitri Glazkov  <dglazkov@chromium.org>
51931
51932        Unreviewed, rolling out r67792.
51933        http://trac.webkit.org/changeset/67792
51934        https://bugs.webkit.org/show_bug.cgi?id=45976
51935
51936        Broke over a hundred SVG tests.
51937
51938        * platform/graphics/GraphicsContext.cpp:
51939        (WebCore::GraphicsContext::drawImage):
51940        (WebCore::GraphicsContext::drawImageBuffer):
51941        * platform/graphics/GraphicsContext.h:
51942
519432010-09-18  Mihai Parparita  <mihaip@chromium.org>
51944
51945        Reviewed by Simon Fraser.
51946
51947        webkitAnimationEnd event doesn't fire when skipping over final iteration
51948        https://bugs.webkit.org/show_bug.cgi?id=46010
51949        
51950        It's possible for AnimationBase::fireAnimationEventsIfNeeded to decide
51951        that the animation is ended while we're in the looping state, if the
51952        animation timer never fires during an iteration. That then fails the
51953        assert in AnimationBase::updateStateMachine (we don't expect
51954        AnimationStateInputEndTimerFired while in the looping state). Jump the
51955        state to AnimationStateEnding, which is more accurate.
51956
51957        Test: animations/animation-end-event-short-iterations.html
51958
51959        * page/animation/AnimationBase.cpp:
51960        (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
51961
519622010-09-18  Kwang Yul Seo  <skyul@company100.net>
51963
51964        Reviewed by Andreas Kling.
51965
51966        [BREWMP] Wrong key code type in keyIdentifierForBrewKeyCode
51967        https://bugs.webkit.org/show_bug.cgi?id=46005
51968
51969        The type of key code in Brew MP is uint16. Take uint16 instead of int16 in keyIdentifierForBrewKeyCode.
51970
51971        * platform/brew/PlatformKeyboardEventBrew.cpp:
51972        (WebCore::keyIdentifierForBrewKeyCode):
51973
519742010-09-18  Matthew Delaney  <mdelaney@apple.com>
51975
51976        Reviewed by Oliver Hunt.
51977
51978        Canvas drawImage with source or destination widths/heights of -1 renders incorrectly.
51979        https://bugs.webkit.org/show_bug.cgi?id=45976
51980
51981        Specifying a -1 width or height for either the source or destination rectangle in drawImage
51982        get improperly drawn with -1 replaced as the corresponding image width or height. This was because
51983        the value -1 was being passed around to signal non-specified widths and heights and thus was
51984        interpreted lower down in the drawImage implementation which disallowed any calls that actually
51985        wanted to use -1 as the widths or heights. Fixed this by moving the default logic up and not using
51986        -1 in-band signaling to denote default behavior.
51987
51988        Tests: canvas/philip/tests/2d.drawImage.negativeOneDest.html
51989               canvas/philip/tests/2d.drawImage.negativeOneSource.html
51990
51991        * platform/graphics/GraphicsContext.cpp: Removed -1 in-band signals and replaced cascased calls to have
51992        the desired replaces for unspecified widths and heights earlier on.
51993        * platform/graphics/GraphicsContext.h: Removed faulty default value.
51994
519952010-09-18  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
51996
51997        Reviewed by Kenneth Rohde Christiansen.
51998
51999        Enable Platform Strategies on Qt
52000
52001        [Qt] Turn on PLATFORM_STRATEGIES
52002        https://bugs.webkit.org/show_bug.cgi?id=45831
52003
52004        * WebCore.pro: Adding/removing implementation files
52005        * platform/qt/Language.cpp: Added, WebCore::defaultLanguage() was
52006        moved from platform/qt/Localizations.cpp
52007        (WebCore::defaultLanguage): Moved from Localizations.cpp
52008        * platform/qt/Localizations.cpp: Removed (code is now inside
52009        WebCoreSupport/WebPlatformStrategies.cpp)
52010        * plugins/qt/PluginDataQt.cpp: Removed (idem)
52011
520122010-09-18  Patrick Gansterer  <paroga@paroga.com>
52013
52014        Reviewed by Darin Adler.
52015
52016        Rename Wince files to WinCE
52017        https://bugs.webkit.org/show_bug.cgi?id=37287
52018
52019        * loader/icon/wince/IconDatabaseWinCE.cpp: Copied from WebCore/loader/icon/wince/IconDatabaseWince.cpp.
52020        * loader/icon/wince/IconDatabaseWince.cpp: Removed.
52021        * page/wince/FrameWinCE.cpp: Copied from WebCore/page/wince/FrameWince.cpp.
52022        * page/wince/FrameWince.cpp: Removed.
52023        * platform/graphics/MediaPlayer.cpp:
52024        * platform/graphics/wince/ColorWinCE.cpp: Copied from WebCore/platform/graphics/wince/ColorWince.cpp.
52025        * platform/graphics/wince/ColorWince.cpp: Removed.
52026        * platform/graphics/wince/FontCacheWinCE.cpp: Copied from WebCore/platform/graphics/wince/FontCacheWince.cpp.
52027        * platform/graphics/wince/FontCacheWince.cpp: Removed.
52028        * platform/graphics/wince/FontWinCE.cpp: Copied from WebCore/platform/graphics/wince/FontWince.cpp.
52029        * platform/graphics/wince/FontWince.cpp: Removed.
52030        * platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp: Copied from WebCore/platform/graphics/wince/GlyphPageTreeNodeWince.cpp.
52031        * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Removed.
52032        * platform/graphics/wince/GradientWinCE.cpp: Copied from WebCore/platform/graphics/wince/GradientWince.cpp.
52033        * platform/graphics/wince/GradientWince.cpp: Removed.
52034        * platform/graphics/wince/GraphicsContextWinCE.cpp: Copied from WebCore/platform/graphics/wince/GraphicsContextWince.cpp.
52035        * platform/graphics/wince/GraphicsContextWince.cpp: Removed.
52036        * platform/graphics/wince/ImageBufferWinCE.cpp: Copied from WebCore/platform/graphics/wince/ImageBufferWince.cpp.
52037        * platform/graphics/wince/ImageBufferWince.cpp: Removed.
52038        * platform/graphics/wince/MediaPlayerPrivateWinCE.h: Copied from WebCore/platform/graphics/wince/MediaPlayerPrivateWince.h.
52039        * platform/graphics/wince/MediaPlayerPrivateWince.h: Removed.
52040        * platform/graphics/wince/PathWinCE.cpp: Copied from WebCore/platform/graphics/wince/PathWince.cpp.
52041        * platform/graphics/wince/PathWince.cpp: Removed.
52042        * platform/graphics/wince/PlatformPathWinCE.cpp: Copied from WebCore/platform/graphics/wince/PlatformPathWince.cpp.
52043        * platform/graphics/wince/PlatformPathWinCE.h: Copied from WebCore/platform/graphics/wince/PlatformPathWince.h.
52044        * platform/graphics/wince/PlatformPathWince.cpp: Removed.
52045        * platform/graphics/wince/PlatformPathWince.h: Removed.
52046        * platform/graphics/wince/SimpleFontDataWinCE.cpp: Copied from WebCore/platform/graphics/wince/SimpleFontDataWince.cpp.
52047        * platform/graphics/wince/SimpleFontDataWince.cpp: Removed.
52048        * platform/graphics/wince/WinCEGraphicsExtras.h: Copied from WebCore/platform/graphics/wince/WinceGraphicsExtras.h.
52049        * platform/graphics/wince/WinceGraphicsExtras.h: Removed.
52050        * platform/text/wince/TextBoundariesWinCE.cpp: Copied from WebCore/platform/text/wince/TextBoundariesWince.cpp.
52051        * platform/text/wince/TextBoundariesWince.cpp: Removed.
52052        * platform/text/wince/TextBreakIteratorWinCE.cpp: Copied from WebCore/platform/text/wince/TextBreakIteratorWince.cpp.
52053        * platform/text/wince/TextBreakIteratorWince.cpp: Removed.
52054        * platform/wince/CursorWinCE.cpp: Copied from WebCore/platform/wince/CursorWince.cpp.
52055        * platform/wince/CursorWince.cpp: Removed.
52056        * platform/wince/DragDataWinCE.cpp: Copied from WebCore/platform/wince/DragDataWince.cpp.
52057        * platform/wince/DragDataWince.cpp: Removed.
52058        * platform/wince/DragImageWinCE.cpp: Copied from WebCore/platform/wince/DragImageWince.cpp.
52059        * platform/wince/DragImageWince.cpp: Removed.
52060        * platform/wince/EditorWinCE.cpp: Copied from WebCore/platform/wince/EditorWince.cpp.
52061        (WebCore::Editor::newGeneralClipboard):
52062        * platform/wince/EditorWince.cpp: Removed.
52063        * platform/wince/FileChooserWinCE.cpp: Copied from WebCore/platform/wince/FileChooserWince.cpp.
52064        * platform/wince/FileChooserWince.cpp: Removed.
52065        * platform/wince/FileSystemWinCE.cpp: Copied from WebCore/platform/wince/FileSystemWince.cpp.
52066        * platform/wince/FileSystemWince.cpp: Removed.
52067        * platform/wince/KURLWinCE.cpp: Copied from WebCore/platform/wince/KURLWince.cpp.
52068        * platform/wince/KURLWince.cpp: Removed.
52069        * platform/wince/KeygenWinCE.cpp: Copied from WebCore/platform/wince/KeygenWince.cpp.
52070        * platform/wince/KeygenWince.cpp: Removed.
52071        * platform/wince/MIMETypeRegistryWinCE.cpp: Copied from WebCore/platform/wince/MIMETypeRegistryWince.cpp.
52072        * platform/wince/MIMETypeRegistryWince.cpp: Removed.
52073        * platform/wince/PasteboardWinCE.cpp: Copied from WebCore/platform/wince/PasteboardWince.cpp.
52074        * platform/wince/PasteboardWince.cpp: Removed.
52075        * platform/wince/SearchPopupMenuWinCE.cpp: Copied from WebCore/platform/wince/SearchPopupMenuWince.cpp.
52076        * platform/wince/SearchPopupMenuWince.cpp: Removed.
52077        * platform/wince/SharedTimerWinCE.cpp: Copied from WebCore/platform/wince/SharedTimerWince.cpp.
52078        * platform/wince/SharedTimerWince.cpp: Removed.
52079        * rendering/RenderThemeWinCE.cpp: Copied from WebCore/rendering/RenderThemeWince.cpp.
52080        (WebCore::RenderThemeWinCE::create):
52081        (WebCore::RenderTheme::themeForPage):
52082        (WebCore::RenderThemeWinCE::RenderThemeWinCE):
52083        (WebCore::RenderThemeWinCE::~RenderThemeWinCE):
52084        (WebCore::RenderThemeWinCE::platformActiveSelectionBackgroundColor):
52085        (WebCore::RenderThemeWinCE::platformInactiveSelectionBackgroundColor):
52086        (WebCore::RenderThemeWinCE::platformActiveSelectionForegroundColor):
52087        (WebCore::RenderThemeWinCE::platformInactiveSelectionForegroundColor):
52088        (WebCore::RenderThemeWinCE::supportsFocus):
52089        (WebCore::RenderThemeWinCE::supportsFocusRing):
52090        (WebCore::RenderThemeWinCE::determineClassicState):
52091        (WebCore::RenderThemeWinCE::getThemeData):
52092        (WebCore::RenderThemeWinCE::paintButton):
52093        (WebCore::RenderThemeWinCE::setCheckboxSize):
52094        (WebCore::RenderThemeWinCE::paintTextField):
52095        (WebCore::RenderThemeWinCE::adjustMenuListStyle):
52096        (WebCore::RenderThemeWinCE::paintMenuList):
52097        (WebCore::RenderThemeWinCE::paintMenuListButton):
52098        (WebCore::RenderThemeWinCE::systemFont):
52099        (WebCore::RenderThemeWinCE::themeChanged):
52100        (WebCore::RenderThemeWinCE::extraDefaultStyleSheet):
52101        (WebCore::RenderThemeWinCE::extraQuirksStyleSheet):
52102        (WebCore::RenderThemeWinCE::supportsHover):
52103        (WebCore::RenderThemeWinCE::systemColor):
52104        (WebCore::RenderThemeWinCE::adjustSliderThumbSize):
52105        (WebCore::RenderThemeWinCE::adjustButtonInnerStyle):
52106        (WebCore::RenderThemeWinCE::adjustSearchFieldStyle):
52107        (WebCore::RenderThemeWinCE::paintSearchField):
52108        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
52109        (WebCore::RenderThemeWinCE::adjustSearchFieldCancelButtonStyle):
52110        (WebCore::RenderThemeWinCE::adjustSearchFieldDecorationStyle):
52111        (WebCore::RenderThemeWinCE::adjustSearchFieldResultsDecorationStyle):
52112        (WebCore::RenderThemeWinCE::paintSearchFieldResultsDecoration):
52113        (WebCore::RenderThemeWinCE::adjustSearchFieldResultsButtonStyle):
52114        (WebCore::RenderThemeWinCE::paintSearchFieldResultsButton):
52115        (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
52116        (WebCore::RenderThemeWinCE::paintSliderTrack):
52117        (WebCore::RenderThemeWinCE::paintSliderThumb):
52118        (WebCore::RenderThemeWinCE::paintMediaFullscreenButton):
52119        (WebCore::RenderThemeWinCE::paintMediaMuteButton):
52120        (WebCore::RenderThemeWinCE::paintMediaPlayButton):
52121        (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
52122        (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
52123        (WebCore::RenderThemeWinCE::paintMediaSliderTrack):
52124        (WebCore::RenderThemeWinCE::paintMediaSliderThumb):
52125        * rendering/RenderThemeWinCE.h: Copied from WebCore/rendering/RenderThemeWince.h.
52126        * rendering/RenderThemeWince.cpp: Removed.
52127        * rendering/RenderThemeWince.h: Removed.
52128        * storage/wince/DatabaseThreadWinCE.cpp: Copied from WebCore/storage/wince/DatabaseThreadWince.cpp.
52129        * storage/wince/DatabaseThreadWinCE.h: Copied from WebCore/storage/wince/DatabaseThreadWince.h.
52130        * storage/wince/DatabaseThreadWince.cpp: Removed.
52131        * storage/wince/DatabaseThreadWince.h: Removed.
52132        * storage/wince/LocalStorageThreadWinCE.cpp: Copied from WebCore/storage/wince/LocalStorageThreadWince.cpp.
52133        * storage/wince/LocalStorageThreadWinCE.h: Copied from WebCore/storage/wince/LocalStorageThreadWince.h.
52134        * storage/wince/LocalStorageThreadWince.cpp: Removed.
52135        * storage/wince/LocalStorageThreadWince.h: Removed.
52136
521372010-09-18  Patrick Gansterer  <paroga@paroga.com>
52138
52139        Reviewed by Eric Seidel.
52140
52141        Move Plugin*None.cpp from CMakeLists.txt into CMakeListsEfl.txt
52142        https://bugs.webkit.org/show_bug.cgi?id=45900
52143
52144        PluginDataNone.cpp and PluginViewNone.cpp are not used by all port.
52145        Move them into plaform sepcific build system.
52146
52147        * CMakeLists.txt:
52148        * CMakeListsEfl.txt:
52149
521502010-09-18  Andreas Kling  <andreas.kling@nokia.com>
52151
52152        Reviewed by Simon Hausmann.
52153
52154        [Qt] Don't copy clip path to TransparencyLayer
52155        https://bugs.webkit.org/show_bug.cgi?id=45965
52156
52157        We don't need to copy the GC's clip path to the TransparencyLayer since it will
52158        clip anyway when ending the layer.
52159
52160        * platform/graphics/qt/TransparencyLayer.h:
52161        (WebCore::TransparencyLayer::TransparencyLayer):
52162
521632010-09-18  Patrick Gansterer  <paroga@paroga.com>
52164
52165        Unreviewed.
52166
52167        [WINCE] Buildfix for FrameWince.cpp after r51353, r67762 and r67771.
52168
52169        * page/wince/FrameWince.cpp:
52170        (WebCore::computePageRectsForFrame):
52171        (WebCore::imageFromSelection):
52172
521732010-09-18  Kent Tamura  <tkent@chromium.org>
52174
52175        Unreviewed, a trivial change.
52176
52177        Run sort-Xcode-project-file.
52178
52179        * WebCore.xcodeproj/project.pbxproj:
52180
521812010-09-18  Dan Bernstein  <mitz@apple.com>
52182
52183        Reviewed by Eric Seidel.
52184
52185        REGRESSION (r67762): Over 160 layout tests failing due to incorrect zoom factors in subframes
52186        https://bugs.webkit.org/show_bug.cgi?id=46031
52187
52188        * page/Frame.cpp:
52189        (WebCore::parentPageZoomFactor): Return the zoom factor of the parent frame.
52190        (WebCore::parentTextZoomFactor): Ditto.
52191
521922010-09-17  Sam Weinig  <sam@webkit.org>
52193
52194        Reviewed by Jon Honeycutt.
52195
52196        Need a way to load data (as plain text) in a WKPage
52197        <rdar://problem/8424239>
52198
52199        * WebCore.exp.in:
52200
522012010-09-17  David Hyatt  <hyatt@apple.com>
52202
52203        Reviewed by Sam Weinig.
52204
52205        https://bugs.webkit.org/show_bug.cgi?id=46027, image on gamespot.com paginates without bringing its enclosing border along.
52206        
52207        Make sure that unsplittable objects like replaced elements propagate their pagination strut outward to the parent block
52208        when appropriate.  An image on a line did this, but a block-level image did not.
52209
52210        Added fast/multicol/image-inside-nested-blocks-with-border.html
52211
52212        * rendering/RenderBlock.cpp:
52213        (WebCore::RenderBlock::layoutBlockChild):
52214
522152010-09-17  Dimitri Glazkov  <dglazkov@chromium.org>
52216
52217        Unreviewed, build fix.
52218
52219        Move calls from frameView->pageZoomFactor() to frame->pageZoomFactor().
52220
52221        * page/EventHandler.cpp:
52222        (WebCore::EventHandler::handleTouchEvent): Removed a helper function,
52223            added direct calls to frame->pageZoomFactor().
52224
522252010-09-17  David Hyatt  <hyatt@apple.com>
52226
52227        Reviewed by Simon Fraser.
52228
52229        https://bugs.webkit.org/show_bug.cgi?id=45993, convert printing to the new pagination model.
52230
52231        Make printing store the page height in the RenderView and push that into the layout state to
52232        use the new pagination model.  The old pagination model is retained because it is still used
52233        for embedded WebViews.
52234
52235        * page/FrameView.cpp:
52236        (WebCore::FrameView::reset):
52237        (WebCore::FrameView::layout):
52238        (WebCore::FrameView::forceLayout):
52239        (WebCore::FrameView::forceLayoutForPagination):
52240        (WebCore::FrameView::adjustPageHeight):
52241        * page/FrameView.h:
52242        * page/PrintContext.cpp:
52243        (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
52244        * rendering/RenderBlock.cpp:
52245        (WebCore::RenderBlock::paintChildren):
52246        * rendering/RenderBox.cpp:
52247        (WebCore::RenderBox::calcHeight):
52248        * rendering/RenderImage.cpp:
52249        (WebCore::RenderImage::paintReplaced):
52250        * rendering/RenderLineBoxList.cpp:
52251        (WebCore::RenderLineBoxList::paint):
52252        * rendering/RenderVideo.cpp:
52253        (WebCore::RenderVideo::paintReplaced):
52254        * rendering/RenderView.cpp:
52255        (WebCore::RenderView::RenderView):
52256        (WebCore::RenderView::layout):
52257        (WebCore::RenderView::paint):
52258        (WebCore::RenderView::setBestTruncatedAt):
52259        * rendering/RenderView.h:
52260        (WebCore::RenderView::popLayoutState):
52261        (WebCore::RenderView::pageHeight):
52262        (WebCore::RenderView::setPageHeight):
52263        (WebCore::RenderView::bestTruncatedAt):
52264        (WebCore::RenderView::truncatedAt):
52265        (WebCore::RenderView::setTruncatedAt):
52266        (WebCore::RenderView::printRect):
52267        (WebCore::RenderView::setPrintRect):
52268        (WebCore::RenderView::pushLayoutState):
52269        (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
52270        (WebCore::LayoutStateMaintainer::push):
52271        (WebCore::LayoutStateMaintainer::pop):
52272
522732010-09-17  Dan Bernstein  <mitz@apple.com>
52274
52275        Reviewed by Simon Fraser.
52276
52277        Canvas sizing ignores intrinsic size
52278        https://bugs.webkit.org/show_bug.cgi?id=46024
52279
52280        Updated fast/replaced/table-percent-height.html
52281
52282        * rendering/RenderEmbeddedObject.cpp:
52283        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): If this is used as a proxy
52284        for <video>, behave like it has an intrinsic size (e.g. preserve aspect ratio when
52285        width is auto and height is specified).
52286        * rendering/RenderImage.cpp:
52287        (WebCore::RenderImage::calcAspectRatioWidth): Changed to explicitly invoke
52288        RenderBox::calcReplacedHeight(), now that RenderReplaced has its own implementation
52289        which we don’t want.
52290        (WebCore::RenderImage::calcAspectRatioHeight): Similarly with calcReplacedWidth().
52291        * rendering/RenderImage.h:
52292        * rendering/RenderReplaced.cpp:
52293        (WebCore::RenderReplaced::RenderReplaced): Initialize m_hasIntrinsicSize.
52294        (WebCore::lengthIsSpecified): Added this helper function, based on RenderImage’s
52295        is{Width,Height}Specified().
52296        (WebCore::RenderReplaced::calcReplacedWidth): Moved from RenderVideo all the way
52297        up here so other replaced objects could use this logic.
52298        (WebCore::RenderReplaced::calcReplacedHeight): Ditto.
52299        (WebCore::RenderReplaced::calcAspectRatioWidth): Ditto.
52300        (WebCore::RenderReplaced::calcAspectRatioHeight): Ditto.
52301        (WebCore::RenderReplaced::calcPrefWidths): Replaced with the RenderImage version
52302        of the logic.
52303        (WebCore::RenderReplaced::setIntrinsicSize): Added an assertion.
52304        * rendering/RenderReplaced.h:
52305        (WebCore::RenderReplaced::minimumReplacedHeight): Promoted from private to protected
52306        to allow RenderVideo to call through.
52307        (WebCore::RenderReplaced::setHasIntrinsicSize): Added this setter.
52308        * rendering/RenderVideo.cpp:
52309        (WebCore::RenderVideo::updateIntrinsicSize): Factor zoom into the intrinsic size,
52310        the way other RenderReplaced objects do.
52311        (WebCore::RenderVideo::calcReplacedWidth): Invoke the RenderReplaced implementation,
52312        which matches what used to be here, skipping over the RenderImage implementation.
52313        (WebCore::RenderVideo::calcReplacedHeight): Ditto.
52314        (WebCore::RenderVideo::minimumReplacedHeight): Ditto.
52315        * rendering/RenderVideo.h:
52316
523172010-09-17  Darin Adler  <darin@apple.com>
52318
52319        Build fix for platforms that compile Touch.
52320
52321        * dom/Touch.cpp:
52322        (WebCore::contentsX):
52323        (WebCore::contentsY):
52324        Get zoom factor from Frame rather than FrameView.
52325
523262010-09-17  Darin Adler  <darin@apple.com>
52327
52328        Reviewed by Sam Weinig.
52329
52330        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
52331        https://bugs.webkit.org/show_bug.cgi?id=42863
52332
52333        Moved zoom level back from FrameView to Frame.
52334        I had forgotten that FrameView's lifetime is much shorter than
52335        Frame's, and until that is fixed it's best to leave this on Frame.
52336
52337        * WebCore.exp.in: Updated.
52338
52339        * css/CSSStyleSelector.cpp:
52340        (WebCore::CSSStyleSelector::styleForDocument):
52341        (WebCore::CSSStyleSelector::applyProperty):
52342        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
52343        * dom/Document.cpp:
52344        (WebCore::Document::nodesFromRect):
52345        (WebCore::Document::elementFromPoint):
52346        (WebCore::Document::caretRangeFromPoint):
52347        * dom/MouseRelatedEvent.cpp:
52348        (WebCore::contentsX):
52349        (WebCore::contentsY):
52350        (WebCore::pageZoomFactor):
52351        * dom/Node.cpp:
52352        (WebCore::Node::dispatchMouseEvent):
52353        (WebCore::Node::dispatchWheelEvent):
52354        * html/HTMLBodyElement.cpp:
52355        (WebCore::adjustForZoom):
52356        (WebCore::HTMLBodyElement::scrollLeft):
52357        (WebCore::HTMLBodyElement::setScrollLeft):
52358        (WebCore::HTMLBodyElement::scrollTop):
52359        (WebCore::HTMLBodyElement::setScrollTop):
52360        (WebCore::HTMLBodyElement::scrollHeight):
52361        (WebCore::HTMLBodyElement::scrollWidth):
52362        * html/ImageDocument.cpp:
52363        (WebCore::pageZoomFactor):
52364        (WebCore::ImageDocument::scale):
52365        (WebCore::ImageDocument::imageFitsInWindow):
52366        * page/DOMWindow.cpp:
52367        (WebCore::DOMWindow::innerHeight):
52368        (WebCore::DOMWindow::innerWidth):
52369        (WebCore::DOMWindow::scrollX):
52370        (WebCore::DOMWindow::scrollY):
52371        (WebCore::DOMWindow::scrollTo):
52372        * page/DragController.cpp:
52373        (WebCore::elementUnderMouse):
52374        * rendering/RenderView.cpp:
52375        (WebCore::RenderView::zoomFactor):
52376        * svg/SVGSVGElement.cpp:
52377        (WebCore::SVGSVGElement::currentScale):
52378        (WebCore::SVGSVGElement::setCurrentScale):
52379        Get zoom factor from Frame rather than FrameView.
52380
52381        * page/Frame.cpp:
52382        (WebCore::parentPageZoomFactor): Moved back here from FrameView.
52383        (WebCore::parentTextZoomFactor): Ditto.
52384        (WebCore::Frame::Frame): Ditto.
52385        (WebCore::Frame::setPageZoomFactor): Ditto.
52386        (WebCore::Frame::setTextZoomFactor): Ditto.
52387        (WebCore::Frame::setPageAndTextZoomFactors): Ditto.
52388
52389        * page/Frame.h: Moved functions and data for zooming back here
52390        from FrameView.
52391
52392        * page/FrameView.cpp:
52393        (WebCore::FrameView::FrameView):
52394        * page/FrameView.h:
52395        Removed code from here.
52396
523972010-09-17  Matthew Delaney  <mdelaney@apple.com>
52398
52399        Reviewed by Simon Fraser.
52400
52401        Reduce minimum DOMTimer interval
52402        https://bugs.webkit.org/show_bug.cgi?id=45362
52403
52404        Reduced the minimum allowed DOMTimer interval to 4ms. This has us matching Chrome,
52405        which hasn't had any problem with 4ms in the past 2 years, as well as increasing our
52406        performance on perf tests that have tight frequent loops such as canvas "animation"
52407        performance tests.
52408
52409        No new tests added. Can't reliably instrument a test in javascript to verify that
52410        the minimum clamped interval time is in fact 4ms. 
52411
52412        * WebCore.exp.in:
52413        * page/DOMTimer.cpp: Removed old comments.
52414        * page/DOMTimer.h: Removed old comments.
52415        * page/Settings.cpp: Exposted new method to set minimum DOMTimer interval.
52416        * page/Settings.h:
52417
524182010-09-17  Marc-Antoine Ruel  <maruel@chromium.org>
52419
52420        Reviewed by Dimitri Glazkov.
52421
52422        [Chromium] Split webcore_platform off webcore_remaining
52423
52424        Further reduce webcore_remaining size by moving platform/ code in its
52425        own static libary.
52426        https://bugs.webkit.org/show_bug.cgi?id=45915
52427
52428        * WebCore.gyp/WebCore.gyp:
52429
524302010-09-13  Matt Perry  <mpcomplete@chromium.org>
52431
52432        Reviewed by Darin Fisher.
52433
52434        Have V8DOMWindowShell ask the embedder whether to run a V8 extension
52435        in a particular script context.
52436        https://bugs.webkit.org/show_bug.cgi?id=45721
52437
52438        * bindings/v8/V8DOMWindowShell.cpp:
52439        (WebCore::V8DOMWindowShell::createNewContext):
52440        * bindings/v8/V8Proxy.cpp:
52441        (WebCore::V8Proxy::registeredExtensionWithV8):
52442        (WebCore::V8Proxy::registerExtension):
52443        * bindings/v8/V8Proxy.h:
52444        * loader/EmptyClients.h:
52445        (WebCore::EmptyFrameLoaderClient::allowScriptExtension):
52446        * loader/FrameLoaderClient.h:
52447
524482010-09-17  Anders Carlsson  <andersca@apple.com>
52449
52450        Reviewed by Sam Weinig.
52451
52452        REGRESSION (r66711): Plug-in replacement text is never shown
52453        https://bugs.webkit.org/show_bug.cgi?id=45997
52454        <rdar://problem/8446766>
52455
52456        Don't return when the plug-in has replacement text.
52457
52458        * rendering/RenderEmbeddedObject.cpp:
52459        (WebCore::RenderEmbeddedObject::paintReplaced):
52460
524612010-09-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
52462
52463        Unreviewed, build fix. Add files missed in r67704.
52464
52465        * CMakeLists.txt:
52466
524672010-09-17  Simon Fraser  <simon.fraser@apple.com>
52468
52469        Reviewed by Chris Marrin.
52470
52471        Remove scroll and clip layers for WKCACFLayerRenderer
52472        https://bugs.webkit.org/show_bug.cgi?id=45922
52473
52474        WKCACFLayerRenderer no longer needs its own layers for managing scrolling
52475        and clipping, because RenderLayerCompositor provides this functionality.
52476
52477        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
52478        (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Remove call to setScrollFrame().
52479        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Ditto.
52480
52481        * platform/graphics/win/WKCACFLayerRenderer.cpp: Remove references to scroll and clip layers
52482        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
52483        (WebCore::WKCACFLayerRenderer::setRootChildLayer):
52484        (WebCore::WKCACFLayerRenderer::destroyRenderer):
52485        (WebCore::WKCACFLayerRenderer::resize):
52486        * platform/graphics/win/WKCACFLayerRenderer.h:
52487
52488        * rendering/RenderLayerCompositor.cpp:
52489        (WebCore::RenderLayerCompositor::layerTreeAsText): Dump the layers from the root platform layer.
52490        (WebCore::RenderLayerCompositor::requiresScrollLayer): On Windows,
52491        always say yes.
52492
524932010-09-17  Jian Li  <jianli@chromium.org>
52494
52495        Reviewed by Dmitry Titov.
52496
52497        createBlobURL with no argument causes crash.
52498        https://bugs.webkit.org/show_bug.cgi?id=45880
52499
52500        The fix is to check if the passing blob argument is NULL or not.
52501
52502        Test: fast/files/create-blob-url-crash.html
52503
52504        * dom/ScriptExecutionContext.cpp:
52505        (WebCore::ScriptExecutionContext::createPublicBlobURL):
52506        * page/DOMWindow.idl: Add attribute to convert null string to undefined.
52507
525082010-09-17  Chris Marrin  <cmarrin@apple.com>
52509
52510        Reviewed by Simon Fraser.
52511
52512        Add WebKitAccelerated2dCanvasEnabled flag to WebKit for Mac
52513        https://bugs.webkit.org/show_bug.cgi?id=45911
52514
52515        * WebCore.exp.in:
52516
525172010-09-17  Tony Gentilcore  <tonyg@chromium.org>
52518
52519        Reviewed by Adam Barth.
52520
52521        ASSERTION FAILED: m_loadEventDelayCount
52522        https://bugs.webkit.org/show_bug.cgi?id=45790
52523
52524        * dom/AsyncScriptRunner.cpp: 
52525        (WebCore::AsyncScriptRunner::timerFired): Protect document before we go running scripts.
52526
525272010-09-17  Stephen White  <senorblanco@chromium.org>
52528
52529        Reviewed by Kenneth Russell.
52530
52531        [CHROMIUM] GPU-accelerated canvas should work in test_shell.
52532        https://bugs.webkit.org/show_bug.cgi?id=45968
52533
52534        In order for the shaders in GPU-accelerated canvas to work in both the
52535        GraphicsContext3D / GLES2 path as well as chromium's test_shell (which
52536        passes them to the Mesa backend unmodified), the precision specifiers
52537        in the fragment shader have to be wrapped in #if GL_ES.
52538
52539        Soon to be covered by many layout tests.
52540
52541        * platform/graphics/gpu/SolidFillShader.cpp:
52542        (WebCore::SolidFillShader::create):
52543        * platform/graphics/gpu/TexShader.cpp:
52544        (WebCore::TexShader::create):
52545
525462010-09-17  Martin Robinson  <mrobinson@igalia.com>
52547
52548        Reviewed by Xan Lopez.
52549
52550        [GTK] [REGRESSION] Listbox rendering is incorrect
52551        https://bugs.webkit.org/show_bug.cgi?id=45941
52552
52553        Only apply the shadow tiling optimization to a layer if the GraphicsContext
52554        has a shadow.
52555
52556        This is covered by manual-tests/select-element-type-select.html.
52557
52558        * platform/graphics/cairo/GraphicsContextCairo.cpp:
52559        (WebCore::drawBorderlessRectShadow): Before applying the tiled shadow optimization
52560        first check to see if the context has a shadow at all.
52561
525622010-09-17  Martin Robinson  <mrobinson@igalia.com>
52563
52564        Reviewed by Oliver Hunt.
52565
52566        [GTK] FontPlatformDataFreeType should use smart pointers to hold its members
52567        https://bugs.webkit.org/show_bug.cgi?id=45917
52568
52569        Have FontPlatformDataFreeType use smart pointers to hold its reference-counted
52570        members. Also move the FcPattern specialization from OwnPtrCairo to PlatformRefPtrCairo
52571        as this type is reference-counted.
52572
52573        No new tests as this should not introduce any functionality changes.
52574
52575        * platform/graphics/cairo/FontCacheFreeType.cpp:
52576        (WebCore::FontCache::getFontDataForCharacters): Updated to reflect smart pointer changes.
52577        (WebCore::FontCache::createFontPlatformData): Ditto.
52578        * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
52579        (WebCore::FontPlatformData::FontPlatformData): Ditto.
52580        (WebCore::FontPlatformData::operator=): Ditto.
52581        (WebCore::FontPlatformData::~FontPlatformData): Ditto.
52582        (WebCore::FontPlatformData::isFixedPitch): Ditto.
52583        (WebCore::FontPlatformData::operator==): Ditto.
52584        * platform/graphics/cairo/FontPlatformDataFreeType.h:
52585        (WebCore::FontPlatformData::FontPlatformData): Ditto.
52586        (WebCore::FontPlatformData::scaledFont): Ditto.
52587        (WebCore::FontPlatformData::hash): Ditto.
52588        (WebCore::FontPlatformData::isHashTableDeletedValue): Ditto.
52589        * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp:
52590        (WebCore::GlyphPage::fill): Ditto.
52591        * platform/graphics/cairo/OwnPtrCairo.cpp: Removed FcPattern specialization.
52592        * platform/graphics/cairo/OwnPtrCairo.h: Ditto.
52593        * platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added FcPattern and cairo_scaled_font_t specializations.
52594        (WTF::refPlatformPtr): Ditto.
52595        (WTF::derefPlatformPtr): Ditto.
52596        * platform/graphics/cairo/PlatformRefPtrCairo.h: Ditto.
52597        * platform/graphics/cairo/SimpleFontDataCairo.cpp:
52598        (WebCore::SimpleFontData::platformInit): Updated to reflect smart pointer changes.
52599        (WebCore::SimpleFontData::containsCharacters): Ditto.
52600        (WebCore::SimpleFontData::platformWidthForGlyph): Ditto.
52601        * platform/graphics/gtk/FontGtk.cpp:
52602        (WebCore::setPangoAttributes): Ditto.
52603
526042010-09-14  Pavel Podivilov  <podivilov@chromium.org>
52605
52606        Reviewed by Pavel Feldman.
52607
52608        Web Inspector: show status message below call stack when debugger is paused on DOM breakpoint
52609        https://bugs.webkit.org/show_bug.cgi?id=45114
52610
52611        * English.lproj/localizedStrings.js:
52612        * inspector/InspectorDOMAgent.cpp:
52613        (WebCore::InspectorDOMAgent::performSearch):
52614        (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
52615        (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
52616        (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
52617        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
52618        * inspector/InspectorDOMAgent.h:
52619        * inspector/InspectorDebuggerAgent.cpp:
52620        (WebCore::InspectorDebuggerAgent::didPause):
52621        * inspector/front-end/CallStackSidebarPane.js:
52622        (WebInspector.CallStackSidebarPane):
52623        (WebInspector.CallStackSidebarPane.prototype.updateStatus.formatters.s):
52624        (WebInspector.CallStackSidebarPane.prototype.updateStatus.append):
52625        (WebInspector.CallStackSidebarPane.prototype.updateStatus):
52626        * inspector/front-end/ElementsPanel.js:
52627        (WebInspector.ElementsPanel.prototype.linkifyNodeById):
52628        * inspector/front-end/ScriptsPanel.js:
52629        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
52630        * inspector/front-end/inspector.css:
52631        (.pane > .body .placard + .info):
52632        * inspector/front-end/inspector.js:
52633        (WebInspector.pausedScript):
52634        (WebInspector.formatLocalized):
52635
526362010-09-17  Johnny Ding  <jnd@chromium.org>
52637
52638        Reviewed by Adam Barth.
52639
52640        Stop history reload navigation to bypass WebKit's popup blocker.
52641        Now history reload can only navigate the page in self frame, no matter
52642        what target frame is defined in <base> and no new window can be created.
52643        https://bugs.webkit.org/show_bug.cgi?id=45369
52644
52645        Test: fast/events/popup-blocked-from-history-reload.html
52646
52647        * loader/RedirectScheduler.cpp:
52648        (WebCore::ScheduledNavigation::ScheduledNavigation):
52649        (WebCore::ScheduledNavigation::wasUserGesture):
52650        Move the m_wasUserGesture to base class ScheduledNavigation. Then all
52651        asynchronous navigation situations can restore the correct gesture state
52652        during the real navigation process.
52653        (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
52654        (WebCore::ScheduledURLNavigation::fire):
52655        (WebCore::ScheduledURLNavigation::referrer):
52656        (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
52657        (WebCore::ScheduledHistoryNavigation::fire):
52658        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
52659        (WebCore::ScheduledFormSubmission::fire):
52660        (WebCore::RedirectScheduler::scheduleHistoryNavigation):
52661
526622010-09-16  Vangelis Kokkevis  <vangelis@chromium.org>
52663
52664        Reviewed by James Robinson.
52665
52666        [chromium] Clip the update region of an ImageLayerChromium to actual size
52667        of the image bitmap to prevent uninitialized memory access when uploading
52668        the dirty region to the texture.
52669        https://bugs.webkit.org/show_bug.cgi?id=45937
52670
52671
52672        * platform/graphics/chromium/ImageLayerChromium.cpp:
52673        (WebCore::ImageLayerChromium::updateContents):
52674
526752010-09-17  Dimitri Glazkov  <dglazkov@chromium.org>
52676
52677        Reviewed by David Hyatt.
52678
52679        Remove extraneous RenderObject traversal.
52680        https://bugs.webkit.org/show_bug.cgi?id=45821
52681
52682        This code always exits in the first iteration of the loop,
52683        because in the context of this call, node->renderer()->node() != 0
52684        is always true.
52685
52686        No behavior change, covered by existing tests.
52687
52688        * page/EventHandler.cpp:
52689        (WebCore::EventHandler::canMouseDownStartSelect): Removed the loop.
52690        (WebCore::EventHandler::canMouseDragExtendSelect): Ditto.
52691
526922010-09-17  Pavel Feldman  <pfeldman@chromium.org>
52693
52694        Reviewed by Yury Semikhatsky.
52695
52696        Web Inspector: FrameLoader::loadedResourceFromMemoryCache reports
52697        resource as not cached to InspectorController.
52698        https://bugs.webkit.org/show_bug.cgi?id=45961
52699
52700        Web Inspector: FrameLoader::loadedResourceFromMemoryCache reports
52701        resource as not cached to InspectorController.
52702        There is one path in control flow that leads to resources being
52703        reported as not cached. Patch to follow.
52704
52705        * inspector/InspectorController.cpp:
52706        (WebCore::InspectorController::markResourceAsCached):
52707        * inspector/InspectorController.h:
52708        * inspector/InspectorResource.cpp:
52709        (WebCore::InspectorResource::markAsCached):
52710        (WebCore::InspectorResource::updateResponse):
52711        * inspector/InspectorResource.h:
52712        * loader/FrameLoader.cpp:
52713        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
52714
527152010-09-17  Alexander Pavlov  <apavlov@chromium.org>
52716
52717        Unreviewed, build fix. Add files missed in the previous commit.
52718
52719        * GNUmakefile.am:
52720        * css/CSSPropertySourceData.cpp: Added.
52721        (WebCore::SourceRange::SourceRange):
52722        (WebCore::SourceRange::operator=):
52723        (WebCore::CSSPropertySourceData::CSSPropertySourceData):
52724        (WebCore::CSSPropertySourceData::operator=):
52725        (WebCore::CSSPropertySourceData::toString):
52726        (WebCore::CSSPropertySourceData::hash):
52727        (WebCore::CSSPropertySourceData::init):
52728        * css/CSSPropertySourceData.h: Added.
52729        (WebCore::CSSPropertySourceData::~CSSPropertySourceData):
52730        (WebCore::CSSStyleSourceData::create):
52731
527322010-09-15  Alexander Pavlov  <apavlov@chromium.org>
52733
52734        Reviewed by Pavel Feldman.
52735
52736        Provide source-based properties for style declarations to CSSParser clients
52737
52738        This change:
52739        - Enables InspectorCSSStore to extract CSS stylesheet text for all source-based stylesheets,
52740          even with the resource tracking turned off.
52741        - Adds to CSSParser a capability of source-related style declaration data extraction:
52742          * Start/end source offsets for a declaration, relative to the parent stylesheet start or the "style" attribute value.
52743          * Start/end source offsets for CSS properties, relative to the declaration start.
52744          * CSS property data: name, value, priority, WebCore parsability (i.e. if the property is understood by WebCore).
52745        - Provides the extracted data to the WebInspector frontend via InspectorDOMAgent::getStyleSourceData().
52746        https://bugs.webkit.org/show_bug.cgi?id=44949
52747
52748        * WebCore.gypi:
52749        * WebCore.pro:
52750        * WebCore.vcproj/WebCore.vcproj:
52751        * WebCore.xcodeproj/project.pbxproj:
52752        * css/CSSGrammar.y:
52753        * css/CSSMutableStyleDeclaration.h:
52754        (WebCore::CSSMutableStyleDeclaration::node):
52755        * css/CSSParser.cpp:
52756        (WebCore::CSSParser::CSSParser):
52757        (WebCore::CSSParser::parseSheet):
52758        (WebCore::CSSParser::parseDeclaration):
52759        (WebCore::CSSParser::createStyleRule):
52760        (WebCore::CSSParser::markRuleBodyStart):
52761        (WebCore::CSSParser::markPropertyStart):
52762        (WebCore::CSSParser::markPropertyEnd):
52763        * css/CSSParser.h:
52764        (WebCore::CSSParser::resetPropertyMarks):
52765        * css/CSSPropertySourceData.cpp: Added.
52766        (WebCore::SourceRange::SourceRange):
52767        (WebCore::SourceRange::operator=):
52768        (WebCore::CSSPropertySourceData::CSSPropertySourceData):
52769        (WebCore::CSSPropertySourceData::operator=):
52770        (WebCore::CSSPropertySourceData::toString):
52771        (WebCore::CSSPropertySourceData::hash):
52772        (WebCore::CSSPropertySourceData::init):
52773        * css/CSSPropertySourceData.h: Added.
52774        (WebCore::CSSPropertySourceData::~CSSPropertySourceData):
52775        (WebCore::CSSStyleSourceData::create):
52776        * inspector/Inspector.idl:
52777        * inspector/InspectorCSSStore.cpp:
52778        (WebCore::InspectorCSSStore::reset):
52779        (WebCore::InspectorCSSStore::styleSheetText):
52780        (WebCore::InspectorCSSStore::resourceStyleSheetText):
52781        (WebCore::InspectorCSSStore::inlineStyleSheetText):
52782        (WebCore::InspectorCSSStore::getStyleSourceData):
52783        (WebCore::InspectorCSSStore::extractRanges):
52784        (WebCore::InspectorCSSStore::getStyleAttributeRanges):
52785        (WebCore::InspectorCSSStore::getParentStyleSheet):
52786        (WebCore::InspectorCSSStore::inlineStyleElement):
52787        * inspector/InspectorCSSStore.h:
52788        * inspector/InspectorController.cpp:
52789        (WebCore::InspectorController::resourceContentForURL):
52790        * inspector/InspectorController.h:
52791        * inspector/InspectorDOMAgent.cpp:
52792        (WebCore::InspectorDOMAgent::getStyleSourceData):
52793        (WebCore::InspectorDOMAgent::buildObjectForStyle):
52794        * inspector/InspectorDOMAgent.h:
52795
527962010-09-17  Alexander Pavlov  <apavlov@chromium.org>
52797
52798        Reviewed by Pavel Feldman.
52799
52800        Web Inspector: Show node description in inspector highlight
52801        https://bugs.webkit.org/show_bug.cgi?id=20930
52802
52803        * inspector/InspectorController.cpp:
52804        (WebCore::InspectorController::drawNodeHighlight):
52805        (WebCore::InspectorController::drawElementTitle):
52806        * inspector/InspectorController.h:
52807
528082010-09-16  takano takumi  <takano1@asia.apple.com>
52809
52810        Reviewed by Kent Tamura.
52811
52812        https://bugs.webkit.org/show_bug.cgi?id=45020
52813        Support "block-flow" and "writing-mode": interpret properties into RenderStyle
52814
52815        Fixed a regression in SVG test introduced by my previous change.
52816
52817        * css/CSSPrimitiveValueMappings.h:
52818        (WebCore::CSSPrimitiveValue::operator EWritingMode):
52819        * css/SVGCSSParser.cpp:
52820        (WebCore::CSSParser::parseSVGValue):
52821
528222010-09-16  Kenneth Russell  <kbr@google.com>
52823
52824        Reviewed by James Robinson.
52825
52826        Add entry points to GraphicsContext3D needed for Chromium compositor port
52827        https://bugs.webkit.org/show_bug.cgi?id=45939
52828
52829        Added entry points for two Chromium-specific extensions, and added
52830        a flag to the GraphicsContext3D constructor, currently unsupported
52831        by all ports (including Chromium), indicating whether the context
52832        should render directly to the passed HostWindow or off-screen per
52833        the current semantics. The switch to use GraphicsContext3D in
52834        Chromium's compositor will follow in a subsequent patch.
52835
52836        No new tests; functionality is unchanged. Built and tested
52837        Chromium and WebKit on Mac OS X.
52838
52839        * platform/graphics/GraphicsContext3D.cpp:
52840        (WebCore::GraphicsContext3D::supportsMapSubCHROMIUM):
52841        (WebCore::GraphicsContext3D::mapBufferSubDataCHROMIUM):
52842        (WebCore::GraphicsContext3D::unmapBufferSubDataCHROMIUM):
52843        (WebCore::GraphicsContext3D::mapTexSubImage2DCHROMIUM):
52844        (WebCore::GraphicsContext3D::unmapTexSubImage2DCHROMIUM):
52845        (WebCore::GraphicsContext3D::supportsCopyTextureToParentTextureCHROMIUM):
52846        (WebCore::GraphicsContext3D::copyTextureToParentTextureCHROMIUM):
52847        * platform/graphics/GraphicsContext3D.h:
52848        * platform/graphics/mac/GraphicsContext3DMac.mm:
52849        (WebCore::GraphicsContext3D::create):
52850        (WebCore::GraphicsContext3D::GraphicsContext3D):
52851        * platform/graphics/qt/GraphicsContext3DQt.cpp:
52852        (WebCore::GraphicsContext3D::create):
52853        (WebCore::GraphicsContext3D::GraphicsContext3D):
52854
528552010-09-16  Simon Fraser  <simon.fraser@apple.com>
52856
52857        Reviewed by James Robinson.
52858
52859        In layerTreeAsText output, avoid printing properties which have their default values
52860        https://bugs.webkit.org/show_bug.cgi?id=45931
52861
52862        Don't dump properties that have their default values to simplify output.
52863
52864        * platform/graphics/GraphicsLayer.cpp:
52865        (WebCore::GraphicsLayer::dumpProperties):
52866
528672010-09-16  Andreas Kling  <andreas.kling@nokia.com>
52868
52869        Reviewed by Ariya Hidayat.
52870
52871        [Qt] GraphicsContext: Remove unused variable
52872
52873        GraphicsContextPlatformPrivate::redirect wasn't used for anything.
52874
52875        * platform/graphics/qt/GraphicsContextQt.cpp:
52876        (WebCore::GraphicsContextPlatformPrivate::p):
52877        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
52878
528792010-09-16  Andreas Kling  <andreas.kling@nokia.com>
52880
52881        Reviewed by Ariya Hidayat.
52882
52883        [Qt] Remove unnecessary QPainter::clipPath() call in TransparencyLayer()
52884        https://bugs.webkit.org/show_bug.cgi?id=45923
52885
52886        QPainter::clipPath() can be very expensive, so use QPainter::hasClipping()
52887        instead of QPainter::clipPath().isEmpty().
52888
52889        * platform/graphics/qt/TransparencyLayer.h:
52890        (WebCore::TransparencyLayer::TransparencyLayer):
52891
528922010-09-16  David Hyatt  <hyatt@apple.com>
52893
52894        Reviewed by Eric Seidel.
52895
52896        Fix for regression from my previous check-in.  Make sure not to move the LayoutRepainter line
52897        below the setHeight(0) call.  This meant it snagged the wrong rectangle and we ended up repainting
52898        the world.
52899
52900        * rendering/RenderBlock.cpp:
52901        (WebCore::RenderBlock::layoutBlock):
52902
529032010-09-16  takano takumi  <takano1@asia.apple.com>
52904
52905        Reviewed by Dave Hyatt.
52906
52907        https://bugs.webkit.org/show_bug.cgi?id=45020
52908        Support "block-flow" and "writing-mode": interpret properties into RenderStyle
52909 
52910        Added code that interprets "block-flow" property and "writing-mode" property settings
52911        into a RenderStyle object.
52912
52913        Test: fast/text/international/block-flow-parser-test.html
52914
52915        * css/CSSComputedStyleDeclaration.cpp:
52916        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
52917        * css/CSSParser.cpp:
52918        (WebCore::CSSParser::parseValue):
52919        * css/CSSPrimitiveValueMappings.h:
52920        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
52921        (WebCore::CSSPrimitiveValue::operator EBlockFlowDirection):
52922        * css/CSSPropertyNames.in:
52923        * css/CSSStyleSelector.cpp:
52924        (WebCore::CSSStyleSelector::applyProperty):
52925        * css/CSSValueKeywords.in:
52926        * css/SVGCSSValueKeywords.in:
52927        * rendering/style/RenderStyle.cpp:
52928        (WebCore::RenderStyle::diff):
52929        * rendering/style/RenderStyle.h:
52930        (WebCore::InheritedFlags::setBitDefaults):
52931        (WebCore::InheritedFlags::blockFlow):
52932        (WebCore::InheritedFlags::setBlockFlow):
52933        (WebCore::InheritedFlags::initialBlockFlow):
52934        * rendering/style/RenderStyleConstants.h:
52935
529362010-09-16  Martin Robinson  <mrobinson@igalia.com>
52937
52938        Reviewed by Xan Lopez.
52939
52940        [GTK] Implement dissolveDragImageToFraction
52941        https://bugs.webkit.org/show_bug.cgi?id=45826
52942
52943        Convert the drag image from a GdkPixbuf to a Cairo surface. Not only
52944        might this allow code to be shared between Cairo ports it prevents a
52945        full data copy when the image is not resized and makes the implementation
52946        of dissolveDragImageToFraction more straight-forward.
52947
52948        This feature is covered by manual-tests/drag-image.html.
52949
52950        * page/gtk/DragControllerGtk.cpp:
52951        (WebCore::DragController::maxDragImageSize): Make the maximum size of the drag
52952        image a little smaller.
52953        * platform/DragImage.h: Changed the drag image type to be a cairo_surface_t*.
52954        * platform/gtk/DragImageGtk.cpp:
52955        (WebCore::dragImageSize): Reimplemented to reflect new drag image type.
52956        (WebCore::deleteDragImage): Ditto.
52957        (WebCore::scaleDragImage): Ditto.
52958        (WebCore::dissolveDragImageToFraction): Filled the stub of this function.
52959        (WebCore::createDragImageFromImage): Reimplemented to reflect new drag image type.
52960        * platform/gtk/GtkVersioning.h: Added definition for gtk_widget_get_realized for older GTK+s.
52961
529622010-09-15  David Hyatt  <hyatt@apple.com>
52963
52964        Reviewed by Darin Adler.
52965
52966        https://bugs.webkit.org/show_bug.cgi?id=38402, paginate columns at layout time rather than at paint time.
52967
52968        This patch adds support for column breaking at layout time rather than at paint time.  New variables have been
52969        added to LayoutState and to ColumnInfo to track column information while laying out.
52970        
52971        The basic idea behind this patch is to retain the columns' paint-time hackery of transforming one long vertical strip
52972        into multiple columns.  Now, however, layout is aware of the columns and will move objects up and down vertically in order
52973        to ensure they don't intersect a break.
52974        
52975        Many new tests added in fast/multicol and new results added for existing fast/multicol tests.
52976
52977        * rendering/ColumnInfo.h:
52978        (WebCore::ColumnInfo::ColumnInfo):
52979        (WebCore::ColumnInfo::columnCount):
52980        (WebCore::ColumnInfo::columnHeight):
52981        (WebCore::ColumnInfo::setColumnCountAndHeight):
52982        (WebCore::ColumnInfo::setColumnHeight):
52983        (WebCore::ColumnInfo::updateMinimumColumnHeight):
52984        (WebCore::ColumnInfo::minimumColumnHeight):
52985        (WebCore::ColumnInfo::forcedBreaks):
52986        (WebCore::ColumnInfo::forcedBreakOffset):
52987        (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
52988        (WebCore::ColumnInfo::clearForcedBreaks):
52989        (WebCore::ColumnInfo::addForcedBreak):
52990        * rendering/LayoutState.cpp:
52991        (WebCore::LayoutState::LayoutState):
52992        (WebCore::LayoutState::clearPaginationInformation):
52993        (WebCore::LayoutState::pageY):
52994        (WebCore::LayoutState::addForcedColumnBreak):
52995        * rendering/LayoutState.h:
52996        (WebCore::LayoutState::LayoutState):
52997        (WebCore::LayoutState::paginatingColumns):
52998        (WebCore::LayoutState::paginated):
52999        * rendering/RenderBlock.cpp:
53000        (WebCore::RenderBlock::RenderBlock):
53001        (WebCore::RenderBlock::~RenderBlock):
53002        (WebCore::RenderBlock::layoutBlock):
53003        (WebCore::RenderBlock::collapseMargins):
53004        (WebCore::RenderBlock::estimateVerticalPosition):
53005        (WebCore::RenderBlock::layoutBlockChild):
53006        (WebCore::RenderBlock::layoutPositionedObjects):
53007        (WebCore::RenderBlock::paintColumnRules):
53008        (WebCore::RenderBlock::paintColumnContents):
53009        (WebCore::RenderBlock::paintChildren):
53010        (WebCore::RenderBlock::insertFloatingObject):
53011        (WebCore::RenderBlock::removeFloatingObjects):
53012        (WebCore::RenderBlock::positionNewFloats):
53013        (WebCore::RenderBlock::positionNewFloatOnLine):
53014        (WebCore::RenderBlock::lowestPosition):
53015        (WebCore::RenderBlock::rightmostPosition):
53016        (WebCore::RenderBlock::leftmostPosition):
53017        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
53018        (WebCore::RenderBlock::markDescendantBlocksAndLinesForLayout):
53019        (WebCore::RenderBlock::hitTestColumns):
53020        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
53021        (WebCore::RenderBlock::columnCount):
53022        (WebCore::RenderBlock::columnRectAt):
53023        (WebCore::RenderBlock::layoutColumns):
53024        (WebCore::RenderBlock::adjustPointToColumnContents):
53025        (WebCore::RenderBlock::adjustRectForColumns):
53026        (WebCore::RenderBlock::adjustForColumns):
53027        (WebCore::RenderBlock::setMaxTopMargins):
53028        (WebCore::RenderBlock::setMaxBottomMargins):
53029        (WebCore::RenderBlock::setPaginationStrut):
53030        (WebCore::RenderBlock::setPageY):
53031        (WebCore::RenderBlock::nextPageTop):
53032        (WebCore::inNormalFlow):
53033        (WebCore::RenderBlock::applyBeforeBreak):
53034        (WebCore::RenderBlock::applyAfterBreak):
53035        (WebCore::RenderBlock::adjustForUnsplittableChild):
53036        (WebCore::RenderBlock::adjustLinePositionForPagination):
53037        * rendering/RenderBlock.h:
53038        (WebCore::RenderBlock::paginationStrut):
53039        (WebCore::RenderBlock::pageY):
53040        (WebCore::RenderBlock::maxTopPosMargin):
53041        (WebCore::RenderBlock::maxTopNegMargin):
53042        (WebCore::RenderBlock::maxBottomPosMargin):
53043        (WebCore::RenderBlock::maxBottomNegMargin):
53044        (WebCore::RenderBlock::initMaxMarginValues):
53045        (WebCore::RenderBlock::FloatingObject::FloatingObject):
53046        (WebCore::RenderBlock::FloatingObject::type):
53047        (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
53048        * rendering/RenderBlockLineLayout.cpp:
53049        (WebCore::RenderBlock::layoutInlineChildren):
53050        (WebCore::RenderBlock::determineStartPosition):
53051        (WebCore::RenderBlock::skipLeadingWhitespace):
53052        (WebCore::RenderBlock::findNextLineBreak):
53053        * rendering/RenderBox.cpp:
53054        (WebCore::RenderBox::mapLocalToContainer):
53055        (WebCore::RenderBox::computeRectForRepaint):
53056        (WebCore::RenderBox::markDescendantBlocksAndLinesForLayout):
53057        * rendering/RenderBox.h:
53058        * rendering/RenderFlexibleBox.cpp:
53059        (WebCore::RenderFlexibleBox::layoutBlock):
53060        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
53061        (WebCore::RenderFlexibleBox::layoutVerticalBox):
53062        * rendering/RenderFlexibleBox.h:
53063        * rendering/RenderInline.cpp:
53064        (WebCore::RenderInline::computeRectForRepaint):
53065        (WebCore::RenderInline::mapLocalToContainer):
53066        * rendering/RenderLayer.cpp:
53067        (WebCore::RenderLayer::updatePagination):
53068        (WebCore::RenderLayer::paintChildLayerIntoColumns):
53069        (WebCore::RenderLayer::hitTestChildLayerColumns):
53070        * rendering/RenderLineBoxList.cpp:
53071        (WebCore::RenderLineBoxList::paint):
53072        * rendering/RenderTable.cpp:
53073        (WebCore::RenderTable::RenderTable):
53074        (WebCore::RenderTable::layout):
53075        * rendering/RenderTable.h:
53076        * rendering/RenderTableRow.cpp:
53077        (WebCore::RenderTableRow::layout):
53078        * rendering/RenderTableSection.cpp:
53079        (WebCore::RenderTableSection::layoutRows):
53080        * rendering/RenderView.cpp:
53081        (WebCore::RenderView::RenderView):
53082        (WebCore::RenderView::pushLayoutState):
53083        * rendering/RenderView.h:
53084        (WebCore::RenderView::setTruncatedAt):
53085        (WebCore::RenderView::pushLayoutState):
53086        (WebCore::RenderView::popLayoutState):
53087        (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
53088        (WebCore::LayoutStateMaintainer::push):
53089        * rendering/RootInlineBox.h:
53090        (WebCore::RootInlineBox::RootInlineBox):
53091        (WebCore::RootInlineBox::paginationStrut):
53092        (WebCore::RootInlineBox::setPaginationStrut):
53093
530942010-09-16  Pavel Podivilov  <podivilov@chromium.org>
53095
53096        Reviewed by Dimitri Glazkov.
53097
53098        Fix debug crash in HTMLFrameOwnerElement caused by content frame being used after destruction.
53099        https://bugs.webkit.org/show_bug.cgi?id=45737
53100
53101        Test: fast/frames/frame-limit.html
53102
53103        * html/HTMLFrameOwnerElement.cpp:
53104        (WebCore::HTMLFrameOwnerElement::willRemove):
53105
531062010-09-16  Thomas Zander <t.zander@nokia.com>
53107
53108        Reviewed by Andreas Kling.
53109
53110        https://bugs.webkit.org/show_bug.cgi?id=45878
53111
53112        [Qt] Fixed incorrect Symbian scoping.
53113
53114        The missing install functionality is only true for mmp based systems.
53115
53116        * WebCore.pro: limit functionality to mmp systems.
53117
531182010-09-16  Anders Carlsson  <andersca@apple.com>
53119
53120        Fix clang build.
53121
53122        * page/animation/AnimationBase.h:
53123        Fix struct/class mismatch.
53124
531252010-09-16  Darin Adler  <darin@apple.com>
53126
53127        Reviewed by Andreas Kling.
53128
53129        Reduce use of HTMLInputElement::inputType so we can remove it later
53130        https://bugs.webkit.org/show_bug.cgi?id=45903
53131
53132        * accessibility/AccessibilityRenderObject.cpp:
53133        (WebCore::AccessibilityRenderObject::isFileUploadButton): Use isFileUpload.
53134        (WebCore::AccessibilityRenderObject::isInputImage): Use isImageButton.
53135        (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Use
53136        isCheckbox and isRadioButton.
53137
53138        * css/CSSStyleSelector.cpp:
53139        (WebCore::CSSStyleSelector::adjustRenderStyle): Use isImageButton.
53140
53141        * editing/Editor.cpp:
53142        (WebCore::Editor::setBaseWritingDirection): Use isTextField.
53143
53144        * editing/ReplaceSelectionCommand.cpp:
53145        (WebCore::ReplaceSelectionCommand::doApply): Use isPasswordField.
53146
53147        * editing/SelectionController.cpp:
53148        (WebCore::SelectionController::isInPasswordField): Use isPasswordField.
53149
53150        * html/HTMLInputElement.h: Added isFileUpload, isImageButton, and isSubmitButton.
53151
53152        * page/Chrome.cpp:
53153        (WebCore::Chrome::setToolTip): Use isSubmitButton and isFileUpload.
53154
53155        * page/DragController.cpp:
53156        (WebCore::asFileInput): Use isFileUpload.
53157
53158        * page/EventHandler.cpp:
53159        (WebCore::isSubmitImage): Use isImageButton.
53160
53161        * rendering/RenderFileUploadControl.cpp:
53162        (WebCore::RenderFileUploadControl::updateFromElement): Use isFileUpload.
53163
531642010-09-16  Pavel Podivilov  <podivilov@chromium.org>
53165
53166        Reviewed by Pavel Feldman.
53167
53168        Web Inspector: quick fix for crash in InspectorController::loadBreakpoints caused by empty main resource
53169        https://bugs.webkit.org/show_bug.cgi?id=45901
53170
53171        * inspector/InspectorController.cpp:
53172        (WebCore::InspectorController::breakpointsSettingKey):
53173
531742010-09-16  Pavel Feldman  <pfeldman@chromium.org>
53175
53176        Reviewed by Yury Semikhatsky.
53177
53178        Web Inspector: Prevent responseReceivedTime from being > endTime in case mixture of WebCore and Network stack info is used.
53179        https://bugs.webkit.org/show_bug.cgi?id=45892
53180
53181        * inspector/InspectorResource.cpp:
53182        (WebCore::InspectorResource::endTiming):
53183
531842010-09-16  Ilya Tikhonovsky  <loislo@chromium.org>
53185
53186        Reviewed by Yury Semikhatsky.
53187
53188        Web Inspector: move resourceTracking flag under control of BackendSettings.
53189
53190        Four Inspector API methods about resourceTracking flag were removed.
53191        Actual state of the flag is transfered as the response of setResourceTracking request.
53192        Initial state of the flag on the frontend side is obtained from settings.backend.
53193
53194        https://bugs.webkit.org/show_bug.cgi?id=45887
53195
53196        * inspector/Inspector.idl:
53197        * inspector/InspectorController.cpp:
53198        (WebCore::InspectorController::getBackendSettings):
53199        (WebCore::InspectorController::populateScriptObjects):
53200        (WebCore::InspectorController::setResourceTracking):
53201        * inspector/InspectorController.h:
53202        * inspector/front-end/ResourcesPanel.js:
53203        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
53204        * inspector/front-end/Settings.js:
53205        (WebInspector.Settings.initialize.populateBackendSettings):
53206        (WebInspector.Settings.initialize):
53207        * inspector/front-end/inspector.js:
53208
532092010-09-16  Jian Li  <jianli@chromium.org>
53210
53211        Reviewed by David Levin.
53212
53213        BlobData should be copied for it to be used cross-thread in ThreadableBlobRegistry.
53214        https://bugs.webkit.org/show_bug.cgi?id=45909
53215
53216        * fileapi/ThreadableBlobRegistry.cpp:
53217        (WebCore::BlobRegistryContext::BlobRegistryContext):
53218
532192010-09-16  Daniel Cheng  <dcheng@chromium.org>
53220
53221        Reviewed by Simon Fraser.
53222
53223        [chromium] Fix incorrect drag node/selection painting.
53224        https://bugs.webkit.org/show_bug.cgi?id=45573
53225
53226        Drag selections were being incorrectly clipped when dragging a selection
53227        near the bottom of a page that was taller than the viewport. To fix
53228        this, we use paintContents() instead of paint().
53229
53230        * page/chromium/FrameChromium.cpp:
53231        (WebCore::Frame::nodeImage):
53232        (WebCore::Frame::dragImageForSelection):
53233
532342010-09-16  Daniel Cheng  <dcheng@chromium.org>
53235
53236        Reviewed by Tony Chang.
53237
53238        Fix incorrect usage of dissolveDragImageToFraction().
53239        https://bugs.webkit.org/show_bug.cgi?id=45835
53240
53241        createDragImageForSelection() was ignoring the return value of
53242        dissolveDragImageToFraction(). This didn't happen to crash on most
53243        platforms, since most implementations simply modified the image that was
53244        passed in. However, Chromium Mac's implementation actually creates a new
53245        image and returns that instead. This caused us to crash when copying the
53246        image from the renderer to the browser process, since the memory had
53247        already been freed.
53248
53249        * manual-tests/selection-drag-crash.html: Added.
53250        * platform/DragImage.cpp:
53251        (WebCore::createDragImageForSelection):
53252
532532010-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
53254
53255        Unreviewed, rolling out r67628.
53256        http://trac.webkit.org/changeset/67628
53257        https://bugs.webkit.org/show_bug.cgi?id=45904
53258
53259        broke the build (Requested by eric_carlson on #webkit).
53260
53261        * page/ContextMenuController.cpp:
53262        (WebCore::ContextMenuController::contextMenuItemSelected):
53263        * platform/ContextMenu.cpp:
53264        (WebCore::ContextMenu::populate):
53265        (WebCore::ContextMenu::checkOrEnableIfNeeded):
53266        * platform/ContextMenuItem.h:
53267        * platform/LocalizationStrategy.h:
53268        * platform/LocalizedStrings.cpp:
53269        * platform/LocalizedStrings.h:
53270        * platform/android/LocalizedStringsAndroid.cpp:
53271        * platform/brew/LocalizedStringsBrew.cpp:
53272        * platform/efl/LocalizedStringsEfl.cpp:
53273        * platform/gtk/ContextMenuItemGtk.cpp:
53274        (WebCore::gtkStockIDFromContextMenuAction):
53275        * platform/gtk/LocalizedStringsGtk.cpp:
53276        * platform/haiku/LocalizedStringsHaiku.cpp:
53277        * platform/wx/LocalizedStringsWx.cpp:
53278        * rendering/HitTestResult.cpp:
53279        (WebCore::HitTestResult::absoluteMediaURL):
53280        * rendering/HitTestResult.h:
53281
532822010-09-16  Andreas Kling  <andreas.kling@nokia.com>
53283
53284        Reviewed by Simon Fraser.
53285
53286        CSS: Fix crash in getTimingFunctionValue()
53287        https://bugs.webkit.org/show_bug.cgi?id=45896
53288
53289        Use a RefPtr to avoid deleting the TimingFunction prematurely.
53290
53291        This is covered by existing tests, e.g transitions/inherit-other-props.html
53292        but will only actually crash on picky platforms (or in valgrind.)
53293
53294        * css/CSSComputedStyleDeclaration.cpp:
53295        (WebCore::getTimingFunctionValue):
53296
532972010-09-16  Pavel Feldman  <pfeldman@chromium.org>
53298
53299        Reviewed by Yury Semikhatsky.
53300
53301        Web Inspector: prevent resource timing popover from having scrollers.
53302        https://bugs.webkit.org/show_bug.cgi?id=45883
53303
53304        * inspector/front-end/ResourcesPanel.js:
53305        (WebInspector.ResourcesPanel.prototype._showPopover):
53306
533072010-09-15  Philippe Normand  <pnormand@igalia.com>
53308
53309        Reviewed by Eric Carlson.
53310
53311        [GTK] enhanced context menu for media elements
53312        https://bugs.webkit.org/show_bug.cgi?id=45021
53313
53314        New items in the media Element context menu:
53315        - play/pause
53316        - mute/unmute
53317        - controls display control
53318        - switch to fullscreen (for video only)
53319        - loop playback control
53320        - copy media url to clipboard
53321        - open in new window
53322
53323        Test: media/context-menu-actions.html
53324
53325        * page/ContextMenuController.cpp:
53326        (WebCore::ContextMenuController::contextMenuItemSelected):
53327        * platform/ContextMenu.cpp:
53328        (WebCore::ContextMenu::populate):
53329        (WebCore::ContextMenu::checkOrEnableIfNeeded):
53330        * platform/ContextMenuItem.h:
53331        * platform/LocalizationStrategy.h:
53332        * platform/LocalizedStrings.cpp:
53333        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53334        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53335        (WebCore::contextMenuItemTagToggleMediaControls):
53336        (WebCore::contextMenuItemTagToggleMediaLoop):
53337        (WebCore::contextMenuItemTagEnterVideoFullscreen):
53338        (WebCore::contextMenuItemTagMediaPlay):
53339        (WebCore::contextMenuItemTagMediaPause):
53340        (WebCore::contextMenuItemTagMediaMute):
53341        (WebCore::contextMenuItemTagMediaUnMute):
53342        * platform/LocalizedStrings.h:
53343        * platform/android/LocalizedStringsAndroid.cpp:
53344        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53345        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53346        (WebCore::contextMenuItemTagToggleMediaControls):
53347        (WebCore::contextMenuItemTagToggleMediaLoop):
53348        (WebCore::contextMenuItemTagEnterVideoFullscreen):
53349        (WebCore::contextMenuItemTagMediaPlay):
53350        (WebCore::contextMenuItemTagMediaPause):
53351        (WebCore::contextMenuItemTagMediaMute):
53352        (WebCore::contextMenuItemTagMediaUnMute):
53353        * platform/brew/LocalizedStringsBrew.cpp:
53354        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53355        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53356        (WebCore::contextMenuItemTagToggleMediaControls):
53357        (WebCore::contextMenuItemTagToggleMediaLoop):
53358        (WebCore::contextMenuItemTagEnterVideoFullscreen):
53359        (WebCore::contextMenuItemTagMediaPlay):
53360        (WebCore::contextMenuItemTagMediaPause):
53361        (WebCore::contextMenuItemTagMediaMute):
53362        (WebCore::contextMenuItemTagMediaUnMute):
53363        * platform/efl/LocalizedStringsEfl.cpp:
53364        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53365        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53366        (WebCore::contextMenuItemTagToggleMediaControls):
53367        (WebCore::contextMenuItemTagToggleMediaLoop):
53368        (WebCore::contextMenuItemTagEnterVideoFullscreen):
53369        (WebCore::contextMenuItemTagMediaPlay):
53370        (WebCore::contextMenuItemTagMediaPause):
53371        (WebCore::contextMenuItemTagMediaMute):
53372        (WebCore::contextMenuItemTagMediaUnMute):
53373        * platform/gtk/ContextMenuItemGtk.cpp:
53374        (WebCore::gtkStockIDFromContextMenuAction):
53375        * platform/gtk/LocalizedStringsGtk.cpp:
53376        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53377        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53378        (WebCore::contextMenuItemTagToggleMediaControls):
53379        (WebCore::contextMenuItemTagToggleMediaLoop):
53380        (WebCore::contextMenuItemTagEnterVideoFullscreen):
53381        (WebCore::contextMenuItemTagMediaPlay):
53382        (WebCore::contextMenuItemTagMediaPause):
53383        (WebCore::contextMenuItemTagMediaMute):
53384        (WebCore::contextMenuItemTagMediaUnMute):
53385        * platform/haiku/LocalizedStringsHaiku.cpp:
53386        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53387        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53388        (WebCore::contextMenuItemTagToggleMediaControls):
53389        (WebCore::contextMenuItemTagToggleMediaLoop):
53390        (WebCore::contextMenuItemTagEnterVideoFullscreen):
53391        (WebCore::contextMenuItemTagMediaPlay):
53392        (WebCore::contextMenuItemTagMediaPause):
53393        (WebCore::contextMenuItemTagMediaMute):
53394        (WebCore::contextMenuItemTagMediaUnMute):
53395        * platform/wx/LocalizedStringsWx.cpp:
53396        (WebCore::contextMenuItemTagOpenMediaInNewWindow):
53397        (WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
53398        (WebCore::contextMenuItemTagToggleMediaControls):
53399        (WebCore::contextMenuItemTagToggleMediaLoop):
53400        (WebCore::contextMenuItemTagEnterVideoFullscreen):
53401        (WebCore::contextMenuItemTagMediaPlay):
53402        (WebCore::contextMenuItemTagMediaPause):
53403        (WebCore::contextMenuItemTagMediaMute):
53404        (WebCore::contextMenuItemTagMediaUnMute):
53405        * rendering/HitTestResult.cpp:
53406        (WebCore::HitTestResult::absoluteMediaURL):
53407        (WebCore::HitTestResult::mediaSupportsFullscreen):
53408        (WebCore::HitTestResult::mediaElement):
53409        (WebCore::HitTestResult::toggleMediaControlsDisplay):
53410        (WebCore::HitTestResult::toggleMediaLoopPlayback):
53411        (WebCore::HitTestResult::enterFullscreenForVideo):
53412        (WebCore::HitTestResult::mediaControlsEnabled):
53413        (WebCore::HitTestResult::mediaLoopEnabled):
53414        (WebCore::HitTestResult::mediaPlaying):
53415        (WebCore::HitTestResult::toggleMediaPlayState):
53416        (WebCore::HitTestResult::mediaHasAudio):
53417        (WebCore::HitTestResult::mediaMuted):
53418        (WebCore::HitTestResult::toggleMediaMuteState):
53419        * rendering/HitTestResult.h:
53420
534212010-09-16  Tony Gentilcore  <tonyg@chromium.org>
53422
53423        Reviewed by Adam Barth.
53424
53425        Crash in WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions
53426        https://bugs.webkit.org/show_bug.cgi?id=45833
53427
53428        Test: fast/parser/x-frame-options-detached-document-crash.html
53429
53430        * dom/Document.cpp:
53431        (WebCore::Document::processHttpEquiv): Other branches in this method already test for a null frame. So it seems to make sense to test that here as well.
53432
534332010-09-16  Vangelis Kokkevis  <vangelis@chromium.org>
53434
53435        Reviewed by Darin Fisher.
53436
53437        [chromium] ImageLayerChromium needs to keep a ref to the Image it uses
53438        so that it never tries to access an already destroyed Image.
53439        https://bugs.webkit.org/show_bug.cgi?id=45869
53440
53441        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
53442        (WebCore::GraphicsLayerChromium::setContentsToImage):
53443        * platform/graphics/chromium/ImageLayerChromium.cpp:
53444        (WebCore::ImageLayerChromium::setContents):
53445        (WebCore::ImageLayerChromium::updateContents):
53446        * platform/graphics/chromium/ImageLayerChromium.h:
53447
534482010-09-16  Patrick Gansterer  <paroga@paroga.com>
53449
53450        Reviewed by Adam Roben.
53451
53452        [WINCE] Add platform-specific Image methods
53453        https://bugs.webkit.org/show_bug.cgi?id=28272
53454
53455        * platform/graphics/wince/ImageWinCE.cpp: Added.
53456        (WebCore::RGBA32Buffer::asNewNativeImage):
53457        (WebCore::FrameData::clear):
53458        (WebCore::BitmapImage::getHBITMAPOfSize):
53459        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
53460        (WebCore::BitmapImage::draw):
53461        (WebCore::Image::drawPattern):
53462        (WebCore::BitmapImage::drawPattern):
53463        (WebCore::BitmapImage::checkForSolidColor):
53464
534652010-09-16  Yury Semikhatsky  <yurys@chromium.org>
53466
53467        Reviewed by Pavel Feldman.
53468
53469        Web Inspector: [REGRESSION] Scripts disappear from scripts panel after navigation
53470        https://bugs.webkit.org/show_bug.cgi?id=45890
53471
53472        * inspector/InspectorController.cpp:
53473        (WebCore::InspectorController::populateScriptObjects):
53474        (WebCore::InspectorController::restoreDebugger):
53475        (WebCore::InspectorController::restoreProfiler):
53476        * inspector/InspectorController.h:
53477
534782010-09-16  Satish Sampath  <satish@chromium.org>
53479
53480        Unreviewed, fixing a build break with VS 2008.
53481
53482        Fix build break, add the namespace in a friend declaration to get MSVC recognize it properly.
53483        https://bugs.webkit.org/show_bug.cgi?id=45893
53484
53485        * fileapi/FileWriter.h:
53486
534872010-09-15  Philippe Normand  <pnormand@igalia.com>
53488
53489        Reviewed by Martin Robinson.
53490
53491        [GStreamer] XOverlay API changes break the build
53492        https://bugs.webkit.org/show_bug.cgi?id=45810
53493
53494        Cope with the GStreamer XOverlay API change for the upcoming
53495        0.10.31 version.
53496        No new tests, build fix only.
53497
53498        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
53499        (WebCore::GStreamerGWorld::setWindowOverlay):
53500
535012010-09-16  Andreas Kling  <andreas.kling@nokia.com>
53502
53503        Reviewed by Tor Arne Vestbø.
53504
53505        [Qt] V8 port: Fix debug build
53506
53507        Add missing inclusion of <wtf/text/CString.h> where necessary for debug builds.
53508
53509        * history/PageCache.cpp:
53510        * html/HTMLElement.cpp:
53511        * html/HTMLMediaElement.cpp:
53512        * loader/DocumentLoader.cpp:
53513        * loader/icon/IconDatabase.cpp:
53514        * loader/icon/IconLoader.cpp:
53515        * storage/AbstractDatabase.cpp:
53516        * storage/Database.cpp:
53517        * storage/DatabaseSync.cpp:
53518        * storage/DatabaseTracker.cpp:
53519
535202010-09-16  Alexey Proskuryakov  <ap@apple.com>
53521
53522        Reviewed by Adam Barth.
53523
53524        https://bugs.webkit.org/show_bug.cgi?id=45852
53525        Range::selectNode and selectNodeContents misbehave when argument is in another document
53526
53527        Test: fast/dom/Range/select-node-different-document.html
53528
53529        There is nothing in DOM Traversal spec that says this shouldn't work, and it does work in
53530        Firefox.
53531
53532        * dom/Range.cpp:
53533        (WebCore::Range::setDocument):
53534        (WebCore::Range::selectNode):
53535        (WebCore::Range::selectNodeContents):
53536        * dom/Range.h:
53537
535382010-09-16  Andrey Kosyakov  <caseq@chromium.org>
53539
53540        Reviewed by Pavel Feldman.
53541
53542        Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
53543        Added support to export HAR to file from Resources panel (conditional on Preferences)
53544        Added support for HARLog (a higher-level aggregate than HAREntry)
53545        https://bugs.webkit.org/show_bug.cgi?id=45663
53546
53547        * English.lproj/localizedStrings.js:
53548        * inspector/front-end/HAREntry.js:
53549        (WebInspector.HAREntry.prototype.build):
53550        (WebInspector.HAREntry.prototype._buildTimings):
53551        (WebInspector.HAREntry._toMilliseconds):
53552        (WebInspector.HARLog):
53553        (WebInspector.HARLog.prototype.build):
53554        (WebInspector.HARLog.prototype._buildPages):
53555        (WebInspector.HARLog.prototype._buildMainResourceTimings):
53556        (WebInspector.HARLog.prototype._convertResource):
53557        * inspector/front-end/ResourcesPanel.js:
53558        (WebInspector.ResourcesPanel):
53559        (WebInspector.ResourcesPanel.prototype.hide):
53560        (WebInspector.ResourcesPanel.prototype._contextMenu):
53561        (WebInspector.ResourcesPanel.prototype._exportAll):
53562        (WebInspector.ResourcesPanel.prototype._exportResource):
53563        * inspector/front-end/Settings.js:
53564        * inspector/front-end/utilities.js:
53565        ():
53566
535672010-09-16  Eric Uhrhane  <ericu@chromium.org>
53568
53569        Reviewed by Jian Li.
53570
53571        Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
53572        https://bugs.webkit.org/show_bug.cgi?id=45798
53573
53574        * CMakeLists.txt:
53575        * Configurations/FeatureDefines.xcconfig:
53576        * GNUmakefile.am:
53577        * WebCore.pro:
53578        * dom/EventTarget.cpp:
53579        * dom/EventTarget.h:
53580        * dom/ExceptionCode.h:
53581        * dom/ScriptExecutionContext.cpp:
53582        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
53583        * dom/ScriptExecutionContext.h:
53584        * fileapi/AsyncFileWriter.h:
53585        * fileapi/FileEntry.cpp:
53586        * fileapi/FileEntry.h:
53587        * fileapi/FileEntry.idl:
53588        * fileapi/FileError.h:
53589        * fileapi/FileError.idl:
53590        * fileapi/FileException.h:
53591        * fileapi/FileException.idl:
53592        * fileapi/FileStreamProxy.cpp:
53593        * fileapi/FileStreamProxy.h:
53594        * fileapi/FileThread.cpp:
53595        * fileapi/FileThread.h:
53596        * fileapi/FileWriter.cpp:
53597        * fileapi/FileWriter.h:
53598        * fileapi/FileWriter.idl:
53599        * fileapi/FileWriterCallback.h:
53600        * fileapi/FileWriterCallback.idl:
53601        * fileapi/FileWriterClient.h:
53602        * page/DOMWindow.idl:
53603        * platform/AsyncFileStream.h:
53604        * platform/FileStream.cpp:
53605        * platform/FileStream.h:
53606        * platform/FileStreamClient.h:
53607
536082010-09-16  Marc-Antoine Ruel  <maruel@chromium.org>
53609
53610        Reviewed by Dimitri Glazkov.
53611
53612        Convert WebCore.gyp to use regexp to excludes files instead of listing them in sources!.
53613
53614        This is necessary because sources! is processed before sources/. This makes
53615        applying broader pattern in sources/ more difficult since it overrides the files
53616        listed in sources!. Having all them in sources/ permits controlling the ordering
53617        of the regexp, thus the final list of included files.
53618
53619        Fix Harfbuzz and VDMX source files includes in WebCore.gypi and WebCore.gyp
53620
53621        https://bugs.webkit.org/show_bug.cgi?id=45823
53622
53623        * WebCore.gyp/WebCore.gyp:
53624        * WebCore.gypi:
53625
536262010-09-16  Nat Duca  <nduca@chromium.org>
53627
53628        Reviewed by Darin Fisher.
53629
53630        [chromium] Make compositor obey finish flag
53631        https://bugs.webkit.org/show_bug.cgi?id=45552
53632
53633        The compositor should obey the finish flag on doComposite. This
53634        flag causes the compositor to finish rendering before returning,
53635        which is needed when resizing the window to avoid flashes of green.
53636
53637        * platform/graphics/chromium/LayerRendererChromium.cpp:
53638        (WebCore::LayerRendererChromium::finish):
53639        * platform/graphics/chromium/LayerRendererChromium.h:
53640
536412010-09-16  Alejandro G. Castro  <alex@igalia.com>
53642
53643        Reviewed by Xan Lopez.
53644
53645        GTK+ 3.x. updates, gtk_widget_size_request is deprecated and
53646        "activate-slider" style property for scrollbars is gone.
53647
53648        * platform/gtk/PopupMenuGtk.cpp:
53649        (WebCore::PopupMenuGtk::show):
53650        * platform/gtk/gtk2drawing.c:
53651        (moz_gtk_scrollbar_thumb_paint):
53652        (moz_gtk_combo_box_paint):
53653
536542010-09-16  Diego Gonzalez  <diegohcg@webkit.org>
53655
53656        Reviewed by Kenneth Rohde Christiansen.
53657
53658        [Qt] Remove FrameLoaderClientQt::webFrame() to use NetworkingContext to get the WebFrame to avoid layering violations
53659        https://bugs.webkit.org/show_bug.cgi?id=42293
53660
53661        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
53662        (WebCore::MediaPlayerPrivate::commitLoad):
53663
536642010-09-16  Ryuan Choi  <ryuan.choi@samsung.com>
53665
53666        Unreviewed build fix for EFL
53667
53668        [EFL] REGRESSION(67567) FontCacheCairo was removed
53669        https://bugs.webkit.org/show_bug.cgi?id=45858
53670
53671        * CMakeListsEfl.txt:
53672
536732010-09-16  Yong Li  <yoli@rim.com>
53674
53675        Reviewed by George Staikos.
53676
53677        https://bugs.webkit.org/show_bug.cgi?id=37117
53678
53679        Add platform-independent JPEG/PNG image encoders that
53680        work with big endian RGBA source data.
53681
53682        There's no layout test because this patch does't make
53683        any port start using the encoders.
53684
53685        * platform/image-encoders/JPEGImageEncoder.cpp: Added.
53686        * platform/image-encoders/JPEGImageEncoder.h: Added.
53687        * platform/image-encoders/PNGImageEncoder.cpp: Added.
53688        * platform/image-encoders/PNGImageEncoder.h: Added.
53689
536902010-09-15  Jeremy Orlow  <jorlow@chromium.org>
53691
53692        Reviewed by Steve Block.
53693
53694        Allow the embedder to specify the base path for IndexedDB.
53695        https://bugs.webkit.org/show_bug.cgi?id=45815
53696
53697        Existing tests provide coverage. Use the indexedDBPath parameter that's
53698        already on the group settings object. Pass this parameter into the backend
53699        which will use it rather than a hard coded tmp directory location. If
53700        nothing is specified, assume it should be an in-memory temporary database.
53701        (This is useful for bringup and Chromium's incognito mode.)
53702
53703        * storage/IDBFactory.cpp:
53704        (WebCore::IDBFactory::open):
53705        * storage/IDBFactoryBackendImpl.cpp:
53706        (WebCore::openSQLiteDatabase):
53707        (WebCore::createTables):
53708        (WebCore::IDBFactoryBackendImpl::open):
53709        * storage/IDBFactoryBackendImpl.h:
53710        * storage/IDBFactoryBackendInterface.h:
53711
537122010-09-16  Yong Li  <yoli@rim.com>
53713
53714        Reviewed by George Staikos.
53715
53716        Fix the bug that GIF image down sampling can miss some lines.
53717        https://bugs.webkit.org/show_bug.cgi?id=45322
53718
53719        Test: fast/images/gif-large-checkerboard.html
53720
53721        * platform/image-decoders/gif/GIFImageDecoder.cpp:
53722        (WebCore::GIFImageDecoder::haveDecodedRow):
53723
537242010-09-16  Philippe Normand  <pnormand@igalia.com>
53725
53726        Reviewed by Andreas Kling.
53727
53728        [GStreamer] un-needed header includes in MediaPlayerPrivate
53729        https://bugs.webkit.org/show_bug.cgi?id=45877
53730
53731        Include only the headers we need.
53732        No new tests, #includes cleanup only.
53733
53734        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
53735
537362010-09-16  Pavel Feldman  <pfeldman@chromium.org>
53737
53738        Reviewed by Yury Semikhatsky.
53739
53740        Web Inspector: console.group(object) does not allow object to be expanded.
53741        https://bugs.webkit.org/show_bug.cgi?id=45806
53742
53743        * inspector/front-end/ConsoleView.js:
53744        (WebInspector.ConsoleGroup.prototype.addMessage):
53745        * inspector/front-end/treeoutline.js:
53746        (TreeElement.treeElementToggled):
53747
537482010-09-08  Jeremy Orlow  <jorlow@chromium.org>
53749
53750        Reviewed by Steve Block.
53751
53752        Complete index support for IndexedDB
53753        https://bugs.webkit.org/show_bug.cgi?id=45386
53754
53755        Add the rest of the index related API for IndexedDB.  This
53756        includes cursor suport.  A bunch of code was also refactored
53757        since it is shared between indexes and objectStores.
53758
53759        Tests: storage/indexeddb/index-basics.html
53760               storage/indexeddb/index-cursor.html
53761               + additions to others.
53762
53763        * storage/IDBAny.cpp:
53764        (WebCore::IDBAny::set):
53765        * storage/IDBCursor.cpp:
53766        (WebCore::IDBCursor::value):
53767        * storage/IDBCursorBackendImpl.cpp:
53768        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
53769        (WebCore::IDBCursorBackendImpl::value):
53770        (WebCore::IDBCursorBackendImpl::update):
53771        (WebCore::IDBCursorBackendImpl::continueFunction):
53772        (WebCore::IDBCursorBackendImpl::remove):
53773        (WebCore::IDBCursorBackendImpl::loadCurrentRow):
53774        (WebCore::IDBCursorBackendImpl::database):
53775        * storage/IDBCursorBackendImpl.h:
53776        (WebCore::IDBCursorBackendImpl::create):
53777        * storage/IDBCursorBackendInterface.h:
53778        * storage/IDBFactoryBackendImpl.cpp:
53779        (WebCore::createTables):
53780        * storage/IDBIndex.cpp:
53781        (WebCore::IDBIndex::openObjectCursor):
53782        (WebCore::IDBIndex::openCursor):
53783        (WebCore::IDBIndex::getObject):
53784        (WebCore::IDBIndex::get):
53785        * storage/IDBIndex.h:
53786        (WebCore::IDBIndex::storeName):
53787        * storage/IDBIndex.idl:
53788        * storage/IDBIndexBackendImpl.cpp:
53789        (WebCore::IDBIndexBackendImpl::storeName):
53790        (WebCore::openCursorInternal):
53791        (WebCore::IDBIndexBackendImpl::openObjectCursor):
53792        (WebCore::IDBIndexBackendImpl::openCursor):
53793        (WebCore::getInternal):
53794        (WebCore::IDBIndexBackendImpl::getObject):
53795        (WebCore::IDBIndexBackendImpl::get):
53796        * storage/IDBIndexBackendImpl.h:
53797        (WebCore::IDBIndexBackendImpl::objectStore):
53798        * storage/IDBIndexBackendInterface.h:
53799        * storage/IDBKey.cpp:
53800        (WebCore::IDBKey::fromQuery):
53801        (WebCore::IDBKey::whereSyntax):
53802        (WebCore::IDBKey::leftCursorWhereFragment):
53803        (WebCore::IDBKey::rightCursorWhereFragment):
53804        * storage/IDBKey.h:
53805        * storage/IDBKeyRange.cpp:
53806        (WebCore::IDBKeyRange::leftWhereClauseComparisonOperator):
53807        (WebCore::IDBKeyRange::rightWhereClauseComparisonOperator):
53808        * storage/IDBKeyRange.h:
53809        * storage/IDBObjectStoreBackendImpl.cpp:
53810        (WebCore::IDBObjectStoreBackendImpl::openCursor):
53811        * storage/IDBRequest.cpp:
53812        (WebCore::IDBRequest::timerFired):
53813
538142010-09-15  Simon Fraser  <simon.fraser@apple.com>
53815
53816        Fix chromium build.
53817        
53818        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
53819
538202010-09-15  Simon Fraser  <simon.fraser@apple.com>
53821
53822        Reviewed by Adam Roben.
53823
53824        https://bugs.webkit.org/show_bug.cgi?id=44715
53825        maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac
53826
53827        Remove the concept of geometry flipping from GraphicsLayer; geometry flipping will
53828        be taken care of in platform code without the need to complicate the GraphicsLayer API.
53829        
53830        RenderLayerCompositor no longer sets the geometry orientation for the root
53831        platform layer; platform-specific code does this instead.
53832        
53833        This fixes flipped layers in WebKit2, since WebKit2 was already flipping
53834        geometry, and then RenderLayerCompositor was doing an additional flip.
53835
53836        * platform/graphics/GraphicsLayer.cpp:
53837        (WebCore::GraphicsLayer::GraphicsLayer):
53838        * platform/graphics/GraphicsLayer.h:
53839        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
53840        * platform/graphics/chromium/GraphicsLayerChromium.h:
53841        * platform/graphics/mac/GraphicsLayerCA.h:
53842        * platform/graphics/mac/GraphicsLayerCA.mm:
53843        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
53844        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
53845        (WebCore::GraphicsLayerCA::defaultContentsOrientation):
53846        * platform/graphics/qt/GraphicsLayerQt.cpp:
53847        (WebCore::GraphicsLayerQtImpl::flushChanges):
53848        * platform/graphics/qt/GraphicsLayerQt.h:
53849        * platform/graphics/win/GraphicsLayerCACF.cpp:
53850        (WebCore::GraphicsLayerCACF::swapFromOrToTiledLayer):
53851        * platform/graphics/win/GraphicsLayerCACF.h:
53852        * platform/graphics/win/WKCACFLayerRenderer.cpp:
53853        (WebCore::WKCACFLayerRenderer::setRootChildLayer):
53854        * rendering/RenderLayerCompositor.cpp:
53855        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
53856
538572010-09-15  Julien Chaffraix  <jchaffraix@codeaurora.org>
53858
53859        Unreviewed.
53860
53861        Reverting my changes as it is breaking several tests on Gtk and Qt.
53862
53863        * css/CSSParser.cpp:
53864        (WebCore::CSSParser::parseColor):
53865        * css/CSSParser.h:
53866        * html/canvas/CanvasRenderingContext2D.cpp:
53867        (WebCore::CanvasRenderingContext2D::setStrokeColor):
53868        (WebCore::CanvasRenderingContext2D::setFillColor):
53869        * html/canvas/CanvasStyle.cpp:
53870        (WebCore::CanvasStyle::createFromString):
53871        * html/canvas/CanvasStyle.h:
53872
538732010-09-15  Julien Chaffraix  <jchaffraix@codeaurora.org>
53874
53875        Reviewed by Andreas Kling.
53876
53877        Parse system colors in the HTML5 canvas context.
53878        https://bugs.webkit.org/show_bug.cgi?id=39168
53879
53880        Test: fast/css/test-setting-canvas-color.html
53881
53882        Based on previous work by Jan Erik Hanssen  <jhanssen@codeaurora.org>
53883
53884        * css/CSSParser.cpp:
53885        (WebCore::CSSParser::parseColor): Changed the function to better match our
53886        early return policy. Also we now return false when we don't parse the color.
53887        This is needed for createFromString to fallback to using parseSystemColor.
53888
53889        (WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get
53890        the system colors.
53891
53892        * css/CSSParser.h: Added the new parseSystemColor method.
53893
53894        * html/canvas/CanvasRenderingContext2D.cpp:
53895        (WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString.
53896        (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
53897        * html/canvas/CanvasStyle.cpp:
53898        (WebCore::CanvasStyle::createFromString): Try to parse the color using CSSParser::parseColor
53899        and fall back to parseSystemColor if it did not work.
53900
53901        * html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString.
53902
539032010-09-14  Erik Arvidsson  <arv@chromium.org>
53904
53905        Reviewed by Darin Adler.
53906
53907        getComputedStyle() returns different values for different zoom levels
53908        https://bugs.webkit.org/show_bug.cgi?id=32230
53909
53910        Test: fast/css/getComputedStyle/computed-style-with-zoom.html
53911
53912        * css/CSSComputedStyleDeclaration.cpp:
53913        (WebCore::zoomAdjustedPixelValue):
53914        (WebCore::zoomAdjustedNumberValue):
53915        (WebCore::valueForReflection):
53916        (WebCore::getPositionOffsetValue):
53917        (WebCore::getBorderRadiusCornerValue):
53918        (WebCore::computedTransform):
53919        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
53920        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
53921        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
53922        * css/CSSComputedStyleDeclaration.h:
53923        * css/SVGCSSComputedStyleDeclaration.cpp:
53924        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
53925        * rendering/RenderObject.h:
53926        (WebCore::adjustForAbsoluteZoom):
53927        * rendering/style/RenderStyle.h:
53928        (WebCore::adjustForAbsoluteZoom):
53929
539302010-09-14  Martin Robinson  <mrobinson@igalia.com>
53931
53932        Reviewed by Xan Lopez.
53933
53934        [GTK] Fully separate Pango and FreeType font backends
53935        https://bugs.webkit.org/show_bug.cgi?id=27442
53936
53937        Split FontPlatformData.h into separate versions for Pango, FreeType and WinCairo.
53938        Include the correct file via #ifdef'd includes, like the Chromium port. Also split
53939        FontCacheCairo.cpp into Pango and FreeType versions, as they had almost no code in
53940        common. Finally, rename FontPlatformDataCairo to FontPlatformDataFreeType, as this
53941        compilation unit is used only by the FreeType backend. This change is important to
53942        prevent upcoming fixes to the FreeType backend from affecting other backends.
53943
53944        No new tests as functionality has not changed.
53945
53946        * CMakeListsEfl.txt: Update source lists.
53947        * GNUmakefile.am: Update source lists.
53948        * platform/graphics/cairo/FontCacheCairo.cpp: Removed.
53949        * platform/graphics/cairo/FontCacheFreeType.cpp: Added.
53950        (WebCore::FontCache::platformInit):
53951        (WebCore::FontCache::getFontDataForCharacters):
53952        (WebCore::FontCache::getSimilarFontPlatformData):
53953        (WebCore::FontCache::getLastResortFallbackFont):
53954        (WebCore::FontCache::getTraitsInFamily):
53955        (WebCore::isWellKnownFontName):
53956        (WebCore::FontCache::createFontPlatformData):
53957        * platform/graphics/cairo/FontPlatformData.h:
53958        * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Renamed from WebCore/platform/graphics/cairo/FontPlatformDataCairo.cpp.
53959        (WebCore::FontPlatformData::FontPlatformData):
53960        (WebCore::FontPlatformData::operator=):
53961        (WebCore::FontPlatformData::init):
53962        (WebCore::FontPlatformData::~FontPlatformData):
53963        (WebCore::FontPlatformData::isFixedPitch):
53964        (WebCore::FontPlatformData::operator==):
53965        (WebCore::FontPlatformData::description):
53966        * platform/graphics/cairo/FontPlatformDataFreeType.h: Added.
53967        (WebCore::FontPlatformData::FontPlatformData):
53968        (WebCore::FontPlatformData::size):
53969        (WebCore::FontPlatformData::setSize):
53970        (WebCore::FontPlatformData::syntheticBold):
53971        (WebCore::FontPlatformData::syntheticOblique):
53972        (WebCore::FontPlatformData::scaledFont):
53973        (WebCore::FontPlatformData::hash):
53974        (WebCore::FontPlatformData::isHashTableDeletedValue):
53975        (WebCore::FontPlatformData::hashTableDeletedFontValue):
53976        * platform/graphics/gtk/FontCachePango.cpp: Added.
53977        (WebCore::FontCache::platformInit):
53978        (WebCore::FontCache::getFontDataForCharacters):
53979        (WebCore::FontCache::getSimilarFontPlatformData):
53980        (WebCore::FontCache::getLastResortFallbackFont):
53981        (WebCore::FontCache::getTraitsInFamily):
53982        (WebCore::FontCache::createFontPlatformData):
53983        * platform/graphics/gtk/FontPlatformDataPango.h: Added.
53984        (WebCore::FontPlatformData::FontPlatformData):
53985        (WebCore::FontPlatformData::size):
53986        (WebCore::FontPlatformData::setSize):
53987        (WebCore::FontPlatformData::syntheticBold):
53988        (WebCore::FontPlatformData::syntheticOblique):
53989        (WebCore::FontPlatformData::scaledFont):
53990        (WebCore::FontPlatformData::hash):
53991        (WebCore::FontPlatformData::isHashTableDeletedValue):
53992        (WebCore::FontPlatformData::hashTableDeletedFontValue):
53993        * platform/graphics/win/FontPlatformDataCairoWin.h: Added.
53994        (WebCore::FontPlatformData::FontPlatformData):
53995        (WebCore::FontPlatformData::hfont):
53996        (WebCore::FontPlatformData::useGDI):
53997        (WebCore::FontPlatformData::fontFace):
53998        (WebCore::FontPlatformData::size):
53999        (WebCore::FontPlatformData::setSize):
54000        (WebCore::FontPlatformData::syntheticBold):
54001        (WebCore::FontPlatformData::syntheticOblique):
54002        (WebCore::FontPlatformData::scaledFont):
54003        (WebCore::FontPlatformData::hash):
54004        (WebCore::FontPlatformData::isHashTableDeletedValue):
54005
540062010-09-15  Chris Fleizach  <cfleizach@apple.com>
54007
54008        Reviewed by Simon Fraser.
54009
54010        AX: when text is auto-truncated, accessibility bounds are wrong
54011        https://bugs.webkit.org/show_bug.cgi?id=45793
54012
54013        Allow accessibility to retrieve the absoluteQuads of a text node that
54014        clips to the ellipsis.
54015        
54016        Test: accessibility/ellipsis-text.html
54017
54018        * accessibility/AccessibilityRenderObject.cpp:
54019        (WebCore::AccessibilityRenderObject::boundingBoxRect):
54020        * rendering/RenderText.cpp:
54021        (WebCore::ellipsisRectForBox):
54022            Make a common method to retrieve the ellipsis rect.
54023        (WebCore::RenderText::absoluteQuads):
54024            Default into the absoluteQuads method that allows for ellipsis clipping.
54025        (WebCore::RenderText::selectionRectForRepaint):
54026            Use the common method for retrieving the ellipsis.
54027        * rendering/RenderText.h:
54028
540292010-09-15  Ariya Hidayat  <ariya@sencha.com>
54030
54031        [Qt] Improve the speed of blur shadow
54032        https://bugs.webkit.org/show_bug.cgi?id=44222
54033
54034        Rewrite the shadow blur function with loop unrolls and sliding step
54035        unification for both horizontal and vertical directions.
54036        This gives significant performance improvement on most cases.
54037
54038        * platform/graphics/qt/ContextShadow.cpp:
54039        (WebCore::shadowBlur):
54040
540412010-09-14  Pavel Feldman  <pfeldman@chromium.org>
54042
54043        Reviewed by Yury Semikhatsky.
54044
54045        (Take 2). Web Inspector: Provide network-based load timing.
54046        Before this change, inspector used timers taken from
54047        within WebCore notifications (that are by definition
54048        synchronous and serialized). As a result, timing was
54049        affected by the routines running on the main thread
54050        (JavaScript and such).
54051        https://bugs.webkit.org/show_bug.cgi?id=45664
54052
54053        * inspector/InspectorController.cpp:
54054        (WebCore::InspectorController::willSendRequest):
54055        (WebCore::InspectorController::didFinishLoading):
54056        (WebCore::InspectorController::didFailLoading):
54057        * inspector/InspectorController.h:
54058        * inspector/InspectorResource.cpp:
54059        (WebCore::InspectorResource::endTiming):
54060        * inspector/InspectorResource.h:
54061        * loader/PingLoader.h:
54062        (WebCore::PingLoader::didFinishLoading):
54063        * loader/ResourceLoadNotifier.cpp:
54064        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
54065        * loader/ResourceLoader.cpp:
54066        (WebCore::ResourceLoader::didFinishLoading):
54067        * loader/ResourceLoader.h:
54068        * loader/appcache/ApplicationCacheGroup.cpp:
54069        (WebCore::ApplicationCacheGroup::didFinishLoading):
54070        * loader/appcache/ApplicationCacheGroup.h:
54071        * loader/icon/IconFetcher.cpp:
54072        (WebCore::IconFetcher::didFinishLoading):
54073        * loader/icon/IconFetcher.h:
54074        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
54075        (StreamingClient::didFinishLoading):
54076        * platform/network/BlobResourceHandle.cpp:
54077        (WebCore::BlobResourceHandle::notifyFinish):
54078        * platform/network/ResourceHandleClient.h:
54079        (WebCore::ResourceHandleClient::didFinishLoading):
54080        * platform/network/ResourceLoadTiming.h:
54081        (WebCore::ResourceLoadTiming::deepCopy):
54082        (WebCore::ResourceLoadTiming::operator==):
54083        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
54084        * platform/network/cf/ResourceHandleCFNet.cpp:
54085        (WebCore::didFinishLoading):
54086        * platform/network/curl/ResourceHandleCurl.cpp:
54087        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54088        * platform/network/curl/ResourceHandleManager.cpp:
54089        (WebCore::ResourceHandleManager::downloadTimerCallback):
54090        (WebCore::parseDataUrl):
54091        * platform/network/mac/ResourceHandleMac.mm:
54092        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
54093        (WebCoreSynchronousLoaderClient::didFinishLoading):
54094        * platform/network/qt/QNetworkReplyHandler.cpp:
54095        (WebCore::QNetworkReplyHandler::finish):
54096        * platform/network/qt/ResourceHandleQt.cpp:
54097        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54098        * platform/network/soup/ResourceHandleSoup.cpp:
54099        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54100        (WebCore::WebCoreSynchronousLoader::didFail):
54101        * platform/network/win/ResourceHandleWin.cpp:
54102        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54103        (WebCore::ResourceHandle::onRequestComplete):
54104        (WebCore::ResourceHandle::fileLoadTimer):
54105        (WebCore::ResourceHandle::cancel):
54106
541072010-09-15  Sheriff Bot  <webkit.review.bot@gmail.com>
54108
54109        Unreviewed, rolling out r67551.
54110        http://trac.webkit.org/changeset/67551
54111        https://bugs.webkit.org/show_bug.cgi?id=45816
54112
54113        "Plugin tests fail" (Requested by yurys on #webkit).
54114
54115        * inspector/InspectorController.cpp:
54116        (WebCore::InspectorController::willSendRequest):
54117        (WebCore::InspectorController::didFinishLoading):
54118        (WebCore::InspectorController::didFailLoading):
54119        (WebCore::InspectorController::didCloseWebSocket):
54120        * inspector/InspectorController.h:
54121        * inspector/InspectorResource.cpp:
54122        (WebCore::InspectorResource::endTiming):
54123        * inspector/InspectorResource.h:
54124        * loader/DocumentLoader.cpp:
54125        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
54126        * loader/MainResourceLoader.cpp:
54127        (WebCore::MainResourceLoader::continueAfterContentPolicy):
54128        (WebCore::MainResourceLoader::didFinishLoading):
54129        * loader/MainResourceLoader.h:
54130        * loader/NetscapePlugInStreamLoader.cpp:
54131        (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
54132        * loader/PingLoader.h:
54133        (WebCore::PingLoader::didFinishLoading):
54134        * loader/ResourceLoadNotifier.cpp:
54135        (WebCore::ResourceLoadNotifier::didFinishLoad):
54136        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
54137        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
54138        * loader/ResourceLoadNotifier.h:
54139        * loader/ResourceLoader.cpp:
54140        (WebCore::ResourceLoader::didFinishLoading):
54141        (WebCore::ResourceLoader::didFinishLoadingOnePart):
54142        * loader/ResourceLoader.h:
54143        * loader/SubresourceLoader.cpp:
54144        (WebCore::SubresourceLoader::didReceiveResponse):
54145        (WebCore::SubresourceLoader::didFinishLoading):
54146        * loader/SubresourceLoader.h:
54147        * loader/appcache/ApplicationCacheGroup.cpp:
54148        (WebCore::ApplicationCacheGroup::didFinishLoading):
54149        * loader/appcache/ApplicationCacheGroup.h:
54150        * loader/icon/IconFetcher.cpp:
54151        (WebCore::IconFetcher::didFinishLoading):
54152        * loader/icon/IconFetcher.h:
54153        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
54154        (StreamingClient::didFinishLoading):
54155        * platform/network/BlobResourceHandle.cpp:
54156        (WebCore::BlobResourceHandle::notifyFinish):
54157        * platform/network/ResourceHandleClient.h:
54158        (WebCore::ResourceHandleClient::didFinishLoading):
54159        * platform/network/cf/ResourceHandleCFNet.cpp:
54160        (WebCore::didFinishLoading):
54161        (WebCore::WebCoreSynchronousLoaderClient::didFinishLoading):
54162        * platform/network/curl/ResourceHandleCurl.cpp:
54163        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54164        * platform/network/curl/ResourceHandleManager.cpp:
54165        (WebCore::ResourceHandleManager::downloadTimerCallback):
54166        (WebCore::parseDataUrl):
54167        * platform/network/mac/ResourceHandleMac.mm:
54168        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
54169        (WebCoreSynchronousLoaderClient::didFinishLoading):
54170        * platform/network/qt/QNetworkReplyHandler.cpp:
54171        (WebCore::QNetworkReplyHandler::finish):
54172        * platform/network/qt/ResourceHandleQt.cpp:
54173        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54174        * platform/network/soup/ResourceHandleSoup.cpp:
54175        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54176        (WebCore::WebCoreSynchronousLoader::didFail):
54177        (WebCore::finishedCallback):
54178        (WebCore::parseDataUrl):
54179        * platform/network/win/ResourceHandleWin.cpp:
54180        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54181        (WebCore::ResourceHandle::onRequestComplete):
54182        (WebCore::ResourceHandle::fileLoadTimer):
54183        (WebCore::ResourceHandle::cancel):
54184
541852010-09-14  Pavel Feldman  <pfeldman@chromium.org>
54186
54187        Reviewed by Yury Semikhatsky.
54188
54189        Web Inspector: Provide network-based load timing.
54190        Before this change, inspector used timers taken from
54191        within WebCore notifications (that are by definition
54192        synchronous and serialized). As a result, timing was
54193        affected by the routines running on the main thread
54194        (JavaScript and such).
54195        https://bugs.webkit.org/show_bug.cgi?id=45664
54196
54197        * inspector/InspectorController.cpp:
54198        (WebCore::InspectorController::willSendRequest):
54199        (WebCore::InspectorController::didFinishLoading):
54200        (WebCore::InspectorController::didFailLoading):
54201        * inspector/InspectorController.h:
54202        * inspector/InspectorResource.cpp:
54203        (WebCore::InspectorResource::endTiming):
54204        * inspector/InspectorResource.h:
54205        * loader/PingLoader.h:
54206        (WebCore::PingLoader::didFinishLoading):
54207        * loader/ResourceLoadNotifier.cpp:
54208        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
54209        * loader/ResourceLoader.cpp:
54210        (WebCore::ResourceLoader::didFinishLoading):
54211        * loader/ResourceLoader.h:
54212        * loader/appcache/ApplicationCacheGroup.cpp:
54213        (WebCore::ApplicationCacheGroup::didFinishLoading):
54214        * loader/appcache/ApplicationCacheGroup.h:
54215        * loader/icon/IconFetcher.cpp:
54216        (WebCore::IconFetcher::didFinishLoading):
54217        * loader/icon/IconFetcher.h:
54218        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
54219        (StreamingClient::didFinishLoading):
54220        * platform/network/BlobResourceHandle.cpp:
54221        (WebCore::BlobResourceHandle::notifyFinish):
54222        * platform/network/ResourceHandleClient.h:
54223        (WebCore::ResourceHandleClient::didFinishLoading):
54224        * platform/network/ResourceLoadTiming.h:
54225        (WebCore::ResourceLoadTiming::deepCopy):
54226        (WebCore::ResourceLoadTiming::operator==):
54227        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
54228        * platform/network/cf/ResourceHandleCFNet.cpp:
54229        (WebCore::didFinishLoading):
54230        * platform/network/curl/ResourceHandleCurl.cpp:
54231        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54232        * platform/network/curl/ResourceHandleManager.cpp:
54233        (WebCore::ResourceHandleManager::downloadTimerCallback):
54234        (WebCore::parseDataUrl):
54235        * platform/network/mac/ResourceHandleMac.mm:
54236        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
54237        (WebCoreSynchronousLoaderClient::didFinishLoading):
54238        * platform/network/qt/QNetworkReplyHandler.cpp:
54239        (WebCore::QNetworkReplyHandler::finish):
54240        * platform/network/qt/ResourceHandleQt.cpp:
54241        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54242        * platform/network/soup/ResourceHandleSoup.cpp:
54243        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54244        (WebCore::WebCoreSynchronousLoader::didFail):
54245        * platform/network/win/ResourceHandleWin.cpp:
54246        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
54247        (WebCore::ResourceHandle::onRequestComplete):
54248        (WebCore::ResourceHandle::fileLoadTimer):
54249        (WebCore::ResourceHandle::cancel):
54250
542512010-09-14  Ilya Tikhonovsky  <loislo@chromium.org>
54252
54253        Reviewed by Yury Semikhatsky.
54254
54255        WebInspector: small refactoring for monitorXHR backend property.
54256
54257        Our Inspector API is quite big and can be simplified a bit.
54258        As example for single backend property like monitoringXHR we
54259        have 4 functions in the API. Two functions for frontend
54260        enableMonitoringXHR/disableMonitoringXHR and
54261        two functions for backend monitoringXHRWasEnabled and
54262        monitoringXHRWasDisabled. These functions can be replaced by
54263        one setMonitoringXHR with one 'in' and one 'out' argument.
54264        The initial state of the flag can be gathered from backend
54265        with help of getSettings call where additional section was
54266        added for backend state information.
54267
54268        https://bugs.webkit.org/show_bug.cgi?id=45759
54269
54270        * inspector/Inspector.idl:
54271        * inspector/InspectorController.cpp:
54272        * inspector/InspectorController.h:
54273        * inspector/front-end/ConsoleView.js:
54274        * inspector/front-end/Settings.js:
54275        * inspector/front-end/inspector.js:
54276
542772010-09-15  Pavel Feldman  <pfeldman@chromium.org>
54278
54279        Reviewed by Yury Semikhatsky.
54280
54281        Web Inspector: Multiline console does not work on Windows / Linux.
54282        https://bugs.webkit.org/show_bug.cgi?id=45807
54283
54284        * inspector/front-end/ConsoleView.js:
54285
542862010-09-15  Renata Hodovan  <reni@inf.u-szeged.hu>
54287
54288        Reviewed by Dirk Schulze.
54289
54290        SVGFETurbulenceElement doesn't support dynamic invalidation, when attributes change.
54291        A typo (noStich instead of nostitch) is also fixed in this patch.
54292        https://bugs.webkit.org/show_bug.cgi?id=45809
54293
54294        Tests: svg/dynamic-updates/SVGFETurbulenceElement-dom-baseFrequency-attr.html
54295               svg/dynamic-updates/SVGFETurbulenceElement-dom-numOctaves-attr.html
54296               svg/dynamic-updates/SVGFETurbulenceElement-dom-seed-attr.html
54297               svg/dynamic-updates/SVGFETurbulenceElement-dom-stitchTiles-attr.html
54298               svg/dynamic-updates/SVGFETurbulenceElement-dom-type-attr.html
54299               svg/dynamic-updates/SVGFETurbulenceElement-svgdom-baseFrequency-prop.html
54300               svg/dynamic-updates/SVGFETurbulenceElement-svgdom-numOctaves-prop.html
54301               svg/dynamic-updates/SVGFETurbulenceElement-svgdom-seed-prop.html
54302               svg/dynamic-updates/SVGFETurbulenceElement-svgdom-stitchTiles-prop.html
54303               svg/dynamic-updates/SVGFETurbulenceElement-svgdom-type-prop.html
54304
54305        * svg/SVGFETurbulenceElement.cpp:
54306        (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
54307        (WebCore::SVGFETurbulenceElement::svgAttributeChanged):
54308        * svg/SVGFETurbulenceElement.h:
54309
543102010-09-15  Patrick Gansterer  <paroga@paroga.com>
54311
54312        Reviewed by Kenneth Rohde Christiansen.
54313
54314        [WINCE] Avoid memcpy in TextCodecWinCE::encode
54315        https://bugs.webkit.org/show_bug.cgi?id=45468
54316
54317        * platform/text/wince/TextCodecWinCE.cpp:
54318        (WebCore::TextCodecWinCE::encode):
54319
543202010-09-14  Kinuko Yasuda  <kinuko@chromium.org>
54321
54322        Reviewed by Dumitru Daniliuc.
54323
54324        Add custom binding code for DirectoryEntry to allow JSON parameters for Flags
54325        https://bugs.webkit.org/show_bug.cgi?id=45724
54326
54327        No new tests; tests will be added later.
54328
54329        * CMakeLists.txt:
54330        * GNUmakefile.am:
54331        * WebCore.gypi:
54332        * WebCore.pro:
54333        * WebCore.vcproj/WebCore.vcproj:
54334        * WebCore.xcodeproj/project.pbxproj:
54335        * bindings/js/JSDirectoryEntryCustom.cpp: Added.
54336        (WebCore::JSDirectoryEntry::getFile):
54337        (WebCore::JSDirectoryEntry::getDirectory):
54338        * bindings/v8/custom/V8DirectoryEntryCustom.cpp: Added.
54339        (WebCore::V8DirectoryEntry::getDirectoryCallback):
54340        (WebCore::V8DirectoryEntry::getFileCallback):
54341        * fileapi/DirectoryEntry.h:
54342        * fileapi/DirectoryEntry.idl:
54343
543442010-09-14  Jia Pu  <jpu@apple.com>
54345        
54346        Reviewed by Dan Bernstein.
54347
54348        Only intercept ESC key press when autocorrection UI is visible.
54349        https://bugs.webkit.org/show_bug.cgi?id=45071
54350
54351        Only intercept ESC key when autocorrection panel is shown. Otherwise pressing
54352        ESC will cancel current loading like usual.
54353
54354        * editing/Editor.cpp:
54355        (WebCore::Editor::isShowingCorrectionPanel): Query editor client whether autocorrection
54356          panel is shown.
54357
54358        * editing/Editor.h: Added declaration of isShowingCorrectionPanel().
54359
54360        * editing/EditorCommand.cpp:
54361        (WebCore::supportedDismissCorrectionPanel): Only support executeCancelOperation()
54362          when autocorrection panel is shown.
54363        (WebCore::createCommandMap): Replaced isSupported function pointer for
54364          executeCancelOperation() command with supportedDismissCorrectionPanel().
54365
54366        * loader/EmptyClients.h:
54367        (WebCore::EmptyEditorClient::isShowingCorrectionPanel): Dummy implementation of
54368          new member method declared in base class.
54369
54370        * page/EditorClient.h: Declared new member method isShowingCorrectionPanel().
54371
543722010-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>
54373
54374        Unreviewed, rolling out r67503.
54375        http://trac.webkit.org/changeset/67503
54376        https://bugs.webkit.org/show_bug.cgi?id=45802
54377
54378        This patch broke GTK builds (Requested by jianli_ on #webkit).
54379
54380        * fileapi/ThreadableBlobRegistry.cpp:
54381        (WebCore::BlobRegistryContext::BlobRegistryContext):
54382        * loader/ResourceLoader.cpp:
54383        (WebCore::ResourceLoader::resourceData):
54384        (WebCore::ResourceLoader::addData):
54385        * platform/network/BlobResourceHandle.cpp:
54386        * platform/network/BlobResourceHandle.h:
54387        * platform/network/ResourceHandle.h:
54388        * platform/network/mac/ResourceHandleMac.mm:
54389        (WebCore::ResourceHandle::bufferedData):
54390
543912010-09-14  Luiz Agostini  <luiz.agostini@openbossa.org>
54392
54393        Reviewed by Kenneth Rohde Christiansen.
54394
54395        [Qt] Zoom factor for checkboxes and radios.
54396        https://bugs.webkit.org/show_bug.cgi?id=45776
54397
54398        RenderThemeQt does not consider RenderStyle::effectiveZoom when calculating sizes of
54399        checkboxes and radios.
54400
54401        Even with this change the used QStyle must support different sizes for radios and checkboxes.
54402        QWindowStyle and QMacStyle, for example, do not.
54403
54404        * platform/qt/RenderThemeQt.cpp:
54405        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
54406
544072010-09-14  Chris Rogers  <crogers@google.com>
54408
54409        Reviewed by Kenneth Russell.
54410
54411        audio engine: add AudioFileReader files (Mac implementation)
54412        https://bugs.webkit.org/show_bug.cgi?id=36475
54413
54414        No new tests since audio API is not yet implemented.
54415
54416        * platform/audio/AudioFileReader.h: Added.
54417        * platform/audio/mac/AudioFileReaderMac.cpp: Added.
54418        (WebCore::createAudioBufferList):
54419        (WebCore::destroyAudioBufferList):
54420        (WebCore::AudioFileReader::AudioFileReader):
54421        (WebCore::AudioFileReader::~AudioFileReader):
54422        (WebCore::AudioFileReader::readProc):
54423        (WebCore::AudioFileReader::getSizeProc):
54424        (WebCore::AudioFileReader::createBus):
54425        (WebCore::createBusFromAudioFile):
54426        (WebCore::createBusFromInMemoryAudioFile):
54427        * platform/audio/mac/AudioFileReaderMac.h: Added.
54428        (WebCore::AudioFileReader::data):
54429        (WebCore::AudioFileReader::dataSize):
54430
544312010-09-14  Simon Fraser  <simon.fraser@apple.com>
54432
54433        Reviewed by Oliver Hunt.
54434
54435        Drawing an image outside the bounds of a canvas still causes repaints
54436        https://bugs.webkit.org/show_bug.cgi?id=45792
54437        
54438        Some canvas examples, such as http://www.phoboslab.org/biolab/, draw
54439        images outide the bounds of the canvas. If the canvas already had a
54440        non-empty m_dirtyRect, such draws would cause us to do a repaint of
54441        m_dirtyRect again (which goes through the platform-specific invalidation
54442        machinery, which can be slow).
54443        
54444        Optimize this by avoiding extra invalidation when the dirty rect
54445        does not intersect the canvas bounds.
54446        
54447        Not testable because this avoids additional repaints of m_dirtyRect, but
54448        m_dirtyRect has to be non-empty for this to benefit.
54449
54450        * html/HTMLCanvasElement.cpp:
54451        (WebCore::HTMLCanvasElement::didDraw):
54452
544532010-09-14  Yury Semikhatsky  <yurys@chromium.org>
54454
54455        Reviewed by Pavel Feldman.
54456
54457        Web Inspector: Links from "Profiles" don't lead to "Scripts"
54458        https://bugs.webkit.org/show_bug.cgi?id=45756
54459
54460        * inspector/front-end/ProfileDataGridTree.js:
54461        (WebInspector.ProfileDataGridNode.prototype.createCell): use standard routine to create resource link
54462        * inspector/front-end/inspector.js: code cleanup: removed no-op method
54463        (WebInspector.addMainEventListeners):
54464
544652010-09-14  Patrick Gansterer  <paroga@paroga.com>
54466
54467        Reviewed by Adam Roben.
54468
54469        [WINCE] Use codePage instead of TextEncoding
54470        https://bugs.webkit.org/show_bug.cgi?id=45466
54471
54472        Use codePage as member variable to avoid repeated lookup.
54473
54474        * platform/text/wince/TextCodecWinCE.cpp:
54475        (WebCore::newTextCodecWinCE):
54476        (WebCore::TextCodecWinCE::TextCodecWinCE):
54477        (WebCore::decode):
54478        (WebCore::TextCodecWinCE::decode):
54479        (WebCore::TextCodecWinCE::encode):
54480        * platform/text/wince/TextCodecWinCE.h:
54481
544822010-09-14  Adam Barth  <abarth@webkit.org>
54483
54484        Attempted Chromium build fix.  The compiler can't tell that
54485        ASSERT_NOT_REACHED is not reached and so it demands an initialization
54486        of this variable.
54487
54488        * html/HTMLFontElement.cpp:
54489        (WebCore::HTMLFontElement::parseMappedAttribute):
54490
544912010-09-14  Andreas Kling  <andreas.kling@nokia.com>
54492
54493        Reviewed by Ariya Hidayat.
54494
54495        [Qt] Wheeling over windowed plugins sometimes cause them to disappear
54496
54497        * plugins/qt/PluginContainerQt.cpp:
54498        (PluginClientWrapper::x11Event): Pass on captured mouse wheel events
54499        to the effective native window rather than the grandparent widget.
54500        We were calling QWidget::winId() which caused a new X11 window to be
54501        created for the grandparent widget and generally mess things up.
54502
545032010-09-14  Kevin Ollivier  <kevino@theolliviers.com>
54504
54505        [wx] Build fix after move of selectedText() method.
54506
54507        * platform/wx/PasteboardWx.cpp:
54508        (WebCore::Pasteboard::writeSelection):
54509
545102010-09-14  Adam Barth  <abarth@webkit.org>
54511
54512        Reviewed by Darin Adler.
54513
54514        Handle <font size=0> as <font size=1> like any other browser
54515        https://bugs.webkit.org/show_bug.cgi?id=39148
54516
54517        Update font size parser to match HTML5 spec.  The main difference here
54518        is the handling of 0, which now maps to 1 instead of 3.
54519
54520        * html/HTMLFontElement.cpp:
54521        (WebCore::parseFontSize):
54522        (WebCore::HTMLFontElement::cssValueFromFontSizeNumber):
54523
545242010-09-14  Adam Barth  <abarth@webkit.org>
54525
54526        Reviewed by Darin Adler.
54527
54528        document.lastModified gives no output if the response doesn't have a Last-Modified header
54529        https://bugs.webkit.org/show_bug.cgi?id=8475
54530
54531        Implement document.lastModified as per HTML5.
54532
54533        Tests: http/tests/misc/last-modified-parsing.html
54534               http/tests/misc/no-last-modified.html
54535
54536        * dom/Document.cpp:
54537        (WebCore::Document::lastModified):
54538
545392010-09-14  Adam Barth  <abarth@webkit.org>
54540
54541        Reviewed by Eric Seidel.
54542
54543        `document.compatMode` is `undefined` when using `application/xhtml+xml`
54544        https://bugs.webkit.org/show_bug.cgi?id=44422
54545
54546        Moving the compatMode IDL attribute from HTMLDocument.idl to
54547        Document.idl fixes this bug and improve compliance with HTML5.
54548
54549        Test: fast/parser/compatMode-in-xhtml.xhtml
54550
54551        * dom/Document.cpp:
54552        (WebCore::Document::compatMode):
54553        * dom/Document.h:
54554        * dom/Document.idl:
54555        * html/HTMLDocument.cpp:
54556        * html/HTMLDocument.h:
54557
545582010-09-14  Adam Barth  <abarth@webkit.org>
54559
54560        Reviewed by Nate Chapin.
54561
54562        V8 security checks don't account for shadowing named frames
54563        https://bugs.webkit.org/show_bug.cgi?id=45700
54564
54565        Test: http/tests/security/xss-DENIED-frame-name.html
54566
54567        * bindings/v8/custom/V8DOMWindowCustom.cpp:
54568        (WebCore::V8DOMWindow::namedSecurityCheck):
54569            - If the property name exists on the object, it will shadow the
54570              named property lookup on the window object.  That means we need
54571              to block access if there's shadowing going on.
54572        (WebCore::V8DOMWindow::indexedSecurityCheck):
54573            - I made the corresponding change to this function too, but I don't
54574              think this one can actually be triggered because JavaScript
54575              variable names need to start with a non-digit.
54576
545772010-09-14  Adam Barth  <abarth@webkit.org>
54578
54579        Reviewed by Eric Seidel.
54580
54581        incorrect tabindex parsing
54582        https://bugs.webkit.org/show_bug.cgi?id=21076
54583
54584        Updated our integer parsing for tabindex to use the algorithm from the
54585        HTML5 spec.
54586
54587        Test: fast/parser/tabindex-parsing-2.html
54588
54589        * html/HTMLElement.cpp:
54590        (WebCore::HTMLElement::parseMappedAttribute):
54591        * html/parser/HTMLParserIdioms.cpp:
54592        (WebCore::parseHTMLInteger):
54593        * html/parser/HTMLParserIdioms.h:
54594
545952010-09-14  Brent Fulgham  <bfulgham@webkit.org>
54596
54597        Build correction, no review.
54598
54599        * WebCore.vcproj/WebCore.vcproj: Exclude OwnPtrCairo.cpp from
54600        non-Cairo based builds.
54601
546022010-09-14  Jian Li  <jianli@chromium.org>
54603
54604        Reviewed by David Levin.
54605
54606        fast/files/apply-blob-url-to-img.html timeout on Leopard
54607        https://bugs.webkit.org/show_bug.cgi?id=45576
54608
54609        The failure on Leopard is caused by the static method
54610        ResourceHandle::supportsBufferedData that returns true to indicate that
54611        the buffered data support is enabled for blob resource. However,
54612        BlobResourceHandle does not support this and we need to override this.
54613
54614        The fix is to change supportsBufferedData method from static to virtual
54615        so that we can override the default behavior in BlobResourceHandle.
54616
54617        * fileapi/ThreadableBlobRegistry.cpp: Copy BlobData to make it cross-thread. 
54618        (WebCore::BlobRegistryContext::BlobRegistryContext):
54619        * loader/ResourceLoader.cpp:
54620        (WebCore::ResourceLoader::resourceData):
54621        (WebCore::ResourceLoader::addData):
54622        * platform/network/BlobResourceHandle.cpp:
54623        (WebCore::BlobResourceHandle::supportsBufferedData): Override the default
54624        behavior.
54625        * platform/network/BlobResourceHandle.h:
54626        * platform/network/ResourceHandle.h: Made supportsBufferedData virtual.
54627        * platform/network/mac/ResourceHandleMac.mm:
54628        (WebCore::ResourceHandle::bufferedData):
54629
546302010-09-14  Brent Fulgham  <bfulgham@webkit.org>
54631
54632        Build correction, no review.
54633
54634        * WebCore.vcproj/WebCore.vcproj: Add missing OwnPtrCairo.cpp
54635          implementation file.
54636        * platform/graphics/cairo/OwnPtrCairo.cpp: Add missing include
54637          for <cairo.h>
54638
546392010-09-14  Chris Guillory   <chris.guillory@google.com>
54640
54641        Reviewed by Chris Fleizach.
54642
54643        Send all accessibility notifications to Chromium.
54644        https://bugs.webkit.org/show_bug.cgi?id=45156
54645        
54646        Use postAccessibilityNotification to pass accessibility notifications
54647        to chromium.
54648
54649        Tests: platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html
54650               platform/chromium/accessibility/post-notification-CheckedStateChanged.html
54651               platform/chromium/accessibility/post-notification-ChildrenChanged.html
54652               platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html
54653               platform/chromium/accessibility/post-notification-LayoutComplete.html
54654               platform/chromium/accessibility/post-notification-LiveRegionChanged.html
54655               platform/chromium/accessibility/post-notification-LoadComplete.html
54656               platform/chromium/accessibility/post-notification-MenuListValueChanged.html
54657               platform/chromium/accessibility/post-notification-RowCollapsed.html
54658               platform/chromium/accessibility/post-notification-RowCountChanged.html
54659               platform/chromium/accessibility/post-notification-RowExpanded.html
54660               platform/chromium/accessibility/post-notification-ScrolledToAnchor.html
54661               platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html
54662               platform/chromium/accessibility/post-notification-SelectedTextChanged.html
54663               platform/chromium/accessibility/post-notification-ValueChanged.html
54664
54665        * accessibility/chromium/AXObjectCacheChromium.cpp:
54666        (WebCore::AXObjectCache::postPlatformNotification):
54667        * page/chromium/ChromeClientChromium.h:
54668
546692010-09-14  Darin Adler  <darin@apple.com>
54670
54671        Reviewed by Geoffrey Garen.
54672
54673        Hang processing href attribute containing a million slashes
54674        https://bugs.webkit.org/show_bug.cgi?id=45767
54675
54676        Test: fast/css/visited-link-hang.html
54677
54678        * platform/LinkHash.cpp:
54679        (WebCore::findSlashDotDotSlash): Added a start position argument and
54680        changed types to use size_t consistently instead of a mix.
54681        (WebCore::findSlashSlash): Ditto.
54682        (WebCore::findSlashDotSlash): Ditto.
54683        (WebCore::squeezeOutNullCharacters): Added.
54684        (WebCore::cleanSlashDotDotSlashes): Added. Factored out part
54685        of cleanPath (see below).
54686        (WebCore::mergeDoubleSlashes): Ditto.
54687        (WebCore::cleanSlashDotSlashes): Ditto.
54688        (WebCore::cleanPath): Changed algorithm to not remove as we go to
54689        avoid N^2 behavior; instead replace with null characters and then
54690        do a squeeze operation after the fact. Also moved the body of the
54691        function out of line since we normally don't have to do any cleaning.
54692        This whole thing should go at some point -- it's not the right
54693        algorithm -- but this should eliminate the performance problems
54694        without changing behavior.
54695
546962010-09-14  Nico Weber  <thakis@chromium.org>
54697
54698        Reviewed by Kenneth Russell.
54699
54700        [chromium]: On Mac, let image layer data row order match skia.
54701        https://bugs.webkit.org/show_bug.cgi?id=45400
54702
54703        Make CoreGraphics texture row order match skia's row order, remove all
54704        code that worked around this difference. This also fixes a problem where
54705        image layers would be drawn upside down.
54706
54707        Covered by existing layout tests, but we don't run these with
54708        compositing yet.
54709
54710        * platform/graphics/chromium/ContentLayerChromium.cpp:
54711        (WebCore::ContentLayerChromium::SharedValues::SharedValues):
54712        (WebCore::ContentLayerChromium::updateContents):
54713        (WebCore::ContentLayerChromium::updateTextureRect):
54714        * platform/graphics/chromium/LayerRendererChromium.cpp:
54715        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
54716        (WebCore::LayerRendererChromium::drawLayers):
54717
547182010-09-14  Ryosuke Niwa  <rniwa@webkit.org>
54719
54720        Reviewed by Tony Chang.
54721
54722        applyInlineStyleToNodeRange does not extend run properly
54723        https://bugs.webkit.org/show_bug.cgi?id=45616
54724
54725        The bug was caused by applyInlineStyleToNodeRange's skipping a node whenever it has children.
54726        Fixed the bug by only skipping a node that contains the past end node, contains non-editable region,
54727        or has a non-editable parent node. Also fixed a bug that applyInlineStyleToNodeRange does not remove
54728        styled elements in a run that are identical to the one added. addInlineStyleIfNeeded now removes
54729        all styled elements in a run using removeStyleFromRunBeforeApplyingStyle before calling addInlineStyleIfNeeded.
54730
54731        Test: editing/style/inline-style-extend-run.html
54732
54733        * editing/ApplyStyleCommand.cpp:
54734        (WebCore::containsNonEditableRegion): Added.
54735        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): See above.
54736        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Added, see above.
54737        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added support for RemoveAlways.
54738        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
54739        (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
54740        * editing/ApplyStyleCommand.h:
54741
547422010-09-14  Andreas Kling  <andreas.kling@nokia.com>
54743
54744        Reviewed by Kenneth Rohde Christiansen.
54745
54746        [Qt] V8 port: Get inspector up and running
54747        https://bugs.webkit.org/show_bug.cgi?id=45771
54748
54749        * inspector/front-end/WebKit.qrc: Add DebuggerScript.js
54750
547512010-09-14  Oliver Hunt  <oliver@apple.com>
54752
54753        PPC Build fix.
54754
54755        * bindings/js/SerializedScriptValue.cpp:
54756        (WebCore::CloneDeserializer::readFile):
54757        (WebCore::CloneDeserializer::readTerminal):
54758
547592010-09-14  Kwang Yul Seo  <skyul@company100.net>
54760
54761        Reviewed by Andreas Kling.
54762
54763        [chromium] Remove unused ICU headers
54764        https://bugs.webkit.org/show_bug.cgi?id=45698
54765
54766        Remove unused headers.
54767
54768        * platform/graphics/chromium/FontCacheLinux.cpp:
54769
547702010-09-14  Andreas Kling  <andreas.kling@nokia.com>
54771
54772        Reviewed by Antonio Gomes.
54773
54774        [Qt] Numpad Enter key returns keyCode 0 instead of 13
54775        https://bugs.webkit.org/show_bug.cgi?id=45014
54776
54777        Original patch by Jarred Nicholls <jarred.nicholls@gmail.com>
54778
54779        There is a missing case statement in the PlatformKeyboardEventQt.cpp
54780        file to handle the Enter button on the number pad.  Because it is not
54781        handled, the keyCode returned in a JavaScript event is 0 rather than 13.
54782
54783        Test: manual-tests/qt/numpad-enter-key.html
54784
54785        * manual-tests/qt/numpad-enter-key.html: Added.
54786        * platform/qt/PlatformKeyboardEventQt.cpp:
54787        (WebCore::windowsKeyCodeForKeyEvent):
54788
547892010-09-14  Evan Martin  <evan@chromium.org>
54790
54791        Reviewed by Darin Fisher.
54792
54793        [chromium] building without debug syms broke after recent refactoring
54794        https://bugs.webkit.org/show_bug.cgi?id=45720
54795
54796        Now that we build WebCore as multiple libraries, we need to adjust the
54797        flags to turn off debug symbols for all of these libraries.
54798
54799        No new tests; should only affect an uncommon build flag.
54800
54801        * WebCore.gyp/WebCore.gyp:
54802
548032010-09-14  Tony Chang  <tony@chromium.org>
54804
54805        Unreviewed, fix chromium compile.
54806
54807        * platform/graphics/chromium/ImageLayerChromium.h:
54808
548092010-09-14  Nico Weber  <thakis@chromium.org>
54810
54811        Reviewed by Darin Fisher.
54812
54813        [chromium]: crash less in compositor mode on mac
54814        https://bugs.webkit.org/show_bug.cgi?id=45714
54815
54816        The contents image can go away when the dom is updated. Since the
54817        layer tree is updated asynchronously, it needs to ref the native image,
54818        else it will hold on to a stale object.
54819
54820        This still needs to be done for skia, too.
54821
54822        * platform/graphics/chromium/ImageLayerChromium.h:
54823        * platform/graphics/chromium/ImageLayerChromium.cpp:
54824
548252010-09-14  Andrey Kosyakov  <caseq@chromium.org>
54826
54827        Reviewed by Yury Semikhatsky.
54828
54829        Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
54830        Added support for resource timings to HAREntry.
54831        https://bugs.webkit.org/show_bug.cgi?id=45663
54832
54833        * inspector/front-end/HAREntry.js:
54834        (WebInspector.HAREntry.prototype._buildTimings):
54835        (WebInspector.HAREntry.prototype._toMilliseconds):
54836        (WebInspector.HAREntry.prototype._interval):
54837
548382010-09-14  Kwang Yul Seo  <skyul@company100.net>
54839
54840        Reviewed by Kent Tamura.
54841
54842        [BREWMP] Always set LeftButton in PlatformMouseEvent
54843        https://bugs.webkit.org/show_bug.cgi?id=45705
54844
54845        AEE_POINTER_GET_MOUSE_MODIFIERS always returns 0, so it is impossible to know
54846        which button is pressed or released. The current code erroneously sets NoButton.
54847        Set LeftButton unconditionally because Brew MP usually runs on touch device.
54848
54849        * platform/brew/PlatformMouseEventBrew.cpp:
54850        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
54851
548522010-09-14  Yury Semikhatsky  <yurys@chromium.org>
54853
54854        Reviewed by Andreas Kling.
54855
54856        Move DebuggerScript.js from WebKit/chromium/src/js to WebCore/bindings/v8
54857        https://bugs.webkit.org/show_bug.cgi?id=45739
54858
54859        * bindings/v8/DebuggerScript.js: Added.
54860
548612010-09-10  Alexander Pavlov  <apavlov@chromium.org>
54862
54863        Reviewed by Pavel Feldman.
54864
54865        Web Inspector: Implement on-demand reporting of empty CSS rules matched for a node by WebCore
54866        https://bugs.webkit.org/show_bug.cgi?id=45530
54867
54868        * css/CSSStyleSelector.cpp:
54869        (WebCore::CSSStyleSelector::matchRules):
54870        (WebCore::CSSStyleSelector::matchRulesForList):
54871        (WebCore::CSSStyleSelector::matchUARules):
54872        (WebCore::CSSStyleSelector::styleForElement):
54873        (WebCore::CSSStyleSelector::pseudoStyleForElement):
54874        (WebCore::CSSStyleSelector::styleRulesForElement):
54875        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
54876        * css/CSSStyleSelector.h:
54877        * inspector/InspectorDOMAgent.cpp:
54878        (WebCore::InspectorDOMAgent::getStyles):
54879        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
54880
548812010-09-14  Hyung Song  <beergun@company100.net>
54882
54883        Reviewed by Darin Adler.
54884
54885        [BREWMP] Set m_size in SharedBuffer::createWithContentsOfFile();
54886        https://bugs.webkit.org/show_bug.cgi?id=45701
54887
54888        SharedBuffer::createWithContentsOfFile() reads file content and saves to 
54889        result.m_buffer directly, leaving result.m_size unchanged.
54890
54891        * platform/brew/SharedBufferBrew.cpp:
54892        (WebCore::SharedBuffer::createWithContentsOfFile):
54893
548942010-09-14  Adam Barth  <abarth@webkit.org>
54895
54896        Reviewed by Darin Adler.
54897
54898        Move adjustLexerState to the HTMLTokenizer
54899        https://bugs.webkit.org/show_bug.cgi?id=45649
54900
54901        This function used let us share code between the tree builder and the
54902        two other users of the HTMLTokenizer.  However, now that the tree
54903        builder is all grown up, it can't use this code anymore.  The other
54904        users would much rather this code lived on HTMLTokenizer and understood
54905        <script>.  This patch attempts to make them happy.
54906
54907        * html/parser/HTMLPreloadScanner.cpp:
54908        (WebCore::HTMLPreloadScanner::processToken):
54909        * html/parser/HTMLTokenizer.cpp:
54910        (WebCore::HTMLTokenizer::updateStateFor):
54911        * html/parser/HTMLTokenizer.h:
54912        * html/parser/HTMLTreeBuilder.cpp:
54913        (WebCore::HTMLTreeBuilder::scriptEnabled):
54914        * html/parser/HTMLTreeBuilder.h:
54915        * html/parser/HTMLViewSourceParser.cpp:
54916        (WebCore::HTMLViewSourceParser::updateTokenizerState):
54917
549182010-09-14  Pierre-Antoine LaFayette  <plafayet@codeaurora.org>
54919
54920        Reviewed by Darin Adler.
54921
54922        REGRESSION (r52839): Incomplete repaint of IMG with text-align:center
54923        https://bugs.webkit.org/show_bug.cgi?id=40142
54924
54925        http://trac.webkit.org/changeset/52839 didn't really deal with the inline replaced element case.  This just generalizes to all inline content.
54926
54927        Patch by: Dave Hyatt
54928
54929        Tests: fast/repaint/block-layout-inline-children-float-positioned.html
54930               fast/repaint/block-layout-inline-children-replaced.html
54931
54932        * rendering/RenderBlockLineLayout.cpp:
54933        (WebCore::RenderBlock::layoutInlineChildren):
54934         
549352010-09-14  Balazs Kelemen  <kb@inf.u-szeged.hu>
54936
54937        Reviewed by Andreas Kling.
54938
54939        [Qt] Cookie operations should use NetworkingContext
54940        https://bugs.webkit.org/show_bug.cgi?id=45745
54941        No new functionality so no new tests.
54942
54943        * platform/qt/CookieJarQt.cpp:
54944        (WebCore::cookieJar): Use the NetworkingContext for obtaining the QNetworkAccessManager
54945        instead of directly accessing the FrameLoaderClient.
54946
549472010-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>
54948
54949        Unreviewed, rolling out r67449.
54950        http://trac.webkit.org/changeset/67449
54951        https://bugs.webkit.org/show_bug.cgi?id=45746
54952
54953        This change makes tree red. (Requested by pfeldman on
54954        #webkit).
54955
54956        * editing/ApplyStyleCommand.cpp:
54957        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
54958        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
54959        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
54960        (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown):
54961        * editing/ApplyStyleCommand.h:
54962
549632010-09-14  Eric Seidel  <eric@webkit.org>
54964
54965        Unreviewed, reverting changes r67451 and r67451.
54966        Broke lots of builders.
54967
54968        Only intercept ESC key press when autocorrection UI is visible.
54969        https://bugs.webkit.org/show_bug.cgi?id=45071
54970
54971        * editing/Editor.cpp:
54972        * editing/Editor.h:
54973        * editing/EditorCommand.cpp:
54974        (WebCore::createCommandMap):
54975        * loader/EmptyClients.h:
54976        * page/EditorClient.h:
54977
549782010-09-14  Kinuko Yasuda  <kinuko@chromium.org>
54979
54980        Unreviewed; an attempt to fix Chromium Windows build.
54981
54982        * fileapi/FileEntry.cpp:
54983
549842010-09-13  Andrey Kosyakov  <caseq@chromium.org>
54985
54986        Reviewed by Pavel Feldman.
54987
54988        Web Inspector: provide support for opening external navigation for links within certain elements
54989        Use default handling for clicks on links that have target="_blank".
54990        Add option for external navigation to URL audit formatter.
54991        https://bugs.webkit.org/show_bug.cgi?id=45671
54992
54993        * inspector/front-end/AuditFormatters.js:
54994        (WebInspector.AuditFormatters.url):
54995        * inspector/front-end/inspector.js:
54996
549972010-09-14  Dan Bernstein  <mitz@apple.com>
54998
54999        Build fix.
55000
55001        * editing/EditorCommand.cpp:
55002
550032010-09-14  Jia Pu  <jpu@apple.com>
55004
55005        Reviewed by Dan Bernstein.
55006
55007        Only intercept ESC key press when autocorrection UI is visible.
55008        https://bugs.webkit.org/show_bug.cgi?id=45071
55009
55010        Only intercept ESC key when autocorrection panel is shown. Otherwise pressing
55011        ESC will cancel current loading like usual.
55012
55013        * editing/Editor.cpp:
55014        (WebCore::Editor::isShowingCorrectionPanel): Query editor client whether autocorrection
55015          panel is shown.
55016
55017        * editing/Editor.h: Added declaration of isShowingCorrectionPanel().
55018
55019        * editing/EditorCommand.cpp:
55020        (WebCore::supportedDismissCorrectionPanel): Only support executeCancelOperation()
55021          when autocorrection panel is shown.
55022        (WebCore::createCommandMap): Replaced isSupported function pointer for
55023          executeCancelOperation() command with supportedDismissCorrectionPanel().
55024
55025        * loader/EmptyClients.h:
55026        (WebCore::EmptyEditorClient::isShowingCorrectionPanel): Dummy implementation of
55027          new member method declared in base class.
55028
55029        * page/EditorClient.h: Declared new member method isShowingCorrectionPanel().
55030
550312010-09-14  Kwang Yul Seo  <skyul@company100.net>
55032
55033        Reviewed by Kent Tamura.
55034
55035        [BREWMP] Remove TextBreakIteratorInternalICUBrew.cpp
55036        https://bugs.webkit.org/show_bug.cgi?id=45691
55037
55038        Brew MP no longer depends on ICU for internationalization.
55039        Remove TextBreakIteratorInternalICUBrew.cpp.
55040
55041        * platform/text/brew/TextBreakIteratorInternalICUBrew.cpp: Removed.
55042
550432010-09-14  Ryosuke Niwa  <rniwa@webkit.org>
55044
55045        Reviewed by Tony Chang.
55046
55047        applyInlineStyleToNodeRange does not extend run properly
55048        https://bugs.webkit.org/show_bug.cgi?id=45616
55049
55050        The bug was caused by applyInlineStyleToNodeRange's skipping a node whenever it has children.
55051        Fixed the bug by only skipping a node that contains the past end node, contains non-editable region,
55052        or has a non-editable parent node. Also fixed a bug that applyInlineStyleToNodeRange does not remove
55053        styled elements in a run that are identical to the one added. addInlineStyleIfNeeded now removes
55054        all styled elements in a run using removeStyleFromRunBeforeApplyingStyle before calling addInlineStyleIfNeeded.
55055
55056        Test: editing/style/inline-style-extend-run.html
55057
55058        * editing/ApplyStyleCommand.cpp:
55059        (WebCore::containsNonEditableRegion): Added.
55060        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): See above.
55061        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Added, see above.
55062        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added support for RemoveAlways.
55063        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
55064        (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
55065        * editing/ApplyStyleCommand.h:
55066
550672010-09-13  Yuta Kitamura  <yutak@chromium.org>
55068
55069        Reviewed by Kent Tamura.
55070
55071        Add one #if guard block to fix Qt builds.
55072
55073        Web Inspector: WebSocket in Resources tab
55074        https://bugs.webkit.org/show_bug.cgi?id=40768
55075
55076        * inspector/InspectorResource.cpp:
55077
550782010-09-13  Yuta Kitamura  <yutak@chromium.org>
55079
55080        Reviewed by Pavel Feldman.
55081
55082        Add WebSocket resource type to Web Inspector.
55083
55084        When a new WebSocket connection is established, a line for that connection
55085        will appear in Web Inspector's Resources tab. If the resource name is
55086        clicked, the details of handshake request and response will be shown.
55087
55088        Web Inspector: WebSocket in Resources tab
55089        https://bugs.webkit.org/show_bug.cgi?id=40768
55090
55091        * inspector/InspectorController.cpp:
55092        (WebCore::InspectorController::addResource): WebSocket resource does not
55093        have an associated loader, thus frame might be null. Need to check it.
55094        (WebCore::InspectorController::removeResource): Ditto.
55095        (WebCore::InspectorController::didCreateWebSocket):
55096        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
55097        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
55098        (WebCore::InspectorController::didCloseWebSocket):
55099        * inspector/InspectorController.h:
55100        * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
55101        because WebSocket does not have a loader and we need to allow null for
55102        these variables.
55103        (WebCore::createReadableStringFromBinary):
55104        (WebCore::InspectorResource::InspectorResource):
55105        (WebCore::InspectorResource::create): Factory function of
55106        regular (non-WebSocket) resources.
55107        (WebCore::InspectorResource::createWebSocket): Factory function of
55108        WebSocket resources.
55109        (WebCore::InspectorResource::updateWebSocketRequest):
55110        (WebCore::InspectorResource::updateWebSocketResponse):
55111        (WebCore::InspectorResource::updateScriptObject): m_frame->document() becomes
55112        available when Frame::setDocument() is called. We cannot obtain documentURL
55113        during the constructor or updateRequest() function, because m_frame->document()
55114        is not available yet at that point and documentURL will contain a wrong URL.
55115        As far as I know, updateScriptObject() is the only place where we can safely
55116        obtain documentURL.
55117        (WebCore::InspectorResource::cachedResource):
55118        (WebCore::InspectorResource::type):
55119        (WebCore::InspectorResource::resourceData):
55120        * inspector/InspectorResource.h:
55121        (WebCore::InspectorResource::):
55122        (WebCore::InspectorResource::markWebSocket):
55123        * inspector/front-end/Resource.js:
55124        (WebInspector.Resource.Type.toString):
55125        (WebInspector.Resource.prototype.set type):
55126        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
55127        * inspector/front-end/ResourceView.js:
55128        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
55129        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
55130        (WebInspector.ResourceView.prototype._refreshHeaders):
55131        * inspector/front-end/inspector.css:
55132        (.resources-category-websockets, .resources-category-other):
55133        (.resources-category-websockets .resources-graph-bar):
55134        (.resources-category-websockets.resource-cached .resources-graph-bar):
55135        * inspector/front-end/inspector.js:
55136        (WebInspector.loaded):
55137        (WebInspector.updateResource):
55138        * websockets/WebSocketChannel.cpp:
55139        (WebCore::WebSocketChannel::WebSocketChannel):
55140        (WebCore::WebSocketChannel::disconnect):
55141        (WebCore::WebSocketChannel::didOpen):
55142        (WebCore::WebSocketChannel::didClose):
55143        (WebCore::WebSocketChannel::processBuffer):
55144        (WebCore::WebSocketChannel::identifier):
55145        * websockets/WebSocketChannel.h:
55146
551472010-09-13  W. James MacLean  <wjmaclean@google.com>
55148
55149        Reviewed by Darin Fisher.
55150
55151        [chromium] Thumbnails not generated for GPU Rendered Pages
55152        https://bugs.webkit.org/show_bug.cgi?id=44127
55153
55154        Replicates existing functionality, use existing tests.
55155        Adds pixel-readback for GPU composited pages to allow for thumbnailing,
55156        printing and other services to work with GPU rendered pages.
55157
55158        * platform/graphics/chromium/LayerRendererChromium.cpp:
55159        (WebCore::LayerRendererChromium::getFramebufferPixels):
55160        * platform/graphics/chromium/LayerRendererChromium.h:
55161        (WebCore::LayerRendererChromium::rootLayerTextureSize):
55162
551632010-09-13  Kinuko Yasuda  <kinuko@chromium.org>
55164
55165        Unreviewed, build fix for Gtk.
55166
55167        * bindings/js/JSEntryCustom.cpp:
55168
551692010-09-13  Kinuko Yasuda  <kinuko@chromium.org>
55170
55171        Reviewed by Adam Barth.
55172
55173        Make FileEntry and DirectoryEntry methods accessible via Entry instance
55174        https://bugs.webkit.org/show_bug.cgi?id=45553
55175
55176        FileEntry- and DirectoryEntry- specific methods must be available on Entry object based on its internal type.
55177
55178        Added custom toJS/toV8 implementation to Entry interface.
55179
55180        No new tests; test will be added later when we have complete implementation for the API.
55181
55182        * CMakeLists.txt:
55183        * GNUmakefile.am:
55184        * WebCore.gypi:
55185        * WebCore.pro:
55186        * WebCore.vcproj/WebCore.vcproj:
55187        * WebCore.xcodeproj/project.pbxproj:
55188        * bindings/js/JSEntryCustom.cpp: Added.
55189        (WebCore::toJS):
55190        * bindings/v8/custom/V8EntryCustom.cpp: Added.
55191        (WebCore::toV8):
55192        * fileapi/DirectoryEntry.h: Nits fix.
55193        * fileapi/DirectoryEntry.idl: Added ConvertUndefinedOrNullToString to path parameter.
55194        * fileapi/Entry.idl: Added CustomToJS attribute.
55195        * fileapi/FileEntry.cpp:
55196        (WebCore::FileEntry::createWriter):
55197        (WebCore::FileEntry::file):
55198        * fileapi/FileEntry.h:
55199        * fileapi/FileEntry.idl:
55200
552012010-09-13  Ryosuke Niwa  <rniwa@webkit.org>
55202
55203        Reviewed by Darin Adler.
55204
55205        REGRESSION: In Gmail, a crash occurs at getDoubleValue() when applying a text color to a new line
55206        https://bugs.webkit.org/show_bug.cgi?id=45632
55207
55208        Test: editing/execCommand/query-font-size-with-typing-style.html
55209
55210        The crash was caused by selectionStartCSSPropertyValue's deleting nodeToRemove before
55211        retrieving the font-size property. Fixed the bug by moving the removal code to the end of the function.
55212
55213        * editing/Editor.cpp:
55214        (WebCore::Editor::selectionStartCSSPropertyValue):
55215
552162010-09-13  Kwang Yul Seo  <skyul@company100.net>
55217
55218        Reviewed by Darin Adler.
55219
55220        [BREWMP] Remove WebCore namespace in SSLKeyGeneratorBrew.cpp
55221        https://bugs.webkit.org/show_bug.cgi?id=45690
55222
55223        WebCore namespace is not required because getSupportedKeySizes and signedPublicKeyAndChallengeString are already
55224        in namespace WebCore block.
55225
55226        * platform/brew/SSLKeyGeneratorBrew.cpp:
55227        (WebCore::getSupportedKeySizes):
55228        (WebCore::signedPublicKeyAndChallengeString):
55229
552302010-09-13  Mario Sanchez Prada  <msanchez@igalia.com>
55231
55232        Reviewed by Martin Robinson.
55233
55234        [GTK] Code simplification needed in Atk Wrapper
55235        https://bugs.webkit.org/show_bug.cgi?id=45687
55236
55237        Use TextIterator::rangeLength() to calculate endOffset
55238
55239        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
55240        (getSelectionOffsetsForObject): Don't manually iterate over a
55241        artificial new range but just call TextIterator::rangeLength on
55242        the range created between the start and end positions.
55243
552442010-09-13  Sam Weinig  <sam@webkit.org>
55245
55246        Reviewed by Alice Liu.
55247
55248        Clean up xcode project.
55249
55250        * WebCore.xcodeproj/project.pbxproj:
55251
552522010-09-13  Eric Carlson  <eric.carlson@apple.com>
55253
55254        Reviewed by Geoff Garen.
55255
55256        JavaScript dialog should not deactivate media element
55257        https://bugs.webkit.org/show_bug.cgi?id=45688
55258
55259        Test: http/tests/media/reload-after-dialog.html
55260
55261        * bindings/generic/ActiveDOMCallback.cpp:
55262        (WebCore::ActiveDOMObjectCallbackImpl::suspend): Add ReasonForSuspension parameter.
55263
55264        * bindings/js/ScriptDebugServer.cpp:
55265        (WebCore::ScriptDebugServer::setJavaScriptPaused): Pass new parameter to suspendActiveDOMObjects.
55266
55267        * dom/ActiveDOMObject.cpp:
55268        (WebCore::ActiveDOMObject::suspend): Add ReasonForSuspension parameter.
55269        * dom/ActiveDOMObject.h:
55270
55271        * dom/ScriptExecutionContext.cpp:
55272        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): Ditto.
55273        * dom/ScriptExecutionContext.h:
55274
55275        * history/CachedFrame.cpp:
55276        (WebCore::CachedFrame::CachedFrame): Pass new parameter to suspendActiveDOMObjects.
55277
55278        * html/HTMLMarqueeElement.cpp:
55279        (WebCore::HTMLMarqueeElement::suspend): Add ReasonForSuspension parameter.
55280        * html/HTMLMarqueeElement.h:
55281
55282        * html/HTMLMediaElement.cpp:
55283        (WebCore::HTMLMediaElement::stop): Deal with element being suspended.
55284        (WebCore::HTMLMediaElement::suspend): Do nothing unless reason for suspension is document
55285        becoming inactive.
55286        * html/HTMLMediaElement.h:
55287
55288        * page/PageGroupLoadDeferrer.cpp:
55289        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Pass WillShowDialog to suspendActiveDOMObjects.
55290
55291        * page/SuspendableTimer.cpp:
55292        (WebCore::SuspendableTimer::suspend): Add ReasonForSuspension parameter.
55293        * page/SuspendableTimer.h:
55294
55295        * websockets/WebSocket.cpp:
55296        (WebCore::WebSocket::suspend): Ditto.
55297        * websockets/WebSocket.h:
55298
55299        * xml/XMLHttpRequest.cpp:
55300        (WebCore::XMLHttpRequest::suspend): Ditto.
55301        * xml/XMLHttpRequest.h:
55302
553032010-09-13  Sam Weinig  <sam@webkit.org>
55304
55305        Fix the mac build.
55306
55307        * page/mac/EventHandlerMac.mm:
55308        (WebCore::EventHandler::passMousePressEventToSubframe):
55309
553102010-09-13  Sam Weinig  <sam@webkit.org>
55311
55312        Reviewed by Anders Carlsson.
55313
55314        Can't scroll on Bugzilla patch review pages on Mac with WebKit2
55315        https://bugs.webkit.org/show_bug.cgi?id=43555
55316
55317        <rdar://problem/8421386> WebKit2: gmail.com is completely unresponsive to clicks
55318        <rdar://problem/8276298> Can't scroll on Bugzilla patch review pages on Mac with WebKit2 (43555)
55319
55320        * page/mac/EventHandlerMac.mm:
55321        (WebCore::EventHandler::passWheelEventToWidget):
55322        (WebCore::frameHasPlatformWidget):
55323        (WebCore::EventHandler::passMousePressEventToSubframe):
55324        (WebCore::EventHandler::passMouseMoveEventToSubframe):
55325        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
55326        Add WebKit2 mode for these functions based on the presence of a platform widget for a
55327        FrameView.
55328
553292010-09-13  Patrick Gansterer  <paroga@paroga.com>
55330
55331        Reviewed by Kenneth Rohde Christiansen.
55332
55333        [WINCE] Buildfix for ViewportArguments.cpp
55334        https://bugs.webkit.org/show_bug.cgi?id=45678
55335
55336        Use fabs() instead of abs().
55337        This patch also fixes the return value, when
55338        the value is between -1 and 1.
55339
55340        * dom/ViewportArguments.cpp:
55341        (WebCore::findUserScalableValue):
55342
553432010-09-13  Darin Adler  <darin@apple.com>
55344
55345        Reviewed by Adam Barth.
55346
55347        Preparation for eliminating deprecatedParseURL
55348        https://bugs.webkit.org/show_bug.cgi?id=45695
55349
55350        Added new HTMLParserIdioms source file, with a name inspired by the HTML
55351        specification, which has a section defining things like "space character"
55352        that talks about common parser idioms. These are idioms for the main HTML
55353        parser and for parsers for various microlanguages as well.
55354
55355        * Android.mk:
55356        * CMakeLists.txt:
55357        * GNUmakefile.am:
55358        * WebCore.gypi:
55359        * WebCore.pro:
55360        * WebCore.vcproj/WebCore.vcproj:
55361        * WebCore.xcodeproj/project.pbxproj:
55362        Added HTMLParserIdioms.
55363
55364        * css/CSSHelper.h: Fixed indentation and comments here. Point to the new
55365        stripLeadingAndTrailingHTMLSpaces function.
55366
55367        * html/parser/HTMLParserIdioms.cpp: Added.
55368        * html/parser/HTMLParserIdioms.h: Added.
55369
55370        * html/parser/HTMLTreeBuilder.cpp:
55371        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
55372        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
55373        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingNonWhitespace):
55374        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace):
55375        Updated for name changes.
55376
55377        * html/parser/HTMLTreeBuilder.h: Moved functions to HTMLParserIdioms.h.
55378
55379        * html/HTMLInputElement.cpp:
55380        * html/HTMLMeterElement.cpp:
55381        * html/HTMLProgressElement.cpp:
55382        * html/StepRange.cpp:
55383        * rendering/RenderSlider.cpp:
55384        Updated includes.
55385
55386        * svg/SVGImageLoader.cpp:
55387        (WebCore::SVGImageLoader::sourceURI): Fixed incorrect use of deprecatedParseURL.
55388        This is for use on the attribute value before building the URL, not on the URL
55389        after building it. I did not add a test case; this is an obscure corner and soon
55390        we will be moving to stripLeadingAndTrailingHTMLSpaces anyway.
55391        * wml/WMLImageLoader.cpp:
55392        (WebCore::WMLImageLoader::sourceURI): Ditto.
55393
553942010-09-13  Chris Fleizach  <cfleizach@apple.com>
55395
55396        Reviewed by Darin Adler.
55397
55398        AX: REGRESSION: WebKit does not report label of web popup buttons
55399        https://bugs.webkit.org/show_bug.cgi?id=45715
55400
55401        Test: platform/mac/accessibility/popup-button-title.html
55402
55403        * WebCore.xcodeproj/project.pbxproj:
55404        * accessibility/AccessibilityRenderObject.cpp:
55405        (WebCore::AccessibilityRenderObject::title):
55406
554072010-09-13  Kinuko Yasuda  <kinuko@chromium.org>
55408
55409        Reviewed by Dumitru Daniliuc.
55410
55411        Expose Flags constructor if FileSystem API is Enabled
55412        https://bugs.webkit.org/show_bug.cgi?id=45165
55413
55414        This change also includes:
55415        - Changed Flags' attribute names from UPPERCASE to camelCase to reflect the recent spec change.
55416          http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-interface
55417        - Enhanced EnabledAtRuntime attribute to take parameter that is used to generate a RuntimeEnabledFeatures method name.
55418
55419        No new tests; tests will be added when we fully expose the interface.
55420
55421        * bindings/v8/V8DOMWindowCustom.cpp: Added custom getter for FlagsConstructor.
55422        * fileapi/Flags.idl: Changed attribute names to camelCase.
55423        * page/DOMWindow.idl: Exposed Flags constructor.
55424
55425        * bindings/scripts/CodeGenerator.pm: Updated the WK_lcfirst hack to work around getter method for 'create' (create() should be avoided as it's widely used to instantiate an object).
55426        * bindings/scripts/CodeGeneratorV8.pm: Added EnabledAtRuntime=FeatureName support.
55427        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
55428        (WebDOMTestObj::create):
55429        (WebDOMTestObj::setCreate):
55430        * bindings/scripts/test/CPP/WebDOMTestObj.h:
55431        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
55432        (webkit_dom_test_obj_set_property):
55433        (webkit_dom_test_obj_get_property):
55434        (webkit_dom_test_obj_class_init):
55435        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
55436        * bindings/scripts/test/JS/JSTestObj.cpp:
55437        * bindings/scripts/test/ObjC/DOMTestObj.h:
55438        * bindings/scripts/test/ObjC/DOMTestObj.mm:
55439        * bindings/scripts/test/TestObj.idl:
55440        * bindings/scripts/test/V8/V8TestObj.cpp:
55441        (WebCore::TestObjInternal::createAttrGetter):
55442        (WebCore::TestObjInternal::createAttrSetter):
55443        (WebCore::TestObjInternal::enabledAtRuntimeAttr1AttrGetter):
55444        (WebCore::TestObjInternal::enabledAtRuntimeAttr1AttrSetter):
55445        (WebCore::TestObjInternal::enabledAtRuntimeAttr2AttrGetter):
55446        (WebCore::TestObjInternal::enabledAtRuntimeAttr2AttrSetter):
55447        (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
55448        (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
55449        (WebCore::ConfigureV8TestObjTemplate):
55450
554512010-09-13  Adam Barth  <abarth@webkit.org>
55452
55453        Reviewed by Darin Adler.
55454
55455        "Implement" EOF processing in AfterBodyMode and AfterAfterBodyMode
55456        https://bugs.webkit.org/show_bug.cgi?id=45647
55457
55458        Implements the notImplemented by doing nothing, which is the proper
55459        behavior according to the spec.
55460
55461        * html/parser/HTMLTreeBuilder.cpp:
55462        (WebCore::HTMLTreeBuilder::processEndOfFile):
55463
554642010-09-13  Adam Barth  <abarth@webkit.org>
55465
55466        Reviewed by Darin Adler.
55467
55468        More trivial EOF handling in tree builder
55469        https://bugs.webkit.org/show_bug.cgi?id=45648
55470
55471        The spec says to treat these modes like the InBodyMode, which is what
55472        this patch does.  Doing so is indistinguishable from our current
55473        behavior, which is why we didn't catch this based on tests.
55474
55475        * html/parser/HTMLTreeBuilder.cpp:
55476        (WebCore::HTMLTreeBuilder::processEndOfFile):
55477
554782010-09-13  James Robinson  <jamesr@chromium.org>
55479
55480        Reviewed by Kenneth Russell.
55481
55482        SharedGraphicsContext3D's texture cache holds on to images after free
55483        https://bugs.webkit.org/show_bug.cgi?id=45706
55484
55485        Each SharedGraphicsContext3D keeps a cache of uploaded textures keyed by NativeImagePtrs.
55486        Whenever the backing native image is deleted it needs to let the SharedGraphicsContext3D know
55487        so that the cache entry and associated texture can also be removed.
55488
55489        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
55490        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
55491        (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
55492        (WebCore::SharedGraphicsContext3D::removeTextureFor):
55493        (WebCore::SharedGraphicsContext3D::removeTexturesFor):
55494        (WebCore::SharedGraphicsContext3D::allContexts):
55495        * platform/graphics/gpu/SharedGraphicsContext3D.h:
55496        * platform/graphics/skia/NativeImageSkia.cpp:
55497        (WebCore::NativeImageSkia::~NativeImageSkia):
55498        * platform/graphics/skia/NativeImageSkia.h:
55499
555002010-09-13  Chris Fleizach  <cfleizach@apple.com>
55501
55502        Reviewed by David Kilzer.
55503
55504        AX: accessibilityIsIgnored is returning nil when return value expects a BOOL
55505        https://bugs.webkit.org/show_bug.cgi?id=45548
55506
55507        Test: platform/mac/accessibility/element-is-ignored.html
55508
55509        * accessibility/mac/AccessibilityObjectWrapper.mm:
55510        (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
55511
555122010-09-13  Chris Fleizach  <cfleizach@apple.com>
55513
55514        Reviewed by Darin Adler.
55515
55516        CrashTracer: 874 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 663
55517        https://bugs.webkit.org/show_bug.cgi?id=45697
55518
55519        Inside of AccessibilityTableRow, parentTable() should not use getOrCreate() on the parent table, because the render table may
55520        be in a bad state and accessing internal variables can lead to a crash.
55521
55522        Test: platform/mac/accessibility/updating-attribute-in-table-row-crash.html
55523
55524        * accessibility/AccessibilityTableRow.cpp:
55525        (WebCore::AccessibilityTableRow::parentTable):
55526
555272010-09-13  Adam Barth  <abarth@webkit.org>
55528
55529        Reviewed by Eric Seidel.
55530
55531        Implement EOF handling in TextMode
55532        https://bugs.webkit.org/show_bug.cgi?id=45644
55533
55534        This patch is actually covered by a bunch of tests.  We were just
55535        magically passing the tests before because of some nutty code in
55536        Document.cpp.
55537
55538        * dom/Document.cpp:
55539        (WebCore::Document::implicitClose):
55540            - This code was masking the notImplemented in the tree builder.
55541              I also removed the use of the setting because it wasn't working
55542              properly anyway.  I'll implement a working version shortly.
55543        * html/parser/HTMLTreeBuilder.cpp:
55544        (WebCore::HTMLTreeBuilder::processEndOfFile):
55545            - Implement per the spec.
55546
555472010-09-13  Enrica Casucci  <enrica@apple.com>
55548
55549        Reviewed by Sam Weining.
55550
55551        Paste should be implemented in WebCore like Copy and Cut for Mac also.
55552        https://bugs.webkit.org/show_bug.cgi?id=45494
55553        <rdar://problem/7660537>
55554
55555        On the Mac platform, the implementation of the paste operation is all done
55556        at the WebKit level. In order to support it on WebKit2 it is necessary to
55557        refactor the code and move this functionality at the level of WebCore like
55558        we already have on Windows.
55559        The original code relies on some in AppKit functions that call back into
55560        WebKit causing problems in WebKit2. All this functionality has been moved
55561        at the level of the editor client where it can be dealt with appropriately.
55562
55563        * editing/Editor.cpp:
55564        (WebCore::Editor::shouldInsertFragment):
55565        * editing/mac/EditorMac.mm: extended to support Mail specific scenarios.
55566        (WebCore::Editor::pasteWithPasteboard):
55567        * loader/EmptyClients.h:
55568        (WebCore::EmptyFrameLoaderClient::canShowMIMETypeAsHTML): Added.
55569        (WebCore::EmptyEditorClient::documentFragmentFromAttributedString): Added.
55570        (WebCore::EmptyEditorClient::setInsertionPasteboard): Added to support Mail.
55571        * loader/FrameLoaderClient.h:
55572        * page/EditorClient.h:
55573        * platform/Pasteboard.h:
55574        * platform/mac/PasteboardMac.mm:
55575        (WebCore::Pasteboard::writeSelection): replaced call to Appkit with one that
55576        doesn't calll back into WebKit.
55577        (WebCore::Pasteboard::documentFragmentWithImageResource): Re-implemented at the
55578        WebCore level.
55579        (WebCore::Pasteboard::documentFragmentWithRtf): Re-implemented at the
55580        WebCore level.
55581        (WebCore::uniqueURLWithRelativePart): Added.
55582        (WebCore::Pasteboard::documentFragment): Extended to include all the functionality
55583        provided in documentFragmentFromPasteboard in WebHTMLView.mm.
55584
555852010-09-13  Alejandro G. Castro  <alex@igalia.com>
55586
55587        Reviewed by Kenneth Rohde Christiansen.
55588
55589        [Gtk] Reduce the size of the shadow buffer in the paths using the clip region
55590        https://bugs.webkit.org/show_bug.cgi?id=44699
55591
55592        Intersect the clip bounding rect with the path that we are going
55593        to use to create the shadow in order to reduce the region we have
55594        to blur.
55595
55596        * platform/graphics/cairo/GraphicsContextCairo.cpp:
55597        (WebCore::drawPathShadow):
55598
55599210-09-13  Darin Fisher  <darin@chromium.org>
55600
55601        Reviewed by David Levin.
55602
55603        Add option to conditionally compile smooth scrolling support.
55604        https://bugs.webkit.org/show_bug.cgi?id=45689
55605
55606        The OS(WINDOWS) conditional becomes unnecessary since
55607        ENABLE(SMOOTH_SCROLLING) should only be specified on
55608        platforms that have a smooth scrolling implementation.
55609
55610        * platform/ScrollAnimator.cpp:
55611        * platform/ScrollAnimatorWin.cpp:
55612        * platform/ScrollAnimatorWin.h:
55613
556142010-09-13  Ryosuke Niwa  <rniwa@webkit.org>
55615
55616        Reviewed by Kent Tamura.
55617
55618        Move functions of StyledMarkupAccumulator below that of MarkupAccumulator
55619        https://bugs.webkit.org/show_bug.cgi?id=45624
55620
55621        Moved the declaration of StyledMarkupAccumulator and the definitions of its member functions
55622        to below the definitions of MarkupAccumulator's member functions.
55623
55624        No new tests are added since this is a cleanup.
55625
55626        * editing/markup.cpp:
55627        (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
55628        (WebCore::StyledMarkupAccumulator::appendElement):
55629        (WebCore::StyledMarkupAccumulator::shouldAnnotate):
55630        (WebCore::StyledMarkupAccumulator::wrapWithNode):
55631        (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
55632        (WebCore::StyledMarkupAccumulator::takeResults):
55633        (WebCore::StyledMarkupAccumulator::appendText):
55634        (WebCore::StyledMarkupAccumulator::renderedText):
55635        (WebCore::StyledMarkupAccumulator::stringValueForRange):
55636        (WebCore::styleFromMatchedRulesForElement):
55637        (WebCore::StyledMarkupAccumulator::removeExteriorStyles):
55638        (WebCore::needInterchangeNewlineAfter):
55639        (WebCore::styleFromMatchedRulesAndInlineDecl):
55640        (WebCore::removeEnclosingMailBlockquoteStyle):
55641        (WebCore::removeDefaultStyles):
55642
556432010-09-13  Alejandro G. Castro  <alex@igalia.com>
55644
55645        Reviewed by Martin Robinson.
55646
55647        [GTK] Leak in the GraphicsContextCairo drawPathShadow
55648        https://bugs.webkit.org/show_bug.cgi?id=44959
55649
55650        Fix a leak of the cairo_path.
55651
55652        * platform/graphics/cairo/GraphicsContextCairo.cpp:
55653        (WebCore::drawPathShadow):
55654        * platform/graphics/cairo/OwnPtrCairo.cpp:
55655        (WTF::cairo_path_t):
55656        * platform/graphics/cairo/OwnPtrCairo.h:
55657
556582010-09-13  Adam Barth  <abarth@webkit.org>
55659
55660        Reviewed by Darin Adler.
55661
55662        Fix </sarcasm>
55663        https://bugs.webkit.org/show_bug.cgi?id=45645
55664
55665        Umm... Yeah.
55666
55667        * html/parser/HTMLTreeBuilder.cpp:
55668        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
55669
556702010-09-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
55671
55672        Reviewed by Darin Adler.
55673
55674        [WML] Fix build breaks when WML is enabled
55675        https://bugs.webkit.org/show_bug.cgi?id=45628
55676
55677        There are build breaks by Bug 22382 when WML is enabled. The handleLinkClick() has an event parameter.
55678        So, we need to set an event when wml invoke the handleLinkClick(). And, doTextFieldCommandFromEvent()
55679        was moved to editor. So, we need to mofidy the invocation in WMLInputElement.cpp 
55680
55681        * wml/WMLAElement.cpp:
55682        (WebCore::WMLAElement::defaultEventHandler):
55683        * wml/WMLInputElement.cpp:
55684        (WebCore::WMLInputElement::defaultEventHandler):
55685
556862010-09-13  Martin Robinson  <mrobinson@igalia.com>
55687
55688        Reviewed by Xan Lopez.
55689
55690        [GTK] When a feature is disabled by default, the source necessary to build it are not included in the distribution
55691        https://bugs.webkit.org/show_bug.cgi?id=45230
55692
55693        No new tests as this is just a build change.
55694
55695        * GNUmakefile.am: Move as many sources as possible to the SOURCES primary.
55696        Others should be moved over time as we solve issues with them.
55697
556982010-09-13  Chris Fleizach  <cfleizach@apple.com>
55699
55700        Reviewed by Darin Adler.
55701
55702        REGRESSION (r64816-r64889): Crash in WebCore::AccessibilityRenderObject
55703        https://bugs.webkit.org/show_bug.cgi?id=43807
55704
55705        Ensure that visiblePositionForPoint can handle non RenderBoxModelObject types.
55706
55707        Test: platform/mac/accessibility/visible-position-crash-for-text-node.html
55708
55709        * accessibility/AccessibilityRenderObject.cpp:
55710        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
55711
557122010-09-13  Martin Robinson  <mrobinson@igalia.com>
55713
55714        Reviewed by Andreas Kling.
55715
55716        [Qt] DOM listeners get wrong keycodes for some keys
55717        https://bugs.webkit.org/show_bug.cgi?id=43365
55718
55719        Produce the proper keycodes for the print screen key as well as the
55720        keypad insert and delete keys.
55721
55722        * platform/qt/PlatformKeyboardEventQt.cpp:
55723        (WebCore::windowsKeyCodeForKeyEvent): Fix keycode translation for the mentioned keys.
55724
557252010-09-13  Jonathan Dixon  <joth@chromium.org>
55726
55727        Reviewed by Steve Block.
55728
55729        [chromium] Port test shell geolocation fixes to DRT
55730        https://bugs.webkit.org/show_bug.cgi?id=45313
55731
55732        Also re-apply rolled out patch http://trac.webkit.org/changeset/66886 :-
55733        Add missing virtual destructor to the abstract base class.
55734
55735        * platform/chromium/GeolocationServiceChromium.cpp:
55736        (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
55737        * platform/chromium/GeolocationServiceChromium.h:
55738
557392010-09-13  Yury Semikhatsky  <yurys@chromium.org>
55740
55741        Reviewed by Pavel Feldman.
55742
55743        Web Inspector: upstream testExpandScope debugger test
55744        https://bugs.webkit.org/show_bug.cgi?id=45260
55745
55746        Test: inspector/debugger-expand-scope.html
55747
55748        * inspector/front-end/InjectedScript.js: return "Arguments" as class name for arguments variable in v8.
55749        (injectedScriptConstructor.):
55750
557512010-09-13  Mario Sanchez Prada  <msanchez@igalia.com>
55752
55753        Reviewed by Martin Robinson.
55754
55755        [GTK] ATs should be able to select/unselect text
55756        https://bugs.webkit.org/show_bug.cgi?id=25673
55757
55758        Implement AtkText's setSelection and removeSelection functions
55759
55760        * accessibility/AccessibilityObject.cpp:
55761        (WebCore::AccessibilityObject::visiblePositionRangeForRange):
55762        Moved some GTK specific code from a ifdef-endif region to
55763        AccessibilityObjectAtk.cpp
55764        * accessibility/AccessibilityObject.h:
55765        * accessibility/gtk/AccessibilityObjectAtk.cpp:
55766        (WebCore::AccessibilityObject::getLengthForTextRange): New.
55767        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
55768        (webkit_accessible_text_remove_selection): Implemented following
55769        the lead of GAIL's implementation of the AtkText interface.
55770        (webkit_accessible_text_set_selection): Implemented following
55771        the lead of GAIL's implementation of the AtkText interface.
55772        (webkit_accessible_text_set_caret_offset): Changed to directly use
55773        visiblePositionRangeForRange now that there's no longer a problem
55774        with that, as it was in the past (only worked for text controls).
55775
557762010-08-27  Kenneth Rohde Christiansen  <kenneth@webkit.org>
55777
55778        Reviewed by Antti Koivisto.
55779
55780        Update support for the viewport meta tag algorithm, to
55781        match the following draft spec:
55782
55783        http://people.opera.com/rune/TR/ED-css-viewport-20100806/
55784
55785        Add common handling of viewport meta tag based on new Opera spec
55786        https://bugs.webkit.org/show_bug.cgi?id=44201
55787
55788        Tests: fast/viewport/viewport-1.html
55789               fast/viewport/viewport-10.html
55790               fast/viewport/viewport-100.html
55791               fast/viewport/viewport-101.html
55792               fast/viewport/viewport-102.html
55793               fast/viewport/viewport-103.html
55794               fast/viewport/viewport-104.html
55795               fast/viewport/viewport-105.html
55796               fast/viewport/viewport-106.html
55797               fast/viewport/viewport-107.html
55798               fast/viewport/viewport-108.html
55799               fast/viewport/viewport-109.html
55800               fast/viewport/viewport-11.html
55801               fast/viewport/viewport-110.html
55802               fast/viewport/viewport-111.html
55803               fast/viewport/viewport-112.html
55804               fast/viewport/viewport-113.html
55805               fast/viewport/viewport-114.html
55806               fast/viewport/viewport-115.html
55807               fast/viewport/viewport-116.html
55808               fast/viewport/viewport-117.html
55809               fast/viewport/viewport-118.html
55810               fast/viewport/viewport-119.html
55811               fast/viewport/viewport-12.html
55812               fast/viewport/viewport-120.html
55813               fast/viewport/viewport-121.html
55814               fast/viewport/viewport-122.html
55815               fast/viewport/viewport-123.html
55816               fast/viewport/viewport-124.html
55817               fast/viewport/viewport-125.html
55818               fast/viewport/viewport-126.html
55819               fast/viewport/viewport-127.html
55820               fast/viewport/viewport-13.html
55821               fast/viewport/viewport-14.html
55822               fast/viewport/viewport-15.html
55823               fast/viewport/viewport-16.html
55824               fast/viewport/viewport-17.html
55825               fast/viewport/viewport-18.html
55826               fast/viewport/viewport-19.html
55827               fast/viewport/viewport-2.html
55828               fast/viewport/viewport-20.html
55829               fast/viewport/viewport-21.html
55830               fast/viewport/viewport-22.html
55831               fast/viewport/viewport-23.html
55832               fast/viewport/viewport-24.html
55833               fast/viewport/viewport-25.html
55834               fast/viewport/viewport-26.html
55835               fast/viewport/viewport-27.html
55836               fast/viewport/viewport-28.html
55837               fast/viewport/viewport-29.html
55838               fast/viewport/viewport-3.html
55839               fast/viewport/viewport-30.html
55840               fast/viewport/viewport-31.html
55841               fast/viewport/viewport-32.html
55842               fast/viewport/viewport-33.html
55843               fast/viewport/viewport-34.html
55844               fast/viewport/viewport-35.html
55845               fast/viewport/viewport-36.html
55846               fast/viewport/viewport-37.html
55847               fast/viewport/viewport-38.html
55848               fast/viewport/viewport-39.html
55849               fast/viewport/viewport-4.html
55850               fast/viewport/viewport-40.html
55851               fast/viewport/viewport-41.html
55852               fast/viewport/viewport-42.html
55853               fast/viewport/viewport-43.html
55854               fast/viewport/viewport-44.html
55855               fast/viewport/viewport-45.html
55856               fast/viewport/viewport-46.html
55857               fast/viewport/viewport-47.html
55858               fast/viewport/viewport-48.html
55859               fast/viewport/viewport-49.html
55860               fast/viewport/viewport-5.html
55861               fast/viewport/viewport-50.html
55862               fast/viewport/viewport-51.html
55863               fast/viewport/viewport-52.html
55864               fast/viewport/viewport-53.html
55865               fast/viewport/viewport-54.html
55866               fast/viewport/viewport-55.html
55867               fast/viewport/viewport-56.html
55868               fast/viewport/viewport-57.html
55869               fast/viewport/viewport-58.html
55870               fast/viewport/viewport-59.html
55871               fast/viewport/viewport-6.html
55872               fast/viewport/viewport-60.html
55873               fast/viewport/viewport-61.html
55874               fast/viewport/viewport-62.html
55875               fast/viewport/viewport-63.html
55876               fast/viewport/viewport-64.html
55877               fast/viewport/viewport-65.html
55878               fast/viewport/viewport-66.html
55879               fast/viewport/viewport-67.html
55880               fast/viewport/viewport-68.html
55881               fast/viewport/viewport-69.html
55882               fast/viewport/viewport-7.html
55883               fast/viewport/viewport-70.html
55884               fast/viewport/viewport-71.html
55885               fast/viewport/viewport-72.html
55886               fast/viewport/viewport-73.html
55887               fast/viewport/viewport-74.html
55888               fast/viewport/viewport-75.html
55889               fast/viewport/viewport-76.html
55890               fast/viewport/viewport-77.html
55891               fast/viewport/viewport-78.html
55892               fast/viewport/viewport-79.html
55893               fast/viewport/viewport-8.html
55894               fast/viewport/viewport-80.html
55895               fast/viewport/viewport-81.html
55896               fast/viewport/viewport-82.html
55897               fast/viewport/viewport-83.html
55898               fast/viewport/viewport-84.html
55899               fast/viewport/viewport-85.html
55900               fast/viewport/viewport-86.html
55901               fast/viewport/viewport-87.html
55902               fast/viewport/viewport-88.html
55903               fast/viewport/viewport-9.html
55904               fast/viewport/viewport-90.html
55905
55906        * dom/ViewportArguments.cpp:
55907        (WebCore::findConfigurationForViewportData):
55908        (WebCore::findSizeValue):
55909        (WebCore::findScaleValue):
55910        (WebCore::findUserScalableValue):
55911        (WebCore::findTargetDensityDPIValue):
55912        (WebCore::setViewportFeature):
55913        * dom/ViewportArguments.h:
55914        (WebCore::ViewportArguments::):
55915        (WebCore::ViewportArguments::ViewportArguments):
55916        (WebCore::ViewportArguments::hasCustomArgument):
55917
559182010-09-13  Andreas Kling  <andreas.kling@nokia.com>
55919
55920        Reviewed by Kenneth Rohde Christiansen.
55921
55922        [Qt] Don't add empty strings to list of supported image MIME types
55923        https://bugs.webkit.org/show_bug.cgi?id=45643
55924
55925        After <http://trac.webkit.org/changeset/67355> getMIMETypeForExtension()
55926        returns an empty string instead of "application/octet-stream" for unsupported
55927        extensions. Don't add these to the list of supported types, and clean out
55928        the logic that removed "application/octet-stream" from supported types.
55929
55930        Fixes crash in initializeMIMETypeRegistry() due to inserting String() into
55931        a HashSet<String>.
55932
55933        * platform/MIMETypeRegistry.cpp:
55934        (WebCore::initializeSupportedImageMIMETypes):
55935        (WebCore::initializeSupportedImageMIMETypesForEncoding):
55936
559372010-09-13  Adam Barth  <abarth@webkit.org>
55938
55939        Attempted Qt build fix.
55940
55941        * html/parser/HTMLElementStack.cpp:
55942
559432010-09-13  Adam Barth  <abarth@webkit.org>
55944
55945        Reviewed by Eric Seidel.
55946
55947        Apply spec changes to InForeignContentMode
55948        https://bugs.webkit.org/show_bug.cgi?id=45636
55949
55950        Now breaking out of foreign content doesn't always bring you back to
55951        HTML.  If you have a foreign content element that can contain HTML, you
55952        just get brought back to that element.
55953
55954        * html/parser/HTMLElementStack.cpp:
55955        (WebCore::HTMLNames::isForeignContentScopeMarker):
55956        (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker):
55957        * html/parser/HTMLElementStack.h:
55958        * html/parser/HTMLTreeBuilder.cpp:
55959        (WebCore::HTMLTreeBuilder::processStartTag):
55960        (WebCore::HTMLTreeBuilder::processEndOfFile):
55961
559622010-09-13  Adam Barth  <abarth@webkit.org>
55963
55964        Reviewed by Eric Seidel.
55965
55966        Convert notImplemented() to ASSERT_NOT_REACHED
55967        https://bugs.webkit.org/show_bug.cgi?id=45639
55968
55969        The reason we never implemented this state is because it's not actually
55970        reachable.
55971
55972        * html/parser/HTMLTreeBuilder.cpp:
55973        (WebCore::HTMLTreeBuilder::processStartTag):
55974
559752010-09-13  Patrick Gansterer  <paroga@paroga.com>
55976
55977        Reviewed by Kenneth Rohde Christiansen.
55978
55979        [WINCE] Buildfix for ScrollAnimatorWin
55980        https://bugs.webkit.org/show_bug.cgi?id=45595
55981
55982        Use fabs() instead of abs().
55983
55984        * platform/ScrollAnimatorWin.cpp:
55985        (WebCore::ScrollAnimatorWin::scroll):
55986        (WebCore::ScrollAnimatorWin::animateScroll):
55987
559882010-09-13  Adam Barth  <abarth@webkit.org>
55989
55990        Reviewed by Eric Seidel.
55991
55992        Remove fixed FIXME
55993        https://bugs.webkit.org/show_bug.cgi?id=45637
55994
55995        The spec made assertions that were false.  Hixie fixed the spec by
55996        removing the assertions.  There's no need to keep these FIXMEs in the
55997        code.
55998
55999        * html/parser/HTMLTreeBuilder.cpp:
56000        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
56001
560022010-09-12  Adam Barth  <abarth@webkit.org>
56003
56004        Reviewed by Eric Seidel.
56005
56006        Remove FIXME now that the HTML5 spec has been updated
56007        https://bugs.webkit.org/show_bug.cgi?id=45634
56008
56009        The spec changed to say what we do here so this FIXME isn't needed
56010        anymore.
56011
56012        Tests: fast/parser/form-pointer-1.html
56013               fast/parser/form-pointer-2.html
56014               fast/parser/form-pointer-3.html
56015               fast/parser/form-pointer-4.html
56016
56017        * html/parser/HTMLTreeBuilder.cpp:
56018        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
56019
560202010-09-12  Robin Qiu  <robin.qiu@torchmobile.com.cn>
56021
56022        Reviewed by Antonio Gomes.
56023
56024        https://bugs.webkit.org/show_bug.cgi?id=18768
56025        Fixed a bug in scroll flow. When we don't have scrollbars, we need to
56026        repaintFixedElementsAfterScrolling(), sendScrollEvent() ... as well as
56027        scrollContents();
56028
56029        Tests: scrollbars/scrollevent-iframe-no-scrolling-wheel.html
56030               scrollbars/scrollevent-iframe-no-scrolling.html
56031
56032        * page/FrameView.cpp:
56033        (WebCore::FrameView::valueChanged): Added.
56034        * page/FrameView.h: Added a new method.
56035        * platform/ScrollView.cpp:
56036        (WebCore::ScrollView::valueChanged): Added.
56037        (WebCore::ScrollView::updateScrollbars):
56038        * platform/ScrollView.h: Added a new method.
56039
560402010-09-10  MORITA Hajime  <morrita@google.com>
56041
56042        Reviewed by Tony Chang.
56043
56044        [Chromium] Implement textInputController.hasSpellingMarker() for Chromium
56045        https://bugs.webkit.org/show_bug.cgi?id=45441
56046        
56047        Added an  API for testing marker state. 
56048        We locate this here instead of DRT for sharing the logic between
56049        multiple ports.
56050
56051        * WebCore.exp.in:
56052        * editing/Editor.cpp:
56053        (WebCore::Editor::selectionStartHasSpellingMarkerFor):
56054        * editing/Editor.h:
56055
560562010-09-12  Adam Barth  <abarth@webkit.org>
56057
56058        Reviewed by Eric Seidel.
56059
56060        Adoption agency should use takeAllChildrenFrom
56061        https://bugs.webkit.org/show_bug.cgi?id=45570
56062
56063        Before this patch, we were using an unsafe pattern of walking the
56064        sibling list without grabbing references.  Instead, we should use the
56065        shiny new takeAllChildrenFrom method that shoves the children into a
56066        vector first.  Also, update takeAllChildrenFrom to handle the case
56067        where the old parent is attached.
56068
56069        * dom/ContainerNode.cpp:
56070        (WebCore::ContainerNode::takeAllChildrenFrom):
56071        * html/parser/HTMLTreeBuilder.cpp:
56072        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
56073        * html/parser/HTMLTreeBuilder.h:
56074
560752010-09-12  Adam Barth  <abarth@webkit.org>
56076
56077        Reviewed by Eric Seidel.
56078
56079        isParsingFragment assert hit in new treebuilder
56080        https://bugs.webkit.org/show_bug.cgi?id=45621
56081
56082        Update our list of special tags to match the spec.
56083
56084        * html/parser/HTMLTreeBuilder.cpp:
56085
560862010-09-12  Robert Hogan  <robert@webkit.org>
56087
56088        Reviewed by Andreas Kling.
56089
56090        [Qt] Fix http/tests/navigation/reload-subframe-object.html
56091
56092        We need to bring our use of getMimeTypeForPath() and
56093        getMimeTypeForExtension() into line with WebCore expectations.
56094
56095        We should use MIMETypeRegistry::getMIMETypeForExtension() for cases
56096        where an empty mimetype should be returned if no match is found, and
56097        MIMETypeRegistry::getMIMETypeForPath() for cases where
56098        'application/octet-stream' should be returned if no match is found.
56099
56100        Fixes http/tests/navigation/reload-subframe-object.html
56101
56102        Based on findings in webkit.org/b/31398 and webkit.org/b/15554.
56103
56104        https://bugs.webkit.org/show_bug.cgi?id=45613
56105
56106        * platform/network/qt/QNetworkReplyHandler.cpp:
56107        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
56108        * platform/qt/MIMETypeRegistryQt.cpp:
56109        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
56110
561112010-09-12  Dan Bernstein  <mitz@apple.com>
56112
56113        Reviewed by Adele Peterson.
56114
56115        Neglect unlikely hyphenation opportunities
56116        https://bugs.webkit.org/show_bug.cgi?id=45606
56117
56118        Avoid looking for hyphenation points in about 40% of the cases at the cost of missing about
56119        3% of the hyphenation opportunities.
56120
56121        * rendering/RenderBlockLineLayout.cpp:
56122        (WebCore::tryHyphenating): Bail out if the widest the prefix before the hyphen can be is no more
56123        than 5/4 the font size.
56124
561252010-09-12  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
56126
56127        Reviewed by Simon Hausmann.
56128
56129        [Qt] fix qt_webkit_version.pri install for in-Qt builds
56130
56131        Always add the target, even if building inside Qt - as opposed to the
56132        headers and libraries, there are no rules for that coming from
56133        qbase.pri.
56134
56135        Task-number: QTBUG-13306
56136
56137        * WebCore.pro:
56138
561392010-09-12  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
56140
56141        Reviewed by Simon Hausmann.
56142
56143        [Qt] Let QtWebKit inject itself into the qt configuration
56144
56145        i.e., don't explicitly deal with qt_webkit_version.pri outside of the
56146        webkit source directory.
56147
56148        Task-number: QTBUG-12379
56149
56150        * WebCore.pro:
56151
561522010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56153
56154        [Qt] Build fix.
56155
56156        * WebCore.pro: Re-add erroneously removed sources.
56157
561582010-09-12  Andreas Kling  <andreas.kling@nokia.com>
56159
56160        Reviewed by Kenneth Rohde Christiansen.
56161
56162        [Qt] Remove Path::closeSubpath() workaround for broken miter joins
56163        https://bugs.webkit.org/show_bug.cgi?id=45618
56164
56165        Removed Path::closeCanvasSubpath() and share the logic between Canvas and SVG
56166        paths. The problem was actually in Qt's path stroker and has been fixed for Qt 4.7.1.
56167
56168        * html/canvas/CanvasRenderingContext2D.cpp:
56169        (WebCore::CanvasRenderingContext2D::closePath):
56170        * platform/graphics/Path.h:
56171        * platform/graphics/qt/PathQt.cpp:
56172
561732010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56174
56175        Fix the Gtk and minimal builds.
56176
56177        * plugins/PluginView.cpp:
56178        (WebCore::PluginView::npObject): Correct the #ifdefs.
56179        (WebCore::PluginView::bindingInstance): Moved npErr variable
56180        into npObject() function where it is used.
56181
561822010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56183
56184        [Qt] Prospective build fix for minimal build.
56185
56186        * plugins/PluginView.cpp: Guard newly added function
56187        by ENABLE_NETSCAPE_PLUGIN feature.
56188        (WebCore::PluginView::npObject):
56189        * plugins/PluginView.h:
56190
561912010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56192
56193        Reviewed by Andreas Kling.
56194
56195        [Qt] Add support for binding QtWebKit to a QScriptEngine.
56196
56197        The ScriptController owns the V8 context, and this patch
56198        for the Qt build also gives it a QScriptEngine, that has
56199        been instructed to adopt the V8 context.
56200
56201        This is the enabler for the QObject bindings, used in
56202        the API and DRT.
56203
56204        * WebCore.pro:
56205        * bindings/v8/ScriptController.cpp: Include QScriptEngine
56206        for the Qt build, to let the ~ScriptController destructor
56207        find the QScriptEngine destructor (via OwnPtr).
56208        * bindings/v8/ScriptController.h: Declare getters.
56209        * bindings/v8/ScriptControllerQt.cpp: Added.
56210        (WebCore::ScriptController::qtScriptEngine): Implement
56211        engine adoption.
56212
562132010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56214
56215        Reviewed by Andreas Kling.
56216
56217        [Qt] Last bits and pieces for a V8 build.
56218
56219        When building with V8, get it from QtScript.
56220
56221        * WebCore.pro: Use QtScript, removed non-existant
56222        bridge files from the build.
56223
562242010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56225
56226        Reviewed by Andreas Kling.
56227
56228        [Qt] Add PlatformBridge for V8 build.
56229
56230        Add the minimalisting platform bridge with the two
56231        methods needed by NPV8Object.cpp.
56232
56233        * WebCore.pro:
56234        * platform/qt/PlatformBridge.h: Added.
56235        * platform/qt/PlatformBridgeQt.cpp: Added.
56236        (WebCore::PlatformBridge::popupsAllowed):
56237        (WebCore::PlatformBridge::pluginScriptableObject):
56238        * plugins/PluginView.cpp: Refactor the plugin object
56239        retrieval code into a separate function, called by
56240        bindingInstance() and PlatformBridge.
56241        (WebCore::PluginView::npObject):
56242        (WebCore::PluginView::bindingInstance):
56243        * plugins/PluginView.h:
56244
562452010-09-11  Jer Noble  <jer.noble@apple.com>
56246
56247        Reviewed by Eric Carlson.
56248
56249        http/tests/media/text-served-as-text.html failing on Windows (Debug+Release)
56250        https://bugs.webkit.org/show_bug.cgi?id=45603
56251
56252        Disable the eat/text components under Windows the same way as we do on the Mac.
56253
56254        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
56255        * platform/graphics/win/QTMovie.cpp:
56256        * platform/graphics/win/QTMovie.h:
56257
562582010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56259
56260        Reviewed by Andreas Kling.
56261
56262        Fix compilation of the V8 bindings on X11 with Qt.
56263
56264        This changes brings the file in sync with its copy in bridge/,
56265        adding additional conflicting X11 keywords to undef. This is
56266        a temporary fix until the file is removed altogether, which is
56267        tracked in https://bugs.webkit.org/show_bug.cgi?id=45617
56268
56269        * bindings/v8/npruntime_internal.h:
56270
562712010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56272
56273        Reviewed by Andreas Kling.
56274
56275        Fix compilation of the V8 bindings on X11 with Qt.
56276
56277        These headers include npruntime, which drag on X11Resources.h, which
56278        among other things #define's None and Boolean. Later on v8.h is included,
56279        which declares these in enums and therefore conflicts. npruntime_internal.h
56280        was introduced exactly to address this problem by including npruntime.h
56281        and undeff'ing the offending constants.
56282
56283        * bindings/v8/V8Helpers.h:
56284        * bindings/v8/V8NPObject.h:
56285        * bindings/v8/V8NPUtils.h:
56286
562872010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56288
56289        Gtk build fix.
56290
56291        Use false instead of False after
56292        http://trac.webkit.org/changeset/67323
56293
56294        * plugins/gtk/PluginViewGtk.cpp:
56295        (WebCore::PluginView::updatePluginWidget):
56296        (WebCore::PluginView::paint):
56297
562982010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56299
56300        Reviewed by Andreas Kling.
56301
56302        [Qt] Fix the compilation of V8Binding.cpp when compiling with Qt.
56303
56304        * bindings/v8/V8Binding.cpp:
56305        (WebCore::WebCoreStringResource::WebCoreStringResource): In this
56306        line an AtomicString should be converted to a WTF::String. The former
56307        has a conversion operator to the latter, to be able to call the
56308        WTF::String copy constructor. When compiling with Qt, then AtomicString
56309        also has a conversion operator to QString _and_ WTF::String has an
56310        implicit constructor that takes a QString. Therefore the compiler is
56311        confused and not sure which conversion to prefer, the one that isn't
56312        actually a conversion - going to WTF::String - or the conversion from
56313        AtomicString to QString and then constructing the WTF::String from
56314        a QString. To resolve this ambiguity we explicitly call the string()
56315        helper function on the AtomicString, which is equivalent to the
56316        operator WTF::String().
56317
563182010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56319
56320        Reviewed by Andreas Kling.
56321
56322        Fix the build without JSC.
56323
56324        Complement http://trac.webkit.org/changeset/59826 and
56325        add missing JSC guards.
56326
56327        * plugins/PluginView.cpp:
56328        (WebCore::PluginView::bindingInstance):
56329        (WebCore::PluginView::privateBrowsingStateChanged):
56330        * plugins/qt/PluginViewQt.cpp:
56331        (WebCore::PluginView::dispatchNPEvent):
56332        (WebCore::PluginView::setNPWindowIfNeeded):
56333        (WebCore::PluginView::platformStart):
56334
563352010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56336
56337        Reviewed by Andreas Kling.
56338
56339        Fix compilation with V8 and XPath enabled.
56340
56341        V8XPathNSResolver.cpp includes V8XPathNSResolver.h,
56342        which includes V8DOMWrapper.h as its first header.
56343        V8DOMWrapper.h then uses V8XPathNSResolver in an inline
56344        function, and gcc doesn't seem to like this, because
56345        at this point the type isn't known ("V8XPathNSResolver
56346        has not been declared"). Forward declaring the type
56347        doesn't help unfortunately: "incomplete type
56348        'WebCore::V8XPathNSResolver' used in nested name
56349        specifier".
56350
56351        To resolve this circular dependency, this patch moves
56352        the inline function into the .cpp file.
56353
56354        * bindings/v8/V8DOMWrapper.cpp:
56355        (WebCore::V8DOMWrapper::getXPathNSResolver):
56356        * bindings/v8/V8DOMWrapper.h:
56357
563582010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56359
56360        Reviewed by Andreas Kling.
56361
56362        [Qt][X11] Fix build with V8 against X11 headers.
56363
56364        Added "True" and "False" to the list of words
56365        we free from the X11 macro jail.
56366
56367        * bridge/npruntime_internal.h:
56368        * config.h: The V8 bindings end up indirectly pulling
56369        in X11 headers and they use True/False. There's no
56370        central header apart from this one, so include the
56371        x11 fixing header here for Qt/X11/V8.
56372        * plugins/qt/PluginViewQt.cpp:
56373        (WebCore::PluginView::paint): Use false instead of False
56374        since False isn't available anymore.
56375
563762010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56377
56378        Reviewed by Andreas Kling.
56379
56380        [Qt] Fix compilation with V8 and Qt.
56381
56382        Use WebKit's page cache for ScriptCachedFrameData.
56383
56384        * bindings/v8/ScriptCachedFrameData.h:
56385
563862010-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
56387
56388        Reviewed by Andreas Kling.
56389
56390        Fix compiler warning.
56391
56392        NPClass has 13 members, the last one (NPConstructFunctionPtr construct) wasn't
56393        initialized explicitly.
56394
56395        * bindings/v8/NPV8Object.cpp:
56396
563972010-09-12  Mario Sanchez Prada  <msanchez@igalia.com>
56398
56399        Reviewed by Martin Robinson.
56400
56401        [Gtk] get_n_selections and get_selection fail when selecting text across object boundaries
56402        https://bugs.webkit.org/show_bug.cgi?id=26991
56403
56404        Fix AtkText getNSelections() and getSelection() to work properly
56405
56406        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
56407        (selectionBelongsToObject): Check that both the selection intersects
56408        the node AND that the selection is not just "touching" one of the
56409        boundaries for the selected node. We want to check whether the
56410        node is actually inside the region, at least partially
56411        (getSelectionOffsetsForObject): New function to get the start and
56412        end offsets of a selection for a given accessible object.
56413        (webkit_accessible_text_get_selection): Return zero when both
56414        start and end offsets are equal, following the lead of GAIL.
56415
564162010-09-11  Adam Barth  <abarth@webkit.org>
56417
56418        Reviewed by Sam Weinig.
56419
56420        Make SecurityOrigin::canDisplay an instance function
56421        https://bugs.webkit.org/show_bug.cgi?id=45219
56422
56423        This function was secretly an instance function because callers needed
56424        to pass in a document (which owns a SecurityOrigin).  Only the
56425        FrameLoader actually needs the method to be static.
56426
56427        * WebCore.exp.in:
56428        * html/HTMLMediaElement.cpp:
56429        (WebCore::HTMLMediaElement::isSafeToLoadURL):
56430        * loader/Cache.cpp:
56431        (WebCore::Cache::requestResource):
56432            - Notice that DocLoader::doc() can never be 0.
56433        * loader/FrameLoader.cpp:
56434        (WebCore::FrameLoader::loadFrameRequest):
56435        * loader/PingLoader.cpp:
56436        (WebCore::PingLoader::loadImage):
56437        * loader/SubframeLoader.cpp:
56438        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
56439        (WebCore::SubframeLoader::createJavaAppletWidget):
56440        (WebCore::SubframeLoader::loadSubframe):
56441        (WebCore::SubframeLoader::loadPlugin):
56442        * loader/SubresourceLoader.cpp:
56443        (WebCore::SubresourceLoader::create):
56444        * page/SecurityOrigin.cpp:
56445        (WebCore::SecurityOrigin::canDisplay):
56446        (WebCore::SecurityOrigin::deprecatedCanDisplay):
56447        * page/SecurityOrigin.h:
56448        * plugins/PluginView.cpp:
56449        (WebCore::PluginView::load):
56450
564512010-09-11  Adam Barth  <abarth@webkit.org>
56452
56453        Reviewed by Sam Weinig.
56454
56455        Make SecurityOrigin::canDisplay an instance function
56456        https://bugs.webkit.org/show_bug.cgi?id=45219
56457
56458        This function was secretly an instance function because callers needed
56459        to pass in a document (which owns a SecurityOrigin).  Only the
56460        FrameLoader actually needs the method to be static.
56461
56462        * WebCore.exp.in:
56463        * html/HTMLMediaElement.cpp:
56464        (WebCore::HTMLMediaElement::isSafeToLoadURL):
56465        * loader/Cache.cpp:
56466        (WebCore::Cache::requestResource):
56467            - Notice that DocLoader::doc() can never be 0.
56468        * loader/FrameLoader.cpp:
56469        (WebCore::FrameLoader::loadFrameRequest):
56470        * loader/PingLoader.cpp:
56471        (WebCore::PingLoader::loadImage):
56472        * loader/SubframeLoader.cpp:
56473        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
56474        (WebCore::SubframeLoader::createJavaAppletWidget):
56475        (WebCore::SubframeLoader::loadSubframe):
56476        (WebCore::SubframeLoader::loadPlugin):
56477        * loader/SubresourceLoader.cpp:
56478        (WebCore::SubresourceLoader::create):
56479        * page/SecurityOrigin.cpp:
56480        (WebCore::SecurityOrigin::canDisplay):
56481        (WebCore::SecurityOrigin::deprecatedCanDisplay):
56482        * page/SecurityOrigin.h:
56483        * plugins/PluginView.cpp:
56484        (WebCore::PluginView::load):
56485
564862010-09-11  Simon Hausmann  <simon.hausmann@nokia.com>
56487
56488        Unreviewed.
56489
56490        [Qt] Trivial V8 build fix.
56491
56492        * WebCore.pri: Add storage, workers and css to the include paths for the
56493        JS code generator.
56494
564952010-09-11  Andreas Kling  <andreas.kling@nokia.com>
56496
56497        Reviewed by Simon Hausmann.
56498
56499        [Qt] V8 port: Fix "WTF::String::utf8" returns incomplete type WTF::CString
56500        https://bugs.webkit.org/show_bug.cgi?id=45157
56501
56502        Include CString.h where necessary. Chromium builds would get it from
56503        KURLGooglePrivate.h so this is only an issue for Qt + V8.
56504
56505        * bindings/v8/V8Proxy.cpp:
56506        * inspector/InspectorDebuggerAgent.cpp:
56507        * inspector/InspectorProfilerAgent.cpp:
56508        * plugins/PluginDatabase.cpp:
56509
565102010-09-11  Simon Hausmann  <simon.hausmann@nokia.com>
56511
56512        Reviewed by Andreas Kling.
56513
56514        [Qt] V8 port: webkit project files changes
56515        https://bugs.webkit.org/show_bug.cgi?id=45140
56516
56517        * WebCore.pro: Removed unecessary common.pri inclusion from earlier patch.
56518
565192010-09-03  Vlad Burlik  <volodimir.burlik@nokia.com>, Simon Hausmann  <simon.hausmann@nokia.com>
56520
56521        Reviewed by Andreas Kling.
56522
56523        [Qt] V8 port: webcore project files changes
56524        https://bugs.webkit.org/show_bug.cgi?id=45141
56525
56526        Modify webcore project files to include V8 javascript engine. By default disabled.
56527
56528        * WebCore.pri:
56529        * WebCore.pro:
56530        * features.pri:
56531
565322010-09-11  Andreas Kling  <andreas.kling@nokia.com>
56533
56534        Reviewed by Simon Hausmann.
56535
56536        Web Inspector: Include CString.h in generated files
56537
56538        This is necessary for generated code that uses the CString
56539        returned by String::utf8() (from generateBackendDispatcher)
56540
56541        Chromium builds already get CString.h from KURLGooglePrivate.h
56542        so this issue only occurs when building Qt against V8.
56543
56544        * inspector/CodeGeneratorInspector.pm:
56545
565462010-09-11  Adele Peterson  <adele@apple.com>
56547
56548        Reviewed by Sam Weinig.
56549
56550        Fix for https://bugs.webkit.org/show_bug.cgi?id=45587
56551        Move line clamp code to its own function.
56552
56553        * rendering/RenderFlexibleBox.cpp:
56554        (WebCore::RenderFlexibleBox::layoutVerticalBox):
56555        (WebCore::RenderFlexibleBox::applyLineClamp):
56556        * rendering/RenderFlexibleBox.h:
56557
565582010-09-11  Mihai Parparita  <mihaip@chromium.org>
56559
56560        Reviewed by Adam Barth.
56561
56562        URIs in styles created via innerHTML are not resolved against the document's base URI
56563        https://bugs.webkit.org/show_bug.cgi?id=45565
56564
56565        The dummy document used for fragment parsing created by 
56566        FragmentParsingContext should use the base URI of the fragment's
56567        document. Since (HTML)Document doesn't expose a setter for the base URI
56568        (and shouldn't), we allow it to be set by the constructor/create
56569        function.
56570        
56571        Also remove some obsolete code that references the legacy tree builder
56572        from HTMLElement that I happened to notice.
56573
56574        Test: fast/innerHTML/innerHTML-uri-resolution.html
56575
56576        * dom/Document.cpp:
56577        (WebCore::Document::Document):
56578        * dom/Document.h:
56579        * html/HTMLDocument.cpp:
56580        (WebCore::HTMLDocument::HTMLDocument):
56581        * html/HTMLDocument.h:
56582        (WebCore::HTMLDocument::create):
56583        * html/HTMLElement.cpp:
56584        (WebCore::createFragmentFromSource):
56585        (WebCore::HTMLElement::setInnerHTML):
56586        * html/parser/HTMLTreeBuilder.cpp:
56587        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
56588
565892010-09-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
56590
56591        Reviewed by Darin Adler.
56592
56593        Add NetworkingContext to avoid layer violations
56594        https://bugs.webkit.org/show_bug.cgi?id=42292
56595
56596        Activate NetworkingContext:
56597
56598        Since the ResourceHandle::create, ResourceHandle::start and
56599        ResourceHandle::loadResourceSynchronously API's were modified,
56600        having their Frame* parameter substituted by a NetworkingContext*,
56601        all implementations of them were also modified.
56602        This patch also modifies all functions that were calling the above
56603        ones.
56604
56605        * loader/FrameLoader.cpp:
56606        (WebCore::FrameLoader::loadResourceSynchronously):
56607        * loader/FrameLoader.h:
56608        * loader/MainResourceLoader.cpp:
56609        (WebCore::MainResourceLoader::loadNow):
56610        * loader/PingLoader.cpp:
56611        (WebCore::PingLoader::PingLoader):
56612        * loader/ResourceLoader.cpp:
56613        (WebCore::ResourceLoader::load):
56614        * loader/appcache/ApplicationCacheGroup.cpp:
56615        (WebCore::ApplicationCacheGroup::createResourceHandle):
56616        * loader/icon/IconFetcher.cpp:
56617        (WebCore::IconFetcher::loadEntry):
56618        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
56619        (webKitWebSrcStart):
56620        * platform/network/ResourceHandle.cpp:
56621        (WebCore::ResourceHandle::create):
56622        * platform/network/ResourceHandle.h:
56623        * platform/network/ResourceHandleInternal.h:
56624        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
56625        * platform/network/cf/ResourceHandleCFNet.cpp:
56626        (WebCore::ResourceHandle::start):
56627        (WebCore::ResourceHandle::loadResourceSynchronously):
56628        * platform/network/curl/ResourceHandleCurl.cpp:
56629        (WebCore::ResourceHandle::start):
56630        (WebCore::ResourceHandle::loadResourceSynchronously):
56631        * platform/network/mac/ResourceHandleMac.mm:
56632        (WebCore::ResourceHandle::start):
56633        (WebCore::ResourceHandle::loadResourceSynchronously):
56634        * platform/network/qt/QNetworkReplyHandler.cpp:
56635        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
56636        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
56637        (WebCore::QNetworkReplyHandler::start):
56638        * platform/network/qt/ResourceHandleQt.cpp:
56639        (WebCore::ResourceHandle::start):
56640        (WebCore::ResourceHandle::willLoadFromCache):
56641        (WebCore::ResourceHandle::loadResourceSynchronously):
56642        * platform/network/soup/ResourceHandleSoup.cpp:
56643        * platform/network/win/ResourceHandleWin.cpp:
56644        (WebCore::ResourceHandle::start):
56645
566462010-09-10  Jer Noble  <jer.noble@apple.com>
56647
56648        No review; build fix only.
56649
56650        <CoreGraphics/CGAffineTransform.h> isn't on the build bots either.  Wrap
56651        all references to m_movieTransform in #if USE(ACCELERATED_COMPOSITING) guards.
56652        
56653        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
56654        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
56655        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
56656        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
56657        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
56658
566592010-09-10  Jer Noble  <jer.noble@apple.com>
56660
56661        No review; build fix only.
56662
56663        <CoreGraphics/CGFloat.h> does not exist on the build bots.  Replace
56664        instances of CGFAbs() with abs().
56665
56666        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
56667        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
56668
566692010-09-10  Dan Bernstein  <mitz@apple.com>
56670
56671        Reviewed by Darin Adler.
56672
56673        <rdar://problem/8414282> Can’t dynamically change first-letter to/from floating
56674
56675        Test: fast/dynamic/first-letter-display-change.html
56676
56677        * rendering/RenderBlock.cpp:
56678        (WebCore::styleForFirstLetter): Factored this helper function out.
56679        (WebCore::RenderBlock::updateFirstLetter): Renamed variables so that the
56680        “update style” and “create new” branches use the same terminology. In the
56681        update case, if the style change requires a new renderer, handle it.
56682        * rendering/RenderTextFragment.h:
56683        (WebCore::toRenderTextFragment): Added.
56684
566852010-09-10  Sam Weinig  <sam@webkit.org>
56686
56687        Reviewed by Darin Adler.
56688
56689        Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
56690        Precursor to <rdar://problem/7660657>
56691        https://bugs.webkit.org/show_bug.cgi?id=45522
56692
56693        * GNUmakefile.am:
56694        * WebCore.exp.in:
56695        * WebCore.gypi:
56696        * WebCore.pro:
56697        * WebCore.vcproj/WebCore.vcproj:
56698        * WebCore.xcodeproj/project.pbxproj:
56699        Remove ZoomMode.h
56700
56701        * css/CSSStyleSelector.cpp:
56702        (WebCore::CSSStyleSelector::applyProperty):
56703        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
56704        Remove uses of shouldApplyTextZoom(), it had turned into just a compare to 1.0f.
56705
56706        * html/HTMLBodyElement.cpp:
56707        (WebCore::adjustForZoom):
56708        (WebCore::HTMLBodyElement::setScrollLeft):
56709        (WebCore::HTMLBodyElement::setScrollTop):
56710        Convert these to use the explicit pageZoomFactor() function, it made no sense for text zoom
56711        anyway.
56712
56713        * page/Frame.h:
56714        Remove include of ZoomMode.h
56715
56716        * page/FrameView.cpp:
56717        (WebCore::parentPageZoomFactor):
56718        (WebCore::parentTextZoomFactor):
56719        (WebCore::FrameView::FrameView):
56720        (WebCore::FrameView::setPageZoomFactor):
56721        (WebCore::FrameView::setTextZoomFactor):
56722        (WebCore::FrameView::setPageAndTextZoomFactors):
56723        * page/FrameView.h:
56724        (WebCore::FrameView::pageZoomFactor):
56725        (WebCore::FrameView::textZoomFactor):
56726        Change FrameView to store two values for zoom, one for page zoom and one for text zoom.
56727
56728        * page/Settings.cpp:
56729        (WebCore::Settings::Settings):
56730        * page/Settings.h:
56731        Removed zoom mode.
56732
56733        * page/ZoomMode.h: Removed.
56734
56735        * rendering/RenderView.cpp:
56736        (WebCore::RenderView::zoomFactor):
56737        Remove now unnecessary call to shouldApplyPageZoom since it will be 1 if it should
56738        be ignored.
56739
56740        * svg/SVGSVGElement.cpp:
56741        (WebCore::SVGSVGElement::setCurrentScale):
56742        Use explicit setPageZoomFactor function.
56743
567442010-09-10  Ryuan Choi  <ryuan.choi@samsung.com>
56745
56746        Unreviewed build fix for EFL.
56747
56748        [EFL] REGRESSION(67167) build break because of newly added JSBindingState.cpp
56749        https://bugs.webkit.org/show_bug.cgi?id=45537
56750
56751        * CMakeLists.txt:
56752
567532010-09-10  Darin Adler  <darin@apple.com>
56754
56755        Reviewed by Sam Weinig.
56756
56757        Move some Dashboard stuff from WebCore to WebKit along with a bit more FrameMac cleanup
56758        https://bugs.webkit.org/show_bug.cgi?id=45582
56759
56760        * WebCore.exp.in: Updated.
56761
56762        * WebCore.xcodeproj/project.pbxproj: Removed WebDashboardRegion.h/m.
56763        * page/mac/WebDashboardRegion.h: Removed.
56764        * page/mac/WebDashboardRegion.m: Removed.
56765
56766        * page/Frame.h: Removed unneeded #if. Removed dashboardRegionsDictionary function, now
56767        handled in WebKit. Removed searchForNSLabelsAboveCell function, which had become dead code.
56768        * page/mac/FrameMac.mm: Ditto. Also tweaked a place that said "int unsigned".
56769
567702010-09-10  Peter Kasting  <pkasting@google.com>
56771
56772        Reviewed by Darin Adler.
56773
56774        Make middle clicks not fire DOM onclick events.
56775        https://bugs.webkit.org/show_bug.cgi?id=22382
56776
56777        * html/HTMLAnchorElement.cpp: Explicitly include middle-clicks in the
56778        computation of what constitutes a link click, since they're no longer
56779        implicitly included.
56780        (WebCore::isLinkClick):
56781        * html/HTMLInputElement.cpp: Removed unneeded checks that click events
56782        are coming from the left mouse button, since they all are now.
56783        (WebCore::HTMLInputElement::preDispatchEventHandler):
56784        (WebCore::HTMLInputElement::postDispatchEventHandler):
56785        (WebCore::HTMLInputElement::defaultEventHandler):
56786        * page/EventHandler.cpp: Changed logic to send a click event only for
56787        the left button.
56788        (WebCore::EventHandler::handleMouseDoubleClickEvent):
56789        (WebCore::EventHandler::handleMouseReleaseEvent):
56790
567912010-09-10  Adam Barth  <abarth@webkit.org>
56792
56793        Attempted build fix for Qt Minimal.
56794
56795        * dom/Element.cpp:
56796        (WebCore::Element::getBoundingClientRect):
56797
567982010-09-10  Dan Bernstein  <mitz@apple.com>
56799
56800        Reviewed by Anders Carlsson.
56801
56802        Pseudostyle resolution corrupts cached child index values
56803        https://bugs.webkit.org/show_bug.cgi?id=45574
56804
56805        Covered by fast/dom/firstline-fixed-crash.html and fast/dom/firstletter-tablecell-crash.html.
56806
56807        RenderBlock::updateFirstLetter() calls getCachedPseudoStyle() passing as the parent style the
56808        style of the parent of the first letter, which is not always the parent of the element for
56809        which we are getting :first-letter style. As a result, style resolution caches childIndex values
56810        in the wrong element’s style.
56811
56812        * css/CSSStyleSelector.cpp:
56813        (WebCore::CSSStyleSelector::pseudoStyleForElement): Create the new style and inherit from
56814        the parent style before matching rules, to avoid corrupting the parent style itself.
56815        (WebCore::CSSStyleSelector::checkSelector): Always pass the element’s parent style as
56816        the parent style here.
56817        * rendering/RenderBlock.cpp:
56818        (WebCore::RenderBlock::updateFirstLetter): Removed the null check that was added
56819        in r67183.
56820        * rendering/RenderBlockLineLayout.cpp:
56821        (WebCore::RenderBlock::findNextLineBreak): Removed the null check that was added
56822        in r67184.
56823
568242010-09-10  Jer Noble  <jer.noble@apple.com>
56825
56826        Reviewed by Simon Fraser.
56827
56828        Movies with track or movie matrices don't display in <video> elements (Safari 5/Windows)
56829        https://bugs.webkit.org/show_bug.cgi?id=45333
56830        rdar://problem/81333126
56831        
56832        QuickTime will refuse to decode video frames for movies whose movie and track matrices 
56833        are non-identity.  To work around this problem, extract the movie and track matrices 
56834        from the movie, and set that matrix on the video layer instead.
56835
56836        * WebCore.vcproj/QTMovieWin.vcproj:
56837        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
56838        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayoutClient::LayoutClient): Added.
56839        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayoutClient::layoutSublayersOfLayer):
56840            Layout the video layer according to its superlayer's size.
56841        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
56842        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer):
56843        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
56844            Apply the m_movieTransform to the size reported by QTMovie.
56845        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
56846            Calculate m_movieTransform and reset the movie and track matrices in the movie.
56847        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
56848            Create two nested layers instead of one.
56849        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
56850            Make sure to remove m_qtVideoLayer from any superlayer before dereferencing it.
56851        * platform/graphics/win/QTMovie.cpp:
56852        (QTMovie::videoTracks): Added.
56853        (QTMovie::getTransform): Added.
56854        (QTMovie::setTransform): Added.
56855        (QTMovie::resetTransform): Added.
56856        * platform/graphics/win/QTMovie.h:
56857        * platform/graphics/win/QTTrack.cpp: Added.
56858        * platform/graphics/win/QTTrack.h: Added.
56859        * platform/graphics/win/WKCACFLayer.cpp:
56860        (WebCore::WKCACFLayer::setBounds): Call setNeedsLayout() if a layoutClient is present.
56861        (WebCore::WKCACFLayer::setFrame): Call setNeedsLayout() if a layoutClient is present.
56862
568632010-09-10  Jer Noble  <jer.noble@apple.com>
56864
56865        No review; build fix only.
56866
56867        Touch mediaControlsQuickTime in order to trigger the UserAgentStyleSheet.h to be rebuilt.
56868
56869        * css/mediaControlsQuickTime.css:
56870        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
56871
568722010-09-10  Adam Barth  <abarth@webkit.org>
56873
56874        Reviewed by Darin Fisher.
56875
56876        Move code from WebKit-layer to DocumentLoader
56877        https://bugs.webkit.org/show_bug.cgi?id=45569
56878
56879        There's a bunch of code that's copy/pasted (poorly) across all the
56880        ports that really belongs in WebCore.  This patch moves that logic into
56881        DocumentLoader.  This patch is a step on the path to having
56882        DocumentLoader own DocumentWriter.
56883
56884        * WebCore.exp.in:
56885        * loader/DocumentLoader.cpp:
56886        (WebCore::DocumentLoader::commitData):
56887        * loader/DocumentLoader.h:
56888        * loader/FrameLoader.cpp:
56889        (WebCore::FrameLoader::finishedLoadingDocument):
56890
568912010-09-10  Cosmin Truta  <ctruta@chromium.org>
56892
56893        Reviewed by Nikolas Zimmermann.
56894
56895        getBoundingClientRect Broken for SVG Elements
56896        https://bugs.webkit.org/show_bug.cgi?id=42815
56897
56898        Use getBBox to retrieve the bounding rectangle for SVG elements.
56899
56900        Test: svg/dom/getBoundingClientRect.xhtml
56901
56902        * dom/Element.cpp:
56903        (Element::getBoundingClientRect):
56904
569052010-09-09  Jer Noble  <jer.noble@apple.com>
56906
56907        Reviewed by Eric Carlson.
56908
56909        Adopt shared control drawing for <video> controls on Windows
56910        https://bugs.webkit.org/show_bug.cgi?id=45490
56911        
56912        * DerivedSources.make: Remove the OS check around mediaControlsQuickTime.css.
56913        * rendering/RenderMediaControls.cpp:
56914        (WebCore::determineState): Use WKMediaControllerThemeState flags instead of SafariTheme ones.
56915        (WebCore::getUnzoomedRectAndAdjustCurrentContext): Added. Copied verbatim from RenderMediaMac.mm.
56916        (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): Use wkMeasureMediaUIPart to adjust the thumb size.
56917        (WebCore::RenderMediaControls::paintMediaControlsPart): Use wkDrawMediaUIPart instead of paintThemePart.
56918        (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Added. Copied verbatim from RenderMediaMac.mm.
56919        * rendering/RenderMediaControls.h:
56920        * rendering/RenderThemeWin.cpp:
56921        (WebCore::RenderThemeWin::adjustSliderThumbSize): Adjust both sliders and volume sliders.
56922        (WebCore::RenderThemeWin::extraMediaControlsStyleSheet): Added. Returns the mediaControlsQuickTime sheet.
56923        (WebCore::RenderThemeWin::paintMediaRewindButton): Added. Pass through to RenderMediaControls.
56924        (WebCore::RenderThemeWin::paintMediaControlsBackground): Added. Pass through to RenderMediaControls.
56925        (WebCore::RenderThemeWin::paintMediaVolumeSliderContainer): Added. Pass through to RenderMediaControls.
56926        (WebCore::RenderThemeWin::paintMediaVolumeSliderTrack): Added. Pass through to RenderMediaControls.
56927        (WebCore::RenderThemeWin::paintMediaVolumeSliderThumb): Added.  Pass through to RenderMediaControls.
56928        (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton): Added. Pass through to RenderMediaControls.
56929        * rendering/RenderThemeWin.h:
56930
569312010-09-10  Peter Kasting  <pkasting@google.com>
56932
56933        Reviewed by Darin Adler.
56934
56935        Cleanup and simplification in advance of making middle clicks not send a
56936        click event.
56937        https://bugs.webkit.org/show_bug.cgi?id=22382
56938
56939        * editing/DeleteButton.cpp:
56940        (WebCore::DeleteButton::defaultEventHandler): Removed unneeded code to
56941        check if the event is a MouseEvent. Any click event will do.
56942        * html/HTMLAnchorElement.cpp:
56943        (WebCore::appendServerMapMousePosition): Added. Factors out the
56944        modifications to the URL to add the mouse position to make the default
56945        event handler function easier to read.
56946        (WebCore::HTMLAnchorElement::defaultEventHandler): Reorganized to make
56947        the enter key logic separate from the link clicking logic and simplify
56948        the function.  This makes minor functional changes like not calling
56949        FrameLoader::urlSelected() for fake "keydown" events constructed from
56950        JavaScript.
56951        (WebCore::HTMLAnchorElement::isLiveLink): Refactored to use new shared
56952        implementation in treatLinkAsLiveForEventType().
56953        (WebCore::eventType): Factors out event type calculation (for
56954        treatLinkAsLiveForEventType()) from the default event handler to make it
56955        easier to read.
56956        (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
56957        Implementation of the portions of isLiveLink() that are common with the
56958        checks defaultEventHandler() wants to do.
56959        (WebCore::isEnterKeyKeydownEvent): Added. Shared by the default
56960        event handlers for all three anchor elements.
56961        (WebCore::isMiddleMouseButtonEvent): Added. Shared by the isLinkClick
56962        function below and some code in SVG. Later we can make this private to
56963        this source file once we remove the unneeded SVG code.
56964        (WebCore::isLinkClick): Added. Shared by the default event handlers for
56965        all three anchor elements.
56966        (WebCore::handleLinkClick): Ditto.
56967        * html/HTMLAnchorElement.h: Added the new functions.
56968        * svg/SVGAElement.cpp:
56969        (WebCore::SVGAElement::defaultEventHandler): Removed lots of unneeded
56970        logic and streamlined the code to more closely match the
56971        HTMLAnchorElement code and share functions with it.
56972        * wml/WMLAElement.cpp:
56973        (WebCore::WMLAElement::defaultEventHandler): Ditto.
56974
569752010-09-10  Tony Gentilcore  <tonyg@chromium.org>
56976
56977        Reviewed by Eric Seidel.
56978
56979        Implement HTML5 definition of script for-event neutering
56980        https://bugs.webkit.org/show_bug.cgi?id=45493
56981
56982        * dom/ScriptElement.cpp:
56983        (WebCore::ScriptElementData::shouldExecuteAsJavaScript): Same behavior, but reads more like the spec. Removed obsolete comments about supporting for-event.
56984        * html/parser/HTMLScriptRunner.cpp:
56985        (WebCore::HTMLScriptRunner::executeScript): Moved to runScript.
56986        (WebCore::HTMLScriptRunner::runScript): Checking shouldExecuteAsJavaScript() here means that external scripts which fail the check will never be requested.
56987
569882010-09-10  Nat Duca  <nduca@chromium.org>
56989
56990        Reviewed by Darin Fisher.
56991
56992        [chromium] Accelerated Compositing: screen garbage when scrolling
56993        https://bugs.webkit.org/show_bug.cgi?id=45092
56994
56995        Split LayerRenderChromium::drawLayers into several different
56996        functions, responsible for preparing the backbuffer, updating the
56997        root texture, compositing and performing the final
56998        swapbuffers. This are then used by the new
56999        WebViewImpl::composite rendering path.
57000
57001        * platform/graphics/chromium/LayerChromium.cpp:
57002        (WebCore::LayerChromium::setBounds):
57003        (WebCore::LayerChromium::setFrame):
57004        (WebCore::LayerChromium::setNeedsDisplay):
57005        (WebCore::LayerChromium::resetNeedsDisplay):
57006        * platform/graphics/chromium/LayerChromium.h:
57007        (WebCore::LayerChromium::dirtyRect):
57008        * platform/graphics/chromium/LayerRendererChromium.cpp:
57009        (WebCore::LayerRendererChromium::prepareToDrawLayers):
57010        (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
57011        (WebCore::LayerRendererChromium::drawLayers):
57012        (WebCore::LayerRendererChromium::present):
57013        * platform/graphics/chromium/LayerRendererChromium.h:
57014
570152010-09-10  David Holloway  <dhollowa@chromium.org>
57016
57017        Reviewed by Adam Barth.
57018
57019        Replace WebCore::HTMLFormElement::submissionTrigger with WebCore::HTMLFormElement::submittedByUserGesture.
57020        Chromium AutoFill feature semantics changed with respect to what we mean by "user submitted" form.  A
57021        more accurate measure of the user manually submitting a form is via user gesture.
57022        https://bugs.webkit.org/show_bug.cgi?id=45128
57023
57024        No new tests as this is only used by the Chromium WebKit API.
57025
57026        * html/HTMLFormElement.cpp:
57027        (WebCore::HTMLFormElement::HTMLFormElement):
57028        (WebCore::HTMLFormElement::prepareSubmit):
57029        (WebCore::HTMLFormElement::submit):
57030        (WebCore::HTMLFormElement::submittedByUserGesture):
57031        * html/HTMLFormElement.h:
57032
570332010-09-10  Adam Barth  <abarth@webkit.org>
57034
57035        Reviewed by Eric Seidel.
57036
57037        Remove mention of "part" from Document.cpp
57038        https://bugs.webkit.org/show_bug.cgi?id=45566
57039
57040        This is an old KHTML name that's lingering around.
57041
57042        * dom/Document.cpp:
57043        (WebCore::Document::parentDocument):
57044
570452010-09-09  Darin Adler  <darin@apple.com>
57046
57047        Reviewed by Adam Barth.
57048
57049        Move functions from Frame to SelectionController as planned
57050        https://bugs.webkit.org/show_bug.cgi?id=45508
57051
57052        Also removed Frame::dragCaretController since it just called Page::dragCaretController.
57053
57054        * editing/SelectionController.cpp:
57055        (WebCore::SelectionController::setSelection):
57056        (WebCore::SelectionController::modify):
57057        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
57058        (WebCore::SelectionController::selectAll):
57059        (WebCore::SelectionController::focusedOrActiveStateChanged):
57060        (WebCore::SelectionController::notifyRendererOfSelectionChange):
57061        (WebCore::isFrameElement):
57062        (WebCore::SelectionController::setFocusedNodeIfNeeded):
57063        (WebCore::SelectionController::paintDragCaret):
57064        (WebCore::SelectionController::shouldDeleteSelection):
57065        (WebCore::SelectionController::selectionBounds):
57066        (WebCore::SelectionController::selectionTextRects):
57067        (WebCore::scanForForm):
57068        (WebCore::SelectionController::currentForm):
57069        (WebCore::SelectionController::revealSelection):
57070        (WebCore::SelectionController::setSelectionFromNone):
57071        (WebCore::SelectionController::shouldChangeSelection):
57072        * editing/SelectionController.h:
57073        Moved functions here from Frame.
57074
57075        * page/Frame.cpp:
57076        * page/Frame.h:
57077        Moved functions to SelectionController.
57078        Reorganized header to be easier to read and a bit more logical.
57079
57080        * WebCore.exp.in: Updated.
57081
57082        * dom/Document.cpp:
57083        (WebCore::Document::nodeChildrenWillBeRemoved):
57084        (WebCore::Document::nodeWillBeRemoved):
57085        Call Page::dragCaretController directly.
57086
57087        * dom/Element.cpp:
57088        (WebCore::Element::updateFocusAppearance):
57089        * dom/InputElement.cpp:
57090        (WebCore::InputElement::updateFocusAppearance):
57091        * editing/ApplyStyleCommand.cpp:
57092        (WebCore::ApplyStyleCommand::editingStyleAtPosition):
57093        * editing/DeleteSelectionCommand.cpp:
57094        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
57095        * editing/Editor.cpp:
57096        (WebCore::Editor::canSmartCopyOrDelete):
57097        (WebCore::Editor::textDirectionForSelection):
57098        (WebCore::Editor::appliedEditing):
57099        (WebCore::Editor::insertTextWithoutSendingTextEvent):
57100        (WebCore::Editor::advanceToNextMisspelling):
57101        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
57102        (WebCore::Editor::revealSelectionAfterEditingOperation):
57103        (WebCore::Editor::transpose):
57104        (WebCore::Editor::changeSelectionAfterCommand):
57105        (WebCore::Editor::computeAndSetTypingStyle):
57106        (WebCore::Editor::selectionComputedStyle):
57107        (WebCore::Editor::styleForSelectionStart):
57108        (WebCore::Editor::findString):
57109        * editing/EditorCommand.cpp:
57110        (WebCore::executeDelete):
57111        * editing/InsertLineBreakCommand.cpp:
57112        (WebCore::InsertLineBreakCommand::doApply):
57113        * editing/InsertTextCommand.cpp:
57114        (WebCore::InsertTextCommand::input):
57115        * editing/RemoveFormatCommand.cpp:
57116        (WebCore::RemoveFormatCommand::doApply):
57117        * editing/ReplaceSelectionCommand.cpp:
57118        (WebCore::ReplaceSelectionCommand::doApply):
57119        * editing/TypingCommand.cpp:
57120        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
57121        (WebCore::TypingCommand::deleteKeyPressed):
57122        (WebCore::TypingCommand::forwardDeleteKeyPressed):
57123        * html/HTMLTextAreaElement.cpp:
57124        (WebCore::HTMLTextAreaElement::updateFocusAppearance):
57125        * page/ContextMenuController.cpp:
57126        (WebCore::ContextMenuController::contextMenuItemSelected):
57127        * page/DragController.cpp:
57128        (WebCore::DragController::concludeEditDrag):
57129        (WebCore::dragLocForSelectionDrag):
57130        * page/EventHandler.cpp:
57131        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
57132        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
57133        (WebCore::EventHandler::handleMousePressEventTripleClick):
57134        (WebCore::EventHandler::handleMousePressEventSingleClick):
57135        (WebCore::EventHandler::updateSelectionForMouseDrag):
57136        (WebCore::EventHandler::handleMouseReleaseEvent):
57137        * page/FocusController.cpp:
57138        (WebCore::FocusController::advanceFocusInDocumentOrder):
57139        * page/chromium/EventHandlerChromium.cpp:
57140        (WebCore::EventHandler::passMousePressEventToSubframe):
57141        * page/chromium/FrameChromium.cpp:
57142        (WebCore::Frame::dragImageForSelection):
57143        * page/mac/FrameMac.mm:
57144        (WebCore::Frame::selectionImage):
57145        * platform/mac/ClipboardMac.mm:
57146        (WebCore::ClipboardMac::writeRange):
57147        * rendering/RenderBlock.cpp:
57148        (WebCore::RenderBlock::paintCaret):
57149        Call functions on selection().
57150
571512010-09-10  Justin Schuh  <jschuh@chromium.org>
57152
57153        Reviewed by Darin Adler.
57154
57155        SVGGElement::rendererIsNeeded should return false when parent isn't SVG
57156        https://bugs.webkit.org/show_bug.cgi?id=45562
57157
57158        Test: svg/custom/g-outside-svg.html
57159
57160        * svg/SVGGElement.cpp:
57161        (WebCore::SVGGElement::rendererIsNeeded):
57162        * svg/SVGGElement.h:
57163
571642010-09-10  Adam Barth  <abarth@webkit.org>
57165
57166        Reviewed by Darin Adler.
57167
57168        REGRESSION (HTML Parser): CNN's Money site is not formatted correctly with AdBlock installed
57169        https://bugs.webkit.org/show_bug.cgi?id=41371
57170
57171        Drop support for closing comments with "-- >".  This was an attempt to
57172        be more IE-like in comment parsing, but it turns out to cause problems
57173        for some high-profile sites.  Firefox 4 is dropping support as well.
57174        We expect the spec to change soon too.
57175
57176        * html/parser/HTMLTokenizer.cpp:
57177        (WebCore::HTMLTokenizer::nextToken):
57178        * html/parser/HTMLTokenizer.h:
57179
571802010-09-10  Chris Marrin  <cmarrin@apple.com>
57181
57182        Unreviewed.
57183
57184        Adding file that should have been in http://trac.webkit.org/changeset/67226 but 
57185        I forgot to svn add.
57186        
57187        * platform/graphics/opengl: Added.
57188        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
57189
571902010-09-10  Paul Sawaya  <psawaya@apple.com>
57191
57192        Reviewed by Chris Marrin.
57193
57194        Refactored non-Mac specific code into GraphicsContext3DOpenGL.
57195        
57196        Moving this file into platform/graphics/opengl and only building on Mac for now.
57197        
57198        https://bugs.webkit.org/show_bug.cgi?id=30625
57199
57200        * WebCore.xcodeproj/project.pbxproj:
57201        * platform/graphics/mac/GraphicsContext3DMac.mm:
57202        (WebCore::GraphicsContext3D::makeContextCurrent):
57203        (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
57204        * platform/graphics/opengl: Added.
57205        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
57206        (WebCore::GraphicsContext3D::prepareTexture):
57207        (WebCore::GraphicsContext3D::activeTexture):
57208        (WebCore::GraphicsContext3D::attachShader):
57209        (WebCore::GraphicsContext3D::bindAttribLocation):
57210        (WebCore::GraphicsContext3D::bindBuffer):
57211        (WebCore::GraphicsContext3D::bindFramebuffer):
57212        (WebCore::GraphicsContext3D::bindRenderbuffer):
57213        (WebCore::GraphicsContext3D::bindTexture):
57214        (WebCore::GraphicsContext3D::blendColor):
57215        (WebCore::GraphicsContext3D::blendEquation):
57216        (WebCore::GraphicsContext3D::blendEquationSeparate):
57217        (WebCore::GraphicsContext3D::blendFunc):
57218        (WebCore::GraphicsContext3D::blendFuncSeparate):
57219        (WebCore::GraphicsContext3D::bufferData):
57220        (WebCore::GraphicsContext3D::bufferSubData):
57221        (WebCore::GraphicsContext3D::checkFramebufferStatus):
57222        (WebCore::GraphicsContext3D::clearColor):
57223        (WebCore::GraphicsContext3D::clear):
57224        (WebCore::GraphicsContext3D::clearDepth):
57225        (WebCore::GraphicsContext3D::clearStencil):
57226        (WebCore::GraphicsContext3D::colorMask):
57227        (WebCore::GraphicsContext3D::compileShader):
57228        (WebCore::GraphicsContext3D::copyTexImage2D):
57229        (WebCore::GraphicsContext3D::copyTexSubImage2D):
57230        (WebCore::GraphicsContext3D::cullFace):
57231        (WebCore::GraphicsContext3D::depthFunc):
57232        (WebCore::GraphicsContext3D::depthMask):
57233        (WebCore::GraphicsContext3D::depthRange):
57234        (WebCore::GraphicsContext3D::detachShader):
57235        (WebCore::GraphicsContext3D::disable):
57236        (WebCore::GraphicsContext3D::disableVertexAttribArray):
57237        (WebCore::GraphicsContext3D::drawArrays):
57238        (WebCore::GraphicsContext3D::drawElements):
57239        (WebCore::GraphicsContext3D::enable):
57240        (WebCore::GraphicsContext3D::enableVertexAttribArray):
57241        (WebCore::GraphicsContext3D::finish):
57242        (WebCore::GraphicsContext3D::flush):
57243        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
57244        (WebCore::GraphicsContext3D::framebufferTexture2D):
57245        (WebCore::GraphicsContext3D::frontFace):
57246        (WebCore::GraphicsContext3D::generateMipmap):
57247        (WebCore::GraphicsContext3D::getActiveAttrib):
57248        (WebCore::GraphicsContext3D::getActiveUniform):
57249        (WebCore::GraphicsContext3D::getAttachedShaders):
57250        (WebCore::GraphicsContext3D::getAttribLocation):
57251        (WebCore::GraphicsContext3D::getError):
57252        (WebCore::GraphicsContext3D::getString):
57253        (WebCore::GraphicsContext3D::hint):
57254        (WebCore::GraphicsContext3D::isBuffer):
57255        (WebCore::GraphicsContext3D::isEnabled):
57256        (WebCore::GraphicsContext3D::isFramebuffer):
57257        (WebCore::GraphicsContext3D::isProgram):
57258        (WebCore::GraphicsContext3D::isRenderbuffer):
57259        (WebCore::GraphicsContext3D::isShader):
57260        (WebCore::GraphicsContext3D::isTexture):
57261        (WebCore::GraphicsContext3D::lineWidth):
57262        (WebCore::GraphicsContext3D::linkProgram):
57263        (WebCore::GraphicsContext3D::pixelStorei):
57264        (WebCore::GraphicsContext3D::polygonOffset):
57265        (WebCore::GraphicsContext3D::readPixels):
57266        (WebCore::GraphicsContext3D::releaseShaderCompiler):
57267        (WebCore::GraphicsContext3D::renderbufferStorage):
57268        (WebCore::GraphicsContext3D::sampleCoverage):
57269        (WebCore::GraphicsContext3D::scissor):
57270        (WebCore::GraphicsContext3D::shaderSource):
57271        (WebCore::GraphicsContext3D::stencilFunc):
57272        (WebCore::GraphicsContext3D::stencilFuncSeparate):
57273        (WebCore::GraphicsContext3D::stencilMask):
57274        (WebCore::GraphicsContext3D::stencilMaskSeparate):
57275        (WebCore::GraphicsContext3D::stencilOp):
57276        (WebCore::GraphicsContext3D::stencilOpSeparate):
57277        (WebCore::GraphicsContext3D::texParameterf):
57278        (WebCore::GraphicsContext3D::texParameteri):
57279        (WebCore::GraphicsContext3D::uniform1f):
57280        (WebCore::GraphicsContext3D::uniform1fv):
57281        (WebCore::GraphicsContext3D::uniform2f):
57282        (WebCore::GraphicsContext3D::uniform2fv):
57283        (WebCore::GraphicsContext3D::uniform3f):
57284        (WebCore::GraphicsContext3D::uniform3fv):
57285        (WebCore::GraphicsContext3D::uniform4f):
57286        (WebCore::GraphicsContext3D::uniform4fv):
57287        (WebCore::GraphicsContext3D::uniform1i):
57288        (WebCore::GraphicsContext3D::uniform1iv):
57289        (WebCore::GraphicsContext3D::uniform2i):
57290        (WebCore::GraphicsContext3D::uniform2iv):
57291        (WebCore::GraphicsContext3D::uniform3i):
57292        (WebCore::GraphicsContext3D::uniform3iv):
57293        (WebCore::GraphicsContext3D::uniform4i):
57294        (WebCore::GraphicsContext3D::uniform4iv):
57295        (WebCore::GraphicsContext3D::uniformMatrix2fv):
57296        (WebCore::GraphicsContext3D::uniformMatrix3fv):
57297        (WebCore::GraphicsContext3D::uniformMatrix4fv):
57298        (WebCore::GraphicsContext3D::useProgram):
57299        (WebCore::GraphicsContext3D::validateProgram):
57300        (WebCore::GraphicsContext3D::vertexAttrib1f):
57301        (WebCore::GraphicsContext3D::vertexAttrib1fv):
57302        (WebCore::GraphicsContext3D::vertexAttrib2f):
57303        (WebCore::GraphicsContext3D::vertexAttrib2fv):
57304        (WebCore::GraphicsContext3D::vertexAttrib3f):
57305        (WebCore::GraphicsContext3D::vertexAttrib3fv):
57306        (WebCore::GraphicsContext3D::vertexAttrib4f):
57307        (WebCore::GraphicsContext3D::vertexAttrib4fv):
57308        (WebCore::GraphicsContext3D::vertexAttribPointer):
57309        (WebCore::GraphicsContext3D::viewport):
57310        (WebCore::GraphicsContext3D::getBooleanv):
57311        (WebCore::GraphicsContext3D::getBufferParameteriv):
57312        (WebCore::GraphicsContext3D::getFloatv):
57313        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
57314        (WebCore::GraphicsContext3D::getIntegerv):
57315        (WebCore::GraphicsContext3D::getProgramiv):
57316        (WebCore::GraphicsContext3D::getProgramInfoLog):
57317        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
57318        (WebCore::GraphicsContext3D::getShaderiv):
57319        (WebCore::GraphicsContext3D::getShaderInfoLog):
57320        (WebCore::GraphicsContext3D::getShaderSource):
57321        (WebCore::GraphicsContext3D::getTexParameterfv):
57322        (WebCore::GraphicsContext3D::getTexParameteriv):
57323        (WebCore::GraphicsContext3D::getUniformfv):
57324        (WebCore::GraphicsContext3D::getUniformiv):
57325        (WebCore::GraphicsContext3D::getUniformLocation):
57326        (WebCore::GraphicsContext3D::getVertexAttribfv):
57327        (WebCore::GraphicsContext3D::getVertexAttribiv):
57328        (WebCore::GraphicsContext3D::getVertexAttribOffset):
57329        (WebCore::GraphicsContext3D::texImage2D):
57330        (WebCore::GraphicsContext3D::texSubImage2D):
57331        (WebCore::GraphicsContext3D::createBuffer):
57332        (WebCore::GraphicsContext3D::createFramebuffer):
57333        (WebCore::GraphicsContext3D::createProgram):
57334        (WebCore::GraphicsContext3D::createRenderbuffer):
57335        (WebCore::GraphicsContext3D::createShader):
57336        (WebCore::GraphicsContext3D::createTexture):
57337        (WebCore::GraphicsContext3D::deleteBuffer):
57338        (WebCore::GraphicsContext3D::deleteFramebuffer):
57339        (WebCore::GraphicsContext3D::deleteProgram):
57340        (WebCore::GraphicsContext3D::deleteRenderbuffer):
57341        (WebCore::GraphicsContext3D::deleteShader):
57342        (WebCore::GraphicsContext3D::deleteTexture):
57343
573442010-09-10  Oliver Hunt  <oliver@apple.com>
57345
57346        Qt build fix.
57347
57348        * bindings/js/SerializedScriptValue.cpp:
57349        (WebCore::CloneDeserializer::deserialize):
57350
573512010-09-10  Adam Barth  <abarth@webkit.org>
57352
57353        Reviewed by Darin Adler.
57354
57355        Remove useless FrameLoader method
57356        https://bugs.webkit.org/show_bug.cgi?id=45492
57357
57358        This method has one caller, and that caller already has a more direct
57359        way of accessing the correct DocumentLoader.
57360
57361        * loader/FrameLoader.cpp:
57362        * loader/FrameLoader.h:
57363        * loader/MainResourceLoader.cpp:
57364        (WebCore::MainResourceLoader::addData):
57365
573662010-09-10  Adam Barth  <abarth@webkit.org>
57367
57368        Reviewed by Eric Seidel.
57369
57370        Main resource bytes shouldn't bounce through FrameLoader
57371        https://bugs.webkit.org/show_bug.cgi?id=45496
57372
57373        After the MainResourceLoader hands the bytes for the main resource to
57374        the DocumentLoader, the DocumentLoader hands the bytes to the
57375        FrameLoaderClient.  The FrameLoaderClient, in turn, returns the bytes
57376        to WebCore.  Prior to this patch, the FrameLoaderClient returned the
57377        bytes to the FrameLoader.  However, the FrameLoader was actually adding
57378        any value.
57379
57380        In this patch, we change the FrameLoaderClient to return the bytes to
57381        the DocumentLoader directly.  In a future patch, we'll cut out the
57382        FrameLoaderClient middleman and handle the bytes internally in the
57383        DocumentLoader.
57384
57385        * WebCore.exp.in:
57386        * loader/DocumentLoader.cpp:
57387        (WebCore::DocumentLoader::addData):
57388        * loader/DocumentLoader.h:
57389        * loader/FrameLoader.cpp:
57390        (WebCore::FrameLoader::finishedLoadingDocument):
57391        * loader/FrameLoader.h:
57392
573932010-09-10  Oliver Hunt  <oliver@apple.com>
57394
57395        Reviewed by Darin Adler.
57396
57397        Speed up deserialisation of strings
57398        https://bugs.webkit.org/show_bug.cgi?id=45555
57399
57400        Rather than building a list of Identifiers for the string pool
57401        we now build a list of a tuple of UString and JSString*.  This
57402        doesn't hurt the property name case as ustring->identifier conversion
57403        is essentially free if the ustring has already been converted to
57404        an Identifier, but saves an unnecessary Identifier creation for
57405        strings we only ever use to create JSStrings.  We also reduce
57406        GC pressure for duplicate strings by caching the JSStrings.
57407
57408        * bindings/js/SerializedScriptValue.cpp:
57409        (WebCore::CloneDeserializer::CachedString::CachedString):
57410        (WebCore::CloneDeserializer::CachedString::jsString):
57411        (WebCore::CloneDeserializer::CachedString::ustring):
57412        (WebCore::CloneDeserializer::readStringData):
57413        (WebCore::CloneDeserializer::putProperty):
57414        (WebCore::CloneDeserializer::readFile):
57415        (WebCore::CloneDeserializer::readTerminal):
57416        (WebCore::CloneDeserializer::deserialize):
57417
574182010-09-10  Ryosuke Niwa  <rniwa@webkit.org>
57419
57420        Reviewed by Antonio Gomes.
57421
57422        REGRESSION(r67176): editing/selection/doubleclick-inline-first-last-contenteditable.html crashes
57423        https://bugs.webkit.org/show_bug.cgi?id=45525
57424
57425        The crash was caused by ancestorToRetainStructureAndAppearance not taking into consideration
57426        the case where there is no common block ancestor. Fixed this by adding a null check.
57427
57428        Test: editing/pasteboard/copy-without-common-block-crash.html
57429
57430        * editing/markup.cpp:
57431        (WebCore::ancestorToRetainStructureAndAppearance): Added a null check.
57432
574332010-09-09  Kinuko Yasuda  <kinuko@chromium.org>
57434
57435        Reviewed by Dumitru Daniliuc.
57436
57437        [FileSystem] Do not call EntriesCallback more than once if there're no entries.
57438        https://bugs.webkit.org/show_bug.cgi?id=45498
57439
57440        No new tests, layout-tests that confirm the behavior will be added in later patches.
57441
57442        * fileapi/FileSystemCallbacks.cpp:
57443        (WebCore::EntriesCallbacks::EntriesCallbacks):
57444        (WebCore::EntriesCallbacks::didReadDirectoryEntry):
57445        (WebCore::EntriesCallbacks::didReadDirectoryEntries):
57446
574472010-09-10  Patrick Gansterer  <paroga@paroga.com>
57448
57449        Reviewed by Darin Adler.
57450
57451        Use String::fromUTF8 instead of UTF8Encoding().decode
57452        in the libxml XMLDocumentParser
57453        https://bugs.webkit.org/show_bug.cgi?id=45488
57454
57455        * dom/XMLDocumentParserLibxml2.cpp:
57456        (WebCore::toString):
57457
574582010-09-10  Chris Fleizach  <cfleizach@apple.com>
57459
57460        Reviewed by David Kilzer.
57461
57462        AX: accessibility not returning strings when visibility is hidden
57463        https://bugs.webkit.org/show_bug.cgi?id=45116
57464
57465        AX code uses plainText() in TextIterator to get the text for a node.
57466        However, when that node is not visible, no text is returned because TextIterator ignores
57467        clipped nodes and other hidden elements.
57468
57469        Solution is to add a new text iterator behavior for ignoring style visiblity. This allows
57470        for text to allows be returned for accessibility purposes.
57471
57472        Test: platform/mac/accessibility/clipped-text-under-element.html
57473
57474        * WebCore.exp.in:
57475        * accessibility/AccessibilityRenderObject.cpp:
57476        (WebCore::AccessibilityRenderObject::textUnderElement):
57477        (WebCore::AccessibilityRenderObject::stringValue):
57478           Use the new flag for plainText
57479        * editing/TextIterator.cpp:
57480        (WebCore::TextIterator::TextIterator):
57481        (WebCore::TextIterator::handleTextNode):
57482        (WebCore::TextIterator::handleTextBox):
57483        (WebCore::TextIterator::handleTextNodeFirstLetter):
57484        (WebCore::TextIterator::handleReplacedElement):
57485           Use the new flag to NOT skip hidden elements.
57486        (WebCore::plainTextToMallocAllocatedBuffer):
57487        (WebCore::plainText):
57488        * editing/TextIterator.h:
57489           Add the new text iterator behavior.
57490
574912010-09-10  Chris Fleizach  <cfleizach@apple.com>
57492
57493        Reviewed by David Kilzer.
57494
57495        Mail crashes with searching for next misspelled word with VoiceOver
57496        https://bugs.webkit.org/show_bug.cgi?id=45501
57497
57498        Test: platform/mac/accessibility/crash-in-element-for-text-marker.html
57499
57500        * accessibility/mac/AccessibilityObjectWrapper.mm:
57501        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
57502            Check that the AX object is not nil before asking for the wrapper().
57503
575042010-09-10  Michael Nordman  <michaeln@google.com>
57505
57506        Reviewed by Dumitru Daniliuc.
57507
57508        Decouple Blob from ScriptExecutionContext.
57509        https://bugs.webkit.org/show_bug.cgi?id=45410
57510
57511        - Removed ScriptExecutionContext pointers from Blob and File constructors.
57512        - Removed ScriptExecutionContext's collection of Blobs instance in that context.
57513        - Refactored BlobURL to make a distinction between 'public' blob urls and 'internal'
57514          urls that are used solely as identifiers. The former requires a SecurityOrigin to
57515          to manufacture, the latter does not.
57516        - Added a constant and accessor for the blob protocol scheme on the BlobURL class.
57517
57518        No new tests are added since this is a cleanup.
57519
57520        * bindings/js/SerializedScriptValue.cpp:
57521        (WebCore::CloneDeserializer::readFile):
57522        (WebCore::CloneDeserializer::readTerminal):
57523        * bindings/v8/SerializedScriptValue.cpp:
57524        (WebCore::ZigZag::Reader::readBlob):
57525        (WebCore::ZigZag::Reader::readFile):
57526        (WebCore::ZigZag::Reader::readFileList):
57527        * dom/ScriptExecutionContext.cpp:
57528        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
57529        (WebCore::ScriptExecutionContext::createPublicBlobURL):
57530        (WebCore::ScriptExecutionContext::revokePublicBlobURL):
57531        * dom/ScriptExecutionContext.h:
57532        * fileapi/Blob.cpp:
57533        (WebCore::Blob::Blob):
57534        (WebCore::Blob::~Blob):
57535        (WebCore::Blob::slice):
57536        * fileapi/Blob.h:
57537        (WebCore::Blob::create):
57538        (WebCore::Blob::url):
57539        * fileapi/Blob.idl:
57540        * fileapi/BlobBuilder.cpp:
57541        (WebCore::BlobBuilder::getBlob):
57542        * fileapi/BlobBuilder.h:
57543        * fileapi/BlobBuilder.idl:
57544        * fileapi/BlobURL.cpp:
57545        (WebCore::BlobURL::createPublicURL):
57546        (WebCore::BlobURL::createInternalURL):
57547        (WebCore::BlobURL::getOrigin):
57548        (WebCore::BlobURL::getIdentifier):
57549        (WebCore::BlobURL::createBlobURL):
57550        * fileapi/BlobURL.h:
57551        (WebCore::BlobURL::blobProtocol):
57552        (WebCore::BlobURL::BlobURL):
57553        * fileapi/File.cpp:
57554        (WebCore::File::File):
57555        * fileapi/File.h:
57556        (WebCore::File::create):
57557        * fileapi/FileReader.cpp: Register a public url to perform the read.
57558        (WebCore::FileReader::cleanup):
57559        (WebCore::FileReader::start):
57560        (WebCore::FileReader::didFinishLoading):
57561        (WebCore::FileReader::failed):
57562        * fileapi/FileReader.h: Added m_urlForReading data member.
57563        * fileapi/FileReaderSync.cpp:
57564        (WebCore::FileReaderSync::read): Register a public url to perform the read.
57565        * fileapi/ThreadableBlobRegistry.cpp:
57566        (WebCore::ThreadableBlobRegistry::registerBlobURL):
57567        (WebCore::ThreadableBlobRegistry::unregisterBlobURL):
57568        * fileapi/ThreadableBlobRegistry.h:
57569        * html/HTMLInputElement.cpp:
57570        (WebCore::HTMLInputElement::appendFormData):
57571        (WebCore::HTMLInputElement::setFileListFromRenderer):
57572        * page/SecurityOrigin.cpp: Use BlobURL.blobProtocol().
57573        (WebCore::SecurityOrigin::create):
57574        (WebCore::SecurityOrigin::canRequest):
57575        (WebCore::SecurityOrigin::canDisplay):
57576        * platform/chromium/ClipboardChromium.cpp:
57577        (WebCore::ClipboardChromium::files):
57578        * platform/gtk/ClipboardGtk.cpp:
57579        (WebCore::ClipboardGtk::files):
57580        * platform/mac/ClipboardMac.mm:
57581        (WebCore::ClipboardMac::files):
57582        * platform/win/ClipboardWin.cpp:
57583        (WebCore::ClipboardWin::files):
57584
575852010-09-10  Xan Lopez  <xlopez@igalia.com>
57586
57587        Reviewed by Martin Robinson.
57588
57589        GDK_DISPLAY was removed in GTK+ 3.x, re-declare it when built
57590        against that.
57591
57592        * platform/gtk/GtkVersioning.h:
57593
575942010-09-10  Xan Lopez  <xlopez@igalia.com>
57595
57596        Reviewed by Martin Robinson.
57597
57598        Fix compilation with GTK+ 3.x.
57599
57600        GDK key macros were renamed from GDK_FOO to GDK_KEY_FOO, we need
57601        to include the compat header provided if we want to keep using the
57602        old names.
57603
57604        * platform/gtk/GtkVersioning.h: add the compatibility header.
57605        * platform/gtk/KeyEventGtk.cpp: include GtkVersioning.h
57606
576072010-09-09  Tony Gentilcore  <tonyg@chromium.org>
57608
57609        Reviewed by Eric Seidel.
57610
57611        Factor out the NestingLevelIncrementer
57612        https://bugs.webkit.org/show_bug.cgi?id=45471
57613
57614        No new tests because no new functionality.
57615
57616        * GNUmakefile.am:
57617        * WebCore.gypi:
57618        * WebCore.vcproj/WebCore.vcproj:
57619        * WebCore.xcodeproj/project.pbxproj:
57620        * html/parser/HTMLDocumentParser.cpp:
57621        * html/parser/HTMLDocumentParser.h:
57622        * html/parser/HTMLScriptRunner.cpp:
57623        * html/parser/NestingLevelIncrementer.h: Added.
57624        (WebCore::NestingLevelIncrementer::NestingLevelIncrementer):
57625        (WebCore::NestingLevelIncrementer::~NestingLevelIncrementer):
57626
576272010-09-10  Nikolas Zimmermann  <nzimmermann@rim.com>
57628
57629        Reviewed by Dirk Schulze.
57630
57631        SVG text chunk concept needs to be integrated in the InlineBox structure
57632        https://bugs.webkit.org/show_bug.cgi?id=45533
57633
57634        Begin rewriting the SVG text layout code. As first step move the text chunk concept right into the inline box structure.
57635        This obsoletes the whole text chunk part concept (see SVGTextChunkLayoutInfo.h for details), and will soon simplify the
57636        whole layout code a lot. Previously we hacked around the fact that a single InlineTextBox could contain multiple text chunks
57637        For example: <text x="20 30 40">ABC</text> only led to the creation of one InlineTextBox containing three chunks. When
57638        painting such an InlineTextBox, we had to do nasty hacks (same for text selection etc.)
57639        
57640        This is finally fixed by incorporating the knownledge about text chunks into the line layout algorithm.
57641        Note, this has no impact on HTML at all, no worries.
57642
57643        It's even required to do it this way as BiDi reordering shouldn't happen across text chunks.
57644        These are only the first bits, and currently slows down text layouting. Follow-up patches will remove the old layout
57645        algorithm, and will rely on the stored SVGTextLayoutAttributes in the RenerSVGInlineText renderers (instead of computing again).
57646
57647        * Android.mk: Add rendering/svg/SVGTextLayoutAttributes.* & rendering/svg/SVGTextLayoutBuilder.* to build.
57648        * CMakeLists.txt: Ditto.
57649        * GNUmakefile.am: Ditto.
57650        * WebCore.gyp/WebCore.gyp: Ditto.
57651        * WebCore.gypi: Ditto.
57652        * WebCore.pro: Ditto.
57653        * WebCore.vcproj/WebCore.vcproj: Ditto.
57654        * WebCore.vcproj/WebCoreCommon.vsprops: Ditto. (Recognize new rendering/svg directory.)
57655        * WebCore.vcproj/copyForwardingHeaders.cmd: Ditto. (Copy forwarding headers from rendering/svg directory.)
57656        * WebCore.xcodeproj/project.pbxproj: Ditto.
57657        * rendering/RenderBlockLineLayout.cpp: This is the key of the new concept, take text chunks into account when building the InlineBox structure.
57658        (WebCore::RenderBlock::findNextLineBreak): Split midpointState, if we encounter the beginning of a new text chunk.
57659        * rendering/RenderObject.h:
57660        (WebCore::RenderObject::isSVGInline): New method, which will be used to identify RenderSVGInline objects.
57661        * rendering/RenderSVGInline.h:
57662        (WebCore::RenderSVGInline::isSVGInline): Return true.
57663        * rendering/RenderSVGInlineText.cpp:
57664        (WebCore::RenderSVGInlineText::linesBoundingBox): Overriden, to simplify the calculations for SVG.
57665        (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Determines wheter the given position starts a new text chunk.
57666        * rendering/RenderSVGInlineText.h:
57667        (WebCore::RenderSVGInlineText::storeLayoutAttributes): Stores the layout attributes calculated in the text layout process (will be used everywhere in follow-up patches).
57668        * rendering/RenderSVGText.cpp:
57669        (WebCore::RenderSVGText::layout): Invoke SVGTextLayoutBuilder before creating the inline box tree, so we can decide which characters start new text chunks.
57670        * rendering/RenderText.h: Made linesBoundingBox() virtual so RenderSVGInlineText can override it.
57671        * rendering/svg: Added.
57672        * rendering/svg/SVGTextLayoutAttributes.cpp: Added. Holds x/y/dx/dy/rotate values and all kerning/ligature information used during layout.
57673        * rendering/svg/SVGTextLayoutAttributes.h: Added.
57674        * rendering/svg/SVGTextLayoutBuilder.cpp: Added.
57675        * rendering/svg/SVGTextLayoutBuilder.h: Added.
57676
576772010-09-10  Csaba Osztrogonác  <ossy@webkit.org>
57678
57679        Unreviewed fix after r67085.
57680
57681        * WebCore.pro: Fix previously moved filenames.
57682
576832010-09-10  Adam Barth  <abarth@webkit.org>
57684
57685        Reviewed by Eric Seidel.
57686
57687        Inline FrameLoader::committedLoad into its one caller
57688        https://bugs.webkit.org/show_bug.cgi?id=45481
57689
57690        This saves one round-trip through the FrameLoader when loading
57691        documents.
57692
57693        * loader/DocumentLoader.cpp:
57694        (WebCore::DocumentLoader::commitLoad):
57695        * loader/FrameLoader.cpp:
57696        * loader/FrameLoader.h:
57697
576982010-09-10  Patrick Gansterer  <paroga@paroga.com>
57699
57700        Reviewed by Adam Roben.
57701
57702        [WINCE] Remove ImageBuffer::toDataURL implementation
57703        https://bugs.webkit.org/show_bug.cgi?id=45478
57704
57705        At the moment ImageBuffer::toDataURL uses JPEGEncoder.h and PNGEncoder.h.
57706        Both files are not in the repository. So remove the implementation for now.
57707
57708        * platform/graphics/wince/ImageBufferWince.cpp:
57709        (WebCore::ImageBuffer::toDataURL):
57710
577112010-09-10  Andreas Kling  <andreas.kling@nokia.com>
57712
57713        Reviewed by Antonio Gomes.
57714
57715        WebGL: Fix GCC warnings about suggested parentheses around && within ||
57716        https://bugs.webkit.org/show_bug.cgi?id=45534
57717
57718        * html/canvas/WebGLRenderingContext.cpp:
57719        (WebCore::WebGLRenderingContext::getVertexAttrib):
57720        (WebCore::WebGLRenderingContext::readPixels):
57721        (WebCore::WebGLRenderingContext::texParameter):
57722        (WebCore::WebGLRenderingContext::handleNPOTTextures):
57723
577242010-09-09  Alexander Pavlov  <apavlov@chromium.org>
57725
57726        Reviewed by Yury Semikhatsky.
57727
57728        Web Inspector: Add navigation items into the Elements panel context menu.
57729
57730        For all anchors that have the class of "webkit-html-resource-link" or "webkit-html-external-link",
57731        a custom context menu with the items "Open Link in New Window" (invokes InspectorBackend.openInInspectedWindow() with
57732        the related URL) and "Open Link in Resources Panel" (opens the related resource in the Resources panel) is shown
57733        (the latter item is displayed only if the corresponding resource is known to the Web Inspector).
57734        https://bugs.webkit.org/show_bug.cgi?id=34250
57735
57736        * English.lproj/localizedStrings.js:
57737        * inspector/front-end/ElementsPanel.js:
57738        (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
57739        * inspector/front-end/ElementsTreeOutline.js:
57740        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
57741        (WebInspector.ElementsTreeElement.prototype._attributeHTML):
57742        * inspector/front-end/StylesSidebarPane.js:
57743        (WebInspector.StylesSidebarPane.prototype._contextMenuEventFired):
57744        * inspector/front-end/inspector.js:
57745        (WebInspector.openResource):
57746        (WebInspector.resourceURLForRelatedNode):
57747
577482010-09-10  Kwang Yul Seo  <skyul@company100.net>
57749
57750        Reviewed by James Robinson.
57751
57752        Make sure skia is not Chromium specific
57753        https://bugs.webkit.org/show_bug.cgi?id=39672
57754
57755        Move Image::loadPlatformResource to platform/graphics/chromium/ImageChromium.cpp.
57756        Other ports can use ImageSkia.cpp.
57757
57758        No new tests because this is pure refacotring.
57759
57760        * WebCore.gyp/WebCore.gyp:
57761        * WebCore.gypi:
57762        * platform/graphics/chromium/ImageChromium.cpp: Added.
57763        (WebCore::Image::loadPlatformResource):
57764        * platform/graphics/skia/ImageSkia.cpp:
57765
577662010-09-09  Ilya Tikhonovsky  <loislo@chromium.org>
57767
57768        Reviewed by Joseph Pecoraro.
57769
57770        WebInspector: Selecting 'inspect element' always shows body in inspector instead of clicked element.
57771
57772        1. Open any page
57773        2. Right-click on any element, select "Inspect Element"
57774        3. Web Inspector is opened but the <body> element (for HTML) is focused rather than the selected element
57775        4. Inspect the Web Inspector. An error message is logged in the console.
57776
57777        The regression was introduced in http://trac.webkit.org/changeset/66012 - focusNode() is invoked in
57778        InspectorController::populateScriptObjects() before the main document is set for the InspectorDOMAgent
57779        instance (which makes focusNode() bail out prematurely).
57780
57781        https://bugs.webkit.org/show_bug.cgi?id=45374
57782
57783        * inspector/InspectorController.cpp:
57784        (WebCore::InspectorController::populateScriptObjects):
57785
577862010-09-10  Cris Neckar  <cdn@chromium.org>
57787
57788        Reviewed by Chris Fleizach.
57789
57790        Null deref in RenderBlock::updateFirstLetter(). Check for null psuedo style.
57791        https://bugs.webkit.org/show_bug.cgi?id=45404
57792
57793        Test: fast/dom/firstletter-tablecell-crash.html
57794
57795        * rendering/RenderBlock.cpp:
57796        (WebCore::RenderBlock::updateFirstLetter):
57797
577982010-09-10  Cris Neckar  <cdn@chromium.org>
57799
57800        Reviewed by Chris Fleizach.
57801
57802        Null deref in RenderBlock::findNextLineBreak(). Check for null style with
57803        first-line style and fixed position.
57804        https://bugs.webkit.org/show_bug.cgi?id=45350
57805
57806        Test: fast/dom/firstline-fixed-crash.html
57807
57808        * rendering/RenderBlockLineLayout.cpp:
57809        (WebCore::RenderBlock::findNextLineBreak):
57810
578112010-09-10  Eric Seidel  <eric@webkit.org>
57812
57813        Reviewed by Dimitri Glazkov.
57814
57815        Remove support for non-lazy attach and fix frames to load from insertedIntoDocument instead of attach
57816        https://bugs.webkit.org/show_bug.cgi?id=45365
57817
57818        This change is the last piece of the puzzle which was preventing us from
57819        removing all eager-attach logic and moving WebCore to using an entirely
57820        recalcStyle-driven, on-demand renderer creation system, instead of every
57821        element being synchronously attached during parsing, regardless of whether
57822        it was ever going to be displayed or not.
57823
57824        This does not change the places we call lazyAttach vs. attach.  This only
57825        changes the behavior of frame/plugin elements when lazyAttach is called.
57826        Previously lazyAttach would eager-attach those elements (and their ancestors)
57827        because they were marked as canLazyAttach() { return false; }.
57828
57829        This is a very tricky change, please review carefully.
57830
57831        Mostly I'm moving logic which used to be in attach() into
57832        insertedIntoDocument.  Once it was there, there was no longer any reason
57833        why frame elements couldn't lazyAttach, thus removing the need
57834        for the non-lazy attach code path entirely.
57835        We've not yet converted all callsites over to using lazyAttach() instead
57836        of attach() however.
57837
57838        In order to move frame loading logic into insertedIntoDocument
57839        instead of attach, I needed to make sure that any javascript calls
57840        during the load would see an attached element.  Thus I needed to mark
57841        the element as needing style resolve so that it would attach itself
57842        if needed.
57843
57844        I was not able to just call lazyAttach() from insertedIntoDocument directly
57845        due to two conflicting assumptions in the rendering tree:
57846         1. ContainerNode::attach() assumes its "safe" to call attach on all children
57847            without checking first if the child is already attached.  This seems sane
57848            since its strange to think of a subtree as being attached w/o ancestors
57849            already being attached.  Although it is a hard rule that subtrees may not
57850            have renderers w/o ancestors also having renderers, I do not believe it's
57851            a hard rule that subtrees may not be attached.  Remember, attached() does
57852            not imply renderer()!  It's possible ContainerNode::attach()'s assumption is wrong here.
57853         2. Node::attach() asserts !attached().  This makes sense and I would not
57854            want to remove this assert, however it means that if insertedIntoDocument
57855            were to call lazyAttach() (thus marking the element as attached()) then
57856            all callers would need to check if the element was already attached after
57857            insertedIntoDocument (called by appendChild, parserAppendChild, etc.)
57858            before calling attach or lazyAttach().  The following example:
57859            element.innerHTML = "<span><iframe></span>" is one case where this
57860            ASSERT would be hit if insertedIntoDocument called lazyAttach, since
57861            ContainerNode::attach() (called on the span by in appendChild(DocumentFragment) code)
57862            does not check if iframe is already attached.
57863
57864        Note: One subtle change here is that synchronous javascript which results
57865        from javascript: or beforeload is now run as part of insertedIntoDocument
57866        (thus any insert/append call *even* parserAddChild) instead of being
57867        run during attach (technically in the post-attach callbacks).
57868
57869        This is covered by numerous layout tests.
57870
57871        * dom/ContainerNode.cpp:
57872        (WebCore::willRemoveChild):
57873        (WebCore::willRemoveChildren):
57874         - Since insertedIntoDocument starts a load and yet does not mark the
57875           element as attached, we need to always call willRemove().
57876           See note above as to why we don't just mark attached() in insertedIntoDocument.
57877        * dom/Node.cpp:
57878        (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
57879         - Share some code between lazyAttach and setNeedsStyleRecalc.
57880        (WebCore::Node::setNeedsStyleRecalc):
57881         - Use the new markAncestorsWithChildNeedsStyleRecalc
57882        (WebCore::Node::lazyAttach):
57883         - Remove the non-lazy code path, and use markAncestorsWithChildNeedsStyleRecalc.
57884         - Add an option to lazyAttach without marking attached(), used by HTMLFrameElementBase::insertedIntoDocument.
57885        * dom/Node.h:
57886        * html/HTMLFrameElementBase.cpp:
57887         - m_shouldOpenURLAfterAttach is no longer needed, yay!
57888         - m_checkAttachedTimer no longer has anything to do with attached(), so renamed it.
57889           I also documented that the newly named m_checkInDocumentTimer is all about the
57890           "magic iframe" performance quirk.  (Which is actually speced in HTML5).
57891           I was initially baffled by this code, so I documented it.
57892        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase)
57893        (WebCore::HTMLFrameElementBase::insertedIntoDocument):
57894         - This is the meat of this change, see discussion above.
57895        (WebCore::HTMLFrameElementBase::attach):
57896         - Code deleted or moved to insertedIntoDocument.
57897        (WebCore::HTMLFrameElementBase::width):
57898         - Fixed a bug in height()/width() which was probably causing crashes
57899           and was causing incorrect behavior after this change.
57900           renderBox() is not necessarily valid unless layout is up to date.
57901           Updating layout, can cause renderBox() to go invalid, thus this
57902           could have been a null-pointer crash.
57903        (WebCore::HTMLFrameElementBase::height): see width()
57904        (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree): Timer rename.
57905        (WebCore::HTMLFrameElementBase::checkInDocumentTimerFired): Timer rename.
57906        * html/HTMLFrameElementBase.h:
57907        * html/HTMLFrameOwnerElement.cpp:
57908        (WebCore::HTMLFrameOwnerElement::willRemove):
57909         - Disconnecting the owner element removes the frame from the frame tree.
57910           frameDetached() calls Page::frameCount which expects that the frame is
57911           already gone at this point and asserts when it's not.  It's unclear how
57912           this worked before, except that the frame removal was likely done in the
57913           post-attach callback, so the frameCount was wrong (too high) during
57914           frameDetached(), but was fixed up in the post-detach callback.
57915        * html/parser/HTMLConstructionSite.cpp:
57916        (WebCore::HTMLConstructionSite::attachAtSite):
57917          - Simplified this code, and added a check for the case when the node was already removed.
57918            Since the load logic is now run during insertedIntoDocument instead of attach(),
57919            synchronous javascript is now running during insertedIntoDocument and we need to
57920            make sure that the child is still in the tree.
57921
579222010-09-10  Dirk Pranke  <dpranke@chromium.org>
57923
57924        Unreviewed, rolling out r67178.
57925        http://trac.webkit.org/changeset/67178
57926        https://bugs.webkit.org/show_bug.cgi?id=45524
57927
57928        re-roll-out patch to put original changes back in
57929
57930        * html/HTMLObjectElement.cpp:
57931        (WebCore::HTMLObjectElement::parametersForPlugin):
57932        (WebCore::HTMLObjectElement::updateWidget):
57933        * loader/SubframeLoader.cpp:
57934        (WebCore::SubframeLoader::resourceWillUsePlugin):
57935        * loader/SubframeLoader.h:
57936
579372010-09-10  Dirk Pranke  <dpranke@chromium.org>
57938
57939        Reviewed by Kent Tamura.
57940
57941        roll out r66992 and r66997 - possibly introduced a perf slowdown in chromium tests
57942        https://bugs.webkit.org/show_bug.cgi?id=45524
57943
57944        * html/HTMLObjectElement.cpp:
57945        (WebCore::HTMLObjectElement::parametersForPlugin):
57946        (WebCore::HTMLObjectElement::updateWidget):
57947        * loader/SubframeLoader.cpp:
57948        (WebCore::SubframeLoader::requestFrame):
57949        * loader/SubframeLoader.h:
57950
579512010-09-10  Ryosuke Niwa  <rniwa@webkit.org>
57952
57953        Reviewed by Tony Chang.
57954
57955        Extract the code to find special ancestors in createMarkup into a function
57956        https://bugs.webkit.org/show_bug.cgi?id=45449
57957
57958        Extracted the code to find special common ancestors in createMarkup as highestAncestorToWrapMarkup.
57959        Also isolated the code to find ancestors required to retain structure and appearance into
57960        ancestorToRetainStructureAndAppearance.
57961
57962        No new tests are added since this is a cleanup.
57963
57964        * editing/markup.cpp:
57965        (WebCore::ancestorToRetainStructureAndAppearance): Added.
57966        (WebCore::propertyMissingOrEqualToNone): Moved.
57967        (WebCore::isElementPresentational): Moved.
57968        (WebCore::shouldIncludeWrapperForFullySelectedRoot): Added. isSpecialAncestorBlock is merged into this function.
57969        (WebCore::highestAncestorToWrapMarkup): Extracted from createMarkup.
57970        (WebCore::createMarkup): Calls highestAncestorToWrapMarkup.
57971
579722010-09-09  Adam Barth  <abarth@webkit.org>
57973
57974        Reviewed by Dimitri Glazkov.
57975
57976        Spurious null check in MediaDocumentParser
57977        https://bugs.webkit.org/show_bug.cgi?id=45461
57978
57979        Trivial change.  FrameLoader can never be null.
57980
57981        * html/MediaDocument.cpp:
57982        (WebCore::MediaDocumentParser::createDocumentStructure):
57983
579842010-09-09  Ryosuke Niwa  <rniwa@webkit.org>
57985
57986        Reviewed by Eric Seidel.
57987
57988        REGRESSION: applying new font size causes font-size outside selection to change
57989        https://bugs.webkit.org/show_bug.cgi?id=45026
57990
57991        The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly.
57992        Namely, it was treating font size as a pixel value for font-size property.  Fixed this by adding fontSizeToCSSValue
57993        which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement
57994
57995        Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were
57996        relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size
57997        to legacy font size by CSSStyleSelector::legacyFontSize.
57998
57999        Test: editing/style/push-down-font-styles.html
58000
58001        * editing/ApplyStyleCommand.cpp:
58002        (WebCore::StyleChange::extractTextStyles): Fixed a bug. See above.
58003        (WebCore::stringToCSSValue): Converts string to CSSValue.
58004        (WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue.
58005        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue.
58006        * css/CSSStyleSelector.h: Made fontSizeForKeyword public.
58007
580082010-09-09  Kent Tamura  <tkent@chromium.org>
58009
58010        Unreviewed, build fix for Qt.
58011
58012        * css/CSSStyleSelector.cpp:
58013        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
58014
580152010-09-09  Dominic Cooney  <dominicc@google.com>
58016
58017        Reviewed by Kent Tamura.
58018
58019        Moves location.replace bindings logic into bindings/generic and
58020        instantiates it for JSC and V8.
58021
58022        https://bugs.webkit.org/show_bug.cgi?id=44891
58023
58024        Covered by existing location.replace tests.
58025
58026        * GNUmakefile.am:
58027        * WebCore.gypi:
58028        * WebCore.pro:
58029        * WebCore.vcproj/WebCore.vcproj:
58030        * WebCore.vcproj/WebCoreCommon.vsprops:
58031        * WebCore.xcodeproj/project.pbxproj:
58032        * bindings/generic/BindingDOMWindow.h:
58033        * bindings/generic/BindingFrame.h: Added.
58034        (WebCore::::navigateIfAllowed):
58035        * bindings/generic/BindingLocation.h: Added.
58036        (WebCore::::replace):
58037        * bindings/generic/GenericBinding.h:
58038        (WebCore::completeURL):
58039        * bindings/js/JSBinding.h: Added.
58040        * bindings/js/JSBindingsAllInOne.cpp:
58041        * bindings/js/JSDOMBinding.cpp:
58042        (WebCore::shouldAllowNavigation):
58043        (WebCore::toLexicalFrame):
58044        (WebCore::toDynamicFrame):
58045        (WebCore::processingUserGesture):
58046        (WebCore::completeURL):
58047        * bindings/js/JSLocationCustom.cpp:
58048        (WebCore::navigateIfAllowed):
58049        (WebCore::JSLocation::replace):
58050        * bindings/js/specialization/JSBindingState.cpp: Added.
58051        (WebCore::::getActiveFrame):
58052        (WebCore::::getFirstFrame):
58053        (WebCore::::processingUserGesture):
58054        (WebCore::::allowsAccessFromFrame):
58055        * bindings/js/specialization/JSBindingState.h: Added.
58056        * bindings/v8/V8Binding.h:
58057        * bindings/v8/V8Utilities.cpp:
58058        (WebCore::completeURL):
58059        (WebCore::navigateIfAllowed):
58060        * bindings/v8/custom/V8LocationCustom.cpp:
58061        (WebCore::V8Location::replaceCallback):
58062        * bindings/v8/specialization/V8BindingState.cpp:
58063        (WebCore::::allowsAccessFromFrame):
58064        * bindings/v8/specialization/V8BindingState.h:
58065
580662010-09-09  Kent Tamura  <tkent@chromium.org>
58067
58068        Reviewed by Dimitri Glazkov.
58069
58070        Apply :invalid CSS class to <input type=number> with an unacceptable value
58071        https://bugs.webkit.org/show_bug.cgi?id=45376
58072
58073        Apply :invalid CSS class to <input type=number> elements with an
58074        unacceptable value in order to tell users that a value is not
58075        valid.
58076
58077        Introducing Element::hasUnaccceptableValue(), and CSSStyleSelector
58078        applies :invalid to not only elements with !isValidFormControlElement()
58079        but also elements with hasUnaccceptableValue().
58080
58081        HTMLInputElement and RenderTextControlSingleLine need some changes
58082        to update style and to avoid updating renderer value during style
58083        update.
58084
58085        Test: fast/forms/input-number-unacceptable-style.html
58086
58087        * css/CSSStyleSelector.cpp:
58088        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
58089        * dom/Element.h:
58090        (WebCore::Element::hasUnacceptableValue):
58091        * html/HTMLInputElement.cpp:
58092        (WebCore::HTMLInputElement::handleBlurEvent):
58093        (WebCore::HTMLInputElement::hasUnacceptableValue):
58094        * html/HTMLInputElement.h:
58095        * rendering/RenderTextControlSingleLine.cpp:
58096        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
58097        (WebCore::RenderTextControlSingleLine::updateFromElement):
58098
580992010-09-09  Kent Tamura  <tkent@chromium.org>
58100
58101        Reviewed by Dimitri Glazkov.
58102
58103        <input type=number> should not have an invalid number as its value
58104        https://bugs.webkit.org/show_bug.cgi?id=43973
58105
58106        This change implements the value sanitization algorithm for
58107        type=number, and remove validity.typeMismatch support for
58108        type=number in order to improve HTML5 conformance.
58109
58110        HTMLInputElement::value for type=number always has a valid number
58111        string or an empty string. However, the input field for it, a
58112        RenderTextControlSingleLine, can have a non-number string. For
58113        example, '-' is a non-number string, but a user needs to type
58114        '-'. So, the string in the input field has never been committed to
58115        HTMLInputElement until the string becomes a valid number string.
58116
58117        This change is also a preparation of supporting localized
58118        numbers. A localized string in the input field would not be
58119        matched with HTMLInputElement::value.
58120
58121        Test: fast/forms/input-number-commit-valid-only.html
58122
58123        * dom/InputElement.h: Add isAcceptableValue()
58124        * html/HTMLInputElement.cpp:
58125        (WebCore::HTMLInputElement::handleBlurEvent):
58126         Set formControlValueMatchesRenderer false to clean an invalid value in the renderer.
58127        (WebCore::HTMLInputElement::isAcceptableValue):
58128        (WebCore::HTMLInputElement::sanitizeValue):
58129        * html/HTMLInputElement.h:
58130        * html/ValidityState.cpp:
58131        (WebCore::ValidityState::typeMismatch): Always returns false for type=number.
58132        * rendering/RenderTextControlSingleLine.cpp:
58133        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
58134        * wml/WMLInputElement.h:
58135        (WebCore::WMLInputElement::isAcceptableValue):
58136
581372010-09-09  Tony Gentilcore  <tonyg@chromium.org>
58138
58139        Reviewed by Adam Barth.
58140
58141        Support <script async> as specified by HTML5
58142        https://bugs.webkit.org/show_bug.cgi?id=45310
58143
58144        Tests: fast/dom/HTMLScriptElement/async-inline-script.html
58145               fast/dom/HTMLScriptElement/async-onbeforeload.html
58146               fast/dom/HTMLScriptElement/async-write.html
58147               http/tests/misc/async-and-defer-script.html
58148               http/tests/misc/script-async.html
58149
58150        * dom/AsyncScriptRunner.cpp:
58151        (WebCore::AsyncScriptRunner::AsyncScriptRunner):
58152        (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
58153        (WebCore::AsyncScriptRunner::executeScriptSoon): Increment the delay count when a task to execute scripts is queued up.
58154        (WebCore::AsyncScriptRunner::timerFired): decrementLoadEventDelayCount handles calling checkCompleted().
58155        * dom/AsyncScriptRunner.h:
58156        (WebCore::AsyncScriptRunner::create):
58157        * dom/Document.cpp:
58158        (WebCore::Document::Document):
58159        * dom/ScriptElement.cpp:
58160        (WebCore::ScriptElement::insertedIntoDocument): Treats async scripts just like a dynamically inserted script element rather than a parser inserted one.
58161        * html/parser/HTMLScriptRunner.cpp:
58162        (WebCore::HTMLScriptRunner::runScript):
58163
581642010-09-09  Alexey Marinichev  <amarinichev@chromium.org>
58165
58166        Reviewed by James Robinson.
58167
58168        [chromium] Disable subpixel rendering in Linux when GPU compositor is active
58169        https://bugs.webkit.org/show_bug.cgi?id=45087
58170
58171        This extends windows-only logic to chromium linux as well.
58172
58173        * platform/graphics/chromium/ContentLayerChromium.cpp:
58174        (WebCore::ContentLayerChromium::updateContents):
58175        * platform/graphics/chromium/FontLinux.cpp:
58176        (WebCore::adjustTextRenderMode): Added a check to see if the compositor is active.
58177        (WebCore::Font::drawGlyphs):
58178        (WebCore::Font::drawComplexText):
58179        * platform/graphics/chromium/LayerRendererChromium.cpp:
58180        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
58181        * platform/graphics/chromium/VideoLayerChromium.cpp:
58182        (WebCore::VideoLayerChromium::updateContents):
58183        * platform/graphics/skia/ImageBufferSkia.cpp:
58184        (WebCore::ImageBuffer::ImageBuffer):
58185        (WebCore::ImageBuffer::clip):
58186        * platform/graphics/skia/PlatformContextSkia.cpp:
58187        Made setDrawingToImageBuffer and isDrawingToImageBuffer available to
58188        Linux; removed all #if OS(WINDOWS) || OS(LINUX).
58189        (WebCore::PlatformContextSkia::State::State):
58190        (WebCore::PlatformContextSkia::PlatformContextSkia):
58191        (WebCore::PlatformContextSkia::isDrawingToImageBuffer):
58192        (WebCore::PlatformContextSkia::save):
58193        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
58194        (WebCore::PlatformContextSkia::restore):
58195        (WebCore::PlatformContextSkia::applyClipFromImage):
58196        * platform/graphics/skia/PlatformContextSkia.h:
58197
581982010-09-09  Kinuko Yasuda  <kinuko@chromium.org>
58199
58200        Unreviewed, Windows build fix.
58201
58202        * WebCore.vcproj/WebCore.vcproj:
58203
582042010-09-09  Kinuko Yasuda  <kinuko@chromium.org>
58205
58206        Reviewed by Jian Li.
58207
58208        [FileSystem] Add File and FileWriter accessor methods in FileEntry
58209        https://bugs.webkit.org/show_bug.cgi?id=45440
58210
58211        Adding file() and createWrite() methods in FileEntry.
58212        http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-fileentry-interface
58213
58214        No new tests; this patch doesn't have implementation yet.
58215
58216        * CMakeLists.txt:
58217        * DerivedSources.cpp:
58218        * DerivedSources.make:
58219        * GNUmakefile.am:
58220        * WebCore.gypi:
58221        * WebCore.pri:
58222        * WebCore.pro:
58223        * WebCore.vcproj/WebCore.vcproj:
58224        * WebCore.xcodeproj/project.pbxproj:
58225        * fileapi/FileEntry.cpp:
58226        (WebCore::FileEntry::createWriter): Added.
58227        (WebCore::FileEntry::file): Added.
58228        * fileapi/FileEntry.h:
58229        * fileapi/FileEntry.idl:
58230        * fileapi/FileCallback.h: Added.
58231        * fileapi/FileCallback.idl: Added.
58232        * fileapi/FileWriterCallback.h: Added.
58233        * fileapi/FileWriterCallback.idl: Added.
58234
582352010-09-09  Yuzo Fujishima  <yuzo@google.com>
58236
58237        Reviewed by Darin Adler.
58238
58239        Fix for Bug 24742 - CSS tokenizer allows color in 6 hex digit notation to be followed by the next token without separation
58240        Stop checking in the flex definition the number of hexadecimal digits for a hex color.
58241        Instead, rely on the checking in Color::parseHexColor().
58242        The resultant grammar is actually more close to the one in http://www.w3.org/TR/CSS21/grammar.html .
58243
58244        https://bugs.webkit.org/show_bug.cgi?id=24742
58245
58246        Test: fast/css/invalid-hex-color.html
58247
58248        * css/tokenizer.flex:
58249
582502010-09-09  Chris Rogers  <crogers@google.com>
58251
58252        Reviewed by Kenneth Russell.
58253
58254        Add AudioSourceNode files
58255        https://bugs.webkit.org/show_bug.cgi?id=45010
58256
58257        No new tests since audio API is not yet implemented.
58258
58259        * webaudio/AudioSourceNode.h: Added.
58260        (WebCore::AudioSourceNode::AudioSourceNode):
58261        * webaudio/AudioSourceNode.idl: Added.
58262
582632010-09-09  James Robinson  <jamesr@chromium.org>
58264
58265        Reviewed by Kenneth Russell.
58266
58267        [chromium] Don't call deleteTexture on a texture attached to an FBO that is not currently bound
58268        https://bugs.webkit.org/show_bug.cgi?id=45504
58269
58270        The OpenGL semantics for glDeleteTextures() are that if one of the specified texture is attached
58271        to the currently bound FBO, that FBO's color attachment is removed.  However, if the specified
58272        texture is attached to a non-current FBO then OpenGL states explicitly that that FBO's color
58273        attachment is not cleared and that the texture stays alive even though its ID is no longer
58274        valid to use.  This is not the behavior we want in DrawingBuffer - we actually want the
58275        texture to be immediately deleted.  This patch makes sure the DrawingBuffer's FBO is bound
58276        before deleting its color attachment texture.
58277
58278        * platform/graphics/chromium/DrawingBufferChromium.cpp:
58279        (WebCore::DrawingBuffer::~DrawingBuffer):
58280        (WebCore::DrawingBuffer::reset):
58281
582822010-09-09  James Robinson  <jamesr@chromium.org>
58283
58284        Reviewed by Kenneth Russell.
58285
58286        [chromium] Chromium mac build should exclude all Skia files in platform/graphics/skia/, not just some
58287        https://bugs.webkit.org/show_bug.cgi?id=45516
58288
58289        This excludes platform/graphics/skia/*Skia.(h|cpp) by pattern instead of individual files.
58290        None of these files should be compiled into the Chromium mac build and the old file list had
58291        both omissions and stale entries.
58292
58293        * WebCore.gyp/WebCore.gyp:
58294
582952010-09-09  Dirk Pranke  <dpranke@chromium.org>
58296
58297        Unreviewed, rolling out r67145.
58298        http://trac.webkit.org/changeset/67145
58299        https://bugs.webkit.org/show_bug.cgi?id=45431
58300
58301        broke editing/inserting/5994480-2.html on Chromium Linux
58302
58303        * css/CSSStyleSelector.h:
58304        * editing/ApplyStyleCommand.cpp:
58305        (WebCore::StyleChange::init):
58306        (WebCore::StyleChange::extractTextStyles):
58307        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
58308
583092010-09-09  Dumitru Daniliuc  <dumi@chromium.org>
58310
58311        Reviewed by Alexey Proskuryakov.
58312
58313        Removing an obsolete comment.
58314        https://bugs.webkit.org/show_bug.cgi?id=40112
58315
58316        * bindings/generic/ActiveDOMCallback.cpp:
58317
583182010-09-09  James Robinson  <jamesr@chromium.org>
58319
58320        Reviewed by Kenneth Russell.
58321
58322        [chromium] Clear only the uploaded portion of the software backing store when in mixed mode
58323        https://bugs.webkit.org/show_bug.cgi?id=45503
58324
58325        This clears out only the dirty region of the software backing store when uploading results
58326        to hardware rather than clearing out the entire software backing store.  This is a significant
58327        performance improvement when the dirty rects are small relative to the whole canvas.
58328
58329        This also implements the non-swizzle path of copySubRect() using memcpy() to copy the rows, which
58330        is another respectable performance increase.
58331
58332        * html/canvas/CanvasRenderingContext2D.cpp:
58333        * platform/graphics/gpu/Texture.cpp:
58334        (WebCore::copySubRect):
58335        * platform/graphics/skia/PlatformContextSkia.cpp:
58336        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
58337        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
58338        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
58339
583402010-09-09  Kenneth Russell  <kbr@google.com>
58341
58342        Reviewed by James Robinson.
58343
58344        Add math utilities for cubic curve processing
58345        https://bugs.webkit.org/show_bug.cgi?id=45251
58346
58347        Adding mathematic utilities needed for the GPU accelerated path
58348        rendering algorithm from GPU Gems 3. No tests yet; will be tested
58349        in conjunction with later code.
58350
58351        * platform/graphics/gpu/LoopBlinnMathUtils.cpp: Added.
58352        (WebCore::LoopBlinnMathUtils::roundToZero):
58353        (WebCore::LoopBlinnMathUtils::approxEqual):
58354        (WebCore::LoopBlinnMathUtils::linesIntersect):
58355        (WebCore::LoopBlinnMathUtils::pointInTriangle):
58356        (WebCore::LoopBlinnMathUtils::trianglesOverlap):
58357        (WebCore::LoopBlinnMathUtils::chopCubicAt):
58358        (WebCore::LoopBlinnMathUtils::xRayCrossesLine):
58359        (WebCore::LoopBlinnMathUtils::numXRayCrossingsForCubic):
58360        * platform/graphics/gpu/LoopBlinnMathUtils.h: Added.
58361
583622010-09-09  Kinuko Yasuda  <kinuko@chromium.org>
58363
58364        Reviewed by Dumitru Daniliuc.
58365
58366        Add Entry.getMetadata for FileSystem API
58367        https://bugs.webkit.org/show_bug.cgi?id=45403
58368
58369        Add getMetadata to Entry.idl (I had missed to include this
58370        in my previous Entry.idl patch.)
58371
58372        Also make some minor cleanups and nits fixes.
58373
58374        No new tests; layout test is going be added later.
58375
58376        * fileapi/DOMFileSystem.cpp: Bug fix.
58377        * fileapi/MetadataCallback.h: Nits fix.
58378        * fileapi/Entry.idl: Added getMetadata.
58379        * fileapi/ErrorCallback.h: Nits fix.
58380
583812010-09-09  Ryosuke Niwa  <rniwa@webkit.org>
58382
58383        Reviewed by Eric Seidel.
58384
58385        REGRESSION: applying new font size causes font-size outside selection to change
58386        https://bugs.webkit.org/show_bug.cgi?id=45026
58387
58388        The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly.
58389        Namely, it was treating font size as a pixel value for font-size property.  Fixed this by adding fontSizeToCSSValue
58390        which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement
58391
58392        Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were
58393        relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size
58394        to legacy font size by CSSStyleSelector::legacyFontSize.
58395
58396        Test: editing/style/push-down-font-styles.html
58397
58398        * editing/ApplyStyleCommand.cpp:
58399        (WebCore::StyleChange::extractTextStyles): Fixed a bug. See above.
58400        (WebCore::stringToCSSValue): Converts string to CSSValue.
58401        (WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue.
58402        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue.
58403        * css/CSSStyleSelector.h: Made fontSizeForKeyword public.
58404
584052010-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
58406
58407        Unreviewed, rolling out r67126.
58408        http://trac.webkit.org/changeset/67126
58409        https://bugs.webkit.org/show_bug.cgi?id=45510
58410
58411        broke chromium mac compile, it also uses PlatformContextSkia
58412        (Requested by jamesr on #webkit).
58413
58414        * platform/graphics/chromium/ContentLayerChromium.cpp:
58415        (WebCore::ContentLayerChromium::updateContents):
58416        * platform/graphics/chromium/FontLinux.cpp:
58417        (WebCore::adjustTextRenderMode):
58418        (WebCore::Font::drawGlyphs):
58419        (WebCore::Font::drawComplexText):
58420        * platform/graphics/chromium/LayerRendererChromium.cpp:
58421        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
58422        * platform/graphics/chromium/VideoLayerChromium.cpp:
58423        (WebCore::VideoLayerChromium::updateContents):
58424        * platform/graphics/skia/ImageBufferSkia.cpp:
58425        (WebCore::ImageBuffer::ImageBuffer):
58426        (WebCore::ImageBuffer::clip):
58427        * platform/graphics/skia/PlatformContextSkia.cpp:
58428        (WebCore::PlatformContextSkia::State::State):
58429        (WebCore::PlatformContextSkia::PlatformContextSkia):
58430        (WebCore::PlatformContextSkia::save):
58431        (WebCore::PlatformContextSkia::restore):
58432        * platform/graphics/skia/PlatformContextSkia.h:
58433
584342010-09-09  Simon Fraser  <simon.fraser@apple.com>
58435
58436        Attempt to fix Qt build.
58437
58438        * WebCore.pro:
58439
584402010-09-09  Simon Fraser  <simon.fraser@apple.com>
58441
58442        Reviewed by Darin Adler.
58443
58444        https://bugs.webkit.org/show_bug.cgi?id=45509
58445        <rdar://problem/8142166> REGRESSION: WebView setDrawsBackground:NO no
58446        longer works without setBackgroundColor:clearColor
58447        
58448        r61215 caused RenderView to paint the viewport background when the
58449        document element's renderer is known to not fill opaquely paint
58450        the entire viewport, i.e. more often than it did before.
58451        
58452        This exposed a latent, long-standing bug which was introduced
58453        in r14638 (the RenderCanvas -> RenderView rename), where a call
58454        to view()->isTransparent() was not converted to frameView()->isTransparent(),
58455        yet happened to still compile because of RenderObject::isTransparent().
58456        
58457        This resulted in us painting the viewport background, even when
58458        WebView clients explicitly said that they wanted a transparent
58459        WebView.
58460        
58461        Fixed by calling frameView()->isTransparent(), as intended.
58462
58463        * rendering/RenderView.cpp:
58464        (WebCore::RenderView::paintBoxDecorations):
58465
584662010-09-09  Chris Rogers  <crogers@google.com>
58467
58468        Reviewed by Kenneth Russell.
58469
58470        audio engine: add Biquad files
58471        https://bugs.webkit.org/show_bug.cgi?id=44795
58472
58473        No new tests since audio API is not yet implemented.
58474
58475        * platform/audio/Biquad.cpp: Added.
58476        (WebCore::Biquad::Biquad):
58477        (WebCore::Biquad::process):
58478        (WebCore::Biquad::processFast):
58479        (WebCore::Biquad::processSliceFast):
58480        (WebCore::Biquad::reset):
58481        (WebCore::Biquad::setLowpassParams):
58482        (WebCore::Biquad::setHighpassParams):
58483        (WebCore::Biquad::setLowShelfParams):
58484        (WebCore::Biquad::setZeroPolePairs):
58485        (WebCore::Biquad::setAllpassPole):
58486        * platform/audio/Biquad.h: Added.
58487        (WebCore::Biquad::~Biquad):
58488
584892010-09-09  Chris Rogers  <crogers@google.com>
58490
58491        Reviewed by Kenneth Russell.
58492
58493        Add AudioBuffer files
58494        https://bugs.webkit.org/show_bug.cgi?id=45003
58495
58496        No new tests since audio API is not yet implemented.
58497
58498        * webaudio/AudioBuffer.cpp: Added.
58499        (WebCore::AudioBuffer::create):
58500        (WebCore::AudioBuffer::createFromAudioFileData):
58501        (WebCore::AudioBuffer::AudioBuffer):
58502        (WebCore::AudioBuffer::releaseMemory):
58503        (WebCore::AudioBuffer::getChannelData):
58504        (WebCore::AudioBuffer::zero):
58505        * webaudio/AudioBuffer.h: Added.
58506        (WebCore::AudioBuffer::length):
58507        (WebCore::AudioBuffer::duration):
58508        (WebCore::AudioBuffer::sampleRate):
58509        (WebCore::AudioBuffer::numberOfChannels):
58510        (WebCore::AudioBuffer::gain):
58511        (WebCore::AudioBuffer::setGain):
58512        * webaudio/AudioBuffer.idl: Added.
58513
585142010-09-09  Alexey Marinichev  <amarinichev@chromium.org>
58515
58516        Reviewed by James Robinson.
58517
58518        [chromium] Disable subpixel rendering in Linux when GPU compositor is active
58519        https://bugs.webkit.org/show_bug.cgi?id=45087
58520
58521        Covered by all tests that activate the compositor and contain text.
58522
58523        * platform/graphics/chromium/ContentLayerChromium.cpp:
58524        (WebCore::ContentLayerChromium::updateContents):
58525        * platform/graphics/chromium/FontLinux.cpp:
58526        (WebCore::adjustTextRenderMode): Added a check to see if the compositor is active.
58527        (WebCore::Font::drawGlyphs):
58528        (WebCore::Font::drawComplexText):
58529        * platform/graphics/chromium/LayerRendererChromium.cpp:
58530        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
58531        * platform/graphics/chromium/VideoLayerChromium.cpp:
58532        (WebCore::VideoLayerChromium::updateContents):
58533        * platform/graphics/skia/ImageBufferSkia.cpp:
58534        (WebCore::ImageBuffer::ImageBuffer):
58535        (WebCore::ImageBuffer::clip):
58536        * platform/graphics/skia/PlatformContextSkia.cpp:
58537        Made setDrawingToImageBuffer and isDrawingToImageBuffer available to
58538        Linux; removed all #if OS(WINDOWS) || OS(LINUX).
58539        (WebCore::PlatformContextSkia::State::State):
58540        (WebCore::PlatformContextSkia::PlatformContextSkia):
58541        (WebCore::PlatformContextSkia::isDrawingToImageBuffer):
58542        (WebCore::PlatformContextSkia::save):
58543        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
58544        (WebCore::PlatformContextSkia::restore):
58545        (WebCore::PlatformContextSkia::applyClipFromImage):
58546        * platform/graphics/skia/PlatformContextSkia.h:
58547
585482010-09-09  Simon Fraser  <simon.fraser@apple.com>
58549
58550        Fix windows build by adding missing file.
58551
58552        * platform/graphics/win/LocalWindowsContext.h: Added.
58553        (WebCore::LocalWindowsContext::LocalWindowsContext):
58554        (WebCore::LocalWindowsContext::~LocalWindowsContext):
58555        (WebCore::LocalWindowsContext::hdc):
58556
585572010-09-09  Simon Fraser  <simon.fraser@apple.com>
58558
58559        Reviewed by Adam Roben.
58560
58561        Scrollbars fail to render in composited iframes.
58562        https://bugs.webkit.org/show_bug.cgi?id=45335
58563
58564        Add a stack-based class, LocalWindowsContext, which does a getWindowsContext/
58565        releaseWindowsContext automatically.
58566
58567        Also fix getWindowsContext to create a bitmap context if mayCreateBitmap
58568        is true, and if the context's HDC is null. This fixes scrollbar rendering
58569        in compositing layers.
58570
58571        Use LocalWindowsContext in places where we had bare getWindowsContext() calls.
58572
58573        * platform/graphics/win/LocalWindowsContext.h
58574        (WebCore::LocalWindowsContext::LocalWindowsContext):
58575        (WebCore::LocalWindowsContext::~LocalWindowsContext):
58576        (WebCore::LocalWindowsContext::hdc):
58577        * platform/graphics/win/GraphicsContextCGWin.cpp:
58578        (WebCore::GraphicsContext::releaseWindowsContext):
58579        * platform/graphics/win/GraphicsContextWin.cpp:
58580        (WebCore::GraphicsContext::getWindowsContext):
58581        * platform/graphics/win/IconWin.cpp:
58582        (WebCore::Icon::paint):
58583        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
58584        (WebCore::MediaPlayerPrivate::paint):
58585        * platform/win/ScrollbarThemeWin.cpp:
58586        (WebCore::ScrollbarThemeWin::paintTrackPiece):
58587        (WebCore::ScrollbarThemeWin::paintButton):
58588        * plugins/win/PluginViewWin.cpp:
58589        (WebCore::PluginView::paintWindowedPluginIntoContext):
58590        (WebCore::PluginView::paint):
58591        * rendering/RenderThemeWin.cpp:
58592        (WebCore::drawControl):
58593
585942010-09-09  Vincent Scheib  <scheib@chromium.org>
58595
58596        Reviewed by James Robinson.
58597
58598        [Chromium] Minimize uploads in canvas 2d mixed mode rendering
58599        https://bugs.webkit.org/show_bug.cgi?id=45476
58600
58601        No new tests - change is for performance, logic fixes only apparent when running hardware acceleration.
58602
58603        - Enumeration values fixed, "CavasWillDraw" -> "CanvasDidDraw".
58604        - markDirtyRect() plumbed through GraphicsContext to PlatformContextSkia.
58605        - Texture::updateSubRect() added to allow uploading only a dirty rect.
58606        - Logic fix in ImageBuffer::draw(), caused canvas to canvas copies to be incorrect.
58607
58608        * html/canvas/CanvasRenderingContext2D.cpp:
58609        (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
58610        (WebCore::CanvasRenderingContext2D::strokeRect):
58611        (WebCore::CanvasRenderingContext2D::drawImage):
58612        (WebCore::CanvasRenderingContext2D::didDraw):
58613          - Logic fix for drawingContext()->markDirtyRect() call.
58614        (WebCore::CanvasRenderingContext2D::putImageData):
58615        (WebCore::CanvasRenderingContext2D::drawTextInternal):
58616          - Logic fix for calls to "didDraw()", use peer method first.
58617        * html/canvas/CanvasRenderingContext2D.h:
58618        * platform/graphics/GraphicsContext.cpp:
58619        (WebCore::GraphicsContext::drawImageBuffer):
58620        (WebCore::GraphicsContext::markDirtyRect):
58621        * platform/graphics/GraphicsContext.h:
58622        * platform/graphics/gpu/Texture.cpp:
58623        (WebCore::Texture::create):
58624        (WebCore::Texture::load):
58625        (WebCore::Texture::updateSubRect):
58626        * platform/graphics/gpu/Texture.h:
58627        * platform/graphics/gpu/TilingData.h:
58628        (WebCore::TilingData::borderTexels):
58629        * platform/graphics/skia/GraphicsContextSkia.cpp:
58630        (WebCore::GraphicsContext::clipConvexPolygon):
58631        (WebCore::GraphicsContext::markDirtyRect):
58632        * platform/graphics/skia/ImageBufferSkia.cpp:
58633        (WebCore::ImageBuffer::draw):
58634        * platform/graphics/skia/PlatformContextSkia.cpp:
58635        (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
58636        (WebCore::PlatformContextSkia::drawRect):
58637        (WebCore::PlatformContextSkia::setFillColor):
58638        (WebCore::PlatformContextSkia::setStrokeColor):
58639        (WebCore::PlatformContextSkia::markDirtyRect):
58640        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
58641        * platform/graphics/skia/PlatformContextSkia.h:
58642
586432010-09-08  Darin Adler  <darin@apple.com>
58644
58645        Reviewed by Adam Barth.
58646
58647        Move functions from Frame to Editor as planned
58648        https://bugs.webkit.org/show_bug.cgi?id=45218
58649
58650        Just executing the plan that has long been described in Frame.h
58651        to move a bunch of functions to Editor.
58652
58653        * WebCore.exp.in: Updated.
58654
58655        * editing/Editor.cpp:
58656        (WebCore::Editor::fontForSelection):
58657        (WebCore::Editor::textDirectionForSelection):
58658        (WebCore::Editor::applyStyle):
58659        (WebCore::Editor::selectionStartHasStyle):
58660        (WebCore::Editor::selectionHasStyle):
58661        (WebCore::Editor::selectionStartCSSPropertyValue):
58662        (WebCore::Editor::Editor):
58663        (WebCore::Editor::cut):
58664        (WebCore::Editor::copy):
58665        (WebCore::Editor::ignoreSpelling):
58666        (WebCore::Editor::learnSpelling):
58667        (WebCore::Editor::isSelectionMisspelled):
58668        (WebCore::Editor::guessesForMisspelledSelection):
58669        (WebCore::Editor::selectedText):
58670        (WebCore::Editor::firstRectForRange):
58671        (WebCore::Editor::shouldChangeSelection):
58672        (WebCore::Editor::computeAndSetTypingStyle):
58673        (WebCore::Editor::selectionComputedStyle):
58674        (WebCore::Editor::textFieldDidBeginEditing):
58675        (WebCore::Editor::textFieldDidEndEditing):
58676        (WebCore::Editor::textDidChangeInTextField):
58677        (WebCore::Editor::doTextFieldCommandFromEvent):
58678        (WebCore::Editor::textWillBeDeletedInTextField):
58679        (WebCore::Editor::textDidChangeInTextArea):
58680        (WebCore::Editor::applyEditingStyleToBodyElement):
58681        (WebCore::Editor::applyEditingStyleToElement):
58682        (WebCore::Editor::styleForSelectionStart):
58683        (WebCore::Editor::findString):
58684        (WebCore::Editor::countMatchesForText):
58685        (WebCore::Editor::setMarkedTextMatchesAreHighlighted):
58686        (WebCore::Editor::respondToChangedSelection):
58687        * editing/Editor.h:
58688        * editing/mac/EditorMac.mm:
58689        (WebCore::Editor::fontAttributesForSelectionStart):
58690        (WebCore::Editor::baseWritingDirectionForSelectionStart):
58691        Moved functions here.
58692
58693        * page/Frame.cpp:
58694        (WebCore::Frame::Frame):
58695        (WebCore::Frame::shouldChangeSelection):
58696        * page/Frame.h:
58697        * page/mac/FrameMac.mm:
58698        Moved functions out of here.
58699
58700        * dom/InputElement.cpp:
58701        (WebCore::InputElement::dispatchBlurEvent):
58702        (WebCore::InputElement::aboutToUnload):
58703        * editing/DeleteSelectionCommand.cpp:
58704        (WebCore::DeleteSelectionCommand::doApply):
58705        * editing/EditorCommand.cpp:
58706        (WebCore::executeToggleStyleInList):
58707        (WebCore::executeDeleteToMark):
58708        (WebCore::executeFindString):
58709        (WebCore::executeSelectToMark):
58710        (WebCore::executeSetMark):
58711        (WebCore::executeSwapWithMark):
58712        (WebCore::enabledVisibleSelectionAndMark):
58713        * editing/SelectionController.cpp:
58714        (WebCore::SelectionController::setSelection):
58715        * html/HTMLInputElement.cpp:
58716        (WebCore::HTMLInputElement::defaultEventHandler):
58717        * page/ContextMenuController.cpp:
58718        (WebCore::ContextMenuController::contextMenuItemSelected):
58719        * page/DOMWindow.cpp:
58720        (WebCore::DOMWindow::find):
58721        * page/DragController.cpp:
58722        (WebCore::DragController::startDrag):
58723        * page/EventHandler.cpp:
58724        (WebCore::EventHandler::sendContextMenuEventForKey):
58725        * page/Page.cpp:
58726        (WebCore::Page::findString):
58727        (WebCore::Page::markAllMatchesForText):
58728        * rendering/InlineTextBox.cpp:
58729        (WebCore::InlineTextBox::paintTextMatchMarker):
58730        * rendering/RenderTextControlMultiLine.cpp:
58731        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
58732        * rendering/RenderTextControlSingleLine.cpp:
58733        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
58734        Changed call sites to use editor().
58735
587362010-09-09  Chris Rogers  <crogers@google.com>
58737
58738        Reviewed by Kenneth Russell.
58739
58740        Add AudioDSPKernelProcessor files
58741        https://bugs.webkit.org/show_bug.cgi?id=45211
58742
58743        No new tests since audio API is not yet implemented.
58744
58745        * platform/audio/AudioDSPKernelProcessor.cpp: Added.
58746        (WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor):
58747        (WebCore::AudioDSPKernelProcessor::initialize):
58748        (WebCore::AudioDSPKernelProcessor::uninitialize):
58749        (WebCore::AudioDSPKernelProcessor::process):
58750        (WebCore::AudioDSPKernelProcessor::reset):
58751        (WebCore::AudioDSPKernelProcessor::setNumberOfChannels):
58752        * platform/audio/AudioDSPKernelProcessor.h: Added.
58753        (WebCore::AudioDSPKernelProcessor::numberOfChannels):
58754
587552010-09-09  Chris Rogers  <crogers@google.com>
58756
58757        Reviewed by Kenneth Russell.
58758
58759        Add setRange() and zeroRange() methods to TypedArrayBase
58760        https://bugs.webkit.org/show_bug.cgi?id=45419
58761
58762        No new tests since adding new methods which are not yet called anywhere.
58763
58764        * html/canvas/ArrayBufferView.cpp:
58765        (WebCore::ArrayBufferView::setRangeImpl):
58766        (WebCore::ArrayBufferView::zeroRangeImpl):
58767        * html/canvas/ArrayBufferView.h:
58768        * html/canvas/TypedArrayBase.h:
58769        (WebCore::TypedArrayBase::setRange):
58770        (WebCore::TypedArrayBase::zeroRange):
58771
587722010-09-09  Robert Hogan  <robert@webkit.org>
58773
58774        Reviewed by Andreas Kling.
58775
58776        [Qt] always send an Accept header
58777
58778        Ensure QtWebKit always sends an Accept header. This is required
58779        for compatibility with sites that expect the header in requests
58780        for subresources.
58781
58782        See https://bugs.webkit.org/show_bug.cgi?id=33242 for more.
58783
58784        https://bugs.webkit.org/show_bug.cgi?id=45458
58785
58786        * platform/network/qt/ResourceRequestQt.cpp:
58787        (WebCore::ResourceRequest::toNetworkRequest):
58788
587892010-09-09  Eric Carlson  <eric.carlson@apple.com>
58790
58791        Reviewed by Chris Marrin.
58792
58793        Add media element logging
58794        https://bugs.webkit.org/show_bug.cgi?id=45469
58795
58796        Add logging at interesting points in a media element's lifecycle.
58797
58798        * html/HTMLMediaElement.cpp:
58799        (WebCore::urlForLogging):
58800        (WebCore::boolString):
58801        (WebCore::HTMLMediaElement::scheduleEvent):
58802        (WebCore::HTMLMediaElement::asyncEventTimerFired):
58803        (WebCore::HTMLMediaElement::canPlayType):
58804        (WebCore::HTMLMediaElement::load):
58805        (WebCore::HTMLMediaElement::prepareForLoad):
58806        (WebCore::HTMLMediaElement::selectMediaResource):
58807        (WebCore::HTMLMediaElement::loadResource):
58808        (WebCore::HTMLMediaElement::isSafeToLoadURL):
58809        (WebCore::HTMLMediaElement::waitForSourceChange):
58810        (WebCore::HTMLMediaElement::noneSupported):
58811        (WebCore::HTMLMediaElement::mediaEngineError):
58812        (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
58813        (WebCore::HTMLMediaElement::setNetworkState):
58814        (WebCore::HTMLMediaElement::setReadyState):
58815        (WebCore::HTMLMediaElement::rewind):
58816        (WebCore::HTMLMediaElement::returnToRealtime):
58817        (WebCore::HTMLMediaElement::addPlayedRange):
58818        (WebCore::HTMLMediaElement::seek):
58819        (WebCore::HTMLMediaElement::finishSeek):
58820        (WebCore::HTMLMediaElement::setPlaybackRate):
58821        (WebCore::HTMLMediaElement::setWebkitPreservesPitch):
58822        (WebCore::HTMLMediaElement::setAutoplay):
58823        (WebCore::HTMLMediaElement::setPreload):
58824        (WebCore::HTMLMediaElement::play):
58825        (WebCore::HTMLMediaElement::playInternal):
58826        (WebCore::HTMLMediaElement::pause):
58827        (WebCore::HTMLMediaElement::pauseInternal):
58828        (WebCore::HTMLMediaElement::setLoop):
58829        (WebCore::HTMLMediaElement::setControls):
58830        (WebCore::HTMLMediaElement::setVolume):
58831        (WebCore::HTMLMediaElement::setMuted):
58832        (WebCore::HTMLMediaElement::togglePlayState):
58833        (WebCore::HTMLMediaElement::beginScrubbing):
58834        (WebCore::HTMLMediaElement::endScrubbing):
58835        (WebCore::HTMLMediaElement::selectNextSourceChild):
58836        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
58837        (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
58838        (WebCore::HTMLMediaElement::mediaPlayerMuteChanged):
58839        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
58840        (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
58841        (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
58842        (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
58843        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
58844        (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged):
58845        (WebCore::HTMLMediaElement::updatePlayState):
58846        (WebCore::HTMLMediaElement::userCancelledLoad):
58847        (WebCore::HTMLMediaElement::stop):
58848        (WebCore::HTMLMediaElement::suspend):
58849        (WebCore::HTMLMediaElement::resume):
58850        (WebCore::HTMLMediaElement::hasPendingActivity):
58851        (WebCore::HTMLMediaElement::mediaVolumeDidChange):
58852        (WebCore::HTMLMediaElement::createMediaPlayerProxy):
58853        (WebCore::HTMLMediaElement::enterFullscreen):
58854        (WebCore::HTMLMediaElement::exitFullscreen):
58855        (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
58856        (WebCore::HTMLMediaElement::mediaCanStart):
58857        (WebCore::HTMLMediaElement::setShouldDelayLoadEvent):
58858
588592010-09-09  Anton Muhin  <antonm@chromium.org>
58860
58861        Reviewed by Adam Barth.
58862
58863        [v8] bypass caches when query memory usage from post GC and in crash handler.
58864        https://bugs.webkit.org/show_bug.cgi?id=45036
58865
58866        Second part of the whole change: now use API introduced in
58867        http://trac.webkit.org/changeset/66818 and now backed by Chromium.
58868
58869        * bindings/v8/V8DOMWindowShell.cpp:
58870        (WebCore::reportFatalErrorInV8):
58871        * bindings/v8/V8GCController.cpp:
58872        (WebCore::V8GCController::gcEpilogue):
58873
588742010-09-09  Kwang Yul Seo  <skyul@company100.net>
58875
58876        Reviewed by James Robinson.
58877
58878        Make sure skia is not Chromium specific
58879        https://bugs.webkit.org/show_bug.cgi?id=39672
58880
58881        FontCustomPlatformData is not Chromium-specific. Move it to platform/skia.
58882
58883        No new tests because this is pure refactoring.
58884
58885        * WebCore.gyp/WebCore.gyp:
58886        * WebCore.gypi:
58887        * platform/graphics/chromium/FontCustomPlatformData.cpp: Removed.
58888        * platform/graphics/chromium/FontCustomPlatformData.h: Removed.
58889        * platform/graphics/skia/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.cpp.
58890        * platform/graphics/skia/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.h.
58891
588922010-09-09  Chris Rogers  <crogers@google.com>
58893
58894        Reviewed by Chris Fleizach.
58895
58896        Add AudioDSPKernel files
58897        https://bugs.webkit.org/show_bug.cgi?id=45319
58898
58899        No new tests since audio API is not yet implemented.
58900
58901        * platform/audio/AudioDSPKernel.h: Added.
58902        (WebCore::AudioDSPKernel::AudioDSPKernel):
58903        (WebCore::AudioDSPKernel::~AudioDSPKernel):
58904        (WebCore::AudioDSPKernel::sampleRate):
58905        (WebCore::AudioDSPKernel::nyquist):
58906        (WebCore::AudioDSPKernel::processor):
58907
589082010-09-09  Chris Rogers  <crogers@google.com>
58909
58910        Reviewed by Chris Fleizach.
58911
58912        Add AudioProcessor.h
58913        https://bugs.webkit.org/show_bug.cgi?id=45206
58914
58915        No new tests since audio API is not yet implemented.
58916
58917        * platform/audio/AudioProcessor.h: Added.
58918        (WebCore::AudioProcessor::AudioProcessor):
58919        (WebCore::AudioProcessor::~AudioProcessor):
58920        (WebCore::AudioProcessor::isInitialized):
58921        (WebCore::AudioProcessor::sampleRate):
58922
589232010-09-09  Kenneth Russell  <kbr@google.com>
58924
58925        Reviewed by James Robinson.
58926
58927        Add cubic texture coordinate computation
58928        https://bugs.webkit.org/show_bug.cgi?id=45250
58929
58930        Adding the texture coordinate computation for cubic curves per the
58931        GPU Gems 3 chapter. No tests yet; will be tested in conjunction
58932        with later code.
58933
58934        * platform/graphics/gpu/LoopBlinnConstants.h: Added.
58935        * platform/graphics/gpu/LoopBlinnTextureCoords.cpp: Added.
58936        (WebCore::LoopBlinnTextureCoords::compute):
58937        * platform/graphics/gpu/LoopBlinnTextureCoords.h: Added.
58938        (WebCore::LoopBlinnTextureCoords::Result::Result):
58939        (WebCore::LoopBlinnTextureCoords::LoopBlinnTextureCoords):
58940
589412010-09-09  Kenneth Russell  <kbr@google.com>
58942
58943        Reviewed by James Robinson.
58944
58945        Add cubic curve classifier
58946        https://bugs.webkit.org/show_bug.cgi?id=45249
58947
58948        Adding the cubic curve classification algorithm per the GPU Gems 3
58949        chapter. No tests yet; will be tested in conjunction with later code.
58950
58951        * platform/graphics/gpu/LoopBlinnClassifier.cpp: Added.
58952        (WebCore::LoopBlinnClassifier::classify):
58953        * platform/graphics/gpu/LoopBlinnClassifier.h: Added.
58954        (WebCore::LoopBlinnClassifier::Result::Result):
58955        (WebCore::LoopBlinnClassifier::LoopBlinnClassifier):
58956
589572010-09-09  Ryosuke Niwa  <rniwa@webkit.org>
58958
58959        Reviewed by Darin Adler.
58960
58961        QueryCommandValue('FontSize') returns pixel values instead of IE font numbers
58962        https://bugs.webkit.org/show_bug.cgi?id=21033
58963
58964        Modified selectionStartCSSPropertyValue to return legacy font size instead of pixel size.
58965        To implement the conversion between pixel font size and legacy font size,
58966        added legacyFontSize to CSSStyleSelector with a helper static function findNearestLegacyFontSize.
58967
58968        Fixed a bug in selectionComputedStyle where it obtains the style of the previous editing position
58969        even when the selection is a range. This change revealed a crash in executeToggleStyleInList,
58970        which was also fixed.
58971
58972        Test: editing/execCommand/query-font-size.html
58973
58974        * css/CSSComputedStyleDeclaration.cpp:
58975        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): Corrected style.
58976        (WebCore::CSSComputedStyleDeclaration::useFixedFontDefaultSize): Added.
58977        * css/CSSComputedStyleDeclaration.h:
58978        * css/CSSStyleSelector.cpp:
58979        (WebCore::CSSStyleSelector::fontSizeForKeyword): Renamed fixed/monospace to shouldUseFixedDefaultSize.
58980        (WebCore::findNearestLegacyFontSize): Added, a helper for legacyFontSize.
58981        (WebCore::CSSStyleSelector::legacyFontSize): Added.
58982        * css/CSSStyleSelector.h:
58983        * editing/Editor.cpp:
58984        (WebCore::Editor::selectionStartCSSPropertyValue): Added a conversion from pixel to legacy font size.
58985        * editing/EditorCommand.cpp:
58986        (WebCore::executeToggleStyleInList): Crash fix.
58987        * page/Frame.cpp:
58988        (WebCore::Frame::selectionComputedStyle): See above.
58989
589902010-09-09  Robert Hogan  <robert@webkit.org>
58991
58992        Reviewed by Adam Barth.
58993
58994        Give WebKit clients a way to replace window.screen 
58995        to foil attempts to track users with it.
58996
58997        This allows clients to overload the values returned by the
58998        Screen object through the JSC manipulation API (such as
58999        QWebFrame::addToJavaScriptWindowObject() in Qt). Clients will
59000        want to do this when they do not want to reveal too much
59001        explicit information about the user's desktop configuration.
59002
59003        https://bugs.webkit.org/show_bug.cgi?id=41802
59004
59005        * page/DOMWindow.idl:
59006
590072010-09-09  Kenneth Russell  <kbr@google.com>
59008
59009        Reviewed by James Robinson.
59010
59011        Memory leak in red/black tree
59012        https://bugs.webkit.org/show_bug.cgi?id=45472
59013
59014        Fixed memory leak in red/black tree where it was using operator
59015        new directly to allocate its internal nodes rather than the arena
59016        with which it was configured. Added allocateObject variant to
59017        arena supporting single-argument constructors. Added test to
59018        red/black tree unit tests to cover this functionality, and
59019        refactored TrackedAllocator into helper file to share between
59020        arena and red/black tree tests.
59021
59022        * platform/graphics/gpu/PODArena.h:
59023        (WebCore::PODArena::allocateObject):
59024        (WebCore::PODArena::allocateBase):
59025        * platform/graphics/gpu/PODIntervalTree.h:
59026        (WebCore::PODIntervalTree::PODIntervalTree):
59027        * platform/graphics/gpu/PODRedBlackTree.h:
59028        (WebCore::PODRedBlackTree::add):
59029
590302010-09-09  Dean Jackson  <dino@apple.com>
59031
59032        Reviewed by Simon Fraser.
59033
59034        Fill mode is broken with multiple keyframes
59035        https://bugs.webkit.org/show_bug.cgi?id=41209
59036
59037        With a forward fill mode the animation would tick after
59038        the end of the animation, causing the fractional
59039        duration of the animation to wrap. This meant the last
59040        style update would happen using the incorrect keyframes.
59041        The solution was to put clamps in for the elapsed time
59042        and current iteration count.
59043
59044        Tests: animations/fill-mode-missing-from-to-keyframes.html
59045               animations/fill-mode-multiple-keyframes.html
59046
59047        * page/animation/KeyframeAnimation.cpp:
59048        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
59049
590502010-09-09  Chris Fleizach  <cfleizach@apple.com>
59051
59052        Reviewed by David Kilzer.
59053
59054        AX: Support AccessibilityTextMarkers in DRT
59055        https://bugs.webkit.org/show_bug.cgi?id=44778
59056
59057        Provide support in DRT for accessing and manipulating the text marker system that AX exposes.
59058        This will allow future bug fixes in the text marker system to be adequately tested.
59059
59060        Tests: platform/mac/accessibility/element-for-text-marker.html
59061               platform/mac/accessibility/text-marker-length.html
59062
59063        * accessibility/mac/AccessibilityObjectWrapper.mm:
59064        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
59065
590662010-09-09  Simon Fraser  <simon.fraser@apple.com>
59067
59068        Reviewed by Dan Bernstein.
59069
59070        REGRESSION(r58875-r59046): Scrollable content drawn in wrong layer with Flash 10.1
59071        https://bugs.webkit.org/show_bug.cgi?id=40743
59072        
59073        We can't do partial compositing layer updates on scrolling if we have to look
59074        for overlap, because the overlap map needs to be populated by traversing the
59075        compositing layer hierarchy from the root.
59076
59077        Test: compositing/layer-creation/scroll-partial-update.html
59078
59079        * rendering/RenderLayerCompositor.cpp:
59080        (WebCore::RenderLayerCompositor::updateCompositingLayers):
59081
590822010-09-09  Philippe Normand  <pnormand@igalia.com>
59083
59084        Reviewed by Martin Robinson.
59085
59086        [GTK] testmimehandling falsely succeeds testing Ogg mime type
59087        https://bugs.webkit.org/show_bug.cgi?id=45349
59088
59089        Advertize audio/x-vorbis+ogg so MediaDocuments loading local ogg
59090        files work as well.
59091
59092        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
59093        (WebCore::mimeTypeCache):
59094
590952010-09-09  Adam Barth  <abarth@webkit.org>
59096
59097        Move FTPDirectoryDocument, ImageDocument, MediaDocument, and
59098        PluginDocument from WebCore/loader to WebCore/html.  These classes are
59099        subclasses of HTMLDocument.  They don't belong in the loader.  Further
59100        cleanup patches to follow.
59101
59102        * Android.mk:
59103        * CMakeLists.txt:
59104        * GNUmakefile.am:
59105        * WebCore.gypi:
59106        * WebCore.pro:
59107        * WebCore.vcproj/WebCore.vcproj:
59108        * WebCore.xcodeproj/project.pbxproj:
59109        * html/FTPDirectoryDocument.cpp: Copied from WebCore/loader/FTPDirectoryDocument.cpp.
59110        * html/FTPDirectoryDocument.h: Copied from WebCore/loader/FTPDirectoryDocument.h.
59111        * html/ImageDocument.cpp: Copied from WebCore/loader/ImageDocument.cpp.
59112        * html/ImageDocument.h: Copied from WebCore/loader/ImageDocument.h.
59113        * html/MediaDocument.cpp: Copied from WebCore/loader/MediaDocument.cpp.
59114        * html/MediaDocument.h: Copied from WebCore/loader/MediaDocument.h.
59115        * html/PluginDocument.cpp: Copied from WebCore/loader/PluginDocument.cpp.
59116        * html/PluginDocument.h: Copied from WebCore/loader/PluginDocument.h.
59117        * loader/FTPDirectoryDocument.cpp: Removed.
59118        * loader/FTPDirectoryDocument.h: Removed.
59119        * loader/ImageDocument.cpp: Removed.
59120        * loader/ImageDocument.h: Removed.
59121        * loader/MediaDocument.cpp: Removed.
59122        * loader/MediaDocument.h: Removed.
59123        * loader/PluginDocument.cpp: Removed.
59124        * loader/PluginDocument.h: Removed.
59125
591262010-09-09  Andrey Kosyakov  <caseq@chromium.org>
59127
59128        Reviewed by Yury Semikhatsky.
59129
59130        Web Inspector: use string representation of resource type in extension API
59131        Fixed Resoruce.Type.toString() to handle Resource.Type.Media.
59132        https://bugs.webkit.org/show_bug.cgi?id=45286
59133
59134        Test: inspector/extensions-resources.html
59135
59136        * English.lproj/localizedStrings.js: Added "media".
59137        * inspector/front-end/ExtensionServer.js: Added webInspector.resources.Types. Return resource types as strings.
59138        (WebInspector.ExtensionServer.prototype._convertResource):
59139        (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
59140        * inspector/front-end/Resource.js: Added toUIString(), changed toString() to return locale-independent representation.
59141        (WebInspector.Resource.Type.toUIString):
59142        (WebInspector.Resource.Type.toString):
59143
591442010-09-09  Kristian Amlie  <kristian.amlie@nokia.com>
59145
59146        Reviewed by Andreas Kling.
59147
59148        [Qt] Fixed incorrect Symbian scoping.
59149
59150        The missing install functionality is only true for mmp based systems.
59151
59152        https://bugs.webkit.org/show_bug.cgi?id=45268
59153
59154        * WebCore.pro:
59155
591562010-09-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
59157
59158        Reviewed by Dirk Schulze.
59159
59160        [WML] Add a parameter to fix build break.
59161        https://bugs.webkit.org/show_bug.cgi?id=45437
59162
59163        In WMLSelectElement.h, the setSelectedIndexByUser() needs to have one more parameter. 
59164        Because, parent class's setSelectedIndexByUser() has one more param.
59165
59166        * wml/WMLSelectElement.h:
59167
591682010-09-09  Ryuan Choi  <ryuan.choi@samsung.com>
59169
59170        Unreviewed attempt to fix EFL build after r67001.
59171
59172        [EFL] Regression (67001) Build break
59173        https://bugs.webkit.org/show_bug.cgi?id=45422
59174
59175        * platform/efl/ScrollbarEfl.cpp:
59176        (scrollbarEflEdjeMessage):
59177
591782010-09-08  Ryosuke Niwa  <rniwa@webkit.org>
59179
59180        Reviewed by Tony Chang.
59181
59182        MarkupAccumulator should be broken down into two classes
59183        https://bugs.webkit.org/show_bug.cgi?id=44854
59184
59185        Extracted wrapWithNode, wrapWithStyleNode, stringValueForRange, renderedText, removeExteriorStyles,
59186        shouldAnnotate, m_shouldAnnotate, and m_reversedPrecedingMarkup from MarkupAccumulator to create
59187        StyledMarkupAccumulator in order to isolate annotation related code and prepending of text.
59188
59189        Isolating MarkupAccumulator as a separate class has two advantages:
59190        1. Isolated serialization code is easier to understand and easier to security-review.
59191        2. Embedder can use MarkupAccumulator to implement "Save as" feature.
59192
59193        Also made takeResults, appendText, and appendElement in MarkupAccumulator virtual to override in
59194        StyledMarkupAccumulator because prepending text requires overriding takeResults, appendText needs
59195        to append only rendered text when shouldAnnotate() is true, and appendElement requires a different
59196        behavior when shouldAnnotate() is true or when called inside wrapWithNode with convertBlocksToInlines = true.
59197
59198        No new tests are added since this is a cleanup.
59199
59200        * editing/markup.cpp:
59201        (WebCore::MarkupAccumulator::MarkupAccumulator): Removed shouldAnnotate from argument.
59202        (WebCore::MarkupAccumulator::~MarkupAccumulator): Added.
59203        (WebCore::StyledMarkupAccumulator::): Added.
59204        (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Added.
59205        (WebCore::StyledMarkupAccumulator::appendElement): Added to support annotation.
59206        (WebCore::StyledMarkupAccumulator::shouldAnnotate): Moved from MarkupAccumulator.
59207        (WebCore::MarkupAccumulator::appendStartTag): No longer takes convertBlocksToInlines and RangeFullySelectsNode.
59208        (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Moved from MarkupAccumulator.
59209        (WebCore::MarkupAccumulator::takeResults): No longer accumulates prepended text, and made virtual.
59210        (WebCore::StyledMarkupAccumulator::takeResults): Added to support prepended text.
59211        (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute): Takes a reference to Attribute instead of a pointer.
59212        (WebCore::MarkupAccumulator::entityMaskForText): Extracted from appendText.
59213        (WebCore::MarkupAccumulator::appendText): No longer deals with annotation.
59214        (WebCore::StyledMarkupAccumulator::appendText): Added to support annotation.
59215        (WebCore::StyledMarkupAccumulator::stringValueForRange): Moved from MarkupAccumulator.
59216        (WebCore::StyledMarkupAccumulator::renderedText): Moved from MarkupAccumulator.
59217        (WebCore::MarkupAccumulator::appendElement): No longer deals with annotation.
59218        (WebCore::StyledMarkupAccumulator::wrapWithNode): Moved from MarkupAccumulator.
59219        (WebCore::StyledMarkupAccumulator::removeExteriorStyles): Moved from MarkupAccumulator.
59220        (WebCore::MarkupAccumulator::appendOpenTag): Added.
59221        (WebCore::MarkupAccumulator::appendCloseTag): Added.
59222        (WebCore::MarkupAccumulator::appendAttribute): Added.
59223        (WebCore::MarkupAccumulator::appendStartMarkup): No longer takes convertBlocksToInlines and RangeFullySelectsNode.
59224        (WebCore::serializeNodes): Takes StyledMarkupAccumulator.
59225        (WebCore::createMarkup): Range version uses StyledMarkupAccumulator and node version uses MarkupAccumulator.
59226
592272010-09-08  Peter Kasting  <pkasting@google.com>
59228
59229        Not reviewed, layout test fix.
59230        
59231        Fix flaky layout test results caused by not initializing members correctly.
59232        https://bugs.webkit.org/show_bug.cgi?id=45411
59233
59234        * platform/ScrollAnimator.cpp:
59235        (WebCore::ScrollAnimator::ScrollAnimator):
59236        (WebCore::ScrollAnimator::~ScrollAnimator):
59237        * platform/ScrollAnimator.h:
59238
592392010-09-08  MORITA Hajime  <morrita@google.com>
59240
59241        Reviewed by Tony Chang.
59242
59243        spelling underline gets lost on backspace
59244        https://bugs.webkit.org/show_bug.cgi?id=41423
59245
59246        moveParagraphs() did make a DOM range by serializing source range
59247        and deserializing it back, and markers are gone during the process.
59248        This change marks that DOM range again.
59249
59250        Test: editing/spelling/spelling-backspace-between-lines.html
59251
59252        * editing/CompositeEditCommand.cpp:
59253        (WebCore::CompositeEditCommand::moveParagraphs):
59254        * editing/Editor.cpp:
59255        (WebCore::Editor::clearMisspellingsAndBadGrammar): Added.
59256        (WebCore::Editor::markMisspellingsAndBadGrammar): Added.
59257        * editing/Editor.h:
59258
592592010-09-08  Adam Barth  <abarth@webkit.org>
59260
59261        Reviewed by Eric Seidel.
59262
59263        text/plain documents that start with \n trigger ASSERT
59264        https://bugs.webkit.org/show_bug.cgi?id=45409
59265
59266        Because the TextDocumentParser uses a <pre> element to show the text,
59267        it ran into a requirement from HTML5 to skip any initial \n character
59268        tokens inside a <pre> element.  We don't want the behavior for
59269        TextDocuments, so I've loosened our ASSERTs and added a comment and a
59270        test to document the correct behavior.
59271
59272        Test: fast/tokenizer/text-plain.html
59273
59274        * html/parser/HTMLTokenizer.cpp:
59275        (WebCore::HTMLTokenizer::nextToken):
59276
592772010-09-08  James Robinson  <jamesr@chromium.org>
59278
59279        Reviewed by Kenneth Russell.
59280
59281        [chromium] Always do 2d canvas clearRect() in hardware
59282        https://bugs.webkit.org/show_bug.cgi?id=45415
59283
59284        r67003 forced Canvas 2d's clearRect() to happen in software if a gradient/shadow/etc was
59285        active.  This is subtly wrong for mixed mode rendering since it results in only the
59286        software backing store being cleared and not the hardware.  This forces clearRect() to
59287        happen in hardware.  Since we upload mixed mode results before doing any hardware draw
59288        this means we always clear everything.
59289
59290        * platform/graphics/skia/GraphicsContextSkia.cpp:
59291        (WebCore::GraphicsContext::clearRect):
59292
592932010-09-08  Dean Jackson  <dino@apple.com>
59294
59295        Unreviewed attempt to fix the Mac builds.
59296
59297        * css/CSSParser.cpp:
59298        (WebCore::CSSParser::parseAnimationTimingFunction):
59299
593002010-09-08  Dean Jackson  <dino@apple.com>
59301
59302        Unreviewed attempt to fix QT build.
59303
59304        * platform/graphics/qt/GraphicsLayerQt.cpp:
59305        (WebCore::solveStepsFunction):
59306        (WebCore::applyTimingFunction):
59307
593082010-09-08  Dean Jackson  <dino@apple.com>
59309
59310        Reviewed by Simon Fraser.
59311
59312        Implement steps() timing function for animations
59313        https://bugs.webkit.org/show_bug.cgi?id=44541
59314
59315        Tests: animations/timing-functions.html
59316               transitions/steps-timing-function.html
59317
59318        * css/CSSComputedStyleDeclaration.cpp:
59319        (WebCore::getTimingFunctionValue):
59320            - when creating computed style we now test what
59321              type of timing function it being used
59322        * css/CSSParser.cpp:
59323        (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
59324            - rename this method from parseTimingFunctionValue
59325        (WebCore::CSSParser::parseAnimationTimingFunction):
59326            - support parsing the steps() function
59327        * css/CSSParser.h:
59328            - method rename
59329        * css/CSSStyleSelector.cpp:
59330        (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
59331            - handle 'step-start' and 'step-end' identifiers. Also
59332              now use ::create when constructing objects
59333        * css/CSSTimingFunctionValue.cpp:
59334        (WebCore::CSSLinearTimingFunctionValue::cssText):
59335        (WebCore::CSSCubicBezierTimingFunctionValue::cssText):
59336        (WebCore::CSSStepsTimingFunctionValue::cssText):
59337            - new text output for computed style. We now produce
59338              the text 'linear' when appropriate.
59339        * css/CSSTimingFunctionValue.h:
59340        (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
59341        (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
59342        (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
59343        (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
59344        (WebCore::CSSTimingFunctionValue::isTimingFunctionValue):
59345        (WebCore::CSSLinearTimingFunctionValue::create):
59346        (WebCore::CSSLinearTimingFunctionValue::isLinearTimingFunctionValue):
59347        (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
59348        (WebCore::CSSCubicBezierTimingFunctionValue::create):
59349        (WebCore::CSSCubicBezierTimingFunctionValue::isCubicBezierTimingFunctionValue):
59350        (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
59351        (WebCore::CSSStepsTimingFunctionValue::create):
59352        (WebCore::CSSStepsTimingFunctionValue::numberOfSteps):
59353        (WebCore::CSSStepsTimingFunctionValue::stepAtStart):
59354        (WebCore::CSSStepsTimingFunctionValue::isStepsTimingFunctionValue):
59355        (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
59356            - CSSTimingFunction is now a pure virtual ref-counted base class, with
59357              subclasses for each of the three supported timing functions.
59358        * css/CSSValueKeywords.in:
59359            - new keywords step-start and step-end
59360        * page/animation/AnimationBase.cpp:
59361        (WebCore::solveStepsFunction):
59362            - produces the output value from a stepping function
59363        (WebCore::AnimationBase::progress):
59364            - now has to switch based on timing function type
59365        * page/animation/KeyframeAnimation.cpp:
59366        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
59367            - use ref-counted access
59368        * platform/animation/Animation.cpp:
59369        (WebCore::Animation::animationsMatch):
59370            - change timing function comparison for operator==
59371        * platform/animation/Animation.h:
59372        (WebCore::Animation::timingFunction):
59373        (WebCore::Animation::setTimingFunction):
59374        (WebCore::Animation::initialAnimationTimingFunction):
59375            - move to ref-counted timing function class
59376        * platform/animation/TimingFunction.h:
59377        (WebCore::TimingFunction::~TimingFunction):
59378        (WebCore::TimingFunction::isLinearTimingFunction):
59379        (WebCore::TimingFunction::isCubicBezierTimingFunction):
59380        (WebCore::TimingFunction::isStepsTimingFunction):
59381        (WebCore::TimingFunction::TimingFunction):
59382        (WebCore::LinearTimingFunction::create):
59383        (WebCore::LinearTimingFunction::~LinearTimingFunction):
59384        (WebCore::LinearTimingFunction::operator==):
59385        (WebCore::LinearTimingFunction::LinearTimingFunction):
59386        (WebCore::CubicBezierTimingFunction::create):
59387        (WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction):
59388        (WebCore::CubicBezierTimingFunction::operator==):
59389        (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
59390        (WebCore::StepsTimingFunction::create):
59391        (WebCore::StepsTimingFunction::~StepsTimingFunction):
59392        (WebCore::StepsTimingFunction::operator==):
59393        (WebCore::StepsTimingFunction::numberOfSteps):
59394        (WebCore::StepsTimingFunction::stepAtStart):
59395        (WebCore::StepsTimingFunction::StepsTimingFunction):
59396            - TimingFunction is now a ref-counted pure virtual base class,
59397              with three subclasses representing the types of timing functions
59398              that are supported.
59399        * platform/graphics/GraphicsLayer.h:
59400        (WebCore::AnimationValue::AnimationValue):
59401        (WebCore::FloatAnimationValue::FloatAnimationValue):
59402        (WebCore::TransformAnimationValue::TransformAnimationValue):
59403            - use PassRefPtr in function parameters
59404        * platform/graphics/qt/GraphicsLayerQt.cpp:
59405        (WebCore::solveStepsFunction):
59406        (WebCore::applyTimingFunction):
59407        (WebCore::AnimationQt::AnimationQt):
59408        (WebCore::AnimationQt::updateCurrentTime):
59409            - implement the timing function switch for QT
59410        * platform/graphics/mac/GraphicsLayerCA.mm:
59411        (WebCore::getCAMediaTimingFunction):
59412            - update for new timing function interface
59413        (WebCore::animationHasStepsTimingFunction):
59414            - new method to make sure animations with steps() functions
59415              never try to execute in Core Animation
59416        (WebCore::GraphicsLayerCA::addAnimation):
59417            - test for steps() timing function
59418        (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
59419        * rendering/style/RenderStyleConstants.h:
59420            - remove old RenderStyle enum for timing function types
59421
594222010-09-08  Csaba Osztrogonác  <ossy@webkit.org>
59423
59424        Unreviewed trivial fix after r66960.
59425
59426        * WebCore.pro: loader/TextDocument.h renamed to html/TextDocument.h
59427
594282010-09-08  Adam Barth  <abarth@webkit.org>
59429
59430        Reviewed by Eric Seidel.
59431
59432        move-during-parse-parent.html crashes
59433        https://bugs.webkit.org/show_bug.cgi?id=45210
59434
59435        When inserting elements into the tree, they need to be associated with
59436        their parent's document, not the document for which the parser is
59437        running.  These two are different when the parent has been moved to a
59438        different document during parsing.
59439
59440        Test: fast/parser/move-during-parsing.html
59441
59442        * html/parser/HTMLConstructionSite.cpp:
59443        (WebCore::HTMLConstructionSite::insertComment):
59444        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
59445        (WebCore::HTMLConstructionSite::insertScriptElement):
59446        (WebCore::HTMLConstructionSite::insertTextNode):
59447        (WebCore::HTMLConstructionSite::createElement):
59448        (WebCore::HTMLConstructionSite::createHTMLElement):
59449
594502010-09-08  Gabor Loki  <loki@webkit.org>
59451
59452        Reviewed by Andreas Kling.
59453
59454        Fix increases required alignment of target type warning on ARM
59455        https://bugs.webkit.org/show_bug.cgi?id=45301
59456
59457        No new tests needed.
59458
59459        * bindings/js/SerializedScriptValue.cpp:
59460        (WebCore::CloneDeserializer::readLittleEndian):
59461        (WebCore::CloneDeserializer::readString):
59462        * plugins/PluginDatabase.cpp:
59463        (WebCore::readTime):
59464
594652010-09-08  Antonio Gomes  <agomes@rim.com>
59466
59467        Reviewed by Daniel Bates.
59468
59469        Make FocusController::focusedOrMainFrame method const
59470        https://bugs.webkit.org/show_bug.cgi?id=45406
59471
59472        No new tests.
59473
59474        * page/FocusController.cpp:
59475        (WebCore::FocusController::focusedOrMainFrame):
59476        * page/FocusController.h:
59477
594782010-09-08  Jian Li  <jianli@chromium.org>
59479
59480        Reviewed by Darin Adler.
59481
59482        Fix a problem in createCanonicalUUIDString that causes the last digit
59483        missing on Linux.
59484        https://bugs.webkit.org/show_bug.cgi?id=45412
59485
59486        This is caused by not including the final null character into the count
59487        that is provided to fgets.
59488
59489        This is covered by the existing test: send-form-data-with-sliced-file.html.
59490
59491        * platform/UUID.cpp:
59492        (WebCore::createCanonicalUUIDString):
59493
594942010-09-08  Nico Weber  <thakis@chromium.org>
59495
59496        Reviewed by Dimitri Glazkov.
59497
59498        chromium/mac: Fix overrelease in ImageLayerChromium
59499        https://bugs.webkit.org/show_bug.cgi?id=45360
59500
59501        Only release colorSpace if we created it.
59502
59503        * platform/graphics/chromium/ImageLayerChromium.cpp:
59504        (WebCore::ImageLayerChromium::updateContents):
59505
595062010-09-08  Robert Hogan  <robert@webkit.org>
59507
59508        Reviewed by Antonio Gomes.
59509
59510        Remove some unnecessary duplicate calls to string functions
59511
59512        https://bugs.webkit.org/show_bug.cgi?id=45314
59513
59514        * platform/network/curl/ResourceHandleManager.cpp:
59515        (WebCore::parseDataUrl):
59516        * websockets/WebSocketChannel.cpp:
59517        (WebCore::WebSocketChannel::send):
59518
595192010-09-08  Peter Kasting  <pkasting@google.com>
59520
59521        Not reviewed, fallout from http://trac.webkit.org/changeset/67001
59522
59523        Fix compile failures and add svn:eol-style on two new files.
59524
59525        * platform/ScrollAnimator.h: Added property svn:eol-style.
59526        * platform/ScrollAnimatorWin.cpp: Added property svn:eol-style.
59527        * platform/win/PopupMenuWin.cpp: Fix compile errors.
59528        (WebCore::PopupMenuWin::scrollToRevealSelection):
59529        (WebCore::PopupMenuWin::scrollSize):
59530
595312010-09-08  James Robinson  <jamesr@chromium.org>
59532
59533        Reviewed by Kenneth Russell.
59534
59535        [chromium] Force canvas 2d draw calls to happen in software if a gradient, pattern, shadow, or clip are active
59536        https://bugs.webkit.org/show_bug.cgi?id=45405
59537
59538        This forces all draw calls to happen in software instead of hardware if there is a fill pattern, gradient,
59539        shadow, or clip applied; at least until we can handle these in hardware.  Otherwise the pattern/gradient/etc
59540        is completely ignored by the hardware drawing routine and we render incorrectly.
59541
59542        The test is slightly convervative - for example it will force drawImage() calls to happen in software if a
59543        fill gradient is set even though it's irrelevant.  This doesn't seem to be an issue in practice and we
59544        can tighten the checks later if needed.
59545
59546        Tested by fast/canvas/canvas-incremental-repaint.html.
59547
59548        * platform/graphics/skia/GraphicsContextSkia.cpp:
59549        (WebCore::GraphicsContext::canvasClip):
59550        (WebCore::GraphicsContext::fillRect):
59551        * platform/graphics/skia/ImageBufferSkia.cpp:
59552        (WebCore::ImageBuffer::draw):
59553        * platform/graphics/skia/ImageSkia.cpp:
59554        (WebCore::BitmapImage::draw):
59555        (WebCore::BitmapImageSingleFrameSkia::draw):
59556        * platform/graphics/skia/PlatformContextSkia.cpp:
59557        (WebCore::PlatformContextSkia::State::State):
59558        (WebCore::PlatformContextSkia::canvasClipPath):
59559        (WebCore::PlatformContextSkia::canAccelerate):
59560        * platform/graphics/skia/PlatformContextSkia.h:
59561
595622010-09-08  Peter Kasting  <pkasting@google.com>
59563
59564        Reviewed by David Hyatt.
59565
59566        Add smooth scrolling framework, and a Windows implementation.
59567        https://bugs.webkit.org/show_bug.cgi?id=32356
59568
59569        * CMakeLists.txt: Add ScrollAnimator.
59570        * GNUmakefile.am: Add ScrollAnimator.
59571        * WebCore.gyp/WebCore.gyp: Add Windows ScrollAnimator.
59572        * WebCore.gypi: Add ScrollAnimator.
59573        * WebCore.pro: Add ScrollAnimator.
59574        * WebCore.vcproj/WebCore.vcproj: Add ScrollAnimator.
59575        * WebCore.xcodeproj/project.pbxproj: Add ScrollAnimator.
59576        * platform/ScrollAnimator.cpp: Added base implementation that does no animation.
59577        (WebCore::ScrollAnimator::create):
59578        (WebCore::ScrollAnimator::scroll):
59579        (WebCore::ScrollAnimator::setScrollPositionAndStopAnimation):
59580        * platform/ScrollAnimator.h: Added base implementation that does no animation.
59581        (WebCore::ScrollAnimator::ScrollAnimator):
59582        (WebCore::ScrollAnimator::~ScrollAnimator):
59583        * platform/ScrollAnimatorWin.cpp: Added Windows subclass that animates scrolls.
59584        (WebCore::ScrollAnimator::create):
59585        (WebCore::ScrollAnimatorWin::PerAxisData::PerAxisData):
59586        (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
59587        (WebCore::ScrollAnimatorWin::~ScrollAnimatorWin):
59588        (WebCore::ScrollAnimatorWin::scroll):
59589        (WebCore::ScrollAnimatorWin::setScrollPositionAndStopAnimation):
59590        (WebCore::ScrollAnimatorWin::accelerationTime):
59591        (WebCore::ScrollAnimatorWin::animationTimerFired):
59592        (WebCore::ScrollAnimatorWin::stopAnimationTimerIfNeeded):
59593        (WebCore::ScrollAnimatorWin::animateScroll):
59594        * platform/ScrollAnimatorWin.h: Added Windows subclass that animates scrolls.
59595        * platform/ScrollView.cpp: Implement new ScrollbarClient functions.  Allow wheel scrolls to be animated.
59596        (WebCore::ScrollView::scrollSize):
59597        (WebCore::ScrollView::setScrollOffsetFromAnimation):
59598        (WebCore::ScrollView::updateScrollbars):
59599        (WebCore::ScrollView::wheelEvent):
59600        * platform/ScrollView.h: Implement new ScrollbarClient functions.
59601        * platform/Scrollbar.cpp: Allow ScrollAnimator to handle scrolls if present.
59602        (WebCore::Scrollbar::setValue):
59603        (WebCore::Scrollbar::scroll):
59604        (WebCore::Scrollbar::moveThumb):
59605        (WebCore::Scrollbar::setCurrentPos):
59606        (WebCore::Scrollbar::mouseMoved):
59607        * platform/Scrollbar.h:
59608        * platform/ScrollbarClient.cpp: Added to avoid having to make ScrollAnimator.h non-private.
59609        (WebCore::ScrollbarClient::ScrollbarClient):
59610        (WebCore::ScrollbarClient::~ScrollbarClient):
59611        (WebCore::ScrollbarClient::scroll):
59612        (WebCore::ScrollbarClient::setScrollPositionAndStopAnimation):
59613        * platform/ScrollbarClient.h: Add hooks for ScrollAnimator.
59614        (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
59615        (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
59616        * platform/gtk/MainFrameScrollbarGtk.cpp:
59617        (MainFrameScrollbarGtk::gtkValueChanged):
59618        * platform/qt/ScrollbarQt.cpp: Use scroll() in preference to setValue().
59619        (WebCore::Scrollbar::contextMenu):
59620        * platform/win/PopupMenuWin.cpp: Implement new ScrollbarClient functions.
59621        (WebCore::PopupMenuWin::scrollSize):
59622        (WebCore::PopupMenuWin::setScrollOffsetFromAnimation):
59623        * platform/win/PopupMenuWin.h: Implement new ScrollbarClient functions.
59624        * rendering/RenderDataGrid.cpp: Implement new ScrollbarClient functions.
59625        (WebCore::RenderDataGrid::scrollSize):
59626        (WebCore::RenderDataGrid::setScrollOffsetFromAnimation):
59627        * rendering/RenderDataGrid.h: Implement new ScrollbarClient functions.
59628        * rendering/RenderLayer.cpp: Implement new ScrollbarClient functions.
59629        (WebCore::RenderLayer::scrollToOffset):
59630        (WebCore::RenderLayer::scrollSize):
59631        (WebCore::RenderLayer::setScrollOffsetFromAnimation):
59632        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
59633        * rendering/RenderLayer.h: Implement new ScrollbarClient functions.
59634        * rendering/RenderListBox.cpp: Implement new ScrollbarClient functions.
59635        (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
59636        (WebCore::RenderListBox::scrollSize):
59637        (WebCore::RenderListBox::setScrollOffsetFromAnimation):
59638        (WebCore::RenderListBox::setScrollTop):
59639        * rendering/RenderListBox.h: Implement new ScrollbarClient functions.
59640
596412010-09-08  Ryosuke Niwa  <rniwa@webkit.org>
59642
59643        Reviewed by Tony Chang.
59644
59645        applyInlineStyleToRange needs cleanup
59646        https://bugs.webkit.org/show_bug.cgi?id=45008
59647
59648        Removed rangeIsEmpty and extracted the entire loop into applyInlineStyleToNodeRange.
59649        applyInlineStyleToRange is now a wrapper that fixes range and passes it on to applyInlineStyleToNodeRange.
59650
59651        No new tests are added since this is a cleanup.
59652
59653        * editing/ApplyStyleCommand.cpp:
59654        (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Cleaned up.
59655        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Extracted from applyInlineStyleToRange.
59656        * editing/ApplyStyleCommand.h:
59657
596582010-09-08  Andy Estes  <aestes@apple.com>
59659
59660        Rubber-stamped by Darin Adler.
59661
59662        Incorporate additional feedback from
59663        https://bugs.webkit.org/show_bug.cgi?id=45364.
59664
59665        * html/HTMLObjectElement.cpp:
59666        (WebCore::HTMLObjectElement::parametersForPlugin): Rename urlParam to
59667        urlParameter.
59668        * loader/SubframeLoader.h: Add argument names to the definition of
59669        SubframeLoader::resourceWillUsePlugin().
59670
596712010-09-07  Oliver Hunt  <oliver@apple.com>
59672
59673        Reviewed by Anders Carlsson.
59674
59675        Support SerializedScriptValue in WebKit2
59676        https://bugs.webkit.org/show_bug.cgi?id=45340
59677
59678        Add a new constructor that allows WebKit2 to create a SerializedScriptValue
59679        directly from serialized data.
59680
59681        * WebCore.exp.in:
59682        * bindings/js/SerializedScriptValue.h:
59683        (WebCore::SerializedScriptValue::adopt):
59684        (WebCore::SerializedScriptValue::data):
59685
596862010-09-08  Andy Estes  <aestes@apple.com>
59687
59688        Reviewed by Eric Carlson.
59689
59690        Fallback content should be rendered when an <object> doesn't specify a
59691        data, type or classid attribute.
59692        https://bugs.webkit.org/show_bug.cgi?id=45364
59693        <rdar://problem/8375816>
59694
59695        HTML5 says that if no data or type attribute is specified on an <object>,
59696        fallback content should be rendered. However, WebKit has traditionally
59697        supported specifying a URL and MIME type in <param> elements. 
59698
59699        To more closely match the spec while maintaining compatibility with
59700        content that relied on our old behavior, we will continue to load
59701        a resource specified by <param> elements if we can determine a priori
59702        that it will be handled by a plug-in. 
59703
59704        If we can't make this determination, and the <object> element has no
59705        "data" or "type" attribute, the <param> elements will be ignored and
59706        fallback content will be rendered. Otherwise, there is no change in
59707        behavior.
59708
59709        * html/HTMLObjectElement.cpp:
59710        (WebCore::HTMLObjectElement::parametersForPlugin): If an empty url is
59711        passed to this function and a <param> exists that specifies a url that
59712        references a plug-in resource, set it to url, making it the url that
59713        will be loaded by the <object> element.
59714        (WebCore::HTMLObjectElement::updateWidget): If no type attribute was
59715        specified, but there is a classid attribute, try to map the classid to
59716        a MIME type. This needs to be done before calling
59717        HTMLObjectElement::parametersForPlugin().
59718        * loader/SubframeLoader.cpp:
59719        (WebCore::SubframeLoader::resourceWillUsePlugin): Make a public method
59720        that determines if a resource will load a plug-in based on its url and
59721        MIME type. This is equivalent to calling
59722        SubframeLoader::shouldUsePlugin(), but does not burden the caller with
59723        the details of fallback content.
59724        * loader/SubframeLoader.h:
59725
597262010-09-08  Pavel Podivilov  <podivilov@chromium.org>
59727
59728        Reviewed by Yury Semikhatsky.
59729
59730        Web Inspector: add breakpoints to source frame after content is loaded.
59731        https://bugs.webkit.org/show_bug.cgi?id=43056
59732
59733        * inspector/front-end/ScriptsPanel.js:
59734        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
59735        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
59736        * inspector/front-end/SourceView.js:
59737        (WebInspector.SourceView.prototype._contentLoaded):
59738
597392010-09-08  Andreas Kling  <andreas.kling@nokia.com>
59740
59741        Reviewed by Kenneth Rohde Christiansen.
59742
59743        Canvas: Remove unnecessary null-check of canvas() in getImageData()
59744        https://bugs.webkit.org/show_bug.cgi?id=45394
59745
59746        canvas() is already dereferenced earlier in the function so there is
59747        no use in checking it for null later.
59748
59749        * html/canvas/CanvasRenderingContext2D.cpp:
59750        (WebCore::CanvasRenderingContext2D::getImageData):
59751
597522010-09-08  Philippe Normand  <pnormand@igalia.com>
59753
59754        Reviewed by Eric Carlson.
59755
59756        [GStreamer] cache media duration in READY instead of PLAYING
59757        https://bugs.webkit.org/show_bug.cgi?id=39053
59758
59759        New cacheDuration private method used to in updateStates() and
59760        durationChanged().
59761
59762        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
59763        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
59764        (WebCore::MediaPlayerPrivateGStreamer::cacheDuration):
59765        (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
59766        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
59767
597682010-09-08  Martin Robinson  <mrobinson@igalia.com>
59769
59770        Reviewed by Xan Lopez.
59771
59772        [GTK] Need a WebSocket implementation
59773        https://bugs.webkit.org/show_bug.cgi?id=45197
59774
59775        Add a GIO-based WebSocket implementation. This does not yet support
59776        SSL sockets or proxies, but these should be possible to add as support
59777        arrives in GLib/GIO for them.
59778
59779        * platform/network/soup/SocketStreamHandle.h:
59780        * platform/network/soup/SocketStreamHandleSoup.cpp: Add a GIO-based WebSocket implementation.
59781        (WebCore::isActiveHandle): Added.
59782        (WebCore::deactivateHandle): Added.
59783        (WebCore::SocketStreamHandle::SocketStreamHandle): Filled out stub.
59784        (WebCore::SocketStreamHandle::~SocketStreamHandle): Ditto.
59785        (WebCore::SocketStreamHandle::connected): Added.
59786        (WebCore::SocketStreamHandle::readBytes): Added.
59787        (WebCore::SocketStreamHandle::writeReady): Added.
59788        (WebCore::SocketStreamHandle::platformSend): Filled out stub.
59789        (WebCore::SocketStreamHandle::platformClose): Filled out stub.
59790        (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Added.
59791        (WebCore::SocketStreamHandle::stopWaitingForSocketWritability):
59792        (WebCore::connectedCallback): Added.
59793        (WebCore::readReadyCallback): Added.
59794        (WebCore::writeReadyCallback): Added.
59795
597962010-09-07  Martin Robinson  <mrobinson@igalia.com>
59797
59798        Reviewed by Dirk Schulze.
59799
59800        [Cairo] Actually use the antialias parameter of GraphicsContext::clipConvexPolygon
59801        https://bugs.webkit.org/show_bug.cgi?id=45355
59802
59803        r63864 added an additional boolean parameter to GraphicsContext::clipConvexPolygon,
59804        which determines whether or not to render the render the clip with anti-aliasing
59805        or not. The Cairo implementation now uses that parameter to determine the argument
59806        to pass to cairo_set_antialias(...) when clipping.
59807
59808        Test: This is tested by many tests in fast/borders.
59809
59810        * platform/graphics/cairo/GraphicsContextCairo.cpp:
59811        (WebCore::GraphicsContext::clipConvexPolygon): Actually use the boolean antialias parameter.
59812
598132010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
59814
59815        Reviewed by Kenneth Rohde Christiansen.
59816
59817        [EFL] Support to enable HTML5's Video based on gstreamer in WebKit-EFL
59818        https://bugs.webkit.org/show_bug.cgi?id=44098
59819
59820        To support video of HTML5 based on gstreamer, add files regarding gstreamer to
59821        CMakeListsEfl.txt.
59822
59823        * CMakeListsEfl.txt:
59824
598252010-09-08  Jan E Hanssen  <jhanssen@sencha.com>
59826
59827        Reviewed by Dirk Schulze.
59828
59829        [Qt] PathQt should use the QPainterPath functionality for calculations
59830        https://bugs.webkit.org/show_bug.cgi?id=43837
59831
59832        Change PathQt to use the built-in functionality of QPainterPath for
59833        calculating length(), pointAtLength() and normalAngleAtLength().
59834
59835        * platform/graphics/Path.cpp:
59836        * platform/graphics/qt/PathQt.cpp:
59837        (WebCore::Path::length):
59838        (WebCore::Path::pointAtLength):
59839        (WebCore::Path::normalAngleAtLength):
59840
598412010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
59842
59843        Reviewed by Dirk Schulze.
59844
59845        [WML] Remove create() function in WMLTaskElement because of build break.
59846        https://bugs.webkit.org/show_bug.cgi?id=44954
59847
59848        Remove create() function in WMLTaskElement.cpp because of build breaks.
59849
59850        * wml/WMLTaskElement.cpp:
59851        * wml/WMLTaskElement.h:
59852
598532010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
59854
59855        Reviewed by Dirk Schulze.
59856
59857        [WML] Add create functions to WML.
59858        https://bugs.webkit.org/show_bug.cgi?id=44950
59859
59860        There are missing definitions of create function in WML area. 
59861        So, there are build breaks when enabling WML. The create functions and the construction 
59862        are added. In addition, a style error and duplicated adoptRef usage are fixed.
59863
59864        * wml/WMLDocument.h:
59865        (WebCore::WMLDocument::create):
59866        * wml/WMLFormControlElement.h:
59867        * wml/WMLIntrinsicEvent.cpp:
59868        (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
59869        * wml/WMLIntrinsicEvent.h:
59870
598712010-09-08  Nico Weber  <thakis@chromium.org>
59872
59873        Reviewed by Kenneth Russell.
59874
59875        chromium/mac: Fix crash with compositor due to missing current NSGraphicsContext
59876        https://bugs.webkit.org/show_bug.cgi?id=45354
59877
59878        * platform/graphics/chromium/ContentLayerChromium.cpp:
59879        (WebCore::ContentLayerChromium::updateContents): Set a current local context.
59880
598812010-09-08  Justin Schuh  <jschuh@chromium.org>
59882
59883        Reviewed by Nikolas Zimmermann.
59884
59885        NULL deref when use target is reset, then set to display:none
59886        https://bugs.webkit.org/show_bug.cgi?id=45345
59887
59888        Move the NULL check on shadowRoot earlier in SVGUseElement::recalcStyle
59889
59890        Test: svg/custom/use-display-none.svg
59891
59892        * svg/SVGUseElement.cpp:
59893        (WebCore::SVGUseElement::recalcStyle):
59894
598952010-08-30  Maciej Stachowiak  <mjs@apple.com>
59896
59897        Reviewed by Darin Adler.
59898
59899        Handle MediaQueryExp memory management exclusively with smart pointers
59900        https://bugs.webkit.org/show_bug.cgi?id=44874
59901
59902        Gace MediaQueryExp a create function, made the constructor private, and followed
59903        the implications. The one tricky bit was using a non-copying sort to sort
59904        the Vector<OwnPtr<MediaQueryExp> > in the MediaQuery constructor.
59905        
59906        * ForwardingHeaders/wtf/NonCopyingSort.h: Added.
59907        * css/CSSGrammar.y:
59908        * css/CSSParser.cpp:
59909        (WebCore::CSSParser::~CSSParser):
59910        (WebCore::CSSParser::createFloatingMediaQueryExp):
59911        (WebCore::CSSParser::createFloatingMediaQueryExpList):
59912        (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
59913        (WebCore::CSSParser::createFloatingMediaQuery):
59914        * css/CSSParser.h:
59915        * css/MediaList.cpp:
59916        * css/MediaQuery.cpp:
59917        (WebCore::expressionCompare):
59918        (WebCore::MediaQuery::MediaQuery):
59919        (WebCore::MediaQuery::~MediaQuery):
59920        * css/MediaQuery.h:
59921        (WebCore::MediaQuery::expressions):
59922        * css/MediaQueryEvaluator.cpp:
59923        (WebCore::MediaQueryEvaluator::eval):
59924        * css/MediaQueryExp.h:
59925        (WebCore::MediaQueryExp::create):
59926
599272010-09-08  Adam Barth  <abarth@webkit.org>
59928
59929        Reviewed by Maciej Stachowiak.
59930
59931        Remove unused member variable from DecodedDocumentParser
59932        https://bugs.webkit.org/show_bug.cgi?id=45379
59933
59934        This member variable isn't used because of the recent split of
59935        TextDocumentParser and TextViewSourceParser.
59936
59937        * dom/DecodedDataDocumentParser.cpp:
59938        (WebCore::DecodedDataDocumentParser::DecodedDataDocumentParser):
59939        * dom/DecodedDataDocumentParser.h:
59940        * dom/ScriptableDocumentParser.cpp:
59941        (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
59942        * dom/ScriptableDocumentParser.h:
59943
599442010-09-08  Csaba Osztrogonác  <ossy@webkit.org>
59945
59946        Reviewed by Andreas Kling.
59947
59948        Fix warning in rendering/RenderBlock.cpp.
59949        https://bugs.webkit.org/show_bug.cgi?id=45373
59950
59951        * rendering/RenderBlock.cpp:
59952        (WebCore::RenderBlock::hitTestColumns): Suggested parentheses added around && within ||
59953
599542010-09-08  Mario Sanchez Prada  <msanchez@igalia.com>
59955
59956        Reviewed by Martin Robinson.
59957
59958        [Gtk] A list item's number/bullet should not be a child of that list item
59959        https://bugs.webkit.org/show_bug.cgi?id=45190
59960
59961        Ignore list markers and prefix them to the text for the item
59962
59963        * accessibility/gtk/AccessibilityObjectAtk.cpp:
59964        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
59965        Make list markers ignore accessibility for the GTK port.
59966        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
59967        (webkit_accessible_text_get_text): Prefix the text of a marker
59968        along with the accessible text for its list item's AtkObject
59969
599702010-09-08  Adam Barth  <abarth@webkit.org>
59971
59972        Rubber-stamped by Eric Seidel.
59973
59974        Rename DocLoader to CachedResourceLoader because that's what it does.
59975
59976        * Android.mk:
59977        * CMakeLists.txt:
59978        * GNUmakefile.am:
59979        * WebCore.gypi:
59980        * WebCore.pro:
59981        * WebCore.vcproj/WebCore.vcproj:
59982        * WebCore.xcodeproj/project.pbxproj:
59983        * css/CSSCursorImageValue.cpp:
59984        (WebCore::CSSCursorImageValue::cachedImage):
59985        * css/CSSCursorImageValue.h:
59986        * css/CSSFontFaceSource.cpp:
59987        (WebCore::CSSFontFaceSource::getFontData):
59988        * css/CSSFontSelector.cpp:
59989        (WebCore::CSSFontSelector::cachedResourceLoader):
59990        (WebCore::CSSFontSelector::addFontFaceRule):
59991        * css/CSSFontSelector.h:
59992        * css/CSSImageValue.cpp:
59993        (WebCore::CSSImageValue::cachedImage):
59994        * css/CSSImageValue.h:
59995        * css/CSSImportRule.cpp:
59996        (WebCore::CSSImportRule::insertedIntoParent):
59997        * css/CSSStyleSelector.cpp:
59998        (WebCore::CSSStyleSelector::loadPendingImages):
59999        * css/CSSStyleSheet.h:
60000        * dom/Document.cpp:
60001        (WebCore::Document::Document):
60002        (WebCore::Document::~Document):
60003        (WebCore::Document::implicitClose):
60004        * dom/Document.h:
60005        (WebCore::Document::cachedResourceLoader):
60006        * dom/ProcessingInstruction.cpp:
60007        (WebCore::ProcessingInstruction::checkStyleSheet):
60008        * dom/ScriptElement.cpp:
60009        (WebCore::ScriptElementData::requestScript):
60010        * dom/XMLDocumentParser.cpp:
60011        * dom/XMLDocumentParser.h:
60012        * dom/XMLDocumentParserLibxml2.cpp:
60013        (WebCore::matchFunc):
60014        (WebCore::shouldAllowExternalLoad):
60015        (WebCore::openFunc):
60016        (WebCore::XMLDocumentParser::doWrite):
60017        (WebCore::XMLDocumentParser::endElementNs):
60018        (WebCore::XMLDocumentParser::initializeParserContext):
60019        (WebCore::XMLDocumentParser::doEnd):
60020        (WebCore::xmlDocPtrForString):
60021        * dom/XMLDocumentParserQt.cpp:
60022        (WebCore::XMLDocumentParser::parseEndElement):
60023        * dom/XMLDocumentParserScope.cpp:
60024        (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
60025        (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
60026        * dom/XMLDocumentParserScope.h:
60027        * editing/Editor.cpp:
60028        (WebCore::Editor::paste):
60029        * editing/mac/EditorMac.mm:
60030        (WebCore::Editor::paste):
60031        * html/HTMLLinkElement.cpp:
60032        (WebCore::HTMLLinkElement::process):
60033        * html/parser/CSSPreloadScanner.cpp:
60034        (WebCore::CSSPreloadScanner::emitRule):
60035        * html/parser/HTMLPreloadScanner.cpp:
60036        (WebCore::HTMLNames::PreloadTask::preload):
60037        * html/parser/HTMLScriptRunner.cpp:
60038        (WebCore::HTMLScriptRunner::requestPendingScript):
60039        * inspector/InspectorResource.cpp:
60040        (WebCore::InspectorResource::cachedResource):
60041        * loader/Cache.cpp:
60042        (WebCore::Cache::requestResource):
60043        (WebCore::Cache::requestUserCSSStyleSheet):
60044        (WebCore::Cache::revalidateResource):
60045        (WebCore::Cache::addCachedResourceLoader):
60046        (WebCore::Cache::removeCachedResourceLoader):
60047        * loader/Cache.h:
60048        * loader/CachedCSSStyleSheet.h:
60049        * loader/CachedFont.cpp:
60050        (WebCore::CachedFont::load):
60051        (WebCore::CachedFont::beginLoadIfNeeded):
60052        * loader/CachedFont.h:
60053        * loader/CachedImage.cpp:
60054        (WebCore::CachedImage::load):
60055        (WebCore::CachedImage::maximumDecodedImageSize):
60056        * loader/CachedImage.h:
60057        * loader/CachedResource.cpp:
60058        (WebCore::CachedResource::CachedResource):
60059        (WebCore::CachedResource::~CachedResource):
60060        (WebCore::CachedResource::load):
60061        * loader/CachedResource.h:
60062        (WebCore::CachedResource::load):
60063        (WebCore::CachedResource::setCachedResourceLoader):
60064        * loader/CachedResourceLoader.cpp: Copied from WebCore/loader/DocLoader.cpp.
60065        (WebCore::CachedResourceLoader::CachedResourceLoader):
60066        (WebCore::CachedResourceLoader::~CachedResourceLoader):
60067        (WebCore::CachedResourceLoader::frame):
60068        (WebCore::CachedResourceLoader::checkForReload):
60069        (WebCore::CachedResourceLoader::requestImage):
60070        (WebCore::CachedResourceLoader::requestFont):
60071        (WebCore::CachedResourceLoader::requestCSSStyleSheet):
60072        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
60073        (WebCore::CachedResourceLoader::requestScript):
60074        (WebCore::CachedResourceLoader::requestXSLStyleSheet):
60075        (WebCore::CachedResourceLoader::requestLinkPrefetch):
60076        (WebCore::CachedResourceLoader::canRequest):
60077        (WebCore::CachedResourceLoader::requestResource):
60078        (WebCore::CachedResourceLoader::printAccessDeniedMessage):
60079        (WebCore::CachedResourceLoader::setAutoLoadImages):
60080        (WebCore::CachedResourceLoader::cachePolicy):
60081        (WebCore::CachedResourceLoader::removeCachedResource):
60082        (WebCore::CachedResourceLoader::setLoadInProgress):
60083        (WebCore::CachedResourceLoader::checkCacheObjectStatus):
60084        (WebCore::CachedResourceLoader::incrementRequestCount):
60085        (WebCore::CachedResourceLoader::decrementRequestCount):
60086        (WebCore::CachedResourceLoader::requestCount):
60087        (WebCore::CachedResourceLoader::preload):
60088        (WebCore::CachedResourceLoader::checkForPendingPreloads):
60089        (WebCore::CachedResourceLoader::requestPreload):
60090        (WebCore::CachedResourceLoader::clearPreloads):
60091        (WebCore::CachedResourceLoader::clearPendingPreloads):
60092        (WebCore::CachedResourceLoader::printPreloadStats):
60093        * loader/CachedResourceLoader.h: Copied from WebCore/loader/DocLoader.h.
60094        * loader/CachedScript.h:
60095        * loader/CachedXSLStyleSheet.h:
60096        * loader/DocLoader.cpp: Removed.
60097        * loader/DocLoader.h: Removed.
60098        * loader/DocumentLoader.cpp:
60099        (WebCore::DocumentLoader::isLoadingInAPISense):
60100        (WebCore::DocumentLoader::subresource):
60101        (WebCore::DocumentLoader::getSubresources):
60102        * loader/FrameLoader.cpp:
60103        (WebCore::numRequests):
60104        (WebCore::FrameLoader::stopLoading):
60105        (WebCore::FrameLoader::didBeginDocument):
60106        * loader/HistoryController.cpp:
60107        (WebCore::HistoryController::createItem):
60108        * loader/ImageLoader.cpp:
60109        (WebCore::ImageLoader::updateFromElement):
60110        * loader/Request.cpp:
60111        (WebCore::Request::Request):
60112        * loader/Request.h:
60113        (WebCore::Request::cachedResourceLoader):
60114        * loader/loader.cpp:
60115        (WebCore::Loader::load):
60116        (WebCore::Loader::cancelRequests):
60117        (WebCore::Loader::Host::servePendingRequests):
60118        (WebCore::Loader::Host::didFinishLoading):
60119        (WebCore::Loader::Host::didFail):
60120        (WebCore::Loader::Host::didReceiveResponse):
60121        (WebCore::Loader::Host::cancelPendingRequests):
60122        (WebCore::Loader::Host::cancelRequests):
60123        * loader/loader.h:
60124        * page/DragController.cpp:
60125        (WebCore::DragController::concludeEditDrag):
60126        * page/Frame.cpp:
60127        * page/FrameView.cpp:
60128        (WebCore::FrameView::checkStopDelayingDeferredRepaints):
60129        (WebCore::FrameView::updateDeferredRepaintDelay):
60130        * page/Settings.cpp:
60131        (WebCore::setLoadsImagesAutomaticallyInAllFrames):
60132        * platform/android/TemporaryLinkStubs.cpp:
60133        (WebCore::CheckCacheObjectStatus):
60134        * platform/network/android/ResourceHandleAndroid.cpp:
60135        (WebCore::ResourceHandle::start):
60136        * platform/network/cf/ResourceHandleCFNet.cpp:
60137        * platform/network/curl/ResourceHandleCurl.cpp:
60138        * platform/network/mac/ResourceHandleMac.mm:
60139        * platform/network/qt/ResourceHandleQt.cpp:
60140        * platform/network/soup/ResourceHandleSoup.cpp:
60141        * platform/network/win/ResourceHandleWin.cpp:
60142        * svg/SVGFEImageElement.cpp:
60143        (WebCore::SVGFEImageElement::requestImageResource):
60144        * svg/SVGFontFaceUriElement.cpp:
60145        (WebCore::SVGFontFaceUriElement::loadFont):
60146        * workers/Worker.cpp:
60147        * xml/XSLImportRule.cpp:
60148        (WebCore::XSLImportRule::loadSheet):
60149        * xml/XSLStyleSheet.h:
60150        * xml/XSLStyleSheetLibxslt.cpp:
60151        (WebCore::XSLStyleSheet::cachedResourceLoader):
60152        (WebCore::XSLStyleSheet::parseString):
60153        * xml/XSLStyleSheetQt.cpp:
60154        (WebCore::XSLStyleSheet::cachedResourceLoader):
60155        * xml/XSLTProcessor.cpp:
60156        * xml/XSLTProcessorLibxslt.cpp:
60157        (WebCore::docLoaderFunc):
60158        (WebCore::setXSLTLoadCallBack):
60159        (WebCore::xmlDocPtrFromNode):
60160        (WebCore::XSLTProcessor::transformToString):
60161
601622010-09-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
60163
60164        Reviewed by Eric Carlson.
60165
60166        Add mediaPlayerPlaybackStateChanged to MediaPlayerClient
60167
60168        https://bugs.webkit.org/show_bug.cgi?id=45263
60169
60170        The platform backend may change state, for example as a result
60171        of an external plugin controlling the backend, so we need to
60172        react to this situation by syncing up the WebCore state with the
60173        platform backend.
60174
60175        We call playInternal()/pauseInternal() depending on the backend
60176        state, to trigger the corresponding DOM events to match the state.
60177
60178        updatePlayState() is then refactored to take into account the
60179        situation where the backend is already in the correct state but
60180        WebCore is not, so that we update the playback progress timer
60181        and set m_playing correctly.
60182
60183        updatePlayState() changes Should be covered by existing tests.
60184
60185        * html/HTMLMediaElement.cpp:
60186        (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
60187        (WebCore::HTMLMediaElement::updatePlayState):
60188        * html/HTMLMediaElement.h:
60189        * platform/graphics/MediaPlayer.cpp:
60190        (WebCore::MediaPlayer::playbackStateChanged):
60191        * platform/graphics/MediaPlayer.h:
60192        (WebCore::MediaPlayerClient::mediaPlayerPlaybackStateChanged):
60193
601942010-09-08  Adam Barth  <abarth@webkit.org>
60195
60196        Reviewed by Eric Seidel.
60197
60198        TextDocument doesn't belong in WebCore/loader
60199        https://bugs.webkit.org/show_bug.cgi?id=45346
60200
60201        TextDocument has nothing to do with loading.  It turns out that it
60202        should be in WebCore/html because TextDocument is actually a subclass
60203        of HTMLDocument (in quirks mode, no less).
60204
60205        * Android.mk:
60206        * CMakeLists.txt:
60207        * GNUmakefile.am:
60208        * WebCore.gypi:
60209        * WebCore.pro:
60210        * WebCore.vcproj/WebCore.vcproj:
60211        * WebCore.xcodeproj/project.pbxproj:
60212        * html/TextDocument.cpp: Renamed from WebCore/loader/TextDocument.cpp.
60213        (WebCore::TextDocument::TextDocument):
60214        (WebCore::TextDocument::createParser):
60215        * html/TextDocument.h: Renamed from WebCore/loader/TextDocument.h.
60216        (WebCore::TextDocument::create):
60217
602182010-09-08  Adam Barth  <abarth@webkit.org>
60219
60220        Reviewed by Eric Seidel.
60221
60222        Create TextViewSourceParser
60223        https://bugs.webkit.org/show_bug.cgi?id=45343
60224
60225        Rather than have the view source document set a flag on
60226        HTMLViewSourceParser to indicate whether we're parsing a text document,
60227        this patch creates a TextViewSourceParser for parsing text documents in
60228        view-source mode.  Like the TextDocumentParser, the
60229        TextViewSourceParser implements this functionality by subclassing its
60230        HTML counterpart.
60231
60232        * Android.mk:
60233        * CMakeLists.txt:
60234        * GNUmakefile.am:
60235        * WebCore.gypi:
60236        * WebCore.pro:
60237        * WebCore.vcproj/WebCore.vcproj:
60238        * WebCore.xcodeproj/project.pbxproj:
60239        * html/HTMLViewSourceDocument.cpp:
60240        (WebCore::HTMLViewSourceDocument::createParser):
60241        * html/parser/HTMLViewSourceParser.cpp:
60242        * html/parser/HTMLViewSourceParser.h:
60243        (WebCore::HTMLViewSourceParser::tokenizer):
60244        * html/parser/TextViewSourceParser.cpp: Added.
60245        (WebCore::TextViewSourceParser::TextViewSourceParser):
60246        (WebCore::TextViewSourceParser::~TextViewSourceParser):
60247        * html/parser/TextViewSourceParser.h: Added.
60248        (WebCore::TextViewSourceParser::create):
60249
602502010-09-08  Adam Barth  <abarth@webkit.org>
60251
60252        Reviewed by Darin Adler.
60253
60254        Move HTMLInputStream to WebCore/html/parser
60255        https://bugs.webkit.org/show_bug.cgi?id=45339
60256
60257        I forgot to move this file before.
60258
60259        * GNUmakefile.am:
60260        * WebCore.gypi:
60261        * WebCore.vcproj/WebCore.vcproj:
60262        * WebCore.xcodeproj/project.pbxproj:
60263        * html/parser/HTMLInputStream.h: Renamed from WebCore/html/HTMLInputStream.h.
60264        (WebCore::HTMLInputStream::HTMLInputStream):
60265        (WebCore::HTMLInputStream::appendToEnd):
60266        (WebCore::HTMLInputStream::insertAtCurrentInsertionPoint):
60267        (WebCore::HTMLInputStream::hasInsertionPoint):
60268        (WebCore::HTMLInputStream::markEndOfFile):
60269        (WebCore::HTMLInputStream::haveSeenEndOfFile):
60270        (WebCore::HTMLInputStream::current):
60271        (WebCore::HTMLInputStream::splitInto):
60272        (WebCore::HTMLInputStream::mergeFrom):
60273        (WebCore::InsertionPointRecord::InsertionPointRecord):
60274        (WebCore::InsertionPointRecord::~InsertionPointRecord):
60275
602762010-09-08  Adam Barth  <abarth@webkit.org>
60277
60278        Reviewed by Eric Seidel.
60279
60280        TextDocument should come in from the cold
60281        https://bugs.webkit.org/show_bug.cgi?id=45334
60282
60283        Previously, TextDocument reinvented the wheel to parse text.  This
60284        patch replaces TextDocument's hand-rolled parser with a parser built on
60285        the HTML parser infrustructure, which gives us that stuff for free.  I
60286        also disentangled TextDocument from HTMLViewSourceDocument.
60287
60288        In a future patch, I'll move TextDocument out of the "loader" directory.
60289
60290        * Android.mk:
60291        * CMakeLists.txt:
60292        * GNUmakefile.am:
60293        * WebCore.gypi:
60294        * WebCore.pro:
60295        * WebCore.vcproj/WebCore.vcproj:
60296        * WebCore.xcodeproj/project.pbxproj:
60297        * html/HTMLViewSourceDocument.cpp:
60298        (WebCore::HTMLViewSourceDocument::createParser):
60299        * html/HTMLViewSourceDocument.h:
60300        * html/parser/HTMLTreeBuilder.cpp:
60301        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
60302        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
60303        * html/parser/HTMLTreeBuilder.h:
60304        * html/parser/HTMLViewSourceParser.cpp:
60305        (WebCore::HTMLViewSourceParser::forcePlaintext):
60306        * html/parser/HTMLViewSourceParser.h:
60307        * html/parser/TextDocumentParser.cpp: Added.
60308        (WebCore::TextDocumentParser::TextDocumentParser):
60309        (WebCore::TextDocumentParser::~TextDocumentParser):
60310        (WebCore::TextDocumentParser::insertFakePreElement):
60311        * html/parser/TextDocumentParser.h: Added.
60312        (WebCore::TextDocumentParser::create):
60313        * loader/TextDocument.cpp:
60314        * loader/TextDocument.h:
60315
603162010-09-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
60317
60318        Reviewed by Andreas Kling.
60319
60320        Implement MediaPlayerPrivate::platformMedia() for the Qt port
60321
60322        https://bugs.webkit.org/show_bug.cgi?id=45264
60323
60324        * platform/graphics/MediaPlayer.h:
60325        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
60326        (WebCore::MediaPlayerPrivate::platformMedia):
60327        * platform/graphics/qt/MediaPlayerPrivateQt.h:
60328
603292010-09-08  Zoltan Herczeg  <zherczeg@webkit.org>
60330
60331        Reviewed by Dirk Schulze.
60332
60333        An individual renderer should be assigned to each SVGFE*Element class
60334        https://bugs.webkit.org/show_bug.cgi?id=43954
60335
60336        RenderSVGResourceFilterPrimitive renderer is added to
60337        the project, and assigned to each object, which class is
60338        derived from SVGFilterPrimitiveStandardAttributes. The patch
60339        mainly contains build system changes, and it fixes one layout
60340        test in svg/dynamic-updates.
60341
60342        * Android.mk:
60343        * CMakeLists.txt:
60344        * GNUmakefile.am:
60345        * WebCore.gypi:
60346        * WebCore.pro:
60347        * WebCore.vcproj/WebCore.vcproj:
60348        * WebCore.xcodeproj/project.pbxproj:
60349        * rendering/RenderObject.h:
60350        (WebCore::RenderObject::isSVGResourceFilterPrimitive):
60351        * rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
60352        (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
60353        * rendering/RenderSVGResourceFilterPrimitive.h: Added.
60354        (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
60355        * rendering/SVGRenderTreeAsText.cpp:
60356        (WebCore::writeSVGContainer):
60357        * svg/SVGFEDiffuseLightingElement.cpp:
60358        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
60359        * svg/SVGFELightElement.cpp:
60360        (WebCore::SVGFELightElement::svgAttributeChanged):
60361        (WebCore::SVGFELightElement::childrenChanged):
60362        * svg/SVGFEOffsetElement.cpp:
60363        (WebCore::SVGFEOffsetElement::svgAttributeChanged):
60364        * svg/SVGFilterElement.h:
60365        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
60366        (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
60367        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
60368        (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
60369        * svg/SVGFilterPrimitiveStandardAttributes.h:
60370        (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
60371
603722010-09-07  Sam Weinig  <sam@webkit.org>
60373
60374        Reviewed by Dan Bernstein.
60375
60376        DatasetDOMStringMap does not have the right memory model
60377        https://bugs.webkit.org/show_bug.cgi?id=45358
60378
60379        Test: fast/dom/dataset-gc.html
60380
60381        * bindings/js/JSElementCustom.cpp:
60382        (WebCore::JSElement::markChildren):
60383        Mark the dataset if it exists.
60384
60385        * dom/Element.cpp:
60386        (WebCore::Element::optionalDataset):
60387        * dom/Element.h:
60388        Expose a way to get the dataset or null (depending on if anyone thing
60389        has forced its creation yet).
60390
603912010-09-07  Jan E Hanssen  <jhanssen@sencha.com>
60392
60393        Reviewed by Andreas Kling.
60394
60395        [Qt] Add a separate Path::closeCanvasSubpath() function for canvas paths
60396        https://bugs.webkit.org/show_bug.cgi?id=45331
60397
60398        This is needed due to an adverse effect of the fix in 44061 that causes
60399        certain paths not to be closed. This is not important for canvas paths
60400        but it is for SVG paths, so splitting up the code in a generic (SVG)
60401        case and one specialized for canvas.
60402
60403        Test: svg/dom/path-totalLength.html
60404
60405        * html/canvas/CanvasRenderingContext2D.cpp:
60406        (WebCore::CanvasRenderingContext2D::closePath):
60407        * platform/graphics/Path.h:
60408        (WebCore::Path::closeCanvasSubpath):
60409        * platform/graphics/qt/PathQt.cpp:
60410        (WebCore::Path::closeSubpath):
60411        (WebCore::Path::closeCanvasSubpath):
60412
604132010-09-07  Simon Fraser  <simon.fraser@apple.com>
60414
60415        Reviewed by Chris Marrin.
60416
60417        Transform animations always run in software now
60418        https://bugs.webkit.org/show_bug.cgi?id=45341
60419        
60420        After r66339 we always fell into software animation, because we
60421        failed to detect transform or opacity properties in the keyframes,
60422        so would send an empty list of values to the GraphicsLayer.
60423        
60424        Fixed by using CSSProperty values, rather than GraphicsLayer
60425        values, when detecting the presence of properties in the keyframes.
60426        
60427        Test: manual-tests/transition-accelerated.html
60428
60429        * rendering/RenderLayerBacking.cpp:
60430        (WebCore::RenderLayerBacking::startAnimation):
60431
604322010-09-07  Chris Rogers  <crogers@google.com>
60433
60434        Reviewed by Kenneth Russell.
60435
60436        audio engine: add FFTFrame files
60437        https://bugs.webkit.org/show_bug.cgi?id=34827
60438
60439        No new tests since audio API is not yet implemented.
60440
60441        * platform/audio/FFTFrame.cpp: Added.
60442        (WebCore::FFTFrame::doPaddedFFT):
60443        (WebCore::FFTFrame::createInterpolatedFrame):
60444        (WebCore::FFTFrame::interpolateFrequencyComponents):
60445        (WebCore::FFTFrame::extractAverageGroupDelay):
60446        (WebCore::FFTFrame::addConstantGroupDelay):
60447        (WebCore::FFTFrame::print):
60448        * platform/audio/FFTFrame.h: Added.
60449        (WebCore::FFTFrame::fftSize):
60450        (WebCore::FFTFrame::log2FFTSize):
60451        (WebCore::FFTFrame::dspSplitComplex):
60452        * platform/audio/mac/FFTFrameMac.cpp: Added.
60453        (WebCore::FFTFrame::FFTFrame):
60454        (WebCore::FFTFrame::~FFTFrame):
60455        (WebCore::FFTFrame::multiply):
60456        (WebCore::FFTFrame::doFFT):
60457        (WebCore::FFTFrame::doInverseFFT):
60458        (WebCore::FFTFrame::fftSetupForSize):
60459        (WebCore::FFTFrame::cleanup):
60460        (WebCore::FFTFrame::realData):
60461        (WebCore::FFTFrame::imagData):
60462
604632010-09-07  Brent Fulgham  <bfulgham@webkit.org>
60464
60465        Build fix, no review.
60466
60467        Provide stubs to allow WebKit.dll to build
60468        for the WinCairo port.
60469
60470        * platform/network/curl/ResourceRequest.h:
60471        (WebCore::ResourceRequest::ResourceRequest):
60472        * platform/network/curl/ResourceResponse.h:
60473        (WebCore::ResourceResponse::cfURLResponse):
60474
604752010-09-07  Chris Rogers  <crogers@google.com>
60476
60477        Reviewed by Kenneth Russell.
60478
60479        Add AudioArray.h
60480        https://bugs.webkit.org/show_bug.cgi?id=45204
60481
60482        No new tests since audio API is not yet implemented.
60483
60484        * platform/audio/AudioArray.h: Added.
60485        (WebCore::AudioArray::AudioArray):
60486        (WebCore::AudioArray::zero):
60487        (WebCore::AudioArray::zeroRange):
60488        (WebCore::AudioArray::copyToRange):
60489
604902010-09-07  Mihai Parparita  <mihaip@chromium.org>
60491
60492        Reviewed by Oliver Hunt.
60493
60494        pushState and replaceState do not clone RegExp objects correctly
60495        https://bugs.webkit.org/show_bug.cgi?id=44718
60496        
60497        Add RegExp support to the JSC implementation of SerializedScriptValue
60498        (it stores the pattern and flags read from a RegExpObject, and creates
60499        a new one on deserialization).
60500        
60501        Tests: fast/loader/stateobjects/pushstate-object-types.html 
60502
60503        * ForwardingHeaders/runtime/RegExp.h: Added.
60504        * ForwardingHeaders/runtime/RegExpObject.h: Added.
60505        * bindings/js/SerializedScriptValue.cpp:
60506        (WebCore::CloneSerializer::dumpIfTerminal):
60507        (WebCore::CloneDeserializer::readTerminal):
60508
605092010-09-07  James Robinson  <jamesr@chromium.org>
60510
60511        Reviewed by Kenneth Russell.
60512
60513        Fix compile errors in DrawingBuffer if USE(ACCELERATED_COMPOSITING) is not set
60514        https://bugs.webkit.org/show_bug.cgi?id=45324
60515
60516        Adds appropriate #if guards around code that has to deal directly with the compositor.
60517        DrawingBuffer can still be used without the compositor as an off-screen rendering
60518        region.
60519
60520        To test, compile without USE(ACCELERATED_COMPOSITING).
60521
60522        * platform/graphics/chromium/DrawingBufferChromium.cpp:
60523        (WebCore::DrawingBuffer::~DrawingBuffer):
60524        (WebCore::DrawingBuffer::reset):
60525        * platform/graphics/gpu/DrawingBuffer.h:
60526
605272010-09-03  Joseph Pecoraro  <joepeck@webkit.org>
60528
60529        Reviewed by Darin Adler.
60530
60531        Provide a way to trigger a <select multiple> onchange event on changes
60532        https://bugs.webkit.org/show_bug.cgi?id=45192
60533
60534        Test: LayoutTests/platform/mac/fast/objc/dom-html-select-activate.html
60535
60536        This provides a way for a WebKit client using the Obj-C DOM bindings to
60537        trigger the "change" on a listbox select (<select multiple> or <select>
60538        with size > 1). This is because when a select is rendered as a listbox
60539        "change" events are triggered by mouse down events.
60540
60541        This adds -[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]
60542        to allow for handling multiple selections if the select element is a
60543        multi-select.
60544
60545        * bindings/objc/DOMHTML.mm:
60546        (-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]):
60547        * bindings/objc/DOMPrivate.h: unified the Category name. Was "FormsAutocomplete" now all are "FormAutocomplete".
60548        * dom/SelectElement.h:
60549        * html/HTMLSelectElement.cpp:
60550        (WebCore::HTMLSelectElement::setSelectedIndexByUser): listboxs need to be treated specially to fire their "change" event.
60551        * html/HTMLSelectElement.h:
60552        * wml/WMLSelectElement.cpp:
60553        (WebCore::WMLSelectElement::setSelectedIndexByUser):
60554
605552010-09-07  Simon Fraser  <simon.fraser@apple.com>
60556
60557        Reviewed by Darin Adler.
60558
60559        Minor WKCACFLayerRenderer cleanup
60560        https://bugs.webkit.org/show_bug.cgi?id=45201
60561
60562        Call initD3DGeometry() from createRenderer, rather than duplicating the code.
60563
60564        No behavior changes.
60565
60566        * platform/graphics/win/WKCACFLayerRenderer.cpp:
60567        (WebCore::WKCACFLayerRenderer::createRenderer):
60568
605692010-09-07  Vangelis Kokkevis  <vangelis@chromium.org>
60570
60571        Reviewed by Darin Fisher.
60572
60573        [chromium] Reset the owner of PlatformLayer's once the GraphicsLayer they are associated with
60574        gets destroyed.
60575        https://bugs.webkit.org/show_bug.cgi?id=45329
60576
60577        Test: Fixes UI test failures downstream for all the Media tests when run on the buildbots (machines without GPUs).
60578
60579        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
60580        (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
60581
605822010-09-07  Anders Carlsson  <andersca@apple.com>
60583
60584        Reviewed by Darin Adler.
60585
60586        <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
60587
60588        Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
60589
60590        * Configurations/Base.xcconfig:
60591
605922010-09-07  Abhishek Arya  <inferno@chromium.org>
60593
60594        Reviewed by Darin Adler.
60595
60596        Remove redundant bounds check in originalText(). Add bounds check
60597        to previousCharacter(). No need of start() > 0 check since m_start
60598        is unsigned and we already do start() null check inside function.
60599        https://bugs.webkit.org/show_bug.cgi?id=45303
60600
60601        Test: fast/text/one-letter-transform-crash.html
60602
60603        * rendering/RenderTextFragment.cpp:
60604        (WebCore::RenderTextFragment::originalText):
60605        (WebCore::RenderTextFragment::previousCharacter):
60606
606072010-09-07  Kenneth Russell  <kbr@google.com>
60608
60609        Reviewed by Dimitri Glazkov.
60610
60611        Regression in JPEG texture uploads on Mac OS X
60612        https://bugs.webkit.org/show_bug.cgi?id=45316
60613
60614        Fixed regression introduced in
60615        https://bugs.webkit.org/show_bug.cgi?id=44566 . Added regression
60616        test covering this case to gl-teximage.html in Khronos repository
60617        and synced test with WebKit's version.
60618
60619        * platform/graphics/cg/GraphicsContext3DCG.cpp:
60620        (WebCore::GraphicsContext3D::getImageData):
60621
606222010-09-07  Martin Robinson  <mrobinson@igalia.com>
60623
60624        Add rendering/ColumnInfo.h to the sources list.
60625
60626        * GNUmakefile.am:
60627
606282010-09-07  David Hyatt  <hyatt@apple.com>
60629
60630        Reviewed by Beth Dakin.
60631
60632        https://bugs.webkit.org/show_bug.cgi?id=45317, encapsulate multi-column rectangle information.
60633
60634        * WebCore.xcodeproj/project.pbxproj:
60635        * rendering/ColumnInfo.h: Added.
60636        (WebCore::ColumnInfo::ColumnInfo):
60637        (WebCore::ColumnInfo::desiredColumnWidth):
60638        (WebCore::ColumnInfo::setDesiredColumnWidth):
60639        (WebCore::ColumnInfo::desiredColumnCount):
60640        (WebCore::ColumnInfo::setDesiredColumnCount):
60641        (WebCore::ColumnInfo::columnCount):
60642        (WebCore::ColumnInfo::columnRectAt):
60643        (WebCore::ColumnInfo::clearColumns):
60644        (WebCore::ColumnInfo::addColumnRect):
60645        * rendering/RenderBlock.cpp:
60646        (WebCore::RenderBlock::paintColumnRules):
60647        (WebCore::RenderBlock::paintColumnContents):
60648        (WebCore::RenderBlock::lowestPosition):
60649        (WebCore::RenderBlock::rightmostPosition):
60650        (WebCore::RenderBlock::leftmostPosition):
60651        (WebCore::RenderBlock::hitTestColumns):
60652        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
60653        (WebCore::RenderBlock::desiredColumnWidth):
60654        (WebCore::RenderBlock::desiredColumnCount):
60655        (WebCore::RenderBlock::columnInfo):
60656        (WebCore::RenderBlock::layoutColumns):
60657        (WebCore::RenderBlock::adjustPointToColumnContents):
60658        (WebCore::RenderBlock::adjustRectForColumns):
60659        (WebCore::RenderBlock::adjustForColumns):
60660        * rendering/RenderBlock.h:
60661        * rendering/RenderLayer.cpp:
60662        (WebCore::RenderLayer::paintChildLayerIntoColumns):
60663        (WebCore::RenderLayer::hitTestChildLayerColumns):
60664
606652010-09-07  Dan Bernstein  <mitz@apple.com>
60666
60667        Reviewed by Dave Hyatt.
60668
60669        <rdar://problem/7794761> Floats inside of multicol fail to hit test
60670        https://bugs.webkit.org/show_bug.cgi?id=44730
60671
60672        Test: fast/multicol/hit-test-float.html
60673
60674        Factored float hit-testing out of nodeAtPoint so that hitTestColumns could
60675        call it with column-adjusted coordinates.
60676
60677        * rendering/RenderBlock.cpp:
60678        (WebCore::RenderBlock::nodeAtPoint):
60679        (WebCore::RenderBlock::hitTestFloats):
60680        (WebCore::RenderBlock::hitTestColumns):
60681        * rendering/RenderBlock.h:
60682
606832010-09-07  François Sausset  <sausset@gmail.com>
60684
60685        Reviewed by Beth Dakin.
60686
60687        <math> element should be centered when display attribute set to block.
60688        https://bugs.webkit.org/show_bug.cgi?id=44206
60689
60690        Test: mathml/presentation/attributes.xhtml
60691
60692        * css/mathml.css:
60693        (math[display="block"]):
60694
606952010-09-07  Eric Carlson  <eric.carlson@apple.com>
60696
60697        Reviewed by Darin Adler.
60698
60699        Media elements should derive from ActiveDOMObjects
60700        https://bugs.webkit.org/show_bug.cgi?id=45306
60701        <rdar://problem/7929062>
60702
60703        * html/HTMLMediaElement.cpp:
60704        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize ActiveDOMObject
60705        (WebCore::HTMLMediaElement::stop): Call suspend, we want to do the same thing in both cases.
60706        (WebCore::HTMLMediaElement::suspend): Rename from documentWillBecomeInactive.
60707        (WebCore::HTMLMediaElement::resume): Rename from documentDidBecomeActive.
60708        (WebCore::HTMLMediaElement::hasPendingActivity): Return true if the event queue is not empty
60709        so the element can't be collected before they are sent.
60710        * html/HTMLMediaElement.h:
60711        (WebCore::HTMLMediaElement::canSuspend):
60712
607132010-09-07  Dimitri Glazkov  <dglazkov@chromium.org>
60714
60715        Unreviewed, rolling out r66886.
60716        http://trac.webkit.org/changeset/66886
60717        https://bugs.webkit.org/show_bug.cgi?id=45112
60718
60719        Made
60720
60721        * platform/chromium/GeolocationServiceChromium.cpp:
60722        * platform/chromium/GeolocationServiceChromium.h:
60723
607242010-09-07  Martin Robinson  <mrobinson@igalia.com>
60725
60726        Small build fix. Remove libWebCoreJS from CLEAN_FILES, as it
60727        is no longer built.
60728
60729        * GNUmakefile.am: Remove reference to libWebCoreJS.
60730
607312010-09-07  Martin Robinson  <mrobinson@igalia.com>
60732
60733        Reviewed by Xan Lopez.
60734
60735        [GTK] [REGRESSION] r66848 caused a crash in testwebview
60736        https://bugs.webkit.org/show_bug.cgi?id=45298
60737
60738        No new tests as this fixes a test failure.
60739
60740        * platform/gtk/ScrollViewGtk.cpp:
60741        (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
60742        scrollbar adjustments unless this is a main frame ScrollView. If we do
60743        Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
60744        a segfault.
60745
607462010-09-07  Kristian Monsen  <kristianm@google.com>
60747
60748        Reviewed by Steve Block.
60749
60750        Compile fix for Android.
60751        https://bugs.webkit.org/show_bug.cgi?id=45292
60752        Explicitly add needed header for 
60753        STRING_TO_V8PARAMETER_EXCEPTION_BLOCK as they do not get 
60754        included through other headers on Android.
60755
60756        No new tests, just a compile fix.
60757
60758        * bindings/scripts/CodeGeneratorV8.pm:
60759
607602010-09-07  Martin Robinson  <mrobinson@igalia.com>
60761
60762        Reviewed by Xan Lopez.
60763
60764        [GTK] Fix some feature guards
60765        https://bugs.webkit.org/show_bug.cgi?id=45302
60766
60767        No new tests as this is just a build change.
60768
60769        * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Guard with #if ENABLE(VIDEO)
60770        * platform/graphics/gstreamer/DataSourceGStreamer.h: Ditto.
60771        * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Ditto.
60772        * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Ditto.
60773        * platform/graphics/gstreamer/GStreamerGWorld.cpp: Ditto.
60774        * platform/graphics/gstreamer/GStreamerGWorld.h: Ditto.
60775        * platform/graphics/gstreamer/ImageGStreamer.h: Ditto.
60776        * platform/graphics/gstreamer/ImageGStreamerCG.mm: Ditto.
60777        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.
60778        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Ditto.
60779        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto.
60780        * platform/graphics/gstreamer/PlatformVideoWindow.h: Ditto.
60781        * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Ditto.
60782        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Ditto.
60783        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Ditto.
60784        * platform/graphics/gstreamer/VideoSinkGStreamer.h: Ditto.
60785        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Ditto.
60786        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Ditto.
60787        * platform/gtk/GeolocationServiceGtk.cpp: Guard with ENABLE(GEOLOCATION)
60788        * platform/gtk/GeolocationServiceGtk.h: Ditto.
60789
607902010-09-07  Jonathan Dixon  <joth@chromium.org>
60791
60792        Reviewed by Jeremy Orlow.
60793
60794        Access to out-of-scope WebGeolocationServiceBridgeImpl
60795        https://bugs.webkit.org/show_bug.cgi?id=45112
60796
60797        Add missing virtual destructor to the abstract base class.
60798
60799        * platform/chromium/GeolocationServiceChromium.cpp:
60800        (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
60801        * platform/chromium/GeolocationServiceChromium.h:
60802
608032010-09-07  Martin Robinson  <mrobinson@igalia.com>
60804
60805        Reviewed by Xan Lopez.
60806
60807        [GTK] [REGRESSION] r66848 caused a crash in testwebview
60808        https://bugs.webkit.org/show_bug.cgi?id=45298
60809
60810        No new tests as this fixes a test failure.
60811
60812        * platform/gtk/ScrollViewGtk.cpp:
60813        (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
60814        scrollbar adjustments unless this is a main frame ScrollView. If we do
60815        Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
60816        a segfault.
60817
608182010-09-07  Adam Langley  <agl@chromium.org>
60819
60820        Reviewed by Tony Chang.
60821
60822        [chromium] Fix complex text word spacing on Linux.
60823
60824        I broke complex text word spacing with r66689. I misnamed a
60825        variable in the original code |glyphIndex| when it was
60826        actually indexing code points. That meant that I compared it
60827        against the wrong limit when working around Harfbuzz issues
60828        and neatly disabled word spacing.
60829
60830        https://bugs.webkit.org/show_bug.cgi?id=45191
60831
60832        Test: fast/text/atsui-spacing-features.html
60833
60834        * platform/graphics/chromium/FontLinux.cpp:
60835        (WebCore::TextRunWalker::setGlyphXPositions):
60836
608372010-09-07  Satish Sampath  <satish@chromium.org>
60838
60839        Reviewed by Steve Block.
60840
60841        Fix speech button's hit test logic for RTL rendering.
60842        https://bugs.webkit.org/show_bug.cgi?id=45288
60843
60844        * rendering/RenderTextControlSingleLine.cpp:
60845        (WebCore::RenderTextControlSingleLine::forwardEvent):
60846
608472010-09-07  Satish Sampath  <satish@chromium.org>
60848
60849        Reviewed by Jeremy Orlow.
60850
60851        Ignore programmatic clicks on speech input button for security reasons.
60852        https://bugs.webkit.org/show_bug.cgi?id=45181
60853
60854        Test: fast/speech/speech-button-ignore-generated-events.html
60855
60856        * rendering/TextControlInnerElements.cpp:
60857        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
60858
608592010-09-07  Kent Hansen  <kent.hansen@nokia.com>
60860
60861        Reviewed by Andreas Kling.
60862
60863        [Qt] tst_QWebFrame::connectAndDisconnect() fails on WebKit trunk because __qt_sender__ is never set
60864        https://bugs.webkit.org/show_bug.cgi?id=44697
60865
60866        When the signal handler is a JS function, __qt_sender__ is stuffed into a temporary
60867        object that's pushed onto the function's scope before the function is invoked, and
60868        popped again afterwards.
60869
60870        We were pushing this new scope object _after_ calling JSFunction::getCallData(),
60871        and relying on JSC::call() to use the fresh scope chain from the function object.
60872        However, this is no longer the case; JSC::call() uses the scope chain passed in
60873        the CallData argument. Hence, we need to set up the scope before the function's
60874        CallData is queried.
60875
60876        * bridge/qt/qt_runtime.cpp:
60877        (JSC::Bindings::QtConnectionObject::execute):
60878
608792010-09-07  Kwang Yul Seo  <skyul@company100.net>
60880
60881        Reviewed by Kent Tamura.
60882
60883        Add ENABLE(INSPECTOR) guard in InspectorController::inspectorControllerForNode
60884        https://bugs.webkit.org/show_bug.cgi?id=45272
60885
60886        Build fix.
60887
60888        * inspector/InspectorController.h:
60889        (WebCore::InspectorController::inspectorControllerForNode):
60890
608912010-09-07  Joerg Bornemann  <joerg.bornemann@nokia.com>
60892
60893        Reviewed by Ariya Hidayat.
60894
60895        Fix QtWebKit linker error on Windows CE 6.
60896        https://bugs.webkit.org/show_bug.cgi?id=43442
60897
60898        Doesn't affect any tests.
60899
60900        * WebCore.pro:
60901
609022010-09-07  James Kozianski  <koz@chromium.org>
60903
60904        Reviewed by Kent Tamura.
60905
60906        Crash rendering <meter/> with percent padding
60907        https://bugs.webkit.org/show_bug.cgi?id=45081
60908
60909        Avoids a crash caused by RenderMeter checking its own dimensions to
60910        determine whether it needs layout. The crash is avoided by removing
60911        the check and always calling setNeedsLayout(true).
60912
60913        Test: fast/dom/HTMLMeterElement/meter-percent-size.html
60914
60915        * rendering/RenderIndicator.cpp:
60916        (WebCore::RenderIndicator::updateFromElement):
60917        * rendering/RenderIndicator.h:
60918
609192010-09-06  Adam Barth  <abarth@webkit.org>
60920
60921        Reviewed by Sam Weinig.
60922
60923        OOB read with svg polyline
60924        https://bugs.webkit.org/show_bug.cgi?id=45279
60925
60926        In principle, attributeChanged can do anything.  If we supported more
60927        DOM mutation events, it could even run JavaScript.  That means we need
60928        to be prepared for the attribute map to change when running
60929        attributeChanged.  This patch makes this loop resilient to the
60930        attribute map changing by storing the list of changed attributes on the
60931        stack.
60932
60933        Test: fast/parser/changing-attrbutes-crash.html
60934
60935        * dom/Element.cpp:
60936        (WebCore::Element::setAttributeMap):
60937
609382010-09-06  Oliver Hunt  <oliver@apple.com>
60939
60940        Windows build fix
60941
60942        * bindings/js/SerializedScriptValue.cpp:
60943        (WebCore::CloneSerializer::write):
60944
609452010-09-06  Oliver Hunt  <oliver@apple.com>
60946
60947        Windows build fix
60948
60949        * bindings/js/SerializedScriptValue.cpp:
60950        (WebCore::CloneSerializer::write):
60951
609522010-09-05  Oliver Hunt  <oliver@apple.com>
60953
60954        Reviewed by Sam Weinig.
60955
60956        SerializedScriptValue needs to use a flat storage mechanism
60957        https://bugs.webkit.org/show_bug.cgi?id=45244
60958
60959        Rewrite the old tree to tree serialization logic to use
60960        flat storage.  Unfortunately this basically required a
60961        complete rewrite.
60962
60963        * bindings/js/SerializedScriptValue.cpp:
60964        (WebCore::CloneBase::CloneBase):
60965        (WebCore::CloneBase::shouldTerminate):
60966        (WebCore::CloneBase::ticksUntilNextCheck):
60967        (WebCore::CloneBase::didTimeOut):
60968        (WebCore::CloneBase::throwStackOverflow):
60969        (WebCore::CloneBase::throwInterruptedException):
60970        (WebCore::CloneBase::fail):
60971        (WebCore::CloneSerializer::serialize):
60972        (WebCore::CloneSerializer::CloneSerializer):
60973        (WebCore::CloneSerializer::isArray):
60974        (WebCore::CloneSerializer::startObject):
60975        (WebCore::CloneSerializer::startArray):
60976        (WebCore::CloneSerializer::endObject):
60977        (WebCore::CloneSerializer::getSparseIndex):
60978        (WebCore::CloneSerializer::getProperty):
60979        (WebCore::CloneSerializer::dumpImmediate):
60980        (WebCore::CloneSerializer::dumpString):
60981        (WebCore::CloneSerializer::dumpIfTerminal):
60982        (WebCore::CloneSerializer::write):
60983        (WebCore::CloneSerializer::writeLittleEndian):
60984        (WebCore::CloneSerializer::writeStringIndex):
60985        (WebCore::CloneDeserializer::deserializeString):
60986        (WebCore::CloneDeserializer::deserialize):
60987        (WebCore::CloneDeserializer::CloneDeserializer):
60988        (WebCore::CloneDeserializer::throwValidationError):
60989        (WebCore::CloneDeserializer::isValid):
60990        (WebCore::CloneDeserializer::readLittleEndian):
60991        (WebCore::CloneDeserializer::read):
60992        (WebCore::CloneDeserializer::readStringIndex):
60993        (WebCore::CloneDeserializer::readString):
60994        (WebCore::CloneDeserializer::readStringData):
60995        (WebCore::CloneDeserializer::readTag):
60996        (WebCore::CloneDeserializer::putProperty):
60997        (WebCore::CloneDeserializer::readFile):
60998        (WebCore::CloneDeserializer::readTerminal):
60999        (WebCore::SerializedScriptValue::~SerializedScriptValue):
61000        (WebCore::SerializedScriptValue::SerializedScriptValue):
61001        (WebCore::SerializedScriptValue::create):
61002        (WebCore::SerializedScriptValue::toString):
61003        (WebCore::SerializedScriptValue::deserialize):
61004        (WebCore::SerializedScriptValue::nullValue):
61005        * bindings/js/SerializedScriptValue.h:
61006        * dom/MessagePortChannel.cpp:
61007        (WebCore::MessagePortChannel::EventData::EventData):
61008        * workers/WorkerMessagingProxy.cpp:
61009        (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
61010        (WebCore::MessageWorkerTask::MessageWorkerTask):
61011
610122010-09-06  Martin Robinson  <mrobinson@igalia.com>
61013
61014        Reviewed by Gustavo Noronha Silva.
61015
61016        [GTK] ScrollbarThemeGtk should be enabled for interior frame scrollbars
61017        https://bugs.webkit.org/show_bug.cgi?id=45046
61018
61019        Make interior frame scrollbars "fully-fake," which means they do not rely
61020        at all on GTK+ for painting or behavior, but instead are typical WebCore
61021        scrollbars drawn according to the GTK+ theme. Move ScrollbarGtk to
61022        MainFrameScrollbarGtk and remove all logic in that file dealing with interior
61023        frame scrollbars.
61024
61025        No new tests, as this is already covered by pixel tests for scrollbars,
61026        which were added in r66605.
61027
61028        * GNUmakefile.am: Update sources list.
61029        * platform/ScrollView.h: Change the adjustment members to be smart pointers.
61030        * platform/Scrollbar.cpp: Enable THUMB_POSITION_AFFECTS_BUTTONS for GTK+ as well.
61031        * platform/gtk/MainFrameScrollbarGtk.cpp: Added.
61032        (MainFrameScrollbarGtk::create): Create a MainFrameScrollbarGtk instead of ScrollbarGtk.
61033        (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
61034        (MainFrameScrollbarGtk::~MainFrameScrollbarGtk):
61035        (MainFrameScrollbarGtk::attachAdjustment):
61036        (MainFrameScrollbarGtk::detachAdjustment):
61037        (MainFrameScrollbarGtk::updateThumbPosition):
61038        (MainFrameScrollbarGtk::updateThumbProportion):
61039        (MainFrameScrollbarGtk::gtkValueChanged):
61040        (MainFrameScrollbarGtk::paint):
61041        * platform/gtk/MainFrameScrollbarGtk.h: Added.
61042        * platform/gtk/ScrollViewGtk.cpp:
61043        (WebCore::ScrollView::platformInit): Remove unnecessary initialization
61044        because of smart pointer change.
61045        (WebCore::ScrollView::createScrollbar): Instead of creating ScrollbarGtk for
61046        interior frame scrollbars, create a normal WebCore scrollbar.
61047        (WebCore::ScrollView::setGtkAdjustments): Added an extra assert which ensures
61048        that this method is never called with a non-null adjustment on an interior frame
61049        scrollbar.
61050        (WebCore::ScrollView::platformAddChild): Remove logic for interior frame scrollbars.
61051        (WebCore::ScrollView::platformRemoveChild): Remove logic for interior frame scrollbars.
61052        (WebCore::ScrollView::visibleContentRect): Use a more accurate guard for detecting
61053        transitionary states when accessing parent widgets. Explcitly guard against interior
61054        frame ScrollView's trying to determine size based on parent widgets.
61055        (WebCore::ScrollView::setScrollbarModes): This method was out of sync with the one
61056        it copy-and-pasted from. Update it and change the logic to do the right thing for
61057        interior frame scrollbars.
61058        * platform/gtk/ScrollbarGtk.cpp: Removed.
61059        * platform/gtk/ScrollbarGtk.h: Removed.
61060
610612010-09-06  Justin Schuh  <jschuh@chromium.org>
61062
61063        Reviewed by Nikolas Zimmermann.
61064
61065        Make SVG PendingResources use RefPtr
61066        https://bugs.webkit.org/show_bug.cgi?id=43587
61067
61068        Convert SVGDocumentExtensions::m_pendingResources to use a RefPtr for 
61069        pending elements instead of a raw pointer so that pending elements can't
61070        be freed prematurely.
61071
61072        Test: svg/custom/use-invalid-pattern.svg
61073
61074        * rendering/RenderSVGResourceContainer.cpp:
61075        (WebCore::RenderSVGResourceContainer::registerResource):
61076        * svg/SVGDocumentExtensions.cpp:
61077        (WebCore::SVGDocumentExtensions::addPendingResource):
61078        (WebCore::SVGDocumentExtensions::removePendingResource):
61079        * svg/SVGDocumentExtensions.h:
61080        * svg/SVGElement.cpp:
61081        (WebCore::SVGElement::insertedIntoDocument):
61082
610832010-09-06  Martin Robinson  <mrobinson@igalia.com>
61084
61085        Reviewed by Gustavo Noronha Silva.
61086
61087        [GTK] ScrollbarThemeGtk should support secondary steppers
61088        https://bugs.webkit.org/show_bug.cgi?id=44791
61089
61090        Add support to ScrollbarThemeGtk for drawing alternate steppers. Adjust
61091        the algorithms for calculating forward and back button rects, if they
61092        are active in the theme. Expose this information via GtkScrollbarMetrics.
61093
61094        * platform/gtk/ScrollbarThemeGtk.cpp:
61095        (WebCore::ScrollbarThemeGtk::updateThemeProperties): Access the secondary stepper properties
61096        of GtkScrollbarMetrics when updating the style cache.
61097        (WebCore::ScrollbarThemeGtk::backButtonRect): Account for alternate steppers.
61098        (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
61099        (WebCore::ScrollbarThemeGtk::trackRect): Ditto.
61100        (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
61101        * platform/gtk/ScrollbarThemeGtk.h:
61102        * platform/gtk/gtk2drawing.c: Expose whether or not the style uses alternate steppers
61103        via GtkScrollbarMetrics.
61104        * platform/gtk/gtkdrawing.h: Added fields to GtkScrollbarMetrics.
61105
611062010-09-06  Tony Gentilcore  <tonyg@chromium.org>
61107
61108        Reviewed by Adam Barth.
61109
61110        Implement HTML5 definition of document.readyState
61111        https://bugs.webkit.org/show_bug.cgi?id=45119
61112
61113        The legacy behavior was "loading" -> "loaded" -> "complete". The new
61114        HTML5 behavior is "loading" -> "interactive" -> "complete". There is
61115        some potential for this to cause compat problems if for instance a
61116        page expects readyState to be "loaded" during the DOMContentLoaded event.
61117
61118        Test: fast/dom/Document/readystate.html
61119
61120        * dom/Document.cpp:
61121        (WebCore::Document::Document): Initial value is Complete because according to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-readystate,
61122        when a Document is created the initial value is "complete" unless it has a parser associated with it, in which case it is "loading".
61123        So the ctor starts it Complete, and when the parser is created it is flipped to Loading.
61124        (WebCore::Document::readyState):
61125        (WebCore::Document::setReadyState):
61126        (WebCore::Document::implicitOpen):
61127        (WebCore::Document::finishedParsing): Ensure that XML and HTML parser have transition to Stopping state.
61128        * dom/Document.h:
61129        * dom/DocumentParser.cpp:
61130        (WebCore::DocumentParser::prepareToStopParsing): Previously this was being called when parsing had stopped.
61131        It is better to ensure it is only called while parsing.
61132        * dom/XMLDocumentParser.cpp:
61133        (WebCore::XMLDocumentParser::end): Transition to stopping before calling document finishedParsiong().
61134        * html/parser/HTMLDocumentParser.cpp:
61135        (WebCore::HTMLDocumentParser::prepareToStopParsing): Set state to interactive before running deferred scripts.
61136        This method is also called when parsing fragments, so we need to ensure it isn't done in that case.
61137        (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd): Added. Break out this part s that notifyFinished doesn't go through
61138        the additional steps of pumping tokenizer, setting the state, etc.
61139        (WebCore::HTMLDocumentParser::notifyFinished): Now that prepareToStopParsing is split up, we must protect. It also makes sense to add a couple of ASSERTs.
61140        * loader/FrameLoader.cpp:
61141        (WebCore::FrameLoader::stopLoading): It looks like an aborted load should never transition to "complete" according the HTML5. I've left the legacy behavior for now though.
61142        (WebCore::FrameLoader::checkCompleted): The FrameLoader now sets the state on the Document instead of the Document polling the FrameLoader.
61143
611442010-09-06  Anton Muhin  <antonm@chromium.org>
61145
61146        Reviewed by Adam Barth.
61147
61148        [v8] Inline hot methods for V8 to WebCore and back conversions
61149        https://bugs.webkit.org/show_bug.cgi?id=45270
61150
61151        Inline fast paths of hot functions performing conversions from V8 wrappers
61152        to WebCore native objects and back.
61153        That slightly increases the size of binary (within 0.1% for both Ubuntu
61154        and Windows, but those builds are slightly different from official ones),
61155        but gives performance boost (3--5% on Windows, up to 8% on Ubuntu).
61156
61157        * bindings/scripts/CodeGeneratorV8.pm:
61158        * bindings/v8/V8DOMWindowShell.cpp:
61159        (WebCore::V8DOMWindowShell::initContextIfNeeded):
61160        * bindings/v8/V8DOMWindowShell.h:
61161        * bindings/v8/V8DOMWrapper.cpp:
61162        (WebCore::V8DOMWrapper::getWrapperSlow):
61163        * bindings/v8/V8DOMWrapper.h:
61164        (WebCore::V8DOMWrapper::getWrapper):
61165        * bindings/v8/custom/V8NodeCustom.cpp:
61166        (WebCore::toV8Slow):
61167
611682010-09-06  Shane Stephens  <shanestephens@google.com>
61169
61170        Reviewed by Dimitri Glazkov.
61171
61172        [Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use>
61173        https://bugs.webkit.org/show_bug.cgi?id=44750
61174
61175        Fixes crash by checking for null transforms and skipping update step
61176        when appropriate.
61177
61178        Test: svg/dom/symbol-embeddedAnimation.svg
61179
61180        * svg/SVGAnimateMotionElement.cpp:
61181        (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
61182
611832010-09-06  Xan Lopez  <xlopez@igalia.com>
61184
61185        Rubber-stamped by Tor Arne Vestbø.
61186
61187        WebCore already generates a focus-{out,in} events on its setFocus
61188        method, there's no need to duplicate it here. Previously this was
61189        needed because we were not catching all possible names of focus
61190        events in PluginView::handleEvent and were missing the ones
61191        WebCore does, but this has been fixed in r66827.
61192
61193        * plugins/qt/PluginViewQt.cpp:
61194        (WebCore::PluginView::setFocus):
61195
611962010-09-06  Sheriff Bot  <webkit.review.bot@gmail.com>
61197
61198        Unreviewed, rolling out r66823.
61199        http://trac.webkit.org/changeset/66823
61200        https://bugs.webkit.org/show_bug.cgi?id=45266
61201
61202        Windows build fails with unknown reason (Requested by zherczeg
61203        on #webkit).
61204
61205        * Android.mk:
61206        * CMakeLists.txt:
61207        * GNUmakefile.am:
61208        * WebCore.gypi:
61209        * WebCore.pro:
61210        * WebCore.vcproj/WebCore.vcproj:
61211        * WebCore.xcodeproj/project.pbxproj:
61212        * rendering/RenderObject.h:
61213        * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed.
61214        * rendering/RenderSVGResourceFilterPrimitive.h: Removed.
61215        * rendering/SVGRenderTreeAsText.cpp:
61216        (WebCore::writeSVGContainer):
61217        * svg/SVGFEDiffuseLightingElement.cpp:
61218        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
61219        * svg/SVGFELightElement.cpp:
61220        (WebCore::SVGFELightElement::svgAttributeChanged):
61221        (WebCore::SVGFELightElement::childrenChanged):
61222        * svg/SVGFEOffsetElement.cpp:
61223        (WebCore::SVGFEOffsetElement::svgAttributeChanged):
61224        * svg/SVGFilterElement.h:
61225        (WebCore::SVGFilterElement::invalidateFilter):
61226        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
61227        (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
61228        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
61229        * svg/SVGFilterPrimitiveStandardAttributes.h:
61230        (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
61231
612322010-09-06  Xan Lopez  <xlopez@igalia.com>
61233
61234        Reviewed by Martin Robinson.
61235
61236        [GTK] Provide Keyboard Events to Windowless plugins
61237        https://bugs.webkit.org/show_bug.cgi?id=44613
61238
61239        Fix keyboard event delivery for windowless plugins.
61240
61241        Based on a patch by Bharathwaaj.
61242
61243        * plugins/PluginView.cpp:
61244        (WebCore::PluginView::handleEvent): also take into account
61245        focused{in,out} events
61246        * plugins/gtk/PluginViewGtk.cpp:
61247        (WebCore::PluginView::handleKeyboardEvent): we want the keyval
61248        here, not the hardware keycode
61249        (WebCore::PluginView::handleMouseEvent): focus the pluginview on mouse events
61250
612512010-09-06  Ilya Tikhonovsky  <loislo@chromium.org>
61252
61253        Reviewed by Yury Semikhatsky.
61254
61255        WebInspector: it'd be nice to be able to pass undefined argument as a callback to InspectorBackend functions.
61256
61257        There are some places where callback is passing via some wrapper. In that case sendMessageToBackend
61258        will be called with additional argument for callback but with undefined value.
61259
61260        https://bugs.webkit.org/show_bug.cgi?id=45265
61261
61262        * inspector/CodeGeneratorInspector.pm:
61263
612642010-09-06  Zoltan Herczeg  <zherczeg@webkit.org>
61265
61266        Reviewed by Dirk Schulze.
61267
61268        An individual renderer should be assigned to each SVGFE*Element class
61269        https://bugs.webkit.org/show_bug.cgi?id=43954
61270
61271        RenderSVGResourceFilterPrimitive renderer is added to
61272        the project, and assigned to each object, which class is
61273        derived from SVGFilterPrimitiveStandardAttributes. The patch
61274        mainly contains build system changes, and it fixes one layout
61275        test in svg/dynamic-updates.
61276
61277        * Android.mk:
61278        * CMakeLists.txt:
61279        * GNUmakefile.am:
61280        * WebCore.gypi:
61281        * WebCore.pro:
61282        * WebCore.vcproj/WebCore.vcproj:
61283        * WebCore.xcodeproj/project.pbxproj:
61284        * rendering/RenderObject.h:
61285        (WebCore::RenderObject::isSVGResourceFilterPrimitive):
61286        * rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
61287        (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
61288        * rendering/RenderSVGResourceFilterPrimitive.h: Added.
61289        (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
61290        * rendering/SVGRenderTreeAsText.cpp:
61291        (WebCore::writeSVGContainer):
61292        * svg/SVGFEDiffuseLightingElement.cpp:
61293        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
61294        * svg/SVGFELightElement.cpp:
61295        (WebCore::SVGFELightElement::svgAttributeChanged):
61296        (WebCore::SVGFELightElement::childrenChanged):
61297        * svg/SVGFEOffsetElement.cpp:
61298        (WebCore::SVGFEOffsetElement::svgAttributeChanged):
61299        * svg/SVGFilterElement.h:
61300        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
61301        (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
61302        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
61303        (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
61304        * svg/SVGFilterPrimitiveStandardAttributes.h:
61305        (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
61306
613072010-09-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
61308
61309        Reviewed by Dirk Schulze.
61310
61311        [WML] Use RenderImageResource in WMLImageElement.cpp
61312        https://bugs.webkit.org/show_bug.cgi?id=44952
61313
61314        The hasImage() and setCachedImage() were moved to RenderImageResource class. 
61315        So, WML also should use the functions from RenderImageResource.
61316
61317        * wml/WMLImageElement.cpp:
61318        (WebCore::WMLImageElement::attach):
61319
613202010-08-26  Jeremy Orlow  <jorlow@chromium.org>
61321
61322        Reviewed by Steve Block.
61323
61324        Add index insertion support to IndexedDB.
61325        https://bugs.webkit.org/show_bug.cgi?id=44695
61326
61327        Whenever you insert an item into an ObjectStore, it should use all
61328        indexes' key paths to insert corresponding entries into each index.
61329        Also data should be deleted out of the index when it goes away.
61330
61331        Not much testing yet since there's no way to directly observe indexes.
61332        More will be in next patch.
61333
61334        * storage/IDBDatabaseBackendImpl.cpp:
61335        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
61336        * storage/IDBFactoryBackendImpl.cpp:
61337        (WebCore::createTables):
61338        * storage/IDBIndex.idl:
61339        * storage/IDBIndexBackendImpl.cpp:
61340        (WebCore::whereClause):
61341        (WebCore::bindWhereClause):
61342        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
61343        * storage/IDBIndexBackendImpl.h:
61344        (WebCore::IDBIndexBackendImpl::id):
61345        * storage/IDBKey.cpp:
61346        (WebCore::IDBKey::whereSyntax):
61347        (WebCore::IDBKey::bind):
61348        (WebCore::IDBKey::bindWithNulls):
61349        * storage/IDBKey.h:
61350        * storage/IDBObjectStore.idl:
61351        * storage/IDBObjectStoreBackendImpl.cpp:
61352        (WebCore::whereClause):
61353        (WebCore::bindWhereClause):
61354        (WebCore::IDBObjectStoreBackendImpl::get):
61355        (WebCore::fetchKeyFromKeyPath):
61356        (WebCore::putObjectStoreData):
61357        (WebCore::putIndexData):
61358        (WebCore::IDBObjectStoreBackendImpl::put):
61359        (WebCore::IDBObjectStoreBackendImpl::remove):
61360        (WebCore::IDBObjectStoreBackendImpl::createIndex):
61361        (WebCore::doDelete):
61362        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
61363        (WebCore::IDBObjectStoreBackendImpl::openCursor):
61364        * storage/IDBObjectStoreBackendImpl.h:
61365
613662010-09-06  Anton Muhin  <antonm@chromium.org>
61367
61368        Reviewed by Adam Barth.
61369
61370        [v8] bypass caches when query memory usage from post GC and in crash handler.
61371        https://bugs.webkit.org/show_bug.cgi?id=45036
61372
61373        Add Chromium-specific API to query actual memory usage which bypasses any caches.
61374
61375        * platform/chromium/ChromiumBridge.h:
61376
613772010-09-06  Adam Barth  <abarth@webkit.org>
61378
61379        Reviewed by Darin Adler.
61380
61381        Rename SecurityOrigin::canLoad to canDisplay
61382        https://bugs.webkit.org/show_bug.cgi?id=45214
61383
61384        canLoad is a pretty opaque name.  This function is really about whether
61385        you can display the contents of the URL in an iframe, an image, or a
61386        plugin.
61387
61388        * WebCore.exp.in:
61389        * html/HTMLMediaElement.cpp:
61390        (WebCore::HTMLMediaElement::isSafeToLoadURL):
61391        * loader/Cache.cpp:
61392        (WebCore::Cache::requestResource):
61393        * loader/FrameLoader.cpp:
61394        (WebCore::FrameLoader::loadFrameRequest):
61395        * loader/PingLoader.cpp:
61396        (WebCore::PingLoader::loadImage):
61397        * loader/SubframeLoader.cpp:
61398        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
61399        (WebCore::SubframeLoader::createJavaAppletWidget):
61400        (WebCore::SubframeLoader::loadSubframe):
61401        (WebCore::SubframeLoader::loadPlugin):
61402        * loader/SubresourceLoader.cpp:
61403        (WebCore::SubresourceLoader::create):
61404        * page/SecurityOrigin.cpp:
61405        (WebCore::SecurityOrigin::canDisplay):
61406        * page/SecurityOrigin.h:
61407        * plugins/PluginView.cpp:
61408        (WebCore::PluginView::load):
61409
614102010-08-31  Yury Semikhatsky  <yurys@chromium.org>
61411
61412        Reviewed by Joseph Pecoraro.
61413
61414        Web Inspector: browser crashes on attempt to evaluate "alert(1)" while staying on a breakpoint
61415        https://bugs.webkit.org/show_bug.cgi?id=44943
61416
61417        Test: inspector/debugger-suspend-active-dom-objects.html
61418
61419        * page/PageGroupLoadDeferrer.cpp:
61420        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
61421
614222010-09-05  Kenneth Russell  <kbr@google.com>
61423
61424        Reviewed by Darin Fisher.
61425
61426        Add unit tests for red-black tree and (POD) arena
61427        https://bugs.webkit.org/show_bug.cgi?id=45060
61428
61429        * platform/graphics/gpu/PODArena.h: Made DefaultChunkSize public so unit tests can access it. Fixed copyright header.
61430        * platform/graphics/gpu/PODInterval.h: Fixed copyright header.
61431        * platform/graphics/gpu/PODIntervalTree.h: Fixed copyright header.
61432        * platform/graphics/gpu/PODRedBlackTree.h: Fixed copyright header.
61433
614342010-09-05  Jeremy Orlow  <jorlow@chromium.org>
61435
61436        Reviewed by Nate Chapin.
61437
61438        Add the concept of class methods to bindings (for IndexedDB's IDBKeyRange).
61439        https://bugs.webkit.org/show_bug.cgi?id=45044
61440
61441        IndexedDB's IDBKeyRange has what, in other languages, are called class
61442        methods. In javaScript terms, these are methods only accessible from their
61443        constructor and not instances. This change adds such support to V8. There
61444        are already other features required for IndexedDB that JSC doesn't yet
61445        support, so I'll add this to the list of todo items in the master bug
61446        for that.
61447
61448        The bindings tests cover this. My next patch will change WebCore to use
61449        this and it'll have associated layout tests.
61450
61451        * bindings/scripts/CodeGeneratorV8.pm:
61452        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
61453        (WebDOMTestObj::classMethod):
61454        (WebDOMTestObj::classMethodWithOptional):
61455        * bindings/scripts/test/CPP/WebDOMTestObj.h:
61456        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
61457        (webkit_dom_test_obj_class_method):
61458        (webkit_dom_test_obj_class_method_with_optional):
61459        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
61460        * bindings/scripts/test/JS/JSTestObj.cpp:
61461        (WebCore::jsTestObjPrototypeFunctionStaticMethod):
61462        (WebCore::jsTestObjPrototypeFunctionStaticMethodWithOptional):
61463        * bindings/scripts/test/JS/JSTestObj.h:
61464        * bindings/scripts/test/ObjC/DOMTestObj.h:
61465        * bindings/scripts/test/ObjC/DOMTestObj.mm:
61466        (-[DOMTestObj classMethod]):
61467        (-[DOMTestObj classMethodWithOptional:]):
61468        * bindings/scripts/test/TestObj.idl:
61469        * bindings/scripts/test/V8/V8TestObj.cpp:
61470        (WebCore::TestObjInternal::classMethodCallback):
61471        (WebCore::TestObjInternal::classMethodWithOptionalCallback):
61472        (WebCore::ConfigureV8TestObjTemplate):
61473        * storage/IDBKeyRange.idl:
61474
614752010-09-05  Jeremy Orlow  <jorlow@chromium.org>
61476
61477        Reviewed by Steve Block.
61478
61479        Add IndexedDB objects' constructors to window
61480        https://bugs.webkit.org/show_bug.cgi?id=44599
61481
61482        Also add a forgotten constant to IDBTransaction, and
61483        change IDBKeyRange over to using the V8Static attribute
61484        so it actually behaves as it's supposed to.
61485
61486        * bindings/generic/RuntimeEnabledFeatures.h:
61487        (WebCore::RuntimeEnabledFeatures::iDBCursorEnabled):
61488        (WebCore::RuntimeEnabledFeatures::iDBDatabaseEnabled):
61489        (WebCore::RuntimeEnabledFeatures::iDBDatabaseErrorEnabled):
61490        (WebCore::RuntimeEnabledFeatures::iDBDatabaseExceptionEnabled):
61491        (WebCore::RuntimeEnabledFeatures::iDBErrorEventEnabled):
61492        (WebCore::RuntimeEnabledFeatures::iDBEventEnabled):
61493        (WebCore::RuntimeEnabledFeatures::iDBFactoryEnabled):
61494        (WebCore::RuntimeEnabledFeatures::iDBIndexEnabled):
61495        (WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled):
61496        (WebCore::RuntimeEnabledFeatures::iDBObjectStoreEnabled):
61497        (WebCore::RuntimeEnabledFeatures::iDBRequestEnabled):
61498        (WebCore::RuntimeEnabledFeatures::iDBSuccessEventEnabled):
61499        (WebCore::RuntimeEnabledFeatures::iDBTransactionEnabled):
61500        * page/DOMWindow.cpp:
61501        (WebCore::DOMWindow::clear):
61502        (WebCore::DOMWindow::indexedDB):
61503        * page/DOMWindow.h:
61504        * page/DOMWindow.idl:
61505        * storage/IDBKeyRange.idl:
61506        * storage/IDBTransaction.h:
61507        * storage/IDBTransaction.idl:
61508
615092010-09-04  Justin Schuh  <jschuh@chromium.org>
61510
61511        Reviewed by Nikolas Zimmermann.
61512
61513        Prevent premature deletion of svg use shadow tree
61514        https://bugs.webkit.org/show_bug.cgi?id=43260
61515
61516        Test: svg/custom/use-invalid-style.svg
61517
61518        * svg/SVGUseElement.cpp:
61519        (WebCore::SVGUseElement::insertedIntoDocument):
61520        (WebCore::SVGUseElement::removedFromDocument):
61521        (WebCore::SVGUseElement::detach):
61522
615232010-09-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
61524
61525        Reviewed by Darin Adler.
61526
61527        Add NetworkingContext to avoid layer violations
61528        https://bugs.webkit.org/show_bug.cgi?id=42292
61529
61530        Create and provide access to NetworkingContext in FrameLoader.
61531
61532        In the WebKit layer we added specific implementations of FrameNetworkingContext
61533        so each port's FrameLoaderClient can add any port specific information to NetworkingContext
61534        The NetworkingContext is, therefore, created by a FrameLoaderClient and stored
61535        in the FrameLoader for each frame created. People must always use it
61536        by calling FrameLoader::networkingContext() and never through their FrameLoaderClient.
61537        The lifetime cycle of NetworkingContext is kept by a RefPtr, so the object is RefCounted.
61538
61539        It is still a preparation to NetworkingContext to be activated and
61540        work for all ports.
61541
61542        * WebCore.exp.in:
61543        * loader/EmptyClients.h:
61544        (WebCore::EmptyFrameLoaderClient::createNetworkingContext):
61545        * loader/FrameLoader.cpp:
61546        (WebCore::FrameLoader::~FrameLoader):
61547        (WebCore::FrameLoader::init):
61548        (WebCore::FrameLoader::networkingContext):
61549        * loader/FrameLoader.h:
61550        * loader/FrameLoaderClient.h:
61551
615522010-09-03  Kinuko Yasuda  <kinuko@chromium.org>
61553
61554        Reviewed by Darin Adler.
61555
61556        V8/JS bindings should not perform type checks if the parameter has Callback attribute
61557        https://bugs.webkit.org/show_bug.cgi?id=45143
61558
61559        No new tests, should not affect existing idls.
61560
61561        * bindings/scripts/CodeGeneratorJS.pm:
61562        * bindings/scripts/CodeGeneratorV8.pm:
61563        * bindings/scripts/test/JS/JSTestObj.cpp:
61564        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
61565        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
61566        * bindings/scripts/test/TestObj.idl:
61567        * bindings/scripts/test/V8/V8TestObj.cpp:
61568        (WebCore::TestObjInternal::overloadedMethod5Callback):
61569        (WebCore::TestObjInternal::overloadedMethodCallback):
61570
615712010-09-03  Kenneth Russell  <kbr@google.com>
61572
61573        Unreviewed, Chromium build fix. Fix breakage on Windows after
61574        r66787 / https://bugs.webkit.org/show_bug.cgi?id=45223 .
61575
61576        * platform/graphics/chromium/FontChromiumWin.cpp:
61577        (WebCore::Font::drawGlyphs):
61578
615792010-09-03  James Robinson  <jamesr@chromium.org>
61580
61581        Reviewed by Kenneth Russell.
61582
61583        [chromium] Text sometimes fails to display in accelerated 2d canvases
61584        https://bugs.webkit.org/show_bug.cgi?id=45223
61585
61586        Calls PlatformContextSkia::prepareForSoftwareDraw() before drawing glyphs
61587        using skia to ensure that the backing store state is consistent.
61588
61589        * platform/graphics/chromium/FontChromiumWin.cpp:
61590        (WebCore::Font::drawGlyphs):
61591        * platform/graphics/chromium/FontLinux.cpp:
61592        (WebCore::Font::drawGlyphs):
61593
615942010-09-03  Kenneth Russell  <kbr@google.com>
61595
61596        Reviewed by Darin Fisher.
61597
61598        Add thirdparty directory and incorporate GLU tessellator
61599        https://bugs.webkit.org/show_bug.cgi?id=44707
61600
61601        This directory is intended to contain copies of third-party libraries used
61602        by WebCore, in particular those which may require some modification in
61603        order to incorporate.
61604
61605        No tests at this time; these sources are being added in preparation for
61606        incorporating other code which uses them, at which point the code will be
61607        exercised and testable.
61608
61609        * thirdparty: Added.
61610        * thirdparty/README.txt: Added.
61611        * thirdparty/glu: Added.
61612        * thirdparty/glu/LICENSE.txt: Added.
61613        * thirdparty/glu/README.webkit: Added.
61614        * thirdparty/glu/gluos.h: Added.
61615        * thirdparty/glu/internal_glu.h: Added.
61616        * thirdparty/glu/libtess: Added.
61617        * thirdparty/glu/libtess/GNUmakefile: Added.
61618        * thirdparty/glu/libtess/Imakefile: Added.
61619        * thirdparty/glu/libtess/README: Added.
61620        * thirdparty/glu/libtess/alg-outline: Added.
61621        * thirdparty/glu/libtess/dict-list.h: Added.
61622        * thirdparty/glu/libtess/dict.c: Added.
61623        * thirdparty/glu/libtess/dict.h: Added.
61624        * thirdparty/glu/libtess/geom.c: Added.
61625        * thirdparty/glu/libtess/geom.h: Added.
61626        * thirdparty/glu/libtess/memalloc.c: Added.
61627        * thirdparty/glu/libtess/memalloc.h: Added.
61628        * thirdparty/glu/libtess/mesh.c: Added.
61629        * thirdparty/glu/libtess/mesh.h: Added.
61630        * thirdparty/glu/libtess/normal.c: Added.
61631        * thirdparty/glu/libtess/normal.h: Added.
61632        * thirdparty/glu/libtess/priorityq-heap.c: Added.
61633        * thirdparty/glu/libtess/priorityq-heap.h: Added.
61634        * thirdparty/glu/libtess/priorityq-sort.h: Added.
61635        * thirdparty/glu/libtess/priorityq.c: Added.
61636        * thirdparty/glu/libtess/priorityq.h: Added.
61637        * thirdparty/glu/libtess/render.c: Added.
61638        * thirdparty/glu/libtess/render.h: Added.
61639        * thirdparty/glu/libtess/sweep.c: Added.
61640        * thirdparty/glu/libtess/sweep.h: Added.
61641        * thirdparty/glu/libtess/tess.c: Added.
61642        * thirdparty/glu/libtess/tess.h: Added.
61643        * thirdparty/glu/libtess/tessmono.c: Added.
61644        * thirdparty/glu/libtess/tessmono.h: Added.
61645
616462010-09-03  Sheriff Bot  <webkit.review.bot@gmail.com>
61647
61648        Unreviewed, rolling out r66781.
61649        http://trac.webkit.org/changeset/66781
61650        https://bugs.webkit.org/show_bug.cgi?id=45220
61651
61652        Breaks the build. Adds a mac-specific file to
61653        platform/graphics without #if PLATFORM() guards and changes
61654        the GraphicsContext3D interface without updating all
61655        implementations (Requested by jamesr on #webkit).
61656
61657        * WebCore.gypi:
61658        * WebCore.xcodeproj/project.pbxproj:
61659        * html/canvas/WebGLObject.cpp:
61660        (WebCore::WebGLObject::deleteObject):
61661        * platform/graphics/ANGLEWebKitBridge.h:
61662        * platform/graphics/GraphicsContext3D.h:
61663        * platform/graphics/GraphicsContext3DOpenGL.cpp: Removed.
61664        * platform/graphics/mac/GraphicsContext3DMac.mm:
61665        (WebCore::GraphicsContext3D::validateAttributes):
61666        (WebCore::GraphicsContext3D::makeContextCurrent):
61667        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
61668        (WebCore::GraphicsContext3D::reshape):
61669        (WebCore::ensureContext):
61670        (WebCore::GraphicsContext3D::prepareTexture):
61671        (WebCore::GraphicsContext3D::activeTexture):
61672        (WebCore::GraphicsContext3D::attachShader):
61673        (WebCore::GraphicsContext3D::bindAttribLocation):
61674        (WebCore::GraphicsContext3D::bindBuffer):
61675        (WebCore::GraphicsContext3D::bindFramebuffer):
61676        (WebCore::GraphicsContext3D::bindRenderbuffer):
61677        (WebCore::GraphicsContext3D::bindTexture):
61678        (WebCore::GraphicsContext3D::blendColor):
61679        (WebCore::GraphicsContext3D::blendEquation):
61680        (WebCore::GraphicsContext3D::blendEquationSeparate):
61681        (WebCore::GraphicsContext3D::blendFunc):
61682        (WebCore::GraphicsContext3D::blendFuncSeparate):
61683        (WebCore::GraphicsContext3D::bufferData):
61684        (WebCore::GraphicsContext3D::bufferSubData):
61685        (WebCore::GraphicsContext3D::checkFramebufferStatus):
61686        (WebCore::GraphicsContext3D::clearColor):
61687        (WebCore::GraphicsContext3D::clear):
61688        (WebCore::GraphicsContext3D::clearDepth):
61689        (WebCore::GraphicsContext3D::clearStencil):
61690        (WebCore::GraphicsContext3D::colorMask):
61691        (WebCore::GraphicsContext3D::compileShader):
61692        (WebCore::GraphicsContext3D::copyTexImage2D):
61693        (WebCore::GraphicsContext3D::copyTexSubImage2D):
61694        (WebCore::GraphicsContext3D::cullFace):
61695        (WebCore::GraphicsContext3D::depthFunc):
61696        (WebCore::GraphicsContext3D::depthMask):
61697        (WebCore::GraphicsContext3D::depthRange):
61698        (WebCore::GraphicsContext3D::detachShader):
61699        (WebCore::GraphicsContext3D::disable):
61700        (WebCore::GraphicsContext3D::disableVertexAttribArray):
61701        (WebCore::GraphicsContext3D::drawArrays):
61702        (WebCore::GraphicsContext3D::drawElements):
61703        (WebCore::GraphicsContext3D::enable):
61704        (WebCore::GraphicsContext3D::enableVertexAttribArray):
61705        (WebCore::GraphicsContext3D::finish):
61706        (WebCore::GraphicsContext3D::flush):
61707        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
61708        (WebCore::GraphicsContext3D::framebufferTexture2D):
61709        (WebCore::GraphicsContext3D::frontFace):
61710        (WebCore::GraphicsContext3D::generateMipmap):
61711        (WebCore::GraphicsContext3D::getActiveAttrib):
61712        (WebCore::GraphicsContext3D::getActiveUniform):
61713        (WebCore::GraphicsContext3D::getAttachedShaders):
61714        (WebCore::GraphicsContext3D::getAttribLocation):
61715        (WebCore::GraphicsContext3D::getContextAttributes):
61716        (WebCore::GraphicsContext3D::getError):
61717        (WebCore::GraphicsContext3D::getString):
61718        (WebCore::GraphicsContext3D::hint):
61719        (WebCore::GraphicsContext3D::isBuffer):
61720        (WebCore::GraphicsContext3D::isEnabled):
61721        (WebCore::GraphicsContext3D::isFramebuffer):
61722        (WebCore::GraphicsContext3D::isProgram):
61723        (WebCore::GraphicsContext3D::isRenderbuffer):
61724        (WebCore::GraphicsContext3D::isShader):
61725        (WebCore::GraphicsContext3D::isTexture):
61726        (WebCore::GraphicsContext3D::lineWidth):
61727        (WebCore::GraphicsContext3D::linkProgram):
61728        (WebCore::GraphicsContext3D::pixelStorei):
61729        (WebCore::GraphicsContext3D::polygonOffset):
61730        (WebCore::GraphicsContext3D::readPixels):
61731        (WebCore::GraphicsContext3D::releaseShaderCompiler):
61732        (WebCore::GraphicsContext3D::renderbufferStorage):
61733        (WebCore::GraphicsContext3D::sampleCoverage):
61734        (WebCore::GraphicsContext3D::scissor):
61735        (WebCore::GraphicsContext3D::shaderSource):
61736        (WebCore::GraphicsContext3D::stencilFunc):
61737        (WebCore::GraphicsContext3D::stencilFuncSeparate):
61738        (WebCore::GraphicsContext3D::stencilMask):
61739        (WebCore::GraphicsContext3D::stencilMaskSeparate):
61740        (WebCore::GraphicsContext3D::stencilOp):
61741        (WebCore::GraphicsContext3D::stencilOpSeparate):
61742        (WebCore::GraphicsContext3D::texParameterf):
61743        (WebCore::GraphicsContext3D::texParameteri):
61744        (WebCore::GraphicsContext3D::uniform1f):
61745        (WebCore::GraphicsContext3D::uniform1fv):
61746        (WebCore::GraphicsContext3D::uniform2f):
61747        (WebCore::GraphicsContext3D::uniform2fv):
61748        (WebCore::GraphicsContext3D::uniform3f):
61749        (WebCore::GraphicsContext3D::uniform3fv):
61750        (WebCore::GraphicsContext3D::uniform4f):
61751        (WebCore::GraphicsContext3D::uniform4fv):
61752        (WebCore::GraphicsContext3D::uniform1i):
61753        (WebCore::GraphicsContext3D::uniform1iv):
61754        (WebCore::GraphicsContext3D::uniform2i):
61755        (WebCore::GraphicsContext3D::uniform2iv):
61756        (WebCore::GraphicsContext3D::uniform3i):
61757        (WebCore::GraphicsContext3D::uniform3iv):
61758        (WebCore::GraphicsContext3D::uniform4i):
61759        (WebCore::GraphicsContext3D::uniform4iv):
61760        (WebCore::GraphicsContext3D::uniformMatrix2fv):
61761        (WebCore::GraphicsContext3D::uniformMatrix3fv):
61762        (WebCore::GraphicsContext3D::uniformMatrix4fv):
61763        (WebCore::GraphicsContext3D::useProgram):
61764        (WebCore::GraphicsContext3D::validateProgram):
61765        (WebCore::GraphicsContext3D::vertexAttrib1f):
61766        (WebCore::GraphicsContext3D::vertexAttrib1fv):
61767        (WebCore::GraphicsContext3D::vertexAttrib2f):
61768        (WebCore::GraphicsContext3D::vertexAttrib2fv):
61769        (WebCore::GraphicsContext3D::vertexAttrib3f):
61770        (WebCore::GraphicsContext3D::vertexAttrib3fv):
61771        (WebCore::GraphicsContext3D::vertexAttrib4f):
61772        (WebCore::GraphicsContext3D::vertexAttrib4fv):
61773        (WebCore::GraphicsContext3D::vertexAttribPointer):
61774        (WebCore::GraphicsContext3D::viewport):
61775        (WebCore::GraphicsContext3D::getBooleanv):
61776        (WebCore::GraphicsContext3D::getBufferParameteriv):
61777        (WebCore::GraphicsContext3D::getFloatv):
61778        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
61779        (WebCore::GraphicsContext3D::getIntegerv):
61780        (WebCore::GraphicsContext3D::getProgramiv):
61781        (WebCore::GraphicsContext3D::getProgramInfoLog):
61782        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
61783        (WebCore::GraphicsContext3D::getShaderiv):
61784        (WebCore::GraphicsContext3D::getShaderInfoLog):
61785        (WebCore::GraphicsContext3D::getShaderSource):
61786        (WebCore::GraphicsContext3D::getTexParameterfv):
61787        (WebCore::GraphicsContext3D::getTexParameteriv):
61788        (WebCore::GraphicsContext3D::getUniformfv):
61789        (WebCore::GraphicsContext3D::getUniformiv):
61790        (WebCore::GraphicsContext3D::getUniformLocation):
61791        (WebCore::GraphicsContext3D::getVertexAttribfv):
61792        (WebCore::GraphicsContext3D::getVertexAttribiv):
61793        (WebCore::GraphicsContext3D::getVertexAttribOffset):
61794        (WebCore::GraphicsContext3D::texImage2D):
61795        (WebCore::GraphicsContext3D::texSubImage2D):
61796        (WebCore::GraphicsContext3D::createBuffer):
61797        (WebCore::GraphicsContext3D::createFramebuffer):
61798        (WebCore::GraphicsContext3D::createProgram):
61799        (WebCore::GraphicsContext3D::createRenderbuffer):
61800        (WebCore::GraphicsContext3D::createShader):
61801        (WebCore::GraphicsContext3D::createTexture):
61802        (WebCore::GraphicsContext3D::deleteBuffer):
61803        (WebCore::GraphicsContext3D::deleteFramebuffer):
61804        (WebCore::GraphicsContext3D::deleteProgram):
61805        (WebCore::GraphicsContext3D::deleteRenderbuffer):
61806        (WebCore::GraphicsContext3D::deleteShader):
61807        (WebCore::GraphicsContext3D::deleteTexture):
61808        (WebCore::GraphicsContext3D::sizeInBytes):
61809        (WebCore::GraphicsContext3D::synthesizeGLError):
61810
618112010-09-03  James Robinson  <jamesr@chromium.org>
61812
61813        Reviewed by Kenneth Russell.
61814
61815        Force 2d canvases to be rendered in software when the composite operation isn't source-over
61816        https://bugs.webkit.org/show_bug.cgi?id=45216
61817
61818        The current accelerated 2d canvas implementation is very slow for composite operations other
61819        than the default.  This patch forces a canvas to be rendered in software if any other operation
61820        is set until we accelerate the rest.
61821
61822        Tested by any of the fast/canvas tests that use a non-default globalCompositeOperation.
61823
61824        * html/canvas/CanvasRenderingContext2D.cpp:
61825        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
61826        * platform/graphics/skia/PlatformContextSkia.cpp:
61827        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
61828
618292010-09-03  Paul Sawaya  <psawaya@apple.com>
61830
61831        Reviewed by Chris Marrin.
61832
61833        Refactored out Mac specific code for platform/graphics/mac/GraphicsContext3D.mm file.
61834        Left general OpenGL code in platform/graphics/GraphicsContext3DOpenGL.cpp.
61835        https://bugs.webkit.org/show_bug.cgi?id=30625
61836
61837        * WebCore.gypi:
61838        * WebCore.xcodeproj/project.pbxproj:
61839        * html/canvas/WebGLObject.cpp:
61840        (WebCore::WebGLObject::deleteObject):
61841        * platform/graphics/ANGLEWebKitBridge.h:
61842        * platform/graphics/GraphicsContext3D.h:
61843        * platform/graphics/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
61844        (WebCore::GraphicsContext3D::prepareTexture):
61845        (WebCore::GraphicsContext3D::activeTexture):
61846        (WebCore::GraphicsContext3D::attachShader):
61847        (WebCore::GraphicsContext3D::bindAttribLocation):
61848        (WebCore::GraphicsContext3D::bindBuffer):
61849        (WebCore::GraphicsContext3D::bindFramebuffer):
61850        (WebCore::GraphicsContext3D::bindRenderbuffer):
61851        (WebCore::GraphicsContext3D::bindTexture):
61852        (WebCore::GraphicsContext3D::blendColor):
61853        (WebCore::GraphicsContext3D::blendEquation):
61854        (WebCore::GraphicsContext3D::blendEquationSeparate):
61855        (WebCore::GraphicsContext3D::blendFunc):
61856        (WebCore::GraphicsContext3D::blendFuncSeparate):
61857        (WebCore::GraphicsContext3D::bufferData):
61858        (WebCore::GraphicsContext3D::bufferSubData):
61859        (WebCore::GraphicsContext3D::checkFramebufferStatus):
61860        (WebCore::GraphicsContext3D::clearColor):
61861        (WebCore::GraphicsContext3D::clear):
61862        (WebCore::GraphicsContext3D::clearDepth):
61863        (WebCore::GraphicsContext3D::clearStencil):
61864        (WebCore::GraphicsContext3D::colorMask):
61865        (WebCore::GraphicsContext3D::compileShader):
61866        (WebCore::GraphicsContext3D::copyTexImage2D):
61867        (WebCore::GraphicsContext3D::copyTexSubImage2D):
61868        (WebCore::GraphicsContext3D::cullFace):
61869        (WebCore::GraphicsContext3D::depthFunc):
61870        (WebCore::GraphicsContext3D::depthMask):
61871        (WebCore::GraphicsContext3D::depthRange):
61872        (WebCore::GraphicsContext3D::detachShader):
61873        (WebCore::GraphicsContext3D::disable):
61874        (WebCore::GraphicsContext3D::disableVertexAttribArray):
61875        (WebCore::GraphicsContext3D::drawArrays):
61876        (WebCore::GraphicsContext3D::drawElements):
61877        (WebCore::GraphicsContext3D::enable):
61878        (WebCore::GraphicsContext3D::enableVertexAttribArray):
61879        (WebCore::GraphicsContext3D::finish):
61880        (WebCore::GraphicsContext3D::flush):
61881        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
61882        (WebCore::GraphicsContext3D::framebufferTexture2D):
61883        (WebCore::GraphicsContext3D::frontFace):
61884        (WebCore::GraphicsContext3D::generateMipmap):
61885        (WebCore::GraphicsContext3D::getActiveAttrib):
61886        (WebCore::GraphicsContext3D::getActiveUniform):
61887        (WebCore::GraphicsContext3D::getAttachedShaders):
61888        (WebCore::GraphicsContext3D::getAttribLocation):
61889        (WebCore::GraphicsContext3D::getError):
61890        (WebCore::GraphicsContext3D::getString):
61891        (WebCore::GraphicsContext3D::hint):
61892        (WebCore::GraphicsContext3D::isBuffer):
61893        (WebCore::GraphicsContext3D::isEnabled):
61894        (WebCore::GraphicsContext3D::isFramebuffer):
61895        (WebCore::GraphicsContext3D::isProgram):
61896        (WebCore::GraphicsContext3D::isRenderbuffer):
61897        (WebCore::GraphicsContext3D::isShader):
61898        (WebCore::GraphicsContext3D::isTexture):
61899        (WebCore::GraphicsContext3D::lineWidth):
61900        (WebCore::GraphicsContext3D::linkProgram):
61901        (WebCore::GraphicsContext3D::pixelStorei):
61902        (WebCore::GraphicsContext3D::polygonOffset):
61903        (WebCore::GraphicsContext3D::readPixels):
61904        (WebCore::GraphicsContext3D::releaseShaderCompiler):
61905        (WebCore::GraphicsContext3D::renderbufferStorage):
61906        (WebCore::GraphicsContext3D::sampleCoverage):
61907        (WebCore::GraphicsContext3D::scissor):
61908        (WebCore::GraphicsContext3D::shaderSource):
61909        (WebCore::GraphicsContext3D::stencilFunc):
61910        (WebCore::GraphicsContext3D::stencilFuncSeparate):
61911        (WebCore::GraphicsContext3D::stencilMask):
61912        (WebCore::GraphicsContext3D::stencilMaskSeparate):
61913        (WebCore::GraphicsContext3D::stencilOp):
61914        (WebCore::GraphicsContext3D::stencilOpSeparate):
61915        (WebCore::GraphicsContext3D::texParameterf):
61916        (WebCore::GraphicsContext3D::texParameteri):
61917        (WebCore::GraphicsContext3D::uniform1f):
61918        (WebCore::GraphicsContext3D::uniform1fv):
61919        (WebCore::GraphicsContext3D::uniform2f):
61920        (WebCore::GraphicsContext3D::uniform2fv):
61921        (WebCore::GraphicsContext3D::uniform3f):
61922        (WebCore::GraphicsContext3D::uniform3fv):
61923        (WebCore::GraphicsContext3D::uniform4f):
61924        (WebCore::GraphicsContext3D::uniform4fv):
61925        (WebCore::GraphicsContext3D::uniform1i):
61926        (WebCore::GraphicsContext3D::uniform1iv):
61927        (WebCore::GraphicsContext3D::uniform2i):
61928        (WebCore::GraphicsContext3D::uniform2iv):
61929        (WebCore::GraphicsContext3D::uniform3i):
61930        (WebCore::GraphicsContext3D::uniform3iv):
61931        (WebCore::GraphicsContext3D::uniform4i):
61932        (WebCore::GraphicsContext3D::uniform4iv):
61933        (WebCore::GraphicsContext3D::uniformMatrix2fv):
61934        (WebCore::GraphicsContext3D::uniformMatrix3fv):
61935        (WebCore::GraphicsContext3D::uniformMatrix4fv):
61936        (WebCore::GraphicsContext3D::useProgram):
61937        (WebCore::GraphicsContext3D::validateProgram):
61938        (WebCore::GraphicsContext3D::vertexAttrib1f):
61939        (WebCore::GraphicsContext3D::vertexAttrib1fv):
61940        (WebCore::GraphicsContext3D::vertexAttrib2f):
61941        (WebCore::GraphicsContext3D::vertexAttrib2fv):
61942        (WebCore::GraphicsContext3D::vertexAttrib3f):
61943        (WebCore::GraphicsContext3D::vertexAttrib3fv):
61944        (WebCore::GraphicsContext3D::vertexAttrib4f):
61945        (WebCore::GraphicsContext3D::vertexAttrib4fv):
61946        (WebCore::GraphicsContext3D::vertexAttribPointer):
61947        (WebCore::GraphicsContext3D::viewport):
61948        (WebCore::GraphicsContext3D::getBooleanv):
61949        (WebCore::GraphicsContext3D::getBufferParameteriv):
61950        (WebCore::GraphicsContext3D::getFloatv):
61951        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
61952        (WebCore::GraphicsContext3D::getIntegerv):
61953        (WebCore::GraphicsContext3D::getProgramiv):
61954        (WebCore::GraphicsContext3D::getProgramInfoLog):
61955        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
61956        (WebCore::GraphicsContext3D::getShaderiv):
61957        (WebCore::GraphicsContext3D::getShaderInfoLog):
61958        (WebCore::GraphicsContext3D::getShaderSource):
61959        (WebCore::GraphicsContext3D::getTexParameterfv):
61960        (WebCore::GraphicsContext3D::getTexParameteriv):
61961        (WebCore::GraphicsContext3D::getUniformfv):
61962        (WebCore::GraphicsContext3D::getUniformiv):
61963        (WebCore::GraphicsContext3D::getUniformLocation):
61964        (WebCore::GraphicsContext3D::getVertexAttribfv):
61965        (WebCore::GraphicsContext3D::getVertexAttribiv):
61966        (WebCore::GraphicsContext3D::getVertexAttribOffset):
61967        (WebCore::GraphicsContext3D::texImage2D):
61968        (WebCore::GraphicsContext3D::texSubImage2D):
61969        (WebCore::GraphicsContext3D::createBuffer):
61970        (WebCore::GraphicsContext3D::createFramebuffer):
61971        (WebCore::GraphicsContext3D::createProgram):
61972        (WebCore::GraphicsContext3D::createRenderbuffer):
61973        (WebCore::GraphicsContext3D::createShader):
61974        (WebCore::GraphicsContext3D::createTexture):
61975        (WebCore::GraphicsContext3D::deleteBuffer):
61976        (WebCore::GraphicsContext3D::deleteFramebuffer):
61977        (WebCore::GraphicsContext3D::deleteProgram):
61978        (WebCore::GraphicsContext3D::deleteRenderbuffer):
61979        (WebCore::GraphicsContext3D::deleteShader):
61980        (WebCore::GraphicsContext3D::deleteTexture):
61981        * platform/graphics/mac/GraphicsContext3DMac.mm:
61982        (WebCore::GraphicsContext3D::ensureContext):
61983        (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
61984
619852010-09-03  James Robinson  <jamesr@chromium.org>
61986
61987        Reviewed by Darin Fisher.
61988
61989        [chromium] Implement ImageBufferSkia::draw on the GPU when possible
61990        https://bugs.webkit.org/show_bug.cgi?id=45207
61991
61992        When drawing from an ImageBuffer into a GraphicsContext, attempt to do the
61993        draw in hardware when possible.  This is how canvas 2d's drawImage(canvas, ...)
61994        is implemented.  Adds new API to DrawingBuffer to request a texture containing
61995        the DrawingBuffer's current rendering results.
61996
61997        Test: covered fast/canvas/drawImage.html and all other tests that draw from one
61998        2d canvas into another.
61999
62000        * html/canvas/CanvasRenderingContext2D.cpp:
62001        (WebCore::CanvasRenderingContext2D::drawImage):
62002        * platform/graphics/chromium/DrawingBufferChromium.cpp:
62003        (WebCore::DrawingBuffer::getRenderingResultsAsTexture):
62004        * platform/graphics/gpu/DrawingBuffer.h:
62005        * platform/graphics/skia/ImageBufferSkia.cpp:
62006        (WebCore::ImageBuffer::draw):
62007
620082010-09-03  James Robinson  <jamesr@chromium.org>
62009
62010        Reviewed by Kenneth Russell.
62011
62012        [chromium] Null out Canvas2DLayerChromium's back reference to DrawingBuffer on destruction
62013        https://bugs.webkit.org/show_bug.cgi?id=45187
62014
62015        Canvas2DLayerChromium keeps a back reference to a DrawingBuffer.  This has to be a raw pointer
62016        because the DrawingBuffer holds a RefPtr to the Canvas2DLayerChromium.  Since the layer can
62017        outlive the buffer, this back reference has to be explicitly cleared when the DrawingBuffer
62018        is destroyed.
62019
62020        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
62021        (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
62022        * platform/graphics/chromium/Canvas2DLayerChromium.h:
62023        * platform/graphics/chromium/DrawingBufferChromium.cpp:
62024        (WebCore::DrawingBuffer::~DrawingBuffer):
62025
620262010-09-03  Kenneth Russell  <kbr@google.com>
62027
62028        Reviewed by Darin Fisher.
62029
62030        Add interval tree capable of holding plain old data (POD)
62031        https://bugs.webkit.org/show_bug.cgi?id=45160
62032
62033        Adding an interval tree currently capable of holding types which
62034        do not require their destructors to be called. POD is a slight
62035        misnomer which will be corrected soon, hopefully by removing this
62036        restriction.
62037
62038        This class is based on the augmentable property of the red/black
62039        tree integrated under bug 45059.
62040
62041        Unit tests for the PODIntervalTree will be integrated separately
62042        under bug 45161.
62043
62044        * WebCore.gypi:
62045        * platform/graphics/gpu/PODInterval.h: Added.
62046        (WebCore::PODInterval::PODInterval):
62047        (WebCore::PODInterval::low):
62048        (WebCore::PODInterval::high):
62049        (WebCore::PODInterval::data):
62050        (WebCore::PODInterval::overlaps):
62051        (WebCore::PODInterval::operator<):
62052        (WebCore::PODInterval::operator==):
62053        (WebCore::PODInterval::maxHigh):
62054        (WebCore::PODInterval::setMaxHigh):
62055        (WebCore::PODInterval::toString):
62056        * platform/graphics/gpu/PODIntervalTree.h: Added.
62057        (WebCore::PODIntervalTree::PODIntervalTree):
62058        (WebCore::PODIntervalTree::allOverlaps):
62059        (WebCore::PODIntervalTree::createInterval):
62060        (WebCore::PODIntervalTree::checkInvariants):
62061        (WebCore::PODIntervalTree::init):
62062        (WebCore::PODIntervalTree::searchForOverlapsFrom):
62063        (WebCore::PODIntervalTree::updateNode):
62064        (WebCore::PODIntervalTree::checkInvariantsFromNode):
62065        (WebCore::valueToString):
62066
620672010-09-02  Vangelis Kokkevis  <vangelis@chromium.org>
62068
62069        Reviewed by Darin Fisher.
62070
62071        [chromium] Gracefully switch over to software compositing if the accelerated
62072        compositor fails to initialize. LayerRendererChromium::create() will now return 0
62073        if the GLES2Context passed to it is NULL or the LayerRendererChromium failed to initialize
62074        hardware rendering.
62075        https://bugs.webkit.org/show_bug.cgi?id=45124
62076        
62077        Tested by forcing the creation of the gles2 context to fail and loading pages that normally trigger
62078        the compositor.
62079
62080        * platform/graphics/chromium/LayerRendererChromium.cpp:
62081        (WebCore::LayerRendererChromium::create):
62082        (WebCore::LayerRendererChromium::LayerRendererChromium):
62083        (WebCore::LayerRendererChromium::makeContextCurrent):
62084
620852010-09-03  Peter Kasting  <pkasting@google.com>
62086
62087        Reviewed by Simon Fraser.
62088
62089        Report correct (unzoomed) image sizes for zoomed images.
62090        https://bugs.webkit.org/show_bug.cgi?id=42089
62091
62092        Test: fast/images/zoomed-img-size.html
62093
62094        * css/CSSPrimitiveValue.cpp: Factor rounding code out to a templatized function so it can be shared.
62095        (WebCore::CSSPrimitiveValue::computeLengthInt):
62096        (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
62097        (WebCore::CSSPrimitiveValue::computeLengthShort):
62098        * css/CSSPrimitiveValue.h: Factor rounding code out to a templatized function so it can be shared.
62099        (WebCore::roundForImpreciseConversion):
62100        * html/HTMLImageElement.cpp: Report unzoomed size to script that queries an image's width or height.
62101        (WebCore::HTMLImageElement::width):
62102        (WebCore::HTMLImageElement::height):
62103        * loader/ImageDocument.cpp: Report unzoomed size in the page title when viewing a standalone image.
62104        (WebCore::ImageDocumentParser::finish):
62105        * rendering/RenderObject.h: Use shared rounding code from CSSPrimitiveValue to compensate for inexactness in zoomed sizes.
62106        (WebCore::adjustForAbsoluteZoom):
62107
621082010-09-03  Sheriff Bot  <webkit.review.bot@gmail.com>
62109
62110        Unreviewed, rolling out r66770.
62111        http://trac.webkit.org/changeset/66770
62112        https://bugs.webkit.org/show_bug.cgi?id=45200
62113
62114        Broke Windows in a way I can't figure out now to fix
62115        (Requested by abarth on #webkit).
62116
62117        * GNUmakefile.am:
62118        * WebCore.gypi:
62119        * WebCore.pro:
62120        * WebCore.vcproj/WebCore.vcproj:
62121        * WebCore.xcodeproj/project.pbxproj:
62122        * bindings/generic/BindingDOMWindow.h:
62123        (WebCore::::completeURL):
62124        * bindings/generic/BindingFrame.h: Removed.
62125        * bindings/generic/BindingLocation.h: Removed.
62126        * bindings/generic/GenericBinding.h:
62127        * bindings/js/JSBinding.h: Removed.
62128        * bindings/js/JSBindingsAllInOne.cpp:
62129        * bindings/js/JSDOMBinding.cpp:
62130        (WebCore::shouldAllowNavigation):
62131        (WebCore::toLexicalFrame):
62132        (WebCore::toDynamicFrame):
62133        (WebCore::processingUserGesture):
62134        (WebCore::completeURL):
62135        * bindings/js/JSLocationCustom.cpp:
62136        (WebCore::navigateIfAllowed):
62137        (WebCore::JSLocation::replace):
62138        * bindings/js/specialization/JSBindingState.cpp: Removed.
62139        * bindings/js/specialization/JSBindingState.h: Removed.
62140        * bindings/v8/V8Binding.h:
62141        * bindings/v8/V8Utilities.cpp:
62142        (WebCore::completeURL):
62143        (WebCore::navigateIfAllowed):
62144        * bindings/v8/custom/V8LocationCustom.cpp:
62145        (WebCore::V8Location::replaceCallback):
62146        * bindings/v8/specialization/V8BindingState.cpp:
62147        * bindings/v8/specialization/V8BindingState.h:
62148
621492010-09-03  Jian Li  <jianli@chromium.org>
62150
62151        Reviewed by Darin Adler.
62152
62153        REGRESSION (r66452): Sending of multipart forms with files is broken.
62154        https://bugs.webkit.org/show_bug.cgi?id=45159
62155
62156        * platform/network/FormData.cpp:
62157        (WebCore::FormData::appendKeyValuePairItems):
62158
621592010-09-03  Dominic Cooney  <dominicc@google.com>
62160
62161        Reviewed by Adam Barth.
62162
62163        Moves location.replace bindings logic into bindings/generic and
62164        instantiates it for JSC and V8.
62165
62166        https://bugs.webkit.org/show_bug.cgi?id=44891
62167
62168        Covered by existing location.replace tests.
62169
62170        * GNUmakefile.am:
62171        * WebCore.gypi:
62172        * WebCore.pro:
62173        * WebCore.vcproj/WebCore.vcproj:
62174        * WebCore.xcodeproj/project.pbxproj:
62175        * bindings/generic/BindingDOMWindow.h:
62176        (WebCore::::createWindow):
62177        (WebCore::::open):
62178        * bindings/generic/BindingFrame.h: Added.
62179        (WebCore::::navigateIfAllowed):
62180        * bindings/generic/BindingLocation.h: Added.
62181        (WebCore::::replace):
62182        * bindings/generic/GenericBinding.h:
62183        (WebCore::completeURL):
62184        * bindings/js/JSBinding.h: Added.
62185        * bindings/js/JSBindingsAllInOne.cpp:
62186        * bindings/js/JSDOMBinding.cpp:
62187        (WebCore::shouldAllowNavigation):
62188        (WebCore::toLexicalFrame):
62189        (WebCore::toDynamicFrame):
62190        (WebCore::processingUserGesture):
62191        (WebCore::completeURL):
62192        * bindings/js/JSLocationCustom.cpp:
62193        (WebCore::navigateIfAllowed):
62194        (WebCore::JSLocation::replace):
62195        * bindings/js/specialization/JSBindingState.cpp: Added.
62196        (WebCore::::getActiveFrame):
62197        (WebCore::::getFirstFrame):
62198        (WebCore::::processingUserGesture):
62199        (WebCore::::allowsAccessFromFrame):
62200        * bindings/js/specialization/JSBindingState.h: Added.
62201        * bindings/v8/V8Binding.h:
62202        * bindings/v8/V8Utilities.cpp:
62203        (WebCore::completeURL):
62204        (WebCore::navigateIfAllowed):
62205        * bindings/v8/custom/V8LocationCustom.cpp:
62206        (WebCore::V8Location::replaceCallback):
62207        * bindings/v8/specialization/V8BindingState.cpp:
62208        (WebCore::::allowsAccessFromFrame):
62209        * bindings/v8/specialization/V8BindingState.h:
62210
622112010-09-03  Dimitri Glazkov  <dglazkov@chromium.org>
62212
62213        Reviewed by Tony Chang.
62214
62215        [Chromium] Make sure that the width of the menu list is always constant under layout tests.
62216        https://bugs.webkit.org/show_bug.cgi?id=45196
62217
62218        * rendering/RenderThemeChromiumWin.cpp:
62219        (WebCore::menuListButtonWidth): Added.
62220        (WebCore::RenderThemeChromiumWin::paintMenuList): Use menuListButtonWidth instead of always
62221          querying system metrics.
62222
622232010-09-03  Sheriff Bot  <webkit.review.bot@gmail.com>
62224
62225        Unreviewed, rolling out r66732.
62226        http://trac.webkit.org/changeset/66732
62227        https://bugs.webkit.org/show_bug.cgi?id=45195
62228
62229        the patch is not matched with general publish/subscribe scheme
62230        implemented in the Inspector API (Requested by loislo on
62231        #webkit).
62232
62233        * inspector/CodeGeneratorInspector.pm:
62234        * inspector/Inspector.idl:
62235        * inspector/InspectorDOMAgent.cpp:
62236        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
62237        (WebCore::InspectorDOMAgent::getChildNodes):
62238        * inspector/InspectorDOMAgent.h:
62239        * inspector/front-end/DOMAgent.js:
62240        (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
62241        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
62242        * inspector/front-end/WorkersSidebarPane.js:
62243        (WebInspector.WorkersSidebarPane.prototype.reset):
62244
622452010-09-03  James Robinson  <jamesr@chromium.org>
62246
62247        [chromium] Compile fixes for 66746
62248
62249        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
62250        (WebCore::SharedGraphicsContext3D::texImage2D):
62251        (WebCore::SharedGraphicsContext3D::texSubImage2D):
62252
622532010-09-03  Chris Rogers  <crogers@google.com>
62254
62255        Reviewed by Kenneth Russell.
62256
62257        Add AudioParam files
62258        https://bugs.webkit.org/show_bug.cgi?id=44995
62259
62260        No new tests since audio API is not yet implemented.
62261
62262        * webaudio: Added.
62263        * webaudio/AudioParam.h: Added.
62264        (WebCore::AudioParam::create):
62265        (WebCore::AudioParam::AudioParam):
62266        (WebCore::AudioParam::value):
62267        (WebCore::AudioParam::setValue):
62268        (WebCore::AudioParam::name):
62269        (WebCore::AudioParam::minValue):
62270        (WebCore::AudioParam::maxValue):
62271        (WebCore::AudioParam::defaultValue):
62272        (WebCore::AudioParam::units):
62273        (WebCore::AudioParam::smoothedValue):
62274        (WebCore::AudioParam::smooth):
62275        (WebCore::AudioParam::resetSmoothedValue):
62276        (WebCore::AudioParam::setSmoothingConstant):
62277        * webaudio/AudioParam.idl: Added.
62278
622792010-09-03  Chris Rogers  <crogers@google.com>
62280
62281        Reviewed by Kenneth Russell.
62282
62283        audio engine: add AudioChannel files
62284        https://bugs.webkit.org/show_bug.cgi?id=44921
62285
62286        No new tests since audio API is not yet implemented.
62287
62288        * platform/audio/AudioChannel.cpp: Added.
62289        (WebCore::AudioChannel::scale):
62290        (WebCore::AudioChannel::copyFrom):
62291        (WebCore::AudioChannel::copyFromRange):
62292        (WebCore::AudioChannel::sumFrom):
62293        (WebCore::AudioChannel::maxAbsValue):
62294        * platform/audio/AudioChannel.h: Added.
62295        (WebCore::AudioChannel::AudioChannel):
62296        (WebCore::AudioChannel::set):
62297        (WebCore::AudioChannel::length):
62298        (WebCore::AudioChannel::data):
62299        (WebCore::AudioChannel::zero):
62300
623012010-09-03  Patrick Gansterer  <paroga@paroga.com>
62302
62303        Reviewed by Adam Roben.
62304
62305        [WINCE] Remove usage of ce_textcodecs.h
62306        https://bugs.webkit.org/show_bug.cgi?id=45169
62307
62308        ce_textcodecs.h was a non public header for (not required)
62309        additonal codecs in the original Torch Mobile port.
62310
62311        * platform/text/wince/TextCodecWinCE.cpp:
62312        (WebCore::LanguageManager::LanguageManager):
62313        (WebCore::decode):
62314
623152010-09-03  Chris Rogers  <crogers@google.com>
62316
62317        Reviewed by Kenneth Russell.
62318
62319        Initial patch for audio engine: AudioBus and helper classes
62320        https://bugs.webkit.org/show_bug.cgi?id=34452
62321
62322        No new tests since audio API is not yet implemented.
62323
62324        * platform/audio/AudioBus.cpp: Added.
62325        (WebCore::AudioBus::AudioBus):
62326        (WebCore::AudioBus::setChannelMemory):
62327        (WebCore::AudioBus::zero):
62328        (WebCore::AudioBus::channelByType):
62329        (WebCore::AudioBus::topologyMatches):
62330        (WebCore::AudioBus::createBufferFromRange):
62331        (WebCore::AudioBus::maxAbsValue):
62332        (WebCore::AudioBus::normalize):
62333        (WebCore::AudioBus::scale):
62334        (WebCore::AudioBus::copyFrom):
62335        (WebCore::AudioBus::sumFrom):
62336        (WebCore::AudioBus::processWithGainFromMonoStereo):
62337        (WebCore::AudioBus::processWithGainFrom):
62338        (WebCore::AudioBus::copyWithGainFrom):
62339        (WebCore::AudioBus::sumWithGainFrom):
62340        * platform/audio/AudioBus.h: Added.
62341        (WebCore::AudioBus::numberOfChannels):
62342        (WebCore::AudioBus::channel):
62343        (WebCore::AudioBus::length):
62344        (WebCore::AudioBus::sampleRate):
62345        (WebCore::AudioBus::setSampleRate):
62346        (WebCore::AudioBus::setGain):
62347        (WebCore::AudioBus::gain):
62348        (WebCore::AudioBus::reset):
62349        (WebCore::AudioBus::AudioBus):
62350        * platform/audio/AudioSourceProvider.h: Added.
62351        (WebCore::AudioSourceProvider::~AudioSourceProvider):
62352
623532010-09-03  Chris Rogers  <crogers@google.com>
62354
62355        Reviewed by Kenneth Russell.
62356
62357        Add Panner files
62358        https://bugs.webkit.org/show_bug.cgi?id=45076
62359
62360        No new tests since audio API is not yet implemented.
62361
62362        * platform/audio/Panner.cpp: Added.
62363        (WebCore::Panner::create):
62364        * platform/audio/Panner.h: Added.
62365        (WebCore::Panner::~Panner):
62366        (WebCore::Panner::panningModel):
62367        (WebCore::Panner::Panner):
62368
623692010-09-03  Chris Rogers  <crogers@google.com>
62370
62371        Reviewed by Kenneth Russell.
62372
62373        Add AudioListener files
62374        https://bugs.webkit.org/show_bug.cgi?id=45006
62375
62376        No new tests since audio API is not yet implemented.
62377
62378        * webaudio: Added.
62379        * webaudio/AudioListener.cpp: Added.
62380        (WebCore::AudioListener::AudioListener):
62381        * webaudio/AudioListener.h: Added.
62382        (WebCore::AudioListener::create):
62383        (WebCore::AudioListener::setPosition):
62384        (WebCore::AudioListener::position):
62385        (WebCore::AudioListener::setOrientation):
62386        (WebCore::AudioListener::orientation):
62387        (WebCore::AudioListener::setUpVector):
62388        (WebCore::AudioListener::upVector):
62389        (WebCore::AudioListener::setVelocity):
62390        (WebCore::AudioListener::velocity):
62391        (WebCore::AudioListener::setDopplerFactor):
62392        (WebCore::AudioListener::dopplerFactor):
62393        (WebCore::AudioListener::setSpeedOfSound):
62394        (WebCore::AudioListener::speedOfSound):
62395        * webaudio/AudioListener.idl: Added.
62396
623972010-09-03  Chris Rogers  <crogers@google.com>
62398
62399        Unreviewed
62400
62401        Add WebCore/webaudio and WebCore/platform/audio/mac directories in preparation for landing reviewed patches
62402        https://bugs.webkit.org/show_bug.cgi?id=45185
62403
62404        * platform/audio/mac: Added.
62405        * webaudio: Added.
62406
624072010-09-03  James Robinson  <jamesr@chromium.org>
62408
62409        Reviewed by Chris Marrin.
62410
62411        Multiple accelerated 2D canvases should be able to use the same GraphicsContext3D
62412        https://bugs.webkit.org/show_bug.cgi?id=44926
62413
62414        This allows many accelerated 2d canvases to render using a single underlying GraphicsContext3D.
62415        It introduces a new class SharedGraphicsContext3D that manages several callers.  This class could
62416        also cache the current state to avoid issuing redundant calls, although in this first cut it doesn't.
62417        The SharedGraphicsContext3D is provided through the ChromeClient so that its lifetime can be tied to that
62418        of the platform-specific compositor infrastructure.
62419
62420        Accelerated 2d canvases maintain a reference to a SharedGraphicsContext3D and have ownership of a CanvasFramebuffer,
62421        which represents the canvas's rendering target.  The compositing layer for an accelerated 2d canvas is
62422        aware only of the canvas's CanvasFramebuffer.  This means that WebGL and 2d canvases are no longer treated
62423        as the same time of layer by the compositor.
62424
62425        Covered by existing canvas tests.
62426
62427        * WebCore.gypi:
62428        * html/canvas/CanvasRenderingContext.cpp:
62429        * html/canvas/CanvasRenderingContext.h:
62430        (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
62431        (WebCore::CanvasRenderingContext::platformLayer):
62432        * html/canvas/CanvasRenderingContext2D.cpp:
62433        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
62434        (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
62435        (WebCore::CanvasRenderingContext2D::reset):
62436        (WebCore::CanvasRenderingContext2D::didDraw):
62437        (WebCore::CanvasRenderingContext2D::platformLayer):
62438        * html/canvas/CanvasRenderingContext2D.h:
62439        * html/canvas/WebGLRenderingContext.cpp:
62440        (WebCore::WebGLRenderingContext::paintsIntoCanvasBuffer):
62441        * html/canvas/WebGLRenderingContext.h:
62442        (WebCore::WebGLRenderingContext::graphicsContext3D):
62443        (WebCore::WebGLRenderingContext::platformLayer):
62444        * loader/EmptyClients.h:
62445        (WebCore::EmptyChromeClient::attachRootGraphicsLayer):
62446        (WebCore::EmptyChromeClient::setNeedsOneShotDrawingSynchronization):
62447        (WebCore::EmptyChromeClient::scheduleCompositingLayerSync):
62448        * page/ChromeClient.h:
62449        (WebCore::ChromeClient::getSharedGraphicsContext3D):
62450        * platform/graphics/GraphicsContext.cpp:
62451        (WebCore::GraphicsContext::setSharedGraphicsContext3D):
62452        (WebCore::GraphicsContext::syncSoftwareCanvas):
62453        * platform/graphics/GraphicsContext.h:
62454        * platform/graphics/chromium/Canvas2DLayerChromium.cpp: Added.
62455        (WebCore::Canvas2DLayerChromium::create):
62456        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
62457        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
62458        (WebCore::Canvas2DLayerChromium::updateContents):
62459        (WebCore::Canvas2DLayerChromium::setTextureChanged):
62460        (WebCore::Canvas2DLayerChromium::textureId):
62461        * platform/graphics/chromium/Canvas2DLayerChromium.h: Added.
62462        (WebCore::Canvas2DLayerChromium::drawsContent):
62463        * platform/graphics/chromium/CanvasLayerChromium.cpp:
62464        (WebCore::CanvasLayerChromium::CanvasLayerChromium):
62465        (WebCore::CanvasLayerChromium::~CanvasLayerChromium):
62466        (WebCore::CanvasLayerChromium::draw):
62467        * platform/graphics/chromium/CanvasLayerChromium.h:
62468        * platform/graphics/chromium/DrawingBufferChromium.cpp: Added.
62469        (WebCore::generateColorTexture):
62470        (WebCore::DrawingBuffer::DrawingBuffer):
62471        (WebCore::DrawingBuffer::~DrawingBuffer):
62472        (WebCore::DrawingBuffer::publishToPlatformLayer):
62473        (WebCore::DrawingBuffer::reset):
62474        (WebCore::DrawingBuffer::platformLayer):
62475        * platform/graphics/chromium/GLES2Canvas.cpp:
62476        (WebCore::GLES2Canvas::GLES2Canvas):
62477        (WebCore::GLES2Canvas::~GLES2Canvas):
62478        (WebCore::GLES2Canvas::bindFramebuffer):
62479        (WebCore::GLES2Canvas::clearRect):
62480        (WebCore::GLES2Canvas::fillRect):
62481        (WebCore::GLES2Canvas::drawTexturedRect):
62482        (WebCore::GLES2Canvas::drawTexturedRectTile):
62483        (WebCore::GLES2Canvas::drawQuad):
62484        (WebCore::GLES2Canvas::createTexture):
62485        (WebCore::GLES2Canvas::getTexture):
62486        * platform/graphics/chromium/GLES2Canvas.h:
62487        (WebCore::GLES2Canvas::context):
62488        (WebCore::GLES2Canvas::drawingBuffer):
62489        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
62490        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
62491        * platform/graphics/chromium/GraphicsLayerChromium.h:
62492        * platform/graphics/chromium/WebGLLayerChromium.cpp: Added.
62493        (WebCore::WebGLLayerChromium::create):
62494        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
62495        (WebCore::WebGLLayerChromium::updateContents):
62496        (WebCore::WebGLLayerChromium::setContext):
62497        * platform/graphics/chromium/WebGLLayerChromium.h: Added.
62498        (WebCore::WebGLLayerChromium::drawsContent):
62499        * platform/graphics/gpu/DrawingBuffer.cpp: Added.
62500        (WebCore::DrawingBuffer::create):
62501        (WebCore::DrawingBuffer::bind):
62502        (WebCore::DrawingBuffer::setWillPublishCallback):
62503        * platform/graphics/gpu/DrawingBuffer.h: Added.
62504        (WebCore::DrawingBuffer::size):
62505        * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Added.
62506        (WebCore::SharedGraphicsContext3D::create):
62507        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
62508        (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
62509        (WebCore::SharedGraphicsContext3D::makeContextCurrent):
62510        (WebCore::SharedGraphicsContext3D::scissor):
62511        (WebCore::SharedGraphicsContext3D::enable):
62512        (WebCore::SharedGraphicsContext3D::disable):
62513        (WebCore::SharedGraphicsContext3D::clearColor):
62514        (WebCore::SharedGraphicsContext3D::clear):
62515        (WebCore::SharedGraphicsContext3D::drawArrays):
62516        (WebCore::SharedGraphicsContext3D::getError):
62517        (WebCore::SharedGraphicsContext3D::getIntegerv):
62518        (WebCore::SharedGraphicsContext3D::createFramebuffer):
62519        (WebCore::SharedGraphicsContext3D::createTexture):
62520        (WebCore::SharedGraphicsContext3D::deleteFramebuffer):
62521        (WebCore::SharedGraphicsContext3D::deleteTexture):
62522        (WebCore::SharedGraphicsContext3D::framebufferTexture2D):
62523        (WebCore::SharedGraphicsContext3D::texParameteri):
62524        (WebCore::SharedGraphicsContext3D::texImage2D):
62525        (WebCore::SharedGraphicsContext3D::texSubImage2D):
62526        (WebCore::SharedGraphicsContext3D::readPixels):
62527        (WebCore::SharedGraphicsContext3D::supportsBGRA):
62528        (WebCore::SharedGraphicsContext3D::getTexture):
62529        (WebCore::SharedGraphicsContext3D::applyCompositeOperator):
62530        (WebCore::SharedGraphicsContext3D::useQuadVertices):
62531        (WebCore::SharedGraphicsContext3D::setActiveTexture):
62532        (WebCore::SharedGraphicsContext3D::bindTexture):
62533        (WebCore::SharedGraphicsContext3D::useFillSolidProgram):
62534        (WebCore::SharedGraphicsContext3D::useTextureProgram):
62535        (WebCore::SharedGraphicsContext3D::bindFramebuffer):
62536        (WebCore::SharedGraphicsContext3D::setViewport):
62537        (WebCore::SharedGraphicsContext3D::paintsIntoCanvasBuffer):
62538        * platform/graphics/gpu/SharedGraphicsContext3D.h: Added.
62539        * platform/graphics/gpu/Texture.cpp:
62540        * platform/graphics/skia/GraphicsContextSkia.cpp:
62541        (WebCore::GraphicsContext::syncSoftwareCanvas):
62542        (WebCore::GraphicsContext::setSharedGraphicsContext3D):
62543        * platform/graphics/skia/ImageSkia.cpp:
62544        * platform/graphics/skia/PlatformContextSkia.cpp:
62545        (WebCore::PlatformContextSkia::~PlatformContextSkia):
62546        (WebCore::WillPublishCallbackImpl::create):
62547        (WebCore::WillPublishCallbackImpl::willPublish):
62548        (WebCore::WillPublishCallbackImpl::WillPublishCallbackImpl):
62549        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
62550        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
62551        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
62552        * platform/graphics/skia/PlatformContextSkia.h:
62553        * rendering/RenderLayerBacking.cpp:
62554        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
62555
625562010-09-03  Chris Rogers  <crogers@google.com>
62557
62558        Reviewed by Kenneth Russell.
62559
62560        Add audio distance effect files
62561        https://bugs.webkit.org/show_bug.cgi?id=44705
62562
62563        No new tests since audio API is not yet implemented.
62564
62565        * platform/audio/Distance.cpp: Added.
62566        (WebCore::DistanceEffect::DistanceEffect):
62567        (WebCore::DistanceEffect::gain):
62568        (WebCore::DistanceEffect::linearGain):
62569        (WebCore::DistanceEffect::inverseGain):
62570        (WebCore::DistanceEffect::exponentialGain):
62571        * platform/audio/Distance.h: Added.
62572        (WebCore::DistanceEffect::model):
62573        (WebCore::DistanceEffect::setModel):
62574        (WebCore::DistanceEffect::setRefDistance):
62575        (WebCore::DistanceEffect::setMaxDistance):
62576        (WebCore::DistanceEffect::setRolloffFactor):
62577        (WebCore::DistanceEffect::refDistance):
62578        (WebCore::DistanceEffect::maxDistance):
62579        (WebCore::DistanceEffect::rolloffFactor):
62580
625812010-09-03  Johnny Ding  <jnd@chromium.org>
62582
62583        Reviewed by Adam Barth.
62584
62585        Save the gesture state to track the user gesture state across async form submission.
62586        https://bugs.webkit.org/show_bug.cgi?id=44969
62587
62588        fast/events/popup-blocked-to-post-blank.html can cover the test in WebKit.
62589        A UI test will be added in chromium to address chromium's bug.
62590
62591        * loader/RedirectScheduler.cpp:
62592        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
62593        (WebCore::ScheduledFormSubmission::fire):
62594        (WebCore::RedirectScheduler::scheduleFormSubmission):
62595
625962010-09-03  Dan Bernstein  <mitz@apple.com>
62597
62598        Reviewed by Anders Carlsson.
62599
62600        <rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
62601        https://bugs.webkit.org/show_bug.cgi?id=45182
62602
62603        Test: fast/text/decomposed-after-stacked-diacritics.html
62604
62605        * platform/graphics/Font.cpp:
62606        (WebCore::Font::codePath): Do not bail out if the run contains stacked diacritics, since
62607        it may also contain characters that require the complex text code path.
62608
626092010-09-03  Mikhail Naganov  <mnaganov@chromium.org>
62610
62611        Reviewed by Yury Semikhatsky.
62612
62613        Web Inspector: Cleanup after r66117 - extract heap snapshot
62614        view styles into a dedicated .css
62615
62616        https://bugs.webkit.org/show_bug.cgi?id=45178
62617
62618        * WebCore.gypi:
62619        * WebCore.vcproj/WebCore.vcproj:
62620        * inspector/front-end/WebKit.qrc:
62621        * inspector/front-end/heapProfiler.css: Added.
62622        (.heap-snapshot-sidebar-tree-item .icon):
62623        (.heap-snapshot-sidebar-tree-item.small .icon):
62624        (.heap-snapshot-view):
62625        (.heap-snapshot-view.visible):
62626        (.heap-snapshot-view .data-grid):
62627        (.heap-snapshot-view .data-grid th.count-column):
62628        (.heap-snapshot-view .data-grid td.count-column):
62629        (.heap-snapshot-view .data-grid th.size-column):
62630        (.heap-snapshot-view .data-grid td.size-column):
62631        (.heap-snapshot-view .data-grid th.countDelta-column):
62632        (.heap-snapshot-view .data-grid td.countDelta-column):
62633        (.heap-snapshot-view .data-grid th.sizeDelta-column):
62634        (.heap-snapshot-view .data-grid td.sizeDelta-column):
62635        (#heap-snapshot-summary-container):
62636        (.heap-snapshot-summary):
62637        (.heap-snapshot-summary canvas.summary-graph):
62638        (.heap-snapshot-summary-label):
62639        * inspector/front-end/inspector.css:
62640        * inspector/front-end/inspector.html:
62641
626422010-09-03  Zaheer Ahmad <zaheer.mot@gmail.com>
62643
62644        Reviewed by Darin Adler.
62645
62646        [GTK] compilation issue with JSTimeRanges when video turned off
62647        https://bugs.webkit.org/show_bug.cgi?id=44249
62648
62649        Move the JSTimeRanges outside ENABLE_VIDEO in GNUMakefile.am
62650        * WebCore/GNUMakefile.am
62651
626522010-09-03  Ilya Tikhonovsky  <loislo@chromium.org>
62653
62654        Reviewed by Yury Semikhatsky.
62655
62656        Web Inspector: cleanup inspector api. getChildNodes should return array of child nodes as an output value.
62657
62658        The current implementation of the inspector api has some unnecessary complexity. 
62659        As example WebInspector is requesting child nodes of a node by getChildNodes
62660        but DOM agent is actually pushing the child nodes via setChildNodes event call and
62661        send back an empty response message.
62662
62663        https://bugs.webkit.org/show_bug.cgi?id=45172
62664
62665        * inspector/CodeGeneratorInspector.pm:
62666        * inspector/Inspector.idl:
62667        * inspector/InspectorDOMAgent.cpp:
62668        (WebCore::InspectorDOMAgent::getChildNodesArray):
62669        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
62670        (WebCore::InspectorDOMAgent::getChildNodes):
62671        * inspector/InspectorDOMAgent.h:
62672        * inspector/front-end/DOMAgent.js:
62673        (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
62674        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
62675        * inspector/front-end/WorkersSidebarPane.js:
62676        (WebInspector.WorkersSidebarPane.prototype.reset):
62677
626782010-09-03  Nikolas Zimmermann  <nzimmermann@rim.com>
62679
62680        Reviewed by Dirk Schulze.
62681
62682        SVG atlas map slider doesn't work properly
62683        https://bugs.webkit.org/show_bug.cgi?id=45107
62684
62685        SVG 1.1 2nd edition relaxes hit testing rules. The outermost <svg> should react
62686        to mouse events, in standalone and compound documents, if the mouse location is
62687        within the intrinsic boundaries of the <svg> element.
62688
62689        Tests: svg/custom/mouse-move-on-svg-container-standalone.svg
62690               svg/custom/mouse-move-on-svg-container.xhtml
62691               svg/custom/mouse-move-on-svg-root-standalone.svg
62692               svg/custom/mouse-move-on-svg-root.xhtml
62693
62694        * rendering/RenderSVGRoot.cpp:
62695        (WebCore::RenderSVGRoot::nodeAtPoint):
62696
626972010-09-03  Pavel Podivilov  <podivilov@chromium.org>
62698
62699        Reviewed by Yury Semikhatsky.
62700
62701        Web Inspector: provide more information to front-end when breaking on DOM event
62702        https://bugs.webkit.org/show_bug.cgi?id=44679
62703
62704        * dom/ContainerNode.cpp:
62705        (WebCore::ContainerNode::insertBefore):
62706        (WebCore::ContainerNode::parserInsertBefore):
62707        (WebCore::ContainerNode::replaceChild):
62708        (WebCore::ContainerNode::appendChild):
62709        (WebCore::ContainerNode::parserAddChild):
62710        (WebCore::notifyChildInserted):
62711        (WebCore::dispatchChildRemovalEvents):
62712        * dom/Element.cpp:
62713        (WebCore::Element::setAttribute):
62714        (WebCore::Element::removeAttribute):
62715        * inspector/Inspector.idl:
62716        * inspector/InspectorController.cpp:
62717        (WebCore::InspectorController::willInsertDOMNodeImpl):
62718        (WebCore::InspectorController::didInsertDOMNodeImpl):
62719        (WebCore::InspectorController::willRemoveDOMNodeImpl):
62720        (WebCore::InspectorController::didRemoveDOMNodeImpl):
62721        (WebCore::InspectorController::willModifyDOMAttrImpl):
62722        (WebCore::InspectorController::didModifyDOMAttrImpl):
62723        * inspector/InspectorController.h:
62724        (WebCore::InspectorController::willInsertDOMNode):
62725        (WebCore::InspectorController::didInsertDOMNode):
62726        (WebCore::InspectorController::willRemoveDOMNode):
62727        (WebCore::InspectorController::willModifyDOMAttr):
62728        (WebCore::InspectorController::didModifyDOMAttr):
62729        (WebCore::InspectorController::inspectorControllerForNode):
62730        * inspector/InspectorDOMAgent.cpp:
62731        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
62732        (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
62733        (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
62734        (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
62735        (WebCore::InspectorDOMAgent::didInsertDOMNode):
62736        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
62737        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
62738        (WebCore::InspectorDOMAgent::createBreakpoint):
62739        * inspector/InspectorDOMAgent.h:
62740        * inspector/InspectorDebuggerAgent.cpp:
62741        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
62742        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
62743        (WebCore::InspectorDebuggerAgent::didPause):
62744        (WebCore::InspectorDebuggerAgent::breakProgram):
62745        * inspector/InspectorDebuggerAgent.h:
62746        * inspector/InspectorValues.h:
62747        (WebCore::InspectorValue::isNull):
62748        * inspector/front-end/BreakpointsSidebarPane.js:
62749        (WebInspector.BreakpointItem):
62750        (WebInspector.BreakpointItem.prototype._enableChanged):
62751        * inspector/front-end/Script.js:
62752        (WebInspector.Script.prototype.get linesCount):
62753        * inspector/front-end/inspector.js:
62754        (WebInspector.pausedScript):
62755
627562010-08-31  Jeremy Orlow  <jorlow@chromium.org>
62757
62758        Reviewed by Steve Block.
62759
62760        IDBCursor.continue() should reuse the .openCursor's IDBRequest object
62761        https://bugs.webkit.org/show_bug.cgi?id=44953
62762
62763        This is to match the spec. This requires a modification to IDBRequest so
62764        that multiple events can be queued up.
62765
62766        Note that the initial state for IDBRequest was removed from the spec.
62767
62768        Test: modified existing test to verify new behavior.
62769
62770        * storage/IDBAny.cpp:
62771        (WebCore::IDBAny::createInvalid):
62772        (WebCore::IDBAny::createNull):
62773        (WebCore::IDBAny::setNull):
62774        * storage/IDBAny.h:
62775        (WebCore::IDBAny::create):
62776        * storage/IDBCursor.cpp:
62777        (WebCore::IDBCursor::IDBCursor):
62778        (WebCore::IDBCursor::continueFunction):
62779        * storage/IDBCursor.h:
62780        (WebCore::IDBCursor::create):
62781        * storage/IDBCursor.idl:
62782        * storage/IDBRequest.cpp:
62783        (WebCore::IDBRequest::IDBRequest):
62784        (WebCore::IDBRequest::~IDBRequest):
62785        (WebCore::IDBRequest::resetReadyState):
62786        (WebCore::IDBRequest::onError):
62787        (WebCore::IDBRequest::onSuccess):
62788        (WebCore::IDBRequest::abort):
62789        (WebCore::IDBRequest::timerFired):
62790        (WebCore::IDBRequest::scheduleEvent):
62791        * storage/IDBRequest.h:
62792        * storage/IDBRequest.idl:
62793
627942010-09-03  Bharathwaaj Srinivasan  <bharathwaaj.s@gmail.com>
62795
62796        Reviewed by Xan Lopez.
62797
62798        Initialize keyboard events before passing plugins.
62799        https://bugs.webkit.org/show_bug.cgi?id=44771
62800
62801        No new tests needed since this is a trivial fix.
62802
62803        * plugins/gtk/PluginViewGtk.cpp:
62804        (WebCore::PluginView::handleKeyboardEvent):
62805
628062010-09-03  Yury Semikhatsky  <yurys@chromium.org>
62807
62808        Unreviewed. Fix Qt compilation.
62809
62810        * html/HTMLEmbedElement.cpp:
62811        (WebCore::HTMLEmbedElement::parametersForPlugin):
62812
628132010-09-03  Hironori Bono  <hbono@chromium.org>
62814
62815        Reviewed by Kent Tamura.
62816
62817        Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests
62818        and implements it for Mac.
62819        https://bugs.webkit.org/show_bug.cgi?id=41832
62820
62821        Tests: editing/spelling/spelling-contenteditable.html
62822               editing/spelling/spelling-textarea.html
62823
62824        * WebCore.exp.in: Exported symbols used by [WebFrame hasSpellingMarker:length:].
62825
628262010-09-02  Yury Semikhatsky  <yurys@chromium.org>
62827
62828        Reviewed by Pavel Feldman.
62829
62830        REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
62831        https://bugs.webkit.org/show_bug.cgi?id=44230
62832
62833        * inspector/Inspector.idl:
62834        * inspector/InspectorController.cpp:
62835        (WebCore::InspectorController::inspectedPageDestroyed):
62836        (WebCore::InspectorController::close):
62837        * inspector/InspectorFrontendClient.h:
62838        * inspector/InspectorFrontendHost.cpp:
62839        (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
62840        that frontend closes if InspectorController triggered the action.
62841        * inspector/InspectorFrontendHost.h:
62842        * inspector/InspectorFrontendHost.idl:
62843        * inspector/front-end/InspectorFrontendHostStub.js:
62844        (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
62845        * inspector/front-end/inspector.js:
62846        (WebInspector.disconnectFromBackend):
62847
628482010-09-03  Girish Ramakrishnan  <girish@forwardbias.in>
62849
62850        Reviewed-by Simon Hausmann.
62851
62852        Passing a 32-bit depth X pixmap to NPAPI windowless plugins is too inefficient. 
62853        Instead, pass a X Pixmap that has same depth as the screen depth since graphics 
62854        operations are optimized for this depth.
62855
62856        https://bugs.webkit.org/show_bug.cgi?id=45167
62857
62858        * plugins/PluginPackage.cpp:
62859        (WebCore::PluginPackage::determineQuirks):
62860
628612010-09-02  Kwang Yul Seo  <skyul@company100.net>
62862
62863        Reviewed by Kent Tamura.
62864
62865        Add ENABLE(DATABASE) guard to DatabaseAuthorizer.cpp
62866        https://bugs.webkit.org/show_bug.cgi?id=45152
62867
62868        DatabaseAuthorizer is used only with ENABLE(DATABASE).
62869
62870        * storage/DatabaseAuthorizer.cpp:
62871
628722010-09-02  Pavel Podivilov  <podivilov@chromium.org>
62873
62874        Reviewed by Yury Semikhatsky.
62875
62876        Web Inspector: persist DOM breakpoints between page reloads
62877        https://bugs.webkit.org/show_bug.cgi?id=44837
62878
62879        * inspector/front-end/BreakpointsSidebarPane.js:
62880        (WebInspector.DOMBreakpointItem):
62881        * inspector/front-end/DOMAgent.js:
62882        (WebInspector.DOMNode.prototype.path):
62883        (WebInspector.DOMNode.prototype.setBreakpoint):
62884        (WebInspector.DOMNode.prototype.hasBreakpoint):
62885        (WebInspector.DOMNode.prototype.removeBreakpoint):
62886        (WebInspector.DOMNode.prototype.removeBreakpoints):
62887        (WebInspector.DOMAgent.prototype._setDocument):
62888        (WebInspector.DOMAgent.prototype._childNodeRemoved):
62889        (WebInspector.DOMAgent.prototype._removeBreakpoints):
62890        (WebInspector.DOMBreakpointManager):
62891        (WebInspector.DOMBreakpointManager.prototype.setBreakpoint):
62892        (WebInspector.DOMBreakpointManager.prototype.removeBreakpointsForNode):
62893        (WebInspector.DOMBreakpointManager.prototype._breakpointRemoved):
62894        (WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints.restoreBreakpointsForNode):
62895        (WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints):
62896        (WebInspector.DOMBreakpoint):
62897        (WebInspector.DOMBreakpoint.prototype.get nodeId):
62898        (WebInspector.DOMBreakpoint.prototype.get type):
62899        (WebInspector.DOMBreakpoint.prototype.set enabled):
62900        (WebInspector.DOMBreakpoint.prototype.remove):
62901        * inspector/front-end/ElementsPanel.js:
62902        (WebInspector.ElementsPanel.prototype.reset):
62903        (WebInspector.ElementsPanel.prototype.setDocument):
62904        * inspector/front-end/ElementsTreeOutline.js:
62905        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
62906        * inspector/front-end/SourceFrame.js:
62907        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
62908
629092010-09-02  Eric Seidel  <eric@webkit.org>
62910
62911        Reviewed by Dimitri Glazkov.
62912
62913        Move updateWidget into FrameView from RenderEmbeddedObject
62914        https://bugs.webkit.org/show_bug.cgi?id=45065
62915
62916        I also made updateWidget() virtual on HTMLPlugInImageElement.
62917        I'm not yet sure that updateWidget belongs on HTMLElement since
62918        I'm not sure that HTMLMediaElement's use of the updateWidget
62919        infrastructure is correct.
62920
62921        I also got rid of the strange !m_replacementText.isEmpty() checks
62922        by making a pluginCrashedOrWasMissing() call which seems to embody
62923        the idea behind that check and hides the screwy details.
62924
62925        I noticed a couple methods on HTMLPlugInImageElement were public
62926        which did not need to be.  Fixed.
62927
62928        No functional change, thus no tests.
62929
62930        * html/HTMLEmbedElement.h:
62931        * html/HTMLObjectElement.h:
62932        * html/HTMLPlugInImageElement.cpp:
62933        (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
62934        * html/HTMLPlugInImageElement.h:
62935        (WebCore::HTMLPlugInImageElement::serviceType):
62936        (WebCore::HTMLPlugInImageElement::url):
62937        * page/FrameView.cpp:
62938        (WebCore::FrameView::updateWidget):
62939        (WebCore::FrameView::updateWidgets):
62940        * page/FrameView.h:
62941        * rendering/RenderEmbeddedObject.cpp:
62942        (WebCore::RenderEmbeddedObject::pluginCrashedOrWasMissing):
62943        (WebCore::RenderEmbeddedObject::paint):
62944        (WebCore::RenderEmbeddedObject::paintReplaced):
62945        * rendering/RenderEmbeddedObject.h:
62946
629472010-09-02  Eric Seidel  <eric@webkit.org>
62948
62949        Reviewed by Dimitri Glazkov.
62950
62951        Move updateWidget implementations into the DOM
62952        https://bugs.webkit.org/show_bug.cgi?id=45058
62953
62954        Unfortunately it's not yet possible to share an updateWidget
62955        implementation between <embed> and <object>.  That would amount to
62956        (positive) functional changes for <embed> which I'd will separate
62957        into a later patch.  I will also have to untangle <object>'s <param>
62958        walk from its url/serviceType calculations.
62959
62960        However after this patch it's slap-you-across-the-face obvious that
62961        RenderEmbeddedObject::updateWidget was the wrong place for this code.
62962        RenderEmbeddedObject::updateWidget still exists, but only as a
62963        pseudo-virtual-method dispatcher.  Unless we add updateWidget() to
62964        HTMLElement, we won't be able to use real virtual dispatch.
62965
62966        I may need to consider making "having a widget" a has-a relationship
62967        with some sort of WidgetContainer object which Media and Plugin can
62968        share.  Or its also possible that Media's use of the widget code here
62969        is just wrong.  Certainly now that updateWidget was moved into HTMLMediaElement
62970        it becomes obvious that HTMLMediaElement has duplicate code for updating widgets.
62971
62972        No functional changes, thus no tests.
62973
62974        * html/HTMLEmbedElement.cpp:
62975        (WebCore::HTMLEmbedElement::updateWidget):
62976        * html/HTMLEmbedElement.h:
62977        * html/HTMLMediaElement.cpp:
62978        (WebCore::HTMLMediaElement::updateWidget):
62979        * html/HTMLMediaElement.h:
62980        * html/HTMLObjectElement.cpp:
62981        (WebCore::HTMLObjectElement::updateWidget):
62982        * html/HTMLObjectElement.h:
62983        (WebCore::HTMLObjectElement::useFallbackContent):
62984        * html/HTMLPlugInImageElement.h:
62985        (WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
62986        (WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
62987        * loader/FrameLoader.cpp:
62988        * rendering/RenderEmbeddedObject.cpp:
62989        (WebCore::RenderEmbeddedObject::updateWidget):
62990
629912010-09-02  Eric Seidel  <eric@webkit.org>
62992
62993        Reviewed by Dimitri Glazkov.
62994
62995        Move more code from RenderEmbeddedObject into the DOM
62996        https://bugs.webkit.org/show_bug.cgi?id=45055
62997
62998        No logic changes here, just taking the code which
62999        I ripped out of RenderEmbeddedObject::updateWidget
63000        into static methods before and moving it into
63001        the applicable DOM classes.
63002
63003        HTMLObjectElement::parametersForPlugin does too much
63004        but in order to fix it I may need to add a PluginParameters
63005        class so we can ask things about the parameters. <object>
63006        needs to get multiple bits of information out of its parameters
63007        array.  Right now it does it all in one walk.  In order to share
63008        code with HTMLEmbedElement, we need the "generate the params array"
63009        code to be separate from the "make advanced <object> specific decision
63010        from the params array".  But that will need to be in a later patch.
63011
63012        No functional changes, thus no tests.
63013
63014        * html/HTMLEmbedElement.cpp:
63015        (WebCore::HTMLEmbedElement::parametersForPlugin):
63016        * html/HTMLEmbedElement.h:
63017        * html/HTMLObjectElement.cpp:
63018        (WebCore::createClassIdToTypeMap):
63019        (WebCore::serviceTypeForClassId):
63020        (WebCore::mapDataParamToSrc):
63021        (WebCore::HTMLObjectElement::parametersForPlugin):
63022        (WebCore::HTMLObjectElement::hasFallbackContent):
63023        * html/HTMLObjectElement.h:
63024        * html/HTMLPlugInImageElement.cpp:
63025        (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
63026        (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
63027        (WebCore::HTMLPlugInImageElement::detach): 
63028        (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
63029        (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
63030        * html/HTMLPlugInImageElement.h:
63031        * rendering/RenderEmbeddedObject.cpp:
63032        (WebCore::updateWidgetForObjectElement):
63033        (WebCore::updateWidgetForEmbedElement):
63034        (WebCore::RenderEmbeddedObject::updateWidget):
63035
630362010-09-02  François Sausset  <sausset@gmail.com>
63037
63038        Reviewed by Darin Adler.
63039
63040        MathML mo element should render "hyphen-minus" as "minus sign" (Unicode glyph names).
63041        https://bugs.webkit.org/show_bug.cgi?id=43629
63042
63043        Test: mathml/presentation/mo.xhtml
63044
63045        * mathml/RenderMathMLOperator.cpp:
63046        (WebCore::RenderMathMLOperator::RenderMathMLOperator):
63047        (WebCore::RenderMathMLOperator::updateFromElement):
63048        * mathml/RenderMathMLOperator.h:
63049        (WebCore::convertHyphenMinusToMinusSign):
63050        * platform/text/CharacterNames.h:
63051
630522010-09-02  Kenneth Russell  <kbr@google.com>
63053
63054        Reviewed by Darin Fisher.
63055
63056        Add red-black tree capable of holding plain old data (POD)
63057        https://bugs.webkit.org/show_bug.cgi?id=45059
63058
63059        Adding an augmentable red-black tree capable of holding Plain Old
63060        Data (POD), or classes bottoming out into only POD, and an
63061        associated PODArena. Note that the PODArena will be used by other
63062        classes to allocate temporary structures, which is why it is not
63063        just an implementation detail of the red-black tree.
63064
63065        These classes are being placed under WebCore/platform/graphics/gpu
63066        for the time being. If they are generalized to hold even data
63067        types which internally perform dynamic memory allocation, we may
63068        consider moving them to WTF in the future.
63069
63070        Unit tests for the PODRedBlackTree will be integrated separately
63071        under bug 45060.
63072
63073        * WebCore.gypi:
63074        * platform/graphics/gpu/PODArena.h: Added.
63075        (WebCore::PODArena::Allocator::~Allocator):
63076        (WebCore::PODArena::FastMallocAllocator::create):
63077        (WebCore::PODArena::FastMallocAllocator::allocate):
63078        (WebCore::PODArena::FastMallocAllocator::free):
63079        (WebCore::PODArena::FastMallocAllocator::FastMallocAllocator):
63080        (WebCore::PODArena::create):
63081        (WebCore::PODArena::allocateObject):
63082        (WebCore::PODArena::~PODArena):
63083        (WebCore::PODArena::PODArena):
63084        (WebCore::PODArena::minAlignment):
63085        (WebCore::PODArena::roundUp):
63086        (WebCore::PODArena::Chunk::Chunk):
63087        (WebCore::PODArena::Chunk::~Chunk):
63088        (WebCore::PODArena::Chunk::allocate):
63089        * platform/graphics/gpu/PODRedBlackTree.h: Added.
63090        (WebCore::PODRedBlackTree::Visitor::~Visitor):
63091        (WebCore::PODRedBlackTree::PODRedBlackTree):
63092        (WebCore::PODRedBlackTree::~PODRedBlackTree):
63093        (WebCore::PODRedBlackTree::add):
63094        (WebCore::PODRedBlackTree::remove):
63095        (WebCore::PODRedBlackTree::contains):
63096        (WebCore::PODRedBlackTree::visitInorder):
63097        (WebCore::PODRedBlackTree::size):
63098        (WebCore::PODRedBlackTree::setNeedsFullOrderingComparisons):
63099        (WebCore::PODRedBlackTree::checkInvariants):
63100        (WebCore::PODRedBlackTree::dump):
63101        (WebCore::PODRedBlackTree::setVerboseDebugging):
63102        (WebCore::PODRedBlackTree::Node::Node):
63103        (WebCore::PODRedBlackTree::Node::~Node):
63104        (WebCore::PODRedBlackTree::Node::color):
63105        (WebCore::PODRedBlackTree::Node::setColor):
63106        (WebCore::PODRedBlackTree::Node::data):
63107        (WebCore::PODRedBlackTree::Node::copyFrom):
63108        (WebCore::PODRedBlackTree::Node::left):
63109        (WebCore::PODRedBlackTree::Node::setLeft):
63110        (WebCore::PODRedBlackTree::Node::right):
63111        (WebCore::PODRedBlackTree::Node::setRight):
63112        (WebCore::PODRedBlackTree::Node::parent):
63113        (WebCore::PODRedBlackTree::Node::setParent):
63114        (WebCore::PODRedBlackTree::root):
63115        (WebCore::PODRedBlackTree::updateNode):
63116        (WebCore::PODRedBlackTree::treeSearch):
63117        (WebCore::PODRedBlackTree::treeSearchNormal):
63118        (WebCore::PODRedBlackTree::treeSearchFullComparisons):
63119        (WebCore::PODRedBlackTree::treeInsert):
63120        (WebCore::PODRedBlackTree::treeSuccessor):
63121        (WebCore::PODRedBlackTree::treeMinimum):
63122        (WebCore::PODRedBlackTree::propagateUpdates):
63123        (WebCore::PODRedBlackTree::leftRotate):
63124        (WebCore::PODRedBlackTree::rightRotate):
63125        (WebCore::PODRedBlackTree::insertNode):
63126        (WebCore::PODRedBlackTree::deleteFixup):
63127        (WebCore::PODRedBlackTree::deleteNode):
63128        (WebCore::PODRedBlackTree::visitInorderImpl):
63129        (WebCore::PODRedBlackTree::Counter::Counter):
63130        (WebCore::PODRedBlackTree::Counter::visit):
63131        (WebCore::PODRedBlackTree::Counter::count):
63132        (WebCore::PODRedBlackTree::checkInvariantsFromNode):
63133        (WebCore::PODRedBlackTree::logIfVerbose):
63134        (WebCore::PODRedBlackTree::dumpFromNode):
63135
631362010-09-02  Rafael Antognolli  <antognolli@profusion.mobi>
63137
63138        Reviewed by Martin Robinson.
63139
63140        [Cairo] Remove glib dependency (caused by use of GOwnPtr)
63141        https://bugs.webkit.org/show_bug.cgi?id=45053
63142
63143        Use OwnPtr instead of GOwnPtr to keep track of Fc* references
63144        in FontCacheCairo.cpp.
63145
63146        No features added, so no new tests.
63147
63148        * CMakeListsEfl.txt: Updating build system to look for GOwnPtrCairo.*
63149        * GNUmakefile.am: Ditto.
63150        * platform/graphics/cairo/FontCacheCairo.cpp: Using OwnPtr instead of GOwnPtr.
63151        (WebCore::FontCache::createFontPlatformData):
63152        * platform/graphics/cairo/GOwnPtrCairo.cpp: Removed.
63153        * platform/graphics/cairo/GOwnPtrCairo.h: Removed.
63154        * platform/graphics/cairo/OwnPtrCairo.cpp: Added.
63155        (WTF::FcPattern):
63156        (WTF::FcObjectSet):
63157        (WTF::FcFontSet):
63158        * platform/graphics/cairo/OwnPtrCairo.h: Added.
63159
631602010-09-02  Kinuko Yasuda  <kinuko@chromium.org>
63161
63162        Unreviewed, updating binding-tests expectations (for changeset 66521).
63163
63164        * bindings/scripts/test/V8/V8TestObj.cpp:
63165        (WebCore::TestObjInternal::stringAttrAttrSetter):
63166        (WebCore::TestObjInternal::reflectedStringAttrAttrSetter):
63167        (WebCore::TestObjInternal::reflectedURLAttrAttrSetter):
63168        (WebCore::TestObjInternal::reflectedNonEmptyURLAttrAttrSetter):
63169        (WebCore::TestObjInternal::reflectedCustomURLAttrAttrSetter):
63170        (WebCore::TestObjInternal::reflectedCustomNonEmptyURLAttrAttrSetter):
63171        (WebCore::TestObjInternal::stringAttrWithGetterExceptionAttrSetter):
63172        (WebCore::TestObjInternal::stringAttrWithSetterExceptionAttrSetter):
63173
631742010-09-02  Adam Langley  <agl@chromium.org>
63175
63176        Reviewed by Adam Barth.
63177
63178        [chromium] fix memory corruption in Khmer rendering.
63179
63180        https://bugs.webkit.org/show_bug.cgi?id=44960
63181
63182        Test: fast/text/khmer-crash.html
63183
63184        * platform/graphics/chromium/FontLinux.cpp:
63185        (WebCore::TextRunWalker::shapeGlyphs):
63186          The Khmer shaper has a bug where it would request larger output
63187          buffers, but request a zero increase in size. Because of this we add
63188          one to the requested size.
63189        (WebCore::TextRunWalker::setGlyphXPositions):
63190          The Khmer shaper is outputing cluster logs which suggest that some
63191          output glyphs appear from nowhere (i.e. have no input codepoints). I
63192          don't know Khmer, so maybe that's correct, but it broke the
63193          assumptions of this code, causing a read out-of-bounds.
63194        * platform/graphics/chromium/HarfbuzzSkia.cpp:
63195        (WebCore::stringToGlyphs):
63196          The Harfbuzz interfaces aren't documented, but it appears that the
63197          output array to stringToGlyphs isn't sized and that Harfbuzz expects
63198          us to detect when the input is too long.
63199
632002010-09-02  Adam Roben  <aroben@apple.com>
63201
63202        Fill the scroll corner with white when shouldPaintCustomScrollbars is
63203        false
63204
63205        Previously we were only filling with white when
63206        shouldPaintCustomScrollbars was true but the ChromeClient didn't paint
63207        any custom scrollbars.
63208
63209        Reviewed by Sam Weinig.
63210
63211        * platform/ScrollbarThemeComposite.cpp:
63212        (WebCore::ScrollbarThemeComposite::paintScrollCorner):
63213
632142010-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
63215
63216        Unreviewed, rolling out r66671.
63217        http://trac.webkit.org/changeset/66671
63218        https://bugs.webkit.org/show_bug.cgi?id=45115
63219
63220        http/tests/misc/redirect-to-about-blank.html is failing on
63221        several platforms (Requested by japhet on #webkit).
63222
63223        * WebCore.exp.in:
63224        * dom/Document.cpp:
63225        (WebCore::Document::Document):
63226        (WebCore::Document::updateURLForPushOrReplaceState):
63227        * loader/DocumentWriter.cpp:
63228        (WebCore::DocumentWriter::begin):
63229        * loader/FrameLoader.cpp:
63230        (WebCore::FrameLoader::iconURL):
63231        (WebCore::FrameLoader::didOpenURL):
63232        (WebCore::FrameLoader::didExplicitOpen):
63233        (WebCore::FrameLoader::receivedFirstData):
63234        (WebCore::FrameLoader::setURL):
63235        (WebCore::FrameLoader::startIconLoader):
63236        (WebCore::FrameLoader::commitIconURLToIconDatabase):
63237        (WebCore::FrameLoader::finishedParsing):
63238        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
63239        (WebCore::FrameLoader::checkIfRunInsecureContent):
63240        (WebCore::FrameLoader::updateFirstPartyForCookies):
63241        (WebCore::FrameLoader::loadInSameDocument):
63242        (WebCore::FrameLoader::commitProvisionalLoad):
63243        (WebCore::FrameLoader::open):
63244        (WebCore::FrameLoader::shouldScrollToAnchor):
63245        * loader/FrameLoader.h:
63246        (WebCore::FrameLoader::url):
63247
632482010-09-01  Zhenyao Mo  <zmo@google.com>
63249
63250        Reviewed by Kenneth Russell.
63251
63252        Roll ANGLE under webkit to r402
63253        https://bugs.webkit.org/show_bug.cgi?id=45004
63254
63255        * platform/graphics/mac/GraphicsContext3DMac.mm: Update the code to use newer ANGLE interface.
63256        (WebCore::GraphicsContext3D::GraphicsContext3D):
63257
632582010-09-02  Ilya Tikhonovsky  <loislo@chromium.org>
63259
63260        Reviewed by Yury Semikhatsky.
63261
63262        WebInspector: Timeline instrumentation code can crash browser.
63263
63264        Steps:
63265        1) load the site
63266        2) open inspector
63267        3) start timeline recording
63268        4) reload inspected page
63269        got NPE
63270
63271        https://bugs.webkit.org/show_bug.cgi?id=45098
63272
63273        * loader/ResourceLoader.cpp:
63274        (WebCore::ResourceLoader::didReceiveResponse):
63275        (WebCore::ResourceLoader::didReceiveData):
63276
632772010-09-02  Nate Chapin  <japhet@chromium.org>
63278
63279        Reviewed by Adam Barth.
63280
63281        Remove m_URL from FrameLoader and instead depend on Document's url.
63282        FrameLoader::url() will be removed in a later patch.
63283
63284        http://bugs.webkit.org/show_bug.cgi?id=41165
63285
63286        No new tests, since this predominantly a refactor. Updating
63287        fast/dom/early-frame-url.html.
63288
63289        * WebCore.exp.in:
63290        * dom/Document.cpp:
63291        (WebCore::Document::Document):
63292        (WebCore::Document::updateURLForPushOrReplaceState):
63293        * loader/DocumentWriter.cpp:
63294        (WebCore::DocumentWriter::begin):
63295        * loader/FrameLoader.cpp:
63296        (WebCore::FrameLoader::iconURL):
63297        (WebCore::FrameLoader::didOpenURL):
63298        (WebCore::FrameLoader::didExplicitOpen):
63299        (WebCore::FrameLoader::receivedFirstData):
63300        (WebCore::FrameLoader::url):
63301        (WebCore::FrameLoader::setOutgoingReferrer):
63302        (WebCore::FrameLoader::startIconLoader):
63303        (WebCore::FrameLoader::commitIconURLToIconDatabase):
63304        (WebCore::FrameLoader::finishedParsing):
63305        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
63306        (WebCore::FrameLoader::checkIfRunInsecureContent):
63307        (WebCore::FrameLoader::updateFirstPartyForCookies):
63308        (WebCore::FrameLoader::loadInSameDocument):
63309        (WebCore::FrameLoader::commitProvisionalLoad):
63310        (WebCore::FrameLoader::open):
63311        (WebCore::FrameLoader::shouldScrollToAnchor):
63312        * loader/FrameLoader.h:
63313
633142010-09-01  Tony Gentilcore  <tonyg@chromium.org>
63315
63316        Reviewed by Adam Barth.
63317
63318        Support <script defer> as specified by HTML5
63319        https://bugs.webkit.org/show_bug.cgi?id=40934
63320
63321        Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
63322               fast/dom/HTMLScriptElement/defer-double-write.html
63323               fast/dom/HTMLScriptElement/defer-inline-script.html
63324               fast/dom/HTMLScriptElement/defer-onbeforeload.html
63325               fast/dom/HTMLScriptElement/defer-script-invalid-url.html
63326               fast/dom/HTMLScriptElement/defer-write.html
63327               fast/dom/HTMLScriptElement/two-defer-writes.html
63328               http/tests/misc/script-defer-after-slow-stylesheet.html
63329               http/tests/misc/script-defer.html
63330
63331        * dom/Document.cpp:
63332        (WebCore::Document::open): Allow implicit open for writes() while executing deferred scripts.
63333        * dom/DocumentParser.cpp:
63334        (WebCore::DocumentParser::DocumentParser):
63335        (WebCore::DocumentParser::startParsing):
63336        (WebCore::DocumentParser::prepareToStopParsing): If called when stopped or detached, it shouldn't reset to stopping.
63337        (WebCore::DocumentParser::stopParsing):
63338        (WebCore::DocumentParser::detach):
63339        * dom/DocumentParser.h:
63340        (WebCore::DocumentParser::isParsing):
63341        (WebCore::DocumentParser::isActive):
63342        (WebCore::DocumentParser::isStopping):
63343        (WebCore::DocumentParser::isDetached):
63344        * dom/RawDataDocumentParser.h:
63345        (WebCore::RawDataDocumentParser::finish):
63346        * dom/XMLDocumentParser.cpp:
63347        (WebCore::XMLDocumentParser::append):
63348        (WebCore::XMLDocumentParser::exitText):
63349        * dom/XMLDocumentParserLibxml2.cpp:
63350        (WebCore::XMLDocumentParser::doWrite):
63351        (WebCore::XMLDocumentParser::startElementNs):
63352        (WebCore::XMLDocumentParser::endElementNs):
63353        (WebCore::XMLDocumentParser::characters):
63354        (WebCore::XMLDocumentParser::error):
63355        (WebCore::XMLDocumentParser::processingInstruction):
63356        (WebCore::XMLDocumentParser::cdataBlock):
63357        (WebCore::XMLDocumentParser::comment):
63358        (WebCore::XMLDocumentParser::internalSubset):
63359        (WebCore::XMLDocumentParser::initializeParserContext):
63360        (WebCore::XMLDocumentParser::doEnd):
63361        * html/parser/HTMLDocumentParser.cpp:
63362        (WebCore::HTMLDocumentParser::prepareToStopParsing):
63363        (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
63364        (WebCore::HTMLDocumentParser::pumpTokenizer):
63365        (WebCore::HTMLDocumentParser::insert):
63366        (WebCore::HTMLDocumentParser::append):
63367        (WebCore::HTMLDocumentParser::end):
63368        (WebCore::HTMLDocumentParser::attemptToEnd):
63369        (WebCore::HTMLDocumentParser::endIfDelayed):
63370        (WebCore::HTMLDocumentParser::notifyFinished):
63371        * html/parser/HTMLDocumentParser.h:
63372        * html/parser/HTMLScriptRunner.cpp:
63373        (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
63374        (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
63375        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
63376        (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
63377        (WebCore::HTMLScriptRunner::requestDeferredScript):
63378        (WebCore::HTMLScriptRunner::runScript):
63379        * html/parser/HTMLScriptRunner.h:
63380        * loader/ImageDocument.cpp:
63381        (WebCore::ImageDocumentParser::finish):
63382
633832010-09-02  Andrey Kosyakov  <caseq@chromium.org>
63384
63385        Reviewed by Yury Semikhatsky.
63386
63387        Web Inspector: HAR converter fails on POST requests with non-form content type
63388        https://bugs.webkit.org/show_bug.cgi?id=45109
63389
63390        * inspector/front-end/HAREntry.js:
63391        (WebInspector.HAREntry.prototype._buildPostData):
63392
633932010-09-02  Andreas Kling  <andreas.kling@nokia.com>
63394
63395        Rubber-stamped by Simon Hausmann.
63396
63397        [Qt] REGRESSION(r62898): tst_QWebFrame crashing
63398        https://bugs.webkit.org/show_bug.cgi?id=43039
63399
63400        Rolling out the offending change <http://trac.webkit.org/changeset/62898>
63401
63402        * bridge/qt/qt_instance.cpp:
63403        (JSC::Bindings::QtInstance::markAggregate):
63404
634052010-09-02  Anton Muhin  <antonm@chromium.org>
63406
63407        Reviewed by Tony Chang.
63408
63409        Fix indentation.
63410        https://bugs.webkit.org/show_bug.cgi?id=44678
63411
63412        * bindings/scripts/CodeGeneratorV8.pm:
63413
634142010-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
63415
63416        Unreviewed, rolling out r66655.
63417        http://trac.webkit.org/changeset/66655
63418        https://bugs.webkit.org/show_bug.cgi?id=45104
63419
63420        broke some editing tests (Requested by kling on #webkit).
63421
63422        * page/DOMSelection.cpp:
63423        (WebCore::DOMSelection::collapse):
63424        (WebCore::DOMSelection::selectAllChildren):
63425
634262010-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
63427
63428        Unreviewed, rolling out r66649.
63429        http://trac.webkit.org/changeset/66649
63430        https://bugs.webkit.org/show_bug.cgi?id=45103
63431
63432        It broke ~2000 tests on Qt bot (Requested by Ossy on #webkit).
63433
63434        * dom/Document.cpp:
63435        (WebCore::Document::open):
63436        * dom/DocumentParser.cpp:
63437        (WebCore::DocumentParser::DocumentParser):
63438        (WebCore::DocumentParser::detach):
63439        * dom/DocumentParser.h:
63440        (WebCore::DocumentParser::isDetached):
63441        (WebCore::DocumentParser::stopParsing):
63442        * dom/RawDataDocumentParser.h:
63443        (WebCore::RawDataDocumentParser::finish):
63444        * dom/XMLDocumentParser.cpp:
63445        (WebCore::XMLDocumentParser::append):
63446        (WebCore::XMLDocumentParser::exitText):
63447        * dom/XMLDocumentParserLibxml2.cpp:
63448        (WebCore::XMLDocumentParser::doWrite):
63449        (WebCore::XMLDocumentParser::startElementNs):
63450        (WebCore::XMLDocumentParser::endElementNs):
63451        (WebCore::XMLDocumentParser::characters):
63452        (WebCore::XMLDocumentParser::error):
63453        (WebCore::XMLDocumentParser::processingInstruction):
63454        (WebCore::XMLDocumentParser::cdataBlock):
63455        (WebCore::XMLDocumentParser::comment):
63456        (WebCore::XMLDocumentParser::internalSubset):
63457        (WebCore::XMLDocumentParser::initializeParserContext):
63458        (WebCore::XMLDocumentParser::doEnd):
63459        * dom/XMLDocumentParserQt.cpp:
63460        (WebCore::XMLDocumentParser::initializeParserContext):
63461        (WebCore::XMLDocumentParser::doEnd):
63462        (WebCore::XMLDocumentParser::parse):
63463        * html/parser/HTMLDocumentParser.cpp:
63464        (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
63465        (WebCore::HTMLDocumentParser::pumpTokenizer):
63466        (WebCore::HTMLDocumentParser::insert):
63467        (WebCore::HTMLDocumentParser::append):
63468        (WebCore::HTMLDocumentParser::end):
63469        (WebCore::HTMLDocumentParser::attemptToEnd):
63470        (WebCore::HTMLDocumentParser::endIfDelayed):
63471        (WebCore::HTMLDocumentParser::notifyFinished):
63472        * html/parser/HTMLDocumentParser.h:
63473        * html/parser/HTMLScriptRunner.cpp:
63474        (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
63475        (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
63476        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
63477        (WebCore::HTMLScriptRunner::runScript):
63478        * html/parser/HTMLScriptRunner.h:
63479        * loader/ImageDocument.cpp:
63480        (WebCore::ImageDocumentParser::finish):
63481
634822010-09-02  Eric Seidel  <eric@webkit.org>
63483
63484        Reviewed by Dimitri Glazkov.
63485
63486        Share more code between HTMLObjectElement and HTMLEmbedElement
63487        https://bugs.webkit.org/show_bug.cgi?id=45054
63488
63489        This pushes more of HTMLObjectElement code down into
63490        HTMLPlugInImageElement so that it can be shared with
63491        HTMLEmbedElement.
63492
63493        The most notable changes are:
63494        - HTMLEmbedElement now "delays" updating the widget until
63495          all of its children are parsed (this matches HTMLObjectElement).
63496          However, since HTMLEmbedElement can't have children, this is actually
63497          no delay.
63498        - useFallbackContent is now virtual, allowing HTMLEmbedElement and
63499          HTMLObjectElement to share the same code paths, and the <embed>
63500          case to just always return false for useFallbackContent().
63501
63502        This is the final (fourth) part of this change.
63503
63504        No functional change, thus no tests.
63505
63506        * html/HTMLEmbedElement.cpp:
63507        * html/HTMLEmbedElement.h:
63508        * html/HTMLObjectElement.cpp:
63509        (WebCore::HTMLObjectElement::rendererIsNeeded):
63510        * html/HTMLObjectElement.h:
63511        * html/HTMLPlugInImageElement.cpp:
63512        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
63513        (WebCore::HTMLPlugInImageElement::recalcStyle):
63514        (WebCore::HTMLPlugInImageElement::attach):
63515        (WebCore::HTMLPlugInImageElement::detach):
63516        (WebCore::HTMLPlugInImageElement::finishParsingChildren):
63517        * html/HTMLPlugInImageElement.h:
63518
635192010-09-02  Adam Barth  <abarth@webkit.org>
63520
63521        Reviewed by Eric Seidel.
63522
63523        Move takeAllChildrenFrom to ContainerNode
63524        https://bugs.webkit.org/show_bug.cgi?id=45066
63525
63526        We're going to reuse this method for XMLDocumentLoader, so it's better
63527        to put it in a more general location.
63528
63529        * dom/ContainerNode.cpp:
63530        (WebCore::ContainerNode::takeAllChildrenFrom):
63531        * dom/ContainerNode.h:
63532        * html/parser/HTMLTreeBuilder.cpp:
63533        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
63534
635352010-09-01  Andreas Kling  <andreas.kling@nokia.com>
63536
63537        Reviewed by Darin Adler.
63538
63539        DOM Selection: collapse() and selectAllChildren() should throw WRONG_DOCUMENT_ERR if node belongs to other document
63540        https://bugs.webkit.org/show_bug.cgi?id=44595
63541
63542        Spec links:
63543        http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapse
63544        http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-selectallchildren
63545
63546        Test: fast/dom/Selection/wrong-document-err.html
63547
63548        * page/DOMSelection.cpp:
63549        (WebCore::DOMSelection::collapse):
63550        (WebCore::DOMSelection::selectAllChildren):
63551
635522010-09-02  Eric Seidel  <eric@webkit.org>
63553
63554        Reviewed by Dimitri Glazkov.
63555
63556        Share more code between HTMLObjectElement and HTMLEmbedElement
63557        https://bugs.webkit.org/show_bug.cgi?id=45054
63558
63559        This pushes more of HTMLObjectElement code down into
63560        HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.
63561
63562        This patch was originally written in one piece and reviewed by Dimitri.
63563        I'm landing it as four separate changes for easier readability and less
63564        chance of regression.
63565
63566        No functional change, thus no tests.
63567
63568        * html/HTMLEmbedElement.cpp:
63569        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
63570        (WebCore::HTMLEmbedElement::create):
63571        * html/HTMLEmbedElement.h:
63572        * html/HTMLObjectElement.cpp:
63573        (WebCore::HTMLObjectElement::HTMLObjectElement):
63574        * html/HTMLObjectElement.h:
63575        * html/HTMLPlugInImageElement.cpp:
63576        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
63577        (WebCore::HTMLPlugInImageElement::detach):
63578        (WebCore::HTMLPlugInImageElement::finishParsingChildren):
63579        * html/HTMLPlugInImageElement.h:
63580        * html/HTMLTagNames.in:
63581
635822010-09-02  Eric Seidel  <eric@webkit.org>
63583
63584        Reviewed by Dimitri Glazkov.
63585
63586        Share more code between HTMLObjectElement and HTMLEmbedElement
63587        https://bugs.webkit.org/show_bug.cgi?id=45054
63588
63589        This pushes more of HTMLObjectElement code down into
63590        HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.
63591
63592        I also moved a little code from HTMLPluginElement to HTMLPlugInImageElement
63593        since HTMLAppletElement does not need to share this same widget update logic.
63594        This is a small correction from the previous change.
63595
63596        This patch was originally written in one piece and reviewed by Dimitri.
63597        I'm landing it as three separate changes for easier readability and less
63598        chance of regression.
63599
63600        No functional change, thus no tests.
63601
63602        * html/HTMLEmbedElement.cpp:
63603        * html/HTMLEmbedElement.h:
63604        * html/HTMLObjectElement.cpp:
63605        (WebCore::HTMLObjectElement::attach):
63606        (WebCore::HTMLObjectElement::finishParsingChildren):
63607        (WebCore::HTMLObjectElement::detach):
63608        (WebCore::HTMLObjectElement::recalcStyle):
63609        (WebCore::HTMLObjectElement::childrenChanged):
63610        (WebCore::HTMLObjectElement::renderFallbackContent):
63611        * html/HTMLObjectElement.h:
63612        (WebCore::HTMLObjectElement::useFallbackContent):
63613        * html/HTMLPlugInElement.cpp:
63614        * html/HTMLPlugInElement.h:
63615        * html/HTMLPlugInImageElement.cpp:
63616        (WebCore::HTMLPlugInImageElement::createRenderer):
63617        (WebCore::HTMLPlugInImageElement::updateWidget):
63618        (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
63619        * html/HTMLPlugInImageElement.h:
63620        (WebCore::HTMLPlugInImageElement::canLazyAttach):
63621        (WebCore::HTMLPlugInImageElement::useFallbackContent):
63622
636232010-09-02  Jer Noble  <jer.noble@apple.com>
63624
63625        Reviewed by Darin Adler.
63626
63627        WebKit should not accept PDFs as video.
63628        https://bugs.webkit.org/show_bug.cgi?id=45013
63629
63630        The code in MediaPlayerPrivate::createQTMovie has been re-arranged.
63631        First, the component disabling is done only once. In 64-bit QTKit will
63632        store the list of disabled components and disable them once QTKitServer
63633        starts, so there is no need to disable them repeatedly.  However,
63634        because of a bug in 64-bit QTKit, additional requests of the exact same
63635        component description will be ignored if QTKitServer is not yet running.
63636        To work around this, we must provide the exact component flags for each
63637        eat/PDF and grip/PDF component we wish to disable.
63638
63639        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
63640        (WebCore::disableComponentsOnce): Added.
63641        (WebCore::MediaPlayerPrivate::createQTMovie): Moved the component
63642            disabling code into disableComponentsOnce.
63643
636442010-09-02  Philippe Normand  <pnormand@igalia.com>
63645
63646        Unreviewed, GTK build fix.
63647
63648        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
63649        (WebCore::GStreamerGWorld::enterFullscreen):
63650
636512010-09-02  Eric Seidel  <eric@webkit.org>
63652
63653        Reviewed by Dimitri Glazkov.
63654
63655        Share more code between HTMLObjectElement and HTMLEmbedElement
63656        https://bugs.webkit.org/show_bug.cgi?id=45054
63657
63658        This pushes more of HTMLObjectElement code down into
63659        HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.
63660
63661        I also moved a little code from HTMLPluginElement to HTMLPlugInImageElement
63662        since HTMLAppletElement does not need to share this same widget update logic.
63663        This is a small correction from the previous change.
63664
63665        This patch was originally written in one piece and reviewed by Dimitri.
63666        I'm landing it as two separate changes for easier readability and less
63667        chance of regression.
63668
63669        No functional change, thus no tests.
63670
63671        * html/HTMLEmbedElement.cpp:
63672        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
63673        (WebCore::HTMLEmbedElement::mapToEntry):
63674        (WebCore::HTMLEmbedElement::parseMappedAttribute):
63675        (WebCore::HTMLEmbedElement::rendererIsNeeded):
63676        (WebCore::HTMLEmbedElement::attach):
63677        (WebCore::HTMLEmbedElement::updateWidget):
63678        (WebCore::HTMLEmbedElement::insertedIntoDocument):
63679        (WebCore::HTMLEmbedElement::removedFromDocument):
63680        (WebCore::HTMLEmbedElement::attributeChanged):
63681        * html/HTMLEmbedElement.h:
63682        * html/HTMLObjectElement.cpp:
63683        (WebCore::HTMLObjectElement::HTMLObjectElement):
63684        (WebCore::HTMLObjectElement::parseMappedAttribute):
63685        (WebCore::HTMLObjectElement::rendererIsNeeded):
63686        (WebCore::HTMLObjectElement::attach):
63687        (WebCore::HTMLObjectElement::updateWidget):
63688        (WebCore::HTMLObjectElement::finishParsingChildren):
63689        (WebCore::HTMLObjectElement::detach):
63690        (WebCore::HTMLObjectElement::insertedIntoDocument):
63691        (WebCore::HTMLObjectElement::removedFromDocument):
63692        (WebCore::HTMLObjectElement::recalcStyle):
63693        (WebCore::HTMLObjectElement::childrenChanged):
63694        (WebCore::HTMLObjectElement::renderFallbackContent):
63695        * html/HTMLObjectElement.h:
63696        * html/HTMLPlugInElement.cpp:
63697        * html/HTMLPlugInElement.h:
63698        * html/HTMLPlugInImageElement.cpp:
63699        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
63700        (WebCore::HTMLPlugInImageElement::renderEmbeddedObject):
63701        * html/HTMLPlugInImageElement.h:
63702        (WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
63703        (WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
63704        * loader/SubframeLoader.cpp:
63705        (WebCore::SubframeLoader::requestObject):
63706        (WebCore::SubframeLoader::loadPlugin):
63707        * loader/SubframeLoader.h:
63708        * rendering/RenderEmbeddedObject.cpp:
63709        (WebCore::updateWidgetForObjectElement):
63710        (WebCore::updateWidgetForEmbedElement):
63711
637122010-09-02  Tony Gentilcore  <tonyg@chromium.org>
63713
63714        Reviewed by Adam Barth.
63715
63716        Support <script defer> as specified by HTML5
63717        https://bugs.webkit.org/show_bug.cgi?id=40934
63718
63719        Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
63720               fast/dom/HTMLScriptElement/defer-double-write.html
63721               fast/dom/HTMLScriptElement/defer-inline-script.html
63722               fast/dom/HTMLScriptElement/defer-onbeforeload.html
63723               fast/dom/HTMLScriptElement/defer-script-invalid-url.html
63724               fast/dom/HTMLScriptElement/defer-write.html
63725               fast/dom/HTMLScriptElement/two-defer-writes.html
63726               http/tests/misc/script-defer-after-slow-stylesheet.html
63727               http/tests/misc/script-defer.html
63728
63729        * dom/Document.cpp:
63730        (WebCore::Document::open): Allow implicit open for writes() while executing deferred scripts.
63731        * dom/DocumentParser.cpp:
63732        (WebCore::DocumentParser::DocumentParser):
63733        (WebCore::DocumentParser::startParsing):
63734        (WebCore::DocumentParser::prepareToStopParsing): If called when stopped or detached, it shouldn't reset to stopping.
63735        (WebCore::DocumentParser::stopParsing):
63736        (WebCore::DocumentParser::detach):
63737        * dom/DocumentParser.h:
63738        (WebCore::DocumentParser::isParsing):
63739        (WebCore::DocumentParser::isActive):
63740        (WebCore::DocumentParser::isStopping):
63741        (WebCore::DocumentParser::isDetached):
63742        * dom/RawDataDocumentParser.h:
63743        (WebCore::RawDataDocumentParser::finish):
63744        * dom/XMLDocumentParser.cpp:
63745        (WebCore::XMLDocumentParser::append):
63746        (WebCore::XMLDocumentParser::exitText):
63747        * dom/XMLDocumentParserLibxml2.cpp:
63748        (WebCore::XMLDocumentParser::doWrite):
63749        (WebCore::XMLDocumentParser::startElementNs):
63750        (WebCore::XMLDocumentParser::endElementNs):
63751        (WebCore::XMLDocumentParser::characters):
63752        (WebCore::XMLDocumentParser::error):
63753        (WebCore::XMLDocumentParser::processingInstruction):
63754        (WebCore::XMLDocumentParser::cdataBlock):
63755        (WebCore::XMLDocumentParser::comment):
63756        (WebCore::XMLDocumentParser::internalSubset):
63757        (WebCore::XMLDocumentParser::initializeParserContext):
63758        (WebCore::XMLDocumentParser::doEnd):
63759        * html/parser/HTMLDocumentParser.cpp:
63760        (WebCore::HTMLDocumentParser::prepareToStopParsing):
63761        (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
63762        (WebCore::HTMLDocumentParser::pumpTokenizer):
63763        (WebCore::HTMLDocumentParser::insert):
63764        (WebCore::HTMLDocumentParser::append):
63765        (WebCore::HTMLDocumentParser::end):
63766        (WebCore::HTMLDocumentParser::attemptToEnd):
63767        (WebCore::HTMLDocumentParser::endIfDelayed):
63768        (WebCore::HTMLDocumentParser::notifyFinished):
63769        * html/parser/HTMLDocumentParser.h:
63770        * html/parser/HTMLScriptRunner.cpp:
63771        (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
63772        (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
63773        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
63774        (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
63775        (WebCore::HTMLScriptRunner::requestDeferredScript):
63776        (WebCore::HTMLScriptRunner::runScript):
63777        * html/parser/HTMLScriptRunner.h:
63778        * loader/ImageDocument.cpp:
63779        (WebCore::ImageDocumentParser::finish):
63780
637812010-09-02  Ilya Sherman  <isherman@google.com>
63782
63783        Reviewed by Eric Seidel.
63784
63785        Decompose computing an element's inherited language, expose this
63786        capability to clients (in particular, for Chromium).
63787        https://bugs.webkit.org/show_bug.cgi?id=44803
63788
63789        No new tests -- just refactoring + exposing code.
63790
63791        * css/CSSStyleSelector.cpp:
63792        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
63793        * dom/Element.cpp:
63794        (WebCore::Element::computeInheritedLang):
63795        * dom/Element.h:
63796
637972010-08-31  Philippe Normand  <pnormand@igalia.com>
63798
63799        Reviewed by Eric Carlson.
63800
63801        [GStreamer] can't play m4v videos
63802        https://bugs.webkit.org/show_bug.cgi?id=44951
63803
63804        Fixed registration of the m4v media type in the hashtable used by
63805        the player to report if it supports a given media type.
63806
63807        Test: media/media-can-play-mpeg4-video.html
63808
63809        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
63810        (WebCore::mimeTypeCache):
63811
638122010-09-01  Philippe Normand  <pnormand@igalia.com>
63813
63814        Reviewed by Martin Robinson.
63815
63816        [GTK] warning: unused variable "queryResult"
63817        https://bugs.webkit.org/show_bug.cgi?id=44998
63818
63819        Fix the misbehavior introduced in r66573. The gst_element_query()
63820        call needs to be done whatever the GStreamer version used.
63821
63822        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
63823        (WebCore::GStreamerGWorld::enterFullscreen):
63824
638252010-09-01  Jia Pu  <jpu@apple.com>
63826
63827        Reviewed by Dan Bernstein.
63828
63829        Add support for autocorrection UI on Mac OS X.
63830        https://bugs.webkit.org/show_bug.cgi?id=44958
63831        <rdar://problem/7326847>
63832
63833        Several new member methods are added to EditorClient for communication
63834        between WebCore and WebKit. A new handler, executeCancelOperation(), is
63835        added to EditorCommand.cpp so that WebCore can intercept the ESC key event
63836        to dismiss autocorrection UI. A new DocumentMarker value, RejectedCorrection,
63837        is added to keep track of the corrections that user has rejected, so that it
63838        will not be suggested again later. The autocorrection is driven by a timer.
63839        Every time the editor inserts a new letter, the timer is reset. If the timer
63840        fires, it means neither has user entered any new letter for current word, nor
63841        has he entered whitespace or punctuation to complete the word. In this case,
63842        we query for autocorrection.
63843
63844        * WebCore.exp.in: Updated
63845
63846        * dom/DocumentMarker.h: Added RejectedCorrection to indicate word on which user
63847          has rejected autocorrection.
63848
63849        * editing/Editor.cpp:
63850        (WebCore::Editor::Editor): Initialize autocorrection timer.
63851        (WebCore::Editor::~Editor): Make sure autocorrection UI is dismissed before
63852          destroying Editor object.
63853        (WebCore::Editor::markMisspellingsAfterTypingToPosition): Adopted new signature
63854          of markAllMisspellingsAndBadGrammarInRanges().
63855        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Consolidated all
63856          boolean arguments into one bitfield. This improves readability and allows us to
63857          pass in a bit to indicate whether we want to show autocorrection UI. Also added
63858          code to show autocorrection UI if it is necessary.
63859        (WebCore::Editor::markMisspellingsAndBadGrammar): Adopted new signature of
63860          markAllMisspellingsAndBadGrammarInRanges().
63861        (WebCore::Editor::correctionPanelTimerFired): Check to see if we should show
63862          autocorrection UI when user pauses during typing.
63863        (WebCore::Editor::handleRejectedCorrection): Update user dictionary when an autocorrection is rejected.
63864        (WebCore::Editor::startCorrectionPanelTimer): Start autocorrection timer.
63865        (WebCore::Editor::handleCancelOperation): Dismiss autocorrection UI when ESC key is pressed.
63866
63867        * editing/Editor.h: Added autocorrection related member methods and variables.
63868
63869        * editing/EditorCommand.cpp:
63870        (WebCore::executeCancelOperation): Handle ESC key event. Dismiss autocorrection UI.
63871        (WebCore::createCommandMap): Updated for executeCancelOperation().
63872
63873        * editing/TypingCommand.cpp:
63874        (WebCore::TypingCommand::markMisspellingsAfterTyping): Reset autocorrection timer after insertion.
63875
63876        * loader/EmptyClients.h:
63877        (WebCore::EmptyEditorClient::showCorrectionPanel): Dummy implementation.
63878        (WebCore::EmptyEditorClient::dismissCorrectionPanel): Ditto
63879
63880        * page/EditorClient.h: Added methods for communication between WebCore and WebKit regarding autocorrection.
63881
63882        * page/Frame.cpp:
63883        (WebCore::Frame::respondToChangedSelection): Remove Replacement marker where we used to only remove Spelling
63884          mark, because whenever we need to remove spelling underline we also should remove autocorrection underline.
63885
63886        * platform/graphics/GraphicsContext.h: Added enum TextCheckingLineStyle to specify the underline
63887          for different type of text checking result. Replaced drawLineForMisspellingOrBadGrammar() with
63888          drawLineForTextChecking(), which allows autocorrection to have different indication from misspelling
63889          and grammatical error.
63890
63891        * platform/graphics/cairo/GraphicsContextCairo.cpp:
63892        (WebCore::GraphicsContext::drawLineForTextChecking): Replaced drawLineForMisspellingOrBadGrammar() with drawLineForTextChecking().
63893
63894        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
63895        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63896
63897        * platform/graphics/mac/GraphicsContextMac.mm:
63898        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63899
63900        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
63901        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63902
63903        * platform/graphics/qt/GraphicsContextQt.cpp:
63904        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63905
63906        * platform/graphics/skia/GraphicsContextSkia.cpp:
63907        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63908
63909        * platform/graphics/win/GraphicsContextCGWin.cpp:
63910        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63911
63912        * platform/graphics/wince/GraphicsContextWince.cpp:
63913        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63914
63915        * platform/graphics/wx/GraphicsContextWx.cpp:
63916        (WebCore::GraphicsContext::drawLineForTextChecking): Ditto
63917
63918        * rendering/InlineTextBox.cpp:
63919        (WebCore::textCheckingLineStyleForMarkerType): Return line style for a given document marker type.
63920        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):  Replaced drawLineForMisspellingOrBadGrammar() with drawLineForTextChecking().
63921        (WebCore::InlineTextBox::paintDocumentMarkers): Handle new marker value, RejectedCorrection.
63922
639232010-09-01  Kinuko Yasuda  <kinuko@google.com>
63924
63925        Reviewed by Adam Barth.
63926
63927        [V8] Support readonly Date attribute
63928        https://bugs.webkit.org/show_bug.cgi?id=43943
63929
63930        Adds Date to non_wrapper_types in CodeGeneratorV8.pm.
63931
63932        New tests will be added for Metadata when we add FileSystem implementation.
63933
63934        * bindings/scripts/CodeGeneratorV8.pm:
63935        * fileapi/Metadata.h:
63936        * fileapi/Metadata.idl:
63937
639382010-09-01  Mihai Parparita  <mihaip@chromium.org>
63939
63940        Reviewed by Chris Marrin.
63941
63942        animations/suspend-resume-animation.html does not pass when accelerated compositing is off
63943        https://bugs.webkit.org/show_bug.cgi?id=45057
63944
63945        Fix incorrect logic when resuming the animation (KeyframeAnimation::startAnimation
63946        and RenderLayerBacking::startAnimation return true when running an accelerated
63947        animation).
63948
63949        * page/animation/AnimationBase.cpp:
63950        (WebCore::AnimationBase::updateStateMachine):
63951
639522010-09-01  Eric Carlson  <eric.carlson@apple.com>
63953
63954        Reviewed by Darin Adler.
63955
63956        Question mark QuickTime icon when navigating to this MP3 file
63957        https://bugs.webkit.org/show_bug.cgi?id=44846
63958
63959        Do not disable 'tmet' movie tracks, they carry meta data.
63960
63961        No DRT test because I am not sure it is possible to have one of these tracks in 
63962        non-streaming movie. I will add a test later if I figure out how to create a movie.
63963
63964        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
63965        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
63966
639672010-09-01  Eric Seidel  <eric@webkit.org>
63968
63969        Reviewed by Dimitri Glazkov.
63970
63971        Remove rendering types from SubframeLoader and split RenderEmbeddedObject::updateWidget in preparation for moving to DOM
63972        https://bugs.webkit.org/show_bug.cgi?id=45007
63973
63974        This is just moving around code (and attempting to make it more sane).
63975        I also tried to use more specific types where possible.
63976        The SubframeLoader no longer uses any rendering types in its API.
63977
63978        I split RenderEmbeddedObject::updateWidget into a bunch of functions.
63979        It was obvious before, but now super-obvious after the split that these
63980        new functions do not belong in RenderEmbeddedObject.  Instead they
63981        need to be moved to their respective DOM classes.  I've added FIXMEs
63982        next to each of the functions which should be moved, but I've not moved
63983        any of the logic out of RenderEmbeddedObject.cpp yet in an effort to
63984        keep this patch as simple as possible.
63985
63986        No functional change, thus no tests.
63987
63988        * html/HTMLEmbedElement.cpp:
63989        (WebCore::HTMLEmbedElement::updateWidget):
63990        * html/HTMLFrameElementBase.cpp:
63991        (WebCore::HTMLFrameElementBase::attach):
63992        (WebCore::HTMLFrameElementBase::width):
63993        (WebCore::HTMLFrameElementBase::height):
63994        * html/HTMLFrameOwnerElement.cpp:
63995        (WebCore::HTMLFrameOwnerElement::renderPart):
63996        * html/HTMLFrameOwnerElement.h:
63997        * html/HTMLObjectElement.cpp:
63998        (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
63999        (WebCore::HTMLObjectElement::createRenderer):
64000        (WebCore::HTMLObjectElement::updateWidget):
64001        * html/HTMLPlugInElement.cpp:
64002        (WebCore::HTMLPlugInElement::renderEmbeddedObject):
64003        * html/HTMLPlugInElement.h:
64004        * loader/PluginDocument.cpp:
64005        (WebCore::PluginDocumentParser::appendBytes):
64006        * loader/SubframeLoader.cpp:
64007        (WebCore::SubframeLoader::requestObject):
64008        (WebCore::SubframeLoader::document):
64009        (WebCore::SubframeLoader::loadPlugin):
64010        * loader/SubframeLoader.h:
64011        * rendering/RenderEmbeddedObject.cpp:
64012        (WebCore::isNetscapePlugin):
64013        (WebCore::hasFallbackContent):
64014        (WebCore::parametersFromObject):
64015        (WebCore::updateWidgetForObjectElement):
64016        (WebCore::parametersFromEmbed):
64017        (WebCore::updateWidgetForEmbedElement):
64018        (WebCore::updateWidgetForMediaElement):
64019        (WebCore::RenderEmbeddedObject::updateWidget):
64020        * rendering/RenderEmbeddedObject.h:
64021        (WebCore::RenderEmbeddedObject::setHasFallbackContent):
64022        * rendering/RenderLayerCompositor.h:
64023
640242010-09-01  Kinuko Yasuda  <kinuko@chromium.org>
64025
64026        Reviewed by Jian Li.
64027
64028        Add more FileError and FileException code for FileWriter and FileSystem API
64029        https://bugs.webkit.org/show_bug.cgi?id=45048
64030
64031        Adding SYNTAX_ERR for FileWriter.
64032        http://dev.w3.org/2009/dap/file-system/file-writer.html
64033
64034        Adding INVALID_STATE_ERR, INVALID_MODIFICATION_ERR and QUOTA_EXCEEDED_ERR for FileSystem.
64035        http://dev.w3.org/2009/dap/file-system/file-dir-sys.html
64036
64037        Adding NO_MODIFICATION_ALLOWED_ERR (to FileException) for both.
64038
64039        * fileapi/FileError.idl:
64040        * fileapi/FileException.idl:
64041
640422010-09-01  Mihai Parparita  <mihaip@chromium.org>
64043
64044        Reviewed by Brady Eidson.
64045
64046        popstate event is not fired until document opts in by calling pushstate.
64047        https://bugs.webkit.org/show_bug.cgi?id=41372
64048
64049        Fire popstate even when we don't have a state object when a page is 
64050        loaded (for both regular loads and those from the page cache). Also
64051        fire popstate when doing in-document navigation via fragment changes.
64052        This is consistent with both Gecko and recent the HTML5 spec change:
64053        http://html5.org/tools/web-apps-tracker?from=5376&to=5377
64054
64055        Tests: fast/loader/stateobjects/popstate-fires-on-history-traversal.html
64056               fast/loader/stateobjects/popstate-fires-with-page-cache.html
64057
64058        * bindings/js/SerializedScriptValue.cpp:
64059        * bindings/js/SerializedScriptValue.h:
64060        (WebCore::SerializedScriptValue::create):
64061        * bindings/v8/SerializedScriptValue.cpp:
64062        * bindings/v8/SerializedScriptValue.h:
64063        * dom/Document.cpp:
64064        (WebCore::Document::implicitClose):
64065        * dom/Document.h:
64066        * history/CachedFrame.cpp:
64067        (WebCore::CachedFrameBase::restore):
64068        * loader/FrameLoader.cpp:
64069        (WebCore::FrameLoader::loadInSameDocument):
64070        (WebCore::FrameLoader::transitionToCommitted):
64071        * loader/HistoryController.cpp:
64072        (WebCore::HistoryController::pushState):
64073        (WebCore::HistoryController::replaceState):
64074
640752010-09-01  Ryosuke Niwa  <rniwa@webkit.org>
64076
64077        Reviewed by Dimitri Glazkov.
64078
64079        REGRESSION(r66431): WebCore::Editor::selectionStartCSSPropertyValue crashes if no background color is specified
64080        https://bugs.webkit.org/show_bug.cgi?id=45068
64081
64082        The crash was caused by the assumption that every node has an ancestor with some background color,
64083        which was obviously false. Fixed this by adding a null for ancestor.
64084
64085        Test: editing/execCommand/backcolor-crash.html
64086
64087        * editing/Editor.cpp:
64088        (WebCore::Editor::selectionStartCSSPropertyValue):
64089
640902010-08-31  Jer Noble  <jer.noble@apple.com>
64091
64092        Reviewed by Darin Adler.
64093
64094        WebKit should not accept PDFs as video.
64095        https://bugs.webkit.org/show_bug.cgi?id=45013
64096        
64097        QuickTime will accept a PDF as the source for a movie, and happily
64098        convert that PDF into a .mov.  WebKit should disable the eat and grip
64099        PDF components which allow this.
64100
64101        Test: http/tests/media/pdf-served-as-pdf.html
64102
64103        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
64104        (WebCore::MediaPlayerPrivate::createQTMovie): Add PDF eat and grip
64105        components to the components which are disabled before opening a 
64106        QTMovie.
64107
641082010-09-01  Rob Buis  <rwlbuis@gmail.com>
64109
64110        Reviewed by Darin Adler.
64111
64112        Support for Percentage Values in border-radius
64113        https://bugs.webkit.org/show_bug.cgi?id=38354
64114
64115        Support percentage values on the border-radius family
64116        of CSS properties.
64117
64118        * css/CSSComputedStyleDeclaration.cpp:
64119        (WebCore::getBorderRadiusCornerValue):
64120        * css/CSSParser.cpp:
64121        (WebCore::CSSParser::parseValue):
64122        (WebCore::CSSParser::parseBorderRadius):
64123        * css/CSSPrimitiveValue.cpp:
64124        * css/CSSStyleSelector.cpp:
64125        (WebCore::CSSStyleSelector::applyProperty):
64126        * page/animation/AnimationBase.cpp:
64127        (WebCore::AnimationBase::ensurePropertyMap):
64128        * platform/Length.h:
64129        * rendering/RenderObject.cpp:
64130        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
64131        * rendering/style/BorderData.h:
64132        (WebCore::BorderData::BorderData):
64133        (WebCore::BorderData::hasBorderRadius):
64134        (WebCore::BorderData::topLeft):
64135        (WebCore::BorderData::topRight):
64136        (WebCore::BorderData::bottomLeft):
64137        (WebCore::BorderData::bottomRight):
64138        * rendering/style/RenderStyle.cpp:
64139        (WebCore::RenderStyle::getBorderRadiiForRect):
64140        (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
64141        * rendering/style/RenderStyle.h:
64142        (WebCore::InheritedFlags::borderTopLeftRadius):
64143        (WebCore::InheritedFlags::borderTopRightRadius):
64144        (WebCore::InheritedFlags::borderBottomLeftRadius):
64145        (WebCore::InheritedFlags::borderBottomRightRadius):
64146        (WebCore::InheritedFlags::setBorderTopLeftRadius):
64147        (WebCore::InheritedFlags::setBorderTopRightRadius):
64148        (WebCore::InheritedFlags::setBorderBottomLeftRadius):
64149        (WebCore::InheritedFlags::setBorderBottomRightRadius):
64150        (WebCore::InheritedFlags::setBorderRadius):
64151        (WebCore::InheritedFlags::initialBorderRadius):
64152
641532010-09-01  Andrey Kosyakov  <caseq@chromium.org>
64154
64155        Reviewed by Yury Semikhatsky.
64156
64157        Web Inspector: webInspector.inspectedWindow.evaluate() should not fail if not passed callback.
64158        https://bugs.webkit.org/show_bug.cgi?id=45037
64159
64160        * inspector/front-end/ExtensionAPI.js:
64161        (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.evaluate):
64162
641632010-09-01  Dave Hyatt  <hyatt@apple.com>
64164
64165        Reviewed by Dan Bernstein and Simon Fraser.
64166
64167        https://bugs.webkit.org/show_bug.cgi?id=44963, overhanging floats aren't positioned properly when they occur
64168        in multi-column layout.  Don't let floats overhang in multi-column blocks, since they are part of the column layout.
64169        
64170        fast/multicol/float-pagination-failure now succeeds, so will rename and move it.
64171
64172        * rendering/RenderBlock.cpp:
64173        (WebCore::RenderBlock::addOverhangingFloats):
64174
641752010-08-31  Kenneth Russell  <kbr@google.com>
64176
64177        Reviewed by Simon Fraser.
64178
64179        Add helpers to FloatRect to compute bounding box from points
64180        https://bugs.webkit.org/show_bug.cgi?id=45015
64181
64182        Added fitToPoints, including a few overloaded variants for the
64183        cases of two, three and four points. I opted not to add a
64184        generalized version taking const FloatRect* or Vector<FloatRect>
64185        at the present time because for my own purposes they are
64186        unnecessary, and the specific versions can be more tightly coded.
64187        Also added left() and top() for symmetry with right() and bottom().
64188        These changes have been tested with new code to be added later.
64189
64190        * platform/graphics/FloatRect.cpp:
64191        (WebCore::FloatRect::intersect):
64192        (WebCore::FloatRect::unite):
64193        (WebCore::FloatRect::fitToPoints):
64194        * platform/graphics/FloatRect.h:
64195        (WebCore::FloatRect::left):
64196        (WebCore::FloatRect::top):
64197        (WebCore::FloatRect::setLocationAndSizeFromEdges):
64198
641992010-09-01  Anton Muhin  <antonm@chromium.org>
64200
64201        Reviewed by Dimitri Glazkov.
64202
64203        [v8] Use Vector and DEFINE_STATIC_LOCAL instead of plain static array.
64204        https://bugs.webkit.org/show_bug.cgi?id=45040
64205
64206        By code guidelines all the statics should be wrapped into appropriate macro.
64207
64208        * bindings/v8/V8Binding.cpp:
64209        (WebCore::int32ToWebCoreString):
64210
642112010-09-01  Alejandro G. Castro  <alex@igalia.com>
64212
64213        Reviewed by Martin Robinson.
64214
64215        [Gtk] very slow page scrolling on big -webkit-box-shadow areas
64216        https://bugs.webkit.org/show_bug.cgi?id=39582
64217
64218        Add a new drawTiledShadow method to render a big shadow doing
64219        tiling of parts of a smaller shadow. We create the minimum shadow
64220        required to get the tiles we will use to render the real shadow
64221        and we use drawPattern with those tiles to create the shadow.
64222
64223        * platform/graphics/GraphicsContext.h:
64224        * platform/graphics/cairo/FontCairo.cpp:
64225        (WebCore::Font::drawGlyphs):
64226        * platform/graphics/cairo/GraphicsContextCairo.cpp:
64227        (WebCore::drawPathShadow):
64228        (WebCore::drawBorderlessRectShadow):
64229        (WebCore::GraphicsContext::fillRect):
64230        (WebCore::GraphicsContext::applyPlatformShadow):
64231        (WebCore::GraphicsContext::createShadowMask):
64232        (WebCore::getPhase):
64233        (WebCore::GraphicsContext::drawTiledShadow):
64234        (WebCore::GraphicsContext::fillRoundedRect):
64235        * platform/graphics/cairo/ImageCairo.cpp:
64236        (WebCore::BitmapImage::draw):
64237
642382010-09-01  Andrey Kosyakov  <caseq@chromium.org>
64239
64240        Reviewed by Yury Semikhatsky.
64241
64242        Web Inspector, Extension API: Panel.onSelectionChanged event is never fired
64243        Added command line API to the lexical context of code evaluated by webInspector.inspectedWindow.evaluate()
64244        Fixed webInspector.inspectedWindow.evaluate() to return object rather than its stringified representation
64245        https://bugs.webkit.org/show_bug.cgi?id=44957
64246
64247        Test: inspector/extensions-eval.html
64248
64249        * inspector/front-end/ExtensionAPI.js:
64250        (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.evaluate):
64251        * inspector/front-end/ExtensionServer.js:
64252        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
64253
642542010-08-27  Philippe Normand  <pnormand@igalia.com>
64255
64256        Reviewed by Xan Lopez.
64257
64258        [GStreamer] ImageGStreamer doesn't need to hold a Cairo surface
64259        https://bugs.webkit.org/show_bug.cgi?id=44757
64260
64261        Pass the cairo surface to the BitmapImage constructor which will
64262        handle its life-cycle.
64263
64264        * platform/graphics/gstreamer/ImageGStreamer.h:
64265        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
64266        (ImageGStreamer::ImageGStreamer):
64267        (ImageGStreamer::~ImageGStreamer):
64268
642692010-08-30  Patrick Gansterer  <paroga@paroga.com>
64270
64271         Reviewed by Dirk Schulze.
64272
64273         RenderImage::imageChanged invalidates wrong area
64274         https://bugs.webkit.org/show_bug.cgi?id=43779
64275
64276         Remove RenderImage inheritance from RenderSVGImage, it now inherits from RenderSVGModelObject.
64277
64278         * rendering/RenderSVGImage.cpp:
64279         (WebCore::RenderSVGImage::RenderSVGImage):
64280         (WebCore::RenderSVGImage::~RenderSVGImage):
64281         (WebCore::RenderSVGImage::layout):
64282         (WebCore::RenderSVGImage::paint):
64283         (WebCore::RenderSVGImage::imageChanged):
64284         * rendering/RenderSVGImage.h:
64285         (WebCore::RenderSVGImage::imageResource):
64286         * rendering/RenderSVGModelObject.h:
64287         * svg/SVGImageElement.cpp:
64288
642892010-09-01  Nikolas Zimmermann  <nzimmermann@rim.com>
64290
64291        Reviewed by Dirk Schulze.
64292
64293        Add culling to RenderSVGContainer
64294        https://bugs.webkit.org/show_bug.cgi?id=44896
64295
64296        Cache object/strokeBoundingBox and repaintRectInLocalCoordinates() in RenderSVGContainer & RenderSVGRoot, just like it's done in RenderPath.
64297        Propagate boundary changes up the render tree, in layout phase, in order to notify parents that they should update their cached boundaries.
64298
64299        This is a huge speed benefit when interacting with an already layouted document, as there's no need anymore to traverse all children
64300        of any container or <svg> element, just to retrieve the repaint rect.
64301
64302        * rendering/RenderForeignObject.cpp:
64303        (WebCore::RenderForeignObject::layout): Propagate boundary changes to parent, if neeeded.
64304        * rendering/RenderObject.cpp:
64305        (WebCore::RenderObject::setNeedsBoundariesUpdate): Ditto.
64306        * rendering/RenderObject.h:
64307        * rendering/RenderObjectChildList.cpp:
64308        (WebCore::RenderObjectChildList::removeChildNode): Ditto.
64309        * rendering/RenderPath.cpp:
64310        (WebCore::RenderPath::layout): Ditto.
64311        (WebCore::RenderPath::paint): Use new helper function to intersect the paintInfo.rect with the repaintRectInLocalCoordinates().
64312        * rendering/RenderPath.h: Remove styleWillChange(), it's in RenderSVGModelObject now.
64313        (WebCore::RenderPath::setNeedsBoundariesUpdate): Mark as virtual, just like in RenderObject.
64314        * rendering/RenderSVGContainer.cpp:
64315        (WebCore::RenderSVGContainer::RenderSVGContainer): Initialize m_needsBoundariesUpdate to true.
64316        (WebCore::RenderSVGContainer::layout): Only update cached boundaries, if needed, once by traversing the child tree.
64317        (WebCore::RenderSVGContainer::paint): Use new helper function to intersect the paintInfo.rect with the repaintRectInLocalCoordinates().
64318        (WebCore::RenderSVGContainer::updateCachedBoundaries): Ask children for their boundaries, and cache them.
64319        * rendering/RenderSVGContainer.h:
64320        (WebCore::RenderSVGContainer::setNeedsBoundariesUpdate): Set m_needsBoundariesUpdate when called.
64321        (WebCore::RenderSVGContainer::objectBoundingBox): Inlined, just returns a member variable now.
64322        (WebCore::RenderSVGContainer::strokeBoundingBox): Ditto.
64323        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Ditto.
64324        (WebCore::RenderSVGContainer::calculateLocalTransform): Changed to return a boolean, wheter the transform was modified.
64325        * rendering/RenderSVGGradientStop.h:
64326        (WebCore::RenderSVGGradientStop::strokeBoundingBox): Add missing default implementation, return just FloatRect().
64327        * rendering/RenderSVGHiddenContainer.cpp: Remove repaintRectInLocalCoordinates() override, it's now needed for painting markers.
64328        * rendering/RenderSVGHiddenContainer.h:
64329        (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint): Inlined, returning IntRect().
64330        * rendering/RenderSVGImage.cpp:
64331        (WebCore::RenderSVGImage::layout): Propagate boundary changes to parent, if neeeded.
64332        * rendering/RenderSVGRoot.cpp: Cache boundaries here as well, just like in RenderSVGContainer.
64333        (WebCore::RenderSVGRoot::RenderSVGRoot):
64334        (WebCore::RenderSVGRoot::layout):
64335        (WebCore::RenderSVGRoot::updateCachedBoundaries):
64336        * rendering/RenderSVGRoot.h:
64337        (WebCore::RenderSVGRoot::setNeedsBoundariesUpdate):
64338        (WebCore::RenderSVGRoot::setNeedsTransformUpdate):
64339        (WebCore::RenderSVGRoot::objectBoundingBox):
64340        (WebCore::RenderSVGRoot::strokeBoundingBox):
64341        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
64342        * rendering/RenderSVGText.cpp:
64343        (WebCore::RenderSVGText::layout): Propagate boundary changes to parent, if neeeded.
64344        * rendering/RenderSVGTransformableContainer.cpp:
64345        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Return true, if the localTransform changed.
64346        * rendering/RenderSVGTransformableContainer.h:
64347        * rendering/RenderSVGViewportContainer.cpp:
64348        (WebCore::RenderSVGViewportContainer::calcViewport): Propagate boundary changes to parent, if neeeded.
64349        * rendering/SVGRenderSupport.cpp:
64350        (WebCore::SVGRenderSupport::computeContainerBoundingBoxes): Helper function calculating object/strokeBoundingBox and repaintRectInLocalCoordinates in one shot.
64351        (WebCore::SVGRenderSupport::paintInfoIntersectsRepaintRect): Moved from RenderPath to share the culling functionality.
64352        * rendering/SVGRenderSupport.h:
64353
643542010-09-01  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
64355
64356        Reviewed by Laszlo Gombos.
64357
64358        [Qt] QWebPage::allowGeolocationRequest should be async API
64359        https://bugs.webkit.org/show_bug.cgi?id=41364
64360
64361        Adding GeolocationPermissionClientQt.cpp/h to build script
64362
64363        * WebCore.pro:
64364
643652010-09-01  Andreas Kling  <andreas.kling@nokia.com>
64366
64367        Reviewed by Darin Adler.
64368
64369        DOM Selection: collapseToStart() and collapseToEnd() should throw INVALID_STATE_ERR if there's no selection
64370        https://bugs.webkit.org/show_bug.cgi?id=44598
64371
64372        Spec links:
64373        http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapsetostart
64374        http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapsetoend
64375
64376        Test: fast/dom/Selection/collapseToX-empty-selection.html
64377
64378        * page/DOMSelection.cpp:
64379        (WebCore::DOMSelection::collapseToEnd):
64380        (WebCore::DOMSelection::collapseToStart):
64381        * page/DOMSelection.h:
64382        * page/DOMSelection.idl:
64383
643842010-09-01  Kinuko Yasuda  <kinuko@chromium.org>
64385
64386        Unreviewed; another build fix.
64387
64388        * WebCore.pri:
64389
643902010-09-01  Kinuko Yasuda  <kinuko@chromium.org>
64391
64392        Unreviewed; qt build fix.
64393
64394        * CMakeLists.txt:
64395
643962010-08-31  Kinuko Yasuda  <kinuko@chromium.org>
64397
64398        Reviewed by Adam Barth.
64399
64400        Move FileSystem related files from WebCore/html to WebCore/fileapi.
64401        https://bugs.webkit.org/show_bug.cgi?id=44925
64402
64403        No new tests; there should be no functional changes.
64404
64405        * CMakeLists.txt:
64406        * GNUmakefile.am:
64407        * WebCore.gypi:
64408        * WebCore.pro:
64409        * WebCore.vcproj/WebCore.vcproj:
64410        * WebCore.xcodeproj/project.pbxproj:
64411        * fileapi/DOMFilePath.cpp: Renamed from WebCore/storage/DOMFilePath.cpp.
64412        * fileapi/DOMFilePath.h: Renamed from WebCore/storage/DOMFilePath.h.
64413        * fileapi/DOMFileSystem.cpp: Renamed from WebCore/storage/DOMFileSystem.cpp.
64414        * fileapi/DOMFileSystem.h: Renamed from WebCore/storage/DOMFileSystem.h.
64415        * fileapi/DOMFileSystem.idl: Renamed from WebCore/storage/DOMFileSystem.idl.
64416        * fileapi/DirectoryEntry.cpp: Renamed from WebCore/storage/DirectoryEntry.cpp.
64417        * fileapi/DirectoryEntry.h: Renamed from WebCore/storage/DirectoryEntry.h.
64418        * fileapi/DirectoryEntry.idl: Renamed from WebCore/storage/DirectoryEntry.idl.
64419        * fileapi/DirectoryReader.cpp: Renamed from WebCore/storage/DirectoryReader.cpp.
64420        * fileapi/DirectoryReader.h: Renamed from WebCore/storage/DirectoryReader.h.
64421        * fileapi/DirectoryReader.idl: Renamed from WebCore/storage/DirectoryReader.idl.
64422        * fileapi/EntriesCallback.h: Renamed from WebCore/storage/EntriesCallback.h.
64423        * fileapi/EntriesCallback.idl: Renamed from WebCore/storage/EntriesCallback.idl.
64424        * fileapi/Entry.cpp: Renamed from WebCore/storage/Entry.cpp.
64425        * fileapi/Entry.h: Renamed from WebCore/storage/Entry.h.
64426        * fileapi/Entry.idl: Renamed from WebCore/storage/Entry.idl.
64427        * fileapi/EntryArray.cpp: Renamed from WebCore/storage/EntryArray.cpp.
64428        * fileapi/EntryArray.h: Renamed from WebCore/storage/EntryArray.h.
64429        * fileapi/EntryArray.idl: Renamed from WebCore/storage/EntryArray.idl.
64430        * fileapi/EntryCallback.h: Renamed from WebCore/storage/EntryCallback.h.
64431        * fileapi/EntryCallback.idl: Renamed from WebCore/storage/EntryCallback.idl.
64432        * fileapi/ErrorCallback.h: Renamed from WebCore/storage/ErrorCallback.h.
64433        * fileapi/ErrorCallback.idl: Renamed from WebCore/storage/ErrorCallback.idl.
64434        * fileapi/FileEntry.cpp: Renamed from WebCore/storage/FileEntry.cpp.
64435        * fileapi/FileEntry.h: Renamed from WebCore/storage/FileEntry.h.
64436        * fileapi/FileEntry.idl: Renamed from WebCore/storage/FileEntry.idl.
64437        * fileapi/FileSystemCallback.h: Renamed from WebCore/storage/FileSystemCallback.h.
64438        * fileapi/FileSystemCallback.idl: Renamed from WebCore/storage/FileSystemCallback.idl.
64439        * fileapi/FileSystemCallbacks.cpp: Renamed from WebCore/storage/FileSystemCallbacks.cpp.
64440        * fileapi/FileSystemCallbacks.h: Renamed from WebCore/storage/FileSystemCallbacks.h.
64441        * fileapi/Flags.h: Renamed from WebCore/storage/Flags.h.
64442        * fileapi/Flags.idl: Renamed from WebCore/storage/Flags.idl.
64443        * fileapi/LocalFileSystem.cpp: Renamed from WebCore/storage/LocalFileSystem.cpp.
64444        * fileapi/LocalFileSystem.h: Renamed from WebCore/storage/LocalFileSystem.h.
64445        * fileapi/Metadata.h: Renamed from WebCore/storage/Metadata.h.
64446        * fileapi/Metadata.idl: Renamed from WebCore/storage/Metadata.idl.
64447        * fileapi/MetadataCallback.h: Renamed from WebCore/storage/MetadataCallback.h.
64448        * fileapi/MetadataCallback.idl: Renamed from WebCore/storage/MetadataCallback.idl.
64449
644502010-08-31  Nikolas Zimmermann  <nzimmermann@rim.com>
64451
64452        Reviewed by Dirk Schulze.
64453
64454        Prepare RenderSVGContainer culling patch
64455        https://bugs.webkit.org/show_bug.cgi?id=44955
64456
64457        Add styleWillChange methods for all SVG renderers, that call setNeedsBoundariesUpdate().
64458        It's currently a no-op, but will be used once the containers cache their boundaries, which
64459        happens in a follow-up patch.
64460
64461        * rendering/RenderSVGBlock.cpp:
64462        (WebCore::RenderSVGBlock::styleWillChange): Call setNeedsBoundariesUpdate().
64463        * rendering/RenderSVGBlock.h:
64464        * rendering/RenderSVGImage.cpp:
64465        (WebCore::RenderSVGImage::styleWillChange): Ditto.
64466        * rendering/RenderSVGImage.h:
64467        * rendering/RenderSVGInline.cpp:
64468        (WebCore::RenderSVGInline::styleWillChange): Ditto.
64469        * rendering/RenderSVGInline.h:
64470        * rendering/RenderSVGModelObject.cpp:
64471        (WebCore::RenderSVGModelObject::styleWillChange): Ditto.
64472        * rendering/RenderSVGModelObject.h:
64473        * rendering/RenderSVGRoot.cpp:
64474        (WebCore::RenderSVGRoot::styleWillChange): Ditto.
64475        * rendering/RenderSVGRoot.h:
64476        * rendering/SVGRenderSupport.cpp:
64477        (WebCore::SVGRenderSupport::computeContainerBoundingBox): Skip hidden containers, not necessary to traverse them.
64478        * rendering/style/SVGRenderStyle.cpp:
64479        (WebCore::SVGRenderStyle::diff): svg-shadow changes need to cause relayouts, not only repaints, once container bounds are cached.
64480
644812010-08-31  Justin Garcia  <justin.garcia@apple.com>
64482
64483        Reviewed by Dan Bernstein.
64484        
64485        https://bugs.webkit.org/show_bug.cgi?id=44915
64486        Need to handle CSSValueAuto in CSSPrimitiveValue::operator ETextAlign()
64487        
64488        * css/CSSPrimitiveValueMappings.h:
64489        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map TAAUTO to -webkit-auto.  "auto" is
64490        not a valid text-align value.  We use TAAUTO internally for the nameless value that acts
64491        as left if direction:ltr and right for direction:rtl.
64492
644932010-08-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
64494
64495        Reviewed by Martin Robinson.
64496
64497        [EFL] Add PlatformVideoWindowEfl.cpp for WebKit EFL
64498        https://bugs.webkit.org/show_bug.cgi?id=44508
64499
64500        Add PlatformVideoWindowEfl.cpp in order to use gstreamer by 
64501        WebKit EFL.
64502
64503        * platform/graphics/gstreamer/PlatformVideoWindow.h:
64504        (WebCore::PlatformVideoWindow::window):
64505        (WebCore::PlatformVideoWindow::videoWindowId):
64506        * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Added.
64507        (PlatformVideoWindow::PlatformVideoWindow):
64508        (PlatformVideoWindow::~PlatformVideoWindow):
64509        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Include <gtk/gtk.h> directly.
64510
645112010-08-31  Dave Hyatt  <hyatt@apple.com>
64512
64513        Reviewed by Sam Weinig.
64514
64515        https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that
64516        the former can occur in more places without having to do the latter.
64517
64518        * WebCore.exp.in:
64519        * page/FocusController.cpp:
64520        (WebCore::FocusController::setActive):
64521        * page/Frame.cpp:
64522        (WebCore::Frame::Frame):
64523        * page/Frame.h:
64524        * page/FrameView.cpp:
64525        (WebCore::FrameView::enterCompositingMode):
64526        (WebCore::FrameView::layout):
64527        (WebCore::FrameView::needsLayout):
64528        (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
64529        * page/FrameView.h:
64530        * page/Page.cpp:
64531        (WebCore::Page::scheduleForcedStyleRecalcForAllPages):
64532        * page/Page.h:
64533        * page/Settings.cpp:
64534        (WebCore::setNeedsRecalcStyleInAllFrames):
64535        (WebCore::setLoadsImagesAutomaticallyInAllFrames):
64536        (WebCore::Settings::setStandardFontFamily):
64537        (WebCore::Settings::setFixedFontFamily):
64538        (WebCore::Settings::setSerifFontFamily):
64539        (WebCore::Settings::setSansSerifFontFamily):
64540        (WebCore::Settings::setCursiveFontFamily):
64541        (WebCore::Settings::setFantasyFontFamily):
64542        (WebCore::Settings::setMinimumFontSize):
64543        (WebCore::Settings::setMinimumLogicalFontSize):
64544        (WebCore::Settings::setDefaultFontSize):
64545        (WebCore::Settings::setDefaultFixedFontSize):
64546        (WebCore::Settings::setLoadsImagesAutomatically):
64547        (WebCore::Settings::setTextAreasAreResizable):
64548        (WebCore::Settings::setAuthorAndUserStylesEnabled):
64549        (WebCore::Settings::setFontRenderingMode):
64550        (WebCore::Settings::setZoomMode):
64551        (WebCore::Settings::setAcceleratedCompositingEnabled):
64552        (WebCore::Settings::setShowDebugBorders):
64553        (WebCore::Settings::setShowRepaintCounter):
64554        * rendering/RenderTheme.cpp:
64555        (WebCore::RenderTheme::platformColorsDidChange):
64556
645572010-08-31  Jeremy Moskovich  <jeremy@chromium.org>
64558
64559        Reviewed by Dimitri Glazkov.
64560
64561        Unfork Chromium's FontPlatformDataChromiumMac.mm.
64562
64563        Modified FontPlatformDataCocoa to provide hooks needed by Chromium.
64564        Moved Chromium's mechanics for OOP font loading to CrossProcessFontLoading.mm.
64565        Added ::create() function to MemoryActivatedFont to match new guidelines for
64566        RefCounted<> classes.
64567
64568        Not possible to test due to sandbox interaction.
64569
64570        * WebCore.gypi: Update files for chromium build.
64571        * platform/graphics/chromium/CrossProcessFontLoading.h: Added.
64572        (WebCore::MemoryActivatedFont::cgFont):
64573        (WebCore::MemoryActivatedFont::atsFontRef):
64574        * platform/graphics/chromium/CrossProcessFontLoading.mm: Added.
64575        (WebCore::MemoryActivatedFont::create):
64576        (WebCore::MemoryActivatedFont::MemoryActivatedFont):
64577        (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
64578        (WebCore::FontPlatformData::loadFont):
64579        * platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Removed.
64580        * platform/graphics/cocoa/FontPlatformData.h:
64581        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
64582        (WebCore::FontPlatformData::loadFont):
64583        (WebCore::FontPlatformData::FontPlatformData):
64584        (WebCore::FontPlatformData::operator=):
64585        (WebCore::FontPlatformData::setFont):
64586
645872010-08-31  Martin Robinson  <mrobinson@igalia.com>
64588
64589        Reviewed by Adam Barth.
64590
64591        [GTK] warning: unused variable "queryResult"
64592        https://bugs.webkit.org/show_bug.cgi?id=44998
64593
64594        No new tests as functionality has not changed.
64595
64596        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
64597        (WebCore::GStreamerGWorld::enterFullscreen): Move queryResult within the gstreamer
64598        version guards, where it is used.
64599
646002010-08-31  Dave Hyatt  <hyatt@apple.com>
64601
64602        Reviewed by Adam Roben.
64603
64604        Refinement to previous checkin for pagination of block-level replaced elements.  Don't bother to
64605        paginate floating block-level replaced elements for now.
64606
64607        Added fast/multicol/float-pagination-failure.html
64608
64609        * rendering/RenderBlock.cpp:
64610        (WebCore::RenderBlock::paintChildren):
64611
646122010-08-31  Kinuko Yasuda  <kinuko@chromium.org>
64613
64614        Reviewed by Jian Li.
64615
64616        Add LocalFileSystem.requestFileSystem interface to DOMWindow
64617        https://bugs.webkit.org/show_bug.cgi?id=44734
64618
64619        No new tests; tests will be added later.
64620
64621        * bindings/generic/RuntimeEnabledFeatures.cpp:
64622        * bindings/generic/RuntimeEnabledFeatures.h:
64623        (WebCore::RuntimeEnabledFeatures::fileSystemEnabled):
64624        (WebCore::RuntimeEnabledFeatures::setFileSystemEnabled):
64625        (WebCore::RuntimeEnabledFeatures::requestFileSystemEnabled):
64626        * page/DOMWindow.cpp:
64627        (WebCore::DOMWindow::requestFileSystem):
64628        * page/DOMWindow.h:
64629        (WebCore::DOMWindow::):
64630        * page/DOMWindow.idl:
64631        * page/Settings.cpp:
64632        (WebCore::Settings::setFileSystemRootPath):
64633        * page/Settings.h:
64634        (WebCore::Settings::fileSystemRootPath):
64635
646362010-08-31  Kwang Yul Seo  <skyul@company100.net>
64637
64638        Reviewed by Adam Barth.
64639
64640        [BREWMP] Add PLATFORM(BREWMP) guard to PluginViewNone
64641        https://bugs.webkit.org/show_bug.cgi?id=44768
64642
64643        Build fix. Add PLATFORM(BREWMP) guard to add dummy PluginView::privateBrowsingStateChanged
64644        and PluginView::setJavaScriptPaused.
64645
64646        * plugins/PluginViewNone.cpp:
64647
646482010-08-31  Alexey Proskuryakov  <ap@apple.com>
64649
64650        Reviewed by Adam Barth.
64651
64652        https://bugs.webkit.org/show_bug.cgi?id=40947
64653        <rdar://problem/8124723> REGRESSION (r57544): XMLHttpRequest POSTed multipart/form-data
64654        wrongfully gets a charset appended
64655
64656        Test: http/tests/xmlhttprequest/post-with-boundary.html
64657
64658        * xml/XMLHttpRequest.cpp:
64659        (WebCore::replaceCharsetInMediaType): Changed to only set charset if it was already present,
64660        and never append.
64661        (WebCore::XMLHttpRequest::send): Updated for replaceCharsetInMediaType renaming.
64662
646632010-08-31  Daniel Cheng  <dcheng@chromium.org>
64664
64665        Reviewed by Tony Chang.
64666
64667        [chromium] Implement Readable/Writable versions of ChromiumDataObjectNew
64668        https://bugs.webkit.org/show_bug.cgi?id=44917
64669
64670        This is the second of several patches to update Chromium to support
64671        arbitrary data types in event.dataTransfer.
64672        ReadableDataObject simply calls through to several Chromium IPCs to
64673        retrieve the appropriate data.
64674        WritableDataObject ostensibly buffers arbitrary data internally until
64675        a call is made to flush the data to the platform-specific abstraction;
64676        unfortunately, a special exception is currently made for pasteboard
64677        handling due to how it is handled in WebCore.
64678
64679        No new tests.
64680
64681        * WebCore.gypi:
64682        * platform/chromium/ChromiumDataObjectNew.h: Removed.
64683        * platform/chromium/ClipboardChromium.cpp:
64684        * platform/chromium/ClipboardMimeTypes.cpp: Added.
64685        * platform/chromium/ClipboardMimeTypes.h: Added.
64686        * platform/chromium/ReadableDataObject.cpp: Added.
64687        (WebCore::clipboardBuffer):
64688        (WebCore::ReadableDataObject::create):
64689        (WebCore::ReadableDataObject::ReadableDataObject):
64690        (WebCore::ReadableDataObject::hasData):
64691        (WebCore::ReadableDataObject::types):
64692        (WebCore::ReadableDataObject::getData):
64693        (WebCore::ReadableDataObject::getURL):
64694        (WebCore::ReadableDataObject::getHTML):
64695        (WebCore::ReadableDataObject::hasFilenames):
64696        (WebCore::ReadableDataObject::filenames):
64697        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
64698        * platform/chromium/ReadableDataObject.h: Added.
64699        * platform/chromium/WritableDataObject.cpp: Added.
64700        (WebCore::WritableDataObject::create):
64701        (WebCore::WritableDataObject::WritableDataObject):
64702        (WebCore::WritableDataObject::clearData):
64703        (WebCore::WritableDataObject::clearAllExceptFiles):
64704        (WebCore::WritableDataObject::clearAll):
64705        (WebCore::WritableDataObject::setData):
64706        (WebCore::WritableDataObject::setURL):
64707        (WebCore::WritableDataObject::setHTML):
64708        (WebCore::WritableDataObject::dataMap):
64709        (WebCore::WritableDataObject::urlTitle):
64710        (WebCore::WritableDataObject::htmlBaseURL):
64711        (WebCore::WritableDataObject::fileExtension):
64712        (WebCore::WritableDataObject::fileContentFilename):
64713        (WebCore::WritableDataObject::fileContent):
64714        (WebCore::WritableDataObject::setFileExtension):
64715        (WebCore::WritableDataObject::setFileContentFilename):
64716        (WebCore::WritableDataObject::setFileContent):
64717        * platform/chromium/WritableDataObject.h: Added.
64718
647192010-08-31  Darin Adler  <darin@apple.com>
64720
64721        Reviewed by Sam Weinig.
64722
64723        Null-deref when decoding web archive with no data key in LegacyWebArchive::createResource
64724        https://bugs.webkit.org/show_bug.cgi?id=45000
64725
64726        Test: webarchive/loading/missing-data.html
64727
64728        * loader/archive/cf/LegacyWebArchive.cpp:
64729        (WebCore::LegacyWebArchive::createResource): Use wrapCFData instead of CFDataGetBytePtr/GetLength,
64730        which is both more efficient, and can handle null. Also fixed incorrect use of ParsedURLString,
64731        since the string is coming from a file and so there are no guarantees about its format.
64732
647332010-08-31  Kenneth Russell  <kbr@google.com>
64734
64735        Reviewed by Chris Marrin.
64736
64737        Add length and related operations to FloatPoint and FloatSize
64738        https://bugs.webkit.org/show_bug.cgi?id=44994
64739
64740        Added length and squared length operations to both FloatPoint and
64741        FloatSize, and added set(x, y), dot and normalize operations to
64742        FloatPoint. These changes have been tested with new code to be
64743        added later.
64744
64745        * platform/graphics/FloatPoint.cpp:
64746        (WebCore::FloatPoint::normalize):
64747        (WebCore::FloatPoint::length):
64748        * platform/graphics/FloatPoint.h:
64749        (WebCore::FloatPoint::set):
64750        (WebCore::FloatPoint::dot):
64751        (WebCore::FloatPoint::lengthSquared):
64752        (WebCore::operator*):
64753        * platform/graphics/FloatSize.cpp:
64754        (WebCore::FloatSize::diagonalLength):
64755        * platform/graphics/FloatSize.h:
64756        (WebCore::FloatSize::diagonalLengthSquared):
64757
647582010-08-31  Zhenyao Mo  <zmo@google.com>
64759
64760        Reviewed by Kenneth Russell.
64761
64762        gl-teximage.html and tex-image-and-sub-image-2d-with-image.html failed on Chromium Mac bots (10.5)
64763        https://bugs.webkit.org/show_bug.cgi?id=44993
64764
64765        * platform/graphics/cg/GraphicsContext3DCG.cpp:
64766        (WebCore::GraphicsContext3D::getImageData): Take into consideration the source image pixel row alignment.
64767
647682010-08-31  Patrick Gansterer  <paroga@paroga.com>
64769
64770        Reviewed by Kenneth Rohde Christiansen.
64771
64772        [CMake] Unify GENERATE_DOM_NAMES code
64773        https://bugs.webkit.org/show_bug.cgi?id=44842
64774
64775        * CMakeLists.txt: Added property svn:eol-style.
64776
647772010-08-31  Beth Dakin  <bdakin@apple.com>
64778
64779        Rubber-stamped by Dan Bernstein..
64780
64781        Variable name change. m_shouldFirePostLayoutTimer is now 
64782        m_hasPendingPostLayoutTasks
64783
64784        * page/FrameView.cpp:
64785        (WebCore::FrameView::FrameView):
64786        (WebCore::FrameView::~FrameView):
64787        (WebCore::FrameView::reset):
64788        (WebCore::FrameView::layout):
64789        (WebCore::FrameView::performPostLayoutTasks):
64790        * page/FrameView.h:
64791
647922010-08-31  Beth Dakin  <bdakin@apple.com>
64793
64794        Reviewed by Dave Hyatt.
64795
64796        Fix for https://bugs.webkit.org/show_bug.cgi?id=44828 FrameView 
64797        should make more calls to postLayoutTasks() using the timer
64798        -and corresponding-
64799        <rdar://problem/8064938>
64800
64801        This change only allows synchronous calls to postLayoutTasks() if 
64802        we are not already in a synchronous call to postLayoutTasks(). 
64803        Furthermore, it de-couples the notion of "the post layout timer 
64804        should fire" from m_postLayoutTasksTimer.isActive(), instead using 
64805        a boolean to track the need to use the timer.
64806
64807        * page/FrameView.cpp:
64808        (WebCore::FrameView::FrameView):
64809        (WebCore::FrameView::~FrameView):
64810        (WebCore::FrameView::reset):
64811        (WebCore::FrameView::layout):
64812        (WebCore::FrameView::unscheduleRelayout):
64813        (WebCore::FrameView::performPostLayoutTasks):
64814        * page/FrameView.h:
64815
648162010-08-30  Anders Carlsson  <andersca@apple.com>
64817
64818        Reviewed by Sam Weinig.
64819
64820        Fix 32-bit WebKit2 build.
64821
64822        * WebCore.exp.in:
64823
648242010-08-31  Nate Chapin  <japhet@chromium.org>
64825
64826        Reviewed by Darin Fisher.
64827
64828        Regression in r63528: Custom http headers for loads of type
64829        FrameLoadTypeReloadFromOrigin are not being correctly
64830        propagated to subresource loads.
64831
64832        https://bugs.webkit.org/show_bug.cgi?id=44987
64833
64834        No tests, since DRT doesn't seem to have a way to trigger a
64835        FrameLoadTypeReloadFromOrigin load.
64836
64837        * loader/FrameLoader.cpp:
64838        (WebCore::FrameLoader::addExtraFieldsToRequest):
64839
648402010-08-31  Sam Weinig  <sam@webkit.org>
64841
64842        Reviewed by Darin Adler.
64843
64844        Add ability to count text matches without marking
64845        https://bugs.webkit.org/show_bug.cgi?id=43996
64846
64847        Safari needs to be able to count text matches without triggering lots of repainting.
64848        Rename markAllMatchesForText() to countMatchesForText() and add a markMatches parameter.
64849
64850        * WebCore.exp.in:
64851        * page/Frame.cpp:
64852        (WebCore::Frame::countMatchesForText):
64853        * page/Frame.h:
64854        * page/Page.cpp:
64855        (WebCore::Page::markAllMatchesForText):
64856
648572010-08-31  Eric Carlson  <eric.carlson@apple.com>
64858
64859        Reviewed by Darin Adler.
64860
64861        canPlayType("application/octet-stream") must return ""
64862        https://bugs.webkit.org/show_bug.cgi?id=44985
64863
64864        * platform/graphics/MediaPlayer.cpp:
64865        (WebCore::MediaPlayer::supportsType): Always return IsNotSupported for application/octet-stream
64866
648672010-08-31  Martin Robinson  <mrobinson@igalia.com>
64868
64869        Reviewed by Gustavo Noronha Silva.
64870
64871        [GTK] ScrollbarThemeGtk should respond to theme changes
64872        https://bugs.webkit.org/show_bug.cgi?id=44782
64873
64874        Scrollbar is currently written with the assumption that scrollbars never change
64875        thickness. In GTK+ changing the current theme can alter scrollbar thickness. This
64876        change manually resizes interior frame scrollbar widgets when the GTK+ theme changes.
64877        Since we are now tracking style changes, we may also cache theme properties to avoid
64878        having to call moz_gtk_get_scrollbar_metrics repeatedly during rendering.
64879
64880        * platform/gtk/RenderThemeGtk.cpp:
64881        (WebCore::RenderThemeGtk::gtkScrollbar): Added accessor for the Mozilla theming code's
64882        scrollbar widget. We access it here, because RenderThemGtk takes care of initializing
64883        the Mozilla code.
64884        * platform/gtk/RenderThemeGtk.h: Added accessor declaration.
64885        * platform/gtk/ScrollbarThemeGtk.cpp:
64886        (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Update the style property cache during construction.
64887        (WebCore::ScrollbarThemeGtk::registerScrollbar): Track all interior frame scrollbars.
64888        (WebCore::ScrollbarThemeGtk::unregisterScrollbar): Ditto.
64889        (WebCore::ScrollbarThemeGtk::updateThemeProperties): Added this method which updates the style cache.
64890        (WebCore::gtkStyleSetCallback): Added this signal handler for when the style changes.
64891        (WebCore::ScrollbarThemeGtk::backButtonRect): Use the style cache instead of calling moz_gtk_get_scrollbar_metrics.
64892        (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
64893        (WebCore::ScrollbarThemeGtk::trackRect): Ditto.
64894        (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
64895        (WebCore::ScrollbarThemeGtk::thumbRect): Ditto.
64896        (WebCore::ScrollbarThemeGtk::paint): Ditto.
64897        (WebCore::ScrollbarThemeGtk::scrollbarThickness): Ditto.
64898        (WebCore::ScrollbarThemeGtk::buttonSize): Ditto.
64899        (WebCore::ScrollbarThemeGtk::minimumThumbLength): Ditto.
64900        * platform/gtk/ScrollbarThemeGtk.h: Added new method declarations.
64901
649022010-08-31  Darin Adler  <darin@apple.com>
64903
64904        Reviewed by Anders Carlsson.
64905
64906        Web archives are created with a size of 0 due to PassRefPtr mistake
64907        https://bugs.webkit.org/show_bug.cgi?id=44984
64908        rdar://problem/8042283
64909
64910        * loader/archive/ArchiveResource.cpp:
64911        (WebCore::ArchiveResource::ArchiveResource): Merge the three constructors into one.
64912        (WebCore::ArchiveResource::create): Merge the two create functions into one, and
64913        fix the logic so there is no use of a PassRefPtr after it has been passed.
64914        * loader/archive/ArchiveResource.h: Use default arguments instead of overloading
64915        to cut down from three create functions to two. Remove two of the constructors.
64916
649172010-08-31  Jian Li  <jianli@chromium.org>
64918
64919        Reviewed by David Levin.
64920
64921        Expose WorkerContext.createBlobURL and WorkerContext.revokeBlobURL.
64922        https://bugs.webkit.org/show_bug.cgi?id=44972
64923
64924        Test: fast/files/workers/worker-apply-blob-url-to-xhr.html
64925
64926        * page/SecurityOrigin.cpp:
64927        (WebCore::SecurityOrigin::canRequest):
64928        * workers/WorkerContext.cpp:
64929        (WebCore::WorkerContext::createBlobURL):
64930        (WebCore::WorkerContext::revokeBlobURL):
64931        * workers/WorkerContext.h:
64932        * workers/WorkerContext.idl:
64933
649342010-08-31  Darin Adler  <darin@apple.com>
64935
64936        Reviewed by Anders Carlsson.
64937
64938        * editing/TextIterator.cpp:
64939        (WebCore::TextIterator::handleTextBox):
64940        Added a cast so we can mix int and unsigned in a single ?: expression.
64941        This warns with clang, but strangely not with gcc.
64942
64943        * html/parser/HTMLTreeBuilder.cpp: Removed unused functions.
64944        The clang compiler notices and complains about these. If we need them
64945        later we should use Subversion to bring them back.
64946
649472010-08-31  Kenneth Russell  <kbr@google.com>
64948
64949        Reviewed by Simon Fraser.
64950
64951        Add cross product and arithmetic operations to FloatPoint3D
64952        https://bugs.webkit.org/show_bug.cgi?id=44970
64953
64954        Added set, move, and scale operations similar to FloatPoint's,
64955        addition and subtraction operators, length, lengthSquared and
64956        cross product. These changes have been tested with new code to be
64957        added later.
64958
64959        * platform/graphics/FloatPoint3D.cpp:
64960        (WebCore::FloatPoint3D::normalize):
64961        (WebCore::FloatPoint3D::length):
64962        * platform/graphics/FloatPoint3D.h:
64963        (WebCore::FloatPoint3D::set):
64964        (WebCore::FloatPoint3D::move):
64965        (WebCore::FloatPoint3D::scale):
64966        (WebCore::FloatPoint3D::dot):
64967        (WebCore::FloatPoint3D::cross):
64968        (WebCore::FloatPoint3D::lengthSquared):
64969        (WebCore::operator +=):
64970        (WebCore::operator -=):
64971        (WebCore::operator+):
64972        (WebCore::operator-):
64973        (WebCore::operator*):
64974
649752010-08-31  Martin Robinson  <mrobinson@igalia.com>
64976
64977        Reviewed by Gustavo Noronha Silva.
64978
64979        [GTK] Isolate all GTK+ typedefs into one file
64980        https://bugs.webkit.org/show_bug.cgi?id=44900
64981
64982        * platform/graphics/gtk/CairoUtilities.h: Remove GTK+ typedefs.
64983        * platform/gtk/ClipboardGtk.h: Ditto.
64984        * platform/gtk/DataObjectGtk.h: Ditto.
64985        * platform/gtk/GOwnPtrGtk.h: Ditto.
64986        * platform/gtk/GRefPtrGtk.h: Ditto.
64987        * platform/gtk/PasteboardHelper.h: Ditto.
64988        * platform/gtk/PopupMenuGtk.h: Ditto.
64989        * platform/gtk/RenderThemeGtk.h: Ditto.
64990        * platform/gtk/ScrollbarGtk.h: Ditto.
64991        * platform/gtk/gtk2drawing.c: Remove unused Assertions.h.
64992
649932010-08-31  Tony Chang  <tony@chromium.org>
64994
64995        Unreviewed, fix chromium compile.
64996
64997        * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
64998
649992010-08-31  Chris Rogers  <crogers@google.com>
65000
65001        Reviewed by Kenneth Russell.
65002
65003        audio engine: add FFTConvolver class
65004        https://bugs.webkit.org/show_bug.cgi?id=34907
65005
65006        No new tests since audio API is not yet implemented.
65007
65008        * platform/audio: Added.
65009        * platform/audio/FFTConvolver.cpp: Added.
65010        (WebCore::FFTConvolver::FFTConvolver):
65011        (WebCore::FFTConvolver::process):
65012        (WebCore::FFTConvolver::reset):
65013        * platform/audio/FFTConvolver.h: Added.
65014        (WebCore::FFTConvolver::fftSize):
65015
650162010-08-31  Jian Li  <jianli@chromium.org>
65017
65018        Reviewed by Darin Fisher and David Levin.
65019
65020        Fix ThreadableBlobRegistry methods not to rely on WorkerContext.
65021        https://bugs.webkit.org/show_bug.cgi?id=44971
65022
65023        We could hit an ASSERT when we're performing some blob related cleanup
65024        in ScriptExecutionContext destructor when WorkerContext dies. The fix
65025        is to use isMainThread and callOnMainThread.
65026
65027        * fileapi/ThreadableBlobRegistry.cpp:
65028        (WebCore::BlobRegistryContext::BlobRegistryContext):
65029        (WebCore::registerBlobURLTask):
65030        (WebCore::ThreadableBlobRegistry::registerBlobURL):
65031        (WebCore::registerBlobURLFromTask):
65032        (WebCore::unregisterBlobURLTask):
65033        (WebCore::ThreadableBlobRegistry::unregisterBlobURL):
65034
650352010-08-31  Martin Robinson  <mrobinson@igalia.com>
65036
65037        Reviewed by Gustavo Noronha Silva.
65038
65039        [GTK] Fix 'make dist' in preparation of the 1.3.3 release
65040        https://bugs.webkit.org/show_bug.cgi?id=44978
65041
65042        * GNUmakefile.am: Add missing and moved headers to the sources list.
65043
650442010-08-31  Ryuan Choi  <ryuan.choi@samsung.com>
65045
65046        Reviewed by Antonio Gomes.
65047
65048        [EFL] crashes while dragging any contents
65049        https://bugs.webkit.org/show_bug.cgi?id=44940
65050
65051        Fix crashes caused by returning newly assigned value instead of adoptRef
65052        value.
65053
65054        * page/efl/EventHandlerEfl.cpp:
65055        (WebCore::EventHandler::createDraggingClipboard):
65056        * platform/efl/ClipboardEfl.cpp:
65057        (WebCore::Editor::newGeneralClipboard):
65058        * platform/efl/ClipboardEfl.h:
65059        (WebCore::ClipboardEfl::create):
65060
650612010-08-31  Ilya Tikhonovsky  <loislo@chromium.org>
65062
65063        Reviewed by Yury Semikhatsky.
65064
65065        WebInspector: The parser of Inspector protocol messages should be covered by a test.
65066
65067        The inspector protocol is based on messages in JSON format.
65068        Each message should be a JSON object with a number of properties.
65069        InspectorBackendDispatcher is parsing these messages and should be
65070        able to detect wrong formatted messages.
65071        It has these functionality but no tests for it.
65072
65073        https://bugs.webkit.org/show_bug.cgi?id=44947
65074
65075
65076        * inspector/CodeGeneratorInspector.pm:
65077
650782010-08-31  Anton Muhin  <antonm@chromium.org>
65079
65080        Reviewed by Adam Barth.
65081
65082        [v8] More correct and faster error handling when converting v8 objects to various WebCore strings
65083        https://bugs.webkit.org/show_bug.cgi?id=44678
65084
65085        Split v8 object conversion into two phase: 1st, which can throw an exception, and
65086        2nd, which must always succeed.  That allows to report correctly the case when exception
65087        happens.
65088
65089        * bindings/scripts/CodeGeneratorV8.pm:
65090        * bindings/v8/V8Binding.cpp:
65091        (WebCore::int32ToWebCoreString):
65092        (WebCore::v8NonStringValueToWebCoreString):
65093        * bindings/v8/V8Binding.h:
65094        (WebCore::V8ParameterBase::operator String):
65095        (WebCore::V8ParameterBase::operator AtomicString):
65096        (WebCore::V8ParameterBase::V8ParameterBase):
65097        (WebCore::V8ParameterBase::prepareBase):
65098        (WebCore::V8ParameterBase::object):
65099        (WebCore::V8ParameterBase::setString):
65100        (WebCore::V8ParameterBase::toString):
65101        (WebCore::):
65102        (WebCore::::prepare):
65103        * bindings/v8/custom/V8BindingMacros.h:
65104        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
65105        (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
65106        * bindings/v8/cstom/V8DeviceOrientationEventCustom.cpp:
65107        (WebCore::V8DeviceMotionEvent::initDeviceOrientationEventCallback):
65108
651092010-08-30  Ilya Tikhonovsky  <loislo@chromium.org>
65110
65111        Reviewed by Joseph Pecoraro.
65112
65113        WebInspector: it'd be better to introduce inspector API related tests.
65114
65115        As far as we have some kind of API for Inspector
65116        it'd be better to have API related tests. This is the test
65117        for API wrappers. These wrappers are tracking the types of arguments
65118        of API functions.
65119
65120        https://bugs.webkit.org/show_bug.cgi?id=44875
65121
65122        Test: inspector/protocol-error.html
65123
65124        * inspector/CodeGeneratorInspector.pm:
65125        * inspector/front-end/inspector.js:
65126        (WebInspector_syncDispatch):
65127        (WebInspector.reportProtocolError):
65128
651292010-08-31  Sheriff Bot  <webkit.review.bot@gmail.com>
65130
65131        Unreviewed, rolling out r66484.
65132        http://trac.webkit.org/changeset/66484
65133        https://bugs.webkit.org/show_bug.cgi?id=44966
65134
65135        Broke EFL build (Requested by acidx on #webkit).
65136
65137        * CMakeLists.txt:
65138
651392010-08-31  Ojan Vafai  <ojan@chromium.org>
65140
65141        Reviewed by Tony Chang.
65142
65143        deduplicate code from Node::checkReplaceChild and Node::checkAddChild
65144        https://bugs.webkit.org/show_bug.cgi?id=44962
65145
65146        Remove duplicate code in preparation for fixing https://bugs.webkit.org/show_bug.cgi?id=19524
65147        No new tests since there is no change in functionality.
65148
65149        * dom/Node.cpp:
65150        (WebCore::isChildTypeAllowed):
65151        (WebCore::Node::canReplaceChild):
65152        (WebCore::checkAcceptChild):
65153        (WebCore::transferOwnerDocument):
65154        (WebCore::Node::checkReplaceChild):
65155        (WebCore::Node::checkAddChild):
65156
651572010-08-30  Zhenyao Mo  <zmo@google.com>
65158
65159        Reviewed by Kenneth Russell.
65160
65161        [Chromium] bindTexture(TEXTURE_CUBE_MAP) shouldn't generate errors with valid cubemap texture
65162        https://bugs.webkit.org/show_bug.cgi?id=44922
65163
65164        * html/canvas/WebGLRenderingContext.cpp: Remove TEXTURE_WRAP_R code.
65165        (WebCore::WebGLRenderingContext::bindTexture):
65166        * html/canvas/WebGLTexture.cpp: Remove the code for tracking TEXTURE_WRAP_R.
65167        (WebCore::WebGLTexture::WebGLTexture):
65168        * html/canvas/WebGLTexture.h: Ditto.
65169
651702010-08-31  Jian Li  <jianli@chromium.org>
65171
65172        Rubber-stamped by David Levin.
65173
65174        Rename addTwoCStrings to concatenateTwoCStrings.
65175
65176        * fileapi/BlobBuilder.cpp:
65177        (WebCore::concatenateTwoCStrings):
65178        (WebCore::BlobBuilder::append):
65179
651802010-08-31  Jian Li  <jianli@chromium.org>
65181
65182        Reviewed by Darin Fisher.
65183
65184        Improve BlobBuilder to combine adjacent strings.
65185        https://bugs.webkit.org/show_bug.cgi?id=44884
65186
65187        * fileapi/BlobBuilder.cpp:
65188        (WebCore::addTwoCStrings):
65189        (WebCore::BlobBuilder::append):
65190
651912010-08-31  Darin Adler  <darin@apple.com>
65192
65193        Reviewed by Simon Fraser.
65194
65195        Make DOM classes start with a reference count of 1, like all other RefCounted
65196        https://bugs.webkit.org/show_bug.cgi?id=28068
65197
65198        * dom/Document.cpp:
65199        (WebCore::Document::accessSVGExtensions): Use adoptPtr instead of set.
65200
65201        * dom/Document.h: Removed initialRefCount in Node constructor. It's always 1 now.
65202
65203        * dom/Node.h: Removed CreateWithZeroRefCountFlag, CreateStyledElementZeroRefCount,
65204        CreateSVGElementZeroRefCount, and initialRefCount.
65205
65206        * platform/TreeShared.h: Removed initialRefCount argument. It's always 1 now.
65207
65208        * rendering/RenderSVGShadowTreeRootContainer.cpp:
65209        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Use create
65210        instead of new.
65211
65212        * rendering/SVGResources.h: Inherit from Noncopyable.
65213
65214        * rendering/SVGResourcesCache.cpp:
65215        (WebCore::SVGResourcesCache::~SVGResourcesCache): Removed unneeded special
65216        case code.
65217
65218        * rendering/SVGShadowTreeElements.cpp:
65219        (WebCore::SVGShadowTreeContainerElement::create): Added.
65220        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Made argument
65221        type more specific.
65222        (WebCore::SVGShadowTreeRootElement::create): Added.
65223        * rendering/SVGShadowTreeElements.h: Added create functions, and made the
65224        argument type more specific.
65225
65226        * svg/SVGDocumentExtensions.cpp:
65227        (WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Use adoptPtr.
65228        * svg/graphics/SVGImage.cpp:
65229        (WebCore::SVGImage::dataChanged): Use adoptPtr instead of set.
65230
65231        * svg/SVGElement.cpp:
65232        (WebCore::SVGElement::SVGElement): Use CreateSVGElement instead of
65233        CreateSVGElementZeroRefCount.
65234        (WebCore::SVGElement::create): Use adoptRef.
65235
65236        * wml/WMLElement.cpp:
65237        (WebCore::WMLElement::WMLElement): Use CreateStyledElement instead of
65238        CreateStyledElementZeroRefCount.
65239        (WebCore::WMLElement::create): Use adoptRef.
65240
65241        * svg/SVGAElement.cpp:
65242        (WebCore::SVGAElement::create):
65243        * svg/SVGAltGlyphElement.cpp:
65244        (WebCore::SVGAltGlyphElement::create):
65245        * svg/SVGAnimateColorElement.cpp:
65246        (WebCore::SVGAnimateColorElement::create):
65247        * svg/SVGAnimateElement.cpp:
65248        (WebCore::SVGAnimateElement::create):
65249        * svg/SVGAnimateMotionElement.cpp:
65250        (WebCore::SVGAnimateMotionElement::create):
65251        * svg/SVGAnimateTransformElement.cpp:
65252        (WebCore::SVGAnimateTransformElement::create):
65253        * svg/SVGCircleElement.cpp:
65254        (WebCore::SVGCircleElement::create):
65255        * svg/SVGClipPathElement.cpp:
65256        (WebCore::SVGClipPathElement::create):
65257        * svg/SVGCursorElement.cpp:
65258        (WebCore::SVGCursorElement::create):
65259        * svg/SVGDefsElement.cpp:
65260        (WebCore::SVGDefsElement::create):
65261        * svg/SVGDescElement.cpp:
65262        (WebCore::SVGDescElement::create):
65263        * svg/SVGEllipseElement.cpp:
65264        (WebCore::SVGEllipseElement::create):
65265        * svg/SVGFEBlendElement.cpp:
65266        (WebCore::SVGFEBlendElement::create):
65267        * svg/SVGFEColorMatrixElement.cpp:
65268        (WebCore::SVGFEColorMatrixElement::create):
65269        * svg/SVGFEComponentTransferElement.cpp:
65270        (WebCore::SVGFEComponentTransferElement::create):
65271        * svg/SVGFECompositeElement.cpp:
65272        (WebCore::SVGFECompositeElement::create):
65273        * svg/SVGFEConvolveMatrixElement.cpp:
65274        (WebCore::SVGFEConvolveMatrixElement::create):
65275        * svg/SVGFEDiffuseLightingElement.cpp:
65276        (WebCore::SVGFEDiffuseLightingElement::create):
65277        * svg/SVGFEDisplacementMapElement.cpp:
65278        (WebCore::SVGFEDisplacementMapElement::create):
65279        * svg/SVGFEDistantLightElement.cpp:
65280        (WebCore::SVGFEDistantLightElement::create):
65281        * svg/SVGFEFloodElement.cpp:
65282        (WebCore::SVGFEFloodElement::create):
65283        * svg/SVGFEFuncAElement.cpp:
65284        (WebCore::SVGFEFuncAElement::create):
65285        * svg/SVGFEFuncBElement.cpp:
65286        (WebCore::SVGFEFuncBElement::create):
65287        * svg/SVGFEFuncGElement.cpp:
65288        (WebCore::SVGFEFuncGElement::create):
65289        * svg/SVGFEFuncRElement.cpp:
65290        (WebCore::SVGFEFuncRElement::create):
65291        * svg/SVGFEGaussianBlurElement.cpp:
65292        (WebCore::SVGFEGaussianBlurElement::create):
65293        * svg/SVGFEImageElement.cpp:
65294        (WebCore::SVGFEImageElement::create):
65295        * svg/SVGFEMergeElement.cpp:
65296        (WebCore::SVGFEMergeElement::create):
65297        * svg/SVGFEMergeNodeElement.cpp:
65298        (WebCore::SVGFEMergeNodeElement::create):
65299        * svg/SVGFEMorphologyElement.cpp:
65300        (WebCore::SVGFEMorphologyElement::create):
65301        * svg/SVGFEOffsetElement.cpp:
65302        (WebCore::SVGFEOffsetElement::create):
65303        * svg/SVGFEPointLightElement.cpp:
65304        (WebCore::SVGFEPointLightElement::create):
65305        * svg/SVGFESpecularLightingElement.cpp:
65306        (WebCore::SVGFESpecularLightingElement::create):
65307        * svg/SVGFESpotLightElement.cpp:
65308        (WebCore::SVGFESpotLightElement::create):
65309        * svg/SVGFETileElement.cpp:
65310        (WebCore::SVGFETileElement::create):
65311        * svg/SVGFETurbulenceElement.cpp:
65312        (WebCore::SVGFETurbulenceElement::create):
65313        * svg/SVGFilterElement.cpp:
65314        (WebCore::SVGFilterElement::create):
65315        * svg/SVGFontElement.cpp:
65316        (WebCore::SVGFontElement::create):
65317        * svg/SVGFontFaceElement.cpp:
65318        (WebCore::SVGFontFaceElement::create):
65319        * svg/SVGFontFaceFormatElement.cpp:
65320        (WebCore::SVGFontFaceFormatElement::create):
65321        * svg/SVGFontFaceNameElement.cpp:
65322        (WebCore::SVGFontFaceNameElement::create):
65323        * svg/SVGFontFaceSrcElement.cpp:
65324        (WebCore::SVGFontFaceSrcElement::create):
65325        * svg/SVGFontFaceUriElement.cpp:
65326        (WebCore::SVGFontFaceUriElement::create):
65327        * svg/SVGForeignObjectElement.cpp:
65328        (WebCore::SVGForeignObjectElement::create):
65329        * svg/SVGGElement.cpp:
65330        (WebCore::SVGGElement::create):
65331        * svg/SVGGlyphElement.cpp:
65332        (WebCore::SVGGlyphElement::create):
65333        * svg/SVGHKernElement.cpp:
65334        (WebCore::SVGHKernElement::create):
65335        * svg/SVGImageElement.cpp:
65336        (WebCore::SVGImageElement::create):
65337        * svg/SVGLineElement.cpp:
65338        (WebCore::SVGLineElement::create):
65339        * svg/SVGLinearGradientElement.cpp:
65340        (WebCore::SVGLinearGradientElement::create):
65341        * svg/SVGMPathElement.cpp:
65342        (WebCore::SVGMPathElement::create):
65343        * svg/SVGMarkerElement.cpp:
65344        (WebCore::SVGMarkerElement::create):
65345        * svg/SVGMaskElement.cpp:
65346        (WebCore::SVGMaskElement::create):
65347        * svg/SVGMetadataElement.cpp:
65348        (WebCore::SVGMetadataElement::create):
65349        * svg/SVGMissingGlyphElement.cpp:
65350        (WebCore::SVGMissingGlyphElement::create):
65351        * svg/SVGPathElement.cpp:
65352        (WebCore::SVGPathElement::create):
65353        * svg/SVGPatternElement.cpp:
65354        (WebCore::SVGPatternElement::create):
65355        * svg/SVGPolygonElement.cpp:
65356        (WebCore::SVGPolygonElement::create):
65357        * svg/SVGPolylineElement.cpp:
65358        (WebCore::SVGPolylineElement::create):
65359        * svg/SVGRadialGradientElement.cpp:
65360        (WebCore::SVGRadialGradientElement::create):
65361        * svg/SVGRectElement.cpp:
65362        (WebCore::SVGRectElement::create):
65363        * svg/SVGSVGElement.cpp:
65364        (WebCore::SVGSVGElement::create):
65365        (WebCore::SVGSVGElement::currentView):
65366        * svg/SVGScriptElement.cpp:
65367        (WebCore::SVGScriptElement::create):
65368        * svg/SVGSetElement.cpp:
65369        (WebCore::SVGSetElement::create):
65370        * svg/SVGStopElement.cpp:
65371        (WebCore::SVGStopElement::create):
65372        * svg/SVGStyleElement.cpp:
65373        (WebCore::SVGStyleElement::create):
65374        * svg/SVGSwitchElement.cpp:
65375        (WebCore::SVGSwitchElement::create):
65376        * svg/SVGSymbolElement.cpp:
65377        (WebCore::SVGSymbolElement::create):
65378        * svg/SVGTRefElement.cpp:
65379        (WebCore::SVGTRefElement::create):
65380        * svg/SVGTSpanElement.cpp:
65381        (WebCore::SVGTSpanElement::create):
65382        * svg/SVGTextElement.cpp:
65383        (WebCore::SVGTextElement::create):
65384        * svg/SVGTextPathElement.cpp:
65385        (WebCore::SVGTextPathElement::create):
65386        * svg/SVGTitleElement.cpp:
65387        (WebCore::SVGTitleElement::create):
65388        * svg/SVGUseElement.cpp:
65389        (WebCore::SVGUseElement::create):
65390        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
65391        * svg/SVGVKernElement.cpp:
65392        (WebCore::SVGVKernElement::create):
65393        * svg/SVGViewElement.cpp:
65394        (WebCore::SVGViewElement::create):
65395        * wml/WMLAElement.cpp:
65396        (WebCore::WMLAElement::create):
65397        * wml/WMLAccessElement.cpp:
65398        (WebCore::WMLAccessElement::create):
65399        * wml/WMLAnchorElement.cpp:
65400        (WebCore::WMLAnchorElement::create):
65401        * wml/WMLBRElement.cpp:
65402        (WebCore::WMLBRElement::create):
65403        * wml/WMLCardElement.cpp:
65404        (WebCore::WMLCardElement::create):
65405        * wml/WMLDoElement.cpp:
65406        (WebCore::WMLDoElement::create):
65407        * wml/WMLDocument.h:
65408        (WebCore::WMLDocument::create):
65409        * wml/WMLFieldSetElement.cpp:
65410        (WebCore::WMLFieldSetElement::create):
65411        * wml/WMLFormControlElement.cpp:
65412        (WebCore::WMLFormControlElement::create):
65413        * wml/WMLGoElement.cpp:
65414        (WebCore::WMLGoElement::create):
65415        * wml/WMLImageElement.cpp:
65416        (WebCore::WMLImageElement::create):
65417        * wml/WMLInputElement.cpp:
65418        (WebCore::WMLInputElement::create):
65419        * wml/WMLInsertedLegendElement.cpp:
65420        (WebCore::WMLInsertedLegendElement::create):
65421        * wml/WMLIntrinsicEvent.cpp:
65422        (WebCore::WMLIntrinsicEvent::create):
65423        * wml/WMLMetaElement.cpp:
65424        (WebCore::WMLMetaElement::create):
65425        * wml/WMLNoopElement.cpp:
65426        (WebCore::WMLNoopElement::create):
65427        * wml/WMLOnEventElement.cpp:
65428        (WebCore::WMLOnEventElement::create):
65429        * wml/WMLOptGroupElement.cpp:
65430        (WebCore::WMLOptGroupElement::create):
65431        * wml/WMLOptionElement.cpp:
65432        (WebCore::WMLOptionElement::create):
65433        * wml/WMLPElement.cpp:
65434        (WebCore::WMLPElement::create):
65435        * wml/WMLPostfieldElement.cpp:
65436        (WebCore::WMLPostfieldElement::create):
65437        * wml/WMLPrevElement.cpp:
65438        (WebCore::WMLPrevElement::create):
65439        * wml/WMLRefreshElement.cpp:
65440        (WebCore::WMLRefreshElement::create):
65441        * wml/WMLSelectElement.cpp:
65442        (WebCore::WMLSelectElement::create):
65443        * wml/WMLSetvarElement.cpp:
65444        (WebCore::WMLSetvarElement::create):
65445        * wml/WMLTableElement.cpp:
65446        (WebCore::WMLTableElement::create):
65447        * wml/WMLTaskElement.cpp:
65448        (WebCore::WMLTaskElement::create):
65449        * wml/WMLTemplateElement.cpp:
65450        (WebCore::WMLTemplateElement::create):
65451        * wml/WMLTimerElement.cpp:
65452        (WebCore::WMLTimerElement::create):
65453        Use adoptRef.
65454
654552010-08-31  Justin Schuh  <jschuh@chromium.org>
65456
65457        Reviewed by Nate Chapin.
65458
65459        Local frame loads should check against origin (not referrer)
65460        https://bugs.webkit.org/show_bug.cgi?id=44888
65461
65462        Test: fast/frames/iframe-no-src-local-origin-allow.html
65463
65464        * loader/SubframeLoader.cpp:
65465        (WebCore::SubframeLoader::loadSubframe):
65466
654672010-08-25  Zhenyao Mo  <zmo@google.com>
65468
65469        Reviewed by Kenneth Russell.
65470
65471        Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (cg)
65472        https://bugs.webkit.org/show_bug.cgi?id=44566
65473
65474        * platform/graphics/cg/GraphicsContext3DCG.cpp:
65475        (WebCore::GraphicsContext3D::getImageData): Fix the premultiplyAlpha issue for cg.
65476
654772010-08-31  Dave Hyatt  <hyatt@apple.com>
65478
65479        Reviewed by Adam Roben.
65480
65481        https://bugs.webkit.org/show_bug.cgi?id=44956, paginate block-level replaced elements.
65482       <rdar://problem/8000991> Images with display:block get split between columns or pages
65483
65484        Added fast/multicol/paginate-block-replaced.html
65485
65486        * rendering/RenderBlock.cpp:
65487        (WebCore::RenderBlock::paintChildren):
65488
654892010-08-31  Alexey Proskuryakov  <ap@apple.com>
65490
65491        Reviewed by Darin Adler.
65492
65493        https://bugs.webkit.org/show_bug.cgi?id=36515
65494        CSS style definitions are ignored if they just follow a "@charset" which appears in lines
65495        other than the first line in stylesheet.
65496
65497        Test: fast/css/misplaced-charset.html
65498
65499        * css/CSSGrammar.y: Ignore a misplaced charset rule without consuming extra characters and
65500        thus breaking subsequent rules.
65501
655022010-08-31  Patrick Gansterer  <paroga@paroga.com>
65503
65504        Reviewed by Antonio Gomes.
65505
65506        [CMake] Add IF (ENABLE_MATHML) around MathML sources
65507        https://bugs.webkit.org/show_bug.cgi?id=44927
65508
65509        * CMakeLists.txt:
65510
655112010-08-31  Patrick Gansterer  <paroga@paroga.com>
65512
65513        Reviewed by Kenneth Rohde Christiansen.
65514
65515        [CMake] Unify GENERATE_DOM_NAMES code
65516        https://bugs.webkit.org/show_bug.cgi?id=44842
65517
65518        * CMakeLists.txt: Added property svn:eol-style.
65519
655202010-08-31  Daniel Cheng  <dcheng@chromium.org>
65521
65522        Reviewed by Tony Chang.
65523
65524        [chromium] Add an interface for platform copy/paste drag/drop data objects
65525        https://bugs.webkit.org/show_bug.cgi?id=44914
65526
65527        Currently, Chromium only supports a few hardcoded data types in
65528        event.dataTransfer. This is the first of several patches to add support
65529        for arbitrary data types.
65530
65531        No new tests.
65532
65533        * WebCore.gypi:
65534        * platform/chromium/ChromiumDataObjectNew.h: Added.
65535        * platform/chromium/ClipboardChromium.cpp:
65536
655372010-08-30  Andrey Kosyakov  <caseq@chromium.org>
65538
65539        Reviewed by Yury Semikhatsky.
65540
65541        Web Inspector: add audits support to extension API
65542        Exposed (late) adding of categories from AuditPanel.
65543        Removed indexOfObjectInListSortedByFunction in favor of
65544        insertionIndexForObjectInListSortedByFunction (the former had
65545        weird interface always returning negative numbers and was only used in
65546        the latter).
65547        https://bugs.webkit.org/show_bug.cgi?id=44518
65548
65549        Tests: inspector/extensions-audits-api.html
65550               inspector/extensions-audits.html
65551
65552        * WebCore.gypi:
65553        * WebCore.vcproj/WebCore.vcproj:
65554        * inspector/front-end/AuditFormatters.js: Added.
65555        (WebInspector.applyFormatters):
65556        (WebInspector.AuditFormatters.text):
65557        (WebInspector.AuditFormatters.snippet):
65558        (WebInspector.AuditFormatters.concat):
65559        (WebInspector.AuditFormatters.url):
65560        * inspector/front-end/AuditLauncherView.js:
65561        (WebInspector.AuditLauncherView):
65562        (WebInspector.AuditLauncherView.prototype.addCategory.compareCategories):
65563        (WebInspector.AuditLauncherView.prototype.addCategory):
65564        (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
65565        (WebInspector.AuditLauncherView.prototype._selectAllClicked):
65566        (WebInspector.AuditLauncherView.prototype._categoryClicked):
65567        (WebInspector.AuditLauncherView.prototype._createCategoryElement):
65568        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
65569        * inspector/front-end/AuditResultView.js:
65570        (WebInspector.AuditCategoryResultPane.prototype._appendResult):
65571        * inspector/front-end/AuditsPanel.js:
65572        (WebInspector.AuditsPanel):
65573        (WebInspector.AuditsPanel.prototype.addCategory):
65574        (WebInspector.AuditsPanel.prototype.getCategory):
65575        (WebInspector.AuditsPanel.prototype._executeAudit):
65576        (WebInspector.AuditCategory.prototype.run):
65577        * inspector/front-end/ExtensionAPI.js:
65578        (WebInspector.injectedExtensionAPI):
65579        (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype.addListener):
65580        (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype._fire):
65581        (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype._dispatch):
65582        (WebInspector.injectedExtensionAPI.EventSink):
65583        (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
65584        (WebInspector.injectedExtensionAPI.Panels.prototype.create):
65585        (WebInspector.injectedExtensionAPI.Audits):
65586        (WebInspector.injectedExtensionAPI.Audits.prototype.addCategory):
65587        (WebInspector.injectedExtensionAPI.AuditCategory.customDispatch):
65588        (WebInspector.injectedExtensionAPI.AuditCategory):
65589        (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
65590        (WebInspector.injectedExtensionAPI.AuditResult):
65591        (WebInspector.injectedExtensionAPI.AuditResult.prototype.get Severity):
65592        (WebInspector.injectedExtensionAPI.AuditResultImpl):
65593        (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.addResult):
65594        (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.createResult):
65595        (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.done):
65596        (WebInspector.injectedExtensionAPI.AuditResultImpl.prototype._nodeFactory):
65597        (WebInspector.injectedExtensionAPI.AuditResultNode):
65598        (WebInspector.injectedExtensionAPI.AuditResultNode.prototype.addChild):
65599        * inspector/front-end/ExtensionAuditCategory.js: Added.
65600        (WebInspector.ExtensionAuditCategory):
65601        (WebInspector.ExtensionAuditCategory.prototype.get id):
65602        (WebInspector.ExtensionAuditCategory.prototype.get displayName):
65603        (WebInspector.ExtensionAuditCategory.prototype.get ruleCount):
65604        (WebInspector.ExtensionAuditCategory.prototype.run):
65605        (WebInspector.ExtensionAuditCategoryResults):
65606        (WebInspector.ExtensionAuditCategoryResults.prototype.get complete):
65607        (WebInspector.ExtensionAuditCategoryResults.prototype.cancel):
65608        (WebInspector.ExtensionAuditCategoryResults.prototype.addResult):
65609        (WebInspector.ExtensionAuditCategoryResults.prototype._addNode):
65610        (WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
65611        * inspector/front-end/ExtensionCommon.js: Added.
65612        (WebInspector.commonExtensionSymbols):
65613        * inspector/front-end/ExtensionServer.js:
65614        (WebInspector.ExtensionServer):
65615        (WebInspector.ExtensionServer.prototype.startAuditRun):
65616        (WebInspector.ExtensionServer.prototype.stopAuditRun):
65617        (WebInspector.ExtensionServer.prototype._postNotification):
65618        (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
65619        (WebInspector.ExtensionServer.prototype._onAddAuditResult):
65620        (WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
65621        (WebInspector.ExtensionServer.prototype._addExtensions):
65622        (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
65623        (WebInspector.ExtensionStatus):
65624        * inspector/front-end/WebKit.qrc:
65625        * inspector/front-end/inspector.html:
65626        * inspector/front-end/utilities.js:
65627        ():
65628
656292010-08-31  Justin Schuh  <jschuh@chromium.org>
65630
65631        Reviewed by Nate Chapin.
65632
65633        Remove unused canReferToParentFrameEncoding() function from FrameLoader.cpp
65634        https://bugs.webkit.org/show_bug.cgi?id=44895
65635
65636        No new tests; no behavior changed.
65637
65638        * loader/FrameLoader.cpp:
65639
656402010-08-31  Jeremy Orlow  <jorlow@chromium.org>
65641
65642        Build fix.
65643
65644        * storage/IDBObjectStoreBackendImpl.cpp:
65645        (WebCore::IDBObjectStoreBackendImpl::openCursor):
65646
656472010-08-24  Jeremy Orlow  <jorlow@chromium.org>
65648
65649        Reviewed by Steve Block.
65650
65651        Implement the rest of IDBCursors + make them persistent
65652        https://bugs.webkit.org/show_bug.cgi?id=44546
65653
65654        Because the old (memory only) backend didn't support ranges, IDBCursors
65655        were never really finished.  This completes them on top of SQLite like
65656        the rest of IndexedDB.
65657
65658        Test: storage/indexeddb/objectstore-cursor.html
65659
65660        * storage/IDBCursor.cpp:
65661        (WebCore::IDBCursor::value):
65662        * storage/IDBCursorBackendImpl.cpp:
65663        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
65664        (WebCore::IDBCursorBackendImpl::key):
65665        (WebCore::IDBCursorBackendImpl::value):
65666        (WebCore::IDBCursorBackendImpl::update):
65667        (WebCore::IDBCursorBackendImpl::continueFunction):
65668        (WebCore::IDBCursorBackendImpl::remove):
65669        (WebCore::IDBCursorBackendImpl::loadCurrentRow):
65670        * storage/IDBCursorBackendImpl.h:
65671        (WebCore::IDBCursorBackendImpl::create):
65672        * storage/IDBCursorBackendInterface.h:
65673        * storage/IDBKey.cpp:
65674        (WebCore::IDBKey::isEqual):
65675        * storage/IDBKey.h:
65676        * storage/IDBKeyRange.cpp:
65677        (WebCore::IDBKeyRange::leftBound):
65678        (WebCore::IDBKeyRange::rightBound):
65679        (WebCore::IDBKeyRange::bound):
65680        * storage/IDBObjectStoreBackendImpl.cpp:
65681        (WebCore::cursorWhereFragment):
65682        (WebCore::IDBObjectStoreBackendImpl::openCursor):
65683
656842010-08-27  John Gregg  <johnnyg@google.com>
65685
65686        Reviewed by David Levin.
65687
65688        Notifications should support a click event
65689        https://bugs.webkit.org/show_bug.cgi?id=44800
65690
65691        Test: fast/notifications/notifications-click-event.html
65692
65693        * notifications/Notification.h:
65694        * notifications/Notification.idl:
65695
656962010-08-31  Kent Tamura  <tkent@chromium.org>
65697
65698        Reviewed by Adam Barth.
65699
65700        [V8] Custom binding for "dataset"
65701        https://bugs.webkit.org/show_bug.cgi?id=44930
65702
65703        * WebCore.gyp/WebCore.gyp: Remove the exclusion of DOMStringMap.idl.
65704        * WebCore.gypi: Add V8DOMStringMapCustom.cpp.
65705        * bindings/v8/custom/V8DOMStringMapCustom.cpp: Added.
65706        (WebCore::V8DOMStringMap::namedPropertyQuery):
65707        (WebCore::V8DOMStringMap::namedPropertyGetter):
65708        (WebCore::V8DOMStringMap::namedPropertyEnumerator):
65709        (WebCore::V8DOMStringMap::namedPropertyDeleter):
65710        (WebCore::V8DOMStringMap::namedPropertySetter):
65711        * dom/Element.idl: Remove V8 exclusion.
65712        * page/DOMWindow.idl: ditto.
65713
657142010-08-31  Jian Li  <jianli@chromium.org>
65715
65716        Fix chromium build break.
65717
65718        * page/DOMWindow.h:
65719
657202010-08-31  Adam Barth  <abarth@webkit.org>
65721
65722        Reviewed by Eric Seidel.
65723
65724        Stale document crashes at multiple URLs (with new parser)
65725        https://bugs.webkit.org/show_bug.cgi?id=44885
65726
65727        We're not supposed to load resources in detached documents.  According
65728        to several locations I examined, it's the job of the caller of
65729        DocLoader to check this invariant.  Like most code dealing with
65730        detached documents, this check isn't overly consistent.  At some point,
65731        we'll need to rationalize all the different patterns here.  However, at
65732        this point, this patch appears correct because it matches what we do
65733        for <link rel="stylesheet">.
65734
65735        Test: fast/dom/HTMLLinkElement/prefetch-detached.html
65736
65737        * html/HTMLLinkElement.cpp:
65738        (WebCore::HTMLLinkElement::process):
65739        * loader/DocLoader.cpp:
65740        (WebCore::DocLoader::requestLinkPrefetch):
65741
657422010-08-31  Jian Li  <jianli@chromium.org>
65743
65744        Reviewed by David Levin.
65745
65746        Expose window.createBlobURL and window.revokeBlobURL.
65747        https://bugs.webkit.org/show_bug.cgi?id=44908
65748
65749        Tests: fast/files/apply-blob-url-to-img.html
65750               fast/files/apply-blob-url-to-xhr.html
65751
65752        * page/DOMWindow.cpp:
65753        (WebCore::DOMWindow::createBlobURL):
65754        (WebCore::DOMWindow::revokeBlobURL):
65755        * page/DOMWindow.h:
65756        * page/DOMWindow.idl:
65757        * xml/XMLHttpRequest.cpp:
65758        (WebCore::XMLHttpRequest::createRequest):
65759
657602010-08-31  Jian Li  <jianli@chromium.org>
65761
65762        Reviewed by David Levin.
65763
65764        Support FileReaderSync in workers.
65765        https://bugs.webkit.org/show_bug.cgi?id=44657
65766
65767        Also add FileException interface and make Blob/File/FileError useable in
65768        workers.
65769
65770        Tests: fast/files/workers/worker-read-blob-async.html
65771               fast/files/workers/worker-read-blob-sync.html
65772               fast/files/workers/worker-read-file-async.html
65773               fast/files/workers/worker-read-file-sync.html
65774
65775        * DerivedSources.cpp:
65776        * DerivedSources.make:
65777        * WebCore.gypi:
65778        * WebCore.pro:
65779        * WebCore.vcproj/WebCore.vcproj:
65780        * WebCore.xcodeproj/project.pbxproj:
65781        * fileapi/Blob.idl: Added NoStaticTables attribute.
65782        * fileapi/File.idl: Added NoStaticTables attribute.
65783        * fileapi/FileError.idl: Added NoStaticTables attribute.
65784        * fileapi/FileException.h: Added.
65785        * fileapi/FileException.idl: Added.
65786        * fileapi/FileReaderSync.cpp: Added.
65787        * fileapi/FileReaderSync.h: Added.
65788        * fileapi/FileReaderSync.idl: Added.
65789        * workers/WorkerContext.idl: Expose FileReaderSync and BlodBuilder in workers.
65790
657912010-08-30  Philippe Normand  <pnormand@igalia.com>
65792
65793        Reviewed by Martin Robinson.
65794
65795        [GTK] Buffered ranges drawing support
65796        https://bugs.webkit.org/show_bug.cgi?id=44869
65797
65798        Refactored the media slider track painting code to support
65799        multiple buffered ranges painting. This change introduces no
65800        functional regression.
65801
65802        * platform/gtk/RenderThemeGtk.cpp:
65803        (WebCore::RenderThemeGtk::paintMediaSliderTrack):
65804
658052010-08-30  Mihai Parparita  <mihaip@chromium.org>
65806
65807        Reviewed by Adam Barth.
65808
65809        HISTORY_ALWAYS_ASYNC should be removed (history should always be async)
65810        https://bugs.webkit.org/show_bug.cgi?id=44315
65811
65812        Remove check in RedirectScheduler::scheduleHistoryNavigation that would
65813        dispatch some navigations synchronously.
65814
65815        Test: fast/history/history-traversal-is-asynchronous.html
65816
65817        * loader/RedirectScheduler.cpp:
65818        (WebCore::RedirectScheduler::scheduleHistoryNavigation):
65819
658202010-08-30  Jian Li  <jianli@chromium.org>
65821
65822        Try to fix break again.
65823
65824        * fileapi/ThreadableBlobRegistry.cpp:
65825        (WebCore::ThreadableBlobRegistry::registerBlobURL):
65826        (WebCore::ThreadableBlobRegistry::unregisterBlobURL):
65827
658282010-08-30  Jian Li  <jianli@chromium.org>
65829
65830        Fix another build break. Also fix directory upload test break.
65831
65832        * fileapi/File.cpp:
65833        (WebCore::File::File):
65834        * fileapi/ThreadableBlobRegistry.cpp:
65835
658362010-08-30  Jian Li  <jianli@chromium.org>
65837
65838        Fix build break.
65839
65840        * xml/XMLHttpRequest.cpp:
65841        (WebCore::XMLHttpRequest::send):
65842
658432010-08-30  Jian Li  <jianli@chromium.org>
65844
65845        Fix qt/gtk build break.
65846
65847        * platform/network/BlobRegistryImpl.cpp:
65848
658492010-08-30  Jian Li  <jianli@chromium.org>
65850
65851        Reviewed by Darin Fisher.
65852
65853        Switch the Blob implementation to using the blob data registration model
65854        https://bugs.webkit.org/show_bug.cgi?id=44389
65855
65856        Tests: fast/files/read-blob-async.html
65857               fast/files/read-file-async.html
65858
65859        With this switch, File/Blob/BlobBuilder are changed to register the blob
65860        data. FileReader is changed to route through loading the blob resource.
65861        FormData is also updated to take BlobData. The WebKit mac implementation
65862        is updated to resolve the blob references in the BlobData.
65863
65864        * CMakeLists.txt: Update the project file to remove BlobItem.*.
65865        * GNUmakefile.am: Update the project file to remove BlobItem.*.
65866        * WebCore.gypi: Update the project file to remove BlobItem.*.
65867        * WebCore.pro: Update the project file to remove BlobItem.*.
65868        * WebCore.vcproj/WebCore.vcproj: Update the project file to remove BlobItem.*.
65869        * WebCore.xcodeproj/project.pbxproj: Update the project file to remove BlobItem.*.
65870        * fileapi/Blob.cpp: Switch to using BlobData.
65871        (WebCore::Blob::Blob):
65872        (WebCore::Blob::slice):
65873        * fileapi/Blob.h: Switch to using BlobData.
65874        (WebCore::Blob::create):
65875        (WebCore::Blob::size):
65876        (WebCore::Blob::isFile):
65877        * fileapi/BlobBuilder.cpp: Switch to using BlobData.
65878        (WebCore::BlobBuilder::BlobBuilder):
65879        (WebCore::BlobBuilder::append):
65880        (WebCore::BlobBuilder::getBlob):
65881        * fileapi/BlobBuilder.h: Switch to using BlobData.
65882        * fileapi/BlobURL.cpp: Add a new helper method used in FormData.
65883        (WebCore::BlobURL::getIdentifier):
65884        * fileapi/BlobURL.h:
65885        * fileapi/File.cpp: Switch to using BlobData.
65886        (WebCore::createBlobDataForFile):
65887        (WebCore::File::File):
65888        (WebCore::File::size):
65889        (WebCore::File::captureSnapshot):
65890        * fileapi/File.h: Switch to using BlobData.
65891        (WebCore::File::create):
65892        (WebCore::File::path):
65893        (WebCore::File::name):
65894        (WebCore::File::webkitRelativePath):
65895        * fileapi/FileReader.cpp: Change the reading to route through blob resource loading.
65896        (WebCore::FileReader::FileReader):
65897        (WebCore::FileReader::readAsBinaryString):
65898        (WebCore::FileReader::readAsText):
65899        (WebCore::FileReader::readAsDataURL):
65900        (WebCore::delayedStart):
65901        (WebCore::FileReader::readInternal):
65902        (WebCore::FileReader::terminate):
65903        (WebCore::FileReader::start):
65904        (WebCore::FileReader::didReceiveResponse):
65905        (WebCore::FileReader::didReceiveData):
65906        (WebCore::FileReader::didFinishLoading):
65907        (WebCore::FileReader::didFail):
65908        (WebCore::FileReader::failed):
65909        (WebCore::FileReader::httpStatusCodeToExceptionCode):
65910        (WebCore::FileReader::result):
65911        (WebCore::FileReader::convertToDataURL):
65912        * fileapi/FileReader.h:
65913        * html/FormDataList.cpp: Account to BlobData change.
65914        (WebCore::FormDataList::appendString):
65915        (WebCore::FormDataList::appendBlob):
65916        * html/FormDataList.h: Account to BlobData change.
65917        (WebCore::FormDataList::appendBlob):
65918        (WebCore::FormDataList::Item::Item):
65919        (WebCore::FormDataList::Item::data):
65920        (WebCore::FormDataList::Item::blob):
65921        (WebCore::FormDataList::items):
65922        * loader/FormSubmission.cpp: Account to BlobData change.
65923        (WebCore::FormSubmission::create):
65924        * platform/BlobItem.cpp: Removed.
65925        * platform/BlobItem.h: Removed.
65926        * platform/network/BlobRegistryImpl.cpp: Add the implementations for resource loading.
65927        (WebCore::BlobRegistryImpl::createResourceHandle):
65928        (WebCore::BlobRegistryImpl::loadResourceSynchronously):
65929        * platform/network/BlobResourceHandle.cpp: Fix a bug that the ref is not added.
65930        (WebCore::BlobResourceHandle::BlobResourceHandle):
65931        * platform/network/FormData.cpp: Account to BlobData change.
65932        (WebCore::FormData::create):
65933        (WebCore::FormData::createMultiPart):
65934        (WebCore::FormData::deepCopy):
65935        (WebCore::FormData::appendFile):
65936        (WebCore::FormData::appendKeyValuePairItems):
65937        * platform/network/FormData.h: Account to BlobData change.
65938        * platform/network/mac/FormDataStreamMac.mm: Resolve blob references in the form data.
65939        (WebCore::closeCurrentStream):
65940        (WebCore::advanceCurrentStream):
65941        (WebCore::formCreate):
65942        (WebCore::formRead):
65943        (WebCore::setHTTPBody):
65944        * xml/XMLHttpRequest.cpp: Account to BlobData change.
65945        (WebCore::XMLHttpRequest::send):
65946
659472010-08-30  Eric Seidel  <eric@webkit.org>
65948
65949        Unreviewed, rolling out r66418.
65950        http://trac.webkit.org/changeset/66418
65951        https://bugs.webkit.org/show_bug.cgi?id=44896
65952
65953        Adam tried to roll this out with:
65954        https://bugs.webkit.org/show_bug.cgi?id=44924
65955        but we hit a commit-queue edgecase and it failed, trying again.
65956
65957        Causing test failures on multiple bots
65958
65959        * rendering/RenderForeignObject.cpp:
65960        (WebCore::RenderForeignObject::layout):
65961        * rendering/RenderObject.cpp:
65962        * rendering/RenderObject.h:
65963        (WebCore::RenderObject::setNeedsBoundariesUpdate):
65964        * rendering/RenderObjectChildList.cpp:
65965        (WebCore::RenderObjectChildList::removeChildNode):
65966        * rendering/RenderPath.cpp:
65967        (WebCore::RenderPath::layout):
65968        (WebCore::RenderPath::paint):
65969        (WebCore::RenderPath::styleWillChange):
65970        * rendering/RenderPath.h:
65971        (WebCore::RenderPath::setNeedsBoundariesUpdate):
65972        * rendering/RenderSVGBlock.cpp:
65973        * rendering/RenderSVGBlock.h:
65974        * rendering/RenderSVGContainer.cpp:
65975        (WebCore::RenderSVGContainer::RenderSVGContainer):
65976        (WebCore::RenderSVGContainer::layout):
65977        (WebCore::RenderSVGContainer::paint):
65978        (WebCore::RenderSVGContainer::objectBoundingBox):
65979        (WebCore::RenderSVGContainer::strokeBoundingBox):
65980        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
65981        * rendering/RenderSVGContainer.h:
65982        (WebCore::RenderSVGContainer::calculateLocalTransform):
65983        * rendering/RenderSVGGradientStop.h:
65984        * rendering/RenderSVGHiddenContainer.cpp:
65985        (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
65986        (WebCore::RenderSVGHiddenContainer::objectBoundingBox):
65987        (WebCore::RenderSVGHiddenContainer::repaintRectInLocalCoordinates):
65988        * rendering/RenderSVGHiddenContainer.h:
65989        * rendering/RenderSVGImage.cpp:
65990        (WebCore::RenderSVGImage::layout):
65991        * rendering/RenderSVGImage.h:
65992        * rendering/RenderSVGInline.cpp:
65993        * rendering/RenderSVGInline.h:
65994        * rendering/RenderSVGModelObject.cpp:
65995        * rendering/RenderSVGModelObject.h:
65996        * rendering/RenderSVGRoot.cpp:
65997        (WebCore::RenderSVGRoot::RenderSVGRoot):
65998        (WebCore::RenderSVGRoot::layout):
65999        (WebCore::RenderSVGRoot::objectBoundingBox):
66000        (WebCore::RenderSVGRoot::strokeBoundingBox):
66001        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
66002        * rendering/RenderSVGRoot.h:
66003        * rendering/RenderSVGText.cpp:
66004        (WebCore::RenderSVGText::layout):
66005        * rendering/RenderSVGTransformableContainer.cpp:
66006        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
66007        * rendering/RenderSVGTransformableContainer.h:
66008        * rendering/RenderSVGViewportContainer.cpp:
66009        (WebCore::RenderSVGViewportContainer::calcViewport):
66010        * rendering/SVGRenderSupport.cpp:
66011        (WebCore::SVGRenderSupport::computeContainerBoundingBox):
66012        * rendering/SVGRenderSupport.h:
66013        * rendering/style/SVGRenderStyle.cpp:
66014        (WebCore::SVGRenderStyle::diff):
66015
660162010-08-30  Adam Barth  <abarth@webkit.org>
66017
66018        Reviewed by Eric Seidel.
66019
66020        Implement CDATASection state for the HTMLTokenizer
66021        https://bugs.webkit.org/show_bug.cgi?id=44923
66022
66023        In the spec, this state refers back to the HTMLTreeBuilder from the
66024        HTMLTokenizer.  Rather that introduce that (backwards) dependencies, we
66025        have the tree builder set a bit on the tokenizer.
66026
66027        * html/parser/HTMLTokenizer.cpp:
66028        (WebCore::HTMLTokenizer::reset):
66029        (WebCore::HTMLTokenizer::nextToken):
66030        * html/parser/HTMLTokenizer.h:
66031        (WebCore::HTMLTokenizer::shouldAllowCDATA):
66032        (WebCore::HTMLTokenizer::setShouldAllowCDATA):
66033        * html/parser/HTMLTreeBuilder.cpp:
66034        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
66035
660362010-08-30  Adam Barth  <abarth@webkit.org>
66037
66038        Reviewed by Eric Seidel.
66039
66040        Enable HTML5lib's test_innerHTML01.dat
66041        https://bugs.webkit.org/show_bug.cgi?id=44919
66042
66043        These tests provoked two branches that we hadn't implemented yet.
66044
66045        * html/parser/HTMLTreeBuilder.cpp:
66046        (WebCore::HTMLTreeBuilder::processStartTag):
66047        (WebCore::HTMLTreeBuilder::processEndTag):
66048
660492010-08-30  Mark Rowe  <mrowe@apple.com>
66050
66051        Reviewed by Darin Adler.
66052
66053        Stop using a QuickDraw function that was only used for debugging purposes.
66054
66055        * platform/graphics/mac/SimpleFontDataMac.mm:
66056        (WebCore::pathFromFont):
66057
660582010-08-30  Ryosuke Niwa  <rniwa@webkit.org>
66059
66060        Reviewed by Darin Adler.
66061
66062        queryCommandValue("BackColor") returns rgb(0,0,0) for elements with transparent background
66063        https://bugs.webkit.org/show_bug.cgi?id=21680
66064
66065        The bug was caused by WebKit's using the computed style to obtain the background color,
66066        which is rgba(0,0,0,0) for nodes with transparent background color. While this is correct
66067        in the accordance to CSS2 because background-color is not inherited by default,
66068        it is not desirable for editing purposes where the background color in effect is expected.
66069
66070        Modified valueStyle in EditorCommand.cpp to call Editor::selectionStartCSSPropertyValue,
66071        instead of Frame::selectionStartStylePropertyValue, which traverses common ancestors of
66072        the selected range or caret to retrieve the effective background color of the selected region
66073        instead of the background color at the start of the selection.
66074        This takes effect when the original background color is transparent or the selection is range
66075        (to avoid picking up the background color only present at the start of paragraph).
66076
66077        Removed selectionStartStylePropertyValue and migrated it to Editor::selectionStartCSSPropertyValue.
66078
66079        Test: editing/execCommand/query-command-value-background-color.html
66080
66081        * editing/Editor.cpp:
66082        (WebCore::hasTransparentBackgroundColor): Checks whether the specified style's background color is transparent or not.
66083        (WebCore::Editor::selectionStartCSSPropertyValue): Migrated the contents of selectionStartStylePropertyValue and
66084          added the special case for background color.
66085        * editing/Editor.h: Added the prototype for selectionStartCSSPropertyValue.
66086        * editing/EditorCommand.cpp:
66087        (WebCore::valueStyle): Calls Editor::selectionStartCSSPropertyValue.
66088        * page/Frame.cpp: Removed selectionStartStylePropertyValue.
66089        * page/Frame.h: Ditto.
66090
660912010-08-30  Lei Zhang  <thestig@chromium.org>
66092
66093        Reviewed by Shinichiro Hamaji.
66094
66095        Defer printing until the FrameLoader finishes loading.
66096        https://bugs.webkit.org/show_bug.cgi?id=43658
66097
66098        * manual-tests/print-before-load.html: Added.
66099
66100        * loader/FrameLoader.cpp:
66101        (WebCore::FrameLoader::finishedLoading):
66102        * page/DOMWindow.cpp:
66103        (WebCore::DOMWindow::DOMWindow):
66104        (WebCore::DOMWindow::print):
66105        * page/DOMWindow.h:
66106        (WebCore::DOMWindow::printDeferred):
66107
661082010-08-30  Chris Rogers  <crogers@google.com>
66109
66110        Reviewed by Kenneth Russell.
66111
66112        audio engine: add ReverbConvolver class
66113        https://bugs.webkit.org/show_bug.cgi?id=34912
66114
66115        No new tests since audio API is not yet implemented.
66116
66117        * platform/audio: Added.
66118        * platform/audio/ReverbAccumulationBuffer.cpp: Added.
66119        (WebCore::ReverbAccumulationBuffer::ReverbAccumulationBuffer):
66120        (WebCore::ReverbAccumulationBuffer::readAndClear):
66121        (WebCore::ReverbAccumulationBuffer::updateReadIndex):
66122        (WebCore::ReverbAccumulationBuffer::accumulate):
66123        (WebCore::ReverbAccumulationBuffer::reset):
66124        * platform/audio/ReverbAccumulationBuffer.h: Added.
66125        (WebCore::ReverbAccumulationBuffer::readIndex):
66126        (WebCore::ReverbAccumulationBuffer::readTimeFrame):
66127        * platform/audio/ReverbConvolver.cpp: Added.
66128        (WebCore::backgroundThreadEntry):
66129        (WebCore::ReverbConvolver::ReverbConvolver):
66130        (WebCore::ReverbConvolver::~ReverbConvolver):
66131        (WebCore::ReverbConvolver::backgroundThreadEntry):
66132        (WebCore::ReverbConvolver::process):
66133        (WebCore::ReverbConvolver::reset):
66134        * platform/audio/ReverbConvolver.h: Added.
66135        (WebCore::ReverbConvolver::impulseResponseLength):
66136        (WebCore::ReverbConvolver::inputBuffer):
66137        (WebCore::ReverbConvolver::useBackgroundThreads):
66138        * platform/audio/ReverbConvolverStage.cpp: Added.
66139        (WebCore::ReverbConvolverStage::ReverbConvolverStage):
66140        (WebCore::ReverbConvolverStage::processInBackground):
66141        (WebCore::ReverbConvolverStage::process):
66142        (WebCore::ReverbConvolverStage::reset):
66143        * platform/audio/ReverbConvolverStage.h: Added.
66144        (WebCore::ReverbConvolverStage::inputReadIndex):
66145        * platform/audio/ReverbInputBuffer.cpp: Added.
66146        (WebCore::ReverbInputBuffer::ReverbInputBuffer):
66147        (WebCore::ReverbInputBuffer::write):
66148        (WebCore::ReverbInputBuffer::directReadFrom):
66149        (WebCore::ReverbInputBuffer::reset):
66150        * platform/audio/ReverbInputBuffer.h: Added.
66151        (WebCore::ReverbInputBuffer::writeIndex):
66152
661532010-08-30  Nikolas Zimmermann  <nzimmermann@rim.com>
66154
66155        Reviewed by Dirk Schulze.
66156
66157        Add culling to RenderSVGContainer
66158        https://bugs.webkit.org/show_bug.cgi?id=44896
66159
66160        Cache object/strokeBoundingBox and repaintRectInLocalCoordinates() in RenderSVGContainer & RenderSVGRoot, just like it's done in RenderPath.
66161        Propagate boundary changes up the render tree, in layout phase, in order to notify parents that they should update their cached boundaries.
66162
66163        This is a huge speed benefit when interacting with an already layouted document, as there's no need anymore to traverse all children
66164        of any container or <svg> element, just to retrieve the repaint rect.
66165
66166        * rendering/RenderForeignObject.cpp:
66167        (WebCore::RenderForeignObject::layout):
66168        * rendering/RenderObject.cpp:
66169        (WebCore::RenderObject::setNeedsBoundariesUpdate):
66170        * rendering/RenderObject.h:
66171        * rendering/RenderObjectChildList.cpp:
66172        (WebCore::RenderObjectChildList::removeChildNode):
66173        * rendering/RenderPath.cpp:
66174        (WebCore::RenderPath::layout):
66175        (WebCore::RenderPath::paint):
66176        * rendering/RenderPath.h:
66177        (WebCore::RenderPath::path):
66178        (WebCore::RenderPath::setNeedsBoundariesUpdate):
66179        * rendering/RenderSVGBlock.cpp:
66180        (WebCore::RenderSVGBlock::styleWillChange):
66181        * rendering/RenderSVGBlock.h:
66182        * rendering/RenderSVGContainer.cpp:
66183        (WebCore::RenderSVGContainer::RenderSVGContainer):
66184        (WebCore::RenderSVGContainer::layout):
66185        (WebCore::RenderSVGContainer::paint):
66186        (WebCore::RenderSVGContainer::updateCachedBoundaries):
66187        * rendering/RenderSVGContainer.h:
66188        (WebCore::RenderSVGContainer::setNeedsBoundariesUpdate):
66189        (WebCore::RenderSVGContainer::objectBoundingBox):
66190        (WebCore::RenderSVGContainer::strokeBoundingBox):
66191        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
66192        (WebCore::RenderSVGContainer::calculateLocalTransform):
66193        * rendering/RenderSVGGradientStop.h:
66194        (WebCore::RenderSVGGradientStop::strokeBoundingBox):
66195        * rendering/RenderSVGHiddenContainer.cpp:
66196        * rendering/RenderSVGHiddenContainer.h:
66197        (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
66198        * rendering/RenderSVGImage.cpp:
66199        (WebCore::RenderSVGImage::layout):
66200        (WebCore::RenderSVGImage::styleWillChange):
66201        * rendering/RenderSVGImage.h:
66202        * rendering/RenderSVGInline.cpp:
66203        (WebCore::RenderSVGInline::styleWillChange):
66204        * rendering/RenderSVGInline.h:
66205        * rendering/RenderSVGModelObject.cpp:
66206        (WebCore::RenderSVGModelObject::styleWillChange):
66207        * rendering/RenderSVGModelObject.h:
66208        * rendering/RenderSVGRoot.cpp:
66209        (WebCore::RenderSVGRoot::RenderSVGRoot):
66210        (WebCore::RenderSVGRoot::layout):
66211        (WebCore::RenderSVGRoot::styleWillChange):
66212        (WebCore::RenderSVGRoot::updateCachedBoundaries):
66213        * rendering/RenderSVGRoot.h:
66214        (WebCore::RenderSVGRoot::setNeedsBoundariesUpdate):
66215        (WebCore::RenderSVGRoot::setNeedsTransformUpdate):
66216        (WebCore::RenderSVGRoot::objectBoundingBox):
66217        (WebCore::RenderSVGRoot::strokeBoundingBox):
66218        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
66219        * rendering/RenderSVGText.cpp:
66220        (WebCore::RenderSVGText::layout):
66221        * rendering/RenderSVGTransformableContainer.cpp:
66222        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
66223        * rendering/RenderSVGTransformableContainer.h:
66224        * rendering/RenderSVGViewportContainer.cpp:
66225        (WebCore::RenderSVGViewportContainer::calcViewport):
66226        * rendering/SVGRenderSupport.cpp:
66227        (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
66228        (WebCore::SVGRenderSupport::paintInfoIntersectsRepaintRect):
66229        * rendering/SVGRenderSupport.h:
66230        * rendering/style/SVGRenderStyle.cpp:
66231        (WebCore::SVGRenderStyle::diff):
66232
662332010-08-30  Leandro Pereira  <leandro@profusion.mobi>
66234
66235        [EFL] Unreviewed. Build fix when ENABLE_WEB_SOCKETS=ON.
66236
66237        EFL port does not yet support automated tests.
66238
66239        * CMakeLists.txt: Add missing files.
66240        * CMakeListsEfl.txt: Ditto.
66241
662422010-08-30  Kenneth Russell  <kbr@google.com>
66243
66244        Reviewed by Chris Marrin.
66245
66246        Expose Vector3 and associated operations
66247        https://bugs.webkit.org/show_bug.cgi?id=44666
66248
66249        Rolling out earlier patch exposing Vector3 class in
66250        TransformationMatrix.h. A different approach will be taken under
66251        another bug.
66252
66253        * platform/graphics/transforms/TransformationMatrix.cpp:
66254        (WebCore::v3Length):
66255        (WebCore::v3Scale):
66256        (WebCore::v3Dot):
66257        (WebCore::v3Combine):
66258        (WebCore::v3Cross):
66259        (WebCore::decompose):
66260        * platform/graphics/transforms/TransformationMatrix.ha:
66261
662622010-08-30  Jer Noble  <jer.noble@apple.com>
66263
66264        Build fix; Unreviewed.
66265
66266        Added a export symbol to the WebCore.exp.in list.
66267
66268        * WebCore.exp.in:
66269
662702010-08-30  Chris Rogers  <crogers@google.com>
66271
66272        Reviewed by Kenneth Russell.
66273
66274        Add audio cone effect files.  The cone effect operates as defined in the OpenAL specification.
66275        https://bugs.webkit.org/show_bug.cgi?id=44712
66276
66277        No new tests since audio API not implemented yet.
66278
66279        * platform/audio: Added.
66280        * platform/audio/Cone.cpp: Added.
66281        (WebCore::ConeEffect::ConeEffect):
66282        (WebCore::ConeEffect::gain):
66283        * platform/audio/Cone.h: Added.
66284        (WebCore::ConeEffect::setInnerAngle):
66285        (WebCore::ConeEffect::innerAngle):
66286        (WebCore::ConeEffect::setOuterAngle):
66287        (WebCore::ConeEffect::outerAngle):
66288        (WebCore::ConeEffect::setOuterGain):
66289        (WebCore::ConeEffect::outerGain):
66290
662912010-08-30  Chris Rogers  <crogers@google.com>
66292
66293        Reviewed by Chris Marrin.
66294
66295        audio engine: add Reverb class
66296        https://bugs.webkit.org/show_bug.cgi?id=36466
66297
66298        No new tests since audio API is not yet implemented.
66299
66300        * platform/audio: Added.
66301        * platform/audio/Reverb.cpp: Added.
66302        (WebCore::calculateNormalizationScale):
66303        (WebCore::Reverb::Reverb):
66304        (WebCore::Reverb::initialize):
66305        (WebCore::Reverb::process):
66306        (WebCore::Reverb::reset):
66307        * platform/audio/Reverb.h: Added.
66308        (WebCore::Reverb::):
66309        (WebCore::Reverb::impulseResponseLength):
66310
663112010-08-30  Chris Rogers  <crogers@google.com>
66312
66313        Unreviewed
66314
66315        Add WebCore/platform/audio directory
66316        in preparation for landing: https://bugs.webkit.org/show_bug.cgi?id=36466
66317
66318        * platform/audio: Added.
66319
663202010-08-27  Jer Noble  <jer.noble@apple.com>
66321
66322        Reviewed by Eric Carlson.
66323
66324        text/plain non-video files cause <video> to hang (while reading them?)
66325        https://bugs.webkit.org/show_bug.cgi?id=44212
66326        
66327        Disable all the QuickTime components which ingest .txt files.
66328
66329        New tests: 
66330        * http/tests/media/video-served-as-text.html: Added.
66331        * http/tests/media/text-served-as-text.html: Added.
66332
66333        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
66334        (WebCore::MediaPlayerPrivate::createQTMovie): Disable all four text
66335            'eat' components.
66336        * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieDisableComponent.
66337        * platform/mac/WebCoreSystemInterface.mm: Add wkQTMovieDisableComponent.
66338
663392010-08-30  Robert Hogan  <robert@webkit.org>
66340
66341        Reviewed by Simon Hausmann.
66342
66343        allow ports with windowed plugins to support windowless plugin tests
66344
66345        https://bugs.webkit.org/show_bug.cgi?id=40730
66346
66347        Ports that implement plugins windowed by default need to have a way of
66348        supporting plugin tests that assume the plugin is windowless. Add this
66349        feature to the tests and support it in the webkit test plugin. Also
66350        add mouse and keyboard event logging to the webkit-test plugin on Unix.
66351
66352        Unskip the following tests on Qt:
66353
66354        plugins/mouse-events.html
66355        plugins/keyboard-events.html
66356        plugins/mouse-events-fixedpos.html
66357
66358        * plugins/qt/PluginViewQt.cpp:
66359        (WebCore::PluginView::setFocus):
66360        (WebCore::setXKeyEventSpecificFields):
66361
663622010-08-30  Kinuko Yasuda  <kinuko@chromium.org>
66363
66364        Reviewed by Darin Fisher.
66365
66366        Add DOMFileSystem implementation to support Entry manipulation operations
66367        https://bugs.webkit.org/show_bug.cgi?id=44732
66368
66369        No new tests; tests will be added later.
66370
66371        * storage/DOMFileSystem.cpp:
66372        (WebCore::DOMFileSystem::root):
66373        (WebCore::checkValidityForForCopyOrMove): Added.
66374        (WebCore::DOMFileSystem::getMetadata): Added.
66375        (WebCore::DOMFileSystem::move): Added.
66376        (WebCore::DOMFileSystem::copy): Added.
66377        (WebCore::DOMFileSystem::remove): Added.
66378        (WebCore::DOMFileSystem::getParent): Added.
66379        (WebCore::DOMFileSystem::getFile): Added.
66380        (WebCore::DOMFileSystem::getDirectory): Added.
66381        (WebCore::DOMFileSystem::readDirectory): Added.
66382        * storage/DirectoryEntry.cpp:
66383        (WebCore::DirectoryEntry::getFile): Added implementation.
66384        (WebCore::DirectoryEntry::getDirectory): Added implementation.
66385        * storage/DirectoryReader.cpp:
66386        (WebCore::DirectoryReader::DirectoryReader): Added implementation.
66387        (WebCore::DirectoryReader::readEntries): Added implementation.
66388        * storage/DirectoryReader.h:
66389        * storage/Entry.cpp:
66390        (WebCore::Entry::getMetadata): Added implementation.
66391        (WebCore::Entry::moveTo): Added implementation.
66392        (WebCore::Entry::copyTo): Added implementation.
66393        (WebCore::Entry::remove): Added implementation.
66394        (WebCore::Entry::getParent): Added implementation.
66395        * storage/Entry.h:
66396        * storage/FileEntry.h:
66397
66398        Added a helper template to schedule callbacks.
66399        * storage/DOMFileSystem.h:
66400        (WebCore::DOMFileSystem::DispatchCallbackTask): Added to schedule callbacks.
66401        (WebCore::DOMFileSystem::scheduleCallback): Added to schedule callbacks.
66402
66403        Changed to fire callbacks asynchronously.
66404        * storage/LocalFileSystem.cpp:
66405        (WebCore::LocalFileSystem::requestFileSystem):
66406
664072010-08-30  Alejandro G. Castro  <alex@igalia.com>
66408
66409        Reviewed by Xan Lopez.
66410
66411        Fixed compilation error, now that we have included the
66412        GtkVersioning.h we have to remove some version dependent code from
66413        EventSender.
66414
66415        * platform/gtk/GtkVersioning.c:
66416        (gdk_window_get_root_coords):
66417        * platform/gtk/GtkVersioning.h:
66418
664192010-08-30  Beth Dakin  <bdakin@apple.com>
66420
66421        Reviewed by Sam Weinig.
66422
66423        Fix for https://bugs.webkit.org/show_bug.cgi?id=44804 Crashes in 
66424        RenderMathMLRoot::layout() and RenderMathMLRoot::paint()
66425        -and corresponding-
66426        <rdar://problem/8342055>
66427
66428        All of the calls to firstChild() and lastChild() in 
66429        RenderMathMLRoot::layout() and RenderMathMLRoot::paint() need to be 
66430        null checked.
66431
66432        * mathml/RenderMathMLRoot.cpp:
66433        (WebCore::RenderMathMLRoot::paint):
66434        (WebCore::RenderMathMLRoot::layout):
66435
664362010-08-30  Beth Dakin  <bdakin@apple.com>
66437
66438        Reviewed by Darin Adler.
66439
66440        Fix for https://bugs.webkit.org/show_bug.cgi?id=44801 Crash in 
66441        RenderMathMLSubSup::layout()
66442        -and corresponding-
66443        <rdar://problem/8325203>
66444
66445        Null-check m_scripts. It is null-checked everywhere else in the 
66446        class and can legitimately be null.
66447
66448        * mathml/RenderMathMLSubSup.cpp:
66449        (WebCore::RenderMathMLSubSup::layout):
66450
664512010-08-30  Alejandro G. Castro  <alex@igalia.com>
66452
66453        Reviewed by Martin Robinson.
66454
66455        [Gtk] gdk_display_get_core_pointer and gdk_device_get_core_pointer
66456        are deprecated
66457        https://bugs.webkit.org/show_bug.cgi?id=44787
66458
66459        We have replaced GtkVersioning.cpp with GtkVersioning.c and
66460        created a function (getDefaultGDKPointerDevice) to get the pointer
66461        of the window with the new APIs. We added that function to DRT and
66462        copyandpaste unit test.
66463
66464        * GNUmakefile.am:
66465        * platform/gtk/GtkVersioning.c: Added.
66466        (gtk_adjustment_set_value):
66467        (gtk_adjustment_configure):
66468        (getDefaultGDKPointerDevice):
66469        * platform/gtk/GtkVersioning.cpp: Removed.
66470        * platform/gtk/GtkVersioning.h:
66471
664722010-08-30  Darin Adler  <darin@apple.com>
66473
66474        Reviewed by Sam Weinig.
66475
66476        Make SVG constructors private to make sure callers all use create
66477        https://bugs.webkit.org/show_bug.cgi?id=44872
66478
66479        Made as many members private and protected as possible, and got rid of many
66480        unneeded empty constructor and destructor definitions, in some cases changing
66481        a class to be non-polymorphic. Made some functions inline. Used the word document
66482        instead of the abbreviation doc. Removed unneeded explicit base class
66483        initialization in cases where it is no different from the default behavior.
66484
66485        * svg/SVGAElement.cpp:
66486        (WebCore::SVGAElement::SVGAElement):
66487        (WebCore::SVGAElement::childShouldCreateRenderer):
66488        * svg/SVGAElement.h:
66489        * svg/SVGAltGlyphElement.cpp:
66490        (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
66491        * svg/SVGAltGlyphElement.h:
66492        * svg/SVGAngle.cpp:
66493        * svg/SVGAngle.h:
66494        * svg/SVGAnimateColorElement.cpp:
66495        (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
66496        * svg/SVGAnimateColorElement.h:
66497        * svg/SVGAnimateElement.cpp:
66498        (WebCore::SVGAnimateElement::SVGAnimateElement):
66499        * svg/SVGAnimateElement.h:
66500        * svg/SVGAnimateMotionElement.cpp:
66501        (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
66502        * svg/SVGAnimateMotionElement.h:
66503        * svg/SVGAnimateTransformElement.cpp:
66504        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
66505        * svg/SVGAnimateTransformElement.h:
66506        * svg/SVGAnimatedPathData.cpp:
66507        * svg/SVGAnimatedPathData.h:
66508        * svg/SVGAnimatedPoints.cpp:
66509        * svg/SVGAnimatedPoints.h:
66510        * svg/SVGAnimationElement.cpp:
66511        (WebCore::SVGAnimationElement::SVGAnimationElement):
66512        * svg/SVGAnimationElement.h:
66513        * svg/SVGCircleElement.cpp:
66514        (WebCore::SVGCircleElement::SVGCircleElement):
66515        * svg/SVGCircleElement.h:
66516        * svg/SVGClipPathElement.cpp:
66517        (WebCore::SVGClipPathElement::SVGClipPathElement):
66518        * svg/SVGClipPathElement.h:
66519        * svg/SVGColor.cpp:
66520        * svg/SVGColor.h:
66521        * svg/SVGComponentTransferFunctionElement.cpp:
66522        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
66523        * svg/SVGComponentTransferFunctionElement.h:
66524        * svg/SVGCursorElement.cpp:
66525        (WebCore::SVGCursorElement::SVGCursorElement):
66526        * svg/SVGCursorElement.h:
66527        * svg/SVGDefsElement.cpp:
66528        (WebCore::SVGDefsElement::SVGDefsElement):
66529        * svg/SVGDefsElement.h:
66530        * svg/SVGDescElement.cpp:
66531        (WebCore::SVGDescElement::SVGDescElement):
66532        * svg/SVGDescElement.h:
66533        * svg/SVGDocument.cpp:
66534        * svg/SVGDocument.h:
66535        * svg/SVGDocumentExtensions.cpp:
66536        (WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
66537        (WebCore::SVGDocumentExtensions::reportWarning):
66538        (WebCore::SVGDocumentExtensions::reportError):
66539        * svg/SVGDocumentExtensions.h:
66540        * svg/SVGElement.h:
66541        * svg/SVGElementInstanceList.h:
66542        * svg/SVGEllipseElement.cpp:
66543        (WebCore::SVGEllipseElement::SVGEllipseElement):
66544        * svg/SVGEllipseElement.h:
66545        * svg/SVGExternalResourcesRequired.cpp:
66546        * svg/SVGExternalResourcesRequired.h:
66547        * svg/SVGFEBlendElement.cpp:
66548        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
66549        * svg/SVGFEBlendElement.h:
66550        * svg/SVGFEColorMatrixElement.cpp:
66551        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
66552        * svg/SVGFEColorMatrixElement.h:
66553        * svg/SVGFEComponentTransferElement.cpp:
66554        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
66555        * svg/SVGFEComponentTransferElement.h:
66556        * svg/SVGFECompositeElement.cpp:
66557        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
66558        * svg/SVGFECompositeElement.h:
66559        * svg/SVGFEConvolveMatrixElement.cpp:
66560        (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
66561        * svg/SVGFEConvolveMatrixElement.h:
66562        * svg/SVGFEDiffuseLightingElement.cpp:
66563        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
66564        * svg/SVGFEDiffuseLightingElement.h:
66565        * svg/SVGFEDisplacementMapElement.cpp:
66566        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
66567        * svg/SVGFEDisplacementMapElement.h:
66568        * svg/SVGFEDistantLightElement.cpp:
66569        (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
66570        * svg/SVGFEDistantLightElement.h:
66571        * svg/SVGFEFloodElement.cpp:
66572        (WebCore::SVGFEFloodElement::SVGFEFloodElement):
66573        * svg/SVGFEFloodElement.h:
66574        * svg/SVGFEFuncAElement.cpp:
66575        (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
66576        * svg/SVGFEFuncAElement.h:
66577        * svg/SVGFEFuncBElement.cpp:
66578        (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
66579        * svg/SVGFEFuncBElement.h:
66580        * svg/SVGFEFuncGElement.cpp:
66581        (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
66582        * svg/SVGFEFuncGElement.h:
66583        * svg/SVGFEFuncRElement.cpp:
66584        (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
66585        * svg/SVGFEFuncRElement.h:
66586        * svg/SVGFEGaussianBlurElement.cpp:
66587        (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
66588        * svg/SVGFEGaussianBlurElement.h:
66589        * svg/SVGFEImageElement.cpp:
66590        (WebCore::SVGFEImageElement::SVGFEImageElement):
66591        * svg/SVGFEImageElement.h:
66592        * svg/SVGFELightElement.cpp:
66593        (WebCore::SVGFELightElement::SVGFELightElement):
66594        * svg/SVGFELightElement.h:
66595        * svg/SVGFEMergeElement.cpp:
66596        (WebCore::SVGFEMergeElement::SVGFEMergeElement):
66597        * svg/SVGFEMergeElement.h:
66598        * svg/SVGFEMergeNodeElement.cpp:
66599        (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
66600        * svg/SVGFEMergeNodeElement.h:
66601        * svg/SVGFEMorphologyElement.cpp:
66602        (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
66603        * svg/SVGFEMorphologyElement.h:
66604        * svg/SVGFEOffsetElement.cpp:
66605        (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
66606        * svg/SVGFEOffsetElement.h:
66607        * svg/SVGFEPointLightElement.cpp:
66608        (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
66609        (WebCore::SVGFEPointLightElement::lightSource):
66610        * svg/SVGFEPointLightElement.h:
66611        * svg/SVGFESpecularLightingElement.cpp:
66612        (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
66613        * svg/SVGFESpecularLightingElement.h:
66614        * svg/SVGFESpotLightElement.cpp:
66615        (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
66616        * svg/SVGFESpotLightElement.h:
66617        * svg/SVGFETileElement.cpp:
66618        (WebCore::SVGFETileElement::SVGFETileElement):
66619        * svg/SVGFETileElement.h:
66620        * svg/SVGFETurbulenceElement.cpp:
66621        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
66622        * svg/SVGFETurbulenceElement.h:
66623        * svg/SVGFilterElement.cpp:
66624        (WebCore::SVGFilterElement::SVGFilterElement):
66625        * svg/SVGFilterElement.h:
66626        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
66627        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
66628        * svg/SVGFilterPrimitiveStandardAttributes.h:
66629        * svg/SVGFitToViewBox.cpp:
66630        * svg/SVGFitToViewBox.h:
66631        * svg/SVGFontData.cpp:
66632        * svg/SVGFontData.h:
66633        * svg/SVGFontElement.cpp:
66634        (WebCore::SVGFontElement::SVGFontElement):
66635        * svg/SVGFontElement.h:
66636        * svg/SVGFontFaceElement.cpp:
66637        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
66638        * svg/SVGFontFaceElement.h:
66639        * svg/SVGFontFaceFormatElement.cpp:
66640        (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
66641        * svg/SVGFontFaceFormatElement.h:
66642        * svg/SVGFontFaceNameElement.cpp:
66643        (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
66644        * svg/SVGFontFaceNameElement.h:
66645        * svg/SVGFontFaceSrcElement.cpp:
66646        (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
66647        * svg/SVGFontFaceSrcElement.h:
66648        * svg/SVGFontFaceUriElement.cpp:
66649        (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
66650        * svg/SVGFontFaceUriElement.h:
66651        * svg/SVGForeignObjectElement.cpp:
66652        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
66653        * svg/SVGForeignObjectElement.h:
66654        * svg/SVGGElement.cpp:
66655        (WebCore::SVGGElement::SVGGElement):
66656        * svg/SVGGElement.h:
66657        * svg/SVGGlyphElement.cpp:
66658        (WebCore::SVGGlyphElement::SVGGlyphElement):
66659        * svg/SVGGlyphElement.h:
66660        * svg/SVGGradientElement.cpp:
66661        (WebCore::SVGGradientElement::SVGGradientElement):
66662        * svg/SVGGradientElement.h:
66663        * svg/SVGHKernElement.cpp:
66664        (WebCore::SVGHKernElement::SVGHKernElement):
66665        * svg/SVGHKernElement.h:
66666        * svg/SVGImageElement.cpp:
66667        (WebCore::SVGImageElement::SVGImageElement):
66668        * svg/SVGImageElement.h:
66669        * svg/SVGImageLoader.cpp:
66670        * svg/SVGImageLoader.h:
66671        * svg/SVGLangSpace.cpp:
66672        * svg/SVGLangSpace.h:
66673        * svg/SVGLengthList.cpp:
66674        * svg/SVGLengthList.h:
66675        * svg/SVGLineElement.cpp:
66676        (WebCore::SVGLineElement::SVGLineElement):
66677        * svg/SVGLineElement.h:
66678        * svg/SVGLinearGradientElement.cpp:
66679        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
66680        * svg/SVGLinearGradientElement.h:
66681        * svg/SVGLocatable.cpp:
66682        * svg/SVGLocatable.h:
66683        * svg/SVGMPathElement.cpp:
66684        (WebCore::SVGMPathElement::SVGMPathElement):
66685        * svg/SVGMPathElement.h:
66686        * svg/SVGMarkerElement.cpp:
66687        (WebCore::SVGMarkerElement::SVGMarkerElement):
66688        * svg/SVGMarkerElement.h:
66689        * svg/SVGMaskElement.cpp:
66690        (WebCore::SVGMaskElement::SVGMaskElement):
66691        * svg/SVGMaskElement.h:
66692        * svg/SVGMetadataElement.cpp:
66693        (WebCore::SVGMetadataElement::SVGMetadataElement):
66694        * svg/SVGMetadataElement.h:
66695        * svg/SVGMissingGlyphElement.cpp:
66696        (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
66697        * svg/SVGMissingGlyphElement.h:
66698        * svg/SVGNumberList.cpp:
66699        * svg/SVGNumberList.h:
66700        * svg/SVGPaint.cpp:
66701        * svg/SVGPaint.h:
66702        * svg/SVGParserUtilities.cpp:
66703        (WebCore::genericParseNumber):
66704        (WebCore::parseNumber):
66705        * svg/SVGPathBlender.cpp:
66706        * svg/SVGPathBlender.h:
66707        * svg/SVGPathBuilder.h:
66708        * svg/SVGPathByteStreamBuilder.h:
66709        * svg/SVGPathByteStreamSource.cpp:
66710        * svg/SVGPathByteStreamSource.h:
66711        * svg/SVGPathConsumer.h:
66712        * svg/SVGPathElement.cpp:
66713        (WebCore::SVGPathElement::SVGPathElement):
66714        * svg/SVGPathElement.h:
66715        * svg/SVGPathParser.cpp:
66716        * svg/SVGPathParser.h:
66717        * svg/SVGPathSeg.cpp:
66718        * svg/SVGPathSeg.h:
66719        * svg/SVGPathSegArc.h:
66720        * svg/SVGPathSegClosePath.cpp:
66721        * svg/SVGPathSegClosePath.h:
66722        * svg/SVGPathSegCurvetoCubic.h:
66723        * svg/SVGPathSegCurvetoCubicSmooth.h:
66724        * svg/SVGPathSegCurvetoQuadratic.h:
66725        * svg/SVGPathSegCurvetoQuadraticSmooth.h:
66726        * svg/SVGPathSegLineto.h:
66727        * svg/SVGPathSegLinetoHorizontal.h:
66728        * svg/SVGPathSegLinetoVertical.h:
66729        * svg/SVGPathSegList.cpp:
66730        * svg/SVGPathSegList.h:
66731        * svg/SVGPathSegListBuilder.h:
66732        * svg/SVGPathSegListSource.cpp:
66733        * svg/SVGPathSegListSource.h:
66734        * svg/SVGPathSegMoveto.h:
66735        * svg/SVGPathSource.h:
66736        * svg/SVGPathStringBuilder.cpp:
66737        * svg/SVGPathStringBuilder.h:
66738        * svg/SVGPathStringSource.cpp:
66739        * svg/SVGPathStringSource.h:
66740        * svg/SVGPatternElement.cpp:
66741        (WebCore::SVGPatternElement::SVGPatternElement):
66742        * svg/SVGPatternElement.h:
66743        * svg/SVGPointList.cpp:
66744        * svg/SVGPointList.h:
66745        * svg/SVGPolyElement.cpp:
66746        (WebCore::SVGPolyElement::SVGPolyElement):
66747        * svg/SVGPolyElement.h:
66748        * svg/SVGPolygonElement.cpp:
66749        (WebCore::SVGPolygonElement::SVGPolygonElement):
66750        * svg/SVGPolygonElement.h:
66751        * svg/SVGPolylineElement.cpp:
66752        (WebCore::SVGPolylineElement::SVGPolylineElement):
66753        * svg/SVGPolylineElement.h:
66754        * svg/SVGPreserveAspectRatio.cpp:
66755        * svg/SVGPreserveAspectRatio.h:
66756        * svg/SVGRadialGradientElement.cpp:
66757        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
66758        * svg/SVGRadialGradientElement.h:
66759        * svg/SVGRectElement.cpp:
66760        (WebCore::SVGRectElement::SVGRectElement):
66761        * svg/SVGRectElement.h:
66762        * svg/SVGSVGElement.h:
66763        * svg/SVGScriptElement.cpp:
66764        (WebCore::SVGScriptElement::SVGScriptElement):
66765        * svg/SVGScriptElement.h:
66766        * svg/SVGSetElement.cpp:
66767        (WebCore::SVGSetElement::SVGSetElement):
66768        * svg/SVGSetElement.h:
66769        * svg/SVGStopElement.cpp:
66770        (WebCore::SVGStopElement::SVGStopElement):
66771        * svg/SVGStopElement.h:
66772        * svg/SVGStringList.cpp:
66773        * svg/SVGStringList.h:
66774        * svg/SVGStylable.cpp:
66775        * svg/SVGStylable.h:
66776        * svg/SVGStyleElement.cpp:
66777        (WebCore::SVGStyleElement::SVGStyleElement):
66778        * svg/SVGStyleElement.h:
66779        * svg/SVGStyledElement.cpp:
66780        (WebCore::SVGStyledElement::SVGStyledElement):
66781        * svg/SVGStyledElement.h:
66782        * svg/SVGStyledLocatableElement.cpp:
66783        (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
66784        * svg/SVGStyledLocatableElement.h:
66785        * svg/SVGStyledTransformableElement.cpp:
66786        (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
66787        * svg/SVGStyledTransformableElement.h:
66788        * svg/SVGSwitchElement.cpp:
66789        (WebCore::SVGSwitchElement::SVGSwitchElement):
66790        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
66791        * svg/SVGSwitchElement.h:
66792        * svg/SVGSymbolElement.cpp:
66793        (WebCore::SVGSymbolElement::SVGSymbolElement):
66794        * svg/SVGSymbolElement.h:
66795        * svg/SVGTRefElement.cpp:
66796        (WebCore::SVGTRefElement::SVGTRefElement):
66797        * svg/SVGTRefElement.h:
66798        * svg/SVGTSpanElement.cpp:
66799        (WebCore::SVGTSpanElement::SVGTSpanElement):
66800        * svg/SVGTests.cpp:
66801        * svg/SVGTests.h:
66802        * svg/SVGTextContentElement.cpp:
66803        (WebCore::SVGTextContentElement::SVGTextContentElement):
66804        * svg/SVGTextContentElement.h:
66805        * svg/SVGTextElement.cpp:
66806        (WebCore::SVGTextElement::SVGTextElement):
66807        * svg/SVGTextElement.h:
66808        * svg/SVGTextPathElement.cpp:
66809        (WebCore::SVGTextPathElement::SVGTextPathElement):
66810        * svg/SVGTextPathElement.h:
66811        * svg/SVGTextPositioningElement.cpp:
66812        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
66813        * svg/SVGTextPositioningElement.h:
66814        * svg/SVGTitleElement.cpp:
66815        (WebCore::SVGTitleElement::SVGTitleElement):
66816        * svg/SVGTransform.cpp:
66817        * svg/SVGTransform.h:
66818        * svg/SVGTransformable.cpp:
66819        * svg/SVGTransformable.h:
66820        * svg/SVGURIReference.cpp:
66821        * svg/SVGURIReference.h:
66822        * svg/SVGUseElement.cpp:
66823        (WebCore::SVGUseElement::SVGUseElement):
66824        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
66825        * svg/SVGUseElement.h:
66826        * svg/SVGViewElement.cpp:
66827        (WebCore::SVGViewElement::SVGViewElement):
66828        * svg/SVGViewElement.h:
66829        * svg/SVGViewSpec.cpp:
66830        (WebCore::SVGViewSpec::SVGViewSpec):
66831        * svg/SVGViewSpec.h:
66832        * svg/SVGZoomAndPan.cpp:
66833        * svg/SVGZoomAndPan.h:
66834        * svg/SVGZoomEvent.cpp:
66835        * svg/SVGZoomEvent.h:
66836
668372010-08-30  Eric Carlson  <eric.carlson@apple.com>
66838
66839        Reviewed by Dan Bernstein.
66840
66841        Disable automatic looping
66842        https://bugs.webkit.org/show_bug.cgi?id=44844
66843
66844        Test: media/video-does-not-loop.html
66845
66846        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
66847        (WebCore::MediaPlayerPrivate::createQTMovie): Disable QuickTime automatic looping.
66848
66849        * platform/graphics/win/QTMovie.cpp:
66850        (QTMoviePrivate::createMovieController): Ditto.
66851
668522010-08-30  Ryosuke Niwa  <rniwa@webkit.org>
66853
66854        Reviewed by Darin Adler.
66855
66856        ApplyStyleCommand::applyInlineStyle needs cleanup
66857        https://bugs.webkit.org/show_bug.cgi?id=44458
66858
66859        Cleanup:
66860        1. Isolated code to find the highest ancestor with embedding style, and deployed it in
66861           ApplyStyleCommand::applyInlineStyle.
66862        2. Combined the code to remove embedding style up to enclosing block and the code to
66863           remove unicode-bidi and direction properties between start and end nodes.
66864        3. Simplified the conditionals to apply embedding styles.
66865
66866        No new tests are added since this is a cleanup.
66867
66868        * editing/ApplyStyleCommand.cpp:
66869        (WebCore::highestEmbeddingAncestor): Added.
66870        (WebCore::ApplyStyleCommand::applyInlineStyle): See above.
66871
668722010-08-30  Martin Robinson  <mrobinson@igalia.com>
66873
66874        Build fix. Add the new fileapi directory to the IDL vpath.
66875
66876        * GNUmakefile.am:
66877
668782010-08-30  Martin Robinson  <mrobinson@igalia.com>
66879
66880        Reviewed by Xan Lopez.
66881
66882        [GTK] WebKit DOM bindings build should not depend on output GNUMakefile
66883        https://bugs.webkit.org/show_bug.cgi?id=44805
66884
66885        Move WebKit DOM bindings build rules to bindings/gobject/GNUmakefile.am to
66886        prevent full WebKit API rebuilds when the automake files change.
66887
66888        No new tests as this is just a build change.
66889
66890        * bindings/gobject/GNUmakefile.am: Added.
66891
668922010-08-30  Pavel Feldman  <pfeldman@chromium.org>
66893
66894        Reviewed by Yury Semikhatsky.
66895
66896        Web Inspector: event listener properties are rendered as [object Object].
66897        https://bugs.webkit.org/show_bug.cgi?id=44779
66898
66899        * inspector/front-end/EventListenersSidebarPane.js:
66900
669012010-08-30  Ryuan Choi  <ryuan.choi@samsung.com>
66902
66903        Unreviewed build fix with Blob Support
66904
66905        [EFL] Build break with Blob support
66906        https://bugs.webkit.org/show_bug.cgi?id=44858
66907
66908        No new features added, so no new tests.
66909
66910        * CMakeLists.txt:
66911
669122010-08-30  Andras Becsi  <abecsi@webkit.org>
66913
66914        Unreviewed trivial fix.
66915
66916        [Qt] Let qmake know about HTML parser headers.
66917
66918        No new tests needed.
66919
66920        * WebCore.pro:
66921
669222010-08-30  Andras Becsi  <abecsi@webkit.org>
66923
66924        Unreviewed build fix.
66925
66926        [Qt] Fix fileapi header paths to fix warnings after r66365.
66927
66928        No new tests needed.
66929
66930        * WebCore.pro:
66931
669322010-08-30  Csaba Osztrogonác  <ossy@webkit.org>
66933
66934        Reviewed by Kent Tamura.
66935
66936        REGRESSION(r66355): Fix warnings in html/DateComponents.cpp
66937        https://bugs.webkit.org/show_bug.cgi?id=44855
66938
66939        * html/DateComponents.cpp:
66940        (WebCore::DateComponents::setMillisecondsSinceEpochForWeek): Suggested parentheses added around && within ||
66941
669422010-08-30  Csaba Osztrogonác  <ossy@webkit.org>
66943
66944        Reviewed by Darin Adler.
66945
66946        REGRESSION(r66324): Fix warnings in editing/ApplyStyleCommand.cpp
66947        https://bugs.webkit.org/show_bug.cgi?id=44843
66948
66949        * editing/ApplyStyleCommand.cpp:
66950        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Suggested parentheses added around && within ||
66951
669522010-08-30  Sheriff Bot  <webkit.review.bot@gmail.com>
66953
66954        Unreviewed, rolling out r66198.
66955        http://trac.webkit.org/changeset/66198
66956        https://bugs.webkit.org/show_bug.cgi?id=44856
66957
66958        It made tests crash on Qt bot (Requested by Ossy_ on #webkit).
66959
66960        * inspector/Inspector.idl:
66961        * inspector/InspectorController.cpp:
66962        (WebCore::InspectorController::inspectedPageDestroyed):
66963        (WebCore::InspectorController::close):
66964        * inspector/InspectorFrontendClient.h:
66965        * inspector/InspectorFrontendHost.cpp:
66966        * inspector/InspectorFrontendHost.h:
66967        * inspector/InspectorFrontendHost.idl:
66968        * inspector/front-end/InspectorFrontendHostStub.js:
66969        * inspector/front-end/inspector.js:
66970        (WebInspector.inspectedPageDestroyed):
66971
669722010-08-30  Marc-Antoine Ruel  <maruel@chromium.org>
66973
66974        Reviewed by Kent Tamura.
66975
66976        Split webcore_svg off webcore_remaining. webcore_svg contains all svg
66977        sources files.
66978        https://bugs.webkit.org/show_bug.cgi?id=44840
66979
66980        * WebCore.gyp/WebCore.gyp:
66981
669822010-08-13  MORITA Hajime  <morrita@google.com>
66983
66984        Reviewed by Kent Tamura.
66985
66986        https://bugs.webkit.org/show_bug.cgi?id=43960
66987        [Chromium] styled scroll bar on the window is painted badly.
66988
66989        WebKit assumes outermost scrollbar always painted. 
66990        So force their style to have the  background color if it isn't 
66991        given by the stylesheet.
66992        
66993        Test: scrollbars/custom-scrollbar-with-incomplete-style.html
66994
66995        * rendering/RenderObject.h:
66996        (WebCore::RenderObject::hasBackground): Extracted body to RenderStyle for sharing.
66997        * rendering/RenderScrollbar.cpp:
66998        (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Added the workaround as mentioned above.
66999        * rendering/RenderScrollbar.h:
67000        * rendering/style/RenderStyle.h:
67001        (WebCore::InheritedFlags::hasBackground): Extracted from RenderObject.
67002
670032010-08-30  Adam Barth  <abarth@webkit.org>
67004
67005        Reviewed by Darin Adler.
67006
67007        WebCore::RenderBlock::addChild* NULL ptrs
67008        https://bugs.webkit.org/show_bug.cgi?id=43722
67009
67010        Also includes some cleanup of comments and ASSERTs.
67011
67012        Test: fast/ruby/before-doesnt-crash.html
67013
67014        * rendering/RenderRuby.cpp:
67015        (WebCore::RenderRubyAsInline::addChild):
67016
670172010-08-30  Marc-Antoine Ruel  <maruel@chromium.org>
67018
67019        Reviewed by Kent Tamura
67020
67021        Move most dependencies to webcore_prerequisites
67022        https://bugs.webkit.org/show_bug.cgi?id=44814
67023
67024        * WebCore.gyp/WebCore.gyp:
67025
670262010-08-30  Adam Barth  <abarth@webkit.org>
67027
67028        Move AsyncImageResizer back to html to fix Chromium build.
67029
67030        * WebCore.gypi:
67031
670322010-08-30  Adam Barth  <abarth@webkit.org>
67033
67034        Fix silly typo that breaks the build.
67035
67036        * WebCore.pro:
67037
670382010-08-30  Adam Barth  <abarth@webkit.org>
67039
67040        Attempt to fix the Qt build.
67041
67042        * WebCore.pri:
67043
670442010-08-30  Adam Barth  <abarth@webkit.org>
67045
67046        Attempt to fix Chromium build.
67047
67048        * WebCore.gyp/WebCore.gyp:
67049
670502010-08-29  Adam Barth  <abarth@webkit.org>
67051
67052        Rubber-stamped by Maciej Stachowiak.
67053
67054        Move File and Blob related files from WebCore/html to WebCore/fileapi.
67055
67056        * Android.mk:
67057        * CMakeLists.txt:
67058        * DerivedSources.make:
67059        * GNUmakefile.am:
67060        * WebCore.gypi:
67061        * WebCore.pro:
67062        * WebCore.vcproj/WebCore.vcproj:
67063        * WebCore.vcproj/WebCoreCommon.vsprops:
67064        * WebCore.xcodeproj/project.pbxproj:
67065        * fileapi: Added.
67066        * fileapi/AsyncFileWriter.h: Copied from WebCore/html/AsyncFileWriter.h.
67067        * fileapi/Blob.cpp: Copied from WebCore/html/Blob.cpp.
67068        * fileapi/Blob.h: Copied from WebCore/html/Blob.h.
67069        * fileapi/Blob.idl: Copied from WebCore/html/Blob.idl.
67070        * fileapi/BlobBuilder.cpp: Copied from WebCore/html/BlobBuilder.cpp.
67071        * fileapi/BlobBuilder.h: Copied from WebCore/html/BlobBuilder.h.
67072        * fileapi/BlobBuilder.idl: Copied from WebCore/html/BlobBuilder.idl.
67073        * fileapi/BlobURL.cpp: Copied from WebCore/html/BlobURL.cpp.
67074        * fileapi/BlobURL.h: Copied from WebCore/html/BlobURL.h.
67075        * fileapi/File.cpp: Copied from WebCore/html/File.cpp.
67076        * fileapi/File.h: Copied from WebCore/html/File.h.
67077        * fileapi/File.idl: Copied from WebCore/html/File.idl.
67078        * fileapi/FileError.h: Copied from WebCore/html/FileError.h.
67079        * fileapi/FileError.idl: Copied from WebCore/html/FileError.idl.
67080        * fileapi/FileList.cpp: Copied from WebCore/html/FileList.cpp.
67081        * fileapi/FileList.h: Copied from WebCore/html/FileList.h.
67082        * fileapi/FileList.idl: Copied from WebCore/html/FileList.idl.
67083        * fileapi/FileReader.cpp: Copied from WebCore/html/FileReader.cpp.
67084        * fileapi/FileReader.h: Copied from WebCore/html/FileReader.h.
67085        * fileapi/FileReader.idl: Copied from WebCore/html/FileReader.idl.
67086        * fileapi/FileStreamProxy.cpp: Copied from WebCore/html/FileStreamProxy.cpp.
67087        * fileapi/FileStreamProxy.h: Copied from WebCore/html/FileStreamProxy.h.
67088        * fileapi/FileThread.cpp: Copied from WebCore/html/FileThread.cpp.
67089        * fileapi/FileThread.h: Copied from WebCore/html/FileThread.h.
67090        * fileapi/FileThreadTask.h: Copied from WebCore/html/FileThreadTask.h.
67091        * fileapi/FileWriter.cpp: Copied from WebCore/html/FileWriter.cpp.
67092        * fileapi/FileWriter.h: Copied from WebCore/html/FileWriter.h.
67093        * fileapi/FileWriter.idl: Copied from WebCore/html/FileWriter.idl.
67094        * fileapi/FileWriterClient.h: Copied from WebCore/html/FileWriterClient.h.
67095        * fileapi/ThreadableBlobRegistry.cpp: Copied from WebCore/html/ThreadableBlobRegistry.cpp.
67096        * fileapi/ThreadableBlobRegistry.h: Copied from WebCore/html/ThreadableBlobRegistry.h.
67097        * html/AsyncFileWriter.h: Removed.
67098        * html/Blob.cpp: Removed.
67099        * html/Blob.h: Removed.
67100        * html/Blob.idl: Removed.
67101        * html/BlobBuilder.cpp: Removed.
67102        * html/BlobBuilder.h: Removed.
67103        * html/BlobBuilder.idl: Removed.
67104        * html/BlobURL.cpp: Removed.
67105        * html/BlobURL.h: Removed.
67106        * html/File.cpp: Removed.
67107        * html/File.h: Removed.
67108        * html/File.idl: Removed.
67109        * html/FileError.h: Removed.
67110        * html/FileError.idl: Removed.
67111        * html/FileList.cpp: Removed.
67112        * html/FileList.h: Removed.
67113        * html/FileList.idl: Removed.
67114        * html/FileReader.cpp: Removed.
67115        * html/FileReader.h: Removed.
67116        * html/FileReader.idl: Removed.
67117        * html/FileStreamProxy.cpp: Removed.
67118        * html/FileStreamProxy.h: Removed.
67119        * html/FileThread.cpp: Removed.
67120        * html/FileThread.h: Removed.
67121        * html/FileThreadTask.h: Removed.
67122        * html/FileWriter.cpp: Removed.
67123        * html/FileWriter.h: Removed.
67124        * html/FileWriter.idl: Removed.
67125        * html/FileWriterClient.h: Removed.
67126        * html/ThreadableBlobRegistry.cpp: Removed.
67127        * html/ThreadableBlobRegistry.h: Removed.
67128
671292010-08-29  Marc-Antoine Ruel  <maruel@chromium.org>
67130
67131        Reviewed by Kent Tamura.
67132
67133        Move more common settings to webcore_prerequisites
67134        https://bugs.webkit.org/show_bug.cgi?id=44812
67135
67136        * WebCore.gyp/WebCore.gyp:
67137
671382010-08-29  Darin Adler  <darin@apple.com>
67139
67140        Reviewed by Maciej Stachowiak.
67141
67142        Create SVG and WML elements with create functions instead of direct invocations of new
67143        https://bugs.webkit.org/show_bug.cgi?id=44851
67144
67145        Added the create functions, made some existing constructors protected and private,
67146        made some other member functions protected and and private, added some missing virtual
67147        keywords for clarity to functions that already were overriding virtual functions,
67148        fixed some inconsistent indentation, and removed some unneeded empty destructors.
67149
67150        In the future, it will be good to have the constructors all be private so we don't
67151        use them by accident. Then we'll change the reference count rule globally and add
67152        all the necessary calls to adoptRef.
67153
67154        The SVG changes are compiled and tested. The WML changes are speculative and untested.
67155
67156        * dom/make_names.pl: Removed supportfor the createWithNew keyword.
67157        * svg/svgtags.in: Removed all the createWithNew keywords.
67158        * wml/WMLTagNames.in: Ditto.
67159
67160        * svg/SVGAElement.cpp:
67161        (WebCore::SVGAElement::create): Added.
67162        * svg/SVGAElement.h:
67163        * svg/SVGAltGlyphElement.cpp:
67164        (WebCore::SVGAltGlyphElement::create): Added.
67165        * svg/SVGAltGlyphElement.h:
67166        * svg/SVGAnimateColorElement.cpp:
67167        (WebCore::SVGAnimateColorElement::create): Added.
67168        * svg/SVGAnimateColorElement.h:
67169        * svg/SVGAnimateElement.cpp:
67170        (WebCore::SVGAnimateElement::create): Added.
67171        * svg/SVGAnimateElement.h:
67172        * svg/SVGAnimateMotionElement.cpp:
67173        (WebCore::SVGAnimateMotionElement::create): Added.
67174        * svg/SVGAnimateMotionElement.h:
67175        * svg/SVGAnimateTransformElement.cpp:
67176        (WebCore::SVGAnimateTransformElement::create): Added.
67177        * svg/SVGAnimateTransformElement.h:
67178        * svg/SVGCircleElement.cpp:
67179        (WebCore::SVGCircleElement::create): Added.
67180        * svg/SVGCircleElement.h:
67181        * svg/SVGClipPathElement.cpp:
67182        (WebCore::SVGClipPathElement::create): Added.
67183        * svg/SVGClipPathElement.h:
67184        * svg/SVGCursorElement.cpp:
67185        (WebCore::SVGCursorElement::create): Added.
67186        * svg/SVGCursorElement.h:
67187        * svg/SVGDefsElement.cpp:
67188        (WebCore::SVGDefsElement::create): Added.
67189        * svg/SVGDefsElement.h:
67190        * svg/SVGDescElement.cpp:
67191        (WebCore::SVGDescElement::create): Added.
67192        * svg/SVGDescElement.h:
67193        * svg/SVGEllipseElement.cpp:
67194        (WebCore::SVGEllipseElement::create): Added.
67195        * svg/SVGEllipseElement.h:
67196        * svg/SVGFEBlendElement.cpp:
67197        (WebCore::SVGFEBlendElement::create): Added.
67198        * svg/SVGFEBlendElement.h:
67199        * svg/SVGFEColorMatrixElement.cpp:
67200        (WebCore::SVGFEColorMatrixElement::create): Added.
67201        * svg/SVGFEColorMatrixElement.h:
67202        * svg/SVGFEComponentTransferElement.cpp:
67203        (WebCore::SVGFEComponentTransferElement::create): Added.
67204        * svg/SVGFEComponentTransferElement.h:
67205        * svg/SVGFECompositeElement.cpp:
67206        (WebCore::SVGFECompositeElement::create): Added.
67207        * svg/SVGFECompositeElement.h:
67208        * svg/SVGFEConvolveMatrixElement.cpp:
67209        (WebCore::SVGFEConvolveMatrixElement::create): Added.
67210        * svg/SVGFEConvolveMatrixElement.h:
67211        * svg/SVGFEDiffuseLightingElement.cpp:
67212        (WebCore::SVGFEDiffuseLightingElement::create): Added.
67213        * svg/SVGFEDiffuseLightingElement.h:
67214        * svg/SVGFEDisplacementMapElement.cpp:
67215        (WebCore::SVGFEDisplacementMapElement::create): Added.
67216        * svg/SVGFEDisplacementMapElement.h:
67217        * svg/SVGFEDistantLightElement.cpp:
67218        (WebCore::SVGFEDistantLightElement::create): Added.
67219        * svg/SVGFEDistantLightElement.h:
67220        * svg/SVGFEFloodElement.cpp:
67221        (WebCore::SVGFEFloodElement::create): Added.
67222        * svg/SVGFEFloodElement.h:
67223        * svg/SVGFEFuncAElement.cpp:
67224        (WebCore::SVGFEFuncAElement::create): Added.
67225        * svg/SVGFEFuncAElement.h:
67226        * svg/SVGFEFuncBElement.cpp:
67227        (WebCore::SVGFEFuncBElement::create): Added.
67228        * svg/SVGFEFuncBElement.h:
67229        * svg/SVGFEFuncGElement.cpp:
67230        (WebCore::SVGFEFuncGElement::create): Added.
67231        * svg/SVGFEFuncGElement.h:
67232        * svg/SVGFEFuncRElement.cpp:
67233        (WebCore::SVGFEFuncRElement::create): Added.
67234        * svg/SVGFEFuncRElement.h:
67235        * svg/SVGFEGaussianBlurElement.cpp:
67236        (WebCore::SVGFEGaussianBlurElement::create): Added.
67237        * svg/SVGFEGaussianBlurElement.h:
67238        * svg/SVGFEImageElement.cpp:
67239        (WebCore::SVGFEImageElement::create): Added.
67240        * svg/SVGFEImageElement.h:
67241        * svg/SVGFEMergeElement.cpp:
67242        (WebCore::SVGFEMergeElement::create): Added.
67243        * svg/SVGFEMergeElement.h:
67244        * svg/SVGFEMergeNodeElement.cpp:
67245        (WebCore::SVGFEMergeNodeElement::create): Added.
67246        * svg/SVGFEMergeNodeElement.h:
67247        * svg/SVGFEMorphologyElement.cpp:
67248        (WebCore::SVGFEMorphologyElement::create): Added.
67249        * svg/SVGFEMorphologyElement.h:
67250        * svg/SVGFEOffsetElement.cpp:
67251        (WebCore::SVGFEOffsetElement::create): Added.
67252        * svg/SVGFEOffsetElement.h:
67253        * svg/SVGFEPointLightElement.cpp:
67254        (WebCore::SVGFEPointLightElement::create): Added.
67255        * svg/SVGFEPointLightElement.h:
67256        * svg/SVGFESpecularLightingElement.cpp:
67257        (WebCore::SVGFESpecularLightingElement::create): Added.
67258        * svg/SVGFESpecularLightingElement.h:
67259        * svg/SVGFESpotLightElement.cpp:
67260        (WebCore::SVGFESpotLightElement::create): Added.
67261        * svg/SVGFESpotLightElement.h:
67262        * svg/SVGFETileElement.cpp:
67263        (WebCore::SVGFETileElement::create): Added.
67264        * svg/SVGFETileElement.h:
67265        * svg/SVGFETurbulenceElement.cpp:
67266        (WebCore::SVGFETurbulenceElement::create): Added.
67267        * svg/SVGFETurbulenceElement.h:
67268        * svg/SVGFilterElement.cpp:
67269        (WebCore::SVGFilterElement::create): Added.
67270        * svg/SVGFilterElement.h:
67271        * svg/SVGFontElement.cpp:
67272        (WebCore::SVGFontElement::create): Added.
67273        * svg/SVGFontElement.h:
67274        * svg/SVGFontFaceElement.cpp:
67275        (WebCore::SVGFontFaceElement::create): Added.
67276        * svg/SVGFontFaceElement.h:
67277        * svg/SVGFontFaceFormatElement.cpp:
67278        (WebCore::SVGFontFaceFormatElement::create): Added.
67279        * svg/SVGFontFaceFormatElement.h:
67280        * svg/SVGFontFaceNameElement.cpp:
67281        (WebCore::SVGFontFaceNameElement::create): Added.
67282        * svg/SVGFontFaceNameElement.h:
67283        * svg/SVGFontFaceSrcElement.cpp:
67284        (WebCore::SVGFontFaceSrcElement::create): Added.
67285        * svg/SVGFontFaceSrcElement.h:
67286        * svg/SVGFontFaceUriElement.cpp:
67287        (WebCore::SVGFontFaceUriElement::create): Added.
67288        * svg/SVGFontFaceUriElement.h:
67289        * svg/SVGForeignObjectElement.cpp:
67290        (WebCore::SVGForeignObjectElement::create): Added.
67291        * svg/SVGForeignObjectElement.h:
67292        * svg/SVGGElement.cpp:
67293        (WebCore::SVGGElement::create): Added.
67294        * svg/SVGGElement.h:
67295        * svg/SVGGlyphElement.cpp:
67296        (WebCore::SVGGlyphElement::create): Added.
67297        * svg/SVGGlyphElement.h:
67298        * svg/SVGHKernElement.cpp:
67299        (WebCore::SVGHKernElement::create): Added.
67300        * svg/SVGHKernElement.h:
67301        * svg/SVGImageElement.cpp:
67302        (WebCore::SVGImageElement::create): Added.
67303        * svg/SVGImageElement.h:
67304        * svg/SVGLineElement.cpp:
67305        (WebCore::SVGLineElement::create): Added.
67306        * svg/SVGLineElement.h:
67307        * svg/SVGLinearGradientElement.cpp:
67308        (WebCore::SVGLinearGradientElement::create): Added.
67309        * svg/SVGLinearGradientElement.h:
67310        * svg/SVGMPathElement.cpp:
67311        (WebCore::SVGMPathElement::create): Added.
67312        * svg/SVGMPathElement.h:
67313        * svg/SVGMarkerElement.cpp:
67314        (WebCore::SVGMarkerElement::create): Added.
67315        * svg/SVGMarkerElement.h:
67316        * svg/SVGMaskElement.cpp:
67317        (WebCore::SVGMaskElement::create): Added.
67318        * svg/SVGMaskElement.h:
67319        * svg/SVGMetadataElement.cpp:
67320        (SVGMetadataElement::create): Added.
67321        * svg/SVGMetadataElement.h:
67322        * svg/SVGMissingGlyphElement.cpp:
67323        (WebCore::SVGMissingGlyphElement::create): Added.
67324        * svg/SVGMissingGlyphElement.h:
67325        * svg/SVGPathElement.cpp:
67326        (WebCore::SVGPathElement::create): Added.
67327        * svg/SVGPathElement.h:
67328        * svg/SVGPatternElement.cpp:
67329        (WebCore::SVGPatternElement::create): Added.
67330        * svg/SVGPatternElement.h:
67331        * svg/SVGPolygonElement.cpp:
67332        (WebCore::SVGPolygonElement::create): Added.
67333        * svg/SVGPolygonElement.h:
67334        * svg/SVGPolylineElement.cpp:
67335        (WebCore::SVGPolylineElement::create): Added.
67336        * svg/SVGPolylineElement.h:
67337        * svg/SVGRadialGradientElement.cpp:
67338        (WebCore::SVGRadialGradientElement::create): Added.
67339        * svg/SVGRadialGradientElement.h:
67340        * svg/SVGRectElement.cpp:
67341        (WebCore::SVGRectElement::create): Added.
67342        * svg/SVGRectElement.h:
67343        * svg/SVGSVGElement.cpp:
67344        (WebCore::SVGSVGElement::create): Added.
67345        * svg/SVGSVGElement.h:
67346        * svg/SVGScriptElement.cpp:
67347        (WebCore::SVGScriptElement::create): Added.
67348        * svg/SVGScriptElement.h:
67349        * svg/SVGSetElement.cpp:
67350        (WebCore::SVGSetElement::create): Added.
67351        * svg/SVGSetElement.h:
67352        * svg/SVGStopElement.cpp:
67353        (WebCore::SVGStopElement::create): Added.
67354        * svg/SVGStopElement.h:
67355        (WebCore::SVGStyleElement::create): Added.
67356        * svg/SVGStyleElement.h:
67357        * svg/SVGSwitchElement.cpp:
67358        (WebCore::SVGSwitchElement::create): Added.
67359        * svg/SVGSwitchElement.h:
67360        * svg/SVGSymbolElement.cpp:
67361        (WebCore::SVGSymbolElement::create): Added.
67362        * svg/SVGSymbolElement.h:
67363        * svg/SVGTRefElement.cpp:
67364        (WebCore::SVGTRefElement::create): Added.
67365        * svg/SVGTRefElement.h:
67366        * svg/SVGTSpanElement.cpp:
67367        (WebCore::SVGTSpanElement::create): Added.
67368        * svg/SVGTSpanElement.h:
67369        * svg/SVGTextContentElement.h:
67370        * svg/SVGTextElement.cpp:
67371        (WebCore::SVGTextElement::create): Added.
67372        * svg/SVGTextElement.h:
67373        * svg/SVGTextPathElement.cpp:
67374        (WebCore::SVGTextPathElement::create): Added.
67375        * svg/SVGTextPathElement.h:
67376        * svg/SVGTextPositioningElement.h:
67377        * svg/SVGTitleElement.cpp:
67378        (WebCore::SVGTitleElement::create): Added.
67379        * svg/SVGTitleElement.h:
67380        * svg/SVGUseElement.cpp:
67381        (WebCore::SVGUseElement::create): Added.
67382        * svg/SVGUseElement.h:
67383        * svg/SVGVKernElement.cpp:
67384        (WebCore::SVGVKernElement::create): Added.
67385        * svg/SVGVKernElement.h:
67386        * svg/SVGViewElement.cpp:
67387        (WebCore::SVGViewElement::create): Added.
67388        * svg/SVGViewElement.h:
67389        * wml/WMLAElement.cpp:
67390        (WebCore::WMLAElement::create): Added.
67391        * wml/WMLAElement.h:
67392        * wml/WMLAccessElement.cpp:
67393        (WebCore::WMLAccessElement::create): Added.
67394        * wml/WMLAccessElement.h:
67395        * wml/WMLAnchorElement.cpp:
67396        (WebCore::WMLAnchorElement::create): Added.
67397        * wml/WMLAnchorElement.h:
67398        * wml/WMLBRElement.cpp:
67399        (WebCore::WMLBRElement::create): Added.
67400        * wml/WMLBRElement.h:
67401        * wml/WMLCardElement.cpp:
67402        (WebCore::WMLCardElement::create): Added.
67403        * wml/WMLCardElement.h:
67404        * wml/WMLDoElement.cpp:
67405        (WebCore::WMLDoElement::create): Added.
67406        * wml/WMLDoElement.h:
67407        * wml/WMLFieldSetElement.cpp:
67408        (WebCore::WMLFieldSetElement::create): Added.
67409        * wml/WMLFieldSetElement.h:
67410        * wml/WMLFormControlElement.cpp:
67411        (WebCore::WMLFormControlElement::create): Added.
67412        * wml/WMLGoElement.cpp:
67413        (WebCore::WMLGoElement::create): Added.
67414        * wml/WMLGoElement.h:
67415        * wml/WMLImageElement.cpp:
67416        (WebCore::WMLImageElement::create): Added.
67417        * wml/WMLImageElement.h:
67418        * wml/WMLInputElement.cpp:
67419        (WebCore::WMLInputElement::create): Added.
67420        * wml/WMLInputElement.h:
67421        * wml/WMLInsertedLegendElement.cpp:
67422        (WebCore::WMLInsertedLegendElement::create): Added.
67423        * wml/WMLInsertedLegendElement.h:
67424        * wml/WMLIntrinsicEvent.cpp:
67425        (WebCore::WMLIntrinsicEvent::create): Added.
67426        * wml/WMLMetaElement.cpp:
67427        (WebCore::WMLMetaElement::create): Added.
67428        * wml/WMLMetaElement.h:
67429        * wml/WMLNoopElement.cpp:
67430        (WebCore::WMLNoopElement::create): Added.
67431        * wml/WMLNoopElement.h:
67432        * wml/WMLOnEventElement.cpp:
67433        (WebCore::WMLOnEventElement::create): Added.
67434        * wml/WMLOnEventElement.h:
67435        * wml/WMLOptGroupElement.cpp:
67436        (WebCore::WMLOptGroupElement::create): Added.
67437        * wml/WMLOptGroupElement.h:
67438        * wml/WMLOptionElement.cpp:
67439        (WebCore::WMLOptionElement::create): Added.
67440        * wml/WMLOptionElement.h:
67441        * wml/WMLPElement.cpp:
67442        (WebCore::WMLPElement::create): Added.
67443        * wml/WMLPElement.h:
67444        * wml/WMLPostfieldElement.cpp:
67445        (WebCore::WMLPostfieldElement::create): Added.
67446        * wml/WMLPostfieldElement.h:
67447        * wml/WMLPrevElement.cpp:
67448        (WebCore::WMLPrevElement::create): Added.
67449        * wml/WMLPrevElement.h:
67450        * wml/WMLRefreshElement.cpp:
67451        (WebCore::WMLRefreshElement::create): Added.
67452        * wml/WMLRefreshElement.h:
67453        * wml/WMLSelectElement.cpp:
67454        (WebCore::WMLSelectElement::create): Added.
67455        * wml/WMLSelectElement.h:
67456        * wml/WMLSetvarElement.cpp:
67457        (WebCore::WMLSetvarElement::create): Added.
67458        * wml/WMLSetvarElement.h:
67459        * wml/WMLTableElement.cpp:
67460        (WebCore::WMLTableElement::create): Added.
67461        * wml/WMLTableElement.h:
67462        * wml/WMLTaskElement.cpp:
67463        (WebCore::WMLTaskElement::create): Added.
67464        * wml/WMLTaskElement.h:
67465        * wml/WMLTemplateElement.cpp:
67466        (WebCore::WMLTemplateElement::create): Added.
67467        * wml/WMLTemplateElement.h:
67468        * wml/WMLTimerElement.cpp:
67469        (WebCore::WMLTimerElement::create): Added.
67470        * wml/WMLTimerElement.h:
67471
674722010-08-29  Marc-Antoine Ruel  <maruel@chromium.org>
67473
67474        Reviewed by Kent Tamura.
67475
67476        Rename webcore to 'webcore_remaining'.
67477        https://bugs.webkit.org/show_bug.cgi?id=44796
67478
67479        Create a meta-target webcore that inherits from every webcore_XXX targets. (Currently 1)
67480        Move direct_dependent_settings and export_dependent_settings from webcore_remaining to webcore
67481
67482        Obviously, there will be other webcore_XXX targets. Keeping the change as small as possible.
67483
67484        * WebCore.gyp/WebCore.gyp:
67485
674862010-08-29  Jeremy Moskovich  <jeremy@chromium.org>
67487
67488        Reviewed by Dimitri Glazkov.
67489
67490        First step in unforking Chrome's FontPlatformDataMac.mm.
67491        Move files from platform/graphics/mac to platform/graphics/cocoa
67492
67493        https://bugs.webkit.org/show_bug.cgi?id=41398
67494
67495        Just moving files around so no new tests.
67496
67497        * WebCore.gyp/WebCore.gyp:
67498        * WebCore.gypi:
67499        * WebCore.xcodeproj/project.pbxproj:
67500        * platform/graphics/chromium/FontPlatformDataChromiumMac.mm:
67501        * platform/graphics/cocoa/FontPlatformData.h: Copied from WebCore/platform/graphics/mac/FontPlatformData.h.
67502        * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Copied from WebCore/platform/graphics/mac/FontPlatformDataMac.mm.
67503        * platform/graphics/mac/FontPlatformData.h: Removed.
67504        * platform/graphics/mac/FontPlatformDataMac.mm: Removed.
67505
675062010-08-29  Kent Tamura  <tkent@chromium.org>
67507
67508        Reviewed by Darin Adler.
67509
67510        Introduce isValidValue(const String&) of HTMLInputElement and HTMLTextAreaElement
67511        https://bugs.webkit.org/show_bug.cgi?id=43537
67512
67513        isValidValue() is useful for browser implementations to propose
67514        form field values without breaking form validity.
67515        No new tests because these functions are not exposed to JavaScript.
67516
67517        * html/HTMLFormControlElement.h:
67518        (WebCore::HTMLTextFormControlElement::):
67519         Remove virtual valueMissing(), patternMismatch(), and tooLong().
67520        * html/HTMLInputElement.cpp:
67521        (WebCore::isValidColorString): Moved from ValidityState.
67522        (WebCore::isValidEmailAddress): ditto.
67523        (WebCore::HTMLInputElement::isValidValue): Added.
67524        (WebCore::HTMLInputElement::typeMismatch): Add a String parameter.
67525        (WebCore::HTMLInputElement::valueMissing): Add a String parameter.
67526        (WebCore::HTMLInputElement::patternMismatch): Add a String parameter.
67527        (WebCore::HTMLInputElement::tooLong): Add String and NeedsToCheckDirtyFlag parameters.
67528        (WebCore::HTMLInputElement::rangeUnderflow): Add a String parameter.
67529        (WebCore::HTMLInputElement::rangeOverflow): Add a String parameter.
67530        (WebCore::HTMLInputElement::stepMismatch): Add a String parameter.
67531        * html/HTMLInputElement.h:
67532        * html/HTMLTextAreaElement.cpp:
67533        (WebCore::HTMLTextAreaElement::tooLong): Add String and NeedsToCheckDirtyFlag parameters.
67534        (WebCore::HTMLTextAreaElement::isValidValue): Added.
67535        * html/HTMLTextAreaElement.h:
67536        (WebCore::HTMLTextAreaElement::valueMissing):
67537        * html/ValidityState.cpp:
67538        (WebCore::ValidityState::valueMissing): Calls valueMissing() of HTMLInputElement or HTMLTextAreaElement.
67539        (WebCore::ValidityState::typeMismatch): Passes value() to HTMLInputElement::typeMismatch().
67540        (WebCore::ValidityState::patternMismatch): Calls patternMismatch() of HTMLInputElement.
67541        (WebCore::ValidityState::tooLong): Calls valueMissing() of HTMLInputElement or HTMLTextAreaElement.
67542        (WebCore::ValidityState::rangeUnderflow): Passes value() to HTMLInputElement::rangeUnderflow().
67543        (WebCore::ValidityState::rangeOverflow): Passes value() to HTMLInputElement::rangeUnderflow().
67544        (WebCore::ValidityState::stepMismatch): Passes value() to HTMLInputElement::stepMismatch().
67545        * html/ValidityState.h:
67546
675472010-08-29  Kent Tamura  <tkent@chromium.org>
67548
67549        Reviewed by Darin Adler.
67550
67551        Change lower and higher limits of date/datetime/datetime-local/month/week types
67552        https://bugs.webkit.org/show_bug.cgi?id=39737
67553
67554        According to the latest draft of HTML5, ISO-8601 dates in HTML5
67555        should support A.D.0001 in Gregorian calendar though Gregorian
67556        calendar started in 1582. So, we change the lower limits of
67557        date&time types to 0001-01-01T00:00.
67558
67559        We also introduce the common higher limit, 275760-09-13T00:00. It
67560        is the higher limit of Date type of ECMAScript.
67561
67562        * html/DateComponents.cpp:
67563        (WebCore::DateComponents::parseYear):
67564         Rejects years less than A.D.1 and years greater than 275760.
67565        (WebCore::withinHTMLDateLimits):
67566         Helper functions to check lower and higher limits.
67567        (WebCore::DateComponents::addDay):
67568         - Remove an overflow check. 'year' can't be so large number because
67569           parseYear() rejects such numbers.
67570         - Add withinHTMLDateLimits() calls.
67571        (WebCore::DateComponents::addMinute):
67572         - Add an assertion for the base date.
67573         - Add withinHTMLDateLimits() calls.
67574        (WebCore::DateComponents::parseMonth):
67575         Add withinHTMLDateLimits() call.
67576        (WebCore::DateComponents::parseDate): ditto.
67577        (WebCore::DateComponents::parseWeek): ditto.
67578        (WebCore::DateComponents::parseDateTimeLocal): ditto.
67579        (WebCore::DateComponents::parseDateTime): ditto.
67580        (WebCore::DateComponents::setMillisecondsSinceEpochForDate): ditto.
67581        (WebCore::DateComponents::setMillisecondsSinceEpochForDateTime): ditto.
67582        (WebCore::DateComponents::setMillisecondsSinceEpochForMonth): ditto.
67583        (WebCore::DateComponents::setMonthsSinceEpoch):
67584         Add year range check and withinHTMLDateLimits() call.
67585        (WebCore::DateComponents::setMillisecondsSinceEpochForWeek):
67586         Add year range check and week range check.
67587        * html/DateComponents.h:
67588         Update minimum/maximum constant values.
67589        (WebCore::DateComponents::minimumDate):
67590        (WebCore::DateComponents::minimumDateTime):
67591        (WebCore::DateComponents::minimumMonth):
67592        (WebCore::DateComponents::minimumWeek):
67593        (WebCore::DateComponents::maximumDate):
67594        (WebCore::DateComponents::maximumDateTime):
67595        (WebCore::DateComponents::maximumMonth):
67596        (WebCore::DateComponents::maximumWeek):
67597
675982010-08-29  Kwang Yul Seo  <skyul@company100.net>
67599
67600        Reviewed by Kent Tamura.
67601
67602        [BREWMP] Port SharedBuffer::createWithContentsOfFile
67603        https://bugs.webkit.org/show_bug.cgi?id=34412
67604
67605        Implement SharedBuffer::createWithContentsOfFile with IFile.
67606
67607        * platform/brew/SharedBufferBrew.cpp: Added.
67608        (WebCore::SharedBuffer::createWithContentsOfFile):
67609
676102010-08-29  Enrica Casucci  <enrica@apple.com>
67611
67612        Reviewed by Adele Peterson.
67613
67614        Crash when dragging text in Google Docs
67615        https://bugs.webkit.org/show_bug.cgi?id=20471
67616        <rdar://problem/7783629>
67617        
67618        This fixes the crash but also fixes the generated markup when
67619        performing a replacement at the border with an inline, to avoid the 
67620        new content being merged into the inline.
67621        The crash is happening when doApply detects the need of merging
67622        the start and the end of the new paragraph and the destination position
67623        is moved inside an inline.
67624        
67625        I've added new test cases to an existing layout test.
67626        
67627        * editing/ReplaceSelectionCommand.cpp:
67628        (WebCore::ReplaceSelectionCommand::doApply): When the situation described above is detected,
67629        we insert a placeholder to avoid merging into the inline.
67630
676312010-08-29  Adam Barth  <abarth@webkit.org>
67632
67633        Reviewed by Darin Adler.
67634
67635        Implement HTML5's fakepath
67636        https://bugs.webkit.org/show_bug.cgi?id=29000
67637
67638        The HTML 5 spec says to prepend C:\fakepath\ to the value of an
67639        <input type="file"> control, so that's what we do now.
67640
67641        * html/HTMLInputElement.cpp:
67642        (WebCore::HTMLInputElement::value):
67643
676442010-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
67645
67646        Unreviewed, rolling out r66329.
67647        http://trac.webkit.org/changeset/66329
67648        https://bugs.webkit.org/show_bug.cgi?id=44845
67649
67650        broke chromium mac (Requested by jamesr on #webkit).
67651
67652        * WebCore.gypi:
67653        * WebCore.xcodeproj/project.pbxproj:
67654        * platform/graphics/mac/FontPlatformData.h: Renamed from WebCore/platform/graphics/cocoa/FontPlatformData.h.
67655        (WebCore::toCTFontRef):
67656        (WebCore::FontPlatformData::FontPlatformData):
67657        (WebCore::FontPlatformData::isHashTableDeletedValue):
67658        (WebCore::FontPlatformData::size):
67659        (WebCore::FontPlatformData::syntheticBold):
67660        (WebCore::FontPlatformData::syntheticOblique):
67661        (WebCore::FontPlatformData::hash):
67662        (WebCore::FontPlatformData::operator==):
67663        (WebCore::FontPlatformData::font):
67664        (WebCore::FontPlatformData::isColorBitmapFont):
67665        (WebCore::FontPlatformData::cgFont):
67666        (WebCore::FontPlatformData::hashTableDeletedFontValue):
67667        * platform/graphics/mac/FontPlatformDataMac.mm: Renamed from WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm.
67668        (WebCore::FontPlatformData::FontPlatformData):
67669        (WebCore::~FontPlatformData):
67670        (WebCore::FontPlatformData::operator=):
67671        (WebCore::FontPlatformData::setFont):
67672        (WebCore::FontPlatformData::roundsGlyphAdvances):
67673        (WebCore::FontPlatformData::allowsLigatures):
67674        (WebCore::FontPlatformData::ctFont):
67675        (WebCore::FontPlatformData::description):
67676
676772010-08-29  Simon Fraser  <simon.fraser@apple.com>
67678
67679        Reviewed by Darin Adler.
67680
67681        Fix RenderStyle::addCursor to use a StyleImage, not a CachedImage
67682        https://bugs.webkit.org/show_bug.cgi?id=44719
67683        
67684        Modernize the CSS cursor code to use a StyleImage, rather
67685        than a CachedImage in the CursorData, and handle the loading
67686        of pending images for the cursor property.
67687
67688        Covered by manual tests in WebCore/manual-tests
67689
67690        * css/CSSComputedStyleDeclaration.cpp:
67691        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
67692        * css/CSSStyleSelector.cpp:
67693        (WebCore::CSSStyleSelector::applyProperty):
67694        (WebCore::CSSStyleSelector::loadPendingImages):
67695        * html/canvas/WebGLRenderingContext.cpp:
67696        * page/EventHandler.cpp:
67697        (WebCore::EventHandler::selectCursor):
67698        * rendering/style/CursorData.h:
67699        (WebCore::CursorData::CursorData):
67700        (WebCore::CursorData::image):
67701        (WebCore::CursorData::setImage):
67702        * rendering/style/CursorList.h:
67703        (WebCore::CursorList::operator[]):
67704        * rendering/style/RenderStyle.cpp:
67705        (WebCore::RenderStyle::addCursor):
67706        * rendering/style/RenderStyle.h:
67707
677082010-08-29  Simon Fraser  <simon.fraser@apple.com>
67709
67710        Reviewed by Darin Adler.
67711
67712        When properties are missing from animation keyframes, interpolate between those keyframes that specify them
67713        https://bugs.webkit.org/show_bug.cgi?id=40794
67714        
67715        When a property does not appear in all keyframes of a keyframe animation, we currently use the
67716        value of that property from the unanimated style. That forces the author to use additional
67717        keyframes for properties that need to "skip a keyframe", which is laborious.
67718        
67719        With this change, properties are interpolated between the keyframes in which they appear.
67720        This is equivalent to splitting each property out into its own set of keyframes.
67721
67722        Tests: animations/missing-keyframe-properties-repeating.html
67723               animations/missing-keyframe-properties-timing-function.html
67724               animations/missing-keyframe-properties.html
67725
67726        * css/CSSStyleSelector.h:
67727        * css/CSSStyleSelector.cpp:
67728        (WebCore::CSSStyleSelector::styleForKeyframe): Pass a KeyframeValue in so that we can
67729        collect which properties are represented per keyframe.
67730        (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Keyframes are inserted into a
67731        KeyframeList by object now, rather than by key and style.
67732
67733        * page/animation/AnimationBase.cpp:
67734        (WebCore::AnimationBase::progress): Use AnimationDirectionAlternate for readability.
67735
67736        * page/animation/KeyframeAnimation.cpp:
67737        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): Renamed from getKeyframeAnimationInterval.
67738        Use fractionalTime etc to match AnimationBase::progress(), and do lookups per-property.
67739        Simplify the code that finds the relevant keyframe to do less work.
67740        (WebCore::KeyframeAnimation::animate): Call fetchIntervalEndpointsForProperty() for each property, rather than just once for the
67741        entire keyframe.
67742        (WebCore::KeyframeAnimation::getAnimatedStyle): Ditto.
67743        (WebCore::KeyframeAnimation::hasAnimationForProperty): FIXME comment.
67744
67745        * page/animation/KeyframeAnimation.h: Rename getKeyframeAnimationInterval() to fetchIntervalEndpointsForProperty().
67746
67747        * rendering/RenderLayerBacking.cpp:
67748        (WebCore::RenderLayerBacking::startAnimation): For hardware animations, only insert values
67749        for keyframes which contain the property.
67750
67751        (WebCore::KeyframeList::KeyframeList): insert() takes a KeyframeValue now.
67752        * rendering/style/KeyframeList.cpp:
67753        (WebCore::KeyframeList::operator==):
67754        (WebCore::KeyframeList::insert): Fix insert/replace logic, and ensure we maintain the
67755        m_properties hash.
67756
67757        * rendering/style/KeyframeList.h:
67758        (WebCore::KeyframeValue::KeyframeValue): Make members private, with accessors.
67759        Add a m_properties HashSet for the properties animated in this keyframe.
67760
67761
677622010-08-29  Csaba Osztrogonác  <ossy@webkit.org>
67763
67764        Reviewed by Darin Adler.
67765
67766        REGRESSION(r66324): Fix warnings in editing/ApplyStyleCommand.cpp
67767        https://bugs.webkit.org/show_bug.cgi?id=44843
67768
67769        * editing/ApplyStyleCommand.cpp:
67770        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Suggested parentheses added around && within ||
67771
677722010-08-29  Darin Adler  <darin@apple.com>
67773
67774        Try to fix Mac build.
67775
67776        * WebCore.xcodeproj/project.pbxproj: Mark CounterContent.h Private instead of Project.
67777
677782010-08-29  Pawel Hajdan  <phajdan.jr@chromium.org>
67779
67780        Reviewed by Darin Adler.
67781
67782        Fix libxml workarounds to work with recent versions of libxml.
67783        I was testing locally with libxml2-2.7.6.
67784        https://bugs.webkit.org/show_bug.cgi?id=30508
67785
67786        Based on patch by Philippe Normand <pnormand@igalia.com>.
67787
67788        This also fixes a Chromium bug:
67789        http://code.google.com/p/chromium/issues/detail?id=29333
67790
67791        * dom/XMLDocumentParserLibxml2.cpp:
67792        (WebCore::switchToUTF16):
67793        (WebCore::XMLParserContext::createStringParser):
67794        (WebCore::XMLDocumentParser::doWrite):
67795        (WebCore::startDocumentHandler):
67796
677972010-08-29  Darin Adler  <darin@apple.com>
67798
67799        Try to fix Windows build.
67800
67801        * rendering/style/ContentData.h: Added include of CounterContent.h.
67802
67803        * css/CSSStyleSelector.cpp: Removed include of CounterContent.h.
67804        * rendering/style/ContentData.cpp: Ditto.
67805        * rendering/style/RenderStyle.cpp: Ditto.
67806
678072010-08-29  Darin Adler  <darin@apple.com>
67808
67809        Reviewed by Sam Weinig.
67810
67811        Deploy OwnPtr, PassOwnPtr, and adoptPtr in some CSS-related files
67812        https://bugs.webkit.org/show_bug.cgi?id=44834
67813
67814        * css/CSSFunctionValue.cpp:
67815        (WebCore::CSSFunctionValue::CSSFunctionValue): Updated since
67816        CSSParserFunction::args is an OwnPtr.
67817        (WebCore::CSSFunctionValue::parserValue): Ditto.
67818
67819        * css/CSSGrammar.y: Added leakPtr calls for putting MediaQueryExp*
67820        into the media query expression list, which is a vector of raw pointers
67821        that are deleted explicitly.
67822
67823        * css/CSSImportRule.cpp:
67824        (WebCore::CSSImportRule::setCSSStyleSheet): Updated to use document instead of doc.
67825        (WebCore::CSSImportRule::insertedIntoParent): Ditto.
67826        * css/CSSMutableStyleDeclaration.cpp:
67827        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc): Ditto.
67828
67829        * css/CSSNamespace.h: Took the "m_" off the names of the data members of
67830        this structure. Used OwnPtr for the parent data member. Rewrote the
67831        namespaceForPrefix function so it's iterative instead of recursive.
67832
67833        * css/CSSParser.cpp:
67834        (WebCore::CSSParser::CSSParser): Update since m_mediaQuery, m_floatingMediaQuery,
67835        m_floatingMediaQueryExp, and m_floatingMediaQueryExpList are now all OwnPtr and
67836        thus don't need to be initialized.
67837        (WebCore::CSSParser::~CSSParser): Update to not delete the above OwnPtr.
67838        (WebCore::CSSParser::parseMediaQuery): Replaced the code that sets m_mediaQuery
67839        to 0 with an assertion. Also use release when passing the media query to
67840        appendMediaQuery.
67841        (WebCore::CSSParser::document): Updated to use document instead of doc and to
67842        use early return instead of a nested if.
67843        (WebCore::CSSParser::parseContent): Added a get() call needed since
67844        CSSParserFunction::args is an OwnPtr.
67845        (WebCore::CSSParser::parseAnimationTimingFunction): Ditto.
67846        (WebCore::CSSParser::parseDashboardRegions): Ditto.
67847        (WebCore::CSSParser::parseShape): Ditto.
67848        (WebCore::isValidFormatFunction): Ditto.
67849        (WebCore::CSSParser::parseFontFaceSrc): Ditto.
67850        (WebCore::CSSParser::parseColorParameters): Ditto.
67851        (WebCore::CSSParser::parseHSLParameters): Ditto.
67852        (WebCore::parseGradientColorStop): Ditto.
67853        (WebCore::CSSParser::parseGradient): Ditto.
67854        (WebCore::CSSParser::parseCanvas): Ditto.
67855        (WebCore::CSSParser::parseTransform): Ditto.
67856        (WebCore::CSSParser::createFloatingMediaQueryExp): Updated to use adoptPtr and
67857        remove the explicit deletion.
67858        (WebCore::CSSParser::sinkFloatingMediaQueryExp): Updated to use release.
67859        (WebCore::CSSParser::createFloatingMediaQueryExpList): Ditto.
67860        (WebCore::CSSParser::sinkFloatingMediaQueryExpList): Ditto.
67861        (WebCore::CSSParser::createFloatingMediaQuery): Ditto.
67862        (WebCore::CSSParser::sinkFloatingMediaQuery): Ditto.
67863        (WebCore::CSSParser::checkForVariables): Use get for CSSParserFunction::args.
67864
67865        * css/CSSParser.h: Made return values for sinkFloatingMediaQueryExp,
67866        sinkFloatingMediaQueryExpList, and sinkFloatingMediaQuery be PassOwnPtr.
67867        Made createFloatingMediaQuery take a PassOwnPtr. Made m_mediaQuery,
67868        m_floatingMediaQuery, m_floatingMediaQueryExp, and m_floatingMediaQueryExpList
67869        be OwnPtr.
67870
67871        * css/CSSParserValues.h: Made args be an OwnPtr.
67872
67873        * css/CSSStyleSelector.cpp: Made CSSRuleSet m_universalRules and m_pageRules
67874        be OwnPtr.
67875        (WebCore::CSSStyleSelector::CSSStyleSelector): Use document instead of doc.
67876        Got rid of the init function, only called here, because it did nothing that
67877        wasn't already done. Eliminated unneeded code to set m_userStyle to 0, since
67878        it's now an OwnPtr and will be 0 automatically. Use adoptPtr when initializing
67879        m_medium, m_authorStyle, and m_useStyle.
67880        (WebCore::CSSStyleSelector::~CSSStyleSelector): Got rid of unneeded delete of
67881        m_medium, m_authorStyle, and m_userStyle, and unneded clear of m_keyframesRuleMap.
67882        (WebCore::CSSStyleSelector::styleForElement): Use get with m_userStyle and
67883        m_authorStyle.
67884        (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
67885        (WebCore::CSSStyleSelector::styleForPage): Ditto.
67886        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Ditto.
67887        (WebCore::CSSRuleSet::CSSRuleSet): Got rid of unneeded initialization of
67888        m_universalRules and m_pageRules.
67889        (WebCore::CSSRuleSet::~CSSRuleSet): Got rid of unneeed deletion of same.
67890        (WebCore::CSSRuleSet::addRule): Use adoptPtr to initialize m_universalRules.
67891        (WebCore::CSSRuleSet::addPageRule): Use adoptPtr to initialize m_pageRules.
67892        (WebCore::CSSStyleSelector::applyProperty): Use adopPtr to create counter
67893        context object.
67894
67895        * css/CSSStyleSelector.h: Made m_authorStyle, m_userStyle, and m_medium use
67896        OwnPtr. Got rid of init function.
67897
67898        * css/CSSStyleSheet.cpp:
67899        (WebCore::CSSStyleSheet::CSSStyleSheet): Updatd for name change from m_doc
67900        and doc to m_document and document. Eliminated unneeded initialization of
67901        m_namespaces now that it is an OwnPtr.
67902        (WebCore::CSSStyleSheet::~CSSStyleSheet): Got rid of unneeded deletion of same.
67903        (WebCore::CSSStyleSheet::cssRules): Updated doc to document.
67904        (WebCore::CSSStyleSheet::addNamespace): Added adopPtr when setting m_namespaces.
67905        (WebCore::CSSStyleSheet::determineNamespace): Updated for changes to the
67906        CSSNamespace class, using uri data member instead of function.
67907        (WebCore::CSSStyleSheet::styleSheetChanged): Use document instead of doc.
67908
67909        * css/CSSStyleSheet.h: Renamed doc and m_doc to document and m_document.
67910        Made m_namespaces an OwnPtr.
67911
67912        * css/CSSValueList.cpp:
67913        (WebCore::CSSValueList::CSSValueList): Clean up logic a bit.
67914        (WebCore::CSSValueList::createParserValueList): Clean up logic a bit and
67915        return a PassOwnPtr.
67916
67917        * css/CSSValueList.h: Changed createParserValueList to return a PassOwnPtr.
67918
67919        * css/CSSVariablesDeclaration.cpp:
67920        (WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc): Updated to use
67921        document instead of doc.
67922
67923        * css/MediaList.cpp:
67924        (WebCore::MediaList::deleteMedium): Use OwnPtr instead of a boolean to
67925        make sure the newly-created query here is deleted.
67926        (WebCore::MediaList::appendMediaQuery): Updated to take PassOwnPtr.
67927
67928        * css/MediaList.h: Changed appendMediaQuery to take a PassOwnPtr.
67929
67930        * inspector/InspectorDOMAgent.cpp:
67931        (WebCore::InspectorDOMAgent::getStyleSheet): Use document instead of doc.
67932        (WebCore::InspectorDOMAgent::getRuleRanges): Ditto.
67933        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet): Ditto.
67934
67935        * rendering/style/ContentData.cpp:
67936        (WebCore::ContentData::clear): Update since data members are OwnPtr.
67937        Also, fixed iterative deletion algorithm to be much simpler.
67938        (WebCore::ContentData::dataEquivalent): Added FIXMEs and tweaked formatting.
67939        (WebCore::ContentData::deleteContent): Tweaked formatting.
67940
67941        * rendering/style/ContentData.h: Changed m_next to an OwnPtr.
67942        Added assertions to getters to check that we get the correct type.
67943        Use leakRef instead of releaseRef. Changed setCounter and setNext functions
67944        to take PassOwnPtr arguments.
67945
67946        * rendering/style/RenderStyle.cpp:
67947        (WebCore::RenderStyle::prepareToSetContent): Refactored common part of the
67948        into a shared function so the three setContent functions don't have to repeat
67949        the logic. Used an OwnPtr to avoid confusing logic and leakPtr.
67950        (WebCore::RenderStyle::setContent): Changed argument to PassOwnPtr.
67951
67952        * rendering/style/RenderStyle.h: Changed setContent argument to a PassOwnPtr.
67953        Added declaration of prepareToSetContent helper function.
67954
679552010-08-29  Patrick Gansterer  <paroga@paroga.com>
67956
67957        Reviewed by Adam Roben.
67958
67959        [WINCE] Port ScrollbarThemeWin to WinCE
67960        https://bugs.webkit.org/show_bug.cgi?id=44818
67961
67962        Add a #ifdef around usage of unsupported DFCS_FLAT.
67963
67964        * platform/win/ScrollbarThemeWin.cpp:
67965        (WebCore::ScrollbarThemeWin::paintButton):
67966
679672010-08-29  Patrick Gansterer  <paroga@paroga.com>
67968
67969        Reviewed by Adam Roben.
67970
67971        [WINCE] Port SystemInfo to WinCE
67972        https://bugs.webkit.org/show_bug.cgi?id=44817
67973
67974        * platform/win/SystemInfo.cpp:
67975        (WebCore::isRunningOnVistaOrLater):
67976
679772010-08-28  Jeremy Moskovich  <jeremy@chromium.org>
67978
67979        Reviewed by Dimitri Glazkov.
67980
67981        First step in unforking Chrome's FontPlatformDataMac.mm.
67982        Move files from platform/graphics/mac to platform/graphics/cocoa
67983
67984        https://bugs.webkit.org/show_bug.cgi?id=41398
67985
67986        Just moving files around so no new tests.
67987
67988        * WebCore.gypi:
67989        * WebCore.xcodeproj/project.pbxproj:
67990        * platform/graphics/cocoa: Added.
67991        * platform/graphics/cocoa/FontPlatformData.h: Copied from WebCore/platform/graphics/mac/FontPlatformData.h.
67992        * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Copied from WebCore/platform/graphics/mac/FontPlatformDataMac.mm.
67993        * platform/graphics/mac/FontPlatformData.h: Removed.
67994        * platform/graphics/mac/FontPlatformDataMac.mm: Removed.
67995
679962010-08-28  Darin Adler  <darin@apple.com>
67997
67998        Reviewed by Sam Weinig.
67999
68000        Some IDL attributes don't reflect URL content attributes properly
68001        https://bugs.webkit.org/show_bug.cgi?id=43650
68002
68003        * dom/Document.cpp:
68004        (WebCore::Document::processBaseElement): Added. Implements the rules for base elements
68005        from the HTML5 specification. Handles multiple base elements in the same document.
68006
68007        * dom/Document.h: Removed setBaseElementURL and setBaseElementTarget, replacing them
68008        with processBaseElement.
68009
68010        * html/HTMLBaseElement.cpp:
68011        (WebCore::HTMLBaseElement::parseMappedAttribute): Call the new processBaseElement
68012        function.
68013        (WebCore::HTMLBaseElement::insertedIntoDocument): Ditto.
68014        (WebCore::HTMLBaseElement::removedFromDocument): Ditto.
68015        (WebCore::HTMLBaseElement::isURLAttribute): Added.
68016        (WebCore::HTMLBaseElement::target): Moved here from the .h file and changed to not
68017        realy on an m_target local variable.
68018
68019        * html/HTMLBaseElement.h: Added an override of the isURLAttribute function. Removed
68020        unneeded process function. Removed declaration of nonexistent setHref and setTarget
68021        functions. Removed unneeded m_hrefAttrValue, m_href, and m_target. Moved
68022        implementation of target function into the .cpp file.
68023
68024        * html/HTMLBaseElement.idl: Marked the href attribute as URL.
68025
68026        * html/HTMLBlockquoteElement.cpp:
68027        (WebCore::HTMLBlockquoteElement::isURLAttribute): Added.
68028        * html/HTMLBlockquoteElement.h: Added isURLAttribute.
68029        * html/HTMLBlockquoteElement.idl: Marked the cite attribute as URL.
68030
68031        * html/HTMLEmbedElement.idl: Marked the src attribute as URL.
68032
68033        * html/HTMLFormElement.cpp: Added a comment about the action function, which should
68034        be removed.
68035
68036        * html/HTMLFormElement.idl: Marked the action attribute as URL.
68037
68038        * html/HTMLHtmlElement.cpp:
68039        (WebCore::HTMLHtmlElement::isURLAttribute): Added.
68040        (WebCore::HTMLHtmlElement::insertedIntoDocument): Tweaked a bit.
68041        * html/HTMLHtmlElement.h: Added isURLAttribute.
68042        * html/HTMLHtmlElement.idl: Marked the manifest attribute as URL.
68043
68044        * html/HTMLIFrameElement.idl: Marked the src attribute a URL.
68045
68046        * html/HTMLModElement.cpp:
68047        (WebCore::HTMLModElement::isURLAttribute): Added.
68048        * html/HTMLModElement.h: Added isURLAttribute.
68049        * html/HTMLModElement.idl: Marked the cite attribute as URL.
68050
68051        * html/HTMLQuoteElement.cpp:
68052        (WebCore::HTMLQuoteElement::isURLAttribute): Added.
68053        * html/HTMLQuoteElement.h: Added isURLAttribute.
68054        * html/HTMLQuoteElement.idl: Marked the cite attribute as URL.
68055
68056        * html/HTMLViewSourceDocument.cpp:
68057        (WebCore::HTMLViewSourceDocument::processTagToken): Changed code to create a base
68058        element instead of calling setBaseElementURL directly.
68059        (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use AtomicString instead of String.
68060        (WebCore::HTMLViewSourceDocument::addLine): Ditto.
68061        (WebCore::HTMLViewSourceDocument::addText): Ditto.
68062        (WebCore::HTMLViewSourceDocument::addBase): Added. Creates a base element and inserts it.
68063        (WebCore::HTMLViewSourceDocument::addLink): Use AtomicString instead of String.
68064 
68065        * html/HTMLViewSourceDocument.h: Updated function declarations as above.
68066
68067        * bindings/scripts/test/CPP/WebDOMTestCallback.h:
68068        * bindings/scripts/test/CPP/WebDOMTestInterface.h:
68069        * bindings/scripts/test/CPP/WebDOMTestObj.h:
68070        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
68071        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
68072        Updated results, which changed due to the fixes for at
68073        least these bugs, and perhaps a few more:
68074        https://bugs.webkit.org/show_bug.cgi?id=42115
68075        https://bugs.webkit.org/show_bug.cgi?id=44597
68076        https://bugs.webkit.org/show_bug.cgi?id=44738
68077
68078        * bindings/scripts/test/TestObj.idl:
68079        * html/HTMLAnchorElement.idl:
68080        * html/HTMLAreaElement.idl:
68081        * html/HTMLEmbedElement.idl:
68082        * html/HTMLFormElement.cpp:
68083        * html/HTMLFormElement.idl:
68084        * html/HTMLFrameElement.idl:
68085        * html/HTMLIFrameElement.idl:
68086        * html/HTMLImageElement.idl:
68087        * html/HTMLInputElement.idl:
68088        * html/HTMLLinkElement.idl:
68089        * html/HTMLMediaElement.idl:
68090        * html/HTMLObjectElement.idl:
68091        * html/HTMLScriptElement.idl:
68092        * html/HTMLSourceElement.idl:
68093        * html/HTMLVideoElement.idl:
68094        Tweaked formatting.
68095
680962010-08-28  Ryosuke Niwa  <rniwa@webkit.org>
68097
68098        Reviewed by Darin Adler.
68099
68100        The logic to escape entities in appendEscapedContent and appendAttributeValue should be merged
68101        https://bugs.webkit.org/show_bug.cgi?id=44831
68102
68103        Added appendCharactersReplacingEntities to escape &, <, >, ", and nbsp based on the mask.
68104        Removed escapeContentText because it was only used in appendText, which now directly calls
68105        appendCharactersReplacingEntities. Replaced appendEscapedContent, ucharRange, and appendUCharRange
68106        by appendNodeValue.
68107
68108        No new tests are added since this is a cleanup.
68109
68110        * editing/markup.cpp:
68111        (WebCore::):
68112        (WebCore::appendCharactersReplacingEntities): Added.
68113        (WebCore::MarkupAccumulator::appendAttributeValue): Calls appendCharactersReplacingEntities.
68114        (WebCore::MarkupAccumulator::appendNodeValue): Added.
68115        (WebCore::MarkupAccumulator::appendText): Calls appendNodeValue and appendCharactersReplacingEntities.
68116        (WebCore::urlToMarkup): Calls escapeEntities.
68117
681182010-08-27  Ryosuke Niwa  <rniwa@webkit.org>
68119
68120        Reviewed by Darin Adler.
68121
68122        cannot remove text-decoration when style is added by u or s
68123        https://bugs.webkit.org/show_bug.cgi?id=44560
68124
68125        The bug was caused by WebKit not pushing down implicitly added styles to descendent nodes.
68126        Fixed the bug by pushing down all elements that implicitly add style.
68127
68128        extractInlineStyleToPushDown now calls removeImplicitlyStyledElement, which was modified to extract
68129        the style implicitly added by the element to extractStyle.
68130
68131        This revealed a bug in applyInlineStyleToPushDown where applyInlineStyleIfNeeded could add
68132        an implicitly styled element inside an element with a conflicting style, thereby overriding the style of the element.
68133        Fixed this by extending the logic to honor the existing inline style declaration used in
68134        the case of rewriting inline style declaration to all cases including the one calling addInlineStyleIfNeeded.
68135
68136        Also fixed a bug in removeInlineStyle where pushDownInlineStyleAroundNode was called on a text node
68137        outside of selection if start was at the end of the text node.
68138
68139        Test: editing/style/push-down-implicit-styles.html
68140
68141        * editing/ApplyStyleCommand.cpp:
68142        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Added extractedStyle, which receives
68143        the style implicitly added by the element being removed.
68144        (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Calls removeImplicitlyStyledElement
68145        to remove the implicitly styled element and extract the inline style added by the element.
68146        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Fixed a bug that addInlineStyleIfNeeded
68147        could override the inline style declaration style of the node.
68148        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Uses extractInlineStyleToPushDown
68149        (WebCore::ApplyStyleCommand::removeInlineStyle): See above.
68150        * editing/ApplyStyleCommand.h: Prototype changes.
68151
681522010-08-27  Mark Rowe  <mrowe@apple.com>
68153
68154        Reviewed by Adam Barth.
68155
68156        <http://webkit.org/b/44802> REGRESSION (r65351): WebCore build fails due to attempting to directly access WebKitTools/Scripts
68157
68158        Move create-html-entity-table in to WebCore so that the build is again self-contained.
68159        The script is also updated to take input as a CSV file rather than JSON as the former
68160        can be parsed without requiring a third-party Python module be installed.
68161
68162        * CMakeLists.txt:
68163        * DerivedSources.make:
68164        * GNUmakefile.am:
68165        * WebCore.gyp/WebCore.gyp:
68166        * WebCore.pri:
68167        * WebCore.xcodeproj/project.pbxproj: Stop copying the input file in to the WebCore framework wrapper.
68168        * html/parser/HTMLEntityNames.in: Added.
68169        * html/parser/HTMLEntityNames.json: Removed.
68170        * html/parser/create-html-entity-table: Renamed from WebKitTools/Scripts/create-html-entity-table.
68171
681722010-08-28  Daniel Bates  <dbates@rim.com>
68173
68174        Attempt to fix Chromium Mac Release bot after changeset 66305 <http://trac.webkit.org/changeset/66305>.
68175
68176        * accessibility/chromium/AXObjectCacheChromium.cpp:
68177        (WebCore::AXObjectCache::postPlatformNotification): Added case statements for missing enum values.
68178        These case statements simply fall through to a "break" statement.
68179
681802010-08-26  Kevin Ollivier  <kevino@theolliviers.com>
68181
68182        Reviewed by Nikolas Zimmermann.
68183
68184        Add explicit destructor for C++ DOM bindings to avoid memory leaks when using SWIG.
68185        https://bugs.webkit.org/attachment.cgi?bugid=44738
68186
68187        * bindings/scripts/CodeGeneratorCPP.pm:
68188
681892010-08-28  Eric Carlson  <eric.carlson@apple.com>
68190
68191        Reviewed by Dan Bernstein.
68192
68193        Add WebM MIME types to type registry
68194        https://bugs.webkit.org/show_bug.cgi?id=44826
68195
68196        * platform/MIMETypeRegistry.cpp:
68197        (WebCore::TypeExtensionPair::): Add "video/webm" and "audio/webm" types.
68198
681992010-08-28  Eric Carlson  <eric.carlson@apple.com>
68200
68201        Reviewed by Simon Fraser.
68202
68203        Crash reloading fast/events/tabindex-focus-blur-all.html test
68204        https://bugs.webkit.org/show_bug.cgi?id=44743
68205
68206        * html/HTMLMediaElement.cpp:
68207        (WebCore::HTMLMediaElement::asyncEventTimerFired): If m_isWaitingToDecrementLoadEventDelayCount
68208        is true, call setShouldDelayLoadEvent(false) and set the timer to fire the pending events
68209        on the next idle.
68210        (WebCore::HTMLMediaElement::setShouldDelayLoadEvent): Don't clear the delay from within a
68211        media engine callback because document 'load' event handlers that cause the page to become
68212        inactive will delete the media engine. 
68213        * html/HTMLMediaElement.h: Add m_isWaitingToDecrementLoadEventDelayCount.
68214
682152010-08-28  Simon Fraser  <simon.fraser@apple.com>
68216
68217        Reviewed by Sam Weinig.
68218
68219        When properties are missing from animation keyframes, interpolate between those keyframes that specify them
68220        https://bugs.webkit.org/show_bug.cgi?id=40794
68221
68222        Some preliminary cleanup; for vectors, prefer indexed access rather than using iterators.
68223        
68224        No behavior changes.
68225
68226        * css/CSSStyleSelector.cpp:
68227        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
68228        * page/animation/KeyframeAnimation.cpp:
68229        (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
68230        (WebCore::KeyframeAnimation::validateTransformFunctionList):
68231        * rendering/RenderLayerBacking.cpp:
68232        (WebCore::RenderLayerBacking::startAnimation):
68233        * rendering/style/KeyframeList.h:
68234        (WebCore::KeyframeList::at):
68235        (WebCore::KeyframeList::keyframes):
68236
682372010-08-28  Dan Bernstein  <mitz@apple.com>
68238
68239        Reviewed by Simon Fraser.
68240
68241        Speculative fix for <rdar://problem/7275077> Crash in InlineBox::root() under RenderTextControl::textWithHardLineBreaks()
68242        https://bugs.webkit.org/show_bug.cgi?id=44816
68243
68244        No test because I could not reproduce the crash.
68245
68246        In a common variant of the crash, InlineBox::root() is called with this == 12. This suggests that
68247        a RenderInline* was cast into a RenderBox*, so RenderBox::inlineBoxWrapper() interpreted the
68248        m_lineHeight and m_verticalPosition members of a RenderInline as a pointer to an InlineBox.
68249
68250        The cast into RenderBox* in textWithHardLineBreaks() was introduced in r40881 with no exaplanation.
68251
68252        * rendering/RenderTextControl.cpp:
68253        (WebCore::RenderTextControl::textWithHardLineBreaks): Fetch the first line directly from the inner
68254        text block instead of relying on the first child being a text node.
68255
682562010-08-28  Moritz Lipp  <mlq@pwmt.org>
68257
68258        Reviewed by Xan Lopez.
68259
68260        [GTK] Improper webkit_dom_document_evaluate implementation.
68261        https://bugs.webkit.org/show_bug.cgi?id=42115
68262
68263        The generated webkit_dom_document_evaluate() function does not meet the
68264        evaluate interface described in the W3 Documentation
68265        http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate
68266        "If this is specified as nullor the implementation does not reuse the
68267        specified result,...". The current implementation did not accept the
68268        result parameter to be NULL.
68269
68270        * bindings/scripts/CodeGeneratorGObject.pm:
68271
682722010-08-28  Adam Barth  <abarth@webkit.org>
68273
68274        Reviewed by Eric Seidel.
68275
68276        HTMLTreeBuilder needs to call HTMLFormElement::setDemoted
68277        https://bugs.webkit.org/show_bug.cgi?id=44781
68278
68279        This patch teaches the HTMLTreeBuilder about demoted form elements.
68280        Demoting a form element magically stops the form element from
68281        rendering.  Demoted form elements are a concept from the
68282        LegacyHTMLTreeBuilder, but they are somewhat of a hack because
68283        rendering should be DOM-based.  We'll likely look for a better solution
68284        in a future patch.
68285
68286        * html/parser/HTMLConstructionSite.cpp:
68287        (WebCore::HTMLConstructionSite::insertHTMLFormElement):
68288        * html/parser/HTMLConstructionSite.h:
68289        * html/parser/HTMLTreeBuilder.cpp:
68290        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
68291
682922010-08-28  Chris Guillory   <chris.guillory@google.com>
68293
68294        Reviewed by Chris Fleizach.
68295
68296        Add AX notification for childrenChanged
68297        https://bugs.webkit.org/show_bug.cgi?id=44472
68298
68299        Test by running platform/chromium/accessibility/children-changed-notification.html within chromium's DRT
68300
68301        * accessibility/AXObjectCache.h:
68302        (WebCore::AXObjectCache::):
68303        * accessibility/AccessibilityRenderObject.cpp:
68304        (WebCore::AccessibilityRenderObject::childrenChanged):
68305        * accessibility/chromium/AXObjectCacheChromium.cpp:
68306        (WebCore::AXObjectCache::postPlatformNotification):
68307        * page/chromium/ChromeClientChromium.h:
68308
683092010-08-28  Eric Uhrhane  <ericu@chromium.org>
68310
68311        Reviewed by Darin Fisher.
68312
68313        Implement the DOM FileWriter class
68314        https://bugs.webkit.org/show_bug.cgi?id=44362
68315
68316        No new tests until the delegate class has an implementation; bug logged.
68317
68318        Build file additions.
68319        * GNUmakefile.am:
68320        * WebCore.gypi:
68321        * WebCore.pro:
68322        * WebCore.vcproj/WebCore.vcproj:
68323        * WebCore.xcodeproj/project.pbxproj:
68324
68325        The AsyncFileWriter is an abstract interface to which FileWriter delegates all the hard work.
68326        * html/AsyncFileWriter.h: Added.
68327
68328        The FileWriterClient is the interface for communications back from the AsyncFileWriter [success/failure, progress events].
68329        * html/FileWriterClient.h: Added.
68330        (WebCore::FileWriterClient::~FileWriterClient):
68331
68332        Added all delegation, state tracking, and progress event processing.
68333        * html/FileWriter.cpp:
68334        (WebCore::FileWriter::FileWriter):
68335        (WebCore::FileWriter::initialize):
68336        (WebCore::FileWriter::~FileWriter):
68337        ActiveDomObject stuff
68338        (WebCore::FileWriter::hasPendingActivity):
68339        (WebCore::FileWriter::stop):
68340        (WebCore::FileWriter::write):
68341        FileWriter public interface
68342        (WebCore::FileWriter::seek):
68343        (WebCore::FileWriter::truncate):
68344        (WebCore::FileWriter::abort):
68345        FileWriterClient interface
68346        (WebCore::FileWriter::didWrite):
68347        (WebCore::FileWriter::didTruncate):
68348        (WebCore::FileWriter::didFail):
68349        Progress events
68350        (WebCore::FileWriter::fireEvent):
68351        * html/FileWriter.h:
68352
683532010-08-28  Marc-Antoine Ruel  <maruel@chromium.org>
68354
68355        Reviewed by Dimitri Glazkov.
68356
68357        Preparatory patch to split libwebcore in multiple libraries.
68358
68359        Start with a webcore_prerequisites pseudo-target what will be the common
68360        target for all the other ones.
68361
68362        * WebCore.gyp/WebCore.gyp:
68363
683642010-08-28  Pratik Solanki  <psolanki@apple.com>
68365
68366        Reviewed by Dan Bernstein.
68367
68368        Add an ENABLE define for purgeable memory support
68369        https://bugs.webkit.org/show_bug.cgi?id=44777
68370
68371        * platform/PurgeableBuffer.h:
68372        * platform/mac/PurgeableBufferMac.cpp:
68373
683742010-08-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
68375
68376        Reviewed by Kenneth Rohde Christiansen.
68377
68378        [EFL] Fix error message when theme loading fails
68379        https://bugs.webkit.org/show_bug.cgi?id=44775
68380
68381        Parameters for logging were in the wrong order.
68382
68383        No new functionality so no new tests.
68384
68385        * platform/efl/ScrollbarEfl.cpp:
68386        (ScrollbarEfl::setParent): exchange argument order in log function
68387        call
68388
683892010-08-27  Nikolas Zimmermann  <nzimmermann@rim.com>
68390
68391        Reviewed by Dirk Schulze.
68392
68393        REGRESSION: some tests no longer painting
68394        https://bugs.webkit.org/show_bug.cgi?id=44773
68395
68396        Fix regression from the RenderImageResource introduction, fast/canvas/canvas-as-image.html
68397        and fast/canvas/canvas-as-image-incremental-repaint.html pixel tests did not work anymore.
68398
68399        * rendering/RenderImageResource.h:
68400        (WebCore::RenderImageResource::hasImage): Make hasImage virtual.
68401        * rendering/RenderImageResourceStyleImage.h:
68402        (WebCore::RenderImageResourceStyleImage::hasImage): Always return true, just like RenderImageGeneratedContent did.
68403
684042010-08-27  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
68405
68406        Reviewed by Kenneth Rohde Christiansen.
68407
68408        [Qt] Cache plugin info to a persistent database
68409
68410        https://bugs.webkit.org/show_bug.cgi?id=43179
68411
68412        Implement a cache of NPAPI plugin metadata. Write the metadata to aa
68413        file that gets rewritten if any plugin is added / removed.  Compilation
68414        of the feature is controlled by #if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
68415
68416        Currently only enabled for Qt UNIX flavors.
68417
68418        * WebCore.pro:  Enable NETSCAPE_PLUGIN_METADATA_CACHE for UNIX builds
68419        * platform/qt/FileSystemQt.cpp:
68420        (WebCore::openFile): Added.
68421        (WebCore::readFromFile): Added.
68422        * plugins/PluginDatabase.cpp:
68423        (WebCore::persistentPluginMetadataCachePath): Static accessor for the path
68424        (WebCore::PluginDatabase::PluginDatabase): Add instance variable.
68425        (WebCore::PluginDatabase::refresh):
68426        (WebCore::PluginDatabase::pluginForMIMEType): Ensure returned plugin is loaded.
68427        (WebCore::PluginDatabase::MIMETypeForExtension): Ensure returned plugin is loaded.
68428        (WebCore::PluginDatabase::clear):
68429        (WebCore::fillBufferWithContentsOfFile): Static helper function.
68430        (WebCore::readUTF8String): Static helper function.
68431        (WebCore::readTime): Static helper function.
68432        (WebCore::PluginDatabase::loadPersistentMetadataCache):
68433        (WebCore::writeUTF8String): Static helper function.
68434        (WebCore::writeTime): Static helper function.
68435        (WebCore::PluginDatabase::updatePersistentMetadataCache): Added.
68436        (WebCore::PluginDatabase::isPersistentMetadataCacheEnabled): Added.
68437        (WebCore::PluginDatabase::setPersistentMetadataCacheEnabled):Added.
68438        (WebCore::PluginDatabase::persistentMetadataCachePath): Added.
68439        (WebCore::PluginDatabase::setPersistentMetadataCachePath): Added.
68440        * plugins/PluginDatabase.h:
68441        * plugins/PluginPackage.cpp:
68442        (WebCore::PluginPackage::PluginPackage): Add instance variable.
68443        (WebCore::PluginPackage::createPackageFromCache): Added.
68444        (WebCore::PluginPackage::ensurePluginLoaded): Added.
68445        * plugins/PluginPackage.h:
68446        (WebCore::PluginPackage::fullMIMEDescription): Added.
68447        * plugins/qt/PluginPackageQt.cpp:
68448        (WebCore::PluginPackage::fetchInfo): Split mime parsing.
68449        (WebCore::PluginPackage::setMIMEDescription): Added. Mime parsing.
68450
684512010-08-27  Daniel Bates  <dbates@rim.com>
68452
68453        Reviewed by Darin Adler.
68454
68455        Implement symbolic CSS3 list-style-types
68456        https://bugs.webkit.org/show_bug.cgi?id=36734
68457
68458        Implements all of the symbolic CSS3 list-style-types as per
68459        section 4.5 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#symbolic>.
68460
68461        Test: fast/lists/w3-css3-list-styles-symbolic.html
68462
68463        * css/CSSPrimitiveValueMappings.h:
68464        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added list style types Asterisks and Footnotes.
68465        * css/CSSValueKeywords.in: Ditto.
68466        * inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
68467        * rendering/RenderListMarker.cpp:
68468        (WebCore::toAlphabeticOrNumeric): Changed type of parameter sequenceSize from int to unsigned.
68469        (WebCore::toSymbolic): Added.
68470        (WebCore::toAlphabetic): Changed type of parameter alphabetSize from int to unsigned.
68471        (WebCore::toNumeric): Changed type of parameter numeralsSize from int to unsigned.
68472        (WebCore::effectiveListMarkerType): Added.
68473        (WebCore::listMarkerSuffix): Added list style types Asterisks and Footnotes.
68474        (WebCore::listMarkerText): Ditto.
68475        (WebCore::RenderListMarker::paint): Ditto.
68476        (WebCore::RenderListMarker::calcPrefWidths): Ditto.
68477        (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
68478        * rendering/style/RenderStyleConstants.h: Ditto.
68479        (WebCore::):
68480
684812010-08-27  Vincent Scheib  <scheib@chromium.org>
68482
68483        Reviewed by Darin Fisher.
68484
68485        CanvasRenderingContext2D::willDraw changed to didDraw
68486
68487        Solves issue with canvas to canvas draw calls, and simplifies
68488        mixed software and GPU acceleration of GraphicsContext implementations
68489        which must track dirty rects for backing stores.
68490
68491        https://bugs.webkit.org/show_bug.cgi?id=44741
68492
68493        * html/HTMLCanvasElement.cpp:
68494        (WebCore::HTMLCanvasElement::didDraw):
68495        * html/HTMLCanvasElement.h:
68496        * html/canvas/CanvasRenderingContext2D.cpp:
68497        (WebCore::CanvasRenderingContext2D::fill):
68498        (WebCore::CanvasRenderingContext2D::stroke):
68499        (WebCore::CanvasRenderingContext2D::clearRect):
68500        (WebCore::CanvasRenderingContext2D::fillRect):
68501        (WebCore::CanvasRenderingContext2D::strokeRect):
68502        (WebCore::CanvasRenderingContext2D::drawImage):
68503        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
68504        (WebCore::CanvasRenderingContext2D::didDraw):
68505        (WebCore::CanvasRenderingContext2D::putImageData):
68506        (WebCore::CanvasRenderingContext2D::drawTextInternal):
68507        * html/canvas/CanvasRenderingContext2D.h:
68508        * html/canvas/WebGLRenderingContext.cpp:
68509        (WebCore::WebGLRenderingContext::markContextChanged):
68510
685112010-08-27  Daniel Cheng  <dcheng@chromium.org>
68512
68513        Reviewed by Tony Chang.
68514
68515        [chromium] Add new WebClipboard method for setting generic data in copy/cut handlers.
68516        https://bugs.webkit.org/show_bug.cgi?id=42121
68517
68518        No new tests.
68519
68520        * platform/chromium/ChromiumBridge.h:
68521
685222010-08-27  Patrick Gansterer  <paroga@paroga.com>
68523
68524        Reviewed by Adam Roben.
68525
68526        Remove unnecessary AlphaBlend in PasteboardWin.
68527        https://bugs.webkit.org/show_bug.cgi?id=44720
68528
68529        Replacing AlphaBlend with BitBlt is safe because testing showed that alpha
68530        never survives copy-and-paste on Windows in any browser, and StretchBlt 
68531        was a overkill since the source and destination size are always equal.
68532
68533        * platform/win/PasteboardWin.cpp:
68534        (WebCore::Pasteboard::writeImage):
68535
685362010-08-26  Zhenyao Mo  <zmo@google.com>
68537
68538        Reviewed by Kenneth Russell.
68539
68540        Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (skia)
68541        https://bugs.webkit.org/show_bug.cgi?id=38282
68542
68543        * platform/graphics/skia/GraphicsContext3DSkia.cpp: Dealing with the case of texImage2D with HTMLCanvasElement input.
68544        (WebCore::GraphicsContext3D::getImageData):
68545
685462010-08-26  Vangelis Kokkevis  <vangelis@chromium.org>
68547
68548        Reviewed by Darin Fisher.
68549
68550        [chromium] Working around compile issue in LayerRendererChromium.cpp
68551        when DEBUG_GL_CALLS=1
68552        https://bugs.webkit.org/show_bug.cgi?id=44739
68553
68554        No new functionality, no new tests.
68555
68556        * platform/graphics/chromium/LayerRendererChromium.cpp:
68557        (WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer):
68558
685592010-08-27  Patrick Gansterer  <paroga@paroga.com>
68560
68561        Reviewed by Adam Roben.
68562
68563        [WINCE] Port SoftLinking to WinCE
68564        https://bugs.webkit.org/show_bug.cgi?id=44693
68565
68566        WinCE provides GetProcAddressW and GetProcAddressA for softlinking.
68567        Unfortunately WinNT provides only GetProcAddress (without A or W).
68568
68569        Add a platform dependent macro for GetProcAddress.
68570
68571        * platform/win/SoftLinking.h:
68572
685732010-08-27  Martin Robinson  <mrobinson@igalia.com>
68574
68575        Reviewed by Xan Lopez.
68576
68577        [GTK] ScrollbarThemeGtk should account for the trough_under_steppers property
68578        https://bugs.webkit.org/show_bug.cgi?id=44742
68579
68580        No new tests until this code is activated, at which point pixel tests will
68581        test the scrollbar rendering.
68582
68583        * platform/gtk/ScrollbarThemeGtk.cpp:
68584        (WebCore::ScrollbarThemeGtk::paintTrackBackground): Only inflate the track background
68585        if the style specifies trough_under_steppers.
68586        (WebCore::ScrollbarThemeGtk::paint): If the theme specifies trough_under_steppers,
68587        a dirty stepper also triggers a repaint of the trough region.
68588
685892010-08-27  Joseph Pecoraro  <joepeck@webkit.org>
68590
68591        Reviewed by Alexey Proskuryakov.
68592
68593        Extra Events triggered by <input> on focus
68594        https://bugs.webkit.org/show_bug.cgi?id=44731
68595
68596        Tests: fast/events/input-focus-no-duplicate-events.html
68597               fast/events/input-tab-focus-no-duplicate-events.html
68598
68599        * dom/Element.cpp:
68600        (WebCore::Element::focus): do not continue and update the appearance of the element if it was not focused.
68601        * page/FocusController.cpp:
68602        (WebCore::FocusController::setFocusedNode): respect the return value of Document::setFocusedNode.
68603
686042010-08-26  Joseph Pecoraro  <joepeck@webkit.org>
68605
68606        Reviewed by Pavel Feldman.
68607
68608        Web Inspector: attribute nodes don't get rendered in the console
68609        https://bugs.webkit.org/show_bug.cgi?id=44736
68610
68611        Extended Test: inspector/console-format.html
68612
68613        * inspector/InspectorDOMAgent.cpp:
68614        (WebCore::InspectorDOMAgent::buildObjectForNode): add "name" and "value" properties for Attribute nodes.
68615        * inspector/front-end/DOMAgent.js:
68616        (WebInspector.DOMNode): add "name" and "value" properties for Attribute nodes.
68617        * inspector/front-end/ElementsTreeOutline.js: display html for Attribute nodes.
68618
686192010-08-27  Adam Barth  <abarth@webkit.org>
68620
68621        Rubber-stamped by Eric Seidel.
68622
68623        Finshing moving the HTML parser into WebCore/html/parser.
68624
68625        * Android.derived.mk:
68626        * Android.mk:
68627        * CMakeLists.txt:
68628        * DerivedSources.make:
68629        * GNUmakefile.am:
68630        * WebCore.gyp/WebCore.gyp:
68631        * WebCore.gypi:
68632        * WebCore.pri:
68633        * WebCore.pro:
68634        * WebCore.vcproj/WebCore.vcproj:
68635        * WebCore.xcodeproj/project.pbxproj:
68636        * html/CSSPreloadScanner.cpp: Removed.
68637        * html/CSSPreloadScanner.h: Removed.
68638        * html/HTMLConstructionSite.cpp: Removed.
68639        * html/HTMLConstructionSite.h: Removed.
68640        * html/HTMLDocumentParser.cpp: Removed.
68641        * html/HTMLDocumentParser.h: Removed.
68642        * html/HTMLEntityNames.json: Removed.
68643        * html/HTMLEntityParser.cpp: Removed.
68644        * html/HTMLEntityParser.h: Removed.
68645        * html/HTMLEntitySearch.cpp: Removed.
68646        * html/HTMLEntitySearch.h: Removed.
68647        * html/HTMLEntityTable.h: Removed.
68648        * html/HTMLFormattingElementList.cpp: Removed.
68649        * html/HTMLFormattingElementList.h: Removed.
68650        * html/HTMLParserScheduler.cpp: Removed.
68651        * html/HTMLParserScheduler.h: Removed.
68652        * html/HTMLPreloadScanner.cpp: Removed.
68653        * html/HTMLPreloadScanner.h: Removed.
68654        * html/HTMLScriptRunner.cpp: Removed.
68655        * html/HTMLScriptRunner.h: Removed.
68656        * html/HTMLScriptRunnerHost.h: Removed.
68657        * html/HTMLTokenizer.cpp: Removed.
68658        * html/HTMLTokenizer.h: Removed.
68659        * html/HTMLViewSourceParser.cpp: Removed.
68660        * html/HTMLViewSourceParser.h: Removed.
68661        * html/parser/CSSPreloadScanner.cpp: Copied from WebCore/html/CSSPreloadScanner.cpp.
68662        * html/parser/CSSPreloadScanner.h: Copied from WebCore/html/CSSPreloadScanner.h.
68663        * html/parser/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLConstructionSite.cpp.
68664        * html/parser/HTMLConstructionSite.h: Copied from WebCore/html/HTMLConstructionSite.h.
68665        * html/parser/HTMLDocumentParser.cpp: Copied from WebCore/html/HTMLDocumentParser.cpp.
68666        * html/parser/HTMLDocumentParser.h: Copied from WebCore/html/HTMLDocumentParser.h.
68667        * html/parser/HTMLEntityNames.json: Copied from WebCore/html/HTMLEntityNames.json.
68668        * html/parser/HTMLEntityParser.cpp: Copied from WebCore/html/HTMLEntityParser.cpp.
68669        * html/parser/HTMLEntityParser.h: Copied from WebCore/html/HTMLEntityParser.h.
68670        * html/parser/HTMLEntitySearch.cpp: Copied from WebCore/html/HTMLEntitySearch.cpp.
68671        * html/parser/HTMLEntitySearch.h: Copied from WebCore/html/HTMLEntitySearch.h.
68672        * html/parser/HTMLEntityTable.h: Copied from WebCore/html/HTMLEntityTable.h.
68673        * html/parser/HTMLFormattingElementList.cpp: Copied from WebCore/html/HTMLFormattingElementList.cpp.
68674        * html/parser/HTMLFormattingElementList.h: Copied from WebCore/html/HTMLFormattingElementList.h.
68675        * html/parser/HTMLParserScheduler.cpp: Copied from WebCore/html/HTMLParserScheduler.cpp.
68676        * html/parser/HTMLParserScheduler.h: Copied from WebCore/html/HTMLParserScheduler.h.
68677        * html/parser/HTMLPreloadScanner.cpp: Copied from WebCore/html/HTMLPreloadScanner.cpp.
68678        * html/parser/HTMLPreloadScanner.h: Copied from WebCore/html/HTMLPreloadScanner.h.
68679        * html/parser/HTMLScriptRunner.cpp: Copied from WebCore/html/HTMLScriptRunner.cpp.
68680        * html/parser/HTMLScriptRunner.h: Copied from WebCore/html/HTMLScriptRunner.h.
68681        * html/parser/HTMLScriptRunnerHost.h: Copied from WebCore/html/HTMLScriptRunnerHost.h.
68682        * html/parser/HTMLTokenizer.cpp: Copied from WebCore/html/HTMLTokenizer.cpp.
68683        * html/parser/HTMLTokenizer.h: Copied from WebCore/html/HTMLTokenizer.h.
68684        * html/parser/HTMLViewSourceParser.cpp: Copied from WebCore/html/HTMLViewSourceParser.cpp.
68685        * html/parser/HTMLViewSourceParser.h: Copied from WebCore/html/HTMLViewSourceParser.h.
68686
686872010-08-27  Simon Fraser  <simon.fraser@apple.com>
68688
68689        Reviewed by Tony Chang.
68690
68691        Insertion point does not show when dragging text into an editable area
68692        https://bugs.webkit.org/show_bug.cgi?id=44295
68693        
68694        r65681 caused the caret to use the last-computed caret rect when
68695        painting, rather than forcing a style update. Because of this,
68696        we now need to eagerly update the caret rect when changing
68697        the drag selection.
68698        
68699        Not testable in DRT because the drag selection is always cleared
68700        before EventSender returns, so the drag caret can never show in
68701        the pixel results.
68702
68703        Tested by running editing/selection/drag-in-iframe.html manually.
68704
68705        * editing/SelectionController.cpp:
68706        (WebCore::SelectionController::setSelection):
68707
687082010-08-27  Adam Barth  <abarth@webkit.org>
68709
68710        Attempt to fix the Windows build.
68711
68712        * WebCore.vcproj/WebCoreCommon.vsprops:
68713
687142010-08-27  Adam Barth  <abarth@webkit.org>
68715
68716        Attempt to fix the Qt build.
68717
68718        * WebCore.pro:
68719
687202010-08-27  Adam Barth  <abarth@webkit.org>
68721
68722        Rubber-stamped by Eric Seidel.
68723
68724        Move HTMLTreeBuilder and HTMLElementStack to WebCore/html/parser.
68725
68726        * Android.mk:
68727        * CMakeLists.txt:
68728        * GNUmakefile.am:
68729        * WebCore.gypi:
68730        * WebCore.pro:
68731        * WebCore.vcproj/WebCore.vcproj:
68732        * WebCore.xcodeproj/project.pbxproj:
68733        * html/HTMLElementStack.cpp: Removed.
68734        * html/HTMLElementStack.h: Removed.
68735        * html/HTMLTreeBuilder.cpp: Removed.
68736        * html/HTMLTreeBuilder.h: Removed.
68737        * html/parser/HTMLElementStack.cpp: Copied from WebCore/html/HTMLElementStack.cpp.
68738        * html/parser/HTMLElementStack.h: Copied from WebCore/html/HTMLElementStack.h.
68739        * html/parser/HTMLTreeBuilder.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp.
68740        * html/parser/HTMLTreeBuilder.h: Copied from WebCore/html/HTMLTreeBuilder.h.
68741
687422010-08-27  Adam Barth  <abarth@webkit.org>
68743
68744        Reviewed by Darin Adler.
68745
68746        Create WebCore/html/parser
68747        https://bugs.webkit.org/show_bug.cgi?id=44792
68748
68749        This patch begins the process of moving the HTML parser code to the
68750        WebCore/html/parser directory.  This patch moves a single header file.
68751        More files will follow in future patches.
68752
68753        * CMakeLists.txt:
68754        * GNUmakefile.am:
68755        * WebCore.gyp/WebCore.gyp:
68756        * WebCore.gypi:
68757        * WebCore.pro:
68758        * WebCore.vcproj/WebCore.vcproj:
68759        * WebCore.vcproj/WebCoreCommon.vsprops:
68760        * WebCore.xcodeproj/project.pbxproj:
68761        * html/parser/HTMLToken.h: Renamed from WebCore/html/HTMLToken.h.
68762
687632010-08-27  Chris Marrin  <cmarrin@apple.com>
68764
68765        Reviewed by Simon Fraser.
68766
68767        https://bugs.webkit.org/show_bug.cgi?id=42862
68768        WebGL in CSS Canvas crashes
68769
68770        This fixes the crash, which was a simple null pointer deref. But this
68771        revealed that -webkit-canvas no longer works for WebGL. I believe this
68772        is due to the recent ImageBuffer optimizations done by Dave Hyatt
68773        (https://bugs.webkit.org/show_bug.cgi?id=43507). This changed ImageBuffer
68774        from always keeping a copy of the pixels to doing a copy to get them
68775        when needed. Since We need to get pixels out of the WebGL drawing buffer
68776        to use them as a CSS background, I had to change when I return those
68777        pixels to the ImageBuffer.
68778
68779        Tests: fast/canvas/webgl/css-webkit-canvas-repaint.html
68780               fast/canvas/webgl/css-webkit-canvas.html
68781
68782        * html/HTMLCanvasElement.cpp:
68783        (WebCore::HTMLCanvasElement::copiedImage): Add logic to get image from WebGL so it works with new ImageBuffer logic (see above)
68784        * html/canvas/WebGLRenderingContext.cpp:
68785        (WebCore::WebGLRenderingContext::create): Fixed null pointer deref
68786
687872010-08-27  James Robinson  <jamesr@chromium.org>
68788
68789        Reviewed by Dimitri Glazkov.
68790
68791        Move Shader class from platform/graphics/chromium to platform/graphics/gpu
68792        https://bugs.webkit.org/show_bug.cgi?id=44793
68793
68794        The Shader class and its subclasses are not chromium-specific.  This moves
68795        them to a common location so they can be re-used on all platforms.  Also
68796        moves the Shader subclasses into their own .h/.cpp files.
68797
68798        Refactor, no new tests.
68799
68800        * WebCore.gypi:
68801        * platform/graphics/chromium/GLES2Canvas.cpp:
68802        * platform/graphics/chromium/Shader.cpp: Removed.
68803        * platform/graphics/chromium/Shader.h: Removed.
68804        * platform/graphics/gpu/Shader.cpp: Added.
68805        (WebCore::Shader::affineTo3x3):
68806        (WebCore::Shader::loadShader):
68807        (WebCore::Shader::loadProgram):
68808        (WebCore::Shader::Shader):
68809        (WebCore::Shader::~Shader):
68810        * platform/graphics/gpu/Shader.h: Added.
68811        * platform/graphics/gpu/SolidFillShader.cpp: Added.
68812        (WebCore::SolidFillShader::SolidFillShader):
68813        (WebCore::SolidFillShader::create):
68814        (WebCore::SolidFillShader::use):
68815        * platform/graphics/gpu/SolidFillShader.h: Added.
68816        * platform/graphics/gpu/TexShader.cpp: Added.
68817        (WebCore::TexShader::TexShader):
68818        (WebCore::TexShader::create):
68819        (WebCore::TexShader::use):
68820        * platform/graphics/gpu/TexShader.h: Added.
68821
688222010-08-27  Kinuko Yasuda  <kinuko@chromium.org>
68823
68824        Reviewed by Darin Fisher.
68825
68826        Add AsyncFileSystem interface for platform-dependent FileSystem API implementation
68827        https://bugs.webkit.org/show_bug.cgi?id=44433
68828
68829        No new tests; tests will be added later.
68830
68831        * CMakeLists.txt:
68832        * WebCore.gypi:
68833        * WebCore.pro:
68834        * WebCore.vcproj/WebCore.vcproj:
68835        * WebCore.xcodeproj/project.pbxproj:
68836        * platform/AsyncFileSystem.cpp: Added.
68837        * platform/AsyncFileSystem.h: Added.
68838        * platform/AsyncFileSystemCallbacks.h: Added.
68839        * storage/DOMFileSystem.cpp:
68840        (WebCore::DOMFileSystem::DOMFileSystem):
68841        (WebCore::DOMFileSystem::~DOMFileSystem):
68842        (WebCore::DOMFileSystem::stop):
68843        (WebCore::DOMFileSystem::hasPendingActivity):
68844        (WebCore::DOMFileSystem::contextDestroyed):
68845        * storage/DOMFileSystem.h:
68846        (WebCore::DOMFileSystem::create):
68847        * storage/FileSystemCallbacks.cpp:
68848        (WebCore::FileSystemCallbacksBase::didFail):
68849        (WebCore::FileSystemCallbacks::FileSystemCallbacks):
68850        (WebCore::FileSystemCallbacks::didOpenFileSystem):
68851        * storage/FileSystemCallbacks.h:
68852        * storage/LocalFileSystem.cpp: Added.
68853        * storage/LocalFileSystem.h: Added.
68854
68855        * storage/Flags.h: Nits fix.
68856
688572010-07-27  Jer Noble  <jer.noble@apple.com>
68858
68859        Reviewed by Eric Carlson.
68860
68861        Add JavaScript API to allow a page to go fullscreen.
68862        rdar://problem/6867795
68863        https://bugs.webkit.org/show_bug.cgi?id=43099
68864        
68865        Mozilla has proposed a new set of JavaScript APIs which allow any element in
68866        a document to go full-screen.  The current revision of their proposal can be 
68867        found here:
68868        <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI&oldid=243429>
68869        
68870        The proposed specification includes the following:
68871        
68872        Document:
68873        - Three new methods on Document:
68874            + void requestFullScreen()
68875            + void requestFullScreenWithKeys()
68876            + void cancelFullScreen()
68877        - Three new attributes of Document:
68878            + readonly attribute boolean fullScreen
68879            + readonly attribute boolean fullScreenWithKeys
68880            + (optional) readonly attribute Element currentFullScreenElement
68881            
68882        Element:
68883        - Two new methods on Element:
68884            + void requestFullScreen()
68885            + void requestFullScreenWithKeys()
68886        
68887        Events:
68888        - One new event:
68889            + fullScreenChange
68890        
68891        CSS Pseudo-classes:
68892        - Three new Pseudo-classes:
68893            + :full-screen
68894            + :full-screen-doc
68895            + :full-screen-root-with-target
68896        
68897        For WebKit's initial implementation, all the above new APIs will be prefixed with 
68898        "webkit" or "-webkit" where appropriate.
68899        
68900        New tests:
68901        LayoutTests/fullscreen/full-screen-api.html
68902        LayoutTests/fullscreen/full-screen-css.html
68903        LayoutTests/fullscreen/full-screen-request.html
68904
68905        Project file changes:
68906        * Configurations/FeatureDefines.xcconfig: Added an ENABLE_FULLSCREEN_API entry.
68907        * DerivedSources.make: Added rules for fullscreen.css and WebCore.FullScreen.exp.
68908        * WebCore.FullScreen.exp: Added export symbols for Document and Element functions.
68909        * WebCore.xcodeproj/project.pbxproj: New source files added to the project.
68910
68911        IDL changes:
68912        * dom/Document.idl: Added the new full-screen API to the Document's javascript interface.
68913        * dom/Element.idl: Added the new full-screen API to the Element's javascript interface.
68914
68915        Source changes:
68916        * bindings/objc/PublicDOMInterfaces.h: Exposed Document and Element fullscreen functions in the DOM classes.
68917        * css/CSSSelector.cpp: Added new FullScreen pseudo-classes.
68918        * css/CSSSelector.h: Added new full-screen pseudo classes to the PseudoType enum.
68919        * css/CSSStyleSelector.cpp: 
68920        (WebCore::loadFullDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle and the defaultQuirksStyle sheets.
68921        (WebCore::loadSimpleDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle sheet.
68922        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Check for the new FullScreen pseudo classes.
68923        * dom/Document.cpp:
68924        (WebCore::Document::createEvent): Support creating a "WebKitFullScreenChange" event.
68925        (WebCore::Document::addListenerTypeIfNeeded): Support listening for a "webKitFullScreenChangeEvent"
68926        (WebCore::Document::webkitRequestFullScreenForElement): Passes request to the chrome client to enter full screen mode.
68927        (WebCore::Document::webkitCancelFullScreen): Passes request to the chrome client to exit full screen mode.
68928        (WebCore::Document::webkitWillEnterFullScreenForElement): Sets the FullScreen pseudo-classes on the full-screen element and its document.
68929        (WebCore::Document::webkitDidEnterFullScreenForElement): Currently a no-op.
68930        (WebCore::Document::webkitWillExitFullScreenForElement): Currently a no-op.
68931        (WebCore::Document::webkitDidExitFullScreenForElement): Clears the FullScreen pseudo-classes on the full-screen element and its document.
68932        * dom/Document.h: Added const accessors for new full-screen instance variables.
68933        (WebCore::Document::):
68934        (WebCore::Document::webkitIsFullScreen): Accessor for m_isFullScreen.
68935        (WebCore::Document::webkitIsFullScreenWithKeysEnabled): Accessor for m_isFullScren and m_areKeysEnabled.
68936        (WebCore::Document::webkitCurrentFullScreenElement): Accessor for m_fullScreenElement.
68937        * dom/Element.cpp:
68938        (WebCore::Element::webkitRequestFullScreen): Calls Document::webkitRequestFullScreenForElement. 
68939        * dom/Element.h:
68940        * dom/EventNames.h: Add a webkitfullscreenchange event name.
68941        * html/HTMLElement.cpp:
68942        (WebCore::HTMLElement::parseMappedAttribute): Parse the new "onwebkitfullscreenchange" attribute and register a listener.
68943        * page/ChromeClient.h:
68944        (WebCore::ChromeClient::supportsFullscreenForElement): Pass through to the current UI delegate.
68945        (WebCore::ChromeClient::enterFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate.
68946        (WebCore::ChromeClient::exitFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate.
68947        * page/Settings.cpp:
68948        (WebCore::Settings::Settings):
68949        * page/Settings.h: Add a new setting to control runtime support for full screen mode (defaults to off)
68950        * rendering/MediaControlElements.cpp:
68951        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): The full screen button now toggles full screen mode (previously, it only entered).
68952        * rendering/style/RenderStyleConstants.h: Added new style constants.
68953
689542010-08-27  James Robinson  <jamesr@chromium.org>
68955
68956        Reviewed by Darin Fisher.
68957
68958        Move Texture class from p/g/chromium to p/g/gpu
68959        https://bugs.webkit.org/show_bug.cgi?id=44783
68960
68961        This class and its support were developed in platform/graphics/chromium but are not chromium-specific
68962        in any way.  This patch moves them to a common location so they can be shared by all platforms.
68963
68964        Pure refactor, so no new tests.
68965
68966        * WebCore.gyp/WebCore.gyp:
68967        * WebCore.gypi:
68968        * platform/graphics/chromium/GLES2Canvas.cpp:
68969        (WebCore::GLES2Canvas::drawTexturedRect):
68970        (WebCore::GLES2Canvas::drawTexturedRectTile):
68971        (WebCore::GLES2Canvas::createTexture):
68972        (WebCore::GLES2Canvas::getTexture):
68973        * platform/graphics/chromium/GLES2Canvas.h:
68974        * platform/graphics/chromium/GLES2Texture.cpp: Removed.
68975        * platform/graphics/chromium/GLES2Texture.h: Removed.
68976        * platform/graphics/gpu/Texture.cpp: Added.
68977        (WebCore::Texture::Texture):
68978        (WebCore::Texture::~Texture):
68979        (WebCore::convertFormat):
68980        (WebCore::Texture::create):
68981        (WebCore::copySubRect):
68982        (WebCore::Texture::load):
68983        (WebCore::Texture::bindTile):
68984        * platform/graphics/gpu/Texture.h: Added.
68985        (WebCore::Texture::):
68986        (WebCore::Texture::format):
68987        (WebCore::Texture::tiles):
68988        * platform/graphics/gpu/TilingData.cpp: Renamed from WebCore/platform/graphics/chromium/TilingData.cpp.
68989        (WebCore::computeNumTiles):
68990        (WebCore::TilingData::TilingData):
68991        (WebCore::TilingData::tileXIndexFromSrcCoord):
68992        (WebCore::TilingData::tileYIndexFromSrcCoord):
68993        (WebCore::TilingData::tileBounds):
68994        (WebCore::TilingData::tileBoundsWithBorder):
68995        (WebCore::TilingData::tileBoundsNormalized):
68996        (WebCore::TilingData::tilePositionX):
68997        (WebCore::TilingData::tilePositionY):
68998        (WebCore::TilingData::tileSizeX):
68999        (WebCore::TilingData::tileSizeY):
69000        (WebCore::TilingData::overlappedTileIndices):
69001        (WebCore::TilingData::intersectDrawQuad):
69002        * platform/graphics/gpu/TilingData.h: Renamed from WebCore/platform/graphics/chromium/TilingData.h.
69003        (WebCore::TilingData::maxTextureSize):
69004        (WebCore::TilingData::totalSizeX):
69005        (WebCore::TilingData::totalSizeY):
69006        (WebCore::TilingData::numTiles):
69007        (WebCore::TilingData::numTilesX):
69008        (WebCore::TilingData::numTilesY):
69009        (WebCore::TilingData::tileIndex):
69010        (WebCore::TilingData::tileXIndex):
69011        (WebCore::TilingData::tileYIndex):
69012        (WebCore::TilingData::TilingData):
69013        (WebCore::TilingData::assertTile):
69014        * platform/graphics/skia/ImageSkia.cpp:
69015        (WebCore::drawBitmapGLES2):
69016        * platform/graphics/skia/PlatformContextSkia.cpp:
69017        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
69018        * platform/graphics/skia/PlatformContextSkia.h:
69019
690202010-08-27  David Hyatt  <hyatt@apple.com>
69021
69022        Reviewed by Simon Fraser.
69023
69024        https://bugs.webkit.org/show_bug.cgi?id=44788, implement HTML5-compliant doctype switching.
69025
69026        Rename the various modes to match the HTML5 specification:
69027            ParseMode -> CompatibilityMode
69028            CompatMode -> QuirksMode
69029            AlmostStrictMode -> LimitedQuirksMode
69030            StrictMode -> NoQuirksMode
69031            
69032        Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document
69033        instead.  This makes switching modes avoid forcing all RenderStyles to detect as changed.
69034        
69035        Clean up user stylesheets to minimize style recalculation when the mode is switched.
69036        
69037        Fix bugs with the propagation of correct modes in the HTML5 parser.  Make sure the
69038        dummy document created for fragment parsing properly inherits the real document's CompatibilityMode.
69039        Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling
69040        a doctype token.
69041        
69042        determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm
69043        precisely.
69044        
69045        * WebCore.exp.in:
69046        * css/CSSStyleSelector.cpp:
69047        (WebCore::CSSStyleSelector::styleForDocument):
69048        (WebCore::CSSStyleSelector::applyProperty):
69049        (WebCore::CSSStyleSelector::fontSizeForKeyword):
69050        * dom/ClassNodeList.cpp:
69051        (WebCore::ClassNodeList::ClassNodeList):
69052        * dom/DecodedDataDocumentParser.cpp:
69053        (WebCore::DecodedDataDocumentParser::appendBytes):
69054        * dom/Document.cpp:
69055        (WebCore::Document::Document):
69056        (WebCore::Document::setCompatibilityMode):
69057        (WebCore::Document::setDocType):
69058        (WebCore::Document::unscheduleStyleRecalc):
69059        (WebCore::Document::recalcStyle):
69060        (WebCore::Document::updateStyleIfNeeded):
69061        (WebCore::Document::createStyleSelector):
69062        (WebCore::Document::implicitOpen):
69063        (WebCore::Document::pageUserSheet):
69064        (WebCore::Document::clearPageUserSheet):
69065        (WebCore::Document::updatePageUserSheet):
69066        (WebCore::Document::pageGroupUserSheets):
69067        (WebCore::Document::clearPageGroupUserSheets):
69068        (WebCore::Document::updatePageGroupUserSheets):
69069        (WebCore::Document::findAnchor):
69070        * dom/Document.h:
69071        (WebCore::Document::):
69072        (WebCore::Document::setCompatibilityModeFromDoctype):
69073        (WebCore::Document::lockCompatibilityMode):
69074        (WebCore::Document::compatibilityMode):
69075        (WebCore::Document::inQuirksMode):
69076        (WebCore::Document::inLimitedQuirksMode):
69077        (WebCore::Document::inNoQuirksMode):
69078        * dom/Element.cpp:
69079        (WebCore::Element::clientWidth):
69080        (WebCore::Element::clientHeight):
69081        (WebCore::Element::webkitMatchesSelector):
69082        * dom/NamedNodeMap.cpp:
69083        (WebCore::NamedNodeMap::setClass):
69084        * dom/Node.cpp:
69085        (WebCore::Node::querySelector):
69086        (WebCore::Node::querySelectorAll):
69087        * dom/OptionElement.cpp:
69088        (WebCore::OptionElement::collectOptionLabelOrText):
69089        * dom/SelectorNodeList.cpp:
69090        (WebCore::createSelectorNodeList):
69091        * dom/StyleElement.cpp:
69092        (WebCore::StyleElement::createSheet):
69093        * dom/StyledElement.cpp:
69094        (WebCore::StyledElement::createInlineStyleDecl):
69095        (WebCore::StyledElement::parseMappedAttribute):
69096        * editing/ReplaceSelectionCommand.cpp:
69097        (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
69098        * html/HTMLBodyElement.cpp:
69099        (WebCore::HTMLBodyElement::createLinkDecl):
69100        * html/HTMLCanvasElement.cpp:
69101        (WebCore::HTMLCanvasElement::getContext):
69102        * html/HTMLConstructionSite.cpp:
69103        (WebCore::HTMLConstructionSite::insertDoctype):
69104        * html/HTMLDocument.cpp:
69105        (WebCore::HTMLDocument::HTMLDocument):
69106        (WebCore::HTMLDocument::compatMode):
69107        (WebCore::HTMLDocument::setCompatibilityModeFromDoctype):
69108        * html/HTMLDocument.h:
69109        * html/HTMLLinkElement.cpp:
69110        (WebCore::HTMLLinkElement::setCSSStyleSheet):
69111        * html/HTMLTreeBuilder.cpp:
69112        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
69113        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
69114        (WebCore::HTMLTreeBuilder::processDoctypeToken):
69115        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
69116        (WebCore::HTMLTreeBuilder::defaultForInitial):
69117        * html/HTMLViewSourceDocument.cpp:
69118        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
69119        * loader/DocumentWriter.cpp:
69120        (WebCore::DocumentWriter::replaceDocument):
69121        (WebCore::DocumentWriter::reportDataReceived):
69122        * loader/DocumentWriter.h:
69123        * loader/ImageDocument.cpp:
69124        (WebCore::ImageDocument::ImageDocument):
69125        * loader/MediaDocument.cpp:
69126        (WebCore::MediaDocument::MediaDocument):
69127        * loader/PluginDocument.cpp:
69128        (WebCore::PluginDocument::PluginDocument):
69129        * loader/SinkDocument.cpp:
69130        (WebCore::SinkDocument::SinkDocument):
69131        * loader/TextDocument.cpp:
69132        (WebCore::TextDocument::TextDocument):
69133        * page/Page.cpp:
69134        (WebCore::Page::userStyleSheetLocationChanged):
69135        * page/PageGroup.cpp:
69136        (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
69137        * page/Settings.cpp:
69138        (WebCore::Settings::Settings):
69139        (WebCore::Settings::setEnforceCSSMIMETypeInNoQuirksMode):
69140        * page/Settings.h:
69141        (WebCore::Settings::enforceCSSMIMETypeInNoQuirksMode):
69142        * rendering/AutoTableLayout.cpp:
69143        (WebCore::AutoTableLayout::recalcColumn):
69144        * rendering/FixedTableLayout.cpp:
69145        (WebCore::FixedTableLayout::calcPrefWidths):
69146        * rendering/InlineFlowBox.cpp:
69147        (WebCore::InlineFlowBox::paintBoxDecorations):
69148        (WebCore::InlineFlowBox::paintMask):
69149        (WebCore::InlineFlowBox::paintTextDecorations):
69150        * rendering/InlineTextBox.cpp:
69151        (WebCore::InlineTextBox::paint):
69152        * rendering/RenderBlock.cpp:
69153        (WebCore::RenderBlock::isSelfCollapsingBlock):
69154        (WebCore::RenderBlock::collapseMargins):
69155        (WebCore::RenderBlock::handleBottomOfBlock):
69156        (WebCore::RenderBlock::calcInlinePrefWidths):
69157        (WebCore::RenderBlock::calcBlockPrefWidths):
69158        * rendering/RenderBlockLineLayout.cpp:
69159        (WebCore::createInlineBoxForRenderer):
69160        (WebCore::RenderBlock::findNextLineBreak):
69161        * rendering/RenderBox.cpp:
69162        (WebCore::RenderBox::calcPercentageHeight):
69163        (WebCore::RenderBox::calcAbsoluteHorizontal):
69164        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
69165        * rendering/RenderBox.h:
69166        (WebCore::RenderBox::stretchesToViewHeight):
69167        * rendering/RenderListItem.cpp:
69168        (WebCore::getParentOfFirstLineBox):
69169        * rendering/RenderTable.cpp:
69170        (WebCore::RenderTable::layout):
69171        * rendering/RenderTableSection.cpp:
69172        (WebCore::RenderTableSection::calcRowHeight):
69173        * rendering/RootInlineBox.cpp:
69174        (WebCore::RootInlineBox::verticallyAlignBoxes):
69175        * rendering/style/RenderStyle.cpp:
69176        (WebCore::RenderStyle::diff):
69177        * rendering/style/RenderStyle.h:
69178        (WebCore::):
69179        (WebCore::InheritedFlags::setBitDefaults):
69180
691812010-08-27  Gavin Barraclough  <barraclough@apple.com>
69182
69183        Reviewed by Oliver Hunt.
69184
69185        Bug 44745 - Number.toFixed/toExponential/toPrecision are inaccurate.
69186
69187        These methods should be using a version of dtoa that can generate results accurate
69188        to the requested precision, whereas our version of dtoa is only currently able to
69189        support producing results sufficiently accurate to distinguish the value from any
69190        other IEEE-754 double precision number.
69191
69192        * html/HTMLTreeBuilder.cpp:
69193        (WebCore::serializeForNumberType):
69194            doubleToStringInJavaScriptFormat renamed to numberToString.
69195
691962010-08-27  Michael Nordman  <michaeln@google.com>
69197
69198        Reviewed by David Levin.
69199
69200        https://bugs.webkit.org/show_bug.cgi?id=44133
69201        IDL bindings for XmlHttpRequest.responseBlob support, doesn't do anything yet.
69202        Adds two new attributes, asBlob and responseBlob.
69203        Runtime disabled by default, also behind a new ENABLE_XHR_RESPONSE_BLOB compile time guard.
69204        
69205        No new tests, just adding some stubs.
69206
69207        * bindings/generic/RuntimeEnabledFeatures.cpp:
69208        * bindings/generic/RuntimeEnabledFeatures.h:
69209        (WebCore::RuntimeEnabledFeatures::setResponseBlobEnabled):
69210        (WebCore::RuntimeEnabledFeatures::responseBlobEnabled):
69211        (WebCore::RuntimeEnabledFeatures::asBlobEnabled):
69212        * bindings/js/JSXMLHttpRequestCustom.cpp:
69213        (WebCore::JSXMLHttpRequest::responseText): Changed to allow an exceptional return path.
69214        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
69215        (WebCore::V8XMLHttpRequest::responseTextAccessorGetter): Changed to allow an exceptional return path.
69216        * xml/XMLHttpRequest.cpp:
69217        (WebCore::XMLHttpRequest::responseText): Changed to raise an exception when accessed with asBlob set to true.
69218        (WebCore::XMLHttpRequest::responseXML): Changed to raise an exception when accessed with asBlob set to true.
69219        (WebCore::XMLHttpRequest::responseBlob): Added stub method, returns 0 for now.
69220        (WebCore::XMLHttpRequest::setAsBlob): Sets the asBlob attribute, raises exception if called at an inappropriate time.
69221        (WebCore::XMLHttpRequest::open): Resets asBlob to false, the default value.
69222        (WebCore::XMLHttpRequest::abort): Clears m_responseBlob.
69223        (WebCore::XMLHttpRequest::clearResponse): Clears m_responseBlob.
69224        (WebCore::XMLHttpRequest::didFinishLoading): Added a FIXME to populate m_responseBlob.
69225        * xml/XMLHttpRequest.h:
69226        (WebCore::XMLHttpRequest::asBlob):
69227        * xml/XMLHttpRequest.idl:
69228
692292010-08-27  Simon Fraser  <simon.fraser@apple.com>
69230
69231        Reviewed by Tony Chang.
69232
69233        Crash in CSSStyleSelector.cpp
69234        https://bugs.webkit.org/show_bug.cgi?id=44780
69235        
69236        Need to null-check the images when replacing pending images, because a later
69237        rule may have replaced an image with 'none'.
69238
69239        Test: fast/css/pending-images-crash.html
69240
69241        * css/CSSStyleSelector.cpp:
69242        (WebCore::CSSStyleSelector::loadPendingImages):
69243        * page/FrameView.cpp:
69244        (WebCore::FrameView::paintContents): Fix unrelated log message.
69245
692462010-08-27  Andrey Kosyakov  <caseq@chromium.org>
69247
69248        Unreviewed. Revert r66218 & r66220 due to GTK test failures.
69249
69250        * WebCore.gypi:
69251        * WebCore.vcproj/WebCore.vcproj:
69252        * inspector/front-end/AuditLauncherView.js:
69253        (WebInspector.AuditLauncherView.categorySortFunction):
69254        (WebInspector.AuditLauncherView):
69255        (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
69256        (WebInspector.AuditLauncherView.prototype._selectAllClicked):
69257        (WebInspector.AuditLauncherView.prototype._categoryClicked):
69258        (WebInspector.AuditLauncherView.prototype._createCategoryElement):
69259        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
69260        * inspector/front-end/AuditResultView.js:
69261        (WebInspector.AuditCategoryResultPane.prototype._appendResult):
69262        * inspector/front-end/AuditsPanel.js:
69263        (WebInspector.AuditsPanel):
69264        (WebInspector.AuditsPanel.prototype._executeAudit):
69265        (WebInspector.AuditCategory.prototype.runRules):
69266        * inspector/front-end/ExtensionAPI.js:
69267        (injectedExtensionAPI):
69268        (injectedExtensionAPI.EventSinkImpl.prototype.addListener):
69269        (injectedExtensionAPI.EventSinkImpl.prototype._fire):
69270        (injectedExtensionAPI.EventSink):
69271        (injectedExtensionAPI.InspectorExtensionAPI):
69272        (injectedExtensionAPI.Panels.prototype.create):
69273        * inspector/front-end/ExtensionServer.js:
69274        (WebInspector.ExtensionServer):
69275        (WebInspector.ExtensionServer.prototype._postNotification):
69276        (WebInspector.ExtensionServer.prototype._addExtensions):
69277        (WebInspector.ExtensionStatus):
69278        * inspector/front-end/WebKit.qrc:
69279        * inspector/front-end/inspector.html:
69280        * inspector/front-end/utilities.js:
69281        ():
69282
692832010-08-27  Mihai Parparita  <mihaip@chromium.org>
69284
69285        Reviewed by Darin Fisher.
69286
69287        Crash in HistoryController::recursiveGoToItem when navigating in a frame
69288        while another frame has a custom window name
69289        https://bugs.webkit.org/show_bug.cgi?id=44183
69290        
69291        Fix up HistoryController::recursiveGoToItem to better check whether the
69292        current document frames, the curent history item frames, and the
69293        destination history frames match up.
69294        
69295        Test: fast/history/history-subframe-with-name.html
69296
69297        * history/HistoryItem.cpp:
69298        (WebCore::HistoryItem::childItemWithDocumentSequenceNumber): Add linear
69299        lookup of child by document sequence number
69300        (WebCore::HistoryItem::hasSameDocuments): Remove assumption that the
69301        other item has the children in the same order (it doesn't seem to be
69302        true)
69303        (WebCore::HistoryItem::hasSameFrames): Add recursive comparison of child
69304        frames.
69305        * history/HistoryItem.h:
69306        * loader/FrameLoader.cpp:
69307        (WebCore::FrameLoader::loadItem): Compare full set of documents in 
69308        history items, not just the topmost ones. Otherwise when going between
69309        framesets where only one of the subframes changed we wouldn't trigger a
69310        load.
69311        * loader/HistoryController.cpp:
69312        (WebCore::HistoryController::recursiveGoToItem): Also check that the
69313        two history items have the same frames
69314        (WebCore::HistoryController::currentFramesMatchItem): Refactor 
69315        childFramesMatchItem to also check the top-most frame, to make 
69316        recursiveGoToItem easier to read.
69317        * loader/HistoryController.h:
69318
693192010-08-27  Patrick Gansterer  <paroga@paroga.com>
69320
69321        Reviewed by Nikolas Zimmermann.
69322
69323        [WINCE] Buildfix for graphics code after r65449
69324        https://bugs.webkit.org/show_bug.cgi?id=44510
69325
69326        * platform/graphics/wince/GraphicsContextWince.cpp:
69327        * platform/graphics/wince/ImageBufferWince.cpp:
69328        (WebCore::ImageBuffer::drawsUsingCopy):
69329        (WebCore::ImageBuffer::copyImage):
69330        (WebCore::ImageBuffer::clip):
69331        (WebCore::ImageBuffer::draw):
69332        (WebCore::ImageBuffer::drawPattern):
69333
693342010-08-27  Dawit Alemayehu  <adawit@kde.org>
69335
69336        Reviewed by Simon Hausmann.
69337
69338        [Qt] Search the Windows registry for the location of the Java plugin DLL.
69339        https://bugs.webkit.org/show_bug.cgi?id=38911
69340
69341        This change, in addition to the ones 34539 and 38911, is needed to
69342        make Java applet work in QtWebKit on the Windows platform.
69343
69344        * plugins/win/PluginDatabaseWin.cpp:
69345        (WebCore::addJavaPluginDirectory):
69346        (WebCore::PluginDatabase::defaultPluginDirectories):
69347
693482010-08-27  Pavel Feldman  <pfeldman@chromium.org>
69349
69350        Reviewed by Yury Semikhatsky.
69351
69352        Web Inspector: color-code property values in object notation.
69353        https://bugs.webkit.org/show_bug.cgi?id=44766
69354
69355        * inspector/front-end/ObjectPropertiesSection.js:
69356        (WebInspector.ObjectPropertyTreeElement.prototype.update):
69357
693582010-08-27  Patrick Gansterer  <paroga@paroga.com>
69359
69360        Reviewed by Nikolas Zimmermann.
69361
69362        [WINCE] Buildfix for FontPlatformData after r65021
69363        https://bugs.webkit.org/show_bug.cgi?id=44467
69364
69365        * platform/graphics/wince/FontPlatformData.h:
69366
693672010-08-27  Patrick Gansterer  <paroga@paroga.com>
69368
69369        Reviewed by Nikolas Zimmermann.
69370
69371        RenderImage::imageChanged invalidates wrong area
69372        https://bugs.webkit.org/show_bug.cgi?id=43779
69373
69374        At the moment RenderSVGImage inherits from RenderImage, which makes non-SVG compatible
69375        assumptions about repainting, and thus has to be fixed to inherit from RenderSVGModelObject.
69376
69377        This patch moves the CachedImage from RenderImage into a separate class.
69378        The new class contains the common behavior of RenderImage and RenderSVGImage.
69379        An additional patch will remove the inheritance of RenderImage at RenderSVGImage.
69380
69381        * Android.mk:
69382        * CMakeLists.txt:
69383        * GNUmakefile.am:
69384        * WebCore.gypi:
69385        * WebCore.pro:
69386        * WebCore.vcproj/WebCore.vcproj:
69387        * WebCore.xcodeproj/project.pbxproj:
69388        * html/HTMLEmbedElement.cpp:
69389        (WebCore::HTMLEmbedElement::createRenderer):
69390        (WebCore::HTMLEmbedElement::attach):
69391        * html/HTMLImageElement.cpp:
69392        (WebCore::HTMLImageElement::createRenderer):
69393        (WebCore::HTMLImageElement::attach):
69394        * html/HTMLInputElement.cpp:
69395        (WebCore::HTMLInputElement::createRenderer):
69396        (WebCore::HTMLInputElement::attach):
69397        * html/HTMLObjectElement.cpp:
69398        (WebCore::HTMLObjectElement::createRenderer):
69399        * html/HTMLVideoElement.cpp:
69400        (WebCore::HTMLVideoElement::attach):
69401        (WebCore::HTMLVideoElement::parseMappedAttribute):
69402        * loader/ImageLoader.cpp:
69403        (WebCore::ImageLoader::setImage):
69404        (WebCore::ImageLoader::updateFromElement):
69405        (WebCore::ImageLoader::renderImageResource):
69406        (WebCore::ImageLoader::updateRenderer):
69407        * loader/ImageLoader.h:
69408        * rendering/RenderImage.cpp:
69409        (WebCore::RenderImage::RenderImage):
69410        (WebCore::RenderImage::~RenderImage):
69411        (WebCore::RenderImage::setImageResource):
69412        (WebCore::RenderImage::imageChanged):
69413        (WebCore::RenderImage::notifyFinished):
69414        (WebCore::RenderImage::paintReplaced):
69415        (WebCore::RenderImage::paintIntoRect):
69416        (WebCore::RenderImage::minimumReplacedHeight):
69417        (WebCore::RenderImage::calcReplacedWidth):
69418        (WebCore::RenderImage::calcReplacedHeight):
69419        (WebCore::RenderImage::calcAspectRatioWidth):
69420        (WebCore::RenderImage::calcAspectRatioHeight):
69421        * rendering/RenderImage.h:
69422        (WebCore::RenderImage::imageResource):
69423        (WebCore::RenderImage::cachedImage):
69424        (WebCore::RenderImage::intrinsicSizeChanged):
69425        (WebCore::toRenderImage):
69426        * rendering/RenderImageGeneratedContent.cpp: Removed.
69427        * rendering/RenderImageGeneratedContent.h: Removed.
69428        * rendering/RenderImageResource.cpp: Added.
69429        (WebCore::RenderImageResource::RenderImageResource):
69430        (WebCore::RenderImageResource::~RenderImageResource):
69431        (WebCore::RenderImageResource::initialize):
69432        (WebCore::RenderImageResource::shutdown):
69433        (WebCore::RenderImageResource::setCachedImage):
69434        (WebCore::RenderImageResource::resetAnimation):
69435        (WebCore::RenderImageResource::setImageContainerSize):
69436        (WebCore::RenderImageResource::nullImage):
69437        * rendering/RenderImageResource.h: Added.
69438        (WebCore::RenderImageResource::create):
69439        (WebCore::RenderImageResource::cachedImage):
69440        (WebCore::RenderImageResource::hasImage):
69441        (WebCore::RenderImageResource::image):
69442        (WebCore::RenderImageResource::errorOccurred):
69443        (WebCore::RenderImageResource::usesImageContainerSize):
69444        (WebCore::RenderImageResource::imageHasRelativeWidth):
69445        (WebCore::RenderImageResource::imageHasRelativeHeight):
69446        (WebCore::RenderImageResource::imageSize):
69447        (WebCore::RenderImageResource::imagePtr):
69448        * rendering/RenderImageResourceStyleImage.cpp: Added.
69449        (WebCore::RenderImageResourceStyleImage::RenderImageResourceStyleImage):
69450        (WebCore::RenderImageResourceStyleImage::~RenderImageResourceStyleImage):
69451        (WebCore::RenderImageResourceStyleImage::initialize):
69452        (WebCore::RenderImageResourceStyleImage::shutdown):
69453        * rendering/RenderImageResourceStyleImage.h: Added.
69454        (WebCore::RenderImageResourceStyleImage::create):
69455        (WebCore::RenderImageResourceStyleImage::image):
69456        (WebCore::RenderImageResourceStyleImage::errorOccurred):
69457        (WebCore::RenderImageResourceStyleImage::setImageContainerSize):
69458        (WebCore::RenderImageResourceStyleImage::usesImageContainerSize):
69459        (WebCore::RenderImageResourceStyleImage::imageHasRelativeWidth):
69460        (WebCore::RenderImageResourceStyleImage::imageHasRelativeHeight):
69461        (WebCore::RenderImageResourceStyleImage::imageSize):
69462        (WebCore::RenderImageResourceStyleImage::imagePtr):
69463        * rendering/RenderMedia.cpp:
69464        (WebCore::RenderMedia::RenderMedia):
69465        * rendering/RenderObject.cpp:
69466        (WebCore::RenderObject::createObject):
69467        * rendering/RenderObjectChildList.cpp:
69468        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
69469        * rendering/RenderSVGImage.cpp:
69470        (WebCore::RenderSVGImage::RenderSVGImage):
69471        (WebCore::RenderSVGImage::layout):
69472        (WebCore::RenderSVGImage::paint):
69473        * rendering/RenderVideo.cpp:
69474        (WebCore::RenderVideo::calculateIntrinsicSize):
69475        * svg/SVGImageElement.cpp:
69476        (WebCore::SVGImageElement::attach):
69477        * wml/WMLImageElement.cpp:
69478        (WebCore::WMLImageElement::createRenderer):
69479
694802010-08-27  Pavel Feldman  <pfeldman@chromium.org>
69481
69482        Reviewed by Pavel Feldman.
69483
69484        Web Inspector: Elements panel breaks after calling "Edit as HTML" on <body>
69485        https://bugs.webkit.org/show_bug.cgi?id=44765
69486
69487        * inspector/InspectorDOMAgent.cpp:
69488        (WebCore::InspectorDOMAgent::setOuterHTML):
69489
694902010-08-25  Jeremy Orlow  <jorlow@chromium.org>
69491
69492        Reviewed by Steve Block.
69493
69494        Add setVersion to IndexedDB
69495        https://bugs.webkit.org/show_bug.cgi?id=44630
69496
69497        * storage/IDBDatabase.cpp:
69498        (WebCore::IDBDatabase::setVersion):
69499        * storage/IDBDatabase.h:
69500        * storage/IDBDatabase.idl:
69501        * storage/IDBDatabaseBackendImpl.cpp:
69502        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
69503        (WebCore::IDBDatabaseBackendImpl::setVersion):
69504        * storage/IDBDatabaseBackendImpl.h:
69505        * storage/IDBDatabaseBackendInterface.h:
69506
695072010-08-26  Pavel Podivilov  <podivilov@chromium.org>
69508
69509        Reviewed by Pavel Feldman.
69510
69511        Web Inspector: use context menu items with checkbox for setting and removing DOM breakpoints
69512        https://bugs.webkit.org/show_bug.cgi?id=44687
69513
69514        * English.lproj/localizedStrings.js:
69515        * inspector/front-end/BreakpointsSidebarPane.js:
69516        (WebInspector.DOMBreakpointItem):
69517        * inspector/front-end/DOMAgent.js:
69518        (WebInspector.DOMBreakpointManager.prototype.findBreakpoint):
69519        (WebInspector.DOMBreakpoint.labelForType):
69520        (WebInspector.DOMBreakpoint.contextMenuLabelForType):
69521        * inspector/front-end/ElementsTreeOutline.js:
69522        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
69523        * inspector/front-end/inspector.js:
69524        (WebInspector.pausedScript):
69525
695262010-08-27  Steve Block  <steveblock@google.com>
69527
69528        Reviewed by Jeremy Orlow.
69529
69530        Calls to IndexedDB methods from V8Proxy::didLeaveScriptContext() are missing enable guards
69531        https://bugs.webkit.org/show_bug.cgi?id=44760
69532
69533        No new tests, build fix only.
69534
69535        * bindings/v8/V8Proxy.cpp:
69536        (WebCore::V8Proxy::didLeaveScriptContext):
69537
695382010-08-27  Dirk Schulze  <krit@webkit.org>
69539
69540        Reviewed by Nikolas Zimmermann.
69541
69542        getPointAtLength returns incorrect values for paths closed with the closepath command
69543        https://bugs.webkit.org/show_bug.cgi?id=44197
69544        
69545        The closepath segment was traversed by the wrong direction. Swap starting point and
69546        end point for closeSubpath.
69547
69548        Test: svg/dom/path-pointAtLength.html
69549
69550        * platform/graphics/PathTraversalState.cpp:
69551        (WebCore::PathTraversalState::closeSubpath):
69552
695532010-08-27  Dirk Schulze  <krit@webkit.org>
69554
69555        Reviewed by Nikolas Zimmermann.
69556
69557        SVG Filter with wrong results on repaint for non-CG platforms
69558        https://bugs.webkit.org/show_bug.cgi?id=44706
69559        
69560        The result of SVG Filter is transformed to linearRGB on every repaint. 
69561        Transform the result just once, right after creating it.
69562
69563        Test: svg/repaint/filter-repaint.svg
69564
69565        * rendering/RenderSVGResourceFilter.cpp:
69566        (WebCore::RenderSVGResourceFilter::postApplyResource):
69567
695682010-08-27  Yury Semikhatsky  <yurys@chromium.org>
69569
69570        Reviewed by Pavel Feldman.
69571
69572        REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
69573        https://bugs.webkit.org/show_bug.cgi?id=44230
69574
69575        * inspector/Inspector.idl:
69576        * inspector/InspectorController.cpp:
69577        (WebCore::InspectorController::inspectedPageDestroyed):
69578        (WebCore::InspectorController::close):
69579        * inspector/InspectorFrontendClient.h:
69580        * inspector/InspectorFrontendHost.cpp:
69581        (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
69582        that frontend closes if InspectorController triggered the action.
69583        * inspector/InspectorFrontendHost.h:
69584        * inspector/InspectorFrontendHost.idl:
69585        * inspector/front-end/InspectorFrontendHostStub.js:
69586        (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
69587        * inspector/front-end/inspector.js:
69588        (WebInspector.disconnectFromBackend):
69589
695902010-08-27  Sheriff Bot  <webkit.review.bot@gmail.com>
69591
69592        Unreviewed, rolling out r66188.
69593        http://trac.webkit.org/changeset/66188
69594        https://bugs.webkit.org/show_bug.cgi?id=44756
69595
69596        "Graphic libraries handle segement length differently. Fixing
69597        one platform might break another one. Rolling out this patch
69598        and think about another solution to get getPointAtLength"
69599        (Requested by krit on #webkit).
69600
69601        * platform/graphics/PathTraversalState.cpp:
69602        (WebCore::PathTraversalState::closeSubpath):
69603
696042010-08-27  Simon Fraser  <simon.fraser@apple.com>
69605
69606        Reviewed by Nikolas Zimmermann.
69607
69608        r66141 caused fast/forms/select-style.html to fail on mac:
69609        https://bugs.webkit.org/show_bug.cgi?id=44737
69610
69611        Handle the fact that a CSSImageValue may have a value of CSSValueNone,
69612        in which case we should not return a pending image.
69613
69614        * css/CSSImageValue.cpp:
69615        (WebCore::CSSImageValue::cachedOrPendingImage):
69616        * css/CSSStyleSelector.cpp:
69617        (WebCore::CSSStyleSelector::cachedOrPendingFromValue):
69618
696192010-08-27  Alejandro G. Castro  <alex@igalia.com>
69620
69621        Reviewed by Dan Bernstein.
69622
69623        drawGDIGlyphs checks if the offset is empty incorrectly causing
69624        problems with the shadow
69625        https://bugs.webkit.org/show_bug.cgi?id=44619
69626
69627        Removed the offset empty condition, now we just check if we have
69628        offset or blur.
69629
69630        * platform/graphics/win/FontCGWin.cpp:
69631        (WebCore::drawGDIGlyphs):
69632
696332010-08-27  Dirk Schulze  <krit@webkit.org>
69634
69635        Reviewed by Nikolas Zimmermann.
69636
69637        getPointAtLength returns incorrect values for paths closed with the closepath command
69638        https://bugs.webkit.org/show_bug.cgi?id=44197
69639        
69640        The closepath segment was traversed by the wrong direction. Swap starting point and
69641        end point for closeSubpath.
69642
69643        Test: svg/dom/path-pointAtLength.html
69644
69645        * platform/graphics/PathTraversalState.cpp:
69646        (WebCore::PathTraversalState::closeSubpath):
69647
696482010-08-27  Nikolas Zimmermann  <nzimmermann@rim.com>
69649
69650        Reviewed by Dirk Schulze.
69651
69652        SVGLocatable.getScreenCTM ignores scrolling
69653        https://bugs.webkit.org/show_bug.cgi?id=44083
69654
69655        getScreenCTM needs to include the FrameViews scrollOffset in the e/f parameters of the AffineTransform.
69656        Adding three new tests, which cover scrolling & getScreenCTM in large svgs with scrollbars, and with (nested) divs in overflow="scroll" mode.
69657
69658        Tests: svg/custom/getscreenctm-in-scrollable-div-area-nested.xhtml
69659               svg/custom/getscreenctm-in-scrollable-div-area.xhtml
69660               svg/custom/getscreenctm-in-scrollable-svg-area.xhtml
69661
69662        * svg/SVGSVGElement.cpp:
69663        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
69664
696652010-08-25  Ryosuke Niwa  <rniwa@webkit.org>
69666
69667        Reviewed by Darin Adler.
69668
69669        implicitlyStyledElementShouldBeRemovedWhenApplyingStyle, removeHTMLFontStyle, and removeHTMLBidiEmbeddingStyle should be merged
69670        https://bugs.webkit.org/show_bug.cgi?id=44622
69671
69672        Merged shouldRemoveTextDecorationTag, implicitlyStyledElementShouldBeRemovedWhenApplyingStyle, removeHTMLFontStyle,
69673        and removeHTMLBidiEmbeddingStyle into removeImplicitlyStyledElement.  New function uses CSSPropertyElementMapping to
69674        support all different cases dealt separately in each function.
69675
69676        No new tests are added since this is a cleanup.
69677
69678        * editing/ApplyStyleCommand.cpp:
69679        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls removeImplicitlyStyledElement.
69680        (WebCore::):
69681        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Added.
69682        * editing/ApplyStyleCommand.h:
69683
696842010-08-26  Andy Estes  <aestes@apple.com>
69685
69686        Reviewed by Darin Adler.
69687        
69688        Based on a patch by Mihnea Ovidenie <mihnea@adobe.com>.
69689
69690        Percentage top value on position:relative descendant not resolved
69691        correctly if containing block height is not specified explicitly.
69692        https://bugs.webkit.org/show_bug.cgi?id=26396
69693
69694        If the containing block height is auto and the element is positioned
69695        relatively, and if the element's top/bottom is percent, then resolve the
69696        top/bottom as auto.
69697
69698        Test: fast/css/percent-top-relative-container-height-unspecified.html
69699
69700        * rendering/RenderBoxModelObject.cpp:
69701        (WebCore::RenderBoxModelObject::relativePositionOffsetY):
69702
697032010-08-26  James Robinson  <jamesr@chromium.org>
69704
69705        Another chromium mac build fix. What a dumb version of GCC.
69706
69707        * platform/graphics/chromium/GLES2Texture.cpp:
69708        (WebCore::GLES2Texture::create):
69709
697102010-08-26  Kent Tamura  <tkent@chromium.org>
69711
69712        Unreviewed, build fix for Chromium-mac.
69713
69714        * platform/graphics/chromium/Shader.cpp:
69715        (WebCore::loadShader):
69716
697172010-08-26  James Robinson  <jamesr@chromium.org>
69718
69719        Fix chromium mac build. Unreviewed.
69720
69721        * platform/graphics/chromium/GLES2Canvas.cpp:
69722        (WebCore::GLES2Canvas::GLES2Canvas):
69723        * platform/graphics/chromium/GLES2Texture.cpp:
69724        (WebCore::GLES2Texture::load):
69725
697262010-08-26  Mark Rowe  <mrowe@apple.com>
69727
69728        Darin pointed out that the braces are unnecessary in an Objective-C interface
69729        declaration when there are no data members.
69730
69731        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Begone, evil braces!
69732
697332010-08-26  Gavin Barraclough  <barraclough@apple.com>
69734
69735        Rubber Stamped by Oliver Hunt.
69736
69737        Partially revert r65959. The toString changes regressed the v8 tests,
69738        but keep the toFixed/toExponential/toPrecision changes.
69739
69740        * html/HTMLTreeBuilder.cpp:
69741        (WebCore::serializeForNumberType):
69742
697432010-08-26  Mark Rowe  <mrowe@apple.com>
69744
69745        Reviewed by Adam Roben.
69746
69747        Fix two build issues that are revealed when building with clang.
69748
69749        * platform/mac/PopupMenuMac.h: Forward-declare as an Objective-C class when compiling for Objective-C.
69750        * platform/network/BlobResourceHandle.h: Forward-declare as a struct to match the real declaration.
69751
697522010-08-26  Mark Rowe  <mrowe@apple.com>
69753
69754        Reviewed by Sam Weinig.
69755
69756        <rdar://problem/8339008> WebCore's MediaPlayerPrivateQTKit.mm fails to build with clang.
69757
69758        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
69759        (WebCore::mainThreadSetNeedsDisplay): Remove some ambiguity in the return type of -delegate.
69760        Since the message was being sent to a receiver of type id the compiler cannot accurately
69761        determine the return type. Typically this would be resolved by using a more specific type
69762        for the receiver. However, due to lazy loading shenanigans that we play with QTKit we're
69763        unable to directly cast to the relevant type (QTMovieView*). Instead we fake up an interface
69764        with the correct type of the method we care about (-delegate) and cast to that type instead.
69765
697662010-08-26  Andy Estes  <aestes@apple.com>
69767
69768        Reviewed by Darin Adler.
69769
69770        If an <embed> is part of an <object> element's fallback content, WebKit
69771        should only render the <embed> if the <object> fails to load.
69772        https://bugs.webkit.org/show_bug.cgi?id=44567
69773        <rdar://problem/7699852>
69774        
69775        Tests: fast/replaced/invalid-object-with-fallback.html
69776               fast/replaced/object-with-embed-url-param.html
69777
69778        * html/HTMLEmbedElement.cpp:
69779        (WebCore::HTMLEmbedElement::rendererIsNeeded): An <embed> now needs a
69780        renderer if its parent is an <object> but the <object> is using fallback
69781        content.
69782        * html/HTMLObjectElement.h:
69783        (WebCore::HTMLObjectElement::useFallbackContent): Add a public getter
69784        for m_useFallbackContent for use in HTMLEmbedElement::rendererIsNeeded.
69785        * rendering/RenderEmbeddedObject.cpp:
69786        (WebCore::RenderEmbeddedObject::updateWidget): Change the logic that
69787        determines the plug-in parameters to pass to the loader. Do not override
69788        parameters from <object> with those from a child <embed>.
69789
697902010-08-26  James Robinson  <jamesr@chromium.org>
69791
69792        Reviewed by Darin Fisher.
69793
69794        [chromium] Remove the USE(GLES2_RENDERING) define and associated code
69795        https://bugs.webkit.org/show_bug.cgi?id=43761
69796
69797        USE(GLES2_RENDERING) will not be useful since we'll be coding to GraphicsContext3D
69798        instead of OpenGL and can use ENABLE(ACCELERATED_2D_CANVAS) for canvas 2d specific
69799        changes.  This deletes the macro and deletes the ChromeClient API to query
69800        GLES2Contexts since we'll never need one of these outside of the compositor, which
69801        is created in platform-specific code.
69802
69803        * loader/EmptyClients.h:
69804        * page/ChromeClient.h:
69805        * platform/graphics/chromium/GLES2Canvas.cpp:
69806        * platform/graphics/chromium/GLES2Canvas.h:
69807        * platform/graphics/chromium/GLES2Texture.cpp:
69808        * platform/graphics/chromium/GLES2Texture.h:
69809        * platform/graphics/skia/GraphicsContextSkia.cpp:
69810        (WebCore::GraphicsContext::savePlatformState):
69811        (WebCore::GraphicsContext::restorePlatformState):
69812        (WebCore::GraphicsContext::clearRect):
69813        (WebCore::GraphicsContext::concatCTM):
69814        (WebCore::GraphicsContext::fillRect):
69815        (WebCore::GraphicsContext::scale):
69816        (WebCore::GraphicsContext::setAlpha):
69817        (WebCore::GraphicsContext::setCompositeOperation):
69818        (WebCore::GraphicsContext::setPlatformFillColor):
69819        (WebCore::GraphicsContext::rotate):
69820        (WebCore::GraphicsContext::translate):
69821        (WebCore::GraphicsContext::setGraphicsContext3D):
69822        (WebCore::GraphicsContext::syncSoftwareCanvas):
69823        * platform/graphics/skia/ImageSkia.cpp:
69824        (WebCore::drawBitmapGLES2):
69825        (WebCore::BitmapImage::draw):
69826        (WebCore::BitmapImageSingleFrameSkia::draw):
69827        * platform/graphics/skia/PlatformContextSkia.cpp:
69828        (WebCore::PlatformContextSkia::PlatformContextSkia):
69829        (WebCore::PlatformContextSkia::~PlatformContextSkia):
69830        * platform/graphics/skia/PlatformContextSkia.h:
69831
698322010-08-26  Martin Robinson  <mrobinson@igalia.com>
69833
69834        Build fix for GTK+, after a bad merge.
69835
69836        * platform/gtk/RenderThemeGtk.cpp:
69837        (WebCore::RenderThemeGtk::paintMozillaGtkWidget):
69838
698392010-08-23  Martin Robinson  <mrobinson@igalia.com>
69840
69841        Reviewed by Gustavo Noronha Silva.
69842
69843        [GTK] ScrollbarThemeGtk is incomplete
69844        https://bugs.webkit.org/show_bug.cgi?id=44471
69845
69846        Add theme drawing code for GTK+ scrollbars. Turn RenderThemeGtk::paintMozillaWidget
69847        into a public method so that ScrollbarThemeGtk can access Mozilla theme API properly.
69848
69849        Tests for this issue will be activated in the form of pixel tests, but
69850        only after fully-fake scrollbars are activated.
69851
69852        * platform/gtk/RenderThemeGtk.cpp:
69853        (WebCore::RenderThemeGtk::paintMozillaGtkWidget): Added this public method which takes
69854        the proper widget state, widget type, graphics context and rectangle and renders a
69855        widget using the Mozilla theming API.
69856        (WebCore::RenderThemeGtk::paintRenderObject): Added this method which first calculates
69857        the widget state before passing the information on to paintMozillaGtkWidget.
69858        (WebCore::RenderThemeGtk::paintCheckbox): Switch to use paintRenderObject.
69859        (WebCore::RenderThemeGtk::paintRadio): Switch to use paintRenderObject.
69860        (WebCore::RenderThemeGtk::paintButton): Switch to use paintRenderObject.
69861        (WebCore::RenderThemeGtk::paintMenuList): Switch to use paintRenderObject.
69862        (WebCore::RenderThemeGtk::paintTextField): Switch to use paintRenderObject.
69863        (WebCore::RenderThemeGtk::paintSliderTrack): Switch to use paintRenderObject.
69864        (WebCore::RenderThemeGtk::paintSliderThumb): Switch to use paintRenderObject.
69865        (WebCore::RenderThemeGtk::paintProgressBar): Switch to use paintRenderObject.
69866        * platform/gtk/RenderThemeGtk.h: Added new method declarations.
69867        * platform/gtk/ScrollbarThemeGtk.cpp: Added code which can render GTK+ scrollbars.
69868        (WebCore::ScrollbarThemeGtk::hasThumb): Added.
69869        (WebCore::ScrollbarThemeGtk::backButtonRect): Added.
69870        (WebCore::ScrollbarThemeGtk::forwardButtonRect): Added.
69871        (WebCore::ScrollbarThemeGtk::trackRect): Added.
69872        (WebCore::ScrollbarThemeGtk::paintTrackBackground): Added.
69873        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Added.
69874        (WebCore::ScrollbarThemeGtk::paintThumb): Added.
69875        (WebCore::ScrollbarThemeGtk::thumbRect): Added.
69876        (WebCore::ScrollbarThemeGtk::paint): Added.
69877        (WebCore::ScrollbarThemeGtk::paintButton): Added.
69878        (WebCore::ScrollbarThemeGtk::paintScrollCorner): Added.
69879        (WebCore::ScrollbarThemeGtk::shouldCenterOnThumb): Added.
69880        (WebCore::ScrollbarThemeGtk::scrollbarThickness): Always get the metrics from the
69881        theme drawing API so that it stays up to date with theme changes.
69882        (WebCore::ScrollbarThemeGtk::buttonSize): Added.
69883        (WebCore::ScrollbarThemeGtk::minimumThumbLength): Added.
69884        * platform/gtk/ScrollbarThemeGtk.h:
69885        (WebCore::ScrollbarThemeGtk::hasButtons): Added.
69886        (WebCore::ScrollbarThemeGtk::initialAutoscrollTimerDelay): Added.
69887        (WebCore::ScrollbarThemeGtk::autoscrollTimerDelay): Added.
69888
698892010-08-26  Alexey Proskuryakov  <ap@apple.com>
69890
69891        Reviewed by Sam Weinig.
69892
69893        https://bugs.webkit.org/show_bug.cgi?id=44726
69894        <rdar://problem/7935518> WebFrameProxies aren't destroyed until a page is destroyed
69895
69896        * loader/FrameLoader.cpp:
69897        (WebCore::FrameLoader::closeAndRemoveChild):
69898        (WebCore::FrameLoader::detachFromParent):
69899        Added a few FIXME comments. The logic we have to track frames is extremely convoluted.
69900
699012010-08-26  Ryosuke Niwa  <rniwa@webkit.org>
69902
69903        Unreviewed; build fix.
69904
69905        Speculative chromium mac fix by including "Color.h".
69906
69907        * platform/graphics/chromium/Shader.cpp:
69908
699092010-08-26  Simon Fraser  <simon.fraser@apple.com>
69910
69911        Reviewed by Dave Hyatt.
69912
69913        CSS downloads all background images related to element, instead of just final rule
69914        https://bugs.webkit.org/show_bug.cgi?id=24223
69915        
69916        We used to kick off image loads at the point where the style selector
69917        applies a CSS rule to an element, even if that rule was overridden
69918        by a rule in a later block of rules. This caused loads of images that
69919        weren't actually used.
69920        
69921        Fix this by delaying image loads until the style has been fully
69922        resolved. This is achieved by inserting a StylePendingImage into
69923        the RenderStyle for duration of the style resolution, and keeping
69924        an entry in a hash for the relevant CSS property.
69925        
69926        At the end of style resolution, we iterate through the hash, and
69927        replace the StylePendingImage with StyleCachedImages, which
69928        causes the loads to happen only for images that are in the final style.        
69929
69930        Tests: http/tests/css/border-image-loading.html
69931               http/tests/css/mask-image-loading.html
69932               http/tests/css/reflection-mask-image-loading.html
69933
69934        * GNUmakefile.am: Add StylePendingImage.h
69935        * WebCore.gypi: Ditto
69936        * WebCore.vcproj/WebCore.vcproj: Ditto
69937
69938        * css/CSSImageValue.h: Change m_image to a RefPtr<StyleImage>,
69939        since it may be a StylePendingImage or StyleCachedImage.
69940        * css/CSSImageValue.cpp:
69941        (WebCore::CSSImageValue::~CSSImageValue): Only call removeClient if it's a cachedImage.
69942        (WebCore::CSSImageValue::cachedOrPendingImage): If we have an image (pending or cached),
69943        return it. Otherwise make a pending image and return it.
69944        (WebCore::CSSImageValue::cachedImage): Only return the image if it's a cached image.
69945        (WebCore::CSSImageValue::cachedImageURL):
69946        (WebCore::CSSImageValue::clearCachedImage):
69947
69948        * css/CSSStyleSelector.h:
69949        * css/CSSStyleSelector.cpp:
69950        (WebCore::CSSStyleSelector::initForStyleResolve): Clear m_pendingImageProperties.
69951        (WebCore::CSSStyleSelector::styleForElement): Load pending images.
69952        (WebCore::CSSStyleSelector::styleForKeyframe): Ditto.
69953        (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
69954        (WebCore::CSSStyleSelector::styleForPage): Ditto.
69955        (WebCore::CSSStyleSelector::applyProperty): Pull property into a local variable
69956        so we can use it in macros.
69957        (WebCore::CSSStyleSelector::mapFillAttachment): Pass the property down (needed to avoid
69958        additional macro complexity).
69959        (WebCore::CSSStyleSelector::mapFillClip): Ditto
69960        (WebCore::CSSStyleSelector::mapFillComposite): Ditto
69961        (WebCore::CSSStyleSelector::mapFillOrigin): Ditto
69962        (WebCore::CSSStyleSelector::styleImage): Call cachedOrPendingFromValue()
69963        (WebCore::CSSStyleSelector::cachedOrPendingFromValue): Get the cachedOrPendingImage()
69964        from the CSSValue, and if it's a pending image, record the property.
69965        (WebCore::CSSStyleSelector::mapFillImage): Pass the property down (needed to avoid
69966        additional macro complexity).
69967        (WebCore::CSSStyleSelector::mapFillRepeatX): Ditto
69968        (WebCore::CSSStyleSelector::mapFillRepeatY): Ditto
69969        (WebCore::CSSStyleSelector::mapFillSize): Ditto
69970        (WebCore::CSSStyleSelector::mapFillXPosition): Ditto
69971        (WebCore::CSSStyleSelector::mapFillYPosition): Ditto
69972        (WebCore::CSSStyleSelector::mapNinePieceImage): Ditto
69973        (WebCore::CSSStyleSelector::loadPendingImages): Iterate through the m_pendingImageProperties
69974        hash, and replace the pending images with cached images.
69975
69976        * rendering/style/StyleCachedImage.h: Make cssValue() const.
69977        * rendering/style/StyleCachedImage.cpp:
69978        (WebCore::StyleCachedImage::cssValue):
69979
69980        * rendering/style/StyleGeneratedImage.h:  Make cssValue() const.
69981        * rendering/style/StyleGeneratedImage.cpp:
69982        (WebCore::StyleGeneratedImage::cssValue):
69983
69984        * rendering/style/StyleImage.h:
69985        (WebCore::StyleImage::operator==): Make const.
69986        (WebCore::StyleImage::isPendingImage):
69987        * rendering/style/StylePendingImage.h: Added.
69988
699892010-08-26  Sam Weinig  <sam@webkit.org>
69990
69991        Reviewed by Darin Adler.
69992
69993        Add PassOwnArrayPtr
69994        https://bugs.webkit.org/show_bug.cgi?id=44627
69995
69996        Add new forwarding headers.
69997
69998        * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Added.
69999        * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Added.
70000
700012010-08-26   Stanislav Brabec  <sbrabec@suse.cz>
70002
70003        Reviewed by Martin Robinson.
70004
70005        [GTK] [PATCH] plugin loading invalid symlink evaluation deadlock
70006        https://bugs.webkit.org/show_bug.cgi?id=44683
70007
70008        Fix symlink resolution in PluginPackageGtk.
70009
70010        * plugins/gtk/PluginPackageGtk.cpp:
70011        (WebCore::PluginPackage::load): g_file_resolve_relative_path must be called with a
70012        a directory, not a file.
70013
700142010-08-26  Andy Estes  <aestes@apple.com>
70015
70016        Reviewed by Eric Carlson.
70017
70018        A URL in a <param> should be parsed the same as if it were specified as
70019        the data attribute of an <object>.
70020        https://bugs.webkit.org/show_bug.cgi?id=44671
70021
70022        Test: fast/replaced/object-param-url-control-char.html
70023
70024        * rendering/RenderEmbeddedObject.cpp:
70025        (WebCore::RenderEmbeddedObject::updateWidget): Call deprecatedParseURL()
70026        on <param> values of names that we treat as URLs ("src", "movie", "code"
70027        and "url").
70028
700292010-08-26  Stephen White  <senorblanco@chromium.org>
70030
70031        Unreviewed; build fix.
70032
70033        Fix for Chromium/Mac.
70034
70035        * platform/graphics/chromium/Shader.cpp:
70036
700372010-08-26  Tony Chang  <tony@chromium.org>
70038
70039        Reviewed by David Hyatt.
70040
70041        crash when rendering scrollbar gradient
70042        https://bugs.webkit.org/show_bug.cgi?id=44549
70043
70044        Test: scrollbars/scrollbar-gradient-crash.html
70045
70046        * css/CSSImageGeneratorValue.cpp:
70047        (WebCore::CSSImageGeneratorValue::getImage): Keep this alive.
70048
700492010-08-26  Stephen White  <senorblanco@chromium.org>
70050
70051        Reviewed by Kenneth Russell.
70052
70053        [CHROMIUM] Give <canvas> 2D shaders their own class hierarchy.
70054        https://bugs.webkit.org/show_bug.cgi?id=44682
70055
70056        Covered by fast/canvas layout tests.
70057
70058        * WebCore.gypi:
70059        Add Shader.cpp, Shader.h to chromium build.
70060        * platform/graphics/chromium/GLES2Canvas.cpp:
70061        (WebCore::GLES2Canvas::GLES2Canvas):
70062        (WebCore::GLES2Canvas::~GLES2Canvas):
70063        (WebCore::GLES2Canvas::fillRect):
70064        (WebCore::GLES2Canvas::drawTexturedRect):
70065        (WebCore::GLES2Canvas::drawTexturedRectTile):
70066        Rip out all shader initialization and compilation code.
70067        Instantiate specialized shaders instead.
70068        * platform/graphics/chromium/GLES2Canvas.h:
70069        * platform/graphics/chromium/Shader.cpp: Added.
70070        (WebCore::affineTo3x3):
70071        (WebCore::Shader::Shader):
70072        (WebCore::Shader::~Shader):
70073        Implement Shader base class.
70074        (WebCore::loadShader):
70075        (WebCore::loadProgram):
70076        Utility functions refactored from GLES2Canvas.
70077        (WebCore::SolidFillShader::SolidFillShader):
70078        (WebCore::TexShader::TexShader):
70079        (WebCore::SolidFillShader::create):
70080        (WebCore::SolidFillShader::use):
70081        (WebCore::TexShader::create):
70082        (WebCore::TexShader::use):
70083        * platform/graphics/chromium/Shader.h: Added.
70084
700852010-08-26  Brian Weinstein  <bweinstein@apple.com>
70086
70087        Reviewed by Adam Roben.
70088
70089        User scripts injected at start are not run for plugin and media documents
70090        <https://bugs.webkit.org/show_bug.cgi?id=44711>
70091        <rdar://problem/8359288>
70092        
70093        http://trac.webkit.org/changeset/61271 made scripts injected at start run on ImageDocuments,
70094        but didn't implement this behavior for MediaDocuments and PluginDocuments.
70095
70096        * loader/MediaDocument.cpp:
70097        (WebCore::MediaDocumentParser::createDocumentStructure): Make sure we fire dispatchDocumentElementAvailable.
70098        * loader/PluginDocument.cpp:
70099        (WebCore::PluginDocumentParser::createDocumentStructure): Ditto.
70100
701012010-08-26  Peter Kasting  <pkasting@google.com>
70102
70103        Reviewed by Dimitri Glazkov.
70104
70105        Misc. cleanup split off from bug 32356.
70106        https://bugs.webkit.org/show_bug.cgi?id=44696
70107
70108        * WebCore.gyp/WebCore.gyp:
70109        * dom/Element.cpp:
70110        (WebCore::localZoomForRenderer):
70111        * platform/ScrollView.cpp:
70112        (WebCore::ScrollView::wheelEvent):
70113        * platform/ScrollView.h:
70114        * platform/Scrollbar.cpp:
70115        (WebCore::Scrollbar::scroll):
70116        * platform/Scrollbar.h:
70117        (WebCore::Scrollbar::isScrollbar):
70118        * platform/ScrollbarClient.h:
70119        (WebCore::ScrollbarClient::~ScrollbarClient):
70120        * platform/qt/ScrollbarQt.cpp:
70121        (WebCore::Scrollbar::contextMenu):
70122        * rendering/RenderBox.h:
70123        * rendering/RenderLayer.cpp:
70124        (WebCore::RenderLayer::scroll):
70125        * rendering/RenderLayer.h:
70126        * rendering/RenderListBox.h:
70127        * rendering/RenderTextControlSingleLine.h:
70128
701292010-08-26  David Hyatt  <hyatt@apple.com>
70130
70131        Reviewed by Simon Fraser.
70132
70133        https://bugs.webkit.org/show_bug.cgi?id=39647, font face loads do a synchronous recalcStyle(Force)
70134        on the whole document.  Change these calls to do async recalcStyles instead.
70135
70136        * css/CSSFontSelector.cpp:
70137        (WebCore::CSSFontSelector::fontLoaded):
70138        (WebCore::CSSFontSelector::fontCacheInvalidated):
70139        * dom/Document.cpp:
70140        (WebCore::Document::scheduleForcedStyleRecalc):
70141        (WebCore::Document::styleSelectorChanged):
70142        * dom/Document.h:
70143
701442010-08-26  Xan Lopez  <xlopez@igalia.com>
70145
70146        Reviewed by Martin Robinson.
70147
70148        Fix double free (we were passing const memory to a GOwnPtr) by
70149        getting rid of unneeded temp variable.
70150
70151        * platform/gtk/FileSystemGtk.cpp:
70152        (WebCore::directoryName):
70153
701542010-08-26  Mikhail Naganov  <mnaganov@chromium.org>
70155
70156        Reviewed by Pavel Feldman.
70157
70158        Web Inspector: Store heap snapshots in InspectorProfilerAgent.
70159
70160        Change the way heap snapshots are transported to Inspector
70161        to be aligned with CPU profiles. As a result, the Heap snapshots
70162        view of Profiles panel was upstreamed into WebCore.
70163
70164        https://bugs.webkit.org/show_bug.cgi?id=44531
70165
70166        * English.lproj/localizedStrings.js:
70167        * GNUmakefile.am:
70168        * WebCore.gypi:
70169        * WebCore.pro:
70170        * WebCore.vcproj/WebCore.vcproj:
70171        * WebCore.xcodeproj/project.pbxproj:
70172        * bindings/js/ScriptHeapSnapshot.h: Added.
70173        (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
70174        (WebCore::ScriptHeapSnapshot::title):
70175        (WebCore::ScriptHeapSnapshot::uid):
70176        (WebCore::ScriptHeapSnapshot::buildInspectorObjectForHead):
70177        (WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
70178        * bindings/js/ScriptProfiler.h:
70179        (WebCore::ScriptProfiler::takeHeapSnapshot):
70180        * bindings/v8/ScriptHeapSnapshot.cpp: Added.
70181        (WebCore::ScriptHeapSnapshot::title):
70182        (WebCore::ScriptHeapSnapshot::uid):
70183        (WebCore::buildInspectorObjectFor):
70184        (WebCore::ScriptHeapSnapshot::buildInspectorObjectForHead):
70185        * bindings/v8/ScriptHeapSnapshot.h: Added.
70186        (WebCore::ScriptHeapSnapshot::create):
70187        (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
70188        (WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
70189        * bindings/v8/ScriptProfile.cpp:
70190        (WebCore::buildInspectorObjectFor):
70191        * bindings/v8/ScriptProfiler.cpp:
70192        (WebCore::ScriptProfiler::takeHeapSnapshot):
70193        * bindings/v8/ScriptProfiler.h:
70194        * inspector/Inspector.idl:
70195        * inspector/InspectorBackend.cpp:
70196        * inspector/InspectorBackend.h:
70197        * inspector/InspectorProfilerAgent.cpp:
70198        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
70199        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
70200        (WebCore::InspectorProfilerAgent::getProfileHeaders):
70201        (WebCore::InspectorProfilerAgent::getProfile):
70202        (WebCore::InspectorProfilerAgent::removeProfile):
70203        (WebCore::InspectorProfilerAgent::resetState):
70204        (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
70205        * inspector/InspectorProfilerAgent.h:
70206        * inspector/front-end/HeapSnapshotView.js: Added.
70207        (WebInspector.HeapSnapshotView.profileCallback):
70208        (WebInspector.HeapSnapshotView.resetCompleted):
70209        (WebInspector.HeapSnapshotView):
70210        (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
70211        (WebInspector.HeapSnapshotView.prototype.get profile):
70212        (WebInspector.HeapSnapshotView.prototype.set profile):
70213        (WebInspector.HeapSnapshotView.prototype.show):
70214        (WebInspector.HeapSnapshotView.prototype.hide):
70215        (WebInspector.HeapSnapshotView.prototype.resize):
70216        (WebInspector.HeapSnapshotView.prototype.refresh):
70217        (WebInspector.HeapSnapshotView.prototype.refreshShowAsPercents):
70218        (WebInspector.HeapSnapshotView.prototype._deleteSearchMatchedFlags):
70219        (WebInspector.HeapSnapshotView.prototype.searchCanceled):
70220        (WebInspector.HeapSnapshotView.prototype.performSearch):
70221        (WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult.WebInspector.CPUProfileView.prototype.jumpToFirstSearchResult.jumpToLastSearchResult.WebInspector.CPUProfileView.prototype.jumpToLastSearchResult.jumpToNextSearchResult.WebInspector.CPUProfileView.prototype.jumpToNextSearchResult.jumpToPreviousSearchResult.WebInspector.CPUProfileView.prototype.jumpToPreviousSearchResult.showingFirstSearchResult.WebInspector.CPUProfileView.prototype.showingFirstSearchResult.showingLastSearchResult.WebInspector.CPUProfileView.prototype.showingLastSearchResult._jumpToSearchResult.WebInspector.CPUProfileView.prototype._jumpToSearchResult.refreshVisibleData):
70222        (WebInspector.HeapSnapshotView.prototype._changeBase.resetCompleted):
70223        (WebInspector.HeapSnapshotView.prototype._changeBase):
70224        (WebInspector.HeapSnapshotView.prototype._createSnapshotDataGridList):
70225        (WebInspector.HeapSnapshotView.prototype._getProfiles):
70226        (WebInspector.HeapSnapshotView.prototype._loadProfile.loadedCallback):
70227        (WebInspector.HeapSnapshotView.prototype._loadProfile):
70228        (WebInspector.HeapSnapshotView.prototype._mouseDownInDataGrid):
70229        (WebInspector.HeapSnapshotView.prototype.get _isShowingAsPercent):
70230        (WebInspector.HeapSnapshotView.prototype._percentClicked):
70231        (WebInspector.HeapSnapshotView.prototype._prepareProfile.mergeRetainers):
70232        (WebInspector.HeapSnapshotView.prototype._prepareProfile):
70233        (WebInspector.HeapSnapshotView.prototype._resetDataGridList.profileLoaded):
70234        (WebInspector.HeapSnapshotView.prototype._resetDataGridList):
70235        (WebInspector.HeapSnapshotView.prototype._sortData):
70236        (WebInspector.HeapSnapshotView.prototype._updateBaseOptions):
70237        (WebInspector.HeapSnapshotView.prototype._updatePercentButton):
70238        (WebInspector.HeapSnapshotView.prototype._updateSummaryGraph):
70239        (WebInspector.HeapSnapshotView.SearchHelper.operations.LESS):
70240        (WebInspector.HeapSnapshotView.SearchHelper.operations.LESS_OR_EQUAL):
70241        (WebInspector.HeapSnapshotView.SearchHelper.operations.EQUAL):
70242        (WebInspector.HeapSnapshotView.SearchHelper.operations.GREATER_OR_EQUAL):
70243        (WebInspector.HeapSnapshotView.SearchHelper.operations.GREATER):
70244        (WebInspector.HeapSnapshotView.SearchHelper.parseOperationAndNumber):
70245        (WebInspector.HeapSummaryCalculator):
70246        (WebInspector.HeapSummaryCalculator.prototype.computeSummaryValues):
70247        (WebInspector.HeapSummaryCalculator.prototype.formatValue):
70248        (WebInspector.HeapSummaryCalculator.prototype.get showAsPercent):
70249        (WebInspector.HeapSummaryCalculator.prototype.set showAsPercent):
70250        (WebInspector.HeapSummaryCountCalculator):
70251        (WebInspector.HeapSummaryCountCalculator.prototype._highFromLow):
70252        (WebInspector.HeapSummaryCountCalculator.prototype._valueToString):
70253        (WebInspector.HeapSummarySizeCalculator):
70254        (WebInspector.HeapSummarySizeCalculator.prototype._highFromLow):
70255        (WebInspector.HeapSnapshotDataGridNodeWithRetainers):
70256        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get _hasRetainers):
70257        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get _parent):
70258        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype._populate):
70259        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.produceDiff):
70260        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.sort):
70261        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.signForDelta):
70262        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.showDeltaAsPercent):
70263        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.getTotalCount):
70264        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.getTotalSize):
70265        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get countPercent):
70266        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get sizePercent):
70267        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get countDeltaPercent):
70268        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get sizeDeltaPercent):
70269        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get data):
70270        (WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.createCell):
70271        (WebInspector.HeapSnapshotDataGridNode):
70272        (WebInspector.HeapSnapshotDataGridList):
70273        (WebInspector.HeapSnapshotDataGridList.prototype.appendChild):
70274        (WebInspector.HeapSnapshotDataGridList.prototype.insertChild):
70275        (WebInspector.HeapSnapshotDataGridList.prototype.removeChildren):
70276        (WebInspector.HeapSnapshotDataGridList.prototype.populateChildren):
70277        (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
70278        (WebInspector.HeapSnapshotDataGridList.propertyComparator):
70279        (WebInspector.HeapSnapshotDataGridRetainerNode):
70280        (WebInspector.HeapSnapshotDataGridRetainerNode.prototype.get sizePercent):
70281        (WebInspector.HeapSnapshotDataGridRetainerNode.prototype.get sizeDeltaPercent):
70282        (WebInspector.HeapSnapshotDataGridRetainerNode.prototype._calculateRetainers):
70283        (WebInspector.HeapSnapshotProfileType):
70284        (WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip):
70285        (WebInspector.HeapSnapshotProfileType.prototype.get buttonStyle):
70286        (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
70287        (WebInspector.HeapSnapshotProfileType.prototype.get welcomeMessage):
70288        (WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile):
70289        (WebInspector.HeapSnapshotProfileType.prototype.createView):
70290        * inspector/front-end/ProfileView.js:
70291        (WebInspector.CPUProfileView):
70292        (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
70293        * inspector/front-end/ProfilesPanel.js:
70294        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
70295        (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
70296        (WebInspector.ProfilesPanel.prototype.getProfiles):
70297        (WebInspector.ProfilesPanel.prototype.updateProfile):
70298        (WebInspector.ProfileSidebarTreeElement):
70299        (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
70300        * inspector/front-end/WebKit.qrc:
70301        * inspector/front-end/inspector.css:
70302        (.heap-snapshot-sidebar-tree-item .icon):
70303        (.heap-snapshot-sidebar-tree-item.small .icon):
70304        (.heap-snapshot-view):
70305        (.heap-snapshot-view.visible):
70306        (.heap-snapshot-view .data-grid):
70307        (.heap-snapshot-view .data-grid th.count-column):
70308        (.heap-snapshot-view .data-grid td.count-column):
70309        (.heap-snapshot-view .data-grid th.size-column):
70310        (.heap-snapshot-view .data-grid td.size-column):
70311        (.heap-snapshot-view .data-grid th.countDelta-column):
70312        (.heap-snapshot-view .data-grid td.countDelta-column):
70313        (.heap-snapshot-view .data-grid th.sizeDelta-column):
70314        (.heap-snapshot-view .data-grid td.sizeDelta-column):
70315        (#heap-snapshot-summary-container):
70316        (.heap-snapshot-summary):
70317        (.heap-snapshot-summary canvas.summary-graph):
70318        (.heap-snapshot-summary-label):
70319        * inspector/front-end/inspector.html:
70320        * inspector/front-end/inspector.js:
70321        (WebInspector._createPanels):
70322
703232010-08-25  David Hyatt  <hyatt@apple.com>
70324
70325        Reviewed by Simon Fraser.
70326
70327        <rdar://problem/8302217> recalcStyles called immediately on each change when updating document-level stylesheets
70328        https://bugs.webkit.org/show_bug.cgi?id=36303
70329
70330        Parameterize updateStyleSelector to optionally defer the forced style recalc following the rebuilding of the
70331        sheets used by the CSSStyleSelector.  Rename the method to styleSelectorChanged().  Add the capability to do 
70332        a forced style recalc to the style recalc timer.
70333
70334        * css/CSSMutableStyleDeclaration.cpp:
70335        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
70336        * css/CSSStyleSheet.cpp:
70337        (WebCore::CSSStyleSheet::styleSheetChanged):
70338        * css/CSSVariablesDeclaration.cpp:
70339        (WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc):
70340        * dom/Document.cpp:
70341        (WebCore::Document::Document):
70342        (WebCore::Document::scheduleStyleRecalc):
70343        (WebCore::Document::updateStyleIfNeeded):
70344        (WebCore::Document::updateLayoutIgnorePendingStylesheets):
70345        (WebCore::Document::clearPageUserSheet):
70346        (WebCore::Document::clearPageGroupUserSheets):
70347        (WebCore::Document::processHttpEquiv):
70348        (WebCore::Document::setSelectedStylesheetSet):
70349        (WebCore::Document::removePendingSheet):
70350        (WebCore::Document::styleSelectorChanged):
70351        (WebCore::Document::setInPageCache):
70352        * dom/Document.h:
70353        (WebCore::):
70354        * dom/ProcessingInstruction.cpp:
70355        (WebCore::ProcessingInstruction::removedFromDocument):
70356        * dom/StyleElement.cpp:
70357        (WebCore::StyleElement::removedFromDocument):
70358        * dom/XMLDocumentParser.cpp:
70359        (WebCore::XMLDocumentParser::end):
70360        * dom/XMLDocumentParserLibxml2.cpp:
70361        (WebCore::XMLDocumentParser::doEnd):
70362        * html/HTMLDocument.cpp:
70363        (WebCore::HTMLDocument::determineParseMode):
70364        * html/HTMLLinkElement.cpp:
70365        (WebCore::HTMLLinkElement::setDisabledState):
70366        (WebCore::HTMLLinkElement::process):
70367        (WebCore::HTMLLinkElement::removedFromDocument):
70368        * page/Frame.cpp:
70369        (WebCore::Frame::setPrinting):
70370        (WebCore::Frame::reapplyStyles):
70371        * page/FrameView.cpp:
70372        (WebCore::FrameView::layout):
70373        * page/Page.cpp:
70374        (WebCore::Page::setViewMode):
70375        * rendering/RenderBlock.cpp:
70376        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
70377        * svg/SVGFontFaceElement.cpp:
70378        (WebCore::SVGFontFaceElement::rebuildFontFace):
70379        (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
70380
703812010-08-24  Vangelis Kokkevis  <vangelis@chromium.org>
70382
70383        Reviewed by Kenneth Russell.
70384
70385        [chromium] Implementing clipping for composited layers. Two
70386        types of clipping are added: Scissoring for layers that don't
70387        contain any rotations and stencil-buffer based clipping for
70388        all other layers.
70389        https://bugs.webkit.org/show_bug.cgi?id=44573
70390
70391        Tests: Compositor layout tests that test clipping such as
70392        compositing/geometry/{clip.html, clipping-foreground.html} now
70393        work properly.
70394
70395        * platform/graphics/chromium/LayerChromium.cpp:
70396        (WebCore::LayerChromium::SharedValues::SharedValues):
70397        (WebCore::LayerChromium::getDrawRect):
70398        (WebCore::LayerChromium::drawAsMask):
70399        * platform/graphics/chromium/LayerChromium.h:
70400        * platform/graphics/chromium/LayerRendererChromium.cpp:
70401        (WebCore::LayerRendererChromium::drawLayers):
70402        (WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer):
70403        (WebCore::LayerRendererChromium::drawLayersRecursive):
70404        (WebCore::LayerRendererChromium::scissorToRect):
70405        (WebCore::LayerRendererChromium::initializeSharedObjects):
70406        * platform/graphics/chromium/LayerRendererChromium.h:
70407
704082010-08-25  Kenneth Russell  <kbr@google.com>
70409
70410        Reviewed by Dimitri Glazkov.
70411
70412        Expose Vector3 and associated operations
70413        https://bugs.webkit.org/show_bug.cgi?id=44666
70414
70415        No new tests; ran several 3D CSS demos and did full layout test
70416        run. New code paths have also been tested by new calling code
70417        which will be checked in soon.
70418
70419        * platform/graphics/transforms/TransformationMatrix.cpp:
70420        (WebCore::decompose):
70421        * platform/graphics/transforms/TransformationMatrix.h:
70422        (WebCore::Vector3::Vector3):
70423        (WebCore::Vector3::x):
70424        (WebCore::Vector3::y):
70425        (WebCore::Vector3::z):
70426        (WebCore::Vector3::setX):
70427        (WebCore::Vector3::setY):
70428        (WebCore::Vector3::setZ):
70429        (WebCore::Vector3::set):
70430        (WebCore::Vector3::operator =):
70431        (WebCore::Vector3::operator +):
70432        (WebCore::Vector3::operator -):
70433        (WebCore::Vector3::operator[]):
70434        (WebCore::Vector3::length):
70435        (WebCore::Vector3::lengthSquared):
70436        (WebCore::Vector3::scaleTo):
70437        (WebCore::Vector3::normalize):
70438        (WebCore::Vector3::dot):
70439        (WebCore::Vector3::combine):
70440        (WebCore::Vector3::cross):
70441
704422010-08-26  Mikhail Naganov  <mnaganov@chromium.org>
70443
70444        Reviewed by Pavel Feldman.
70445
70446        Web Inspector: fix CPU profile header entries doubling on Inspector re-opening.
70447
70448        https://bugs.webkit.org/show_bug.cgi?id=44685
70449
70450        * inspector/front-end/ProfilesPanel.js:
70451        (WebInspector.ProfilesPanel.prototype.show):
70452
704532010-08-26  Eric Carlson  <eric.carlson@apple.com>
70454
70455        Reviewed by Darin Adler and Maciej Stachowiak.
70456
70457        https://bugs.webkit.org/show_bug.cgi?id=44013
70458        HTMLMediaElement should delay document load event
70459
70460        Test: media/video-delay-load-event.html
70461
70462        * dom/Document.cpp:
70463        (WebCore::Document::Document): Initialize incrementLoadEventDelayCount.
70464        (WebCore::Document::decrementLoadEventDelayCount): New, decrement incrementLoadEventDelayCount 
70465        and call loader->checkCompleted() when it reaches zero.
70466        * dom/Document.h:
70467        (WebCore::Document::incrementLoadEventDelayCount): New.
70468        (WebCore::Document::isDelayingLoadEvent): New.
70469
70470        * html/HTMLMediaElement.cpp:
70471        (WebCore::HTMLMediaElement::~HTMLMediaElement): Stop delaying the load event if necessary.
70472        (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Ditto.
70473        (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Delay the load event if we don't the
70474        meta data for the movie yet.
70475        (WebCore::HTMLMediaElement::prepareForLoad): Delay the load event.
70476        (WebCore::HTMLMediaElement::selectMediaResource): Don't delay the load event when there are 
70477        no more sources to consider. Don't change m_delayingTheLoadEvent directly, call 
70478        setShouldDelayLoadEvent() instead.
70479        (WebCore::HTMLMediaElement::waitForSourceChange): Stop delaying the load event.
70480        (WebCore::HTMLMediaElement::noneSupported): Ditto.
70481        (WebCore::HTMLMediaElement::mediaEngineError): Ditto.
70482        (WebCore::HTMLMediaElement::setReadyState): Ditto.
70483        (WebCore::HTMLMediaElement::userCancelledLoad): Ditto.
70484        (WebCore::HTMLMediaElement::setShouldDelayLoadEvent): New, increment/decrement the document's
70485        load event delay count.
70486        * html/HTMLMediaElement.h:
70487
70488        * loader/FrameLoader.cpp:
70489        (WebCore::FrameLoader::checkCompleted): See if the document wants to delay completion for 
70490        elements that don't go through a FrameLoader.
70491        (WebCore::FrameLoader::checkCallImplicitClose): Ditto
70492        * page/Frame.cpp:
70493
704942010-08-26  Dan Bernstein  <mitz@apple.com>
70495
70496        Reviewed by Simon Fraser.
70497
70498        Fix the same issue as https://bugs.webkit.org/show_bug.cgi?id=41585
70499        but this time for the -webkit-font-smoothing property.
70500
70501        Updated fast/css/text-rendering-priority.html to cover all properties that
70502        affect the font.
70503
70504        * css/CSSPropertyNames.in: Moved text-rendering to the “high priority†section at the top.
70505        * css/CSSStyleSelector.cpp:
70506        (WebCore::CSSStyleSelector::styleForElement): Assert that the font is not dirtied by
70507        applying any of the “low priority†properties, but still handle the case that the assertion
70508        is false.
70509        (WebCore::CSSStyleSelector::applyDeclarations): Updated compile-time assertion.
70510
705112010-08-26  Martin Robinson  <mrobinson@igalia.com>
70512
70513        Reviewed by Xan Lopez.
70514
70515        [GTK] The GNUmakefile.am files contain a myriad of confusing preprocessor and compiler flag definitions
70516        https://bugs.webkit.org/show_bug.cgi?id=44624
70517
70518        Clean up GNUmakefile.am.
70519
70520        * GNUmakefile.am: Remove some WebKit includes from webcore_cppflags. These
70521        includes are added to the build line by the top-level GNUmakefile.am, since
70522        WebCore isn't build as an intermediate library.
70523
705242010-08-26  Yury Semikhatsky  <yurys@chromium.org>
70525
70526        Unreviewed. Revert r66103 since Qt tests are failing.
70527
70528        * inspector/Inspector.idl:
70529        * inspector/InspectorController.cpp:
70530        (WebCore::InspectorController::inspectedPageDestroyed):
70531        (WebCore::InspectorController::close):
70532        * inspector/InspectorFrontendClient.h:
70533        * inspector/InspectorFrontendHost.cpp:
70534        * inspector/InspectorFrontendHost.h:
70535        * inspector/InspectorFrontendHost.idl:
70536        * inspector/front-end/InspectorFrontendHostStub.js:
70537        * inspector/front-end/inspector.js:
70538        (WebInspector.inspectedPageDestroyed):
70539
705402010-08-26  Yury Semikhatsky  <yurys@chromium.org>
70541
70542        Reviewed by Pavel Feldman.
70543
70544        REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
70545        https://bugs.webkit.org/show_bug.cgi?id=44230
70546
70547        * inspector/Inspector.idl:
70548        * inspector/InspectorController.cpp:
70549        (WebCore::InspectorController::inspectedPageDestroyed):
70550        (WebCore::InspectorController::close):
70551        * inspector/InspectorFrontendClient.h:
70552        * inspector/InspectorFrontendHost.cpp:
70553        (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
70554        that frontend closes if InspectorController triggered the action.
70555        * inspector/InspectorFrontendHost.h:
70556        * inspector/InspectorFrontendHost.idl:
70557        * inspector/front-end/InspectorFrontendHostStub.js:
70558        (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
70559        * inspector/front-end/inspector.js:
70560        (WebInspector.disconnectFromBackend):
70561
705622010-08-26  Ilya Tikhonovsky  <loislo@chromium.org>
70563
70564        Reviewed by Yury Semikhatsky.
70565
70566        WebInspector: It would be better to have an explicit type check for the all
70567        arguments of InspectorBackend functions on front-end side.
70568        https://bugs.webkit.org/show_bug.cgi?id=44684
70569
70570        * inspector/CodeGeneratorInspector.pm:
70571
705722010-08-26  Ilya Tikhonovsky  <loislo@chromium.org>
70573
70574        Reviewed by Yury Semikhatsky.
70575
70576        WebInspector: It would be better to rename setBool, pushBool and asBool accessors
70577        to setBoolean, pushBoolean and asBoolean for better matching with the results of
70578        JS typeof operator.
70579        https://bugs.webkit.org/show_bug.cgi?id=44680
70580
70581        * bindings/js/ScriptProfile.cpp:
70582        (WebCore::buildInspectorObjectFor):
70583        * bindings/v8/ScriptProfile.cpp:
70584        (WebCore::buildInspectorObjectFor):
70585        * inspector/CodeGeneratorInspector.pm:
70586        * inspector/InspectorController.cpp:
70587        (WebCore::InspectorController::buildObjectForCookie):
70588        * inspector/InspectorDOMAgent.cpp:
70589        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
70590        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
70591        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
70592        (WebCore::InspectorDOMAgent::buildObjectForRule):
70593        * inspector/InspectorDOMStorageResource.cpp:
70594        (WebCore::InspectorDOMStorageResource::bind):
70595        * inspector/InspectorResource.cpp:
70596        (WebCore::InspectorResource::updateScriptObject):
70597        * inspector/InspectorValues.cpp:
70598        (WebCore::InspectorValue::asBoolean):
70599        (WebCore::InspectorBasicValue::asBoolean):
70600        (WebCore::InspectorBasicValue::asNumber):
70601        (WebCore::InspectorBasicValue::writeJSON):
70602        (WebCore::InspectorObject::getBoolean):
70603        * inspector/InspectorValues.h:
70604        (WebCore::InspectorValue::):
70605        (WebCore::InspectorBasicValue::InspectorBasicValue):
70606        (WebCore::InspectorObject::setBoolean):
70607        (WebCore::InspectorArray::pushBoolean):
70608        * inspector/ScriptBreakpoint.cpp:
70609        (WebCore::ScriptBreakpoint::sourceBreakpointsFromInspectorObject):
70610        (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
70611        * inspector/TimelineRecordFactory.cpp:
70612        (WebCore::TimelineRecordFactory::createTimerInstallData):
70613        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
70614        (WebCore::TimelineRecordFactory::createResourceFinishData):
70615
706162010-08-26  Girish Ramakrishnan  <girish@forwardbias.in>
70617
70618        Reviewed by Simon Hausmann.
70619
70620        [Qt] Set the clipRect correctly in windowed and windowless mode.
70621        In Windowed mode, the values are in page coordinates. In Windowless
70622        mode the values are in drawable coordinates. Setting these values is
70623        purely academic since they are not used by Flash. However, there is a
70624        possibility that plugins might infer a 'null' clipRect to mean 'invisible'.
70625
70626        https://bugs.webkit.org/show_bug.cgi?id=44594
70627
70628        * plugins/qt/PluginViewQt.cpp:
70629        (WebCore::PluginView::setNPWindowIfNeeded):
70630
706312010-08-26  Pavel Podivilov  <podivilov@chromium.org>
70632
70633        Reviewed by Pavel Feldman.
70634
70635        Web Inspector: enable debugger after resources are pushed to front-end
70636        https://bugs.webkit.org/show_bug.cgi?id=44673
70637
70638        * inspector/InspectorController.cpp:
70639        (WebCore::InspectorController::connectFrontend):
70640        (WebCore::InspectorController::populateScriptObjects):
70641
706422010-08-26  Nikolas Zimmermann  <nzimmermann@rim.com>
70643
70644        Reviewed by Dirk Schulze.
70645
70646        text-shadow is not respected in RenderSVGText::repaintRectInLocalCoordinates()
70647        https://bugs.webkit.org/show_bug.cgi?id=44616
70648
70649        Centralize code to calculate the shadow extents in ShadowData.
70650        Respect textShadow() when calculating the repaint rect of RenderSVGText.
70651
70652        Tests: svg/css/composite-shadow-text.svg
70653               transitions/svg-text-shadow-transition.html
70654
70655        * rendering/RenderObject.cpp:
70656        (WebCore::RenderObject::adjustRectForOutlineAndShadow):
70657        * rendering/RenderSVGRoot.cpp:
70658        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
70659        (WebCore::RenderSVGRoot::computeRectForRepaint):
70660        * rendering/RenderSVGText.cpp:
70661        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
70662        * rendering/SVGRenderSupport.cpp:
70663        (WebCore::SVGRenderSupport::computeRectForRepaint):
70664        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
70665        (WebCore::SVGRenderSupport::finishRenderSVGContent):
70666        (WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
70667        * rendering/style/SVGRenderStyle.cpp:
70668        * rendering/style/SVGRenderStyle.h:
70669        * rendering/style/ShadowData.cpp:
70670        (WebCore::calculateShadowExtent):
70671        (WebCore::ShadowData::adjustRectForShadow):
70672        * rendering/style/ShadowData.h:
70673
706742010-08-25  Xan Lopez  <xlopez@igalia.com>
70675
70676        Reviewed by Martin Robinson.
70677
70678        [GTK] Rework event definition in the DOM bindings
70679        https://bugs.webkit.org/show_bug.cgi?id=44597
70680
70681        Define DOM events in the base classes that implement EventTarget,
70682        since theoretically you can dispatch any event to any of those
70683        classes whether it makes sense semantically or not.
70684
70685        All the existing events in WebKit are not listed anywhere in the
70686        IDL files, so we need to have the list in the generator script.
70687
70688        * bindings/scripts/CodeGeneratorGObject.pm:
70689
706902010-08-25  Ilya Tikhonovsky  <loislo@chromium.org>
70691
70692        Reviewed by Pavel Feldman.
70693
70694        WebInspector: as far as we have 'seq' property in the each inspector message
70695        it would be better to remove explicit callId argument from Inspector.idl functions
70696        declarations.
70697        https://bugs.webkit.org/show_bug.cgi?id=44617
70698
70699        * WebCore.xcodeproj/project.pbxproj:
70700        * inspector/CodeGeneratorInspector.pm:
70701        * inspector/Inspector.idl:
70702        * inspector/front-end/AuditRules.js:
70703        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
70704        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
70705        * inspector/front-end/BreakpointManager.js:
70706        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
70707        * inspector/front-end/CSSStyleModel.js:
70708        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
70709        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
70710        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
70711        (WebInspector.CSSStyleModel.prototype.addRule):
70712        (WebInspector.CSSStyleModel.prototype.toggleStyleEnabled):
70713        (WebInspector.CSSStyleModel.prototype.setCSSText):
70714        (WebInspector.CSSStyleModel.prototype.applyStyleText):
70715        * inspector/front-end/DOMAgent.js:
70716        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
70717        (WebInspector.DOMAgent.prototype.setAttributeAsync):
70718        (WebInspector.DOMAgent.prototype.removeAttributeAsync):
70719        (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
70720        (WebInspector.ApplicationCache.getApplicationCachesAsync):
70721        (WebInspector.Cookies.getCookiesAsync):
70722        (WebInspector.EventListeners.getEventListenersForNodeAsync):
70723        * inspector/front-end/DOMStorage.js:
70724        (WebInspector.DOMStorage.prototype.getEntries):
70725        (WebInspector.DOMStorage.prototype.setItem):
70726        (WebInspector.DOMStorage.prototype.removeItem):
70727        * inspector/front-end/Database.js:
70728        (WebInspector.Database.prototype.getTableNames):
70729        (WebInspector.Database.prototype.executeSql):
70730        * inspector/front-end/ElementsPanel.js:
70731        (WebInspector.ElementsPanel.prototype.setDocument):
70732        * inspector/front-end/ElementsTreeOutline.js:
70733        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
70734        ():
70735        * inspector/front-end/InjectedScriptAccess.js:
70736        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
70737        (InjectedScriptAccess._installHandler):
70738        * inspector/front-end/MetricsSidebarPane.js:
70739        (WebInspector.MetricsSidebarPane.prototype.update):
70740        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
70741        * inspector/front-end/ProfileView.js:
70742        (WebInspector.CPUProfileView):
70743        * inspector/front-end/ProfilesPanel.js:
70744        * inspector/front-end/ResourcesPanel.js:
70745        (WebInspector.getResourceContent):
70746        * inspector/front-end/ScriptView.js:
70747        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
70748        * inspector/front-end/ScriptsPanel.js:
70749        (WebInspector.ScriptsPanel.prototype.editScriptSource):
70750        * inspector/front-end/inspector.js:
70751        (WebInspector.doLoadedDone):
70752
707532010-08-26  Kwang Yul Seo  <skyul@company100.net>
70754
70755        Reviewed by Kent Tamura.
70756
70757        Add ENABLE(INDEXED_DATABASE) guard
70758        https://bugs.webkit.org/show_bug.cgi?id=44659
70759
70760        Build fix for ports with index database disabled.
70761
70762        * storage/IDBKeyPathBackendImpl.cpp:
70763
707642010-08-26  Girish Ramakrishnan  <girish@forwardbias.in>
70765
70766        Reviewed by Ariya Hidayat.
70767
70768        [Qt] Replace QLibrary("libgdk-x11-2.0.so.0") with QLibrary("libgdk-x11-2.0", 0)
70769        https://bugs.webkit.org/show_bug.cgi?id=44618
70770
70771        * plugins/qt/PluginViewQt.cpp:
70772        (WebCore::getPluginDisplay):
70773
707742010-08-26  Adam Barth  <abarth@webkit.org>
70775
70776        Reviewed by Sam Weinig.
70777
70778        Deploy adoptPtr to WebCore/loader
70779        https://bugs.webkit.org/show_bug.cgi?id=44591
70780
70781        This patch covers the easy cases.  There are a handful of tougher cases
70782        that I'm leaving to a future patch.  I filed one bug about a possible
70783        memory leak and I emailed webkit-dev about some infrastructure we'll
70784        need to tackle some of the harder cases.
70785
70786        * loader/CrossOriginAccessControl.cpp:
70787        (WebCore::createAllowedCrossOriginResponseHeadersSet):
70788        (WebCore::isOnAccessControlResponseHeaderWhitelist):
70789        * loader/DocLoader.cpp:
70790        (WebCore::DocLoader::requestPreload):
70791        * loader/DocumentLoader.cpp:
70792        (WebCore::DocumentLoader::DocumentLoader):
70793        (WebCore::DocumentLoader::addAllArchiveResources):
70794        (WebCore::DocumentLoader::addArchiveResource):
70795        * loader/DocumentThreadableLoader.cpp:
70796        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
70797        (WebCore::DocumentThreadableLoader::didReceiveResponse):
70798        * loader/PingLoader.cpp:
70799        (WebCore::PingLoader::loadImage):
70800        * loader/ProgressTracker.cpp:
70801        (WebCore::ProgressTracker::incrementProgress):
70802        * loader/RedirectScheduler.cpp:
70803        (WebCore::RedirectScheduler::scheduleRedirect):
70804        (WebCore::RedirectScheduler::scheduleLocationChange):
70805        (WebCore::RedirectScheduler::scheduleFormSubmission):
70806        (WebCore::RedirectScheduler::scheduleRefresh):
70807        (WebCore::RedirectScheduler::scheduleHistoryNavigation):
70808        * loader/WorkerThreadableLoader.cpp:
70809        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
70810        * loader/icon/IconDatabase.cpp:
70811        (WebCore::readySQLiteStatement):
70812        * loader/icon/IconLoader.cpp:
70813        (WebCore::IconLoader::create):
70814
708152010-08-26  Alejandro G. Castro  <alex@igalia.com>
70816
70817        Reviewed by Dan Bernstein.
70818
70819        shadowSize parameter is used to pass shadow offset in the
70820        GraphicsContext::setShadow and getShadow functions
70821        https://bugs.webkit.org/show_bug.cgi?id=44603
70822
70823        Change the shadowSize parameter ot the functions getShadow and
70824        setShadow in GraphicsContext to shadowOffset which is the current
70825        use of that parameter in the code.
70826
70827        * platform/graphics/GraphicsContext.cpp:
70828        (WebCore::GraphicsContext::setShadow):
70829        (WebCore::GraphicsContext::clearShadow):
70830        (WebCore::GraphicsContext::getShadow):
70831        * platform/graphics/GraphicsContext.h:
70832        * platform/graphics/GraphicsContextPrivate.h:
70833        * platform/graphics/cairo/FontCairo.cpp:
70834        (WebCore::Font::drawGlyphs):
70835        * platform/graphics/cairo/GraphicsContextCairo.cpp:
70836        (WebCore::GraphicsContext::calculateShadowBufferDimensions):
70837        (WebCore::drawPathShadow):
70838        (WebCore::drawBorderlessRectShadow):
70839        (WebCore::GraphicsContext::setPlatformShadow):
70840        * platform/graphics/cairo/ImageCairo.cpp:
70841        (WebCore::BitmapImage::draw):
70842        * platform/graphics/chromium/FontChromiumWin.cpp:
70843        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
70844        (WebCore::Font::drawComplexText):
70845        * platform/graphics/gtk/FontGtk.cpp:
70846        (WebCore::Font::drawComplexText):
70847        * platform/graphics/mac/FontMac.mm:
70848        (WebCore::Font::drawGlyphs):
70849        * platform/graphics/qt/ImageQt.cpp:
70850        (WebCore::BitmapImage::draw):
70851        * platform/graphics/qt/StillImageQt.cpp:
70852        (WebCore::StillImage::draw):
70853        * platform/graphics/qt/GraphicsContextQt:
70854        (WebCore::GraphicsContext::setPlatformShadow):
70855        * platform/graphics/skia/SkiaFontWin.cpp:
70856        (WebCore::windowsCanHandleDrawTextShadow):
70857        * platform/graphics/win/FontCGWin.cpp:
70858        (WebCore::drawGDIGlyphs):
70859        (WebCore::Font::drawGlyphs):
70860        * platform/graphics/wince/GraphicsContextWince.cpp:
70861        (WebCore::GraphicsContext::fillRoundedRect):
70862        (WebCore::GraphicsContext::drawText):
70863
708642010-08-25  Sheriff Bot  <webkit.review.bot@gmail.com>
70865
70866        Unreviewed, rolling out r66074.
70867        http://trac.webkit.org/changeset/66074
70868        https://bugs.webkit.org/show_bug.cgi?id=44660
70869
70870        Chromium canary turned red (Requested by yuzo on #webkit).
70871
70872        * bindings/generic/RuntimeEnabledFeatures.cpp:
70873        * bindings/generic/RuntimeEnabledFeatures.h:
70874        * bindings/js/JSXMLHttpRequestCustom.cpp:
70875        (WebCore::JSXMLHttpRequest::responseText):
70876        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
70877        (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
70878        * xml/XMLHttpRequest.cpp:
70879        (WebCore::XMLHttpRequest::responseText):
70880        (WebCore::XMLHttpRequest::responseXML):
70881        (WebCore::XMLHttpRequest::open):
70882        (WebCore::XMLHttpRequest::abort):
70883        (WebCore::XMLHttpRequest::clearResponse):
70884        (WebCore::XMLHttpRequest::didFinishLoading):
70885        * xml/XMLHttpRequest.h:
70886        * xml/XMLHttpRequest.idl:
70887
708882010-08-25  Mark Rowe  <mrowe@apple.com>
70889
70890        Reviewed by Dan Bernstein.
70891
70892        <rdar://problem/8205479> WebCore's icon database often prevents Safari from being killable via sudden termination
70893
70894        We need to ensure that each call to disableSuddenTermination is balanced by a corresponding call to enableSuddenTermination.
70895        It's possbile for several calls to IconDatabase::wakeSyncThread to correspond to only a single iteration of the loop within
70896        IconDatabase::syncThreadMainLoop. This results in the sudden termination disable count growing without bound rather than
70897        being balanced when the work completes. We can prevent this by ensuring that we only disable sudden termination once for each
70898        corresponding iteration of the sync thread's main loop.
70899
70900        * loader/icon/IconDatabase.cpp:
70901        (WebCore::IconDatabase::IconDatabase):
70902        (WebCore::IconDatabase::wakeSyncThread): Only disable sudden termination if it has not yet been disabled for this iteration of
70903        the sync thread's main loop.
70904        (WebCore::IconDatabase::syncThreadMainLoop): Clear the flag indicating that sudden termination has been disabled after reenabling it
70905        so that future calls to wakeSyncThread disable sudden termination once more.
70906        * loader/icon/IconDatabase.h:
70907
709082010-08-25  Michael Nordman  <michaeln@google.com>
70909
70910        Reviewed by David Levin.
70911
70912        https://bugs.webkit.org/show_bug.cgi?id=44133
70913        IDL bindings for XmlHttpRequest.responseBlob support, doesn't do anything yet.
70914        Adds two new attributes, asBlob and responseBlob.
70915        Runtime disabled by default, also behind a new ENABLE_XHR_RESPONSE_BLOB compile time guard.
70916        
70917        No new tests, just adding some stubs.
70918
70919        * bindings/generic/RuntimeEnabledFeatures.cpp:
70920        * bindings/generic/RuntimeEnabledFeatures.h:
70921        (WebCore::RuntimeEnabledFeatures::setResponseBlobEnabled):
70922        (WebCore::RuntimeEnabledFeatures::responseBlobEnabled):
70923        (WebCore::RuntimeEnabledFeatures::asBlobEnabled):
70924        * bindings/js/JSXMLHttpRequestCustom.cpp:
70925        (WebCore::JSXMLHttpRequest::responseText): Changed to allow an exceptional return path.
70926        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
70927        (WebCore::V8XMLHttpRequest::responseTextAccessorGetter): Changed to allow an exceptional return path.
70928        * xml/XMLHttpRequest.cpp:
70929        (WebCore::XMLHttpRequest::responseText): Changed to raise an exception when accessed with asBlob set to true.
70930        (WebCore::XMLHttpRequest::responseXML): Changed to raise an exception when accessed with asBlob set to true.
70931        (WebCore::XMLHttpRequest::responseBlob): Added stub method, returns 0 for now.
70932        (WebCore::XMLHttpRequest::setAsBlob): Sets the asBlob attribute, raises exception if called at an inappropriate time.
70933        (WebCore::XMLHttpRequest::open): Resets asBlob to false, the default value.
70934        (WebCore::XMLHttpRequest::abort): Clears m_responseBlob.
70935        (WebCore::XMLHttpRequest::clearResponse): Clears m_responseBlob.
70936        (WebCore::XMLHttpRequest::didFinishLoading): Added a FIXME to populate m_responseBlob.
70937        * xml/XMLHttpRequest.h:
70938        (WebCore::XMLHttpRequest::asBlob):
70939        * xml/XMLHttpRequest.idl:
70940
709412010-08-24  Victoria Kirst  <vrk@google.com>
70942
70943        Reviewed by Darin Fisher.
70944
70945        Adding a means of communication between WebKit/WebCore and
70946        chromium in order to share video frames. This adds the necessary
70947        WebKit-side classes and methods, but does not actually use them
70948        yet - that will be committed in a separate patch after the
70949        corresponding Chromium side is committed.
70950
70951        https://bugs.webkit.org/show_bug.cgi?id=44539
70952
70953        No new tests, as these new classes/APIs are not yet used.
70954
70955        * platform/graphics/chromium/VideoFrameChromium.h: Added.
70956        (WebCore::VideoFrameChromium::):
70957        * platform/graphics/chromium/VideoFrameProvider.h: Added.
70958        * platform/graphics/chromium/VideoLayerChromium.cpp:
70959        (WebCore::VideoLayerChromium::create):
70960        (WebCore::VideoLayerChromium::VideoLayerChromium):
70961        * platform/graphics/chromium/VideoLayerChromium.h:
70962
709632010-08-25  Kenneth Russell  <kbr@google.com>
70964
70965        Reviewed by Simon Fraser.
70966
70967        Source data passed to TypedArray creators should be const
70968        https://bugs.webkit.org/show_bug.cgi?id=44649
70969
70970        Compiled and ran existing WebGL tests to verify.
70971
70972        * html/canvas/Float32Array.cpp:
70973        (WebCore::Float32Array::create):
70974        * html/canvas/Float32Array.h:
70975        * html/canvas/TypedArrayBase.h:
70976        (WebCore::TypedArrayBase::create):
70977
709782010-08-25  Eric Seidel  <eric@webkit.org>
70979
70980        Unreviewed, just removing a dead enum.
70981
70982        Remove endTagRequirement now that the LegacyHTMLDocumentParser is dead
70983        https://bugs.webkit.org/show_bug.cgi?id=44626
70984
70985        Remove HTMLTagStatus since it's not used anymore.
70986
70987        * html/HTMLElement.h:
70988
709892010-08-25  Chris Fleizach  <cfleizach@apple.com>
70990
70991        Reviewed by David Kilzer.
70992
70993        AX: CSS first letter text transform causes crash
70994        https://bugs.webkit.org/show_bug.cgi?id=44352
70995
70996        Test: accessibility/first-letter-text-transform-causes-crash.html
70997
70998        * accessibility/AccessibilityRenderObject.cpp:
70999        (WebCore::nextContinuation):
71000
710012010-08-25  Eric Seidel  <eric@webkit.org>
71002
71003        Reviewed by Adam Barth.
71004
71005        Remove endTagRequirement now that the LegacyHTMLDocumentParser is dead
71006        https://bugs.webkit.org/show_bug.cgi?id=44626
71007
71008        Serialization is covered by a bunch of tests.  innerHTML behavior is sadly not.
71009        In either case, this is just moving code and should have no functional change.
71010
71011        * editing/markup.cpp:
71012        (WebCore::elementCannotHaveEndTag):
71013        (WebCore::MarkupAccumulator::shouldSelfClose):
71014        (WebCore::MarkupAccumulator::appendEndMarkup):
71015        (WebCore::serializeNodesWithNamespaces):
71016        * html/HTMLAnchorElement.h:
71017        * html/HTMLAreaElement.h:
71018        * html/HTMLBRElement.h:
71019        * html/HTMLBaseElement.h:
71020        * html/HTMLBaseFontElement.h:
71021        * html/HTMLBlockquoteElement.h:
71022        * html/HTMLBodyElement.h:
71023        * html/HTMLCanvasElement.cpp:
71024        * html/HTMLCanvasElement.h:
71025        * html/HTMLDListElement.h:
71026        * html/HTMLDataGridCellElement.h:
71027        * html/HTMLDataGridColElement.h:
71028        * html/HTMLDirectoryElement.h:
71029        * html/HTMLDivElement.h:
71030        * html/HTMLElement.cpp:
71031        (WebCore::HTMLElement::nodeName):
71032        (WebCore::HTMLElement::ieForbidsInsertHTML):
71033        (WebCore::HTMLElement::deprecatedCreateContextualFragment):
71034        (WebCore::HTMLElement::setInnerText):
71035        (WebCore::HTMLElement::setOuterText):
71036        * html/HTMLElement.h:
71037        * html/HTMLEmbedElement.h:
71038        * html/HTMLFontElement.h:
71039        * html/HTMLFormControlElement.h:
71040        * html/HTMLFormElement.h:
71041        * html/HTMLFrameElement.h:
71042        * html/HTMLFrameSetElement.h:
71043        * html/HTMLHRElement.h:
71044        * html/HTMLHeadElement.h:
71045        * html/HTMLHeadingElement.h:
71046        * html/HTMLHtmlElement.h:
71047        * html/HTMLIFrameElement.h:
71048        * html/HTMLImageElement.h:
71049        * html/HTMLInputElement.h:
71050        * html/HTMLIsIndexElement.h:
71051        * html/HTMLLIElement.h:
71052        * html/HTMLLinkElement.h:
71053        * html/HTMLMapElement.h:
71054        * html/HTMLMarqueeElement.h:
71055        * html/HTMLMenuElement.h:
71056        * html/HTMLMetaElement.h:
71057        * html/HTMLModElement.h:
71058        * html/HTMLOListElement.h:
71059        * html/HTMLOptionElement.h:
71060        * html/HTMLParagraphElement.h:
71061        * html/HTMLParamElement.h:
71062        * html/HTMLPlugInElement.h:
71063        * html/HTMLPreElement.h:
71064        * html/HTMLQuoteElement.h:
71065        * html/HTMLScriptElement.h:
71066        * html/HTMLSourceElement.h:
71067        * html/HTMLStyleElement.h:
71068        * html/HTMLTableCaptionElement.h:
71069        * html/HTMLTableCellElement.h:
71070        * html/HTMLTableColElement.cpp:
71071        * html/HTMLTableColElement.h:
71072        * html/HTMLTableElement.h:
71073        * html/HTMLTableRowElement.h:
71074        * html/HTMLTableSectionElement.h:
71075        * html/HTMLUListElement.h:
71076
710772010-08-20  Zhenyao Mo  <zmo@google.com>
71078
71079        Reviewed by Kenneth Russell.
71080
71081        WebGL must enforce restrictions even if running on OpenGL ES 2.0
71082        https://bugs.webkit.org/show_bug.cgi?id=42908
71083
71084        * html/canvas/WebGLFramebuffer.cpp:
71085        (WebCore::WebGLFramebuffer::getColorBufferFormat): Get format at given level instead of 0.
71086        * html/canvas/WebGLRenderingContext.cpp: Add two new flags and use them to replace the original isGLES2Compliant().
71087        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
71088        (WebCore::WebGLRenderingContext::bindTexture):
71089        (WebCore::WebGLRenderingContext::blendEquation):
71090        (WebCore::WebGLRenderingContext::blendEquationSeparate):
71091        (WebCore::WebGLRenderingContext::bufferData):
71092        (WebCore::WebGLRenderingContext::bufferSubData):
71093        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
71094        (WebCore::WebGLRenderingContext::clear):
71095        (WebCore::WebGLRenderingContext::copyTexImage2D):
71096        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
71097        (WebCore::WebGLRenderingContext::disable):
71098        (WebCore::WebGLRenderingContext::drawArrays):
71099        (WebCore::WebGLRenderingContext::drawElements):
71100        (WebCore::WebGLRenderingContext::enable):
71101        (WebCore::WebGLRenderingContext::generateMipmap):
71102        (WebCore::WebGLRenderingContext::hint):
71103        (WebCore::WebGLRenderingContext::isEnabled):
71104        (WebCore::WebGLRenderingContext::texImage2DBase):
71105        (WebCore::WebGLRenderingContext::texParameter):
71106        (WebCore::WebGLRenderingContext::isGLES2NPOTStrict):
71107        (WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses):
71108        * html/canvas/WebGLRenderingContext.h: Declare two new flags.
71109        * html/canvas/WebGLTexture.cpp: Get format at given level instead of 0.
71110        (WebCore::WebGLTexture::getInternalFormat):
71111        * html/canvas/WebGLTexture.h: Ditto.
71112        * platform/graphics/GraphicsContext3D.h: Add three new flags.
71113        * platform/graphics/mac/GraphicsContext3DMac.mm: Ditto.
71114        (WebCore::GraphicsContext3D::isGLES2NPOTStrict):
71115        (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
71116        * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
71117        (WebCore::GraphicsContext3D::isGLES2NPOTStrict):
71118        (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
71119
711202010-08-25  Brent Fulgham  <bfulgham@webkit.org>
71121
71122        Build correction, no review.
71123
71124        * WebCore.vcproj/WebCore.vcproj: Add missing implementation
71125          for PlatformRefPtrCairo.
71126
711272010-08-25  Cris Neckar  <cdn@chromium.org>
71128
71129        Reviewed by Darin Adler.
71130
71131        Added abort condition for RenderCounters when traversing a detached render tree.
71132        https://bugs.webkit.org/show_bug.cgi?id=43812
71133
71134        Test: fast/css/counters/counter-traverse-object-crash.html
71135
71136        * rendering/RenderCounter.cpp:
71137        (WebCore::findPlaceForCounter):
71138
711392010-08-25  Chris Marrin  <cmarrin@apple.com>
71140
71141        Reviewed by Simon Fraser.
71142
71143        https://bugs.webkit.org/show_bug.cgi?id=44629
71144        Add layer consistency checking and fix found crashing bug
71145        
71146        The crash was being caused by some of the calls which mutated
71147        the sublayer list leaving the list in an inconsistent state.
71148        This eventually lead to a crash. It would also lead to visual
71149        artifacts if the crash didn't occur. Added consistency checking
71150        to catch this and any other inconsistencies in the sublayer list.
71151        
71152        The particular bug in this case was caused by clamping an index
71153        for insertion to the current size of the sublayer list. CACF uses
71154        an index equal to the current length to indicate an append operation.
71155        With tiled layers the apparent size of the list is one less than its
71156        actual size (to accomodate the layer which holds the list of tiles)
71157        so this clamping was causing the new layer to get inserted before the
71158        tile parent. The tile parent was then mistaken for a WKCACFLayer and
71159        it eventually tried to deref that layer, causing the crash.
71160        
71161        I also added some protection when destroying a WKCACFLayer. The user data
71162        for the corresponding CACFLayer is now changed to 0xDeadBeef rather than 
71163        null. This allows dangling layers to be more easily identified. This
71164        value is checked and ASSERTed if seen. I also remove the sublayers
71165        on destruction to make the consistency checks work properly while
71166        a layer is being destroyed.
71167
71168        Test: compositing/tiling/crash-reparent-tiled-layer.html
71169
71170        * platform/graphics/win/WKCACFLayer.cpp:
71171        * platform/graphics/win/WKCACFLayer.h:
71172        * platform/graphics/win/WebTiledLayer.cpp:
71173        * platform/graphics/win/WebTiledLayer.h:
71174
711752010-08-25  Ryosuke Niwa  <rniwa@webkit.org>
71176
71177        Reviewed by Darin Adler.
71178
71179        WebCore::InsertListCommand::modifyRange infinite loop (100% CPU usage)
71180        https://bugs.webkit.org/show_bug.cgi?id=33668
71181
71182        The bug was caused by enclosingListChild returning a list child whose enclosing list is
71183        a sibling of the current list child. Fixed enclosingListChild to traverse upwards
71184        in the DOM to find the list child which is a sibling of the current list child.
71185        Also fixed adjacentEnclosingList to only returns the list that belongs to the same outer list.
71186
71187        In doApplyForSingleParagraph, if the start or the end of currentSelection existed inside a list content
71188        moved by moveParagraphWithClones, either end could point to a wrong position after the move.
71189        Fixed this problem by checking this condition upfront and restoring later.
71190
71191        In doApply, if moveParagraph or moveParagraphWithClones, endOfSelection or startOfLastParagraph
71192        could be null or orphaned, fixed this problem by indexForVisiblePosition.
71193
71194        Test: editing/execCommand/insert-list-orphaned-item-with-nested-lists.html
71195
71196        * editing/InsertListCommand.cpp:
71197        (WebCore::InsertListCommand::doApply):
71198        (WebCore::enclosingListChild):
71199        (WebCore::InsertListCommand::doApplyForSingleParagraph):
71200        (WebCore::adjacentEnclosingList):
71201        (WebCore::InsertListCommand::listifyParagraph):
71202
712032010-08-25  Brent Fulgham  <bfulgham@webkit.org>
71204
71205        Build corrections, no review.
71206
71207        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
71208          Add include for new (missing) "CairoPath.h" class.
71209        * platform/graphics/cairo/PlatformRefPtrCairo.h: Correct
71210          include and compilation guards to match coding conventions.
71211        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
71212          Change implementation to match CG version, using the
71213          FontCustomPlatformData name, rather than the original
71214          FontCustomPlatformDataCairo.
71215        * platform/graphics/win/FontCustomPlatformDataCairo.h:
71216          Same as for the .cpp file.
71217
712182010-08-25  Krzysztof Czech  <k.czech@samsung.com>
71219
71220        Reviewed by Kenneth Rohde Christiansen.
71221
71222        [EFL] Crash while calling PopupMenuEfl destructor
71223        https://bugs.webkit.org/show_bug.cgi?id=44497
71224
71225        Condition checks if m_view is defined
71226        before popup is hide
71227
71228        * platform/efl/PopupMenuEfl.cpp:
71229        (WebCore::PopupMenuEfl::~PopupMenuEfl):
71230
712312010-08-24  Ryosuke Niwa  <rniwa@webkit.org>
71232
71233        Reviewed by Tony Chang.
71234
71235        Creating a link when selecting multiple nodes creates multiple links
71236        https://bugs.webkit.org/show_bug.cgi?id=30836
71237
71238        The bug was caused by applyInlineStyleToRange calling addInlineStyleIfNeeded
71239        on each inline element. Modified applyInlineStyleToRange to call addInlineStyleIfNeeded
71240        once for all inline elements with the same style difference.
71241
71242        Because this implies that anchor element may wrap other inline elements when added,
71243        modified pushDownInlineStyleAroundNode to push down styled elements.
71244
71245        Removed pushPartiallySelectedAnchorElementsDown from CompositeEditCommand since
71246        ApplyStyleCommand now correctly pushes down anchors at the start and the end of the selection.
71247
71248        Test: editing/execCommand/toggle-link.html
71249
71250        * editing/ApplyStyleCommand.cpp:
71251        (WebCore::StyleChange::operator==): Added.
71252        (WebCore::StyleChange::operator!=): Added.
71253        (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Wraps inline elements with
71254        the same style difference by one element instead of wrapping each element separately.
71255        (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Extracts styled element.
71256        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Avoids adding styled element.
71257        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Pushes down styled element.
71258        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): No longer checks inline-ness.
71259        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds style even when m_removeOnly.
71260        Callers should set addStyledElement = DoNotAddStyledElement to avoid adding styled element.
71261        * editing/ApplyStyleCommand.h:
71262        * editing/CompositeEditCommand.cpp: Removed pushPartiallySelectedAnchorElementsDown.
71263        * editing/CompositeEditCommand.h: Removed pushPartiallySelectedAnchorElementsDown.
71264        * editing/CreateLinkCommand.cpp:
71265        (WebCore::CreateLinkCommand::doApply): used to call pushPartiallySelectedAnchorElementsDown.
71266        * editing/UnlinkCommand.cpp:
71267        (WebCore::UnlinkCommand::doApply): Used to call pushPartiallySelectedAnchorElementsDown.
71268
712692010-08-24  Zhenyao Mo  <zmo@google.com>
71270
71271        Reviewed by Kenneth Russell.
71272
71273        Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (skia)
71274        https://bugs.webkit.org/show_bug.cgi?id=38282
71275
71276        Test: fast/canvas/webgl/gl-teximage.html
71277
71278        * platform/graphics/GraphicsContext3D.cpp: Fix a bug where alpha channel is ignored.
71279        * platform/graphics/ImageSource.cpp: Add premultiplyAlpha flag.
71280        (WebCore::ImageSource::ImageSource):
71281        (WebCore::ImageSource::setData):
71282        * platform/graphics/ImageSource.h: Ditto.
71283        * platform/graphics/cg/ImageSourceCG.cpp: Ditto.
71284        (WebCore::ImageSource::ImageSource):
71285        * platform/graphics/qt/ImageDecoderQt.cpp: Ditto.
71286        (WebCore::ImageDecoder::create):
71287        (WebCore::ImageDecoderQt::ImageDecoderQt):
71288        (WebCore::ImageDecoderQt::frameCount):
71289        (WebCore::ImageDecoderQt::forceLoadEverything):
71290        * platform/graphics/qt/ImageDecoderQt.h: Ditto.
71291        * platform/graphics/skia/GraphicsContext3DSkia.cpp: Fix the premultiplyAlpha data loss issue in skia.
71292        (WebCore::GraphicsContext3D::getImageData):
71293        * platform/image-decoders/ImageDecoder.cpp: Add premultiplyAlpha flag.
71294        (WebCore::ImageDecoder::create):
71295        (WebCore::RGBA32Buffer::RGBA32Buffer):
71296        (WebCore::RGBA32Buffer::operator=):
71297        * platform/image-decoders/ImageDecoder.h: Ditto.
71298        (WebCore::RGBA32Buffer::premultiplyAlpha):
71299        (WebCore::RGBA32Buffer::setPremultiplyAlpha):
71300        (WebCore::RGBA32Buffer::setRGBA):
71301        (WebCore::ImageDecoder::ImageDecoder):
71302        * platform/image-decoders/bmp/BMPImageDecoder.cpp: Ditto.
71303        (WebCore::BMPImageDecoder::BMPImageDecoder):
71304        (WebCore::BMPImageDecoder::frameBufferAtIndex):
71305        * platform/image-decoders/bmp/BMPImageDecoder.h: Ditto.
71306        * platform/image-decoders/gif/GIFImageDecoder.cpp: Ditto.
71307        (WebCore::GIFImageDecoder::GIFImageDecoder):
71308        (WebCore::GIFImageDecoder::frameCount):
71309        * platform/image-decoders/gif/GIFImageDecoder.h: Ditto.
71310        * platform/image-decoders/ico/ICOImageDecoder.cpp: Ditto.
71311        (WebCore::ICOImageDecoder::ICOImageDecoder):
71312        (WebCore::ICOImageDecoder::frameCount):
71313        (WebCore::ICOImageDecoder::decodeAtIndex):
71314        * platform/image-decoders/ico/ICOImageDecoder.h: Ditto.
71315        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Ditto.
71316        (WebCore::JPEGImageDecoder::JPEGImageDecoder):
71317        (WebCore::JPEGImageDecoder::frameBufferAtIndex):
71318        * platform/image-decoders/jpeg/JPEGImageDecoder.h: Ditto.
71319        * platform/image-decoders/png/PNGImageDecoder.cpp: Ditto.
71320        (WebCore::PNGImageDecoder::PNGImageDecoder):
71321        (WebCore::PNGImageDecoder::frameBufferAtIndex):
71322        * platform/image-decoders/png/PNGImageDecoder.h: Ditto.
71323        * platform/image-decoders/skia/ImageDecoderSkia.cpp: Ditto.
71324        (WebCore::RGBA32Buffer::RGBA32Buffer):
71325        (WebCore::RGBA32Buffer::operator=):
71326
713272010-08-25  Adam Barth  <abarth@webkit.org>
71328
71329        Reviewed by Eric Seidel.
71330
71331        Remove XBL
71332        https://bugs.webkit.org/show_bug.cgi?id=44621
71333
71334        This patch removes support for XBL.  XBL seems cool, but this code is
71335        old and pretty bitrotten.  If we decide to support XBL in the future,
71336        we can recover this code from this revision.  As it stands, it doesn't
71337        seem worth half-maintaining this code.
71338
71339        * Android.mk:
71340        * CMakeLists.txt:
71341        * GNUmakefile.am:
71342        * WebCore.gypi:
71343        * WebCore.pro:
71344        * WebCore.vcproj/WebCore.vcproj:
71345        * WebCore.xcodeproj/project.pbxproj:
71346        * css/CSSComputedStyleDeclaration.cpp:
71347        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
71348        * css/CSSParser.cpp:
71349        (WebCore::CSSParser::parseValue):
71350        * css/CSSPropertyNames.in:
71351        * css/CSSStyleSelector.cpp:
71352        (WebCore::CSSStyleSelector::applyProperty):
71353        * dom/Document.cpp:
71354        (WebCore::Document::Document):
71355        (WebCore::Document::~Document):
71356        * dom/Document.h:
71357        * loader/Cache.cpp:
71358        (WebCore::createResource):
71359        (WebCore::Cache::getStatistics):
71360        * loader/Cache.h:
71361        * loader/CachedResource.h:
71362        (WebCore::CachedResource::):
71363        * loader/CachedResourceClient.h:
71364        (WebCore::CachedResourceClient::setXSLStyleSheet):
71365        (WebCore::CachedResourceClient::fontLoaded):
71366        * loader/CachedXBLDocument.cpp: Removed.
71367        * loader/CachedXBLDocument.h: Removed.
71368        * loader/DocLoader.cpp:
71369        (WebCore::DocLoader::canRequest):
71370        * loader/DocLoader.h:
71371        * loader/loader.cpp:
71372        (WebCore::cachedResourceTypeToTargetType):
71373        (WebCore::Loader::determinePriority):
71374        * rendering/style/BindingURI.cpp: Removed.
71375        * rendering/style/BindingURI.h: Removed.
71376        * rendering/style/RenderStyle.cpp:
71377        * rendering/style/RenderStyle.h:
71378        * rendering/style/StyleRareNonInheritedData.cpp:
71379        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
71380        (WebCore::StyleRareNonInheritedData::operator==):
71381        * rendering/style/StyleRareNonInheritedData.h:
71382
713832010-08-25  Andreas Kling  <andreas.kling@nokia.com>
71384
71385        Reviewed by Ariya Hidayat.
71386
71387        [Qt] GraphicsContext: Construct with the correct default LineJoin (MiterJoin)
71388
71389        We weren't setting it explicitly which caused us to use Qt::MiterJoin when
71390        we actually want Qt::SvgMiterJoin.
71391
71392        Fixes display glitches on the "Monster" chrome experiment among other things.
71393
71394        * platform/graphics/qt/GraphicsContextQt.cpp:
71395        (WebCore::GraphicsContext::GraphicsContext):
71396
713972010-08-25  Rafael Antognolli  <antognolli@profusion.mobi>
71398
71399        Unreviewed build fix.
71400
71401        [EFL] Build fix for revision 66024
71402        https://bugs.webkit.org/show_bug.cgi?id=44631
71403
71404        No new features added, so no new tests.
71405
71406        * CMakeListsEfl.txt: change GRefPtrCairo.cpp by PlatformRefPtrCairo.cpp.
71407
714082010-08-25  Ryosuke Niwa  <rniwa@webkit.org>
71409
71410        Reviewed by Darin Adler.
71411
71412        Various designmode=&quot;on&quot;/&quot;off&quot; &amp; execCommand(&quot;Undo&quot;) NULL pointer crashes
71413        https://bugs.webkit.org/show_bug.cgi?id=32823
71414
71415        The bug was caused by changeSelectionAfterCommand which updates the selection
71416        without checking the whether new selection is valid or not.
71417
71418        Fixed changeSelectionAfterCommand so that it won't update the selection
71419        when either end of the new selection is orphaned. Also fixed various editing commands
71420        to exit early if either end of the selection is orphaned.
71421
71422        Tests: editing/undo/orphaned-selection-crash-bug32823-1.html
71423               editing/undo/orphaned-selection-crash-bug32823-2.html
71424               editing/undo/orphaned-selection-crash-bug32823-3.html
71425               editing/undo/orphaned-selection-crash-bug32823-4.html
71426
71427        * editing/Editor.cpp:
71428        (WebCore::Editor::changeSelectionAfterCommand): No longer sets orphaned selection.
71429        * editing/VisibleSelection.h:
71430        (WebCore::VisibleSelection::isNonOrphanedRange): Added.
71431        (WebCore::VisibleSelection::isNonOrphanedCaretOrRange): Added.
71432        * editing/DeleteSelectionCommand.cpp:
71433        (WebCore::DeleteSelectionCommand::doApply): Added an early exist. See above.
71434        * editing/FormatBlockCommand.cpp:
71435        (WebCore::FormatBlockCommand::doApply): Ditto.
71436        * editing/IndentOutdentCommand.cpp:
71437        (WebCore::IndentOutdentCommand::doApply): Ditto.
71438        * editing/InsertLineBreakCommand.cpp:
71439        (WebCore::InsertLineBreakCommand::doApply): Ditto.
71440        * editing/InsertListCommand.cpp:
71441        (WebCore::InsertListCommand::doApply): Ditto.
71442        * editing/InsertParagraphSeparatorCommand.cpp:
71443        (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
71444        * editing/InsertTextCommand.cpp:
71445        (WebCore::InsertTextCommand::input): Ditto.
71446        * editing/MoveSelectionCommand.cpp:
71447        (WebCore::MoveSelectionCommand::doApply): Ditto.
71448        * editing/RemoveFormatCommand.cpp:
71449        (WebCore::RemoveFormatCommand::doApply): Ditto.
71450        * editing/ReplaceSelectionCommand.cpp:
71451        (WebCore::ReplaceSelectionCommand::doApply): Ditto.
71452        * editing/TypingCommand.cpp:
71453        (WebCore::TypingCommand::doApply): Ditto.
71454        * editing/UnlinkCommand.cpp:
71455        (WebCore::UnlinkCommand::doApply): Ditto.
71456
714572010-08-25  Simon Fraser  <simon.fraser@apple.com>
71458
71459        Reviewed by Dan Bernstein.
71460
71461        Flash content draws in front of site's drop down menu at http://www.monster.com/
71462        https://bugs.webkit.org/show_bug.cgi?id=41330
71463        
71464        If an iframe with composited content became overlapped, we failed to
71465        consider that iframe for compositing if it had no RenderLayer, so the layering
71466        would be incorrect.
71467        
71468        Overlap is detected at painting time, but it's bad for FrameView::setIsOverlapped()
71469        to call setNeedsStyleRecalc(), because this would cause subsequent calls to
71470        FrameView::paintContents() in the same painting batch to bail with needsLayout().
71471        
71472        Instead, we do the setNeedsStyleRecalc() from RenderLayerCompositor::notifyIFramesOfCompositingChange(),
71473        so that the parent document has a chance to update style, and give the iframe a RenderLayer.
71474        Then setIsOverlapped() simply needs to schedule a layer update, which we do on a timer.
71475        
71476        When dumping layers via Frame::layerTreeAsText(), if a layer update is pending, then
71477        update the layers.
71478        
71479        Test: compositing/iframes/become-overlapped-iframe.html
71480
71481        * page/Frame.cpp:
71482        (WebCore::Frame::layerTreeAsText):
71483        * page/FrameView.cpp:
71484        (WebCore::FrameView::setIsOverlapped):
71485        * rendering/RenderLayerCompositor.cpp:
71486        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
71487        (WebCore::RenderLayerCompositor::scheduleCompositingLayerUpdate):
71488        (WebCore::RenderLayerCompositor::compositingLayerUpdatePending):
71489        (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
71490        (WebCore::RenderLayerCompositor::updateCompositingLayers):
71491        (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
71492        * rendering/RenderLayerCompositor.h:
71493
714942010-08-25  Martin Robinson  <mrobinson@igalia.com>
71495
71496        Reviewed by Gustavo Noronha Silva.
71497
71498        Cairo and EFL port shouldn't depend on glib.
71499        https://bugs.webkit.org/show_bug.cgi?id=44354
71500
71501        No new tests as functionality has not changed.
71502
71503        Replace occurrences of GRefPtr and adoptGRef with PlatformRefPtr and
71504        adoptPlatformRef. Rename GRefPtrCairo to PlatformRefPtrCairo.
71505
71506        * GNUmakefile.am:
71507        * platform/Cursor.h:
71508        * platform/graphics/cairo/GRefPtrCairo.cpp: Removed.
71509        * platform/graphics/cairo/GRefPtrCairo.h: Removed.
71510        * platform/graphics/cairo/ImageCairo.cpp:
71511        (WebCore::Image::drawPattern):
71512        * platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added.
71513        (WTF::refPlatformPtr):
71514        (WTF::derefPlatformPtr):
71515        * platform/graphics/cairo/PlatformRefPtrCairo.h: Added.
71516        * platform/graphics/gtk/ImageBufferGtk.cpp:
71517        (WebCore::ImageBuffer::toDataURL):
71518        * platform/gtk/ClipboardGtk.cpp:
71519        (WebCore::ClipboardGtk::declareAndWriteDragImage):
71520        * platform/gtk/CursorGtk.cpp:
71521        (WebCore::createNamedCursor):
71522        (WebCore::createCustomCursor):
71523        (WebCore::Cursor::ensurePlatformCursor):
71524        * platform/gtk/DataObjectGtk.h:
71525        * platform/gtk/GRefPtrGtk.cpp:
71526        (WTF::refPlatformPtr):
71527        (WTF::derefPlatformPtr):
71528        * platform/gtk/GRefPtrGtk.h:
71529        * platform/gtk/PasteboardGtk.cpp:
71530        (WebCore::Pasteboard::writeImage):
71531        * platform/gtk/PasteboardHelper.cpp:
71532        (WebCore::PasteboardHelper::dropAtomsForContext):
71533        * platform/gtk/PopupMenuGtk.h:
71534        * platform/gtk/RenderThemeGtk.cpp:
71535        (WebCore::RenderThemeGtk::RenderThemeGtk):
71536        (WebCore::paintMozillaGtkWidget):
71537        * platform/gtk/RenderThemeGtk.h:
71538
715392010-08-25  Eric Carlson  <eric.carlson@apple.com>
71540
71541        Reviewed by Alexey Proskuryakov.
71542
71543        HTMLMediaElement.canPlayType must be case insensitive for MIME type.
71544        https://bugs.webkit.org/show_bug.cgi?id=44577
71545
71546        * platform/graphics/MediaPlayer.cpp:
71547        (WebCore::MediaPlayer::load):
71548        (WebCore::MediaPlayer::supportsType):
71549
715502010-08-25  Xan Lopez  <xlopez@igalia.com>
71551
71552        Reviewed by Martin Robinson.
71553
71554        [GTK] CodeGeneratorGObject not picking up FEATURE_DEFINES
71555        https://bugs.webkit.org/show_bug.cgi?id=44608
71556
71557        Move FEATURE_DEFINES declaration to the toplevel GNUmakefile.am,
71558        since it's used there now too.
71559
71560        * GNUmakefile.am:
71561
715622010-08-25  Dawit Alemayehu  <adawit@kde.org>
71563
71564        Reviewed by Ariya Hidayat.
71565
71566        Proper workaround for missing Gtk initialization in Adobe's flash plugins.
71567        https://bugs.webkit.org/show_bug.cgi?id=44405
71568
71569        * plugins/qt/PluginPackageQt.cpp:
71570        (WebCore::initializeGtk):
71571        (WebCore::PluginPackage::load):
71572
715732010-08-25  Ilya Tikhonovsky  <loislo@chromium.org>
71574
71575        Reviewed by Yury Semikhatsky.
71576
71577        WebInspector: InspectorBackendStub.js is not updated when Inspector.idl changes.
71578        https://bugs.webkit.org/show_bug.cgi?id=44604
71579
71580        * WebCore.xcodeproj/project.pbxproj:
71581
715822010-08-25  Pavel Podivilov  <podivilov@chromium.org>
71583
71584        Reviewed by Yury Semikhatsky.
71585
71586        Web Inspector: don't stop on DOM breakpoints when all breakpoints are deactivated
71587        https://bugs.webkit.org/show_bug.cgi?id=44509
71588
71589        * bindings/v8/ScriptDebugServer.cpp:
71590        (WebCore::ScriptDebugServer::ScriptDebugServer):
71591        (WebCore::ScriptDebugServer::setBreakpointsActivated):
71592        (WebCore::ScriptDebugServer::breakProgram):
71593        * bindings/v8/ScriptDebugServer.h:
71594        * inspector/InspectorDebuggerAgent.cpp:
71595        (WebCore::InspectorDebuggerAgent::create):
71596
715972010-08-25  Yury Semikhatsky  <yurys@chromium.org>
71598
71599        Reviewed by Pavel Feldman.
71600
71601        Web Inspector: lazily request frontend settings instead of pushing them on connect
71602        https://bugs.webkit.org/show_bug.cgi?id=44607
71603
71604        * html/HTMLDocument.cpp:
71605        (WebCore::HTMLDocument::createParser):
71606        * inspector/Inspector.idl:
71607        * inspector/InspectorController.cpp:
71608        (WebCore::InspectorController::getSettings):
71609        (WebCore::InspectorController::connectFrontend):
71610        (WebCore::InspectorController::populateScriptObjects): this method is now called explicitely from the frontend,
71611        it should be gone eventually once all panels request initial data lazily.
71612        * inspector/InspectorController.h:
71613        * inspector/front-end/ProfilesPanel.js:
71614        (WebInspector.ProfilesPanel.prototype.show):
71615        (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
71616        (WebInspector.ProfilesPanel.prototype._reset):
71617        * inspector/front-end/Settings.js:
71618        (WebInspector.Settings):
71619        (WebInspector.Settings.initialize.populateApplicationSettings):
71620        (WebInspector.Settings.initialize.populateSessionSettings):
71621        (WebInspector.Settings.initialize):
71622        * inspector/front-end/inspector.js:
71623        (WebInspector.doLoadedDone):
71624
716252010-08-25  Pavel Feldman  <pfeldman@chromium.org>
71626
71627        Reviewed by Yury Semikhatsky.
71628
71629        Web Inspector: support checked and disabled context menu items.
71630        https://bugs.webkit.org/show_bug.cgi?id=44612
71631
71632        * platform/ContextMenu.cpp:
71633        (WebCore::ContextMenu::checkOrEnableIfNeeded):
71634
716352010-08-25  Pavel Feldman  <pfeldman@chromium.org>
71636
71637        Reviewed by Yury Semikhatsky.
71638
71639        Web Inspector: support disabled and checked context menu items.
71640        https://bugs.webkit.org/show_bug.cgi?id=44601
71641
71642        * bindings/js/JSInspectorFrontendHostCustom.cpp:
71643        (WebCore::JSInspectorFrontendHost::showContextMenu):
71644        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
71645        (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
71646        * inspector/front-end/ContextMenu.js:
71647        (WebInspector.ContextMenu.prototype.appendItem):
71648
716492010-08-25  Zaheer Ahmad <zaheer.mot@gmail.com>
71650
71651        Reviewed by Xan Lopez.
71652
71653        [GTK] GTK port doesnt compile with video turned off
71654        https://bugs.webkit.org/show_bug.cgi?id=44236
71655
71656        Generate the audio GObject DOM bindings only if video enabled
71657        * WebCore/GNUMakefile.am
71658        * WebCore/bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
71659        Make the audio code invocation conditional
71660
71661
716622010-08-24  Pavel Podivilov  <podivilov@chromium.org>
71663
71664        Reviewed by Pavel Feldman.
71665
71666        Web Inspector: add "Attribute Modified" and "Node Removed" DOM breakpoints
71667        https://bugs.webkit.org/show_bug.cgi?id=44532
71668
71669        Test: inspector/dom-breakpoint.html
71670
71671        * inspector/InspectorDOMAgent.cpp:
71672        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
71673        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
71674        (WebCore::InspectorDOMAgent::didInsertDOMNode):
71675        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
71676        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
71677        * inspector/front-end/DOMAgent.js:
71678        * inspector/front-end/ElementsTreeOutline.js:
71679        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
71680
716812010-08-25  Satish Sampath  <satish@chromium.org>
71682
71683        Reviewed by Jeremy Orlow.
71684
71685        Pass the element's bounds to embedder during speech recognition.
71686        https://bugs.webkit.org/show_bug.cgi?id=44427
71687
71688        The embedder would typically want to show a native UI with information, settings etc.
71689        By passing the display bounds of the html element, the embedder can position the
71690        native speech recognition UI appropriately.
71691
71692        * page/SpeechInput.cpp:
71693        (WebCore::SpeechInput::startRecognition):
71694        * page/SpeechInput.h:
71695        * page/SpeechInputClient.h:
71696        * platform/mock/SpeechInputClientMock.cpp:
71697        (WebCore::SpeechInputClientMock::startRecognition):
71698        * platform/mock/SpeechInputClientMock.h:
71699        * rendering/TextControlInnerElements.cpp:
71700        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
71701        (WebCore::InputFieldSpeechButtonElement::detach):
71702
717032010-08-25  Yongjun Zhang  <yongjun_zhang@apple.com>
71704
71705        Reviewed by Alexey Proskuryakov.
71706
71707        https://bugs.webkit.org/show_bug.cgi?id=44461
71708        Assertion failure at WebCore/platform/network/CredentialStorage.cpp:85.
71709
71710        Remove the assertion at CredentialStorage.cpp:85 since it is legal to have
71711        multiple forward slashes after the path component.
71712
71713        No test needed.
71714
71715        * platform/network/CredentialStorage.cpp:
71716        (WebCore::protectionSpaceMapKeyFromURL):
71717
717182010-08-25  Pavel Feldman  <pfeldman@chromium.org>
71719
71720        Reviewed by Yury Semikhatsky.
71721
71722        Web Inspector: search in Scripts panel brings ui back to original search view.
71723        https://bugs.webkit.org/show_bug.cgi?id=44516
71724
71725        * inspector/front-end/Panel.js:
71726        (WebInspector.Panel.prototype.searchCanceled):
71727        (WebInspector.Panel.prototype.jumpToNextSearchResult):
71728        (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
71729        * inspector/front-end/ResourcesPanel.js:
71730        * inspector/front-end/ScriptsPanel.js:
71731        (WebInspector.ScriptsPanel):
71732        (WebInspector.ScriptsPanel.prototype.searchCanceled):
71733        (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
71734        (WebInspector.ScriptsPanel.prototype.performSearch):
71735        (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
71736        (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
71737
717382010-08-25  Kent Tamura  <tkent@chromium.org>
71739
71740        Reviewed by Shinichiro Hamaji
71741
71742        <input type=number>: Support auto-repeat by mouse press
71743        https://bugs.webkit.org/show_bug.cgi?id=44476
71744
71745        Like arrow button of scrollbars, spinbuttons of <input
71746        type=number> should continue to increase/decrease their values
71747        while the mouse button is pressed.
71748
71749        No new tests because the new behavior strongly depends on a timer.
71750
71751        * rendering/TextControlInnerElements.cpp:
71752        (WebCore::SpinButtonElement::SpinButtonElement):
71753         Initializes the timer.
71754        (WebCore::SpinButtonElement::defaultEventHandler):
71755         Starts the timer by a mousedown event.
71756        (WebCore::SpinButtonElement::startRepeatingTimer):
71757        (WebCore::SpinButtonElement::stopRepeatingTimer):
71758        (WebCore::SpinButtonElement::repeatingTimerFired):
71759        * rendering/TextControlInnerElements.h:
71760
717612010-08-25  Gabor Loki  <loki@webkit.org>
71762
71763        Reviewed by Gavin Barraclough.
71764
71765        Avoid increasing required alignment of target type warning
71766        https://bugs.webkit.org/show_bug.cgi?id=43963
71767
71768        Fix alignment warnings on Qt.
71769
71770        * bridge/qt/qt_runtime.cpp:
71771        (JSC::Bindings::convertQVariantToValue):
71772        * platform/graphics/qt/ImageBufferQt.cpp:
71773        (WebCore::getImageData):
71774        (WebCore::putImageData):
71775        * platform/image-decoders/ImageDecoder.h:
71776        (WebCore::RGBA32Buffer::getAddr):
71777        * platform/text/qt/TextCodecQt.cpp:
71778        (WebCore::TextCodecQt::decode):
71779
717802010-08-25  Kent Tamura  <tkent@chromium.org>
71781
71782        Reviewed by Shinichiro Hamaji
71783
71784        Fix a bug that a spin-button doesn't release mouse capturing
71785        https://bugs.webkit.org/show_bug.cgi?id=44411
71786
71787        - LeftButton should be checked only for clickEvent.
71788          Note that this change doesn't change the behavior because
71789          button() value is initialized with LeftButton even for
71790          mousemoveEvent.
71791        - Should pass a SpinButtonElement node to setCapturingMouseEventsNode().
71792
71793        Test: fast/forms/input-spinbutton-capturing.html
71794
71795        * rendering/TextControlInnerElements.cpp:
71796        (WebCore::SpinButtonElement::defaultEventHandler):
71797
717982010-08-25  Gabor Loki  <loki@webkit.org>
71799
71800        Reviewed by Gavin Barraclough.
71801
71802        Avoid increasing required alignment of target type warning
71803        https://bugs.webkit.org/show_bug.cgi?id=43963
71804
71805        Fix platform independent alignment warnings.
71806
71807        * loader/CachedMetadata.h:
71808        (WebCore::CachedMetadata::readUnsigned):
71809        * platform/text/TextCodecLatin1.cpp:
71810        (WebCore::TextCodecLatin1::decode):
71811
718122010-08-25  Patrick Gansterer  <paroga@paroga.com>
71813
71814        Reviewed by Adam Roben.
71815
71816        Add missing methods at ResourceHandleWin
71817        https://bugs.webkit.org/show_bug.cgi?id=44453
71818
71819        * platform/network/win/ResourceHandleWin.cpp:
71820        (WebCore::ResourceHandle::willLoadFromCache):
71821        (WebCore::prefetchDNS):
71822        (WebCore::ResourceHandle::bufferedData):
71823        (WebCore::ResourceHandle::supportsBufferedData):
71824        (WebCore::ResourceHandle::loadsBlocked):
71825        (WebCore::ResourceHandle::platformSetDefersLoading):
71826
718272010-08-25  Adam Barth  <abarth@webkit.org>
71828
71829        Second attempt to fix Qt build
71830
71831        * dom/XMLDocumentParserQt.cpp:
71832        (WebCore::XMLDocumentParser::parseDtd):
71833
718342010-08-24  Eric Seidel  <eric@webkit.org>
71835
71836        Reviewed by Adam Barth.
71837
71838        Remove more DTD junk now that the LegacyHTMLDocumentParser is gone
71839        https://bugs.webkit.org/show_bug.cgi?id=44588
71840
71841        Just removing dead code, thus no tests.
71842
71843        * html/HTMLElement.cpp:
71844        (WebCore::HTMLElement::nodeName):
71845        * html/HTMLElement.h:
71846
718472010-08-24  Adam Barth  <abarth@webkit.org>
71848
71849        Qt build fix.
71850
71851        * dom/XMLDocumentParserQt.cpp:
71852        (WebCore::XMLDocumentParser::parseStartElement):
71853        (WebCore::XMLDocumentParser::parseProcessingInstruction):
71854        (WebCore::XMLDocumentParser::parseCdata):
71855        (WebCore::XMLDocumentParser::parseComment):
71856        (WebCore::XMLDocumentParser::parseDtd):
71857
718582010-08-24  Adam Barth  <abarth@webkit.org>
71859
71860        Reviewed by Eric Seidel.
71861
71862        Delete HTMLElement::checkDTD
71863        https://bugs.webkit.org/show_bug.cgi?id=44563
71864
71865        This function existed to service the LegacyHTMLTreeBuilder.  The new
71866        HTMLTreeBuilder has this logic internalized.  Pulling on this thread
71867        caused me to remove a legacyParserAddChild and to discover some code
71868        that shouldn't be calling these parser-specific APIs.
71869
71870        * dom/ContainerNode.cpp:
71871        (WebCore::ContainerNode::parserAddChild):
71872        (WebCore::ContainerNode::deprecatedParserAddChild):
71873        * dom/ContainerNode.h:
71874        * dom/DOMImplementation.cpp:
71875        (WebCore::DOMImplementation::createDocument):
71876        * dom/Node.cpp:
71877        (WebCore::Node::deprecatedParserAddChild):
71878        * dom/Node.h:
71879        * dom/XMLDocumentParser.cpp:
71880        (WebCore::XMLDocumentParser::enterText):
71881        * dom/XMLDocumentParser.h:
71882        * dom/XMLDocumentParserLibxml2.cpp:
71883        (WebCore::XMLDocumentParser::startElementNs):
71884        (WebCore::XMLDocumentParser::characters):
71885        (WebCore::XMLDocumentParser::processingInstruction):
71886        (WebCore::XMLDocumentParser::cdataBlock):
71887        (WebCore::XMLDocumentParser::comment):
71888        (WebCore::XMLDocumentParser::internalSubset):
71889        * dom/XMLDocumentParserQt.cpp:
71890        (WebCore::XMLDocumentParser::parse):
71891        (WebCore::XMLDocumentParser::parseStartElement):
71892        (WebCore::XMLDocumentParser::parseCharacters):
71893        (WebCore::XMLDocumentParser::parseProcessingInstruction):
71894        (WebCore::XMLDocumentParser::parseCdata):
71895        (WebCore::XMLDocumentParser::parseComment):
71896        (WebCore::XMLDocumentParser::parseDtd):
71897        * html/HTMLDataGridElement.cpp:
71898        * html/HTMLDataGridElement.h:
71899        * html/HTMLDataGridRowElement.cpp:
71900        * html/HTMLDataGridRowElement.h:
71901        * html/HTMLDataListElement.cpp:
71902        * html/HTMLDataListElement.h:
71903        * html/HTMLDocument.cpp:
71904        * html/HTMLDocument.h:
71905        * html/HTMLElement.cpp:
71906        * html/HTMLElement.h:
71907        * html/HTMLFieldSetElement.cpp:
71908        * html/HTMLFieldSetElement.h:
71909        * html/HTMLFrameSetElement.cpp:
71910        * html/HTMLFrameSetElement.h:
71911        * html/HTMLHeadElement.cpp:
71912        * html/HTMLHeadElement.h:
71913        * html/HTMLHeadingElement.cpp:
71914        * html/HTMLHeadingElement.h:
71915        * html/HTMLHtmlElement.cpp:
71916        * html/HTMLHtmlElement.h:
71917        * html/HTMLKeygenElement.cpp:
71918        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
71919        * html/HTMLMapElement.cpp:
71920        * html/HTMLMapElement.h:
71921        * html/HTMLMediaElement.cpp:
71922        * html/HTMLMediaElement.h:
71923        * html/HTMLNoScriptElement.cpp:
71924        * html/HTMLNoScriptElement.h:
71925        * html/HTMLOptGroupElement.cpp:
71926        * html/HTMLOptGroupElement.h:
71927        * html/HTMLOptionElement.cpp:
71928        * html/HTMLOptionElement.h:
71929        * html/HTMLParagraphElement.cpp:
71930        * html/HTMLParagraphElement.h:
71931        * html/HTMLPlugInElement.cpp:
71932        * html/HTMLPlugInElement.h:
71933        * html/HTMLScriptElement.h:
71934        * html/HTMLSelectElement.cpp:
71935        * html/HTMLSelectElement.h:
71936        * html/HTMLStyleElement.h:
71937        * html/HTMLTableColElement.cpp:
71938        * html/HTMLTableColElement.h:
71939        * html/HTMLTableElement.cpp:
71940        * html/HTMLTableElement.h:
71941        * html/HTMLTableRowElement.cpp:
71942        * html/HTMLTableRowElement.h:
71943        * html/HTMLTableSectionElement.cpp:
71944        * html/HTMLTableSectionElement.h:
71945        * html/HTMLTextAreaElement.h:
71946        * html/HTMLTitleElement.h:
71947        * rendering/MediaControlElements.cpp:
71948        (WebCore::MediaControlElement::attachToParent):
71949        (WebCore::MediaControlInputElement::attachToParent):
71950        * rendering/TextControlInnerElements.cpp:
71951        (WebCore::TextControlInnerElement::attachInnerElement):
71952
719532010-08-24  Adam Barth  <abarth@webkit.org>
71954
71955        Reviewed by Eric Seidel.
71956
71957        Remove tagPriority
71958        https://bugs.webkit.org/show_bug.cgi?id=44557
71959
71960        This code used to be used by the old parser.  Now it's unused.
71961
71962        * html/HTMLAnchorElement.h:
71963        * html/HTMLAppletElement.h:
71964        * html/HTMLAreaElement.h:
71965        * html/HTMLAudioElement.h:
71966        * html/HTMLBRElement.h:
71967        * html/HTMLBaseElement.h:
71968        * html/HTMLBaseFontElement.h:
71969        * html/HTMLBlockquoteElement.h:
71970        * html/HTMLBodyElement.h:
71971        * html/HTMLCanvasElement.cpp:
71972        * html/HTMLCanvasElement.h:
71973        * html/HTMLDListElement.h:
71974        * html/HTMLDataGridCellElement.h:
71975        * html/HTMLDataGridColElement.h:
71976        * html/HTMLDataGridElement.h:
71977        * html/HTMLDataGridRowElement.h:
71978        * html/HTMLDirectoryElement.h:
71979        * html/HTMLDivElement.h:
71980        * html/HTMLElement.cpp:
71981        * html/HTMLElement.h:
71982        * html/HTMLEmbedElement.h:
71983        * html/HTMLFieldSetElement.h:
71984        * html/HTMLFontElement.h:
71985        * html/HTMLFormControlElement.h:
71986        * html/HTMLFormElement.h:
71987        * html/HTMLFrameElement.h:
71988        * html/HTMLFrameSetElement.h:
71989        * html/HTMLHRElement.h:
71990        * html/HTMLHeadElement.h:
71991        * html/HTMLHeadingElement.h:
71992        * html/HTMLHtmlElement.h:
71993        * html/HTMLIFrameElement.h:
71994        * html/HTMLImageElement.h:
71995        * html/HTMLInputElement.h:
71996        * html/HTMLIsIndexElement.h:
71997        * html/HTMLKeygenElement.h:
71998        * html/HTMLLIElement.h:
71999        * html/HTMLLabelElement.h:
72000        * html/HTMLLinkElement.h:
72001        * html/HTMLMapElement.h:
72002        * html/HTMLMarqueeElement.h:
72003        * html/HTMLMenuElement.h:
72004        * html/HTMLMetaElement.h:
72005        * html/HTMLModElement.h:
72006        * html/HTMLOListElement.h:
72007        * html/HTMLObjectElement.h:
72008        * html/HTMLOptionElement.h:
72009        * html/HTMLParagraphElement.h:
72010        * html/HTMLParamElement.h:
72011        * html/HTMLPreElement.h:
72012        * html/HTMLQuoteElement.h:
72013        * html/HTMLScriptElement.h:
72014        * html/HTMLSelectElement.h:
72015        * html/HTMLSourceElement.h:
72016        * html/HTMLStyleElement.h:
72017        * html/HTMLTableCaptionElement.h:
72018        * html/HTMLTableCellElement.h:
72019        * html/HTMLTableColElement.cpp:
72020        * html/HTMLTableColElement.h:
72021        * html/HTMLTableElement.h:
72022        * html/HTMLTableRowElement.h:
72023        * html/HTMLTableSectionElement.h:
72024        * html/HTMLUListElement.h:
72025        * html/HTMLVideoElement.h:
72026
720272010-08-24  Eric Seidel  <eric@webkit.org>
72028
72029        Reviewed by Adam Barth.
72030
72031        Fix one more html5lib test case for button scoping
72032        https://bugs.webkit.org/show_bug.cgi?id=44583
72033
72034        I <3 test driven development.
72035
72036        * html/HTMLTreeBuilder.cpp:
72037        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
72038
720392010-08-24  Eric Seidel  <eric@webkit.org>
72040
72041        Reviewed by Adam Barth.
72042
72043        Remove HTML5 parser testing infrastructure now that we don't need it
72044        https://bugs.webkit.org/show_bug.cgi?id=44581
72045
72046        Just removing dead code, no tests.
72047
72048        * dom/DocumentFragment.cpp:
72049        * dom/DocumentFragment.h:
72050        * page/Settings.cpp:
72051        (WebCore::Settings::Settings):
72052        * page/Settings.h:
72053
720542010-08-24  Adam Barth  <abarth@webkit.org>
72055
72056        Reviewed by Eric Seidel.
72057
72058        Remove unneeded include in HTMLPreloadScanner
72059        https://bugs.webkit.org/show_bug.cgi?id=44552
72060
72061        Slowly but steadily sweeping up the dust in the HTML parser.
72062
72063        * html/HTMLPreloadScanner.cpp:
72064        * html/HTMLPreloadScanner.h:
72065
720662010-08-24  Kinuko Yasuda  <kinuko@chromium.org>
72067
72068        Reviewed by Dumitru Daniliuc.
72069
72070        Implement virtual path utilities for FileSystem API
72071        https://bugs.webkit.org/show_bug.cgi?id=44132
72072
72073        No new tests; tests will be added later. (Each DOMFilePath's method is briefly tested locally.)
72074
72075        * CMakeLists.txt:
72076        * GNUmakefile.am:
72077        * WebCore.gypi:
72078        * WebCore.pro:
72079        * WebCore.vcproj/WebCore.vcproj:
72080        * WebCore.xcodeproj/project.pbxproj:
72081        * storage/DOMFilePath.cpp: Added.
72082        * storage/DOMFilePath.h: Added.
72083
720842010-08-24  Adam Barth  <abarth@webkit.org>
72085
72086        Reviewed by Eric Seidel.
72087
72088        HTMLParserScheduler::create
72089        https://bugs.webkit.org/show_bug.cgi?id=44551
72090
72091        * html/HTMLDocumentParser.cpp:
72092        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
72093        * html/HTMLParserScheduler.h:
72094        (WebCore::HTMLParserScheduler::create):
72095
720962010-08-24  Daniel Bates  <dbates@rim.com>
72097
72098        Fix code comment as per Darin Adler's suggestion in <https://bugs.webkit.org/show_bug.cgi?id=44486#c2>.
72099        I inadvertently did not update this comment when I landed changeset 65967 <http://trac.webkit.org/changeset/65967>.
72100
72101        * rendering/RenderListMarker.cpp:
72102        (WebCore::listMarkerSuffix):
72103
721042010-08-24  Daniel Bates  <dbates@rim.com>
72105
72106        Reviewed by Darin Adler.
72107
72108        Suffix for CSS alphabetic list style types should fallback to
72109        decimal for ordinals outside of their representable range
72110        https://bugs.webkit.org/show_bug.cgi?id=44486
72111
72112        Test: fast/lists/w3-css3-list-styles-fallback-style.html
72113
72114        Fixes an issue where the decimal suffix is not used for
72115        ordinals that cannot be represented by the alphabetic list
72116        style type.
72117
72118        Currently, for ordinals that cannot be represented in the
72119        alphabetic list style we use the suffix associated with the
72120        list style. Instead, we should use the suffix for the decimal
72121        list style ('.'). For instance, when the list style type is
72122        Afar and the starting ordinal is 0, then we fallback to the
72123        decimal list style suffix '.' because 0 cannot be represented
72124        in Afar.
72125
72126        * rendering/RenderListMarker.cpp:
72127        (WebCore::toRoman): Moved bounds check into WebCore::effectiveListMarkerType().
72128        (WebCore::toAlphabetic): Ditto.
72129        (WebCore::toHebrew): Ditto.
72130        (WebCore::toArmenian): Ditto.
72131        (WebCore::toGeorgian): Ditto.
72132        (WebCore::toCJKIdeographic): Ditto.
72133        (WebCore::effectiveListMarkerType): Added.
72134        (WebCore::listMarkerSuffix): Added value parameter to prototype.
72135        Modified to call WebCore::effectiveListMarkerType.
72136        (WebCore::listMarkerText): Modified to call WebCore::effectiveListMarkerType().
72137        (WebCore::RenderListMarker::paint): Modified to pass list item ordinal (i.e. m_listItem->value()) to WebCore::listMarkerSuffix().
72138        (WebCore::RenderListMarker::calcPrefWidths): Ditto.
72139        (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
72140
721412010-08-24  Gavin Barraclough  <barraclough@apple.com>
72142
72143        Windows build fix.
72144
72145        * ForwardingHeaders/wtf/DecimalNumber.h: Added.
72146
721472010-08-23  Gavin Barraclough  <barraclough@apple.com>
72148
72149        Reviewed by Oliver Hunt.
72150
72151        https://bugs.webkit.org/show_bug.cgi?id=44487
72152
72153        * html/LegacyHTMLTreeBuilder.cpp:
72154        (WebCore::serializeForNumberType):
72155            Update function call to numberToString.
72156
721572010-08-24  Eric Seidel  <eric@webkit.org>
72158
72159        Reviewed by Adam Barth.
72160
72161        XMLDocumentParser needs to implement DocumentParser::detach()
72162        https://bugs.webkit.org/show_bug.cgi?id=44533
72163
72164        Test: fast/frames/set-parent-src-synchronously.xhtml
72165
72166        In the example from the page we were accessing document()
72167        after DocumentParser::detach() was called.  To prevent this
72168        I added an ASSERT(m_document) to document(), causing many
72169        test cases to cover the bug shown in bug 44533.
72170
72171        To fix the bug, I implemented XMLDocumentParser::detach()
72172        and had it call clearCurrentNodeStack(), thus making
72173        it impossible for XMLDocumentParser to still have the Document
72174        on the node stack after detach (which was what was causing this bug).
72175
72176        While fixing this, I noticed that XMLDocumentParser may have the
72177        same trouble crashing that the HTMLDocumentParser did when
72178        synchronously deleted from JS (for example by an iframe navigation).
72179        I added a test case to cover this and protected the parser after
72180        the two places it executes scripts.
72181
72182        * dom/DocumentParser.h:
72183        (WebCore::DocumentParser::document):
72184        (WebCore::DocumentParser::isDetached):
72185        * dom/RawDataDocumentParser.h:
72186        (WebCore::RawDataDocumentParser::finish):
72187        * dom/XMLDocumentParser.cpp:
72188        (WebCore::XMLDocumentParser::append):
72189        (WebCore::XMLDocumentParser::detach):
72190        (WebCore::XMLDocumentParser::notifyFinished):
72191        * dom/XMLDocumentParser.h:
72192        * dom/XMLDocumentParserLibxml2.cpp:
72193        (WebCore::XMLDocumentParser::doWrite):
72194        (WebCore::XMLDocumentParser::endElementNs):
72195        (WebCore::XMLDocumentParser::resumeParsing):
72196        * html/HTMLDocumentParser.cpp:
72197        (WebCore::HTMLDocumentParser::pumpTokenizer):
72198        (WebCore::HTMLDocumentParser::willPumpLexer):
72199        (WebCore::HTMLDocumentParser::didPumpLexer):
72200        (WebCore::HTMLDocumentParser::end):
72201        (WebCore::HTMLDocumentParser::endIfDelayed):
72202        (WebCore::HTMLDocumentParser::script):
72203        * html/HTMLViewSourceParser.cpp:
72204        (WebCore::HTMLViewSourceParser::updateTokenizerState):
72205        * html/HTMLViewSourceParser.h:
72206        (WebCore::HTMLViewSourceParser::document):
72207        * loader/ImageDocument.cpp:
72208        (WebCore::ImageDocumentParser::document):
72209
722102010-08-24  Patrick Gansterer  <paroga@paroga.com>
72211
72212        Reviewed by Adam Roben.
72213
72214        Add SynchronousLoader for ResourceHandleWin
72215        https://bugs.webkit.org/show_bug.cgi?id=44452
72216
72217        * platform/network/win/ResourceHandleWin.cpp:
72218        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
72219        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
72220        (WebCore::WebCoreSynchronousLoader::didReceiveData):
72221        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
72222        (WebCore::WebCoreSynchronousLoader::didFail):
72223        (WebCore::ResourceHandle::loadResourceSynchronously):
72224
722252010-08-24  Ryosuke Niwa  <rniwa@webkit.org>
72226
72227        Unreviewed.
72228
72229        Replaced soft tab indentation by hard tab indentation for LegacyWebArchive.h.
72230
72231        * WebCore.xcodeproj/project.pbxproj:
72232
722332010-08-24  Joseph Pecoraro  <joepeck@webkit.org>
72234
72235        Reviewed by Mark Rowe.
72236
72237        Web Inspector: RemoteInspectorFrontend can be renamed to InspectorFrontend
72238        https://bugs.webkit.org/show_bug.cgi?id=44499
72239
72240        Follow-up. No longer generate the RemoteInspectorFrontend files, just
72241        generate the required InspectorFrontend files.
72242
72243        * DerivedSources.make:
72244
722452010-08-20  Joseph Pecoraro  <joepeck@webkit.org>
72246
72247        Reviewed by Pavel Feldman.
72248
72249        Web Inspector: Backend Should Provide Full Supported CSS Properties List
72250        https://bugs.webkit.org/show_bug.cgi?id=40886
72251
72252        This allows the backend to send the front-end its complete list of
72253        supported CSS Properties. This is used in CSS Autocompletion and
72254        CSS Syntax Highlighting to show which styles are supported.
72255
72256        * css/makeprop.pl: moved CSS properties to the header file.
72257        * inspector/Inspector.idl: expose getSupportedCSSProperties.
72258        * inspector/InspectorDOMAgent.cpp:
72259        (WebCore::InspectorDOMAgent::getSupportedCSSProperties):
72260        * inspector/InspectorDOMAgent.h:
72261        * inspector/front-end/CSSCompletions.js:
72262        (WebInspector.CSSCompletions._firstIndexOfPrefix): handle a possible error case before properties have loaded.
72263        (WebInspector.CSSCompletions._load): fill up the special array with the received properties.
72264        * inspector/front-end/SourceCSSTokenizer.js:
72265        (WebInspector.SourceCSSTokenizer): use the list of support properties from the backend.
72266        * inspector/front-end/SourceCSSTokenizer.re2js:
72267        * inspector/front-end/inspector.js: request the list of supported CSS properties on load.
72268        (WebInspector.doLoadedDone):
72269
722702010-08-24  Adam Barth  <abarth@webkit.org>
72271
72272        Reviewed by Eric Seidel.
72273
72274        Delete LegacyHTMLTreeBuilder
72275        https://bugs.webkit.org/show_bug.cgi?id=44554
72276
72277        There were some free functions in LegacyHTMLTreeBuilder that needed a
72278        new home.  I've put them in HTMLTreeBuilder, but they'll probably need
72279        a better home eventually.
72280
72281        * Android.mk:
72282        * CMakeLists.txt:
72283        * GNUmakefile.am:
72284        * WebCore.gypi:
72285        * WebCore.pro:
72286        * WebCore.vcproj/WebCore.vcproj:
72287        * WebCore.xcodeproj/project.pbxproj:
72288        * dom/Document.cpp:
72289        (WebCore::shouldCreateImplicitHead):
72290        * dom/DocumentParser.h:
72291        * dom/ScriptableDocumentParser.h:
72292        * html/HTMLConstructionSite.cpp:
72293        * html/HTMLFormControlElement.cpp:
72294        (WebCore::HTMLFormControlElement::removedFromTree):
72295        * html/HTMLInputElement.cpp:
72296        * html/HTMLMeterElement.cpp:
72297        * html/HTMLProgressElement.cpp:
72298        * html/HTMLTreeBuilder.cpp:
72299        (WebCore::serializeForNumberType):
72300        (WebCore::parseToDoubleForNumberType):
72301        * html/HTMLTreeBuilder.h:
72302        * html/HTMLViewSourceParser.h:
72303        * html/LegacyHTMLTreeBuilder.cpp: Removed.
72304        * html/LegacyHTMLTreeBuilder.h: Removed.
72305        * html/StepRange.cpp:
72306        * html/ValidityState.cpp:
72307        * rendering/RenderSlider.cpp:
72308
723092010-08-24  Pavel Podivilov  <podivilov@chromium.org>
72310
72311        Reviewed by Yury Semikhatsky.
72312
72313        Web Inspector: show DOM breakpoints in sidebar pane
72314        https://bugs.webkit.org/show_bug.cgi?id=44424
72315
72316        * inspector/front-end/BreakpointManager.js:
72317        (WebInspector.BreakpointManager.prototype._setBreakpoint):
72318        (WebInspector.BreakpointManager.prototype._breakpointRemoved):
72319        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
72320        (WebInspector.Breakpoint.prototype.set enabled):
72321        (WebInspector.Breakpoint.prototype.set condition):
72322        (WebInspector.Breakpoint.prototype.remove):
72323        * inspector/front-end/BreakpointsSidebarPane.js:
72324        (WebInspector.BreakpointsSidebarPane):
72325        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
72326        (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
72327        (WebInspector.BreakpointsSidebarPane.prototype._contextMenuEventFired):
72328        (WebInspector.BreakpointItem):
72329        (WebInspector.BreakpointItem.prototype.element):
72330        (WebInspector.BreakpointItem.prototype.remove):
72331        (WebInspector.BreakpointItem.prototype._checkboxClicked):
72332        (WebInspector.BreakpointItem.prototype._enableChanged):
72333        (WebInspector.BreakpointItem.prototype._removed):
72334        (WebInspector.JSBreakpointItem):
72335        (WebInspector.JSBreakpointItem.prototype._textChanged):
72336        (WebInspector.DOMBreakpointItem):
72337        (WebInspector.DOMBreakpointItem.prototype.compareTo):
72338        * inspector/front-end/DOMAgent.js:
72339        (WebInspector.DOMBreakpointManager):
72340        (WebInspector.DOMBreakpointManager.prototype.setBreakpoint):
72341        (WebInspector.DOMBreakpointManager.prototype.removeBreakpointsForNode):
72342        (WebInspector.DOMBreakpointManager.prototype._breakpointRemoved):
72343        (WebInspector.DOMBreakpoint):
72344        (WebInspector.DOMBreakpoint.prototype.get enabled):
72345        (WebInspector.DOMBreakpoint.prototype.set enabled):
72346        (WebInspector.DOMBreakpoint.prototype.remove):
72347        * inspector/front-end/ElementsPanel.js:
72348        (WebInspector.ElementsPanel):
72349        (WebInspector.ElementsPanel.prototype.reset):
72350        * inspector/front-end/ElementsTreeOutline.js:
72351        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
72352        * inspector/front-end/ScriptView.js:
72353        (WebInspector.ScriptView):
72354        * inspector/front-end/ScriptsPanel.js:
72355        (WebInspector.ScriptsPanel):
72356        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
72357        (WebInspector.ScriptsPanel.prototype.reset):
72358        * inspector/front-end/SourceFrame.js:
72359        (WebInspector.SourceFrame):
72360        (WebInspector.SourceFrame.prototype.set visible):
72361        (WebInspector.SourceFrame.prototype.addBreakpoint):
72362        (WebInspector.SourceFrame.prototype._breakpointRemoved):
72363        (WebInspector.SourceFrame.prototype._addBreakpointToSource):
72364        (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
72365        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
72366        (WebInspector.SourceFrame.prototype._contextMenu):
72367        (WebInspector.SourceFrame.prototype._mouseDown):
72368        * inspector/front-end/SourceView.js:
72369        (WebInspector.SourceView):
72370        (WebInspector.SourceView.prototype.updateLocalContent):
72371        * inspector/front-end/inspector.js:
72372        (WebInspector.createJSBreakpointsSidebarPane.breakpointAdded):
72373        (WebInspector.createJSBreakpointsSidebarPane):
72374        (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
72375        (WebInspector.createDOMBreakpointsSidebarPane):
72376        (WebInspector.doLoadedDone):
72377
723782010-08-24  Stephen White  <senorblanco@chromium.org>
72379
72380        Reviewed by Dumitru Daniliuc.
72381
72382        Speculative fix for layout test failures on Chrome/Linux.
72383        https://bugs.webkit.org/show_bug.cgi?id=44550
72384
72385        Tests fast/canvas/arc-crash.html, fast/canvas/canvas-state-intact-after-putImageData.html, and fast/canvas/toDataURL-supportedTypes.html are failing on Chrome/Linux.  Can't repro the failure locally, but this fix can't hurt.
72386
72387        * html/canvas/CanvasRenderingContext2D.cpp:
72388        (WebCore::CanvasRenderingContext2D::paintRenderingResultsToCanvas):
72389
723902010-08-24  Dumitru Daniliuc  <dumi@chromium.org>
72391
72392        Reviewed by Dimitri Glazkov.
72393
72394        Fix the NodeFilter wrapper and the binding for acceptNode.
72395        https://bugs.webkit.org/show_bug.cgi?id=44542
72396
72397        * bindings/v8/V8DOMWrapper.cpp:
72398        (WebCore::V8DOMWrapper::wrapNativeNodeFilter): This function
72399        should always create a filter. V8NodeFilterCondition::acceptNode()
72400        will check if the given object can be used as a filter, and throw
72401        an exception if it can't.
72402        * bindings/v8/V8NodeFilterCondition.cpp:
72403        (WebCore::V8NodeFilterCondition::acceptNode): Update this binding
72404        to do the same thing that the JS binding does.
72405
724062010-08-24  Simon Fraser  <simon.fraser@apple.com>
72407
72408        Reviewed by Tony Chang.
72409
72410        After r65681, caret no longer displays promptly while editing form fields
72411        https://bugs.webkit.org/show_bug.cgi?id=44294
72412        
72413        The caret no longer eagerly updates its rect on every paint, so we have
72414        to manually update it after scrolling the selection into view when
72415        the selection changes.
72416        
72417        Tested by the pixel results of fast/forms/input-text-scroll-left-on-blur.html
72418
72419        * page/Frame.cpp:
72420        (WebCore::Frame::revealSelection):
72421
724222010-08-24  Adam Barth  <abarth@webkit.org>
72423
72424        Reviewed by Darin Adler.
72425
72426        Remove redundant call to OwnPtr::clear
72427        https://bugs.webkit.org/show_bug.cgi?id=44548
72428
72429        As pointed out by Darin, this call to clear is not needed.
72430
72431        * editing/TextIterator.cpp:
72432        (WebCore::plainTextToMallocAllocatedBuffer):
72433
724342010-08-24  Adam Barth  <abarth@webkit.org>
72435
72436        Reviewed by Eric Seidel.
72437
72438        HTMLTokenizer::create
72439        https://bugs.webkit.org/show_bug.cgi?id=44477
72440
72441        * html/HTMLDocumentParser.cpp:
72442        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
72443        * html/HTMLPreloadScanner.cpp:
72444        (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
72445        (WebCore::HTMLPreloadScanner::scan):
72446        (WebCore::HTMLPreloadScanner::processToken):
72447        * html/HTMLPreloadScanner.h:
72448        * html/HTMLTokenizer.h:
72449        (WebCore::HTMLTokenizer::create):
72450        * html/HTMLViewSourceParser.cpp:
72451        (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
72452        (WebCore::HTMLViewSourceParser::pumpTokenizer):
72453        (WebCore::HTMLViewSourceParser::updateTokenizerState):
72454        * html/HTMLViewSourceParser.h:
72455
724562010-08-24  Adam Barth  <abarth@webkit.org>
72457
72458        Reviewed by Darin Adler.
72459
72460        Remove references to LegacyHTMLTreebuilder from HTMLTreeBuilder
72461        https://bugs.webkit.org/show_bug.cgi?id=44544
72462
72463        * html/HTMLDocumentParser.cpp:
72464        * html/HTMLDocumentParser.h:
72465        * html/HTMLTreeBuilder.cpp:
72466        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
72467        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
72468        (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
72469        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
72470        (WebCore::HTMLTreeBuilder::finished):
72471        * html/HTMLTreeBuilder.h:
72472        (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
72473
724742010-08-24  Xan Lopez  <xlopez@igalia.com>
72475
72476        Try to fix GTK+ build.
72477
72478        Move GTK_API_VERSION_2 define out.
72479
72480        * GNUmakefile.am:
72481
724822010-08-24  Simon Fraser  <simon.fraser@apple.com>
72483
72484        Reviewed by Sam Weinig.
72485
72486        TreeWalker traversal order is wrong when skipping and rejecting
72487        https://bugs.webkit.org/show_bug.cgi?id=44377
72488        
72489        TreeWalker's nextSibling() and previousSibling() behaved incorrectly
72490        when traversing down a subtree where all nodes are skipped; it backed all
72491        the way up to the root of the subtree, then jump to the subtree's parentNode.
72492        This would skip later siblings.
72493        
72494        Fix by resetting 'node' when traversing to children so that node = node->parentNode()
72495        gets the correct node later.
72496
72497        Test: fast/dom/TreeWalker/traversal-skip-most.html
72498
72499        * dom/TreeWalker.cpp:
72500        (WebCore::TreeWalker::previousSibling):
72501        (WebCore::TreeWalker::nextSibling):
72502
725032010-08-24  Hans Wennborg  <hans@chromium.org>
72504
72505        Reviewed by Steve Block.
72506
72507        Remove null-checks from DeviceOrientationController
72508        https://bugs.webkit.org/show_bug.cgi?id=44504
72509
72510        Remove checks for m_client being NULL from DeviceOrientationController.
72511        It will never be NULL, and this is checked by an ASSERT on construction.
72512
72513        Will be covered by layout tests for device orientation.
72514
72515        * dom/DeviceOrientationController.cpp:
72516        (WebCore::DeviceOrientationController::timerFired):
72517        (WebCore::DeviceOrientationController::addListener):
72518        (WebCore::DeviceOrientationController::removeListener):
72519        (WebCore::DeviceOrientationController::removeAllListeners):
72520
725212010-08-24  Stephen White  <senorblanco@chromium.org>
72522
72523        Reviewed by Kenneth Russell.
72524
72525        Fix accelerated 2d canvas with accelerated compositing off.
72526        https://bugs.webkit.org/show_bug.cgi?id=44525
72527
72528        Tested by running with --enable-accelerated-2d-canvas with
72529        --enable-accelerated-compositing off.
72530        ImageBuffer::copyImage changes covered by
72531        LayoutTests/fast/canvas/canvas-pattern-*.html.
72532
72533        * html/HTMLCanvasElement.cpp:
72534        (WebCore::HTMLCanvasElement::paint):
72535        Extend the accelerated compositing check and the readback for
72536        non-accelerated compositing to accelerated 2D canvas also.
72537        * html/canvas/CanvasRenderingContext.cpp:
72538        * html/canvas/CanvasRenderingContext.h:
72539        (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
72540        Move this logic from WebGL to common canvas context code.
72541        * html/canvas/WebGLRenderingContext.h:
72542        Remove implementation of paintsIntoCanvasBuffer.
72543        * platform/graphics/skia/ImageBufferSkia.cpp:
72544        (WebCore::ImageBuffer::copyImage):
72545        When copying the image for patterns, sync the software canvas.
72546        * platform/graphics/skia/PlatformContextSkia.cpp:
72547        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
72548        Use SkDevice::eraseColor() to clear the canvas for mixed mode rendering.
72549
725502010-08-24  Adam Barth  <abarth@webkit.org>
72551
72552        Reviewed by Eric Seidel.
72553
72554        Deploy adoptPtr in WebCore/editing
72555        https://bugs.webkit.org/show_bug.cgi?id=44501
72556
72557        * editing/Editor.cpp:
72558        (WebCore::Editor::Editor):
72559        * editing/TextIterator.cpp:
72560        (WebCore::plainTextToMallocAllocatedBuffer):
72561
725622010-08-24  Adam Barth  <abarth@webkit.org>
72563
72564        Reviewed by Eric Seidel.
72565
72566        Deploy adoptPtr in WebCore/history
72567        https://bugs.webkit.org/show_bug.cgi?id=44502
72568
72569        * history/HistoryItem.cpp:
72570        (WebCore::HistoryItem::HistoryItem):
72571        (WebCore::HistoryItem::addRedirectURL):
72572
725732010-08-24  Adam Barth  <abarth@webkit.org>
72574
72575        Reviewed by Eric Seidel.
72576
72577        Partial deployment of adoptPtr to WebCore/html
72578        https://bugs.webkit.org/show_bug.cgi?id=44507
72579
72580        Deploy adoptPtr to some more places in WebCore/html.  The big chunk
72581        that I haven't done yet is createRenderer, but that's going to be a big
72582        patch unto itself.
72583
72584        * html/HTMLFormCollection.cpp:
72585        (WebCore::HTMLFormCollection::formCollectionInfo):
72586        * html/HTMLFormElement.cpp:
72587        (WebCore::HTMLFormElement::addElementAlias):
72588        * html/HTMLInputElement.cpp:
72589        (WebCore::createTypeMap):
72590        (WebCore::HTMLInputElement::setInputType):
72591        (WebCore::HTMLInputElement::parseMappedAttribute):
72592        (WebCore::HTMLInputElement::attach):
72593        (WebCore::HTMLInputElement::preDispatchEventHandler):
72594        * html/HTMLObjectElement.cpp:
72595        (WebCore::HTMLObjectElement::parseMappedAttribute):
72596        (WebCore::HTMLObjectElement::attach):
72597        * html/HTMLToken.h:
72598        (WebCore::HTMLToken::beginDOCTYPE):
72599        * html/HTMLVideoElement.cpp:
72600        (WebCore::HTMLVideoElement::attach):
72601        (WebCore::HTMLVideoElement::parseMappedAttribute):
72602        * html/ValidityState.h:
72603        (WebCore::ValidityState::create):
72604
726052010-08-24  Adam Barth  <abarth@webkit.org>
72606
72607        Reviewed by Eric Seidel.
72608
72609        Partial deployment of adoptPtr to WebCore/html
72610        https://bugs.webkit.org/show_bug.cgi?id=44507
72611
72612        There's a lot of places that need adoptPtr in WebCore/html.  This patch
72613        does some of them.  More will follow.
72614
72615        * html/FileThreadTask.h:
72616        (WebCore::FileThreadTask0::create):
72617        (WebCore::FileThreadTask1::create):
72618        (WebCore::FileThreadTask2::create):
72619        (WebCore::FileThreadTask3::create):
72620        * html/HTMLAreaElement.cpp:
72621        (WebCore::HTMLAreaElement::mapMouseEvent):
72622        * html/HTMLCanvasElement.cpp:
72623        (WebCore::HTMLCanvasElement::getContext):
72624        * html/HTMLElementStack.cpp:
72625        (WebCore::HTMLElementStack::insertAbove):
72626        (WebCore::HTMLElementStack::pushCommon):
72627        * html/HTMLEmbedElement.cpp:
72628        (WebCore::HTMLEmbedElement::parseMappedAttribute):
72629        (WebCore::HTMLEmbedElement::attach):
72630
726312010-08-24  Sam Weinig  <sam@webkit.org>
72632
72633        Reviewed by Simon Fraser.
72634
72635        Improve comment for Simon.
72636
72637        * editing/Editor.h:
72638
726392010-08-24  Sam Weinig  <sam@webkit.org>
72640
72641        Reviewed by Oliver Hunt.
72642
72643        Paste event fires twice for mac WebKit
72644        <rdar://problem/8094611>
72645        https://bugs.webkit.org/show_bug.cgi?id=44535
72646
72647        The mac implementation of paste in WebKit was accidentally calling 
72648        Editor::tryDHTMLPaste twice, once in -[WebHTMLView paste:] and once
72649        in Editor::pasteAsPlainText (which is called by -[WebHTMLView paste:]).
72650        Use the new pasteAsPlainTextBypassingDHTML function to bypass the
72651        second call.
72652
72653        Test: editing/pasteboard/paste-event-only-once.html
72654
72655        * WebCore.exp.in:
72656        * editing/Editor.cpp:
72657        (WebCore::Editor::pasteAsPlainTextBypassingDHTML): 
72658        * editing/Editor.h:
72659        Expose a function which just pastes using from the general pasteboard,
72660        bypassing all the checking and DHTML pasting.
72661
726622010-08-24  Nate Chapin  <japhet@chromium.org>
72663
72664        Unreviewed.
72665
72666        Chromium build fix (add a #include missing in PingLoader.cpp)
72667
72668        * loader/PingLoader.cpp:
72669
726702010-08-24  Nate Chapin  <japhet@chromium.org>
72671
72672        Reviewed by David Levin.
72673
72674        Allow image loads triggered from unload handlers to run entirely
72675        independently of any other loads or navigations.
72676
72677        https://bugs.webkit.org/show_bug.cgi?id=30457
72678
72679        Test: http/tests/navigation/image-load-in-unload-handler.html
72680
72681        * Android.mk:
72682        * CMakeLists.txt:
72683        * GNUmakefile.am:
72684        * WebCore.gypi:
72685        * WebCore.pro:
72686        * WebCore.vcproj/WebCore.vcproj:
72687        * WebCore.xcodeproj/project.pbxproj:
72688        * loader/DocLoader.cpp:
72689        (WebCore::DocLoader::requestImage): Use PingLoader for image
72690            loads in unload handlers.
72691        * loader/FrameLoader.h:
72692        (WebCore::FrameLoader::pageDismissalEventBeingDispatched):
72693        * loader/PingLoader.cpp: Added.
72694        (WebCore::PingLoader::loadImage): Set the appropriate
72695            headers for an image load in unload handler (since we're
72696            not using SubresourceLoader, we need to do this manually here).
72697        (WebCore::PingLoader::PingLoader):
72698        * loader/PingLoader.h: Added.
72699        (WebCore::PingLoader::~PingLoader):
72700        (WebCore::PingLoader::didReceiveResponse):
72701        (WebCore::PingLoader::didReceiveData):
72702        (WebCore::PingLoader::didFinishLoading):
72703        (WebCore::PingLoader::didFail):
72704
727052010-08-24  Pavel Feldman  <pfeldman@chromium.org>
72706
72707        Reviewed by Yury Semikhatsky.
72708
72709        Web Inspector: Trace to the style that contributes to
72710        the computed styles panel.
72711        https://bugs.webkit.org/show_bug.cgi?id=44448
72712
72713        Test: inspector/styles-computed-trace.html
72714
72715        * English.lproj/localizedStrings.js:
72716        * inspector/front-end/Section.js:
72717        (WebInspector.Section.prototype.set subtitle):
72718        (WebInspector.Section.prototype.get subtitleAsTextForTest):
72719        * inspector/front-end/StylesSidebarPane.js:
72720        (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
72721        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
72722        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
72723        (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
72724        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
72725        (WebInspector.StylePropertiesSection.linkifyUncopyable):
72726        (WebInspector.StylePropertiesSection):
72727        (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
72728        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
72729        (WebInspector.StylePropertiesSection.prototype.isPropertyDisabled):
72730        (WebInspector.StylePropertiesSection.prototype.update):
72731        (WebInspector.StylePropertiesSection.prototype.onpopulate):
72732        (WebInspector.ComputedStylePropertiesSection):
72733        (WebInspector.ComputedStylePropertiesSection.prototype.collapse):
72734        (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
72735        (WebInspector.ComputedStylePropertiesSection.prototype.update):
72736        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
72737        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
72738        (WebInspector.BlankStylePropertiesSection):
72739        * inspector/front-end/inspector.css:
72740        (.styles-section a::before):
72741        * inspector/front-end/inspector.js:
72742        (WebInspector.documentClick.followLink):
72743        (WebInspector.documentClick):
72744        (WebInspector.linkifyResourceAsNode):
72745
727462010-08-24  Daniel Cheng  <dcheng@chromium.org>
72747
72748        Reviewed by Eric Seidel.
72749
72750        [chromium] Generate drag images for HTML elements and selections.
72751        https://bugs.webkit.org/show_bug.cgi?id=43449
72752
72753        We weren't properly generating drag images if an HTML element was set
72754        as the drag feedback image. I also implemented dragImageForSelection
72755        while I was working on this part of the code.
72756
72757        No new tests.
72758
72759        * WebCore.exp.in:
72760        * bindings/objc/DOM.mm:
72761        (-[DOMNode renderedImage]):
72762        * page/Frame.h:
72763        * page/brew/FrameBrew.cpp:
72764        (WebCore::Frame::nodeImage):
72765        * page/chromium/FrameChromium.cpp:
72766        (WebCore::):
72767        (WebCore::Frame::nodeImage):
72768        (WebCore::Frame::dragImageForSelection):
72769        * page/efl/FrameEfl.cpp:
72770        (WebCore::Frame::nodeImage):
72771        * page/gtk/FrameGtk.cpp:
72772        (WebCore::Frame::nodeImage):
72773        * page/haiku/FrameHaiku.cpp:
72774        (WebCore::Frame::nodeImage):
72775        * page/mac/FrameMac.mm:
72776        (WebCore::Frame::nodeImage):
72777        (WebCore::Frame::dragImageForSelection):
72778        * page/qt/FrameQt.cpp:
72779        (WebCore::Frame::nodeImage):
72780        (WebCore::Frame::dragImageForSelection):
72781        * page/win/FrameCGWin.cpp:
72782        (WebCore::Frame::nodeImage):
72783        * page/win/FrameCairoWin.cpp:
72784        (WebCore::Frame::nodeImage):
72785        * page/wince/FrameWince.cpp:
72786        (WebCore::Frame::nodeImage):
72787        * page/wx/FrameWx.cpp:
72788        (WebCore::Frame::nodeImage):
72789        * platform/chromium/ClipboardChromium.cpp:
72790        (WebCore::ClipboardChromium::createDragImage):
72791        * rendering/RenderObject.cpp:
72792        (WebCore::RenderObject::selectionForegroundColor):
72793
727942010-08-24  Jeremy Orlow  <jorlow@chromium.org>
72795
72796        Reviewed by Steve Block.
72797
72798        IndexedDB needs to manually delete all objectStore data and indexes
72799        https://bugs.webkit.org/show_bug.cgi?id=44522
72800
72801        Apparently it's only newer versions of SQLite that handle cascade
72802        delete.  The rest silently fail.  So do it manually.
72803
72804        Test: storage/indexeddb/objectstore-removeobjectstore.html
72805
72806        * storage/IDBDatabaseBackendImpl.cpp:
72807        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
72808        (WebCore::doDelete):
72809        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
72810        * storage/IDBDatabaseBackendImpl.h:
72811        * storage/IDBFactoryBackendImpl.cpp:
72812        (WebCore::createTables):
72813        * storage/IDBObjectStoreBackendImpl.cpp:
72814        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
72815        * storage/IDBObjectStoreBackendImpl.h:
72816        (WebCore::IDBObjectStoreBackendImpl::create):
72817        (WebCore::IDBObjectStoreBackendImpl::id):
72818
728192010-08-23  Sam Weinig  <sam@webkit.org>
72820
72821        Reviewed by Adam Barth.
72822
72823        Fix for <rdar://problem/8153271> and <rdar://problem/8153288> 
72824        Change behavior of javascript: urls in <embed> and <object> back to 
72825        how they behaved before r50698.
72826
72827        Tests: fast/loader/javascript-url-in-embed.html
72828               fast/loader/javascript-url-in-object.html
72829
72830        * loader/SubframeLoader.cpp:
72831        (WebCore::SubframeLoader::requestFrame):
72832        (WebCore::SubframeLoader::requestObject):
72833        (WebCore::SubframeLoader::loadOrRedirectSubframe):
72834        * loader/SubframeLoader.h:
72835
728362010-08-24  Xan Lopez  <xlopez@igalia.com>
72837
72838        Reviewed by Gustavo Noronha.
72839
72840        Update code to compile with latest GTK+ 3.x.
72841
72842        * platform/gtk/gtk2drawing.c:
72843        (TSOffsetStyleGCs):
72844        (moz_gtk_entry_paint):
72845        * plugins/gtk/gtk2xtbin.c:
72846        (gtk_xtbin_new):
72847
728482010-08-24  Nikolas Zimmermann  <nzimmermann@rim.com>
72849
72850        Reviewed by Dirk Schulze.
72851
72852        -webkit-svg-shadow doesn't repaint on changes
72853        https://bugs.webkit.org/show_bug.cgi?id=44521
72854
72855        Trivial fix, to make -webkit-svg-shadow react on changes.
72856
72857        Test: svg/css/shadow-changes.svg
72858
72859        * rendering/style/SVGRenderStyle.cpp:
72860        (WebCore::SVGRenderStyle::diff): If 'svgShadow' is not equal, cause a repaint.
72861
728622010-08-24  Dirk Schulze  <krit@webkit.org>
72863
72864        Reviewed by Nikolas Zimmermann.
72865
72866        Cg logs "<Error>: CGPathCloseSubpath: no current point. " in lots of tests
72867        https://bugs.webkit.org/show_bug.cgi?id=43026
72868
72869        Check if the path is empty before closing it.
72870
72871        * svg/SVGPathBuilder.cpp:
72872        (WebCore::SVGPathBuilder::moveTo):
72873
728742010-08-24  Marcus Bulach  <bulach@chromium.org>
72875
72876        Reviewed by Jeremy Orlow.
72877
72878        Hooks IDBKeyPath with IDBObjectStorage::put.
72879        https://bugs.webkit.org/show_bug.cgi?id=44275
72880
72881        Adds a mechanism to extract an IDBKey from SerializedScriptValue using IDBKeyPath
72882        during IDBObjectStorage::put.
72883
72884        * WebCore.gyp/WebCore.gyp:
72885        * WebCore.gypi:
72886        * platform/chromium/ChromiumBridge.h:
72887        * storage/IDBKeyPathBackendImpl.cpp: Added.
72888        (IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
72889        * storage/IDBKeyPathBackendImpl.h: Added.
72890        * storage/IDBObjectStoreBackendImpl.cpp:
72891        (WebCore::IDBObjectStoreBackendImpl::put):
72892        * storage/chromium/IDBKeyPathBackendImpl.cpp: Added.
72893        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
72894
728952010-08-24  Ilya Tikhonovsky  <loislo@chromium.org>
72896
72897        Reviewed by Pavel Feldman.
72898
72899        WebInspector: RemoteInspectorFrontend can be renamed to InspectorFrontend.
72900        The old version of InspectorFrontend was removed some time ago and now
72901        it is possible to rename the new version of inspector frontend class to its
72902        original name.
72903        https://bugs.webkit.org/show_bug.cgi?id=44499
72904
72905        * GNUmakefile.am:
72906        * WebCore.gyp/WebCore.gyp:
72907        * WebCore.pri:
72908        * WebCore.vcproj/WebCore.vcproj:
72909        * WebCore.xcodeproj/project.pbxproj:
72910        * inspector/CodeGeneratorInspector.pm:
72911        * inspector/ConsoleMessage.cpp:
72912        (WebCore::ConsoleMessage::addToFrontend):
72913        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
72914        * inspector/ConsoleMessage.h:
72915        * inspector/InjectedScriptHost.cpp:
72916        (WebCore::InjectedScriptHost::pushNodePathToFrontend):
72917        (WebCore::InjectedScriptHost::frontend):
72918        * inspector/InjectedScriptHost.h:
72919        * inspector/InspectorApplicationCacheAgent.cpp:
72920        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
72921        * inspector/InspectorApplicationCacheAgent.h:
72922        * inspector/InspectorBackend.cpp:
72923        (WebCore::InspectorBackend::dispatchOnInjectedScript):
72924        (WebCore::InspectorBackend::frontend):
72925        * inspector/InspectorBackend.h:
72926        * inspector/InspectorCSSStore.cpp:
72927        * inspector/InspectorCSSStore.h:
72928        * inspector/InspectorController.cpp:
72929        (WebCore::InspectorController::inspectedPageDestroyed):
72930        (WebCore::InspectorController::inspect):
72931        (WebCore::InspectorController::focusNode):
72932        (WebCore::InspectorController::windowVisible):
72933        (WebCore::InspectorController::addConsoleMessage):
72934        (WebCore::InspectorController::clearConsoleMessages):
72935        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
72936        (WebCore::InspectorController::setSearchingForNode):
72937        (WebCore::InspectorController::setMonitoringXHR):
72938        (WebCore::InspectorController::connectFrontend):
72939        (WebCore::InspectorController::show):
72940        (WebCore::InspectorController::showPanel):
72941        (WebCore::InspectorController::close):
72942        (WebCore::InspectorController::disconnectFrontend):
72943        (WebCore::InspectorController::populateScriptObjects):
72944        (WebCore::InspectorController::pruneResources):
72945        (WebCore::InspectorController::didCommitLoad):
72946        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
72947        (WebCore::InspectorController::identifierForInitialRequest):
72948        (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
72949        (WebCore::InspectorController::mainResourceFiredLoadEvent):
72950        (WebCore::InspectorController::willSendRequest):
72951        (WebCore::InspectorController::didReceiveResponse):
72952        (WebCore::InspectorController::didReceiveContentLength):
72953        (WebCore::InspectorController::didFinishLoading):
72954        (WebCore::InspectorController::didFailLoading):
72955        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
72956        (WebCore::InspectorController::scriptImported):
72957        (WebCore::InspectorController::enableResourceTracking):
72958        (WebCore::InspectorController::disableResourceTracking):
72959        (WebCore::InspectorController::startTimelineProfiler):
72960        (WebCore::InspectorController::stopTimelineProfiler):
72961        (WebCore::InspectorController::postWorkerNotificationToFrontend):
72962        (WebCore::InspectorController::didCreateWorker):
72963        (WebCore::InspectorController::didDestroyWorker):
72964        (WebCore::InspectorController::selectDatabase):
72965        (WebCore::InspectorController::didOpenDatabase):
72966        (WebCore::InspectorController::didUseDOMStorage):
72967        (WebCore::InspectorController::selectDOMStorage):
72968        (WebCore::InspectorController::enableDebuggerFromFrontend):
72969        (WebCore::InspectorController::enableDebugger):
72970        (WebCore::InspectorController::disableDebugger):
72971        (WebCore::InspectorController::evaluateForTestInFrontend):
72972        * inspector/InspectorController.h:
72973        (WebCore::InspectorController::hasFrontend):
72974        * inspector/InspectorDOMAgent.cpp:
72975        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
72976        * inspector/InspectorDOMAgent.h:
72977        (WebCore::InspectorDOMAgent::create):
72978        * inspector/InspectorDOMStorageResource.cpp:
72979        (WebCore::InspectorDOMStorageResource::bind):
72980        * inspector/InspectorDOMStorageResource.h:
72981        * inspector/InspectorDatabaseResource.cpp:
72982        (WebCore::InspectorDatabaseResource::bind):
72983        * inspector/InspectorDatabaseResource.h:
72984        * inspector/InspectorDebuggerAgent.cpp:
72985        (WebCore::InspectorDebuggerAgent::create):
72986        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
72987        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
72988        (WebCore::InspectorDebuggerAgent::didParseSource):
72989        (WebCore::InspectorDebuggerAgent::failedToParseSource):
72990        (WebCore::InspectorDebuggerAgent::didPause):
72991        (WebCore::InspectorDebuggerAgent::didContinue):
72992        * inspector/InspectorDebuggerAgent.h:
72993        * inspector/InspectorProfilerAgent.cpp:
72994        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
72995        (WebCore::InspectorProfilerAgent::addProfile):
72996        (WebCore::InspectorProfilerAgent::disable):
72997        (WebCore::InspectorProfilerAgent::enable):
72998        (WebCore::InspectorProfilerAgent::resetState):
72999        (WebCore::InspectorProfilerAgent::toggleRecordButton):
73000        * inspector/InspectorProfilerAgent.h:
73001        (WebCore::InspectorProfilerAgent::setFrontend):
73002        * inspector/InspectorResource.cpp:
73003        (WebCore::InspectorResource::updateScriptObject):
73004        (WebCore::InspectorResource::releaseScriptObject):
73005        * inspector/InspectorResource.h:
73006        * inspector/InspectorStorageAgent.cpp:
73007        (WebCore::InspectorStorageAgent::InspectorStorageAgent):
73008        * inspector/InspectorStorageAgent.h:
73009        (WebCore::InspectorStorageAgent::create):
73010        (WebCore::InspectorStorageAgent::frontend):
73011        * inspector/InspectorTimelineAgent.cpp:
73012        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
73013        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
73014        * inspector/InspectorTimelineAgent.h:
73015
730162010-08-24  Nikolas Zimmermann  <nzimmermann@rim.com>
73017
73018        Reviewed by Dirk Schulze.
73019
73020        Markers don't render, when applied to a target using vector-effect="non-scaling-stroke"
73021        https://bugs.webkit.org/show_bug.cgi?id=44511
73022
73023        Make fillAndStrokePath a member function of RenderPath, to avoid having to pass the const Path& and this paramters.
73024        Don't leave the GraphicsContext mutated after applying non-scaling-stroke transformation, otherwhise markers will be renderer
73025        in the wrong coordinate space, and thus don't show up anymore.
73026
73027        Test: svg/custom/non-scaling-stroke-markers.svg
73028
73029        * rendering/RenderPath.cpp:
73030        (WebCore::RenderPath::fillAndStrokePath):
73031        (WebCore::RenderPath::paint):
73032        * rendering/RenderPath.h:
73033
730342010-08-24  Adam Barth  <abarth@webkit.org>
73035
73036        Reviewed by Kenneth Rohde Christiansen.
73037
73038        Remove wrong code from Qt that's dumping extra markup into the clipboard
73039        https://bugs.webkit.org/show_bug.cgi?id=44506
73040
73041        I have no way of testing this patch, but hopefully it should fix a
73042        bunch of newly failing tests.  This code seems very confused.
73043
73044        * platform/qt/PasteboardQt.cpp:
73045        (WebCore::Pasteboard::writeSelection):
73046
730472010-08-24  Pavel Podivilov  <podivilov@chromium.org>
73048
73049        Reviewed by Yury Semikhatsky.
73050
73051        Web Inspector: fix gcc warnings introduced in 65731
73052        https://bugs.webkit.org/show_bug.cgi?id=44468
73053
73054        * inspector/InspectorDOMAgent.cpp:
73055        (WebCore::InspectorDOMAgent::didInsertDOMNode):
73056        (WebCore::InspectorDOMAgent::pauseOnBreakpoint):
73057
730582010-08-24  Ariya Hidayat  <ariya@sencha.com>
73059
73060        Reviewed by Simon Hausmann.
73061
73062        [Qt] Blur shadow for rectangle fill
73063        https://bugs.webkit.org/show_bug.cgi?id=44488
73064
73065        Refactor fillRect() function to support blur radius in the shadow.
73066
73067        * platform/graphics/qt/GraphicsContextQt.cpp:
73068        (WebCore::GraphicsContext::fillRect):
73069
730702010-08-24  Nikolas Zimmermann  <nzimmermann@rim.com>
73071
73072        Reviewed by Dirk Schulze
73073
73074        clip-path does not work inside mask element
73075        https://bugs.webkit.org/show_bug.cgi?id=41428
73076
73077        Add new tests covering nesting of clippers and maskers, with different unitTypes for the content coordinate system.
73078        Scale all ImageBuffer content to take into account that ImageBuffers use integer based sizes, where the content
73079        is floating-point sized. This compensates rounded errors, when scaling the document.
73080
73081        Tests: svg/clip-path/clip-in-mask-objectBoundingBox.svg
73082               svg/clip-path/clip-in-mask-userSpaceOnUse.svg
73083               svg/clip-path/clip-in-mask.svg
73084               svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg
73085               svg/clip-path/deep-nested-clip-in-mask-panning.svg
73086               svg/clip-path/deep-nested-clip-in-mask.svg
73087               svg/clip-path/nested-clip-in-mask-image-based-clipping.svg
73088               svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg
73089               svg/clip-path/nested-clip-in-mask-path-based-clipping.svg
73090
73091        * rendering/RenderSVGResourceClipper.cpp:
73092        (WebCore::RenderSVGResourceClipper::applyResource): Return the value of applyClippingToContext, instead of always true.
73093        (WebCore::RenderSVGResourceClipper::applyClippingToContext): Moved some code from createClipData, to avoid having to pass 5 arguments to createClipData.
73094        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Renamed from createClipData.
73095        * rendering/RenderSVGResourceClipper.h:
73096        * rendering/RenderSVGResourceGradient.cpp:
73097        (WebCore::createMaskAndSwapContextForTextGradient): Pass absoluteTargetRect to createImageBuffer.
73098        (WebCore::clipToTextMask): Ditto.
73099        * rendering/RenderSVGResourceMasker.cpp:
73100        (WebCore::RenderSVGResourceMasker::applyResource): Ditto.
73101        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): Pass content transformation to renderSubtreeToImageBuffer, to support nesting objectBoundingBox resources.
73102        * rendering/RenderSVGResourcePattern.cpp:
73103        (WebCore::RenderSVGResourcePattern::applyResource): Adapt to calculateTransformationToOutermostSVGCoordinateSystem changes. AffineTransform is now passed as reference.
73104        (WebCore::RenderSVGResourcePattern::createTileImage): ImageBuffer content scaling is now handled by createImageBuffer.
73105        * rendering/SVGImageBufferTools.cpp:
73106        (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem): Renamed. Don't return an AffineTransform copy, but instead pass it as reference.
73107        (WebCore::SVGImageBufferTools::createImageBuffer): Always scale the ImageBuffer content, to compensate rounding effects (code was only present in patterns so far).
73108                                                           Now also needs the 'absoluteTargetRect' parameter, not only 'clampedAbsoluteTargetRect'.
73109        (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer): Moved from SVGRenderSupport.
73110        (WebCore::SVGImageBufferTools::clipToImageBuffer): Pass ImageBuffer as OwnPtr reference, to allow to clear it under certain circumstances (see comment).
73111        (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer): Remove AffineTransform parameter, absoluteTargetRect is calculated before passing into this function.
73112        * rendering/SVGImageBufferTools.h:
73113        * rendering/SVGRenderSupport.cpp:
73114        (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Important change, respect the RenderSVGResourceClipper::applyResource() return value!
73115        * rendering/SVGRenderSupport.h:
73116        * svg/SVGFEImageElement.cpp:
73117        (WebCore::SVGFEImageElement::build): renderSubtreeToImage now lives in SVGImageBufferTools, adapt code.
73118
731192010-08-24  Andrei Popescu  <andreip@dhcp-172-16-14-12.lon.corp.google.com>
73120
73121        Reviewed by Jeremy Orlow.
73122
73123        [IndexedDB] IDBTransaction is missing the implementation for objectStore method
73124        https://bugs.webkit.org/show_bug.cgi?id=44446
73125
73126        * storage/IDBDatabaseBackendImpl.cpp:
73127        (WebCore::IDBDatabaseBackendImpl::transaction):
73128        * storage/IDBTransactionBackendImpl.cpp:
73129        (WebCore::IDBTransactionBackendImpl::create):
73130        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
73131        (WebCore::IDBTransactionBackendImpl::objectStore):
73132        * storage/IDBTransactionBackendImpl.h:
73133        * storage/IDBTransactionCoordinator.cpp:
73134        (WebCore::IDBTransactionCoordinator::createTransaction):
73135        * storage/IDBTransactionCoordinator.h:
73136
731372010-08-24  Andreas Kling  <andreas.kling@nokia.com>
73138
73139        Reviewed by Tor Arne Vestbø.
73140
73141        Disallow setting Document.xmlVersion to unsupported versions
73142        https://bugs.webkit.org/show_bug.cgi?id=44494
73143
73144        Added XMLDocumentParser::supportsXMLVersion() - only returns true for "1.0"
73145        in both implementations.
73146
73147        * dom/Document.cpp:
73148        (WebCore::Document::setXMLVersion): Throw NOT_SUPPORTED_ERR
73149        if XMLDocumentParser::supportsXMLVersion() returns false for the version.
73150        * dom/XMLDocumentParser.h:
73151        * dom/XMLDocumentParserLibxml2.cpp:
73152        (WebCore::XMLDocumentParser::supportsXMLVersion):
73153        * dom/XMLDocumentParserQt.cpp:
73154        (WebCore::XMLDocumentParser::supportsXMLVersion):
73155
731562010-08-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
73157
73158        Reviewed by Simon Hausmann.
73159
73160        [Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian
73161        https://bugs.webkit.org/show_bug.cgi?id=31273
73162
73163        On Symbian PREPEND_INCLUDEPATH is the best way to make sure that
73164        WebKit headers are included before platform headers. On all other
73165        platforms continue to use INCLUDEPATH (as before).
73166
73167        This patch also removed the workarounds that are put in place 
73168        now that we have a better solution.
73169
73170        No new tests as there is no new functionality.
73171
73172        * WebCore.pro:
73173
731742010-08-24  Ariya Hidayat  <ariya@sencha.com>
73175
73176        Reviewed by Kenneth Rohde Christiansen.
73177
73178        [Qt] Support text-shadow blur
73179        https://bugs.webkit.org/show_bug.cgi?id=19728
73180
73181        Implement blur for text shadow using the shadow layer in r65782.
73182
73183        * platform/graphics/qt/ContextShadow.cpp:
73184        (WebCore::ContextShadow::beginShadowLayer):
73185        * platform/graphics/qt/FontQt.cpp:
73186        (WebCore::drawTextCommon):
73187
731882010-08-23  Andreas Kling  <andreas.kling@nokia.com>
73189
73190        Reviewed by Tor Arne Vestbø.
73191
73192        setAttributeNS() should throw NAMESPACE_ERR for prefixed qualifiedName with null namespace
73193        https://bugs.webkit.org/show_bug.cgi?id=44432
73194
73195        Test: fast/dom/setAttributeNS-prefix-and-null-namespace.html
73196
73197        * dom/Element.cpp:
73198        (WebCore::Element::setAttributeNS): Throw NAMESPACE_ERR if namespace is null
73199        and the qualifiedName has a prefix.
73200
732012010-08-24  Adam Barth  <abarth@webkit.org>
73202
73203        Build fix.  leakPtr doesn't exist, contrary to my dreams.
73204
73205        * storage/IDBKeyTree.h:
73206        (WebCore::::put):
73207        * storage/IDBPendingTransactionMonitor.cpp:
73208        (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
73209
732102010-08-24  Adam Barth  <abarth@webkit.org>
73211
73212        Reviewed by Eric Seidel.
73213
73214        Deploy adoptPtr in WebCore/storage
73215        https://bugs.webkit.org/show_bug.cgi?id=44491
73216
73217        There are still some naked news for a future patch.  The next step is
73218        to make create methods.
73219
73220        * storage/Database.cpp:
73221        (WebCore::DatabaseCreationCallbackTask::create):
73222        (WebCore::DerefContextTask::create):
73223        (WebCore::DeliverPendingCallbackTask::create):
73224        * storage/DatabaseSync.cpp:
73225        (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
73226        * storage/DatabaseTask.h:
73227        (WebCore::Database::DatabaseOpenTask::create):
73228        (WebCore::Database::DatabaseCloseTask::create):
73229        (WebCore::Database::DatabaseTransactionTask::create):
73230        (WebCore::Database::DatabaseTableNamesTask::create):
73231        * storage/DatabaseThread.cpp:
73232        (WebCore::DatabaseThread::DatabaseThread):
73233        * storage/DatabaseTracker.cpp:
73234        (WebCore::DatabaseTracker::populateOrigins):
73235        (WebCore::DatabaseTracker::addOpenDatabase):
73236        * storage/IDBKeyTree.h:
73237        (WebCore::::put):
73238        * storage/IDBPendingTransactionMonitor.cpp:
73239        (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
73240        * storage/LocalStorageTask.h:
73241        (WebCore::LocalStorageTask::createImport):
73242        (WebCore::LocalStorageTask::createSync):
73243        (WebCore::LocalStorageTask::createDeleteEmptyDatabase):
73244        (WebCore::LocalStorageTask::createTerminate):
73245        * storage/LocalStorageThread.cpp:
73246        (WebCore::LocalStorageThread::create):
73247        * storage/SQLTransaction.cpp:
73248        (WebCore::SQLTransaction::openTransactionAndPreflight):
73249        * storage/SQLTransactionSync.cpp:
73250        (WebCore::SQLTransactionSync::SQLTransactionSync):
73251        (WebCore::SQLTransactionSync::begin):
73252        * storage/StorageNamespaceImpl.cpp:
73253        (WebCore::StorageNamespaceImpl::copy):
73254
732552010-08-24  Ilya Tikhonovsky  <loislo@chromium.org>
73256
73257        Reviewed by Yury Semikhatsky.
73258
73259        WebInspector: setAttachedWindow was modified at r65809 but it should be implemented another way.
73260        https://bugs.webkit.org/show_bug.cgi?id=44493
73261
73262        * inspector/Inspector.idl:
73263        * inspector/InspectorController.cpp:
73264        * inspector/InspectorController.h:
73265        * inspector/InspectorFrontendClientLocal.cpp:
73266        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
73267
732682010-08-23  Eric Seidel  <eric@webkit.org>
73269
73270        Reviewed by Adam Barth.
73271
73272        Use new HTML5 TreeBuilder for fragment parsing
73273        https://bugs.webkit.org/show_bug.cgi?id=44475
73274
73275        The HTML5 TreeBuilder is ready to be used for all parsing
73276        including fragments!  This is the last change to move trunk
73277        off of the LegacyHTMLTreeBuilder.  We'll go through and
73278        delete the thousands of lines of code supporting the old
73279        parser in a separate patch.
73280
73281        This is covered by many layout tests.
73282
73283        * html/HTMLTreeBuilder.cpp:
73284
732852010-08-23  Adam Barth  <abarth@webkit.org>
73286
73287        Reviewed by Eric Seidel.
73288
73289        HTMLScriptRunner::create
73290        https://bugs.webkit.org/show_bug.cgi?id=44474
73291
73292        * html/HTMLDocumentParser.cpp:
73293        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
73294        * html/HTMLScriptRunner.h:
73295        (WebCore::HTMLScriptRunner::create):
73296
732972010-08-23  Adam Barth  <abarth@webkit.org>
73298
73299        Reviewed by Eric Seidel.
73300
73301        HTMLTreeBuilder should use adoptPtr
73302        https://bugs.webkit.org/show_bug.cgi?id=44473
73303
73304        We should really use this pattern everywhere.
73305
73306        * html/HTMLDocumentParser.cpp:
73307        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
73308        * html/HTMLTreeBuilder.h:
73309        (WebCore::HTMLTreeBuilder::create):
73310
733112010-08-23  Patrick Gansterer  <paroga@paroga.com>
73312
73313        Reviewed by Adam Roben.
73314
73315        Set the ResourceResponse HTTP headers in RessourceHandleWin
73316        https://bugs.webkit.org/show_bug.cgi?id=44444
73317
73318        * platform/network/win/ResourceHandleWin.cpp:
73319        (WebCore::queryHTTPHeader):
73320        (WebCore::ResourceHandle::onRequestComplete):
73321
733222010-08-23  Patrick Gansterer  <paroga@paroga.com>
73323
73324        Reviewed by Adam Roben.
73325
73326        Support all available biBitCount values in BitmapInfo
73327        https://bugs.webkit.org/show_bug.cgi?id=43724
73328
73329        Add an enum with all possible values for biBitCount.
73330        Also remove explicit initialization of bmiHeader members,
73331        because that is already done in the constructor.
73332
73333        * platform/win/BitmapInfo.cpp: Added property svn:eol-style.
73334        (WebCore::bitmapInfoForSize):
73335        (WebCore::BitmapInfo::create):
73336        (WebCore::BitmapInfo::createBottomUp):
73337        * platform/win/BitmapInfo.h: Added property svn:eol-style.
73338        (WebCore::BitmapInfo::):
73339        (WebCore::BitmapInfo::bytesPerLine):
73340        (WebCore::BitmapInfo::paddedBytesPerLine):
73341        (WebCore::BitmapInfo::paddedWidth):
73342        * platform/win/PopupMenuWin.cpp:
73343        (WebCore::PopupMenuWin::paint):
73344
733452010-08-23  Kent Tamura  <tkent@chromium.org>
73346
73347        Unreviewed, build fix for r65852.
73348
73349        * rendering/RenderTextControlSingleLine.cpp:
73350        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
73351        * rendering/TextControlInnerElements.cpp:
73352        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
73353        (WebCore::InputFieldSpeechButtonElement::create):
73354        * rendering/TextControlInnerElements.h:
73355
733562010-08-23  Ryosuke Niwa  <rniwa@webkit.org>
73357
73358        Reviewed by Eric Seidel.
73359
73360        MarkupAccumulator::appendStartMarkup should be broken down into pieces
73361        https://bugs.webkit.org/show_bug.cgi?id=44288
73362
73363        Extracted appendText, appendComment, appendProcessingInstruction, appendElement and appendCDATASection.
73364        Also simplified the conditionals in appendText.
73365
73366        No new tests are added since this is a cleanup.
73367
73368        * editing/markup.cpp:
73369        (WebCore::MarkupAccumulator::appendText):
73370        (WebCore::MarkupAccumulator::appendComment):
73371        (WebCore::MarkupAccumulator::appendProcessingInstruction):
73372        (WebCore::MarkupAccumulator::appendElement):
73373        (WebCore::MarkupAccumulator::appendCDATASection):
73374        (WebCore::MarkupAccumulator::appendStartMarkup):
73375
733762010-08-23  Simon Fraser  <simon.fraser@apple.com>
73377
73378        Reviewed by Alexey Proskuryakov.
73379
73380        TreeWalker is not calling acceptNode function in filter object
73381        https://bugs.webkit.org/show_bug.cgi?id=35296
73382        
73383        Fix incorrect shadowing of the 'function' variable, which could result
73384        in badness when asking for arguments.callee.
73385
73386        * bindings/js/JSNodeFilterCondition.cpp:
73387        (WebCore::JSNodeFilterCondition::acceptNode):
73388
733892010-08-23  Darin Adler  <darin@apple.com>
73390
73391        Reviewed by Geoff Garen.
73392
73393        Changed type of Node::parentNode to ContainerNode so we don't have to cast,
73394        since parent are all containers.
73395
73396        * css/CSSStyleSelector.h: Changed m_parentNode to ContainerNode*.
73397
73398        * dom/Document.h: Fixed the type of TreeShared in the Node constructor.
73399        Yes, it's here.
73400
73401        * dom/Node.cpp:
73402        (WebCore::Node::eventParentNode): Removed now-unneeded typecast dance.
73403        (WebCore::eventTargetAsSVGElementInstance):Changed type to ContainerNode*.
73404
73405        * dom/Node.h: Made Node inherit from TreeShared<ContainerNode> instead of
73406        from TreeShared<Node>. Removed bogus comment. Changed return type of parentNode
73407        and shadowParentNode functions to ContainerNode*. Fixed using to use
73408        TreeShared<ContainerNode>.
73409
73410        * dom/Position.h: Include ContainerNode.h instead of Node.h.
73411
73412        * html/HTMLConstructionSite.cpp:
73413        (WebCore::HTMLConstructionSite::findFosterSite): Removed now-unneeded typecast.
73414
73415        * rendering/MediaControlElements.h:
73416        * rendering/SVGShadowTreeElements.h:
73417        * rendering/TextControlInnerElements.h:
73418        Changed return type of shadowParentNode functions to ContainerNode.
73419
73420        * rendering/RenderMeter.cpp:
73421        (WebCore::RenderMeter::updatePartsState): Cast the node to HTMLElement* before
73422        passing it to the function that creates the shadow element. We know the node is
73423        a HTMLMeterElement, but the node function doesn't know that.
73424        * rendering/RenderProgress.cpp:
73425        (WebCore::RenderProgress::updatePartsState): Ditto.
73426        * rendering/RenderSlider.cpp:
73427        (WebCore::SliderThumbElement::SliderThumbElement): More of the same.
73428        (WebCore::SliderThumbElement::create): Ditto.
73429        (WebCore::RenderSlider::updateFromElement): Ditto.
73430        * rendering/RenderTextControl.cpp:
73431        (WebCore::RenderTextControl::createSubtreeIfNeeded): Ditto.
73432        * rendering/RenderTextControlSingleLine.cpp:
73433        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Ditto.
73434        * rendering/SVGShadowTreeElements.cpp:
73435        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Ditto.
73436        (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto.
73437        * rendering/ShadowElement.cpp:
73438        (WebCore::ShadowBlockElement::create): Ditto.
73439        (WebCore::ShadowBlockElement::ShadowBlockElement): Ditto.
73440        (WebCore::ShadowBlockElement::createForPart): Ditto.
73441        (WebCore::ShadowInputElement::create): Ditto.
73442        (WebCore::ShadowInputElement::ShadowInputElement): Ditto.
73443        * rendering/ShadowElement.h:
73444        (WebCore::ShadowElement::ShadowElement): Ditto.
73445        (WebCore::ShadowElement::shadowParent): Ditto.
73446        (WebCore::ShadowElement::shadowParentNode): Ditto.
73447        * rendering/TextControlInnerElements.cpp:
73448        (WebCore::TextControlInnerElement::TextControlInnerElement): Ditto.
73449        (WebCore::TextControlInnerElement::create): Ditto.
73450        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement): Ditto.
73451        (WebCore::TextControlInnerTextElement::create): Ditto.
73452        (WebCore::SpinButtonElement::SpinButtonElement): Ditto.
73453        (WebCore::SpinButtonElement::create): Ditto.
73454
73455        * svg/SVGElement.cpp:
73456        (WebCore::SVGElement::eventParentNode): Removed now-unneeded typecast.
73457
73458        * svg/SVGStyledElement.cpp:
73459        (WebCore::SVGStyledElement::title): Changed type to ContainerNode*.
73460
734612010-08-23  Martin Robinson  <mrobinson@igalia.com>
73462
73463        Reviewed by Gustavo Noronha Silva.
73464
73465        [GTK] The Mozilla theme drawing code incorrectly renders scrollbar backgrounds
73466        https://bugs.webkit.org/show_bug.cgi?id=44388
73467
73468        No new tests as this functionality is currently unused. When the
73469        the new scrollbar theme code lands for GTK+, this will be tested
73470        by scrollbar pixel tests.
73471
73472        * platform/gtk/gtk2drawing.c: Expose a method to paint scrolled window
73473        backgrounds and disable incorrect rendering of scrollbar trough backgrounds.
73474        (moz_gtk_scrolled_window_paint): Added.
73475        (moz_gtk_scrollbar_trough_paint): Disable incorrect background render.
73476        * platform/gtk/gtkdrawing.h: Add scrolled window widget type in the enum.
73477
734782010-08-23  Martin Robinson  <mrobinson@igalia.com>
73479
73480        Reviewed by Gustavo Noronha Silva.
73481
73482        [GTK] The Mozilla theme drawing API should expose extra information about scrollbar geometry
73483        https://bugs.webkit.org/show_bug.cgi?id=44385
73484
73485        Expose the trough_under_steppers property in MozGtkScrollbarMetrics.
73486
73487        No new tests as this does not change functionality.
73488
73489        * platform/gtk/gtk2drawing.c: Set the trough_under_steppers member when accessing theme data.
73490        * platform/gtk/gtkdrawing.h: Add the trough_under_steppers member.
73491
734922010-08-23  Darin Adler  <darin@apple.com>
73493
73494        Reviewed by Geoff Garen.
73495
73496        Parser DOM tree manipulation functions do not need to be virtual.
73497
73498        * dom/ContainerNode.h: Made parserAddChild, parserRemoveChild, and
73499        parserInsertBefore non-virtual.
73500
73501        * dom/Node.cpp: Removed the parserAddChild, parserRemoveChild, and
73502        parserInsertBefore functions, which should never have been in the Node class.
73503        * dom/Node.h: Ditto.
73504
73505        * html/HTMLConstructionSite.cpp:
73506        (WebCore::HTMLConstructionSite::attach): Changed argument type to ContainerNode*
73507        because we never need to attach a child to a non-container node.
73508        (WebCore::HTMLConstructionSite::findFosterSite): Cast the result of the parent
73509        function to ContainerNode*. A parent is always guaranteed to be a container, but
73510        the parent function returns a Node* so that callers can use it without including
73511        ContainerNode's header. That seems like something we can easily fix later.
73512
73513        * html/HTMLConstructionSite.h: Changed AttachmentSite::parent and the
73514        attach function to ContainerNode* instead of Node*.
73515
735162010-08-23  Adam Barth  <abarth@webkit.org>
73517
73518        Reviewed by Eric Seidel.
73519
73520        editing/pasteboard/bad-placeholder.html fails with --html5-treebuilder
73521        https://bugs.webkit.org/show_bug.cgi?id=44463
73522
73523        The problem here is that using the documentElement as the context puts
73524        the tree builder into the BeforeHead insertion mode, which strips
73525        leading spaces.  This code is confused about what it wants, but it
73526        certainly doesn't want to be in that insertion mode.  Looking through
73527        the callers, they'd much rather be in the InBody insertion mode.  We
73528        can get them there by creating a fake body element as the context
73529        element.
73530
73531        In the long term, all this code needs to be changed to move away from
73532        deprecatedCreateContextualFragment, which does a bunch of nasty stuff
73533        like removing certain kinds of elements.  However, that's a battle for
73534        another day.
73535
73536        * editing/markup.cpp:
73537        (WebCore::createFragmentFromMarkup):
73538
735392010-08-23  Adam Barth  <abarth@webkit.org>
73540
73541        Reviewed by Eric Seidel.
73542
73543        fast/xsl/default-html.html fails with HTML5 fragment parsing
73544        https://bugs.webkit.org/show_bug.cgi?id=44450
73545
73546        This patch is a step down a trail of tears.  As far as I can tell,
73547        there's no spec for XSLTProcessor.transformToFragment.  This patch
73548        attempts to infer the proper behavior from test cases and the Mozilla
73549        wiki.
73550
73551        * xml/XSLTProcessor.cpp:
73552        (WebCore::createFragmentFromSource):
73553
735542010-08-23  Adam Barth  <abarth@webkit.org>
73555
73556        Reviewed by Eric Seidel.
73557
73558        editing/pasteboard/paste-visible-script.html is broken with --html5-treebuilder
73559        https://bugs.webkit.org/show_bug.cgi?id=44457
73560
73561        Turns out there are two more checks we need for fragment scripting
73562        permission.  Not the most beautiful design, but it seems work.
73563
73564        * html/HTMLConstructionSite.cpp:
73565        (WebCore::HTMLConstructionSite::insertScriptElement):
73566        * html/HTMLTreeBuilder.cpp:
73567        (WebCore::HTMLTreeBuilder::processEndTag):
73568
735692010-08-23  Eric Seidel  <eric@webkit.org>
73570
73571        Reviewed by Adam Barth.
73572
73573        fast/dom/script-innerHTML-x.xhtml fails when run with the HTML5 TreeBuilder in fragment mode
73574        https://bugs.webkit.org/show_bug.cgi?id=44447
73575
73576        This special handling for script/style used to exist in
73577        setInnerHTML.  HTML5 moves this logic into the HTML and XML
73578        parsers instead of in setInnerHTML.
73579
73580        In order to share this logic between WebKit's two XML parsers
73581        I had to clean up a bit of the libxml2 parser and add a
73582        new appendFragmentSource method.
73583
73584        Covered by fast/dom/script-innerHTML-x.xhtml.
73585
73586        * dom/XMLDocumentParser.cpp:
73587        (WebCore::XMLDocumentParser::end):
73588         - Now that libxml2 is calling finish() for fragments (Qt already was)
73589           I went through and removed this unneeded style update after fragment parsing.
73590        (WebCore::XMLDocumentParser::parseDocumentFragment):
73591         - Yay for shared code!
73592         - This is where I added the style/script hack moved from setInnerHTML.
73593        * dom/XMLDocumentParser.h:
73594         - Fix indent.
73595        * dom/XMLDocumentParserLibxml2.cpp:
73596         - Removed parseDocumentFragment and moved necessary libxml-specific
73597           logic into appendFragmentSource.
73598        (WebCore::XMLDocumentParser::appendFragmentSource):
73599        * dom/XMLDocumentParserQt.cpp:
73600        (WebCore::XMLDocumentParser::appendFragmentSource):
73601
736022010-08-23  Kenneth Russell  <kbr@google.com>
73603
73604        Reviewed by Dimitri Glazkov.
73605
73606        Remove references to ArrayBuffer and ArrayBufferView from GraphicsContext3D
73607        https://bugs.webkit.org/show_bug.cgi?id=44455
73608
73609        Updated Safari, Qt and Chromium WebGL ports to avoid referencing
73610        ArrayBuffer and ArrayBufferView types from GraphicsContext3D.
73611
73612        Ran all WebGL layout tests; no new regressions. Built and tested
73613        WebKit on Mac OS X; built Chromium on Mac OS X and Linux.
73614
73615        * html/canvas/WebGLBuffer.cpp:
73616        * html/canvas/WebGLBuffer.h:
73617        * html/canvas/WebGLRenderingContext.cpp:
73618        (WebCore::WebGLRenderingContext::bufferData):
73619        (WebCore::WebGLRenderingContext::bufferSubData):
73620        (WebCore::WebGLRenderingContext::texImage2D):
73621        (WebCore::WebGLRenderingContext::texSubImage2D):
73622        (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
73623        * platform/graphics/GraphicsContext3D.cpp:
73624        (WebCore::GraphicsContext3D::extractTextureData):
73625        * platform/graphics/GraphicsContext3D.h:
73626        * platform/graphics/chromium/GLES2Canvas.cpp:
73627        (WebCore::GLES2Canvas::getQuadVertices):
73628        * platform/graphics/mac/GraphicsContext3DMac.mm:
73629        (WebCore::GraphicsContext3D::bufferData):
73630        (WebCore::GraphicsContext3D::bufferSubData):
73631        * platform/graphics/qt/GraphicsContext3DQt.cpp:
73632        (WebCore::GraphicsContext3D::bufferData):
73633        (WebCore::GraphicsContext3D::bufferSubData):
73634
736352010-08-20  Stephen White  <senorblanco@chromium.org>
73636
73637        Reviewed by Kenneth Russell.
73638
73639        [CHROMIUM] Fix some failing layout tests w/ACCELERATED_2D_CANVAS
73640        https://bugs.webkit.org/show_bug.cgi?id=44346
73641
73642        LayoutTests/fast/canvas/canvas-incremental-repaint.html (top middle
73643        pane).
73644        Failing because we were not applying the CTM in clearRect().  Now using
73645        the fast path when the CTM is identity, and a fillRect() for the rest.
73646        LayoutTests/fast/canvas/canvas-strokeRect.html
73647        LayoutTests/fast/canvas/shadow-offset-[1-7].html
73648        Failing because we weren't switching to the software path when a 
73649        shadow is present.
73650        Also refactor the two versions of fillRect(), and use TRIANGLE_STRIP
73651        strip instead of TRIANGLES, which lets us get rid of the element array
73652        and use drawArrays() instead of drawElements().
73653
73654        Covered by the above layout tests.
73655
73656        * platform/graphics/chromium/GLES2Canvas.cpp:
73657        (WebCore::GLES2Canvas::GLES2Canvas):
73658        (WebCore::GLES2Canvas::~GLES2Canvas):
73659        Remove m_quadIndices (now unused).
73660        (WebCore::GLES2Canvas::clearRect):
73661        Use a glClear() fast path for the identity-CTM clear, and fillRect()
73662        for the rest.
73663        (WebCore::GLES2Canvas::fillRect):
73664        Refactor the two versions of fillRect().
73665        (WebCore::GLES2Canvas::drawTexturedRect):
73666        (WebCore::GLES2Canvas::drawTexturedRectTile):
73667        Get rid of the ELEMENT_ARRAY_BUFFER bind.  Use drawArrays() instead of
73668        drawElements().
73669        (WebCore::GLES2Canvas::getQuadVertices):
73670        Re-order the vertices so they form a triangle strip.
73671        * platform/graphics/chromium/GLES2Canvas.h:
73672        Remove m_quadIndices (now unused).
73673        * platform/graphics/skia/GraphicsContextSkia.cpp:
73674        (WebCore::GraphicsContext::fillRect):
73675        Check for a draw looper (shadow), and drop to the software path.
73676
736772010-08-23  Patrick Gansterer  <paroga@paroga.com>
73678
73679        Reviewed by Adam Roben.
73680
73681        Move filehandling into fileLoadTimer callback
73682        https://bugs.webkit.org/show_bug.cgi?id=43714
73683
73684        Also add mimetype detection for local files.
73685
73686        * platform/network/ResourceHandleInternal.h:
73687        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
73688        * platform/network/win/ResourceHandleWin.cpp:
73689        (WebCore::ResourceHandle::start):
73690        (WebCore::ResourceHandle::fileLoadTimer):
73691
736922010-08-23  Iain Merrick  <husky@google.com>
73693
73694        Reviewed by Steve Block.
73695
73696        Update JNI bridge for V8 after renaming of JavaString::utf8().
73697        https://bugs.webkit.org/show_bug.cgi?id=44419
73698
73699        This fixes the build on Android. No new functionality, so no new tests.
73700
73701        * bridge/jni/v8/JNIBridgeV8.cpp:
73702        (JavaField::JavaField):
73703        * bridge/jni/v8/JNIBridgeV8.h:
73704        (JSC::Bindings::JavaField::type):
73705        * bridge/jni/v8/JavaClassV8.cpp:
73706        (JavaClass::JavaClass):
73707        * bridge/jni/v8/JavaNPObjectV8.cpp:
73708        (JSC::Bindings::JavaNPObjectGetProperty):
73709        * bridge/jni/v8/JavaStringV8.h:
73710        (JSC::Bindings::JavaStringImpl::utf8):
73711
737122010-08-23  Mihai Parparita  <mihaip@chromium.org>
73713
73714        Reviewed by David Hyatt.
73715
73716        Assertion failure in FrameView::layout when modifying the DOM during
73717        pagehide with PageCache enabled
73718        https://bugs.webkit.org/show_bug.cgi?id=43152
73719
73720        Always unschedule any pending relayouts when changing the view, not just
73721        when we're not using the page cache. Otherwise touching the DOM during
73722        the pagehide handler can lead to layouts that will be done by the time
73723        the view has changed, which triggers an assert.
73724
73725        Test: fast/loader/unschedule-relayout-after-unload.html
73726
73727        * page/Frame.cpp:
73728        (WebCore::Frame::setView): move unscheduleRelayout outside page cache
73729        check.
73730        * page/FrameView.cpp:
73731        (WebCore::FrameView::layout): remove early return now that assert
73732        should be correct (and the referenced rdar:// got fixed).
73733
737342010-08-23  Abhishek Arya  <inferno@chromium.org>
73735
73736        Reviewed by Dimitri Glazkov.
73737
73738        Fix security origin calculation in createPattern. Need to use
73739        cachedImage->response().url() instead of cachedImage->url().
73740        https://bugs.webkit.org/show_bug.cgi?id=44399.
73741
73742        Test: http/tests/security/canvas-remote-read-remote-image-redirect.html
73743
73744        * html/canvas/CanvasRenderingContext2D.cpp:
73745        (WebCore::CanvasRenderingContext2D::createPattern):
73746
737472010-08-23  Simon Fraser  <simon.fraser@apple.com>
73748
73749        Reviewed by Alexey Proskuryakov.
73750
73751        TreeWalker is not calling acceptNode function in filter object
73752        https://bugs.webkit.org/show_bug.cgi?id=35296
73753        
73754        We only accepted raw functions as the NodeFilter on TreeWalker. Fix this to
73755        look for an 'acceptNode' function on the filter object, and use that if present.
73756        Also throw an exception if the filter object does not have an acceptNode function.
73757
73758        Test: fast/dom/TreeWalker/acceptNode-filter.html
73759
73760        * bindings/js/JSNodeFilterCondition.cpp:
73761        (WebCore::JSNodeFilterCondition::acceptNode):
73762
737632010-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
73764
73765        Unreviewed, rolling out r65814.
73766        http://trac.webkit.org/changeset/65814
73767        https://bugs.webkit.org/show_bug.cgi?id=44443
73768
73769        broke svg/custom/missing-xlink.svg (Requested by kling on
73770        #webkit).
73771
73772        * dom/Element.cpp:
73773        (WebCore::Element::setAttributeNS):
73774
737752010-08-23  Jian Li  <jianli@chromium.org>
73776
73777        Reviewed by Darin Fisher.
73778
73779        Handle blob resource.
73780        https://bugs.webkit.org/show_bug.cgi?id=43941
73781
73782        To provide lower level blob reosurce handling for all possible ports,
73783        BlobResourceHandle derived from ResourceHandle is implemented. It provides
73784        both synchronous and asynchronous resource loading for blob URL.
73785
73786        BlobResourceHandle needs to create a FileStreamProxy instance in order to
73787        asynchronous file stream operation. To achive this, a hook createAsyncFileStream
73788        is added to ResourceHandleClient interface. When ResourceLoader implements
73789        ths hook, it creates and returns FileStreamProxy.
73790
73791        BlobResourceHandle.* is not added to chromium port since it will implement
73792        its own blob resource handling.
73793
73794        * Android.mk:
73795        * CMakeLists.txt:
73796        * GNUmakefile.am:
73797        * WebCore.pro:
73798        * WebCore.vcproj/WebCore.vcproj:
73799        * WebCore.xcodeproj/project.pbxproj:
73800        * loader/ResourceLoader.cpp:
73801        (WebCore::ResourceLoader::createAsyncFileStream): Create and return FileStreamProxy.
73802        * loader/ResourceLoader.h:
73803        * page/SecurityOrigin.cpp: Add the support to get and validate the origin of blob URL.
73804        (WebCore::SecurityOrigin::create):
73805        (WebCore::SecurityOrigin::canLoad):
73806        * platform/network/BlobRegistryImpl.cpp:
73807        (WebCore::BlobRegistryImpl::appendStorageItems): Fix a bug that the length is not subtracted.
73808        * platform/network/BlobResourceHandle.cpp: Added.
73809        * platform/network/BlobResourceHandle.h: Added.
73810        * platform/network/HTTPParsers.cpp:
73811        (WebCore::parseRange):
73812        * platform/network/HTTPParsers.h:
73813        * platform/network/ResourceHandle.cpp: Hook up with asynchronous blob resource handling.
73814        (WebCore::ResourceHandle::create):
73815        * platform/network/ResourceHandle.h:
73816        * platform/network/ResourceHandleClient.h:
73817        (WebCore::ResourceHandleClient::createAsyncFileStream): Add a hook.
73818        * platform/network/mac/ResourceHandleMac.mm:
73819        (WebCore::ResourceHandle::loadResourceSynchronously): Hook up with synchronous blob resource handling.
73820
738212010-08-23  Jian Li  <jianli@chromium.org>
73822
73823        Reviewed by David Levin.
73824
73825        Remove unneeded BlobRegistryImpl.* and WebBlobRegistryImpl.* from
73826        chromium project files.
73827        https://bugs.webkit.org/show_bug.cgi?id=44442
73828
73829        * WebCore.gypi:
73830
738312010-08-23  Adam Barth  <abarth@webkit.org>
73832
73833        Reviewed by Eric Seidel.
73834
73835        Many LayoutTests crash when run with --html5-treebuilder
73836        https://bugs.webkit.org/show_bug.cgi?id=44440
73837
73838        Our list of special tags is out of sync with the HTML5 spec.  This
73839        patch adds HTML to the list, which fixs a ton of crashers when parsing
73840        fragments.  We neet to sync up the list at some point, but we want to
73841        make sure we have test coverage for all those changes, so I've left
73842        that for a future patch.
73843
73844        * html/HTMLTreeBuilder.cpp:
73845
738462010-08-23  Ilya Tikhonovsky  <loislo@chromium.org>
73847
73848        Reviewed by Pavel Feldman.
73849
73850        WebInspector: Context menu in Scripts panel was broken.
73851        https://bugs.webkit.org/show_bug.cgi?id=44431
73852
73853        * inspector/InspectorFrontendHost.cpp:
73854        (WebCore::FrontendMenuProvider::contextMenuItemSelected):
73855        (WebCore::FrontendMenuProvider::contextMenuCleared):
73856
738572010-08-23  Andreas Kling  <andreas.kling@nokia.com>
73858
73859        Reviewed by Tor Arne Vestbø.
73860
73861        setAttributeNS() should throw NAMESPACE_ERR for prefixed qualifiedName with null namespace
73862        https://bugs.webkit.org/show_bug.cgi?id=44432
73863
73864        Test: fast/dom/setAttributeNS-prefix-and-null-namespace.html
73865
73866        * dom/Element.cpp:
73867        (WebCore::Element::setAttributeNS): Throw NAMESPACE_ERR if namespace is null
73868        and the qualifiedName has a prefix.
73869
738702010-08-23  Ryuan Choi  <ryuan.choi@samsung.com>
73871
73872        Reviewed by Antonio Gomes.
73873
73874        [EFL] rendering was broken when missing plugin.
73875        https://bugs.webkit.org/show_bug.cgi?id=43395
73876
73877        Implement RenderThemeEfl::systemFont to render "Missing plugin" when we
73878        don't have proper plugin.
73879        In this case, RenderEmbeddedObject::paintReplaced call systemFont and
73880        pass returned font to GraphicsContext.
73881
73882        * platform/efl/RenderThemeEfl.cpp:
73883        (WebCore::RenderThemeEfl::setDefaultFontSize):
73884        (WebCore::RenderThemeEfl::systemFont):
73885        * platform/efl/RenderThemeEfl.h:
73886
738872010-08-23  Pavel Podivilov  <podivilov@chromium.org>
73888
73889        Reviewed by Pavel Feldman.
73890
73891        Web Inspector: remove javascript breakpoint specific code from BreakpointSidebarPane
73892        https://bugs.webkit.org/show_bug.cgi?id=44327
73893
73894        * inspector/front-end/BreakpointManager.js:
73895        (WebInspector.BreakpointManager.prototype.setBreakpoint):
73896        (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
73897        (WebInspector.BreakpointManager.prototype._setBreakpoint):
73898        (WebInspector.BreakpointManager.prototype._removeBreakpoint):
73899        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
73900        (WebInspector.Breakpoint):
73901        * inspector/front-end/BreakpointsSidebarPane.js:
73902        (WebInspector.BreakpointsSidebarPane):
73903        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
73904        (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
73905        (WebInspector.JSBreakpointItem):
73906        (WebInspector.JSBreakpointItem.prototype.compareTo):
73907        (WebInspector.JSBreakpointItem.prototype.element):
73908        (WebInspector.JSBreakpointItem.prototype._breakpointClicked):
73909        (WebInspector.JSBreakpointItem.prototype._checkboxClicked):
73910        (WebInspector.JSBreakpointItem.prototype._enableChanged):
73911        (WebInspector.JSBreakpointItem.prototype._textChanged):
73912        (WebInspector.JSBreakpointItem.prototype._removed):
73913        * inspector/front-end/ScriptsPanel.js:
73914        (WebInspector.ScriptsPanel):
73915        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
73916        (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
73917        * inspector/front-end/SourceFrame.js:
73918        (WebInspector.SourceFrame.prototype.addBreakpoint):
73919        (WebInspector.SourceFrame.prototype._addBreakpointToSource):
73920
739212010-08-23  Ilya Tikhonovsky  <loislo@chromium.org>
73922
73923        Reviewed by Yury Semikhatsky.
73924
73925        WebInspector: inspector protocol should be switched from array based
73926        message format to object based message format.
73927        Almost all the protocol related things is generated by CodeGeneratorInspector.pm
73928        It was changed a bit. As result InspectorBackendStub.js wraps the
73929        calls into Request objects. InspectorBackendDispatcher.cpp unwraps
73930        these objects and calls corresponding agents. These two files and
73931        RemoteInspectorFrontend are generated by CodeGeneratorInspector.pm
73932        Dispatching part of WebInspector also was adjusted for handling Event
73933        objects produced by RemoteInspectorFrontend.cpp and Response objects
73934        produced by InspectorBackendDispatcher.cpp
73935        https://bugs.webkit.org/show_bug.cgi?id=44338
73936
73937        * inspector/CodeGeneratorInspector.pm:
73938        * inspector/Inspector.idl:
73939        * inspector/InspectorController.cpp:
73940        (WebCore::InspectorController::setAttachedWindow):
73941        * inspector/InspectorController.h:
73942        * inspector/InspectorFrontendClientLocal.cpp:
73943        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
73944        * inspector/InspectorValues.h:
73945        (WebCore::InspectorObject::find):
73946        * inspector/front-end/Callback.js:
73947        (WebInspector.Callback.prototype.processResponse):
73948        * inspector/front-end/inspector.js:
73949        (WebInspector.dispatch):
73950        (WebInspector_syncDispatch):
73951        (WebInspector.dispatchMessageFromBackend):
73952        (WebInspector.reportProtocolError):
73953
739542010-08-19  Jeremy Orlow  <jorlow@chromium.org>
73955
73956        Reviewed by Steve Block.
73957
73958        Remove IDBDatabase.description per spec changes
73959        https://bugs.webkit.org/show_bug.cgi?id=44264
73960
73961        There's now no longer any way to access the description from JS.
73962        The main premise of the manual test is now obsolete. Over time we'll
73963        be able to add to it again. While I'm at it, I cleaned up the format
73964        of the manual test to be easier to follow (code and usage wise).
73965
73966        * manual-tests/indexed-database.html:
73967        * storage/IDBDatabase.cpp:
73968        (WebCore::IDBDatabase::IDBDatabase):
73969        * storage/IDBDatabase.h:
73970        * storage/IDBDatabase.idl:
73971
739722010-08-23  Pavel Feldman  <pfeldman@chromium.org>
73973
73974        Reviewed by Yury Semikhatsky.
73975
73976        Web Inspector: element's css: pseudo-class locations
73977        https://bugs.webkit.org/show_bug.cgi?id=44344
73978
73979        Also contains a drive-by fix for 44301 (gray out read-only).
73980
73981        * inspector/front-end/StylesSidebarPane.js:
73982        (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
73983        (WebInspector.StylesSidebarPane.prototype.update):
73984        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
73985        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
73986        (WebInspector.StylePropertiesSection):
73987
739882010-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
73989
73990        Unreviewed, rolling out r65803.
73991        http://trac.webkit.org/changeset/65803
73992        https://bugs.webkit.org/show_bug.cgi?id=44416
73993
73994        windows build failed (Requested by loislo on #webkit).
73995
73996        * inspector/CodeGeneratorInspector.pm:
73997        * inspector/Inspector.idl:
73998        * inspector/InspectorController.cpp:
73999        * inspector/InspectorController.h:
74000        * inspector/InspectorFrontendClientLocal.cpp:
74001        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
74002        * inspector/InspectorValues.h:
74003        * inspector/front-end/Callback.js:
74004        (WebInspector.Callback.prototype.processResponse):
74005        * inspector/front-end/inspector.js:
74006        (WebInspector.dispatch.delayDispatch):
74007        (WebInspector.dispatch):
74008        (WebInspector_syncDispatch):
74009        (WebInspector.dispatchMessageFromBackend):
74010        (WebInspector.reportProtocolError):
74011
740122010-08-23  Ilya Tikhonovsky  <loislo@chromium.org>
74013
74014        Reviewed by Yury Semikhatsky.
74015
74016        WebInspector: inspector protocol should be switched from array based
74017        message format to object based message format.
74018        Almost all the protocol related things is generated by CodeGeneratorInspector.pm
74019        It was changed a bit. As result InspectorBackendStub.js wraps the
74020        calls into Request objects. InspectorBackendDispatcher.cpp unwraps
74021        these objects and calls corresponding agents. These two files and
74022        RemoteInspectorFrontend are generated by CodeGeneratorInspector.pm
74023        Dispatching part of WebInspector also was adjusted for handling Event
74024        objects produced by RemoteInspectorFrontend.cpp and Response objects
74025        produced by InspectorBackendDispatcher.cpp
74026        https://bugs.webkit.org/show_bug.cgi?id=44338
74027
74028        * inspector/CodeGeneratorInspector.pm:
74029        * inspector/Inspector.idl:
74030        * inspector/InspectorController.cpp:
74031        (WebCore::InspectorController::setAttachedWindow):
74032        * inspector/InspectorController.h:
74033        * inspector/InspectorFrontendClientLocal.cpp:
74034        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
74035        * inspector/InspectorValues.h:
74036        (WebCore::InspectorObject::find):
74037        * inspector/front-end/Callback.js:
74038        (WebInspector.Callback.prototype.processResponse):
74039        * inspector/front-end/inspector.js:
74040        (WebInspector.dispatch):
74041        (WebInspector_syncDispatch):
74042        (WebInspector.dispatchMessageFromBackend):
74043        (WebInspector.reportProtocolError):
74044
740452010-08-23  Alejandro G. Castro  <alex@igalia.com>
74046
74047        Reviewed by Xan Lopez.
74048
74049        Make the copy of the inspector files silent.
74050
74051        * GNUmakefile.am:
74052
740532010-08-23  Andreas Kling  <andreas.kling@nokia.com>
74054
74055        Reviewed by Kenneth Rohde Christiansen.
74056
74057        [Qt] -webkit-text-stroke is broken due to Qt::TextBypassShaping
74058        https://bugs.webkit.org/show_bug.cgi?id=44403
74059
74060        Don't bypass the Harfbuzz shaping if we're drawing text with a stroke.
74061        For canvas, always use complex text shaping since stroke and fill are decoupled.
74062
74063        * html/canvas/CanvasRenderingContext2D.cpp:
74064        (WebCore::CanvasRenderingContext2D::measureText):
74065        (WebCore::CanvasRenderingContext2D::drawTextInternal):
74066        * platform/graphics/qt/FontQt.cpp:
74067        (WebCore::drawTextCommon):
74068
740692010-08-23  Mikhail Naganov  <mnaganov@chromium.org>
74070
74071        Reviewed by Pavel Feldman.
74072
74073        Extract profiler-related code and data from InspectorController into
74074        InspectorProfilerAgent.
74075
74076        https://bugs.webkit.org/show_bug.cgi?id=44174
74077
74078        * CMakeLists.txt:
74079        * GNUmakefile.am:
74080        * WebCore.exp.in:
74081        * WebCore.gypi:
74082        * WebCore.pro:
74083        * WebCore.vcproj/WebCore.vcproj:
74084        * WebCore.xcodeproj/project.pbxproj:
74085        * bindings/js/ScriptProfiler.cpp:
74086        (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
74087        * bindings/js/ScriptProfiler.h:
74088        * bindings/v8/ScriptProfiler.cpp:
74089        (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
74090        * bindings/v8/ScriptProfiler.h:
74091        * inspector/CodeGeneratorInspector.pm:
74092        * inspector/Inspector.idl:
74093        * inspector/InspectorController.cpp:
74094        (WebCore::InspectorController::InspectorController):
74095        (WebCore::InspectorController::connectFrontend):
74096        (WebCore::InspectorController::disconnectFrontend):
74097        (WebCore::InspectorController::populateScriptObjects):
74098        (WebCore::InspectorController::didCommitLoad):
74099        (WebCore::InspectorController::addProfile):
74100        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
74101        (WebCore::InspectorController::addStartProfilingMessageToConsole):
74102        (WebCore::InspectorController::isRecordingUserInitiatedProfile):
74103        (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
74104        (WebCore::InspectorController::startUserInitiatedProfiling):
74105        (WebCore::InspectorController::stopUserInitiatedProfiling):
74106        (WebCore::InspectorController::profilerEnabled):
74107        (WebCore::InspectorController::enableProfiler):
74108        (WebCore::InspectorController::disableProfiler):
74109        * inspector/InspectorController.h:
74110        (WebCore::InspectorController::profilerAgent):
74111        * inspector/InspectorProfilerAgent.cpp: Added.
74112        (WebCore::InspectorProfilerAgent::create):
74113        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
74114        (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
74115        (WebCore::InspectorProfilerAgent::addProfile):
74116        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
74117        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
74118        (WebCore::InspectorProfilerAgent::createProfileHeader):
74119        (WebCore::InspectorProfilerAgent::disable):
74120        (WebCore::InspectorProfilerAgent::enable):
74121        (WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName):
74122        (WebCore::InspectorProfilerAgent::getProfileHeaders):
74123        (WebCore::InspectorProfilerAgent::getProfile):
74124        (WebCore::InspectorProfilerAgent::removeProfile):
74125        (WebCore::InspectorProfilerAgent::resetState):
74126        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
74127        (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
74128        (WebCore::InspectorProfilerAgent::toggleRecordButton):
74129        * inspector/InspectorProfilerAgent.h: Added.
74130        (WebCore::InspectorProfilerAgent::clearProfiles):
74131        (WebCore::InspectorProfilerAgent::enabled):
74132        (WebCore::InspectorProfilerAgent::isRecordingUserInitiatedProfile):
74133        (WebCore::InspectorProfilerAgent::setRemoteFrontend):
74134        (WebCore::InspectorProfilerAgent::startProfiling):
74135        (WebCore::InspectorProfilerAgent::stopProfiling):
74136
741372010-08-23  Ariya Hidayat  <ariya@sencha.com>
74138
74139        Reviewed by Kenneth Rohde Christiansen.
74140
74141        [Qt] Crash when purging the scratch buffer for the shadow
74142        https://bugs.webkit.org/show_bug.cgi?id=44384
74143
74144        WebCore::Timer can't be used in a static object bcause it relies on
74145        thread global data, which is invalid once the application instance is
74146        destroyed. To overcome the problem, use QObject's timer support for
74147        the ShadowBuffer class.
74148
74149        * platform/graphics/qt/ContextShadow.cpp:
74150        (WebCore::):
74151        (WebCore::ShadowBuffer::ShadowBuffer):
74152        (WebCore::ShadowBuffer::schedulePurge):
74153        (WebCore::ShadowBuffer::timerEvent):
74154
741552010-08-23  Philippe Normand  <pnormand@igalia.com>
74156
74157        Reviewed by Xan Lopez.
74158
74159        [GStreamer] don't expose the private player in GStreamerGWorld
74160        https://bugs.webkit.org/show_bug.cgi?id=44332
74161
74162        Only a pointer to our playbin2 element instance is required
74163        instead of the whole MediaPlayerPrivateGStreamer instance.
74164
74165        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
74166        (WebCore::GStreamerGWorld::createGWorld):
74167        (WebCore::GStreamerGWorld::GStreamerGWorld):
74168        (WebCore::GStreamerGWorld::~GStreamerGWorld):
74169        (WebCore::GStreamerGWorld::enterFullscreen):
74170        (WebCore::GStreamerGWorld::exitFullscreen):
74171        * platform/graphics/gstreamer/GStreamerGWorld.h:
74172        (WebCore::GStreamerGWorld::pipeline):
74173        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
74174        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
74175
741762010-08-22  Andreas Kling  <andreas.kling@nokia.com>
74177
74178        Reviewed by Kenneth Rohde Christiansen.
74179
74180        [Qt] GraphicsContext: Simplify getting the clip bounding rect
74181        https://bugs.webkit.org/show_bug.cgi?id=44396
74182
74183        Move the Qt 4.8 version check for QPainter::clipBoundingRect()
74184        into a GraphicsContextPlatformPrivate method.
74185
74186        * platform/graphics/qt/GraphicsContextQt.cpp:
74187        (WebCore::GraphicsContextPlatformPrivate::clipBoundingRect):
74188        (WebCore::GraphicsContext::beginTransparencyLayer):
74189        (WebCore::GraphicsContext::clipOut):
74190        (WebCore::GraphicsContext::clipOutEllipseInRect):
74191
741922010-08-22  Juha Savolainen  <juha.savolainen@weego.fi>
74193
74194        Reviewed by Kenneth Rohde Christiansen.
74195
74196        [Qt] Add QTouchEvents support for WebKit2
74197        https://bugs.webkit.org/show_bug.cgi?id=44330
74198
74199        This patch adds support for QTouchEvents in WebKit2. A new WebEvent-class
74200        is created for touchevents, WebTouchEvent. Also touchpoints needed a new
74201        class, WebPlatformTouchPoint. This is similar solution like in other
74202        events(like MouseEvent) on WebKit2. These classes are introduced in WebEvent.h 
74203        Also there was a need to create an empty constructor to PlatformTouchPoint-class.
74204
74205        * platform/PlatformTouchPoint.h:
74206        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
74207
742082010-08-22  Daniel Bates  <dbates@rim.com>
74209
74210        Reviewed by Eric Seidel.
74211
74212        Encapsulate document marker management into DocumentMarkerController
74213        https://bugs.webkit.org/show_bug.cgi?id=44383
74214
74215        Moves the document marker management code in Document.cpp into its own
74216        class called DocumentMarkerController.
74217
74218        No functionality was changed, so no new tests.
74219
74220        * Android.mk: Added DocumentMarkerController.cpp 
74221        * CMakeLists.txt: Ditto.
74222        * GNUmakefile.am: Added DocumentMarkerController.cpp and DocumentMarkerController.h.
74223        * WebCore.exp.in: Substituted symbols __ZN7WebCore24DocumentMarkerController13removeMarkersENS_14DocumentMarker10MarkerTypeE
74224        and __ZN7WebCore24DocumentMarkerController23renderedRectsForMarkersENS_14DocumentMarker10MarkerTypeE for
74225        __ZN7WebCore8Document13removeMarkersENS_14DocumentMarker10MarkerTypeE and 
74226        __ZN7WebCore8Document23renderedRectsForMarkersENS_14DocumentMarker10MarkerTypeE, respectively.
74227        * WebCore.gypi: Added DocumentMarkerController.cpp and DocumentMarkerController.h.
74228        * WebCore.pro: Ditto.
74229        * WebCore.vcproj/WebCore.vcproj: Ditto.
74230        * WebCore.xcodeproj/project.pbxproj: Ditto.
74231        * dom/Document.cpp:
74232        (WebCore::Document::removedLastRef): Modified to call DocumentMarkerController::detach().
74233        (WebCore::Document::~Document): Removed "deleteAllValues(m_markers)" as DocumentMarkerController
74234        is stored in OwnPtr; so it will be destroyed automatically on Document destruction.
74235        (WebCore::Document::textInserted): Modified to use marker controller.
74236        (WebCore::Document::textRemoved): Ditto.
74237        * dom/Document.h:
74238        (WebCore::Document::markers): Added.
74239        * dom/DocumentMarkerController.cpp: Added.
74240        (WebCore::placeholderRectForMarker):
74241        (WebCore::DocumentMarkerController::detach):
74242        (WebCore::DocumentMarkerController::addMarker):
74243        (WebCore::DocumentMarkerController::removeMarkers):
74244        (WebCore::DocumentMarkerController::copyMarkers):
74245        (WebCore::DocumentMarkerController::markerContainingPoint):
74246        (WebCore::DocumentMarkerController::markersForNode):
74247        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
74248        (WebCore::DocumentMarkerController::repaintMarkers):
74249        (WebCore::DocumentMarkerController::setRenderedRectForMarker):
74250        (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
74251        (WebCore::DocumentMarkerController::shiftMarkers):
74252        (WebCore::DocumentMarkerController::setMarkersActive):
74253        * dom/DocumentMarkerController.h: Added.
74254        (WebCore::DocumentMarkerController::~DocumentMarkerController):
74255        * editing/Editor.cpp:
74256        (WebCore::Editor::ignoreSpelling): Modified to use marker controller.
74257        (WebCore::findFirstMisspellingInRange): Ditto.
74258        (WebCore::findFirstGrammarDetailInRange): Ditto.
74259        (WebCore::Editor::advanceToNextMisspelling): Ditto.
74260        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
74261        (WebCore::Editor::changeBackToReplacedString): Ditto.
74262        * editing/SplitTextNodeCommand.cpp:
74263        (WebCore::SplitTextNodeCommand::doApply): Ditto.
74264        (WebCore::SplitTextNodeCommand::doUnapply): Ditto.
74265        * page/Frame.cpp:
74266        (WebCore::Frame::markAllMatchesForText): Ditto.
74267        (WebCore::Frame::setMarkedTextMatchesAreHighlighted): Ditto.
74268        (WebCore::Frame::respondToChangedSelection): Ditto.
74269        * page/FrameView.cpp:
74270        (WebCore::FrameView::getTickmarks): Ditto.
74271        (WebCore::FrameView::paintContents): Ditto.
74272        * page/Page.cpp:
74273        (WebCore::Page::unmarkAllTextMatches): Ditto.
74274        * rendering/HitTestResult.cpp:
74275        (WebCore::HitTestResult::spellingToolTip): Ditto.
74276        (WebCore::HitTestResult::replacedString): Ditto.
74277        * rendering/InlineTextBox.cpp:
74278        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
74279        (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
74280        (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
74281        (WebCore::InlineTextBox::paintDocumentMarkers): Ditto.
74282        * rendering/SVGInlineTextBox.cpp:
74283        (WebCore::SVGInlineTextBox::computeTextMatchMarkerRect): Ditto.
74284
742852010-08-22  Jian Li  <jianli@chromium.org>
74286
74287        Reviewed by Darin Fisher.
74288
74289        Add the blob URL member to FormData.
74290        https://bugs.webkit.org/show_bug.cgi?id=44387
74291
74292        This is in preparation to switch blob implementation to using BlobData
74293        model. When a blob is added to a FormData, it is represented as a blob
74294        URL in the list.
74295
74296        * platform/network/FormData.cpp:
74297        (WebCore::FormData::appendBlob):
74298        * platform/network/FormData.h:
74299        (WebCore::FormDataElement::FormDataElement):
74300        (WebCore::FormDataElement::):
74301        (WebCore::operator==):
74302
743032010-08-22  Eric Seidel  <eric@webkit.org>
74304
74305        Reviewed by Adam Barth.
74306
74307        HTML5 TreeBuilder builds wrong DOM for <a><svg><tr><input></a>
74308        https://bugs.webkit.org/show_bug.cgi?id=44390
74309
74310        The HTML5 spec has changed since Adam and I original wrote
74311        the HTMLTreeBuilder.  Most important for this change was resolution of:
74312        http://www.w3.org/Bugs/Public/show_bug.cgi?id=9580
74313
74314        I also removed our "phrasing" tag support since that was also removed
74315        from the spec as part of other bug fixes.
74316
74317        This is tested by tonyg's <a><svg><tr><input></a> test in adoption01.dat.
74318
74319        * html/HTMLTreeBuilder.cpp:
74320        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
74321        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
74322        (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
74323        (WebCore::HTMLTreeBuilder::processEndTag):
74324
743252010-08-22  Andreas Kling  <andreas.kling@nokia.com>
74326
74327        Reviewed by Ariya Hidayat.
74328
74329        [Qt] TransparencyLayer: Always use anti-aliasing and smooth pixmap transform
74330        https://bugs.webkit.org/show_bug.cgi?id=44394
74331
74332        * platform/graphics/qt/TransparencyLayer.h:
74333        (WebCore::TransparencyLayer::TransparencyLayer): Set the Antialiasing
74334        and SmoothPixmapTransforms render hints for all TransparencyLayers.
74335
743362010-08-22  Andreas Kling  <andreas.kling@nokia.com>
74337
74338        Reviewed by Ariya Hidayat.
74339
74340        [Qt] Gradient: Support inner radius larger than outer radius
74341        https://bugs.webkit.org/show_bug.cgi?id=44392
74342
74343        * platform/graphics/qt/GradientQt.cpp:
74344        (WebCore::Gradient::platformGradient): Reverse the (radial) gradient if r0 > r1.
74345
743462010-08-22  Ariya Hidayat  <ariya@sencha.com>
74347
74348        Reviewed by Dirk Schulze.
74349
74350        [Qt] Layer approach to support generic shadow handling
74351        https://bugs.webkit.org/show_bug.cgi?id=44380
74352
74353        The pair beginShadowLayer and endShadowLayer creates a temporary image
74354        where the caller can draw onto, using the returned QPainter. When
74355        endShadowLayer is called, the temporary image will be filtered, using
74356        the specified shadow color and blur radius, and drawn to the graphics
74357        context.
74358
74359        * platform/graphics/GraphicsContext.h:
74360        * platform/graphics/qt/ContextShadow.cpp:
74361        (WebCore::ContextShadow::beginShadowLayer):
74362        (WebCore::ContextShadow::endShadowLayer):
74363        * platform/graphics/qt/ContextShadow.h:
74364        * platform/graphics/qt/GraphicsContextQt.cpp:
74365        (WebCore::GraphicsContext::fillRect):
74366        (WebCore::GraphicsContext::contextShadow):
74367
743682010-08-21  Eric Carlson  <eric.carlson@apple.com>
74369
74370        Reviewed by Dan Bernstein.
74371
74372        Media engine should not be asked to open all urls
74373        https://bugs.webkit.org/show_bug.cgi?id=44370
74374
74375        * platform/graphics/MediaPlayer.cpp:
74376        (WebCore::MediaPlayer::load): Do nothing with urls with a type attribute that would be
74377        rejected by canPlayType().
74378
743792010-08-21  Ariya Hidayat  <ariya@sencha.com>
74380
74381        Reviewed by Kenneth Rohde Christiansen.
74382
74383        [Qt] Faster bounding rect for the shadow clip region
74384        https://bugs.webkit.org/show_bug.cgi?id=44369
74385
74386        Like in r65650, we should use the faster QPainter::clipBoundingRect
74387        when it is available.
74388
74389        * platform/graphics/qt/ContextShadow.cpp:
74390        (WebCore::ContextShadow::drawShadowRect):
74391
743922010-08-20  Girish Ramakrishnan  <girish@forwardbias.in>
74393
74394        Reviewed by Ariya Hidayat.
74395
74396        [Qt] When using the raster graphics system on Maemo5, allow
74397        Flash to render directly into the raster window surface.
74398        wmode=transparent is now supported as a result of this change.
74399        
74400        https://bugs.webkit.org/show_bug.cgi?id=44043
74401        
74402        * plugins/qt/PluginViewQt.cpp:
74403        (WebCore::PluginView::paintUsingImageSurfaceExtension):
74404
744052010-08-20  Alexey Proskuryakov  <ap@apple.com>
74406
74407        Reviewed by Brady Eidson.
74408
74409        https://bugs.webkit.org/show_bug.cgi?id=38428
74410        HTTP code 500 (and other non-4xx codes) wrongfully treated as success for subresources
74411
74412        Test: http/tests/misc/script-500.html
74413
74414        * loader/loader.cpp: (WebCore::Loader::Host::didReceiveData): Treat all HTTP codes >= 400 as
74415        error ones, since they are.
74416
744172010-08-20  Tony Gentilcore  <tonyg@chromium.org>
74418
74419        Reviewed by Adam Barth.
74420
74421        Crash in WebCore::Node::createRendererIfNeeded()
74422        https://bugs.webkit.org/show_bug.cgi?id=44129
74423
74424        * dom/ContainerNode.cpp:
74425        (WebCore::ContainerNode::insertBefore): Factor out core bit to insertBetween.
74426        (WebCore::ContainerNode::insertBetween): Factored out of insertBefore.
74427        (WebCore::ContainerNode::parserInsertBefore): Similar to insertBefore, but doesn't handle reparenting or dispatch DOM mutation events.
74428        (WebCore::ContainerNode::removeChild): Factor out core bit to removeBetween.
74429        (WebCore::ContainerNode::removeBetween): Facotred out of removeChild.
74430        (WebCore::ContainerNode::parserRemoveChild): Similar to removeChild, but doesn't handle reparenting or dispatch DOM mutation events.
74431        (WebCore::ContainerNode::addChildCommon):
74432        (WebCore::ContainerNode::parserAddChild):
74433        (WebCore::ContainerNode::legacyParserAddChild):
74434        * dom/ContainerNode.h:
74435        * dom/Node.cpp:
74436        (WebCore::Node::parserRemoveChild):
74437        (WebCore::Node::parserInsertBefore):
74438        * dom/Node.h:
74439        * html/HTMLConstructionSite.cpp:
74440        (WebCore::HTMLConstructionSite::attach):
74441        (WebCore::HTMLConstructionSite::attachAtSite): Use new parserInsertBefore.
74442        * html/HTMLTreeBuilder.cpp:
74443        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
74444        (WebCore::HTMLTreeBuilder::reparentChildren):
74445        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Was missing a key bit from the spec about removing the old parent if it exists.
74446
744472010-08-20  Kinuko Yasuda  <kinuko@chromium.org>
74448
74449        Unreviewed; build fix.  Had included wrong version of build file.
74450
744512010-08-20  Martin Robinson  <mrobinson@igalia.com>
74452
74453        Reviewed by Joseph Pecoraro.
74454
74455        [GTK] Inspector extensions tests fail on GTK+ bots because onSelectionChanged is missing
74456        https://bugs.webkit.org/show_bug.cgi?id=44342
74457
74458        * GNUmakefile.am: Fix dependency tracking for copied web inspector files.
74459
744602010-08-20  Kinuko Yasuda  <kinuko@chromium.org>
74461
74462        Reviewed by Darin Fisher.
74463
74464        Add Callback implementation for FileSystem API
74465        https://bugs.webkit.org/show_bug.cgi?id=44349
74466
74467        No new tests; tests will be added later.
74468
74469        * CMakeLists.txt:
74470        * GNUmakefile.am:
74471        * WebCore.gypi:
74472        * WebCore.pro:
74473        * WebCore.vcproj/WebCore.vcproj:
74474        * WebCore.xcodeproj/project.pbxproj:
74475        * storage/FileSystemCallbacks.cpp: Added.
74476        * storage/FileSystemCallbacks.h: Added.
74477
74478        * storage/EntryCallback.h: Nits fix
74479        * storage/FileSystemCallback.h: Nits fix
74480
744812010-08-20  Andreas Kling  <andreas.kling@nokia.com>
74482
74483        Reviewed by Ariya Hidayat.
74484
74485        [Qt] WebKit does not compile with --3d-canvas
74486        https://bugs.webkit.org/show_bug.cgi?id=44335
74487
74488        - PlatformGLObject => Platform3DObject
74489        - Implemented getAttachedShaders()
74490        - Implemented bufferData() and bufferSubData() for ArrayBuffer*
74491        - Removed reference to nonexistent variable in getImageData()
74492
74493        * platform/graphics/qt/GraphicsContext3DQt.cpp:
74494        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
74495        (WebCore::GraphicsContext3D::attachShader):
74496        (WebCore::GraphicsContext3D::getAttachedShaders):
74497        (WebCore::GraphicsContext3D::bindAttribLocation):
74498        (WebCore::GraphicsContext3D::bindBuffer):
74499        (WebCore::GraphicsContext3D::bindFramebuffer):
74500        (WebCore::GraphicsContext3D::bindRenderbuffer):
74501        (WebCore::GraphicsContext3D::bindTexture):
74502        (WebCore::GraphicsContext3D::bufferData):
74503        (WebCore::GraphicsContext3D::bufferSubData):
74504        (WebCore::GraphicsContext3D::compileShader):
74505        (WebCore::GraphicsContext3D::detachShader):
74506        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
74507        (WebCore::GraphicsContext3D::framebufferTexture2D):
74508        (WebCore::GraphicsContext3D::getActiveAttrib):
74509        (WebCore::GraphicsContext3D::getActiveUniform):
74510        (WebCore::GraphicsContext3D::getAttribLocation):
74511        (WebCore::GraphicsContext3D::isBuffer):
74512        (WebCore::GraphicsContext3D::isFramebuffer):
74513        (WebCore::GraphicsContext3D::isProgram):
74514        (WebCore::GraphicsContext3D::isRenderbuffer):
74515        (WebCore::GraphicsContext3D::isShader):
74516        (WebCore::GraphicsContext3D::isTexture):
74517        (WebCore::GraphicsContext3D::linkProgram):
74518        (WebCore::GraphicsContext3D::shaderSource):
74519        (WebCore::GraphicsContext3D::useProgram):
74520        (WebCore::GraphicsContext3D::validateProgram):
74521        (WebCore::GraphicsContext3D::getProgramiv):
74522        (WebCore::GraphicsContext3D::getProgramInfoLog):
74523        (WebCore::GraphicsContext3D::getShaderiv):
74524        (WebCore::GraphicsContext3D::getShaderInfoLog):
74525        (WebCore::GraphicsContext3D::getShaderSource):
74526        (WebCore::GraphicsContext3D::getUniformfv):
74527        (WebCore::GraphicsContext3D::getUniformiv):
74528        (WebCore::GraphicsContext3D::getUniformLocation):
74529        (WebCore::GraphicsContext3D::getImageData):
74530        * platform/graphics/qt/GraphicsLayerQt.h:
74531
745322010-08-20  Dan Bernstein  <mitz@apple.com>
74533
74534        Reviewed by Dave Kilzer.
74535
74536        #ifdef-out some Leopard-and-earlier code.
74537
74538        * platform/graphics/mac/FontCustomPlatformData.cpp:
74539        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
74540
745412010-08-20  Kenneth Russell  <kbr@google.com>
74542
74543        Unreviewed, speculative Chromium build fix. Forward declare
74544        IntSize in WebGLRenderingContext.h and include IntSize.h in .cpp.
74545
74546        * html/canvas/WebGLRenderingContext.cpp:
74547        * html/canvas/WebGLRenderingContext.h:
74548
745492010-08-20  Eric Carlson  <eric.carlson@apple.com>
74550
74551        Reviewed by Dan Bernstein.
74552
74553        Media element canPlayType("application/octet-stream") not handled correctly
74554        https://bugs.webkit.org/show_bug.cgi?id=44343
74555
74556        Test: media/media-can-play-octet-stream.html
74557
74558        * platform/graphics/MediaPlayer.cpp:
74559        (WebCore::applicationOctetStream): New, accessor for static string used more than once.
74560        (WebCore::textPlain): Ditto.
74561        (WebCore::codecs): Ditto.
74562        (WebCore::chooseBestEngineForTypeAndCodecs): Special case "application/octet-stream".
74563        (WebCore::MediaPlayer::load): Use static static string methods.
74564        (WebCore::MediaPlayer::supportsType): Special case "application/octet-stream".
74565
745662010-08-20  Adrienne Walker  <enne@google.com>
74567
74568        Reviewed by Kenneth Russell.
74569
74570        Implement HTMLVideoElement support for texImage2D and texSubImage2D
74571        https://bugs.webkit.org/show_bug.cgi?id=33852
74572
74573        Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html
74574
74575        * html/canvas/WebGLRenderingContext.cpp:
74576        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
74577        (WebCore::WebGLRenderingContext::videoFrameToImage):
74578        (WebCore::WebGLRenderingContext::texImage2D):
74579        (WebCore::WebGLRenderingContext::texSubImage2D):
74580        (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
74581        (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
74582        (WebCore::WebGLRenderingContext::LRUImageBufferCache::bubbleToFront):
74583        * html/canvas/WebGLRenderingContext.h:
74584
745852010-08-20  Dumitru Daniliuc  <dumi@chromium.org>
74586
74587        Reviewed by Adam Barth.
74588
74589        Removing an incorrect ASSERT.
74590        https://bugs.webkit.org/show_bug.cgi?id=44151
74591
74592        A failure in the preflight step of a transaction wrapper does not
74593        guarantee that the transaction is rolled back (and it shouldn't).
74594
74595        Test: storage/change-version-no-crash-on-preflight-failure.html
74596
74597        * storage/SQLTransaction.cpp:
74598        (WebCore::SQLTransaction::openTransactionAndPreflight):
74599
746002010-08-20  David Leong  <david.leong@nokia.com>
74601
74602        Reviewed by Laszlo Gombos.
74603
74604        [Qt] Update Symbian capabilities to remove AllFiles and DRM
74605        
74606        Add CONFIG(production) variation for set of DLL capabilities.
74607        DRM and AllFiles capabilities need to be audited for the sis
74608        package to be signed.
74609        
74610        No new tests.
74611
74612        * WebCore.pro: Updated Symbian Capabilities. 
74613
746142010-08-20  Joseph Pecoraro  <joepeck@webkit.org>
74615
74616        Reviewed by David Kilzer.
74617
74618        Do Not Copy Subversion Related Files in Inspector Build Phase
74619        https://bugs.webkit.org/show_bug.cgi?id=44353
74620
74621        * WebCore.xcodeproj/project.pbxproj: remove .svn directories in the "Copy Inspector Resources" build phase.
74622
746232010-08-19  Ryosuke Niwa  <rniwa@webkit.org>
74624
74625        Reviewed by Adam Barth.
74626
74627        style correction in markup.cpp
74628        https://bugs.webkit.org/show_bug.cgi?id=44318
74629
74630        Make markup.cpp pass check-webkit-style.
74631
74632        No new tests are added since this is a cleanup.
74633
74634        * editing/markup.cpp:
74635        (WebCore::MarkupAccumulator::appendAttributeValue):
74636        (WebCore::appendEscapedContent):
74637        (WebCore::MarkupAccumulator::appendStartMarkup):
74638        (WebCore::completeURLs):
74639        (WebCore::isElementPresentational):
74640        (WebCore::isSpecialAncestorBlock):
74641        (WebCore::shouldIncludeWrapperForFullySelectedRoot):
74642        (WebCore::createMarkup):
74643        (WebCore::fillContainerFromString):
74644        (WebCore::createFragmentFromText):
74645        (WebCore::createFragmentFromNodes):
74646
746472010-08-20  Tony Chang  <tony@chromium.org>
74648
74649        Reviewed by Adam Barth.
74650
74651        crash when trying to access a stale Node pointer in FocusController::setFocusedNode
74652        https://bugs.webkit.org/show_bug.cgi?id=44226
74653
74654        Test: fast/events/focus-change-crash2.html
74655
74656        * page/FocusController.cpp:
74657        (WebCore::FocusController::setFocusedNode): add a ref to prevent the focused node from being deleted
74658
746592010-08-20  Simon Fraser  <simon.fraser@apple.com>
74660
74661        Reviewed by Dan Bernstein.
74662
74663        <rdar://problem/8245719> backface-visibility and reflections don't play nicely together.
74664        
74665        On elements with a reflection and backface-visibility: hidden, set the doubleSided property on the 
74666        reflection flattening layer so that backface-visibility works in all configurations.
74667
74668        Test: compositing/reflections/backface-hidden-reflection.html
74669
74670        * platform/graphics/mac/GraphicsLayerCA.mm:
74671        (WebCore::GraphicsLayerCA::updateBackfaceVisibility): Call setDoubleSided: on the structural
74672        layer for reflections.
74673        (WebCore::GraphicsLayerCA::ensureStructuralLayer): Fix a comment typo, and call updateBackfaceVisibility()
74674        when we gain a structural layer.
74675
746762010-08-20  Simon Fraser  <simon.fraser@apple.com>
74677
74678        Reviewed by Dan Bernstein.
74679
74680        Slider labels do not update as you move the sliders on this page
74681        https://bugs.webkit.org/show_bug.cgi?id=41020
74682        
74683        When repainting after layout in a multicol element, we need to adjust the
74684        repaint rect for the columns.
74685
74686        Test: fast/repaint/multicol-repaint.html
74687
74688        * rendering/RenderBlock.cpp:
74689        (WebCore::RenderBlock::layoutBlock):
74690
746912010-08-20  Jian Li  <jianli@chromium.org>
74692
74693        Reviewed by David Levin.
74694
74695        Move FileStreamClient to platform and add AsyncFileStream interface.
74696        https://bugs.webkit.org/show_bug.cgi?id=44224
74697
74698        * GNUmakefile.am:
74699        * WebCore.gypi:
74700        * WebCore.pro:
74701        * WebCore.vcproj/WebCore.vcproj:
74702        * WebCore.xcodeproj/project.pbxproj:
74703        * html/FileStreamProxy.cpp: Account for the change.
74704        (WebCore::FileStreamProxy::FileStreamProxy):
74705        (WebCore::FileStreamProxy::stop):
74706        * html/FileStreamProxy.h: Make it derive from AsyncFileStream.h.
74707        * platform/AsyncFileStream.h: Added.
74708        * platform/FileStreamClient.h: Renamed from WebCore/html/FileStreamClient.h.
74709
747102010-08-20  Abhishek Arya  <inferno@chromium.org>
74711
74712        Reviewed by Darin Fisher.
74713
74714        Prevent use of stale notification presenter pointer in notifications by instead using
74715        a notification center pointer and deriving the presenter from it. Notification presenter
74716        gets properly destroyed using disconnectFrame function inside notification center. Add
74717        null checks for notification presenter.
74718        https://bugs.webkit.org/show_bug.cgi?id=43645
74719
74720        Test: fast/notifications/notifications-window-close-crash.html
74721
74722        * notifications/Notification.cpp:
74723        (WebCore::Notification::Notification):
74724        (WebCore::Notification::create):
74725        (WebCore::Notification::show):
74726        (WebCore::Notification::cancel):
74727        (WebCore::Notification::contextDestroyed):
74728        (WebCore::Notification::finishLoading):
74729        * notifications/Notification.h:
74730        (WebCore::Notification::detachPresenter):
74731        * notifications/NotificationCenter.h:
74732        (WebCore::NotificationCenter::createHTMLNotification):
74733        (WebCore::NotificationCenter::createNotification):
74734
747352010-08-20  Martin Robinson  <mrobinson@igalia.com>
74736
74737        Reviewed by Xan Lopez.
74738
74739        r64526 broke the GTK+-3 build
74740        https://bugs.webkit.org/show_bug.cgi?id=44254
74741
74742        No new tests, as this is covered by manual-tests/cursor.html.
74743
74744        * platform/gtk/CursorGtk.cpp:
74745        (WebCore::createPixmapFromBits): Added this method which turns the inline data
74746        structures into GdkPixmaps using Cairo and GDK-Cairo.
74747        (WebCore::createNamedCursor): Modified this method to use the new helper.
74748        * platform/gtk/CursorGtk.h: Changed all inline data structures to be unsigned
74749        char arrays (which Cairo requires). The progress cursor is known in X11 icon themes
74750        as "left_ptr_watch." This change to the name preserves the old behavior of taking this
74751        icon from the theme when available. It seems that this worked in the past due to a fluke
74752        or failure of the previous code.
74753
747542010-08-20  Martin Robinson  <mrobinson@igalia.com>
74755
74756        Reviewed by Dirk Schulze.
74757
74758        [Cairo] Eliminate full-surface copy from canvas.drawImage(...)
74759        https://bugs.webkit.org/show_bug.cgi?id=44190
74760
74761        Covered by canvas layout tests.
74762
74763        * platform/graphics/cairo/ImageBufferCairo.cpp:
74764        (WebCore::ImageBuffer::drawsUsingCopy): Return false now.
74765        (WebCore::ImageBuffer::clip): Add a link to the bug which tracks this feature.
74766        (WebCore::ImageBuffer::draw): Construct the bitmap image without the full-surface copy.
74767        (WebCore::ImageBuffer::drawPattern): Ditto.
74768
747692010-08-20  Alejandro G. Castro  <alex@igalia.com>
74770
74771        Reviewed by Xan Lopez.
74772
74773        [REGRESSION] r65608 broke gtk distcheck
74774        https://bugs.webkit.org/show_bug.cgi?id=44333
74775
74776        Define the inspector.html as a noinst_DATA intead of using the dir
74777        suffix, which is used for installation.
74778
74779        * GNUmakefile.am:
74780
747812010-08-19  Pavel Podivilov  <podivilov@chromium.org>
74782
74783        Reviewed by Yury Semikhatsky.
74784
74785        Web Inspector: implement breaking on DOM node subtree mutations.
74786        https://bugs.webkit.org/show_bug.cgi?id=42886
74787
74788        Add two entries to Web Inspector DOM element context menu:
74789        1. "Stop on subtree modifications": will break on adding/removing of any element which is a child of the DOM element
74790        2. "Remove breakpoints": will remove all breakpoints associated with the DOM element
74791
74792        * English.lproj/localizedStrings.js:
74793        * bindings/js/ScriptDebugServer.cpp:
74794        (WebCore::ScriptDebugServer::breakProgram):
74795        * bindings/js/ScriptDebugServer.h:
74796        * bindings/v8/ScriptDebugServer.cpp:
74797        (WebCore::ScriptDebugServer::breakProgram):
74798        (WebCore::ScriptDebugServer::breakProgramCallback):
74799        (WebCore::ScriptDebugServer::handleV8DebugEvent):
74800        * bindings/v8/ScriptDebugServer.h:
74801        * inspector/Inspector.idl:
74802        * inspector/InspectorDOMAgent.cpp:
74803        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
74804        (WebCore::InspectorDOMAgent::discardBindings):
74805        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
74806        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
74807        (WebCore::InspectorDOMAgent::didInsertDOMNode):
74808        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
74809        (WebCore::InspectorDOMAgent::hasBreakpoint):
74810        (WebCore::InspectorDOMAgent::pauseOnBreakpoint):
74811        (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
74812        * inspector/InspectorDOMAgent.h:
74813        * inspector/front-end/ElementsTreeOutline.js:
74814        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
74815        * inspector/front-end/Settings.js:
74816
748172010-08-20  Yury Semikhatsky  <yurys@chromium.org>
74818
74819        Reviewed by Pavel Feldman.
74820
74821        Web Inspector: discard InjectedScript reference on ScriptState when clearing injected scripts
74822        https://bugs.webkit.org/show_bug.cgi?id=44328
74823
74824        Otherwise if the reference is not cleared we may remove InjectedScript from the
74825        map on InjectedScriptHost but keep it on ScriptState and try to reuse it later.
74826
74827        * bindings/js/JSInjectedScriptHostCustom.cpp:
74828        (WebCore::InjectedScriptHost::discardInjectedScript):
74829        * bindings/v8/V8HiddenPropertyName.h:
74830        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
74831        (WebCore::InjectedScriptHost::discardInjectedScript):
74832        (WebCore::InjectedScriptHost::injectedScriptFor):
74833        * inspector/InjectedScript.h:
74834        (WebCore::InjectedScript::scriptState):
74835        * inspector/InjectedScriptHost.cpp:
74836        (WebCore::InjectedScriptHost::discardInjectedScripts):
74837        * inspector/InjectedScriptHost.h:
74838
748392010-08-20  Nikolas Zimmermann  <nzimmermann@rim.com>
74840
74841        Reviewed by Dirk Schulze.
74842
74843        Clippers are rasterized, when applied to scaled target object
74844        https://bugs.webkit.org/show_bug.cgi?id=44325
74845
74846        Use SVGImageBufferTools logic for RenderSVGResourceClipper, just like RenderSVGResourceMasker/Gradient,
74847        to avoid pixelation, when the clipper is applied to a scaled target object, or when the document is scaled.
74848
74849        Test: svg/clip-path/clip-path-pixelation.svg
74850
74851        * rendering/RenderSVGResourceClipper.cpp:
74852        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
74853        (WebCore::RenderSVGResourceClipper::createClipData):
74854        * rendering/RenderSVGResourceClipper.h:
74855
748562010-08-20  Andreas Kling  <andreas.kling@nokia.com>
74857
74858        Reviewed by Kenneth Rohde Christiansen.
74859
74860        [Qt] Initialize GDK before loading plugins
74861        https://bugs.webkit.org/show_bug.cgi?id=44324
74862
74863        Attempt to call gdk_init_check() before loading any plugins.
74864        This prevents various crashes and freezes in Adobe's Flash plugin.
74865
74866        * plugins/qt/PluginPackageQt.cpp:
74867        (WebCore::initializeGdkIfPossible):
74868        (WebCore::PluginPackage::load):
74869
748702010-08-20  Dan Bernstein  <mitz@apple.com>
74871
74872        Reviewed by Mark Rowe.
74873
74874        Follow-up to r41020.
74875
74876        No change in behavior, thus no new tests.
74877
74878        * platform/graphics/mac/FontPlatformDataMac.mm:
74879        (WebCore::FontPlatformData::FontPlatformData): Asserted that the NSFont parameter is not nil,
74880        and removed nil check.
74881        (WebCore::FontPlatformData::setFont): Asserted that the NSFont parameter is not nil and that
74882        this is not the deleted value, and removed code to handle those cases.
74883
748842010-08-19  Vincent Scheib  <scheib@chromium.org>
74885
74886        Reviewed by David Levin.
74887
74888        [chromium] TilingData::tilePositionY has typo of X where Y should be used
74889        https://bugs.webkit.org/show_bug.cgi?id=44195
74890
74891        Corrected error, and rewrote functions to use for loop instead of recursion.
74892
74893        Unit Tests added to WebKit/chromium/tests/TilingDataTest.cpp
74894
74895        * platform/graphics/chromium/TilingData.cpp:
74896        (WebCore::TilingData::tilePositionX):
74897        (WebCore::TilingData::tilePositionY):
74898
748992010-08-19  Mihai Parparita  <mihaip@chromium.org>
74900
74901        Reviewed by Brady Eidson.
74902
74903        Assertion failure when going back inside frame during onload
74904        https://bugs.webkit.org/show_bug.cgi?id=44217
74905
74906        Fix assertion failure when doing a history.back() within the main frame
74907        during onload of a child frame. This would happen when
74908        HISTORY_ALWAYS_ASYNC was set to 0, because we would only compare the
74909        current frame document sequence numbers when determining if we're in the
74910        same document, instead of also recursing over child frames.
74911
74912        Test: fast/history/history-back-within-subframe-hash.html
74913
74914        * history/HistoryItem.cpp:
74915        (WebCore::HistoryItem::hasSameDocuments):
74916        * history/HistoryItem.h:
74917        * loader/RedirectScheduler.cpp:
74918        (WebCore::RedirectScheduler::scheduleHistoryNavigation):
74919
749202010-08-19  Balazs Kelemen  <kb@inf.u-szeged.hu>
74921
74922        Reviewed by Antonio Gomes.
74923
74924        [Qt] Fix cursor change propagation
74925        https://bugs.webkit.org/show_bug.cgi?id=44250
74926
74927        No functional change so new tests.
74928
74929        Propagate the setCursor callback to the PageClient via the HostWindow instead of preassuming
74930        the concrete type of the ChromeClient (what was generally wrong and actually incompatible with WebKit2).
74931        * platform/qt/WidgetQt.cpp:
74932        (WebCore::Widget::setCursor):
74933
749342010-08-19  Vangelis Kokkevis  <vangelis@chromium.org>
74935
74936        Reviewed by Kenneth Russell.
74937
74938        [chromium] Rearranging the accelerated compositing code such that the
74939        layer rendering logic now lives in the layer classes rather than the
74940        compositor. This lifts the restriction of having one texture per layer
74941        and significantly cleans up the compositor code. This change mostly
74942        resulted in a lot of code moving around files. Noteworthy changes
74943        include:
74944        * Made LayerChromium a proper based class for layers that mostly handles
74945          the updates to the layer properties and superlayer / sublayer updates.
74946        * Introduced a new layer type, ContentLayerChromium, which handles
74947          layers that require a GraphicsContext to render their content.
74948        * ImageLayerChromium and VideoLayerChromium now derive from
74949          ContentLayerChromium as they share the same shader and draw function.
74950        * Removed TransformLayerChromium as its functionality is now replaced by
74951          the base LayerChromium class.
74952        * Re-arranged the order in which the members of LayerChromium are defined
74953          in the header file to form a more reasonable logical grouping.
74954        * Changed LayerRendererChromium to use the shader creation and drawing
74955          methods defined in the layer classes. As a result, a lot of GL code was
74956          removed from the implementation file.
74957        * Eliminated randomly dispersed calls to check for GL errors by a macro (GLC)
74958          which allows turning error testing on/off with a single define (DEBUG_GL_CALLS
74959          defined in LayerRendererChromium.h)
74960        * Replaced the previous layer render loop with two traversals of the layer
74961          hierarchy, the first to update transforms and opacity values and the
74962          second to render the layers. Eliminated global Z sorting of all layers as
74963          it was wrong.
74964        https://bugs.webkit.org/show_bug.cgi?id=44148
74965
74966        Test: Verified that pages using the compositor and compositor
74967              layout tests have not regressed.
74968
74969        * WebCore.gypi:
74970        * platform/graphics/chromium/CanvasLayerChromium.cpp:
74971        (WebCore::CanvasLayerChromium::SharedValues::SharedValues):
74972        (WebCore::CanvasLayerChromium::SharedValues::~SharedValues):
74973        (WebCore::CanvasLayerChromium::updateContents):
74974        (WebCore::CanvasLayerChromium::draw):
74975        * platform/graphics/chromium/CanvasLayerChromium.h:
74976        (WebCore::CanvasLayerChromium::SharedValues::canvasShaderProgram):
74977        (WebCore::CanvasLayerChromium::SharedValues::shaderSamplerLocation):
74978        (WebCore::CanvasLayerChromium::SharedValues::shaderMatrixLocation):
74979        (WebCore::CanvasLayerChromium::SharedValues::shaderAlphaLocation):
74980        (WebCore::CanvasLayerChromium::SharedValues::initialized):
74981        * platform/graphics/chromium/ContentLayerChromium.cpp: Added.
74982        (WebCore::ContentLayerChromium::SharedValues::SharedValues):
74983        (WebCore::ContentLayerChromium::SharedValues::~SharedValues):
74984        (WebCore::ContentLayerChromium::create):
74985        (WebCore::ContentLayerChromium::ContentLayerChromium):
74986        (WebCore::ContentLayerChromium::~ContentLayerChromium):
74987        (WebCore::ContentLayerChromium::updateContents):
74988        (WebCore::ContentLayerChromium::updateTextureRect):
74989        (WebCore::ContentLayerChromium::draw):
74990        * platform/graphics/chromium/ContentLayerChromium.h: Added.
74991        (WebCore::ContentLayerChromium::drawsContent):
74992        (WebCore::ContentLayerChromium::SharedValues::contentShaderProgram):
74993        (WebCore::ContentLayerChromium::SharedValues::shaderSamplerLocation):
74994        (WebCore::ContentLayerChromium::SharedValues::shaderMatrixLocation):
74995        (WebCore::ContentLayerChromium::SharedValues::shaderAlphaLocation):
74996        (WebCore::ContentLayerChromium::SharedValues::initialized):
74997        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
74998        (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
74999        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
75000        * platform/graphics/chromium/ImageLayerChromium.cpp:
75001        (WebCore::ImageLayerChromium::ImageLayerChromium):
75002        (WebCore::ImageLayerChromium::updateContents):
75003        * platform/graphics/chromium/ImageLayerChromium.h:
75004        * platform/graphics/chromium/LayerChromium.cpp:
75005        (WebCore::loadShader):
75006        (WebCore::LayerChromium::SharedValues::SharedValues):
75007        (WebCore::LayerChromium::SharedValues::~SharedValues):
75008        (WebCore::LayerChromium::LayerChromium):
75009        (WebCore::LayerChromium::~LayerChromium):
75010        (WebCore::LayerChromium::createShaderProgram):
75011        (WebCore::LayerChromium::toGLMatrix):
75012        (WebCore::LayerChromium::drawTexturedQuad):
75013        (WebCore::LayerChromium::drawDebugBorder):
75014        (WebCore::LayerChromium::prepareForDraw):
75015        * platform/graphics/chromium/LayerChromium.h:
75016        (WebCore::LayerChromium::getSublayers):
75017        (WebCore::LayerChromium::setPosition):
75018        (WebCore::LayerChromium::contentsDirty):
75019        (WebCore::LayerChromium::drawsContent):
75020        (WebCore::LayerChromium::updateContents):
75021        (WebCore::LayerChromium::draw):
75022        (WebCore::LayerChromium::SharedValues::quadVerticesVbo):
75023        (WebCore::LayerChromium::SharedValues::quadElementsVbo):
75024        (WebCore::LayerChromium::SharedValues::maxTextureSize):
75025        (WebCore::LayerChromium::SharedValues::borderShaderProgram):
75026        (WebCore::LayerChromium::SharedValues::borderShaderMatrixLocation):
75027        (WebCore::LayerChromium::SharedValues::borderShaderColorLocation):
75028        (WebCore::LayerChromium::SharedValues::initialized):
75029        (WebCore::LayerChromium::layerRenderer):
75030        * platform/graphics/chromium/LayerRendererChromium.cpp:
75031        (WebCore::LayerRendererChromium::LayerRendererChromium):
75032        (WebCore::LayerRendererChromium::~LayerRendererChromium):
75033        (WebCore::LayerRendererChromium::debugGLCall):
75034        (WebCore::LayerRendererChromium::useShader):
75035        (WebCore::LayerRendererChromium::drawLayers):
75036        (WebCore::LayerRendererChromium::createLayerTexture):
75037        (WebCore::LayerRendererChromium::updateLayersRecursive):
75038        (WebCore::LayerRendererChromium::drawLayersRecursive):
75039        (WebCore::LayerRendererChromium::drawLayer):
75040        (WebCore::LayerRendererChromium::checkTextureSize):
75041        (WebCore::LayerRendererChromium::initializeSharedObjects):
75042        (WebCore::LayerRendererChromium::cleanupSharedObjects):
75043        * platform/graphics/chromium/LayerRendererChromium.h:
75044        (WebCore::LayerRendererChromium::projectionMatrix):
75045        (WebCore::LayerRendererChromium::layerSharedValues):
75046        (WebCore::LayerRendererChromium::contentLayerSharedValues):
75047        (WebCore::LayerRendererChromium::canvasLayerSharedValues):
75048        * platform/graphics/chromium/TransformLayerChromium.cpp: Removed.
75049        * platform/graphics/chromium/TransformLayerChromium.h: Removed.
75050        * platform/graphics/chromium/VideoLayerChromium.cpp:
75051        (WebCore::VideoLayerChromium::VideoLayerChromium):
75052        (WebCore::VideoLayerChromium::updateContents):
75053        (WebCore::VideoLayerChromium::createTextureRect):
75054        * platform/graphics/chromium/VideoLayerChromium.h:
75055
750562010-08-19  David Kilzer  <ddkilzer@apple.com>
75057
75058        BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins
75059
75060        * WebCore.exp.in:
75061        (WebCore::ScrollView::contentsToWindow): Added export.
75062
750632010-08-19  David Kilzer  <ddkilzer@apple.com>
75064
75065        BUILD FIX #3: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
75066
75067        Still trying to make Qt Linux Release minimal buildbot happy.
75068
75069        * plugins/PluginViewNone.cpp: Compile missing methods for Qt.
75070
750712010-08-19  David Kilzer  <ddkilzer@apple.com>
75072
75073        BUILD FIX: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
75074
75075        Reviewed by Joseph Pecoraro.
75076
75077        * plugins/PluginView.cpp: Added #if ENABLE(NETSCAPE_PLUGIN_API)
75078        and #endif macros around the source to fix the Qt Linux Release
75079        Minimal build.
75080
750812010-08-19  Stephen White  <senorblanco@chromium.org>
75082
75083        Reviewed by Kenneth Russell.
75084
75085        [CHROMIUM] Assert w/canvas image draw
75086        https://bugs.webkit.org/show_bug.cgi?id=44279
75087
75088        Don't use bitmap->pixelRef()->getPixels() directly; prefer
75089        bitmap->pixels() and an SkAutoLockPixels.  Also, make sure to set
75090        the backing store state to Software when it was None.  This handles
75091        missing draws when the first call is software.  Finally, remove some
75092        spurious prepareForSoftwareDraw() calls in addPath() and beginPath().
75093        It's really the fillPath() or strokePath() that matters.
75094
75095        Covered by LayoutTests/fast/canvas/arc360.html and others.
75096
75097        * platform/graphics/skia/GraphicsContextSkia.cpp:
75098        (WebCore::GraphicsContext::addPath):
75099        (WebCore::GraphicsContext::beginPath):
75100        Remove spurious prepareForSoftwareDraw() calls.
75101        * platform/graphics/skia/ImageSkia.cpp:
75102        (WebCore::drawBitmapGLES2):
75103        Lock SkBitmap's pixels, and use ->getPixels().
75104        * platform/graphics/skia/PlatformContextSkia.cpp:
75105        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
75106        Switch backing store state to Software when it was None.
75107
751082010-08-19  David Kilzer  <ddkilzer@apple.com>
75109
75110        <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
75111
75112        Reviewed by Joseph Pecoraro.
75113
75114        * WebCore.exp.in:
75115        (WebCore::HTMLPlugInElement::getNPObject): Moved from general
75116        section into ENABLE(NETSCAPE_PLUGIN_API) section.
75117        (WebCore::FrameView::windowClipRectForLayer): Moved from
75118        ENABLE(NETSCAPE_PLUGIN_API) section to general section since
75119        it's used by WebKit2.
75120        * plugins/PluginView.h: Added #if ENABLE(NETSCAPE_PLUGIN_API)
75121        and #endif macros as needed to make iOS WebKit build with
75122        NETSCAPE_PLUGIN_API disabled.
75123        * plugins/PluginViewNone.cpp: Ditto.
75124        (WebCore::PluginView::platformGetValueStatic):
75125
751262010-08-17  Eric Seidel  <eric@webkit.org>
75127
75128        Reviewed by Adam Barth.
75129
75130        Make DocumentParser safer to use
75131        https://bugs.webkit.org/show_bug.cgi?id=43055
75132
75133        Make DocumentParser and its subclasses RefCounted, and protect
75134        HTMLDocumentParser during parsing. It's possible for a parser to
75135        get deleted if certain actions (e.g., a document.write()) occur
75136        synchronously.
75137
75138        The original version of this patch was written by Nate Chapin.
75139
75140        DocumentParser doesn't actually have to be fully RefCounted, since
75141        the only two things which should ever hold a reference to it are
75142        Document and DocumentParser itself.  However using RefCounted and
75143        RefPtr was easier/cleaner than inventing a custom ref() scheme.
75144
75145        This deploys a new "detach()" method throughout the parsing
75146        framework.  detach() causes the parser to disconnect from the
75147        document so that no further modifications will be made to the
75148        document while any possible DocumentParser stacks are unwound.
75149
75150        The irony of this patch is that the new detach() system is never
75151        used, since Document always outlives the DocumentParser in all of
75152        our layout tests.  There is an ASSERT in ~Document() to verify
75153        that the DocumentParser will not outlive the Document.
75154
75155        However I expect that we will soon either find new test cases, or change
75156        the architecture in such a way that DocumentParser will outlive
75157        Document.  At which point, the detach() plumbing will be crucial.
75158        Right now detach() serves as a safe-guard against use-after-free bugs
75159        for any case where DocumentParser does outlive the Document.
75160
75161        This also fixes test cases attached to:
75162        https://bugs.webkit.org/show_bug.cgi?id=42099
75163
75164        Tests: fast/frames/document-write-in-iframe-onload.html
75165               fast/frames/set-parent-src-synchronously.html
75166               fast/parser/document-close-iframe-load.html
75167               fast/parser/document-close-nested-iframe-load.html
75168               fast/parser/iframe-sets-parent-to-javascript-url.html
75169
75170        * dom/Document.cpp:
75171         - Added a new detachParser() call to be used anywhere we
75172           used to call m_parser.clear().
75173           There is an ASSERT in ~DocumentParser which ensures that
75174           we get this right.
75175        (WebCore::Document::removedLastRef):
75176        (WebCore::Document::~Document):
75177        (WebCore::Document::createParser):
75178        (WebCore::Document::detachParser):
75179        (WebCore::Document::cancelParsing):
75180        (WebCore::Document::implicitOpen):
75181         - removed redundant m_parser.clear()
75182        (WebCore::Document::implicitClose):
75183        * dom/Document.h:
75184        * dom/DocumentParser.cpp:
75185        (WebCore::DocumentParser::~DocumentParser):
75186         - ASSERT that callers always call detach() before destruction.
75187         - This ASSERT might prove too cumbersome, but for now it's useful.
75188        (WebCore::DocumentParser::detach):
75189        * dom/DocumentParser.h:
75190        * dom/RawDataDocumentParser.h:
75191        * dom/XMLDocumentParser.cpp:
75192        (WebCore::XMLDocumentParser::finish):
75193         - Add a FIXME explaining part of the reason why
75194           stopParsing() and detach() are separate concepts.
75195        * dom/XMLDocumentParser.h:
75196        (WebCore::XMLDocumentParser::create):
75197        * dom/XMLDocumentParserLibxml2.cpp:
75198        (WebCore::XMLDocumentParser::parseDocumentFragment):
75199        * dom/XMLDocumentParserQt.cpp:
75200        (WebCore::XMLDocumentParser::parseDocumentFragment):
75201        * html/HTMLConstructionSite.cpp:
75202        (WebCore::HTMLConstructionSite::detach):
75203        (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
75204        * html/HTMLConstructionSite.h:
75205        * html/HTMLDocument.cpp:
75206        (WebCore::HTMLDocument::createParser):
75207        * html/HTMLDocument.h:
75208        * html/HTMLDocumentParser.cpp:
75209         - We need to protect(this) before calling into any code
75210           which might cause the parser to be destroyed.
75211        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
75212        (WebCore::HTMLDocumentParser::detach):
75213        (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
75214        (WebCore::HTMLDocumentParser::pumpTokenizer):
75215        (WebCore::HTMLDocumentParser::insert):
75216        (WebCore::HTMLDocumentParser::append):
75217        (WebCore::HTMLDocumentParser::end):
75218        (WebCore::HTMLDocumentParser::finish):
75219        (WebCore::HTMLDocumentParser::notifyFinished):
75220        (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
75221        (WebCore::HTMLDocumentParser::parseDocumentFragment):
75222        * html/HTMLDocumentParser.h:
75223        (WebCore::HTMLDocumentParser::create):
75224        * html/HTMLScriptRunner.cpp:
75225        (WebCore::HTMLScriptRunner::detach):
75226        (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
75227        (WebCore::HTMLScriptRunner::executeScript):
75228        (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
75229        (WebCore::HTMLScriptRunner::runScript):
75230        * html/HTMLScriptRunner.h:
75231        * html/HTMLTreeBuilder.cpp:
75232        (WebCore::HTMLTreeBuilder::detach):
75233        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
75234        (WebCore::HTMLTreeBuilder::finished):
75235        * html/HTMLTreeBuilder.h:
75236        * html/HTMLViewSourceDocument.cpp:
75237        (WebCore::HTMLViewSourceDocument::createParser):
75238        * html/HTMLViewSourceDocument.h:
75239        * html/HTMLViewSourceParser.cpp:
75240        (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
75241        * html/HTMLViewSourceParser.h:
75242        (WebCore::HTMLViewSourceParser::create):
75243        * loader/FTPDirectoryDocument.cpp:
75244        (WebCore::FTPDirectoryDocumentParser::create):
75245        (WebCore::FTPDirectoryDocument::createParser):
75246        * loader/FTPDirectoryDocument.h:
75247        * loader/ImageDocument.cpp:
75248        (WebCore::ImageDocumentParser::create):
75249        (WebCore::ImageDocumentParser::ImageDocumentParser):
75250        (WebCore::ImageDocument::createParser):
75251        * loader/ImageDocument.h:
75252        * loader/MediaDocument.cpp:
75253        (WebCore::MediaDocumentParser::create):
75254        (WebCore::MediaDocument::createParser):
75255        * loader/MediaDocument.h:
75256        * loader/PluginDocument.cpp:
75257        (WebCore::PluginDocumentParser::create):
75258        (WebCore::PluginDocument::createParser):
75259        * loader/PluginDocument.h:
75260        * loader/SinkDocument.cpp:
75261        (WebCore::SinkDocumentParser::create):
75262        (WebCore::SinkDocument::createParser):
75263        * loader/SinkDocument.h:
75264        * loader/TextDocument.cpp:
75265        (WebCore::TextDocumentParser::create):
75266        (WebCore::TextDocument::createParser):
75267        (WebCore::createTextDocumentParser):
75268        * loader/TextDocument.h:
75269
752702010-08-19  David Kilzer  <ddkilzer@apple.com>
75271
75272        Fix compilation of SelectElement.cpp with ARROW_KEYS_POP_MENU == 0
75273
75274        Reviewed by Simon Fraser.
75275
75276        * dom/SelectElement.cpp:
75277        (WebCore::SelectElement::menuListDefaultEventHandler): Added
75278        UNUSED_PARAM() macro for htmlForm argument when
75279        ARROW_KEYS_POP_MENU defined as zero.
75280
752812010-08-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
75282
75283        Reviewed by Simon Hausmann.
75284
75285        [Qt] Disable XSLT for production configuration
75286        https://bugs.webkit.org/show_bug.cgi?id=37445
75287
75288        Introduce a new CONFIG option to maintain stable configuration for
75289        the QtWebKit port and disable XSLT for the stable configuration
75290        because of bug 37445.
75291
75292        No new tests as there is no new functionality.
75293
75294        * features.pri:
75295
752962010-08-18  Zhenyao Mo  <zmo@google.com>
75297
75298        Reviewed by Kenneth Russell.
75299
75300        Implement strict type checking in js bindings for WebGL functions
75301        https://bugs.webkit.org/show_bug.cgi?id=44202
75302
75303        Test: fast/canvas/webgl/bad-arguments-test.html
75304
75305        * bindings/js/JSWebGLRenderingContextCustom.cpp: Add type check for wrapper types and DOMString and throw error in case of mismatch.
75306        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
75307        (WebCore::JSWebGLRenderingContext::getProgramParameter):
75308        (WebCore::JSWebGLRenderingContext::getShaderParameter):
75309        (WebCore::JSWebGLRenderingContext::getUniform):
75310        (WebCore::dataFunctionf):
75311        (WebCore::dataFunctioni):
75312        (WebCore::dataFunctionMatrix):
75313        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
75314        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
75315        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: Ditto.
75316        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
75317        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
75318        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
75319        (WebCore::V8WebGLRenderingContext::getUniformCallback):
75320        (WebCore::vertexAttribAndUniformHelperf):
75321        (WebCore::uniformHelperi):
75322        (WebCore::uniformMatrixHelper):
75323        * html/canvas/WebGLRenderingContext.idl: Add attribute StrictTypeChecking for WebGL functions.
75324
753252010-08-19  Simon Fraser  <simon.fraser@apple.com>
75326
75327        Reviewed by Sam Weinig.
75328
75329        Clean up some selection code
75330        https://bugs.webkit.org/show_bug.cgi?id=44314
75331        
75332        Change the concept of "layout" in SelectionController to "updateCaretRect", renaming
75333        methods accordingly.
75334        
75335        Move selection and printing methods in RenderView.h into groups.
75336
75337        No behavioral changes.
75338
75339        * editing/SelectionController.cpp:
75340        (WebCore::SelectionController::SelectionController):
75341        (WebCore::SelectionController::setSelection):
75342        (WebCore::SelectionController::modify):
75343        (WebCore::SelectionController::setCaretRectNeedsUpdate):
75344        (WebCore::SelectionController::updateCaretRect):
75345        (WebCore::SelectionController::localCaretRect):
75346        (WebCore::SelectionController::recomputeCaretRect): Test m_caretRectNeedsUpdate first.
75347        (WebCore::SelectionController::invalidateCaretRect):
75348        * editing/SelectionController.h:
75349        * page/FrameView.cpp:
75350        (WebCore::FrameView::layout):
75351        * rendering/RenderLayer.cpp:
75352        (WebCore::RenderLayer::scrollToOffset):
75353        * rendering/RenderView.h:
75354        (WebCore::RenderView::selectionStart):
75355        (WebCore::RenderView::selectionEnd):
75356        (WebCore::RenderView::printRect):
75357        (WebCore::RenderView::setPrintRect):
75358
753592010-08-19  Simon Fraser  <simon.fraser@apple.com>
75360
75361        Fix Chromium build.
75362        
75363        * svg/SVGElement.cpp:
75364        (WebCore::SVGElement::attributeChanged):
75365
753662010-08-19  Simon Fraser  <simon.fraser@apple.com>
75367
75368        Reviewed by Nikolas Zimmermann.
75369
75370        HTMLElement::isContentEditable() can cause an updateStyleIfNeeded() to happen in the middle of layout
75371        https://bugs.webkit.org/show_bug.cgi?id=21834
75372        <rdar://problem/8093653&8261394>
75373        
75374        If we're in the middle of layout, or painting, and something causes updateStyleIfNeeded() to
75375        get called, then we can end up entering recalcStyle() during layout or painting. This is bad
75376        because it can create/destry the renderers and RenderLayers which are in use by layout/painting.
75377        This is the cause of a number of random crashers, some of which show up more frequently
75378        in content which uses accelerated compositing.
75379        
75380        The changes here:
75381        1. Add an assertion in Document::updateStyleIfNeeded() that we are not laying out or painting.
75382        2. Remove calls to updateStyleIfNeeded() in editing and caret painting code
75383        3. Pass along information to CTM and BBox-related SVG methods to indicate whether it's safe
75384           to update style.
75385
75386        Tested by new assertions and existing tests.
75387
75388        * dom/Document.cpp:
75389        (WebCore::Document::updateStyleIfNeeded): New assertion that we are not mid-layout or painting.
75390        (WebCore::command): Call updateStyleIfNeeded() to ensure that subsequent calls to isContentEditable()
75391        return the correct result.
75392
75393        * dom/Element.cpp:
75394        (WebCore::Element::focus): Move the supportsFocus() call to after style has been updated.
75395
75396        * editing/SelectionController.cpp:
75397        (WebCore::SelectionController::localCaretRect):
75398        (WebCore::SelectionController::caretRepaintRect):
75399        (WebCore::SelectionController::paintCaret):
75400        * editing/SelectionController.h:
75401        (WebCore::SelectionController::localCaretRectForPainting): When painting, use localCaretRectForPainting()
75402        which does not update style. Make localCaretRect() non-const so allowing it to update style without ugly casts.
75403
75404        * html/HTMLElement.cpp:
75405        (WebCore::HTMLElement::isContentEditable): Don't call updateStyleIfNeeded() here.
75406        (WebCore::HTMLElement::isContentRichlyEditable): Ditto.
75407        (WebCore::HTMLElement::contentEditable): Ditto.
75408
75409        * page/FrameView.h:
75410        (WebCore::FrameView::isMidLayout): New accessor, used for asserting.
75411
75412        * rendering/RenderPath.cpp:
75413        (WebCore::fillAndStrokePath): Pass DisallowStyleUpdate to getScreenCTM since we are painting.
75414        * rendering/RenderSVGResourceContainer.cpp:
75415        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): This is only called when
75416        painting, so use DisallowStyleUpdate.
75417
75418        * svg/SVGElement.cpp:
75419        (WebCore::SVGElement::attributeChanged): Changes to the style attribute should not have
75420        side effects, since a call to Element::getAttribute() is allowed to result in a call to
75421        setAttribute() for the style attribute. To avoid updateStyleIfNeeded() during painting,
75422        this must not cause SVG to do extra work.
75423
75424        * svg/SVGLocatable.cpp: Pass StyleUpdateStrategy down to these methods to indicate
75425        whether it's OK to update style.
75426        (WebCore::SVGLocatable::getBBox):
75427        (WebCore::SVGLocatable::computeCTM):
75428        (WebCore::SVGLocatable::getTransformToElement):
75429        * svg/SVGLocatable.h:
75430        (WebCore::SVGLocatable::):
75431        * svg/SVGStyledLocatableElement.cpp:
75432        (WebCore::SVGStyledLocatableElement::getBBox):
75433        (WebCore::SVGStyledLocatableElement::getCTM):
75434        (WebCore::SVGStyledLocatableElement::getScreenCTM):
75435        * svg/SVGStyledLocatableElement.h:
75436        * svg/SVGStyledTransformableElement.cpp:
75437        (WebCore::SVGStyledTransformableElement::getCTM):
75438        (WebCore::SVGStyledTransformableElement::getScreenCTM):
75439        (WebCore::SVGStyledTransformableElement::getBBox):
75440        * svg/SVGStyledTransformableElement.h:
75441        * svg/SVGTextElement.cpp:
75442        (WebCore::SVGTextElement::getBBox):
75443        (WebCore::SVGTextElement::getCTM):
75444        (WebCore::SVGTextElement::getScreenCTM):
75445        * svg/SVGTextElement.h:
75446
754472010-08-19  Ryosuke Niwa  <rniwa@webkit.org>
75448
75449        Reviewed by Darin Adler.
75450
75451        Range, EAnnotateForInterchange, and EAbsoluteURLs should be member variables of MarkupAccumulator
75452        https://bugs.webkit.org/show_bug.cgi?id=44229
75453
75454        No new tests are added since this is a clean up.
75455
75456        * editing/markup.cpp:
75457        (WebCore::MarkupAccumulator::MarkupAccumulator): Added shouldResolveURLs, shouldAnnotate, and range.
75458        (WebCore::MarkupAccumulator::shouldResolveURLs): Private inline accessor for m_shouldResolveURLs.
75459        (WebCore::MarkupAccumulator::shouldAnnotate): Private inline accessor for m_shouldAnnotate.
75460        (WebCore::MarkupAccumulator::appendEndTag): Renamed local variable result to markup.
75461        (WebCore::MarkupAccumulator::appendStartTag): Removed range, annotate, shouldResolveURLs from the function arguments.
75462        (WebCore::MarkupAccumulator::wrapWithNode): Ditto.
75463        (WebCore::MarkupAccumulator::appendStartMarkup): Ditto.
75464        (WebCore::serializeNodes): Ditto and uses MarkupAccumulator.
75465        (WebCore::createMarkup): Uses MarkupAccumulator.
75466        (WebCore::serializeNodesWithNamespaces): Ditto.
75467
754682010-08-19  Pavel Feldman  <pfeldman@chromium.org>
75469
75470        Reviewed by Yury Semikhatsky.
75471
75472        Web Inspector: do not dump inspector errors into the inspected window console.
75473        https://bugs.webkit.org/show_bug.cgi?id=44272
75474
75475        * inspector/front-end/inspector.js:
75476        (WebInspector.reportProtocolError):
75477
754782010-08-19  Jeremy Orlow  <jorlow@chromium.org>
75479
75480        Chromium build fix.
75481
75482        Use ASSERT_UNUSED on variables that aren't used besides by the ASSERT.
75483
75484        * storage/IDBDatabaseBackendImpl.cpp:
75485        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
75486        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
75487        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
75488        * storage/IDBObjectStoreBackendImpl.cpp:
75489        (WebCore::IDBObjectStoreBackendImpl::get):
75490        (WebCore::IDBObjectStoreBackendImpl::put):
75491        (WebCore::IDBObjectStoreBackendImpl::remove):
75492        (WebCore::IDBObjectStoreBackendImpl::createIndex):
75493        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
75494        (WebCore::IDBObjectStoreBackendImpl::openCursor):
75495        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
75496
754972010-08-19  Andrey Kosyakov  <caseq@chromium.org>
75498
75499        Reviewed by Pavel Feldman.
75500
75501        Web Inspector: expose Panel.onSelectionChanged in extension API
75502        https://bugs.webkit.org/show_bug.cgi?id=44171
75503
75504        * inspector/front-end/ExtensionAPI.js:
75505        (injectedExtensionAPI.PanelImpl):
75506        (injectedExtensionAPI):
75507
755082010-08-19  Andrei Popescu  <andreip@google.com>
75509
75510        Reviewed by Jeremy Orlow.
75511
75512        [IndexedDB] Abort idle IDBTransactions when the JS context they were created in finishes execution.
75513        https://bugs.webkit.org/show_bug.cgi?id=44101
75514
75515        This change also introduces the TransactionCoordinator, which will be used
75516        to schedule transactions for execution.
75517
75518        Test: storage/indexeddb/transaction-basics.html
75519
75520        * WebCore.gypi:
75521        * bindings/v8/V8DOMWrapper.cpp:
75522        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
75523        * bindings/v8/V8Proxy.cpp:
75524        (WebCore::V8Proxy::runScript):
75525        (WebCore::V8Proxy::callFunction):
75526        (WebCore::V8Proxy::didLeaveScriptContext):
75527        * bindings/v8/V8Proxy.h:
75528        * dom/EventTarget.cpp:
75529        (WebCore::EventTarget::toIDBTransaction):
75530        * dom/EventTarget.h:
75531        * page/PageGroup.h:
75532        (WebCore::PageGroup::hasIDBFactory):
75533        * storage/IDBAbortEvent.cpp: Added.
75534        (WebCore::IDBAbortEvent::create):
75535        (WebCore::IDBAbortEvent::IDBAbortEvent):
75536        (WebCore::IDBAbortEvent::~IDBAbortEvent):
75537        * storage/IDBAbortEvent.h: Added.
75538        (WebCore::IDBAbortEvent::isIDBAbortEvent):
75539        * storage/IDBDatabase.cpp:
75540        (WebCore::IDBDatabase::transaction):
75541        * storage/IDBDatabaseBackendImpl.cpp:
75542        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
75543        (WebCore::IDBDatabaseBackendImpl::transaction):
75544        * storage/IDBDatabaseBackendImpl.h:
75545        (WebCore::IDBDatabaseBackendImpl::create):
75546        * storage/IDBDatabaseBackendInterface.h:
75547        * storage/IDBFactoryBackendImpl.cpp:
75548        (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
75549        (WebCore::IDBFactoryBackendImpl::open):
75550        (WebCore::IDBFactoryBackendImpl::abortPendingTransactions):
75551        * storage/IDBFactoryBackendImpl.h:
75552        * storage/IDBFactoryBackendInterface.h:
75553        * storage/IDBPendingTransactionMonitor.cpp: Added.
75554        (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
75555        (WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
75556        (WebCore::IDBPendingTransactionMonitor::clearPendingTransactions):
75557        (WebCore::IDBPendingTransactionMonitor::pendingTransactions):
75558        * storage/IDBPendingTransactionMonitor.h: Added.
75559        * storage/IDBTransaction.cpp:
75560        (WebCore::IDBTransaction::IDBTransaction):
75561        (WebCore::IDBTransaction::onAbort):
75562        (WebCore::IDBTransaction::id):
75563        (WebCore::IDBTransaction::stop):
75564        (WebCore::IDBTransaction::timerFired):
75565        * storage/IDBTransaction.h:
75566        * storage/IDBTransactionBackendInterface.h:
75567        * storage/IDBTransactionCallbacks.h: Added.
75568        (WebCore::IDBTransactionCallbacks::~IDBTransactionCallbacks):
75569        * storage/IDBTransactionCoordinator.cpp: Added.
75570        (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
75571        (WebCore::IDBTransactionBackendImpl::create):
75572        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
75573        (WebCore::IDBTransactionBackendImpl::objectStore):
75574        (WebCore::IDBTransactionBackendImpl::mode):
75575        (WebCore::IDBTransactionBackendImpl::scheduleTask):
75576        (WebCore::IDBTransactionBackendImpl::abort):
75577        (WebCore::IDBTransactionBackendImpl::sqliteDatabase):
75578        (WebCore::IDBTransactionBackendImpl::id):
75579        (WebCore::IDBTransactionBackendImpl::setCallbacks):
75580        (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
75581        (WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
75582        (WebCore::IDBTransactionCoordinator::createTransaction):
75583        (WebCore::IDBTransactionCoordinator::abort):
75584        * storage/IDBTransactionCoordinator.h: Added.
75585        (WebCore::IDBTransactionCoordinator::create):
75586
755872010-08-19  Pavel Feldman  <pfeldman@chromium.org>
75588
75589        Reviewed by Yury Semikhatsky.
75590
75591        Chromium DevTools: There is no need in resource-based InjectedScript.js source.
75592        Now that we populate front-end after its onload handler, we don't need
75593        to install injected script early. Exposing injected script source on the WebCore
75594        level here.
75595        https://bugs.webkit.org/show_bug.cgi?id=44029
75596
75597        * inspector/InjectedScriptHost.h:
75598        (WebCore::InjectedScriptHost::injectedScriptSource):
75599
756002010-08-18  Jeremy Orlow  <jorlow@chromium.org>
75601
75602        Reviewed by Steve Block.
75603
75604        Implement persistance for IndexedDB ObjectStores
75605        https://bugs.webkit.org/show_bug.cgi?id=44164
75606
75607        Get rid of the in-memory storage of ObjectStores and instead
75608        use SQL backed memory.
75609
75610        Existing tests give most of the coverage.  Will update the manual
75611        test in the next patch (which will also re-work database.description).
75612
75613        * manual-tests/indexed-database.html: Get rid of race where you can click before the page loads.
75614        * platform/sql/SQLiteStatement.cpp: Add two helper functions
75615        (WebCore::SQLiteStatement::bindInt):
75616        (WebCore::SQLiteStatement::isColumnNull):
75617        * platform/sql/SQLiteStatement.h:
75618        * storage/IDBCursorBackendImpl.cpp: 
75619        * storage/IDBDatabaseBackendImpl.cpp:
75620        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
75621        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
75622        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
75623        (WebCore::IDBDatabaseBackendImpl::importObjectStores):
75624        * storage/IDBDatabaseBackendImpl.h:
75625        (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
75626        * storage/IDBFactoryBackendImpl.cpp:
75627        (WebCore::createTables):
75628        * storage/IDBIndexBackendImpl.cpp:
75629        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
75630        (WebCore::IDBIndexBackendImpl::sqliteDatabase):
75631        * storage/IDBIndexBackendImpl.h:
75632        (WebCore::IDBIndexBackendImpl::create):
75633        * storage/IDBObjectStoreBackendImpl.cpp:
75634        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
75635        (WebCore::whereClause):
75636        (WebCore::bindKey):
75637        (WebCore::IDBObjectStoreBackendImpl::get):
75638        (WebCore::IDBObjectStoreBackendImpl::put):
75639        (WebCore::IDBObjectStoreBackendImpl::remove):
75640        (WebCore::IDBObjectStoreBackendImpl::createIndex):
75641        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
75642        (WebCore::IDBObjectStoreBackendImpl::openCursor):
75643        (WebCore::IDBObjectStoreBackendImpl::importIndexes):
75644        (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
75645        * storage/IDBObjectStoreBackendImpl.h:
75646        (WebCore::IDBObjectStoreBackendImpl::create):
75647        (WebCore::IDBObjectStoreBackendImpl::database):
75648
756492010-08-19  Nikolas Zimmermann  <nzimmermann@rim.com>
75650
75651        Reviewed by Dirk Schulze.
75652
75653        Pattern is rasterized
75654        https://bugs.webkit.org/show_bug.cgi?id=41396
75655
75656        SVG pattern size changed when resizing browser
75657        https://bugs.webkit.org/show_bug.cgi?id=38704
75658
75659        Incorrect pattern tilling
75660        https://bugs.webkit.org/show_bug.cgi?id=41603
75661
75662        Apply same fixes to <pattern> that <mask> recently received. Build the tile image in absolute coordinates,
75663        to avoid pixelation, when the target element is scaled. Also fixes problems when zooming into patterns.
75664
75665        Clamp ImageBuffer sizes to RenderSVGRoots viewport, now that gradient/pattern and mask buffers are created
75666        in absolute coordinates -> no more huge image buffer allocations, that could fail.
75667
75668        Drop overflow="visible" support for <pattern>, which complicates the code a lot. Neither Opera nor Firefox
75669        support this, and SVG 1.1 2nd Edition says that the rendering behaviour is "undefined".
75670
75671        Tests: svg/batik/paints/patternRegions-positioned-objects.svg
75672               svg/custom/pattern-incorrect-tiling.svg
75673               svg/custom/pattern-no-pixelation.svg
75674               svg/transforms/text-with-mask-with-svg-transform.svg
75675
75676        * rendering/PaintInfo.h:
75677        (WebCore::PaintInfo::applyTransform): Don't alter the repaint rect if it's infinite (only affects SVG).
75678        (WebCore::PaintInfo::infiniteRect): Moved from RenderLayer into PaintInfo, as applyTransform() needs it.
75679        * rendering/RenderLayer.cpp:
75680        (WebCore::RenderLayer::calculateClipRects): s/ClipRects::infiniteRect/PaintInfo::infiniteRect/
75681        * rendering/RenderLayer.h: Moved infiniteRect() to PaintInfo.
75682        * rendering/RenderLayerBacking.cpp:
75683        (WebCore::clipBox): s/ClipRects::infiniteRect/PaintInfo::infiniteRect/
75684        * rendering/RenderLayerCompositor.cpp:
75685        (WebCore::RenderLayerCompositor::clippedByAncestor): Ditto.
75686        * rendering/RenderSVGResourceGradient.cpp:
75687        (WebCore::createMaskAndSwapContextForTextGradient): Clamp image buffer size, use new SVGImageBufferTools helper methods for that.
75688        (WebCore::clipToTextMask): Adapt to renames/code changes in SVGImageBufferTools. 
75689        (WebCore::RenderSVGResourceGradient::applyResource): Ditto.
75690        * rendering/RenderSVGResourceMasker.cpp:
75691        (WebCore::RenderSVGResourceMasker::applyResource): lamp image buffer size, use new SVGImageBufferTools helper methods for that.
75692        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): Adapt to renames/code changes in SVGImageBufferTools.
75693        * rendering/RenderSVGResourceMasker.h:
75694        * rendering/RenderSVGResourcePattern.cpp:
75695        (WebCore::RenderSVGResourcePattern::applyResource): Rewrite to create tile image buffers in absolute coordinates, avoids pixelation artefacts.
75696        (WebCore::calculatePatternBoundaries):
75697        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
75698        (WebCore::RenderSVGResourcePattern::createTileImage):
75699        * rendering/RenderSVGResourcePattern.h:
75700        * rendering/SVGImageBufferTools.cpp:
75701        (WebCore::SVGImageBufferTools::transformationToOutermostSVGCoordinateSystem): Helper method, concating all localToParentTransforms() up until RenderSVGRoot is reached.
75702        (WebCore::SVGImageBufferTools::createImageBuffer): Simplified.
75703        (WebCore::SVGImageBufferTools::clipToImageBuffer): Rename absoluteTargetRect to clampedAbsoluteTargetRect.
75704        (WebCore::SVGImageBufferTools::roundedImageBufferSize): New helper method to centralize FloatSize -> IntSize rounding, when creating image buffers.
75705        (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer): New helper methods to clamp an image buffer rect against the viewport.
75706        * rendering/SVGImageBufferTools.h:
75707        * rendering/SVGRenderSupport.cpp:
75708        (WebCore::SVGRenderSupport::renderSubtreeToImage): Use PaintInfo::infiniteRect() as repaint rect, to avoid any culling. 
75709        (WebCore::SVGRenderSupport::findTreeRootObject): Renamed from svgRootTreeObject, and expose it.
75710        (WebCore::SVGRenderSupport::layoutChildren): s/svgRootTreeObject/findTreeRootObject/.
75711        * rendering/SVGRenderSupport.h:
75712        * svg/SVGSVGElement.cpp:
75713        (WebCore::SVGSVGElement::setCurrentTranslate): Be sure to relayout on invalidation, otherwhise resources are not updated, and we have to update them, as they depend on the absolute transform.
75714
757152010-08-19  Alejandro G. Castro  <alex@igalia.com>
75716
75717        Reviewed by Dirk Schulze.
75718
75719        [GTK] The size of the shadow image uses the standard deviation
75720        size instead of the blur radius
75721        https://bugs.webkit.org/show_bug.cgi?id=40793
75722
75723        The kernelSize variable was renamed to radius and recalculated
75724        considering the CSS3 specification
75725        http://www.w3.org/TR/css3-background/#the-box-shadow, and the
75726        visual result of other browsers. The HTML5 canvas shadow standard
75727        deviation calculation that was used, was not appropiate for the
75728        blur distance specified in the CSS3.
75729
75730        * platform/graphics/GraphicsContext.h:
75731        * platform/graphics/cairo/FontCairo.cpp:
75732        (WebCore::Font::drawGlyphs):
75733        * platform/graphics/cairo/GraphicsContextCairo.cpp:
75734        (WebCore::GraphicsContext::calculateShadowBufferDimensions):
75735        Changed the calculation, now we use the parameter in the style
75736        directly as recomended in the CSS3 standard.
75737        (WebCore::drawPathShadow):
75738        (WebCore::drawBorderlessRectShadow):
75739        (WebCore::GraphicsContext::createPlatformShadow): We get the
75740        standard deviation from the radius using the new function and we
75741        create the filter with that deviation.
75742        * platform/graphics/cairo/ImageCairo.cpp:
75743        (WebCore::BitmapImage::draw):
75744        * platform/graphics/filters/FEGaussianBlur.cpp:
75745        (WebCore::FEGaussianBlur::calculateStdDeviation):  Added this
75746        function that gets the standard deviation from the blur
75747        radius. Required in the CSS3 case where we have this radio and we
75748        need the deviation to initialize the algorithm.
75749        * platform/graphics/filters/FEGaussianBlur.h:
75750
757512010-08-19  Andreas Kling  <andreas.kling@nokia.com>
75752
75753        Reviewed by Kenneth Rohde Christiansen.
75754
75755        [Qt] Avoid unnecessary string copy in TextCodecQt::decode()
75756        https://bugs.webkit.org/show_bug.cgi?id=44232
75757
75758        * platform/text/qt/TextCodecQt.cpp:
75759        (WebCore::TextCodecQt::decode): Use String::append(const UChar*, int)
75760        to avoid creating a temporary string.
75761
757622010-08-19  Philippe Normand  <pnormand@igalia.com>
75763
75764        Reviewed by Gustavo Noronha Silva.
75765
75766        [GStreamer] GTK XOverlay support in GStreamerGWorld
75767        https://bugs.webkit.org/show_bug.cgi?id=39474
75768
75769        GStreamerGWorld now catches synchronous messages coming from the
75770        sinks and creates a GTK window where the video can be overlayed if
75771        fullscreen display is requested using enterFullscreen.
75772
75773        * GNUmakefile.am:
75774        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
75775        (WebCore::gstGWorldSyncMessageCallback):
75776        (WebCore::GStreamerGWorld::GStreamerGWorld):
75777        (WebCore::GStreamerGWorld::~GStreamerGWorld):
75778        (WebCore::GStreamerGWorld::enterFullscreen):
75779        (WebCore::GStreamerGWorld::exitFullscreen):
75780        (WebCore::GStreamerGWorld::setWindowOverlay):
75781        * platform/graphics/gstreamer/GStreamerGWorld.h:
75782        (WebCore::GStreamerGWorld::pipeline):
75783        (WebCore::GStreamerGWorld::platformVideoWindow):
75784        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
75785        * platform/graphics/gstreamer/PlatformVideoWindow.h: Added.
75786        (WebCore::PlatformVideoWindow::createWindow):
75787        (WebCore::PlatformVideoWindow::window):
75788        (WebCore::PlatformVideoWindow::videoWindowId):
75789        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Added.
75790        (PlatformVideoWindow::PlatformVideoWindow):
75791
757922010-08-19  Eric Uhrhane  <ericu@chromium.org>
75793
75794        Reviewed by David Levin.
75795
75796        Add idl and mock classes for FileWriter.
75797        https://bugs.webkit.org/show_bug.cgi?id=44075
75798
75799        No new tests, since there's no new functionality.
75800
75801        New do-nothing classes, but the real IDL:
75802        * FileWriter.idl:
75803        * FileWriter.h:
75804        * FileWriter.cpp:
75805
75806        The build file changes to include the above:
75807        * CMakeLists.txt:
75808        * DerivedSources.cpp:
75809        * DerivedSources.make:
75810        * GNUmakefile.am:
75811        * WebCore.gypi:
75812        * WebCore.pri:
75813        * WebCore.pro:
75814        * WebCore.vcproj/WebCore.vcproj:
75815        * WebCore.xcodeproj/project.pbxproj:
75816
75817        Added FileWriter event names and required EventTarget changes.
75818        * dom/EventNames.h:
75819        * dom/EventTarget.cpp:
75820        (WebCore::EventTarget::toFileWriter):
75821        * dom/EventTarget.h:
75822
758232010-08-18  Andreas Kling  <andreas.kling@nokia.com>
75824
75825        Rubber-stamped by Ariya Hidayat.
75826
75827        [Qt] Remove unused variable in GraphicsContext::fillRect()
75828
75829        * platform/graphics/qt/GraphicsContextQt.cpp:
75830        (WebCore::GraphicsContext::fillRect):
75831
758322010-08-18  Ariya Hidayat  <ariya@sencha.com>
75833
75834        Reviewed by Kenneth Rohde Christiansen.
75835
75836        [Qt] Short lived shadow buffer for blur operation
75837        https://bugs.webkit.org/show_bug.cgi?id=44094
75838
75839        ContextShadow needs a scratch image as the buffer for the blur filter.
75840        Instead of creating and destroying the buffer for every operation,
75841        we create a buffer which will be automatically purged via a timer.
75842
75843        * platform/graphics/qt/ContextShadow.cpp:
75844        (WebCore::):
75845        (WebCore::ShadowBuffer::ShadowBuffer):
75846        (WebCore::ShadowBuffer::scratchImage):
75847        (WebCore::ShadowBuffer::schedulePurge):
75848        (WebCore::ShadowBuffer::purgeBuffer):
75849        (WebCore::ContextShadow::drawShadowRect):
75850
758512010-08-18  Alexey Marinichev  <amarinichev@chromium.org>
75852
75853        Reviewed by Darin Fisher.
75854
75855        [chromium] scrolling issues when accelerated compositor is enabled
75856        https://bugs.webkit.org/show_bug.cgi?id=43992
75857
75858        Corrected scroll position not being updated, and an off-by-half error.
75859        Int cast and floorf are taken out because they produce incorrect
75860        transformation matrix.  The information lost there is not immediately
75861        obvious because of rounding that happens when texture is mapped with
75862        GL_NEAREST filtering mode.  These errors accumulate, and after some
75863        scrolling it becomes more apparent.
75864
75865        To test the former, follow instructions in the bug.  To test the
75866        latter, change GL_NEAREST to GL_LINEAR in LayerRendererChromium.cpp.
75867        Scrolling should work properly for all window sizes, without blurring
75868        images and shifting them to the left.
75869
75870        * platform/graphics/chromium/LayerRendererChromium.cpp:
75871        (WebCore::LayerRendererChromium::drawLayers):
75872
758732010-08-18  Simon Hausmann  <simon.hausmann@nokia.com>
75874
75875        Reviewed by Ariya Hidayat.
75876
75877        [Qt] Implement GraphicsContext::clipOut more efficiently
75878        https://bugs.webkit.org/show_bug.cgi?id=43416
75879
75880        The current implementation of clipOut uses QPainter::clipRegion().boundingRect(),
75881        which is a very slow function because it converts the entire clip region - which
75882        may potentially contain a complex path - into a set of QRegion rectangles, just
75883        to throw away all that information and use the bounding rect.
75884
75885        QTBUG-12618 implements a faster function in QPainter: QPainter::clipBoundingRect().
75886
75887        * platform/graphics/qt/GraphicsContextQt.cpp:
75888        (WebCore::GraphicsContext::clipOut): Use QPainter::clipBoundingRect() with Qt >= 4.8.
75889        (WebCore::GraphicsContext::clipOutEllipseInRect): Ditto.
75890
758912010-08-18  Martin Robinson  <mrobinson@igalia.com>
75892
75893        Reviewed by Gustavo Noronha Silva.
75894
75895        [GTK] Since the GSEAL changes moz_gtk_scrollbar_button_paint fiddles the widget allocation but doesn't preserve it
75896        https://bugs.webkit.org/show_bug.cgi?id=44211
75897
75898        No new tests as we do not currently use the scrollbar button painting
75899        code. Tests for this issue will be enabled when we have pixel tests
75900        for WebCore-drawn interior frame scrollbars.
75901
75902        * platform/gtk/GtkVersioning.h: Add backward-compatible functions for getting
75903        and setting the widget allocation.
75904        * platform/gtk/gtk2drawing.c:
75905        (moz_gtk_scrollbar_button_paint): Use new backward-compatible functions for getting
75906        and setting the widget allocation.
75907
759082010-08-18  Ryosuke Niwa  <rniwa@webkit.org>
75909
75910        Reviewed by Darin Adler.
75911
75912        Group functions in markup.cpp into MarkupAccumulatorWrapper
75913        https://bugs.webkit.org/show_bug.cgi?id=43936
75914
75915        Renamed MarkupAccumulatorWrapper to MarkupAccumulator and moved the MarkupAccumulatorWrapper
75916        to the top of markup.cpp. Made various functions private member functions of MarkupAccumulator.
75917
75918        No new tests are added since this is a cleanup.
75919
75920        * editing/markup.cpp:
75921        (WebCore::MarkupAccumulator::):
75922        (WebCore::MarkupAccumulator::MarkupAccumulator):
75923        (WebCore::MarkupAccumulator::appendString):
75924        (WebCore::MarkupAccumulator::appendStartTag):
75925        (WebCore::MarkupAccumulator::appendEndTag):
75926        (WebCore::MarkupAccumulator::wrapWithNode):
75927        (WebCore::MarkupAccumulator::wrapWithStyleNode):
75928        (WebCore::MarkupAccumulator::takeResults):
75929        (WebCore::MarkupAccumulator::appendAttributeValue):
75930        (WebCore::MarkupAccumulator::escapeContentText):
75931        (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
75932        (WebCore::MarkupAccumulator::stringValueForRange):
75933        (WebCore::MarkupAccumulator::ucharRange):
75934        (WebCore::MarkupAccumulator::appendUCharRange):
75935        (WebCore::MarkupAccumulator::renderedText):
75936        (WebCore::MarkupAccumulator::shouldAddNamespaceElement):
75937        (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
75938        (WebCore::MarkupAccumulator::appendNamespace):
75939        (WebCore::MarkupAccumulator::appendDocumentType):
75940        (WebCore::MarkupAccumulator::removeExteriorStyles):
75941        (WebCore::MarkupAccumulator::appendStartMarkup):
75942        (WebCore::MarkupAccumulator::shouldSelfClose):
75943        (WebCore::MarkupAccumulator::appendEndMarkup):
75944        (WebCore::serializeNodes):
75945        (WebCore::createMarkup):
75946        (WebCore::serializeNodesWithNamespaces):
75947
759482010-08-18  Beth Dakin  <bdakin@apple.com>
75949
75950        Reviewed by Sam Weinig.
75951
75952        Fix for https://bugs.webkit.org/show_bug.cgi?id=44207 Empty mfrac 
75953        and empty munderover cause crashes
75954       -and corresponding-
75955        <rdar://problem/8325160>
75956
75957        This is just a  matter of adding null checks in the right places.
75958        * mathml/RenderMathMLFraction.cpp:
75959        (WebCore::RenderMathMLFraction::baselinePosition):
75960        * mathml/RenderMathMLUnderOver.cpp:
75961        (WebCore::RenderMathMLUnderOver::baselinePosition):
75962
759632010-08-18  Jian Li  <jianli@chromium.org>
75964
75965        Reviewed by David Levin.
75966
75967        Move FileStream to platform.
75968        https://bugs.webkit.org/show_bug.cgi?id=44213
75969
75970        In addition to moving files over, FileStream has been changed to remove
75971        ExceptionCode dependency. Also update FileStreamProxy and FileRead to
75972        account for this change.
75973
75974        * Android.mk:
75975        * GNUmakefile.am:
75976        * WebCore.gypi:
75977        * WebCore.pro:
75978        * WebCore.vcproj/WebCore.vcproj:
75979        * WebCore.xcodeproj/project.pbxproj:
75980        * html/FileReader.cpp:
75981        (WebCore::FileReader::didOpen):
75982        * html/FileReader.h:
75983        * html/FileStream.cpp: Removed.
75984        * html/FileStream.h: Removed.
75985        * html/FileStreamClient.h:
75986        (WebCore::FileStreamClient::didTruncate):
75987        (WebCore::FileStreamClient::didOpen):
75988        * html/FileStreamProxy.cpp:
75989        (WebCore::didOpen):
75990        (WebCore::FileStreamProxy::openForReadOnFileThread):
75991        (WebCore::FileStreamProxy::openForWriteOnFileThread):
75992        (WebCore::FileStreamProxy::write):
75993        (WebCore::FileStreamProxy::writeOnFileThread):
75994        (WebCore::didTruncate):
75995        (WebCore::FileStreamProxy::truncateOnFileThread):
75996        * html/FileStreamProxy.h:
75997        * platform/FileStream.cpp: Renamed from WebCore/FileStream.cpp and updated.
75998        * platform/FileStream.h: Renamed from WebCore/FileStream.h and updated.
75999
760002010-08-18  Jian Li  <jianli@chromium.org>
76001
76002        Reviewed by Darin Fisher.
76003
76004        Chromium side implementation of blob data and blob registry.
76005        https://bugs.webkit.org/show_bug.cgi?id=43871
76006
76007        Wrap !PLATFORM(CHROMIUM) around blobRegistry() so that chromium uses the
76008        implementation in WebKit Chromium.
76009
76010        * platform/network/BlobRegistryImpl.cpp:
76011
760122010-08-18  Martin Robinson  <mrobinson@igalia.com>
76013
76014        Reviewed by Gustavo Noronha Silva.
76015
76016        [GTK] Bots are showing lots of GTK_IS_CONTAINER critical warnings
76017        https://bugs.webkit.org/show_bug.cgi?id=40990
76018
76019        Instead of relying on the ScrollView's adjustment members to determine if a
76020        Scrollbar should be native or just a shell of the parent's scrollbar (main frame
76021        scrollbar), just check if this ScrollView has a parent. This will ensure the
76022        correct behavior when main frame scrollbar's are created after the ScrollView's
76023        containing adjustments go away.
76024
76025        Lack of warnings during tests are the test for this fix.
76026
76027        * platform/gtk/ScrollViewGtk.cpp:
76028        (WebCore::ScrollView::createScrollbar): Decide what type of scrollbar to make based
76029        on the result of the parent() method.
76030        * platform/gtk/ScrollbarGtk.cpp:
76031        (ScrollbarGtk::ScrollbarGtk): Allow for an m_adjustment which is null.
76032        (ScrollbarGtk::attachAdjustment): Ditto.
76033        (ScrollbarGtk::updateThumbPosition): Ditto.
76034        (ScrollbarGtk::updateThumbProportion): Ditto.
76035
760362010-08-18  Adam Barth  <abarth@webkit.org>
76037
76038        Reviewed by David Levin.
76039
76040        NOT_REACHED is reachable in SVGLength
76041        https://bugs.webkit.org/show_bug.cgi?id=44150
76042
76043        The author of this code was confused.  This code is reachable.  We just
76044        haven't implemented it yet.
76045
76046        * svg/SVGLength.cpp:
76047        (WebCore::SVGLength::setValue):
76048
760492010-08-18  Balazs Kelemen  <kb@inf.u-szeged.hu>
76050
76051        Reviewed by Antonio Gomes.
76052
76053        [Qt] Use LAZY_NATIVE_CURSOR
76054        https://bugs.webkit.org/show_bug.cgi?id=44062
76055
76056        No functional change so new tests.
76057
76058        Change Cursor behaviour to match the LAZY_NATIVE_CURSOR policy.
76059
76060        * platform/Cursor.h: Typedef PlatformCursor to be a QCursor* to be able create it dynamically.
76061        (WebCore::Cursor::Cursor): Remove the ifdef for Qt.
76062        * platform/qt/CursorQt.cpp: Remove the Cursors class since we have the static cursor instances
76063        for the common cursor types in Cursor.cpp. Move the logic that maps the cursor types to
76064        QCursor instances into ensurePlatformCursor.
76065        (WebCore::Cursor::Cursor):
76066        (WebCore::Cursor::~Cursor):
76067        (WebCore::Cursor::operator=):
76068        (WebCore::createCustomCursor):
76069        (WebCore::Cursor::ensurePlatformCursor):
76070        * platform/qt/WidgetQt.cpp:
76071        (WebCore::Widget::setCursor): Adjust to the PlatformCursor change.
76072
760732010-08-18  Andreas Kling  <andreas.kling@nokia.com>
76074
76075        Reviewed by Darin Adler.
76076
76077        CSS: Make rgb() and rgba() fast paths case-insensitive
76078        https://bugs.webkit.org/show_bug.cgi?id=44107
76079
76080        Also inlined the string comparisons against "rgb(" and "rgba("
76081        which is faster and avoids creating a temporary String object.
76082
76083        * css/CSSParser.cpp:
76084        (WebCore::mightBeRGBA):
76085        (WebCore::mightBeRGB):
76086        (WebCore::CSSParser::parseColor):
76087
760882010-08-18  Jian Li  <jianli@chromium.org>
76089
76090        Reviewed by Darin Fisher.
76091
76092        Change BlobStorageData to reuse BlobData.
76093        https://bugs.webkit.org/show_bug.cgi?id=44188
76094
76095        Also addressed Darin's feedbacks for bug 44116.
76096
76097        * html/ThreadableBlobRegistry.cpp:
76098        (WebCore::registerBlobURLTask):
76099        (WebCore::registerBlobURLFromTask):
76100        (WebCore::unregisterBlobURLTask):
76101        * platform/network/BlobData.cpp:
76102        (WebCore::BlobData::appendData):
76103        * platform/network/BlobData.h:
76104        (WebCore::BlobDataItem::BlobDataItem):
76105        * platform/network/BlobRegistry.h:
76106        * platform/network/BlobRegistryImpl.cpp:
76107        (WebCore::blobRegistry):
76108        (WebCore::BlobRegistryImpl::appendStorageItems):
76109        (WebCore::BlobRegistryImpl::registerBlobURL):
76110        * platform/network/BlobRegistryImpl.h:
76111        * platform/network/BlobStorageData.h:
76112        (WebCore::BlobStorageData::create):
76113        (WebCore::BlobStorageData::contentType):
76114        (WebCore::BlobStorageData::contentDisposition):
76115        (WebCore::BlobStorageData::items):
76116        (WebCore::BlobStorageData::BlobStorageData):
76117
761182010-08-18  David Hyatt  <hyatt@apple.com>
76119
76120        Reviewed by Martin Robinson.
76121
76122        https://bugs.webkit.org/show_bug.cgi?id=44193
76123
76124        Fix a typo in my previous canvas checkin.  m_in->resultImage() was originally m_in2->resultImage(),
76125        and I accidentally changed it when swapping the order of the arguments.
76126
76127        * platform/graphics/filters/FEComposite.cpp:
76128        (WebCore::FEComposite::apply):
76129
761302010-08-18  Stephen White  <senorblanco@chromium.org>
76131
76132        Reviewed by Darin Fisher.
76133
76134        [CHROMIUM] Eliminate a memcpy() from the canvas.drawImage(canvas, ...) path.
76135        https://bugs.webkit.org/show_bug.cgi?id=44115
76136
76137        This is the Skia followup to Dave Hyatt's patch in r65449.
76138        Covered by canvas layout tests.
76139
76140        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
76141        Add a "copyPixels" argument to the create() static to indicate if
76142        the caller wants the pixels to be copied or ref'ed.
76143        * platform/graphics/skia/ImageBufferSkia.cpp:
76144        (WebCore::ImageBuffer::drawsUsingCopy):
76145        We don't use the always-copy path anymore, so return false.
76146        (WebCore::ImageBuffer::copyImage):
76147        Force a copy here.
76148        (WebCore::ImageBuffer::draw):
76149        (WebCore::ImageBuffer::drawPattern):
76150        Create a temporary BitampImageSingleFrameSkia wrapped around the
76151        canvas's bitmap, and draw with it immediately.  If drawing to our own
76152        canvas, copy the pixels, otherwise just shallow copy.
76153        * platform/graphics/skia/ImageSkia.cpp:
76154        (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
76155        Make the constructor take an SkBitmap to be wrapped.
76156        (WebCore::BitmapImageSingleFrameSkia::create):
76157        Implement the "copyPixels" flag:  if true, do a deep copy, otherwise
76158        do a shallow copy.
76159        * platform/graphics/skia/NativeImageSkia.cpp:
76160        (WebCore::NativeImageSkia::NativeImageSkia):
76161        * platform/graphics/skia/NativeImageSkia.h:
76162        Implement a new constructor that shallow-copies the given SkBitmap.
76163
761642010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
76165
76166        Reviewed by Steve Block.
76167
76168        [Qt] Request for permission before starting Geolocation service
76169        https://bugs.webkit.org/show_bug.cgi?id=42027
76170
76171        Handles starting location acquisition when request is granted for ports using 
76172        "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
76173        Only Qt port as of today uses the above combination. Enable 
76174        PREEMPT_GEOLOCATION_PERMISSION for qt port. 
76175
76176        Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
76177        - fast/dom/Geolocation/delayed-permission-allowed.html
76178        - fast/dom/Geolocation/delayed-permission-denied.html
76179        - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
76180        - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
76181
76182        * WebCore.pro:
76183        * page/Geolocation.cpp:
76184        (WebCore::Geolocation::handlePendingPermissionNotifiers):
76185
761862010-08-18  Andreas Kling  <andreas.kling@nokia.com>
76187
76188        Reviewed by Darin Adler.
76189
76190        CanvasStyle method naming cleanup
76191        https://bugs.webkit.org/show_bug.cgi?id=44184
76192
76193        Renamed the various create() overloads to reflect what they're
76194        constructing the CanvasStyle from.
76195
76196        The unused CanvasStyle::create(grayLevel) and accompanying constructor
76197        were removed.
76198
76199        Also renamed the isEquivalentColor overloads to isEquivalent{RGBA,CMYKA}
76200
76201        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
76202        (WebCore::toHTMLCanvasStyle):
76203        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
76204        (WebCore::toCanvasStyle):
76205        * html/canvas/CanvasRenderingContext2D.cpp:
76206        (WebCore::CanvasRenderingContext2D::State::State):
76207        (WebCore::CanvasRenderingContext2D::setStrokeColor):
76208        (WebCore::CanvasRenderingContext2D::setFillColor):
76209        * html/canvas/CanvasStyle.cpp:
76210        (WebCore::CanvasStyle::createFromString):
76211        (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
76212        (WebCore::CanvasStyle::createFromGradient):
76213        (WebCore::CanvasStyle::createFromPattern):
76214        (WebCore::CanvasStyle::isEquivalentRGBA):
76215        (WebCore::CanvasStyle::isEquivalentCMYKA):
76216        * html/canvas/CanvasStyle.h:
76217        (WebCore::CanvasStyle::createFromRGBA):
76218        (WebCore::CanvasStyle::createFromGrayLevelWithAlpha):
76219        (WebCore::CanvasStyle::createFromRGBAChannels):
76220        (WebCore::CanvasStyle::createFromCMYKAChannels):
76221
762222010-08-18  Girish Ramakrishnan  <girish@forwardbias.in>
76223
76224        Reviewed by Kenneth Rohde Christiansen.
76225
76226        [Qt] Implement Maemo5 local rendering NPAPI extension. See 
76227        https://wiki.mozilla.org/Plugins:NokiaMaemoImageSurface for details.
76228
76229        With the local rendering extension, Flash will paint into a 16-bit surface.
76230        For wmode=transparent, Flash expects the surface to contain the contents
76231        beneath it. As it is tricky to implement the content propagation across all
76232        graphics systems, transparent Flash is not supported. We just fill the surface 
76233        with white and wmode=transparent behaves the same as wmode=opaque with a white 
76234        background.
76235
76236        https://bugs.webkit.org/show_bug.cgi?id=44043
76237
76238        * WebCore.pro:
76239        * plugins/PluginView.cpp:
76240        (WebCore::PluginView::setValue):
76241        (WebCore::PluginView::PluginView):
76242        * plugins/PluginView.h:
76243        * plugins/qt/PluginViewQt.cpp:
76244        (WebCore::PluginView::updatePluginWidget):
76245        (WebCore::PluginView::paintUsingImageSurfaceExtension):
76246        (WebCore::PluginView::paint):
76247        (WebCore::PluginView::platformGetValueStatic):
76248
762492010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
76250
76251        Unreviewed, rolling out r65603.
76252        http://trac.webkit.org/changeset/65603
76253        https://bugs.webkit.org/show_bug.cgi?id=44179
76254
76255        4 tests crash on Qt bot (Requested by Ossy on #webkit).
76256
76257        * WebCore.pro:
76258        * page/Geolocation.cpp:
76259        (WebCore::Geolocation::handlePendingPermissionNotifiers):
76260
762612010-08-18  Ryuan Choi  <ryuan.choi@samsung.com>
76262
76263        Unreviewed.  Attempted build fix for EFL
76264
76265        [EFL]REGRESSION(65530) need to fix build break
76266        https://bugs.webkit.org/show_bug.cgi?id=44154
76267
76268        * CMakeListsEfl.txt:
76269
762702010-08-18  Ilya Tikhonovsky  <loislo@chromium.org>
76271
76272        Unreviewed qt build fix.
76273
76274        * WebCore.pri:
76275
762762010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>
76277
76278        Reviewed by Yury Semikhatsky.
76279
76280        Web Inspector: replace hand written InspectorBackendStub.js with generated one.
76281        New command-line flag was added to combine-javascript-resources.
76282        It specifies the location of generated scripts.
76283        https://bugs.webkit.org/show_bug.cgi?id=43791
76284
76285        * GNUmakefile.am:
76286        * WebCore.gyp/WebCore.gyp:
76287        * WebCore.gypi:
76288        * WebCore.pri:
76289        * WebCore.pro:
76290        * WebCore.vcproj/WebCore.vcproj:
76291        * WebCore.xcodeproj/project.pbxproj:
76292        * combine-javascript-resources:
76293        * inspector/CodeGeneratorInspector.pm:
76294        * inspector/front-end/InspectorBackendStub.js: Removed.
76295        * inspector/front-end/WebKit.qrc:
76296
762972010-08-18  Andrey Kosyakov  <caseq@chromium.org>
76298
76299        Reviewed by Pavel Feldman.
76300
76301        Web Inspector: extension panels do not occupy entire panel client area.
76302        https://bugs.webkit.org/show_bug.cgi?id=44167
76303
76304        * inspector/front-end/ExtensionServer.js:
76305        (WebInspector.ExtensionServer.prototype._onCreatePanel):
76306        (WebInspector.ExtensionServer.prototype._createClientIframe):
76307
763082010-08-18  Dirk Schulze  <krit@webkit.org>
76309
76310        Reviewed by Nikolas Zimmermann.
76311
76312        Use SVGPathParser logic to traverse states of a Path
76313        https://bugs.webkit.org/show_bug.cgi?id=44009
76314
76315        Move the getPathSegAtLength logic from SVGPathSegList into a new SVGPathConsumer
76316        class: SVGPathTraversalStateBuilder.
76317        This allows us to get a SVGPathSeg at a given length for SVGPathByteStreams and SVGPathSegLists.
76318        It is also possible to use unaltered SVG path data, instead of just normalized path data.
76319        This is the final preparation to provide normalized and unaltered SVGPathSegLists
76320        on SVGPathElement.
76321
76322        * Android.mk:
76323        * CMakeLists.txt:
76324        * GNUmakefile.am:
76325        * WebCore.gypi:
76326        * WebCore.pro:
76327        * WebCore.vcproj/WebCore.vcproj:
76328        * WebCore.xcodeproj/project.pbxproj:
76329        * svg/SVGAllInOne.cpp:
76330        * svg/SVGPathBuilder.h:
76331        (WebCore::SVGPathBuilder::nextPathSegment):
76332        (WebCore::SVGPathBuilder::quitEarlier):
76333        * svg/SVGPathByteStreamBuilder.h:
76334        (WebCore::SVGPathByteStreamBuilder::nextPathSegment):
76335        (WebCore::SVGPathByteStreamBuilder::quitEarlier):
76336        * svg/SVGPathConsumer.h:
76337        * svg/SVGPathElement.cpp:
76338        (WebCore::SVGPathElement::getPathSegAtLength):
76339        * svg/SVGPathElement.h:
76340        * svg/SVGPathElement.idl:
76341        * svg/SVGPathParser.cpp:
76342        (WebCore::SVGPathParser::parsePathDataFromSource):
76343        * svg/SVGPathParserFactory.cpp:
76344        (WebCore::globalSVGPathTraversalStateBuilder):
76345        (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
76346        * svg/SVGPathParserFactory.h:
76347        * svg/SVGPathSegList.cpp:
76348        * svg/SVGPathSegList.h:
76349        * svg/SVGPathSegListBuilder.h:
76350        (WebCore::SVGPathSegListBuilder::nextPathSegment):
76351        (WebCore::SVGPathSegListBuilder::quitEarlier):
76352        * svg/SVGPathStringBuilder.h:
76353        (WebCore::SVGPathStringBuilder::nextPathSegment):
76354        (WebCore::SVGPathStringBuilder::quitEarlier):
76355        * svg/SVGPathTraversalStateBuilder.cpp: Added. New Consumer for SVGPathParser.
76356        (WebCore::SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder):
76357        (WebCore::SVGPathTraversalStateBuilder::moveTo):
76358        (WebCore::SVGPathTraversalStateBuilder::lineTo):
76359        (WebCore::SVGPathTraversalStateBuilder::curveToCubic):
76360        (WebCore::SVGPathTraversalStateBuilder::closePath):
76361        (WebCore::SVGPathTraversalStateBuilder::setDesiredLength):
76362        (WebCore::SVGPathTraversalStateBuilder::quitEarlier):
76363        (WebCore::SVGPathTraversalStateBuilder::nextPathSegment):
76364        (WebCore::SVGPathTraversalStateBuilder::pathSegmentIndex):
76365        * svg/SVGPathTraversalStateBuilder.h: Added.
76366        (WebCore::SVGPathTraversalStateBuilder::setCurrentTraversalState):
76367        (WebCore::SVGPathTraversalStateBuilder::cleanup):
76368        (WebCore::SVGPathTraversalStateBuilder::lineToHorizontal):
76369        (WebCore::SVGPathTraversalStateBuilder::lineToVertical):
76370        (WebCore::SVGPathTraversalStateBuilder::curveToCubicSmooth):
76371        (WebCore::SVGPathTraversalStateBuilder::curveToQuadratic):
76372        (WebCore::SVGPathTraversalStateBuilder::curveToQuadraticSmooth):
76373        (WebCore::SVGPathTraversalStateBuilder::arcTo):
76374
763752010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
76376
76377        Reviewed by Steve Block.
76378
76379        [Qt] Request for permission before starting Geolocation service
76380        https://bugs.webkit.org/show_bug.cgi?id=42027
76381
76382        Handles starting location acquisition when request is granted for ports using 
76383        "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
76384        Only Qt port as of today uses the above combination. Enable 
76385        PREEMPT_GEOLOCATION_PERMISSION for qt port. 
76386
76387        Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
76388        - fast/dom/Geolocation/delayed-permission-allowed.html
76389        - fast/dom/Geolocation/delayed-permission-denied.html
76390        - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
76391        - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
76392
76393        * WebCore.pro:
76394        * page/Geolocation.cpp:
76395        (WebCore::Geolocation::handlePendingPermissionNotifiers):
76396
763972010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
76398
76399        Unreviewed, rolling out r65595.
76400        http://trac.webkit.org/changeset/65595
76401        https://bugs.webkit.org/show_bug.cgi?id=44161
76402
76403        qt build failed (Requested by loislo on #webkit).
76404
76405        * GNUmakefile.am:
76406        * WebCore.gyp/WebCore.gyp:
76407        * WebCore.gypi:
76408        * WebCore.pri:
76409        * WebCore.pro:
76410        * WebCore.vcproj/copyInspectorFiles.cmd:
76411        * WebCore.xcodeproj/project.pbxproj:
76412        * combine-javascript-resources:
76413        * inspector/CodeGeneratorInspector.pm:
76414        * inspector/front-end/InspectorBackendStub.js: Added.
76415        (WebInspector.InspectorBackendStub):
76416        (WebInspector.InspectorBackendStub.prototype._registerDelegate):
76417        (WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
76418        * inspector/front-end/InspectorBackendStub.qrc: Removed.
76419        * inspector/front-end/WebKit.qrc:
76420
764212010-08-18  Pavel Feldman  <pfeldman@chromium.org>
76422
76423        Reviewed by Yury Semikhatsky.
76424
76425        Web Inspector: make objectId of string type instead of object.
76426        https://bugs.webkit.org/show_bug.cgi?id=44160
76427
76428        * WebCore.xcodeproj/project.pbxproj:
76429        * inspector/front-end/InjectedScript.js:
76430        (injectedScriptConstructor.):
76431        * inspector/front-end/InjectedScriptAccess.js:
76432        (get InjectedScriptAccess.getForObjectId):
76433        * inspector/front-end/RemoteObject.js:
76434        (WebInspector.RemoteObject.prototype.getProperties):
76435        (WebInspector.RemoteObject.prototype.setPropertyValue):
76436        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
76437
764382010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>
76439
76440        Reviewed by Yury Semikhatsky.
76441
76442        Web Inspector: replace hand written InspectorBackendStub.js by generated one.
76443        New command-line flag was added to combine-javascript-resources.
76444        It specifies the location of generated scripts.
76445        https://bugs.webkit.org/show_bug.cgi?id=43791
76446
76447        * GNUmakefile.am:
76448        * WebCore.gyp/WebCore.gyp:
76449        * WebCore.gypi:
76450        * WebCore.pri:
76451        * WebCore.pro:
76452        * WebCore.vcproj/WebCore.vcproj:
76453        * WebCore.xcodeproj/project.pbxproj:
76454        * combine-javascript-resources:
76455        * inspector/CodeGeneratorInspector.pm:
76456        * inspector/front-end/InspectorBackendStub.js: Removed.
76457        * inspector/front-end/WebKit.qrc:
76458
764592010-08-18  Shinichiro Hamaji  <hamaji@chromium.org>
76460
76461        Reviewed by Dimitri Glazkov.
76462
76463        Printer font is different from screen font
76464        https://bugs.webkit.org/show_bug.cgi?id=43340
76465
76466        Not testable because PNG output in layoutTestController.setPrinting
76467        for chromium isn't implemented yet.
76468
76469        * platform/graphics/FontDescription.h: Use screen font even for printing on Mac Chromium
76470        (WebCore::FontDescription::setUsePrinterFont):
76471
764722010-08-18  Renata Hodovan  <reni@inf.u-szeged.hu>
76473
76474        Reviewed by Dirk Schulze.
76475
76476        Fix displaying problem of feTurbulence.
76477        https://bugs.webkit.org/show_bug.cgi?id=44111
76478
76479        Change the order of calculating turbulenceFunctionResult
76480        and clamping it. Furthermore remove the unnecessary rounding of m_seed.
76481        Add a new test for checking the change of seed's value.
76482
76483        Test: svg/W3C-SVG-1.1/filters-turb-02-f.svg
76484
76485        * svg/graphics/filters/SVGFETurbulence.cpp:
76486        (WebCore::FETurbulence::initPaint):
76487        (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
76488        (WebCore::FETurbulence::apply):
76489
764902010-08-17  Gavin Barraclough  <barraclough@apple.com>
76491
76492        Reviewed by Sam Weinig.
76493
76494        Bug 44146 - Remove toDouble/toUInt32 methods from UString.
76495
76496        These methods all implement JavaScript language specific behaviour, and as such
76497        are not suited to being on a generic string object.  They are also inefficient
76498        and incorrectly used, refactor & cleanup.  Uses of these methods really divide
76499        out into two cases.
76500
76501        ToNumber:
76502        Uses of toDouble from JSString and from parseFloat are implementing ecma's
76503        ToNumber conversion from strings (see ecma-262 9.3.1), so UString::toDouble
76504        should largely just be moved out to a global jsToNumber function.  ToNumber is
76505        capable of recognizing either decimal or hexadecimal numbers, but parseFloat
76506        should only recognize decimal values.  This is currently handled by testing for
76507        hexadecimal before calling toDouble, which should unnecessary - instead we can
76508        just split out the two parts to the grammar into separate functions. Also,
76509        strtod recognizes a set of literals (nan, inf, and infinity - all with any
76510        capitalization) - which are not defined by any of the specs we are implementing.
76511        To handle this we need to perform additional work in toDouble to convert the
76512        unsupported cases of infinities back to NaNs.  Instead we should simply remove
76513        support for this literals from strtod.  This should provide a more desirable
76514        behaviour for all clients of strtod.
76515
76516        Indexed properties:
76517        Uses of the toStrictUInt32 methods are were all converting property names to
76518        indices, and all uses of toUInt32 were incorrect; in all cases we should have
76519        been calling toUInt32.  This error results in some incorrect behaviour in the
76520        DOM (accessing property "0 " of a NodeList should fail; it currently does not).
76521        Move this method onto Identifier (our canonical property name), and make it
76522        always perform a strict conversion. Add a layout test to check NodeList does
76523        convert indexed property names correctly.
76524
76525        Test: fast/dom/NodeList/nodelist-item-with-index.html
76526
76527        * WebCore.xcodeproj/project.pbxproj:
76528        * bindings/js/JSDOMWindowCustom.cpp:
76529        (WebCore::JSDOMWindow::getOwnPropertySlot):
76530        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
76531        * bindings/js/JSHTMLAllCollectionCustom.cpp:
76532        (WebCore::callHTMLAllCollection):
76533        (WebCore::JSHTMLAllCollection::item):
76534        * bindings/js/JSHTMLCollectionCustom.cpp:
76535        (WebCore::callHTMLCollection):
76536        (WebCore::JSHTMLCollection::item):
76537        * bindings/js/JSNodeListCustom.cpp:
76538        (WebCore::callNodeList):
76539        * bindings/scripts/CodeGeneratorJS.pm:
76540        * bridge/runtime_array.cpp:
76541        (JSC::RuntimeArray::getOwnPropertySlot):
76542        (JSC::RuntimeArray::getOwnPropertyDescriptor):
76543        (JSC::RuntimeArray::put):
76544
765452010-08-18  Adam Barth  <abarth@webkit.org>
76546
76547        Reviewed by Adele Peterson.
76548
76549        Null dereference in DOMSelection::deleteFromDocument
76550        https://bugs.webkit.org/show_bug.cgi?id=44153
76551
76552        deleteFromDocument checks selection->isNone() before calling
76553        selection->selection().toNormalizedRange(), but toNormalizedRange()
76554        notes that it needs to updateLayout(), which can make the selection
76555        isNone() again.  In that case, we crash on a NULL pointer in
76556        deleteFromDocument.  I don't know how to trigger that situation in a
76557        test, but cross_fuzz was able to hit it, so we should fix it.
76558
76559        * page/DOMSelection.cpp:
76560        (WebCore::DOMSelection::deleteFromDocument):
76561
765622010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
76563
76564        Reviewed by Antonio Gomes.
76565
76566        [Qt] On Maemo5, there is no libgdk-x11-2.0.so symlink. Look for 
76567        libgdk-x11-2.0.so.0 instead on X11 and Maemo5.
76568
76569        https://bugs.webkit.org/show_bug.cgi?id=44043
76570
76571        * plugins/qt/PluginViewQt.cpp:
76572        (WebCore::getPluginDisplay):
76573
765742010-08-17  Ariya Hidayat  <ariya@sencha.com>
76575
76576        Reviewed by Antonio Gomes.
76577
76578        [Qt] Remove unused ContextShadowParameter class in GraphicsContextQt
76579        https://bugs.webkit.org/show_bug.cgi?id=44142
76580
76581        The class is not needed anymore after r65425.
76582        We know have dedicated ContextShadow in its own file.
76583
76584        * platform/graphics/qt/GraphicsContextQt.cpp:
76585
765862010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
76587
76588        Reviewed by Darin Adler.
76589
76590        Add NetworkingContext to avoid layer violations
76591        https://bugs.webkit.org/show_bug.cgi?id=42292
76592
76593        Preparation: Just add the files to the build system.
76594
76595        * GNUmakefile.am: Added new files.
76596        * WebCore.gypi: Ditto.
76597        * WebCore.pro: Ditto.
76598        * WebCore.vcproj/WebCore.vcproj: Ditto.
76599        * WebCore.xcodeproj/project.pbxproj: Ditto.
76600
76601        * loader/FrameNetworkingContext.h: Added.
76602        * platform/network/NetworkingContext.h: Added.
76603        Placeholders with tentative code that might be changed when landing
76604        the rest of it.
76605
766062010-08-17  Mihai Parparita  <mihaip@chromium.org>
76607
76608        Reviewed by Darin Fisher.
76609
76610        Back button after Google search result click broken
76611        https://bugs.webkit.org/show_bug.cgi?id=44086
76612
76613        Test: fast/history/redirect-via-iframe.html
76614        
76615        isLoadingInAPISense doesn't quite map to onload (it also returns true
76616        if frames are loading, even after the parent frame has fired its onload
76617        handler). Instead, add a flag for the onload event being fired, and
76618        use that.
76619
76620        * loader/DocumentLoader.cpp:
76621        (WebCore::DocumentLoader::DocumentLoader):
76622        * loader/DocumentLoader.h:
76623        (WebCore::DocumentLoader::handledOnloadEvents):
76624        (WebCore::DocumentLoader::wasOnloadHandled):
76625        * loader/FrameLoader.cpp:
76626        (WebCore::FrameLoader::handledOnloadEvents):
76627        * loader/RedirectScheduler.cpp:
76628        (WebCore::RedirectScheduler::mustLockBackForwardList):
76629
766302010-08-17  Steve Block  <steveblock@google.com>
76631
76632        Reviewed by Jeremy Orlow.
76633
76634        Geolocation clearWatch() needs to protect against invalid IDs
76635        https://bugs.webkit.org/show_bug.cgi?id=44096
76636
76637        If the ID passed to clearWatch() is invalid, we early-out.
76638
76639        Test: fast/dom/Geolocation/clear-watch-invalid-id-crash.html
76640
76641        * page/Geolocation.cpp:
76642        (WebCore::Geolocation::Watchers::set):
76643        (WebCore::Geolocation::Watchers::remove):
76644        (WebCore::Geolocation::watchPosition):
76645        (WebCore::Geolocation::clearWatch):
76646
766472010-08-17  Stephen White  <senorblanco@chromium.org>
76648
76649        Reviewed by David Levin.
76650
76651        Allow non-Skia ports to compile with ENABLE(ACCELERATED_2D_CANVAS).
76652        https://bugs.webkit.org/show_bug.cgi?id=44130
76653
76654        No tests; if it compiles, it's good.
76655
76656        * html/canvas/CanvasRenderingContext2D.cpp:
76657        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
76658        Fix a warning (treated as error).
76659        * platform/graphics/GraphicsContext.cpp:
76660        (WebCore::GraphicsContext::setGraphicsContext3D):
76661        (WebCore::GraphicsContext::syncSoftwareCanvas):
76662        * platform/graphics/GraphicsContext.h:
76663        Make setGraphicsContext3D() and syncSoftwareCanvas() stubbed out,
76664        but still present in non-Skia ports.  This allows Chrome Mac to
76665        compile with ENABLE(ACCELERATED_2D_CANVAS) (although it isn't hooked
76666        up yet, it should at least compile).
76667
766682010-08-17  Brady Eidson  <beidson@apple.com>
76669
76670        Reviewed by Sam Weinig.
76671
76672        Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
76673        <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
76674
76675        No new tests. (Especially since DRT doesn't spin inner run loops at all, it would be a significant
76676        effort to give it the ability to perform the back/forward navigation in the background to reproduce
76677        this bug)
76678
76679        Manual tests in place of layout tests:
76680        * manual-tests/back-forward-during-alert-1.html: Added.
76681        * manual-tests/back-forward-during-alert-2.html: Added.
76682
76683        * page/Page.cpp:
76684        (WebCore::Page::goToItem):
76685
766862010-08-17  Ojan Vafai  <ojan@chromium.org>
76687
76688        Reviewed by Tony Chang.
76689
76690        selectionStart clobbered if textarea isn't focused
76691        https://bugs.webkit.org/show_bug.cgi?id=43814
76692
76693        If a text control is blurred, setting selectionStart/end should use
76694        the cached selection value, which is currently stored on the form
76695        control element.
76696
76697        Test: fast/forms/text-control-select-blurred.html
76698
76699        * rendering/RenderTextControl.cpp:
76700        (WebCore::RenderTextControl::setSelectionStart):
76701        (WebCore::RenderTextControl::setSelectionEnd):
76702
767032010-08-17  Dmitry Titov  <dimich@chromium.org>
76704
76705        Reviewed by David Levin.
76706
76707        MessagePort.close() crashes if the owning context was destroyed.
76708        https://bugs.webkit.org/show_bug.cgi?id=43140
76709
76710        Test: fast/events/message-port-context-destroyed.html
76711
76712        * dom/MessagePort.cpp:
76713        (WebCore::MessagePort::postMessage):
76714        (WebCore::MessagePort::start):
76715        (WebCore::MessagePort::close):
76716        (WebCore::MessagePort::contextDestroyed):
76717        Use isEntangled() method to gate various operations on MessagePort. This method also takes into account m_closed bit.
76718
76719        * dom/ScriptExecutionContext.cpp:
76720        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
76721        (WebCore::ScriptExecutionContext::closeMessagePorts):
76722        * dom/ScriptExecutionContext.h:
76723        Add closeMessagePorts() method that closes message ports at the same moments when other ActiveDOMObjects are stopped.
76724
767252010-08-17  Fady Samuel  <fsamuel@chromium.org>
76726
76727        Reviewed by David Hyatt.
76728
76729        Updated table cell hit testing and painting to use binary search instead of linear scan.
76730
76731        Improved Table Hit Testing and Painting Performance
76732        https://bugs.webkit.org/show_bug.cgi?id=43933
76733
76734        Tests: fast/table/simple_paint.html
76735               tables/hittesting/filltable-emptycells.html
76736               tables/hittesting/filltable-levels.html
76737               tables/hittesting/filltable-outline.html
76738               tables/hittesting/filltable-rtl.html
76739               tables/hittesting/filltable-stress.html
76740
76741        * rendering/RenderTableSection.cpp:
76742        (WebCore::RenderTableSection::paintObject): Dirty rect determined using binary search.
76743        (WebCore::RenderTableSection::nodeAtPoint): Cell hit determined using binary search
76744
767452010-08-17  Abhishek Arya  <inferno@chromium.org>
76746
76747        Reviewed by Dave Hyatt.
76748
76749        Only destroy empty anonymous block when it is columns or column span block
76750        in RenderBlock::removeChild.
76751        https://bugs.webkit.org/show_bug.cgi?id=44035
76752
76753        Test: fast/block/basic/empty-anonymous-block-remove-crash.html
76754
76755        * rendering/RenderBlock.cpp:
76756        (WebCore::RenderBlock::removeChild):
76757
767582010-08-17  Darin Fisher  <darin@chromium.org>
76759
76760        Reviewed by Darin Adler.
76761
76762        [Chromium] REGRESSION: Incorrect repaint on scrolling with position:fixed elements
76763        https://bugs.webkit.org/show_bug.cgi?id=42949
76764
76765        This is a partial revert of http://trac.webkit.org/changeset/63907
76766
76767        * page/FrameView.cpp:
76768        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
76769        (WebCore::FrameView::scrollPositionChanged):
76770        * platform/ScrollView.cpp:
76771        (WebCore::ScrollView::valueChanged):
76772
767732010-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
76774
76775        Unreviewed, rolling out r65528.
76776        http://trac.webkit.org/changeset/65528
76777        https://bugs.webkit.org/show_bug.cgi?id=44123
76778
76779        "Broke a bunch of canvas tests on Chrome win/linux."
76780        (Requested by senorblanco on #webkit).
76781
76782        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
76783        (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
76784        * platform/graphics/skia/ImageBufferSkia.cpp:
76785        (WebCore::ImageBuffer::drawsUsingCopy):
76786        (WebCore::ImageBuffer::copyImage):
76787        (WebCore::ImageBuffer::draw):
76788        (WebCore::ImageBuffer::drawPattern):
76789        * platform/graphics/skia/ImageSkia.cpp:
76790        (WebCore::BitmapImageSingleFrameSkia::create):
76791        * platform/graphics/skia/NativeImageSkia.cpp:
76792        * platform/graphics/skia/NativeImageSkia.h:
76793
767942010-08-17  Martin Robinson  <mrobinson@igalia.com>
76795
76796        Reviewed by David Hyatt.
76797
76798        [Cairo] Remove unnecessary full-surface copies from ImageCairo and GraphicsContextCairo
76799        https://bugs.webkit.org/show_bug.cgi?id=44076
76800
76801        No new tests as functionality has not changed.
76802
76803        * GNUmakefile.am: Added GRefPtrCairo to the sources list.
76804        * platform/graphics/cairo/GRefPtrCairo.cpp: Added.
76805        (WTF::refGPtr): Added specializations for cairo_t and cairo_surface_t.
76806        (WTF::derefGPtr):
76807        * platform/graphics/cairo/GRefPtrCairo.h: Added.
76808        * platform/graphics/cairo/GraphicsContextCairo.cpp:
76809        (WebCore::GraphicsContext::createPlatformShadow): Access the image surface directly
76810        from the ImageBuffer instead of wrapping it in an Image.
76811        * platform/graphics/cairo/ImageCairo.cpp:
76812        (WebCore::Image::drawPattern): Create the temporary surface using cairo primitives
76813        instead of through the platform-independent WebCore code.
76814
768152010-08-17  Martin Robinson  <mrobinson@igalia.com>
76816
76817        [GTK] Clean up WebCore/platform/graphics/gtk/ImageGtk.cpp
76818        https://bugs.webkit.org/show_bug.cgi?id=44069
76819
76820        No new tests as functionality has not changed.
76821
76822        * GNUmakefile.am: Add WEBKITGTK_API_VERSION_STRING definition, which
76823        allows WebCore to use this as well.
76824        * platform/graphics/gtk/ImageGtk.cpp:
76825        (getWebKitDataDirectory): Added this helper.
76826        (WebCore::Image::loadPlatformResource): Use GOwnPtr for gchar pointers and
76827        use the new getWebKitDataDirectory helper.
76828        * platform/gtk/GOwnPtrGtk.cpp: Move the GtkIconInfo template specialization to this file.
76829        (WTF::GtkIconInfo): Added this forward declaration.
76830        * platform/gtk/GOwnPtrGtk.h: Declaration for new template specialization.
76831
768322010-08-17  Stephen White  <senorblanco@chromium.org>
76833
76834        Reviewed by Darin Fisher.
76835
76836        [CHROMIUM] Eliminate a memcpy() from the canvas.drawImage(canvas, ...) path.
76837        This is the Skia followup to Dave Hyatt's patch in r65449.
76838        https://bugs.webkit.org/show_bug.cgi?id=44115
76839
76840        Covered by canvas layout tests.
76841
76842        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
76843        Add a "copyPixels" argument to the create() static to indicate if
76844        the caller wants the pixels to be copied or ref'ed.
76845        * platform/graphics/skia/ImageBufferSkia.cpp:
76846        (WebCore::ImageBuffer::drawsUsingCopy):
76847        We don't use the always-copy path anymore, so return false.
76848        (WebCore::ImageBuffer::copyImage):
76849        Shouldn't get here anymore, so ASSERT_NOT_REACHED.
76850        (WebCore::ImageBuffer::draw):
76851        (WebCore::ImageBuffer::drawPattern):
76852        Create a temporary BitampImageSingleFrameSkia wrapped around the
76853        canvas's bitmap, and draw with it immediately.  If drawing to our own
76854        canvas, copy the pixels, otherwise just shallow copy.
76855        * platform/graphics/skia/ImageSkia.cpp:
76856        (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
76857        Make the constructor take an SkBitmap to be wrapped.
76858        (WebCore::BitmapImageSingleFrameSkia::create):
76859        Implement the "copyPixels" flag:  if true, do a deep copy, otherwise
76860        do a shallow copy.
76861        * platform/graphics/skia/NativeImageSkia.cpp:
76862        (WebCore::NativeImageSkia::NativeImageSkia):
76863        * platform/graphics/skia/NativeImageSkia.h:
76864        Implement a new constructor that shallow-copies the given SkBitmap.
76865
768662010-08-17  Jian Li  <jianli@chromium.org>
76867
76868        Reviewed by Darin Fisher.
76869
76870        Move BlobRegistry interface and implementation to platform/network
76871        https://bugs.webkit.org/show_bug.cgi?id=44116
76872
76873        Also move BlobData and BlobStorageData since they're part of BlobRegistry
76874        implementation.
76875
76876        * Android.mk:
76877        * CMakeLists.txt:
76878        * GNUmakefile.am:
76879        * WebCore.gypi:
76880        * WebCore.pro:
76881        * WebCore.vcproj/WebCore.vcproj:
76882        * WebCore.xcodeproj/project.pbxproj:
76883        * platform/network/BlobData.cpp: Renamed from WebCore/platform/BlobData.cpp.
76884        * platform/network/BlobData.h: Renamed from WebCore/platform/BlobData.h.
76885        * platform/network/BlobRegistry.h: Renamed from WebCore/platform/BlobRegistry.h.
76886        * platform/network/BlobRegistryImpl.cpp: Renamed from WebCore/html/BlobRegistryImpl.cpp.
76887        * platform/network/BlobRegistryImpl.h: Renamed from WebCore/html/BlobRegistryImpl.h.
76888        * platform/network/BlobStorageData.h: Renamed from WebCore/html/BlobStorageData.h.
76889
768902010-08-17  Andreas Kling  <andreas.kling@nokia.com>
76891
76892        Reviewed by Ariya Hidayat.
76893
76894        [Qt] Path: Fast approximation of stroke bounding rects
76895        https://bugs.webkit.org/show_bug.cgi?id=44014
76896
76897        In canvas's stroke(), use QPainterPath::controlPointRect() to calculate
76898        a slightly larger bounding rect in a fraction of the time.
76899
76900        * html/canvas/CanvasRenderingContext2D.cpp:
76901        (WebCore::CanvasRenderingContext2D::stroke):
76902
769032010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
76904
76905        Reviewed by Kenneth Rohde Christiansen.
76906        Set PluginQuirkRequiresDefaultScreenDepth for all Flash versions and not
76907        just Flash 10.
76908
76909        https://bugs.webkit.org/show_bug.cgi?id=44043
76910
76911        * plugins/PluginPackage.cpp:
76912        (WebCore::PluginPackage::determineQuirks):
76913
769142010-08-17  Jian Li  <jianli@chromium.org>
76915
76916        Reviewed by David Levin.
76917
76918        Change FileStream implementation to prepare for blob resource handling.
76919        https://bugs.webkit.org/show_bug.cgi?id=43985
76920
76921        Change FileStream to support synchronous usage only. All the asychronous
76922        logics are moved to FileStreamProxy. Update the existing FileReader code
76923        to adapt to this change.
76924
76925        * html/FileReader.cpp: Account for FileStreamProxy changes.
76926        (WebCore::FileReader::didStart):
76927        (WebCore::FileReader::didGetSize):
76928        (WebCore::FileReader::didOpen):
76929        (WebCore::FileReader::didRead):
76930        * html/FileReader.h:
76931        * html/FileStream.cpp: Remove m_client and make all calls synchronous only.
76932        (WebCore::FileStream::FileStream):
76933        (WebCore::FileStream::start):
76934        (WebCore::FileStream::stop):
76935        (WebCore::FileStream::getSize):
76936        (WebCore::FileStream::openForRead):
76937        (WebCore::FileStream::openForWrite):
76938        (WebCore::FileStream::close):
76939        (WebCore::FileStream::read):
76940        (WebCore::FileStream::write):
76941        (WebCore::FileStream::truncate):
76942        * html/FileStream.h: Add getSize() and make all calls synchronous by adding return values.
76943        (WebCore::FileStream::create):
76944        * html/FileStreamClient.h: Account for FileStreamProxy changes.
76945        (WebCore::FileStreamClient::didRead):
76946        (WebCore::FileStreamClient::didTruncate):
76947        (WebCore::FileStreamClient::didOpen):
76948        * html/FileStreamProxy.cpp: All the logics to handle asynchronous calls are wrapped here.
76949        (WebCore::FileStreamProxy::FileStreamProxy):
76950        (WebCore::FileStreamProxy::create):
76951        (WebCore::FileStreamProxy::fileThread):
76952        (WebCore::didStart):
76953        (WebCore::FileStreamProxy::startOnFileThread):
76954        (WebCore::FileStreamProxy::stop):
76955        (WebCore::derefProxyOnContext):
76956        (WebCore::FileStreamProxy::stopOnFileThread):
76957        (WebCore::didGetSize):
76958        (WebCore::FileStreamProxy::getSize):
76959        (WebCore::FileStreamProxy::getSizeOnFileThread):
76960        (WebCore::didOpen):
76961        (WebCore::FileStreamProxy::openForRead):
76962        (WebCore::FileStreamProxy::openForReadOnFileThread):
76963        (WebCore::FileStreamProxy::openForWrite):
76964        (WebCore::FileStreamProxy::openForWriteOnFileThread):
76965        (WebCore::FileStreamProxy::close):
76966        (WebCore::FileStreamProxy::closeOnFileThread):
76967        (WebCore::didRead):
76968        (WebCore::FileStreamProxy::read):
76969        (WebCore::FileStreamProxy::readOnFileThread):
76970        (WebCore::didWrite):
76971        (WebCore::FileStreamProxy::write):
76972        (WebCore::FileStreamProxy::writeOnFileThread):
76973        (WebCore::didTruncate):
76974        (WebCore::FileStreamProxy::truncate):
76975        (WebCore::FileStreamProxy::truncateOnFileThread):
76976        * html/FileStreamProxy.h:
76977        * html/FileThreadTask.h: Change all methods to return void since return value is not needed now.
76978
769792010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>
76980
76981        Returned WebCore.xcodeproj to default settings after http://trac.webkit.org/changeset/65468/trunk/WebCore/WebCore.xcodeproj/project.pbxproj.
76982
76983        * WebCore.xcodeproj/project.pbxproj: Removed developmentRegion = English line.
76984
769852010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>
76986
76987        Reviewed by Eric Seidel.
76988
76989        Eliminate extra traversal of the tree when determining ability to lazy-attach a Node.
76990        https://bugs.webkit.org/show_bug.cgi?id=43749
76991
76992        Land the actual change that I intended to land in http://trac.webkit.org/changeset/65508.
76993
76994        Neither SVG nor inputs/counters shadow DOM are traveling down this path (they home-bake their attachment),
76995        so the check for shadow tree existence isn't needed.
76996        Gives a small, but consistent win in Dromaeo's DOM Modification test.
76997
76998        * dom/Node.h:
76999        (WebCore::Node::canLazyAttach): Changed to always return true.
77000
770012010-08-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77002
77003        Reviewed by Eric Carlson.
77004
77005        Restore intrinsic size of video elements after loading poster
77006
77007        The element might already have the instrinsic size of the video, in
77008        which case we don't want to override it witht that of the image.
77009
77010        * rendering/RenderVideo.cpp: call updateIntrinsicSize() to restore size
77011
770122010-08-17  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
77013
77014        Reviewed by Steve Block.
77015
77016        Geolocation preemptive permissions policy is buggy
77017        https://bugs.webkit.org/show_bug.cgi?id=42811
77018
77019        While waiting for permission, m_startRequestPermissionNotifier was 
77020        used to consider only one pending request. This patch implements a set
77021        m_pendingForPermissionNotifiers to maintain set of pending requests. 
77022        When user grants/denies permission all listeners will be notified. 
77023        Also fixed issue with hasZeroTimeout() where startTimerIfNeeded() has
77024        to start irrespective of permission state
77025
77026        Tests: fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
77027               fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
77028
77029        * WebCore.pro:
77030        * page/Geolocation.cpp:
77031        (WebCore::Geolocation::startRequest):
77032        (WebCore::Geolocation::setIsAllowed):
77033        (WebCore::Geolocation::startUpdating):
77034        (WebCore::Geolocation::handlePendingPermissionNotifiers):
77035        * page/Geolocation.h:
77036
770372010-08-11  Jeremy Orlow  <jorlow@chromium.org>
77038
77039        Beginnings of IndexedDB persistance + IDBDatabase.description fleshed out
77040        https://bugs.webkit.org/show_bug.cgi?id=43744
77041
77042        The beginnings of a SQLite backend for IndexedDB.  Right now, only persists
77043        meta-data for the database.  The rest is coming in future patches.  Adds
77044        a manual test to verify persistance.
77045
77046        Test: storage/indexeddb/database-description.html
77047              + a manual test
77048
77049        * Android.mk:
77050        * CMakeLists.txt:
77051        * GNUmakefile.am:
77052        * WebCore.gypi:
77053        * WebCore.vcproj/WebCore.vcproj:
77054        * WebCore.xcodeproj/project.pbxproj:
77055        * manual-tests/indexed-database.html: Added.
77056        * page/SecurityOrigin.cpp:
77057        (WebCore::SecurityOrigin::databaseIdentifier):
77058        * platform/FileSystem.cpp: Added.
77059        (WebCore::):
77060        (WebCore::shouldEscapeUChar):
77061        (WebCore::encodeForFileName):
77062        * platform/FileSystem.h:
77063        * storage/IDBDatabase.cpp:
77064        (WebCore::IDBDatabase::IDBDatabase):
77065        * storage/IDBDatabase.h:
77066        (WebCore::IDBDatabase::description):
77067        * storage/IDBDatabaseBackendImpl.cpp:
77068        (WebCore::extractMetaData):
77069        (WebCore::setMetaData):
77070        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
77071        (WebCore::IDBDatabaseBackendImpl::setDescription):
77072        * storage/IDBDatabaseBackendImpl.h:
77073        (WebCore::IDBDatabaseBackendImpl::create):
77074        * storage/IDBFactory.h:
77075        * storage/IDBFactory.idl:
77076        * storage/IDBFactoryBackendImpl.cpp:
77077        (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
77078        (WebCore::IDBFactoryBackendImpl::~IDBFactoryBackendImpl):
77079        (WebCore::openSQLiteDatabase):
77080        (WebCore::createTables):
77081        (WebCore::IDBFactoryBackendImpl::open):
77082        * storage/IDBFactoryBackendImpl.h:
77083        (WebCore::IDBFactoryBackendImpl::create):
77084
770852010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>
77086
77087        Reviewed by Eric Seidel.
77088
77089        Eliminate extra traversal of the tree when determining ability to lazy-attach a Node.
77090        https://bugs.webkit.org/show_bug.cgi?id=43749
77091
77092        Neither SVG nor inputs/counters shadow DOM are traveling down this path (they home-bake their attachment),
77093        so the check for shadow tree existence isn't needed.
77094
77095        Gives a small, but consisten win in Dromaeo's DOM Modification test.
77096
77097        * dom/Node.cpp: Removed canLazyAttach declaration.
77098        * dom/Node.h:
77099        (WebCore::Node::canLazyAttach): Changed to always return true.
77100
771012010-08-17  Pavel Feldman  <pfeldman@chromium.org>
77102
77103        Reviewed by Yury Semikhatsky.
77104
77105        Web Inspector: [CRASH] Console formatting crashes after cross-domain navigation.
77106        https://bugs.webkit.org/show_bug.cgi?id=44103
77107
77108        * bindings/js/JSInjectedScriptHostCustom.cpp:
77109        (WebCore::InjectedScriptHost::injectedScriptFor):
77110        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
77111        (WebCore::InjectedScriptHost::injectedScriptFor):
77112        * inspector/ConsoleMessage.cpp:
77113        (WebCore::ConsoleMessage::addToFrontend):
77114
771152010-08-17  Yury Semikhatsky  <yurys@chromium.org>
77116
77117        Reviewed by Pavel Feldman.
77118
77119        Web Inspector: upstream Chromium debugger step tests
77120        https://bugs.webkit.org/show_bug.cgi?id=44106
77121
77122        Tests: inspector/debugger-step-in.html
77123               inspector/debugger-step-out.html
77124               inspector/debugger-step-over.html
77125
77126        * bindings/js/ScriptDebugServer.cpp:
77127        (WebCore::ScriptDebugServer::returnEvent): check that debugger is still attached after continue to ensure
77128        that current call frame is not 0.
77129
771302010-08-17  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
77131
77132        Reviewed by David Levin.
77133
77134        Trivial fix removing the self-inclusion of a couple of header files.
77135
77136        Self inclusion in Document.h and RenderTheme.h
77137        https://bugs.webkit.org/show_bug.cgi?id=44065
77138
77139        * dom/Document.h:
77140        * rendering/RenderTheme.h:
77141
771422010-08-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
77143
77144        Reviewed by Ariya Hidayat.
77145
77146        [Qt] Move the accelerated compositing build flag to the right place
77147        https://bugs.webkit.org/show_bug.cgi?id=43882
77148
77149        No new tests: build fix.
77150
77151        * WebCore.pro:
77152
771532010-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
77154
77155        Unreviewed, rolling out r65500.
77156        http://trac.webkit.org/changeset/65500
77157        https://bugs.webkit.org/show_bug.cgi?id=44108
77158
77159        Qt bots failed to compile. (Requested by loislo on #webkit).
77160
77161        * GNUmakefile.am:
77162        * WebCore.gyp/WebCore.gyp:
77163        * WebCore.gypi:
77164        * WebCore.pri:
77165        * WebCore.pro:
77166        * WebCore.vcproj/copyInspectorFiles.cmd:
77167        * WebCore.xcodeproj/project.pbxproj:
77168        * combine-javascript-resources:
77169        * inspector/CodeGeneratorInspector.pm:
77170        * inspector/front-end/InspectorBackendStub.js: Added.
77171        (WebInspector.InspectorBackendStub):
77172        (WebInspector.InspectorBackendStub.prototype._registerDelegate):
77173        (WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
77174        * inspector/front-end/InspectorBackendStub.qrc: Removed.
77175        * inspector/front-end/WebKit.qrc:
77176
771772010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>
77178
77179        Reviewed by Yury Semikhatsky.
77180
77181        Web Inspector: replace hand written InspectorBackendStub.js by generated one.
77182        New command-line flag was added to combine-javascript-resources.
77183        It specifies the location of generated scripts.
77184        https://bugs.webkit.org/show_bug.cgi?id=43791
77185
77186        * GNUmakefile.am:
77187        * WebCore.gyp/WebCore.gyp:
77188        * WebCore.gypi:
77189        * WebCore.pri:
77190        * WebCore.pro:
77191        * WebCore.vcproj/WebCore.vcproj:
77192        * WebCore.xcodeproj/project.pbxproj:
77193        * combine-javascript-resources:
77194        * inspector/CodeGeneratorInspector.pm:
77195        * inspector/front-end/InspectorBackendStub.js: Removed.
77196        * inspector/front-end/WebKit.qrc:
77197
771982010-08-17  Pavel Feldman  <pfeldman@chromium.org>
77199
77200        Reviewed by Pavel Feldman.
77201
77202        Web Inspector: get rid of node and scoped object-specific ids.
77203        https://bugs.webkit.org/show_bug.cgi?id=44097
77204
77205        * inspector/front-end/ConsoleView.js:
77206        * inspector/front-end/ElementsTreeOutline.js:
77207        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
77208        * inspector/front-end/EventListenersSidebarPane.js:
77209        * inspector/front-end/InjectedScript.js:
77210        (injectedScriptConstructor.):
77211        (injectedScriptConstructor):
77212        * inspector/front-end/InjectedScriptAccess.js:
77213        (InjectedScriptAccess):
77214        (InjectedScriptAccess.getForNode):
77215        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
77216        (InjectedScriptAccess._installHandler):
77217        * inspector/front-end/PropertiesSidebarPane.js:
77218        (WebInspector.PropertiesSidebarPane.prototype.update):
77219        * inspector/front-end/RemoteObject.js:
77220        (WebInspector.RemoteObjectId):
77221        (WebInspector.RemoteObject.resolveNode):
77222        * inspector/front-end/ScriptsPanel.js:
77223
772242010-08-17  Xan Lopez  <xlopez@igalia.com>
77225
77226        Reviewed by Gustavo Noronha.
77227
77228        [GTK] Fix wrapping of core Events in the bindings
77229        https://bugs.webkit.org/show_bug.cgi?id=44095
77230
77231        Return the proper GObject type instead of hardcoding
77232        WebKitDOMEvent for all Event types.
77233
77234        * bindings/gobject/GObjectEventListener.cpp:
77235        (WebCore::GObjectEventListener::handleEvent):
77236        * bindings/gobject/WebKitDOMBinding.cpp:
77237        (WebKit::kit):
77238
772392010-08-17  Xan Lopez  <xlopez@igalia.com>
77240
77241        Reviewed by Gustavo Noronha.
77242
77243        Revert supposed build-fix which was in fact reverting a previous
77244        build fix which was correct (oh dear).
77245
77246        * GNUmakefile.am:
77247
772482010-08-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77249
77250        Reviewed by Antonio Gomes.
77251
77252        [Qt] Add media element support for preload=none
77253
77254        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
77255        * platform/graphics/qt/MediaPlayerPrivateQt.h:
77256
772572010-08-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77258
77259        Reviewed by Antonio Gomes.
77260
77261        [Qt] Pre-roll media when loading media elements
77262
77263        This ensures we get correct size-hints from QtMultimedia, as well as
77264        the media states Buffering and Buffered instead of Loading and Loaded,
77265        which we use to transition into MediaPlayer::HaveEnoughData.
77266
77267        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
77268        * platform/graphics/qt/MediaPlayerPrivateQt.h:
77269
772702010-08-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77271
77272        Reviewed by Kenneth Rohde Christiansen.
77273
77274        [Qt] Fix missing default controls for stand-alone media elements
77275
77276        https://bugs.webkit.org/show_bug.cgi?id=35427
77277
77278        * css/mediaControlsQt.css:
77279
772802010-08-17  Ariya Hidayat  <ariya@sencha.com>
77281
77282        Reviewed by Kenneth Rohde Christiansen.
77283
77284        [Qt] Reduce the size of the shadow buffer to the clip region
77285        https://bugs.webkit.org/show_bug.cgi?id=44091
77286
77287        Instead of allocating the buffer image (for the blur support) as big
77288        as the rectangle which casts the shadow, we limit the size to the
77289        current clip region.
77290
77291        * platform/graphics/qt/ContextShadow.cpp:
77292        (WebCore::ContextShadow::drawShadowRect):
77293
772942010-08-17  Philippe Normand  <pnormand@igalia.com>
77295
77296        Reviewed by Martin Robinson.
77297
77298        [GStreamer] media/invalid-media-url-crash.html fails
77299        https://bugs.webkit.org/show_bug.cgi?id=42960
77300
77301        Implemented two ResourceHandleClient callbacks that need to notify
77302        downstream GStreamer elements of errors while accessing the
77303        resource.
77304
77305        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
77306        (StreamingClient::wasBlocked):
77307        (StreamingClient::cannotShowURL):
77308
773092010-08-16  Gavin Barraclough  <barraclough@apple.com>
77310
77311        Rubber stamped by Sam Weinig
77312
77313        Remove unnecessary includes from UString.h, add new includes as necessary.
77314
77315        * dom/ScriptExecutionContext.h:
77316        * loader/appcache/ApplicationCache.cpp:
77317
773182010-08-16  Andreas Kling  <andreas.kling@nokia.com>
77319
77320        Reviewed by Darin Adler.
77321
77322        CSS: Add fast-path for rgba() color parsing
77323        https://bugs.webkit.org/show_bug.cgi?id=42965
77324
77325        Test: fast/canvas/rgba-parsing.html
77326
77327        * css/CSSParser.cpp:
77328        (WebCore::CSSParser::parseColor): Extended with support for rgba().
77329        (WebCore::parseAlphaValue): Added, parses an alpha value using
77330        WTF::strtod() (if necessary) and clamps between 0 and 1.
77331        (WebCore::isTenthAlpha):
77332
773332010-08-16  Kinuko Yasuda  <kinuko@chromium.org>
77334
77335        Reviewed by Dumitru Daniliuc.
77336
77337        Add idl and mock classes for FileSystem API's {File,Directory}Entry and related interfaces
77338        https://bugs.webkit.org/show_bug.cgi?id=43993
77339
77340        Adding DirectoryEntry, DirectoryReader, EntriesCallback and FileEntry as defined in HTML5 FileSystem API.
77341        http://dev.w3.org/2009/dap/file-system/file-dir-sys.html
77342
77343        Also adding Makefile entries for idl and mock classes added in changeset 64414 (except for Android platforms).
77344
77345        Tests will be added when we add underlying implementation.
77346
77347        * CMakeLists.txt:
77348        * DerivedSources.cpp:
77349        * DerivedSources.make:
77350        * GNUmakefile.am:
77351        * WebCore.gypi:
77352        * WebCore.pri:
77353        * WebCore.pro:
77354        * WebCore.vcproj/WebCore.vcproj:
77355        * WebCore.xcodeproj/project.pbxproj:
77356        * storage/DOMFileSystem.cpp:
77357        (WebCore::DOMFileSystem::root):
77358        * storage/DOMFileSystem.h:
77359        * storage/DOMFileSystem.idl:
77360        * storage/DirectoryEntry.cpp: Added.
77361        * storage/DirectoryEntry.h: Added.
77362        * storage/DirectoryEntry.idl: Added.
77363        * storage/DirectoryReader.cpp: Added.
77364        * storage/DirectoryReader.h: Added.
77365        * storage/DirectoryReader.idl: Added.
77366        * storage/EntriesCallback.h: Added.
77367        * storage/EntriesCallback.idl: Added.
77368        * storage/EntryArray.cpp: Added.
77369        * storage/EntryArray.h: Added.
77370        * storage/EntryArray.idl: Added.
77371        * storage/Entry.cpp:
77372        (WebCore::Entry::Entry):
77373        (WebCore::Entry::getMetadata):
77374        (WebCore::Entry::moveTo):
77375        (WebCore::Entry::copyTo):
77376        (WebCore::Entry::remove):
77377        (WebCore::Entry::getParent):
77378        * storage/Entry.h:
77379        (WebCore::Entry::isFile):
77380        (WebCore::Entry::isDirectory):
77381        * storage/Entry.idl:
77382        * storage/FileEntry.cpp: Added.
77383        * storage/FileEntry.h: Added.
77384        * storage/FileEntry.idl: Added.
77385
773862010-08-16  Andreas Kling  <andreas.kling@nokia.com>
77387
77388        Reviewed by Ariya Hidayat.
77389
77390        [Qt] Path::closeSubpath() should only close the last subpath if it has >1 point
77391        https://bugs.webkit.org/show_bug.cgi?id=44061
77392
77393        Spec link:
77394        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-closepath
77395
77396        Test: fast/canvas/canvas-closePath-single-point.html
77397
77398        * platform/graphics/Path.h: Add a Qt-only member to track the last subpath.
77399        * platform/graphics/qt/PathQt.cpp:
77400        (WebCore::Path::closeSubpath): Only close the last subpath if it
77401        has more than 1 point. Otherwise behave as moveTo(first point in last subpath)
77402        (WebCore::Path::Path):
77403        (WebCore::Path::operator=):
77404        (WebCore::Path::moveTo):
77405        (WebCore::Path::transform):
77406
774072010-08-16  Nate Chapin  <japhet@chromium.org>
77408
77409        Unreviewed, Chromium mac build fix (with help from jamesr).
77410
77411        * platform/chromium/ScrollbarThemeChromiumMac.mm:
77412        (WebCore::ScrollbarThemeChromiumMac::paint):
77413
774142010-08-16  Gavin Barraclough  <barraclough@apple.com>
77415
77416        Reviewed by Sam Weinig
77417
77418        Bug 44080 - String find/reverseFind methods need tidying up
77419        These methods have a couple of problems with their interface, and implementation.
77420
77421        These methods take and int index, and return an int - however this is problematic
77422        since on 64-bit string indices may have a full 32-bit range.  This spills out into
77423        surrounding code, which unsafely casts string indices from unsigned to int. Code
77424        checking the result of these methods check for a mix of "== -1", "< 0", and
77425        "== notFound".  Clean this up by changing these methods to take an unsigned
77426        starting index, and return a size_t. with a failed match indicated by notFound.
77427        reverseFind also has a special meaning for the starting index argument, in that a
77428        negative index is interpreted as an offset back from the end of the string. Remove
77429        this functionality, in the (1!) case where it is used we should just calculate the
77430        offset by subtracting from the string's length.
77431
77432        The implementation has a few problems too.  The code is not in webkit style, in
77433        using assorted abbreviations in variable names, and implementations of similar
77434        find methods with differing argument types were unnecessarily inconsistent. When
77435        find is passed const char* data the string would be handled as latin1 (zero
77436        extended to UTF-16) for all characters but the first; this is sign extended.
77437        Case-insensitive find is broken for unicode strings; the hashing optimization is
77438        not unicode safe, and could result in false negatives.
77439
77440        Unify UString find methods to match String.
77441
77442        * css/CSSSelector.cpp:
77443        (WebCore::CSSSelector::RareData::parseNth):
77444        * css/CSSStyleDeclaration.cpp:
77445        (WebCore::CSSStyleDeclaration::setProperty):
77446        * css/CSSStyleSelector.cpp:
77447        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
77448        * dom/Document.cpp:
77449        (WebCore::Document::getImageMap):
77450        * editing/CompositeEditCommand.cpp:
77451        (WebCore::CompositeEditCommand::inputText):
77452        * editing/InsertTextCommand.cpp:
77453        (WebCore::InsertTextCommand::input):
77454        * editing/TextIterator.cpp:
77455        (WebCore::TextIterator::handleTextBox):
77456        * editing/TypingCommand.cpp:
77457        (WebCore::TypingCommand::insertText):
77458        * editing/markup.cpp:
77459        (WebCore::fillContainerFromString):
77460        (WebCore::createFragmentFromText):
77461        * html/File.cpp:
77462        (WebCore::File::Init):
77463        * html/HTMLAnchorElement.cpp:
77464        (WebCore::HTMLAnchorElement::setHost):
77465        * html/HTMLEmbedElement.cpp:
77466        (WebCore::HTMLEmbedElement::parseMappedAttribute):
77467        * html/HTMLFormControlElement.cpp:
77468        (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
77469        * html/HTMLObjectElement.cpp:
77470        (WebCore::HTMLObjectElement::parseMappedAttribute):
77471        * inspector/InspectorDOMAgent.cpp:
77472        (WebCore::InspectorDOMAgent::performSearch):
77473        * loader/CrossOriginPreflightResultCache.cpp:
77474        (WebCore::parseAccessControlAllowList):
77475        * loader/MainResourceLoader.cpp:
77476        (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
77477        * loader/appcache/ApplicationCacheStorage.cpp:
77478        (WebCore::parseHeader):
77479        (WebCore::parseHeaders):
77480        * loader/icon/IconFetcher.cpp:
77481        (WebCore::parseIconLink):
77482        * page/DOMWindow.cpp:
77483        (WebCore::DOMWindow::parseModalDialogFeatures):
77484        * page/SecurityOrigin.cpp:
77485        (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
77486        * page/UserContentURLPattern.cpp:
77487        (WebCore::UserContentURLPattern::parse):
77488        * page/XSSAuditor.cpp:
77489        (WebCore::XSSAuditor::findInRequest):
77490        * platform/ContentType.cpp:
77491        (WebCore::ContentType::parameter):
77492        (WebCore::ContentType::type):
77493        * platform/KURL.cpp:
77494        (WebCore::KURL::lastPathComponent):
77495        (WebCore::KURL::setProtocol):
77496        (WebCore::decodeURLEscapeSequences):
77497        (WebCore::substituteBackslashes):
77498        (WebCore::mimeTypeFromDataURL):
77499        * platform/Length.cpp:
77500        (WebCore::newCoordsArray):
77501        (WebCore::newLengthArray):
77502        * platform/LinkHash.cpp:
77503        (WebCore::findSlashDotDotSlash):
77504        (WebCore::findSlashSlash):
77505        (WebCore::findSlashDotSlash):
77506        (WebCore::cleanPath):
77507        * platform/MIMETypeRegistry.cpp:
77508        (WebCore::MIMETypeRegistry::getMIMETypeForPath):
77509        * platform/SchemeRegistry.cpp:
77510        (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
77511        * platform/graphics/MediaPlayer.cpp:
77512        (WebCore::MediaPlayer::load):
77513        * platform/mac/DragImageMac.mm:
77514        (WebCore::createDragImageIconForCachedImage):
77515        * platform/network/CredentialStorage.cpp:
77516        (WebCore::protectionSpaceMapKeyFromURL):
77517        (WebCore::findDefaultProtectionSpaceForURL):
77518        * platform/network/HTTPParsers.cpp:
77519        (WebCore::skipWhiteSpace):
77520        (WebCore::skipToken):
77521        (WebCore::parseHTTPRefresh):
77522        (WebCore::filenameFromHTTPContentDisposition):
77523        (WebCore::findCharsetInMediaType):
77524        (WebCore::parseXSSProtectionHeader):
77525        (WebCore::extractReasonPhraseFromHTTPStatusLine):
77526        * platform/network/ResourceResponseBase.cpp:
77527        (WebCore::ResourceResponseBase::isAttachment):
77528        (WebCore::parseCacheHeader):
77529        * rendering/RenderEmbeddedObject.cpp:
77530        (WebCore::RenderEmbeddedObject::updateWidget):
77531        * storage/Entry.cpp:
77532        (WebCore::Entry::Entry):
77533        * svg/SVGFont.cpp:
77534        (WebCore::isCompatibleGlyph):
77535        * svg/SVGURIReference.cpp:
77536        (WebCore::SVGURIReference::getTarget):
77537        * svg/animation/SVGSMILElement.cpp:
77538        (WebCore::SVGSMILElement::parseClockValue):
77539        (WebCore::SVGSMILElement::parseCondition):
77540        * xml/XPathFunctions.cpp:
77541        (WebCore::XPath::FunSubstringBefore::evaluate):
77542        (WebCore::XPath::FunSubstringAfter::evaluate):
77543        (WebCore::XPath::FunTranslate::evaluate):
77544        (WebCore::XPath::FunLang::evaluate):
77545        * xml/XPathParser.cpp:
77546        (WebCore::XPath::Parser::expandQName):
77547
775482010-08-16  Ryosuke Niwa  <rniwa@webkit.org>
77549
77550        Reviewed by Tony Chang.
77551
77552        REGRESSION(r65208): editing/pasteboard/smart-paste-003.html and smart-paste-004.html crash on Windows Chromium
77553        https://bugs.webkit.org/show_bug.cgi?id=44070
77554
77555        The crash was caused by start or end node being removed in pushDownInlineStyleAroundNode.
77556        It made start and end orphaned, and caused s.node() to be detached from the document.
77557        Fixed the crash by using nodes passed to pushDownInlineStyleAroundNode for start and end if the original
77558        start and end are orphaned because pushDownInlineStyleAroundNode won't prune targetNode.
77559
77560        Test: editing/pasteboard/smart-paste-003-trailing-whitespace.html
77561
77562        * editing/ApplyStyleCommand.cpp:
77563        (WebCore::ApplyStyleCommand::removeInlineStyle):
77564
775652010-08-16  James Robinson  <jamesr@chromium.org>
77566
77567        Compile fix. Remove ANGLEWebKitBridge classes from Chromium build.  They are unused.
77568
77569        * WebCore.gypi:
77570
775712010-08-16  Vincent Scheib  <scheib@chromium.org>
77572
77573        Reviewed by Dimitri Glazkov.
77574
77575        Canvas2D does not support images larger than system's GPU max texture size
77576        https://bugs.webkit.org/show_bug.cgi?id=43864
77577
77578        A new class "TilingData" has been created that provides logic for 
77579        splitting a large image into a series of smaller tiles.
77580        
77581        GLES2Texture and CLES2Canvas are modified to use the TilingData to
77582        split images on texture upload and render one logical image as many smaller
77583        images.
77584
77585        TilingData is tested via unit tests in WebKit/chromium/tests/TilingDataTest.cpp
77586        
77587        * WebCore.gypi:
77588        * platform/graphics/chromium/GLES2Canvas.cpp:
77589        (WebCore::GLES2Canvas::drawTexturedRect):
77590        (WebCore::GLES2Canvas::drawTexturedRectTile):
77591        * platform/graphics/chromium/GLES2Canvas.h:
77592        * platform/graphics/chromium/GLES2Texture.cpp:
77593        (WebCore::GLES2Texture::GLES2Texture):
77594        (WebCore::GLES2Texture::~GLES2Texture):
77595        (WebCore::GLES2Texture::create):
77596        (WebCore::copySubRect):
77597        (WebCore::GLES2Texture::load):
77598        (WebCore::GLES2Texture::bindTile):
77599        * platform/graphics/chromium/GLES2Texture.h:
77600        (WebCore::GLES2Texture::tiles):
77601        * platform/graphics/chromium/TilingData.cpp: Added.
77602        (WebCore::computeNumTiles):
77603        (WebCore::TilingData::TilingData):
77604        (WebCore::TilingData::tileXIndexFromSrcCoord):
77605        (WebCore::TilingData::tileYIndexFromSrcCoord):
77606        (WebCore::TilingData::tileBounds):
77607        (WebCore::TilingData::tileBoundsWithBorder):
77608        (WebCore::TilingData::tileBoundsNormalized):
77609        (WebCore::TilingData::tilePositionX):
77610        (WebCore::TilingData::tilePositionY):
77611        (WebCore::TilingData::tileSizeX):
77612        (WebCore::TilingData::tileSizeY):
77613        (WebCore::TilingData::overlappedTileIndices):
77614        (WebCore::TilingData::intersectDrawQuad):
77615        * platform/graphics/chromium/TilingData.h: Added.
77616        (WebCore::TilingData::maxTextureSize):
77617        (WebCore::TilingData::totalSizeX):
77618        (WebCore::TilingData::totalSizeY):
77619        (WebCore::TilingData::numTiles):
77620        (WebCore::TilingData::numTilesX):
77621        (WebCore::TilingData::numTilesY):
77622        (WebCore::TilingData::tileIndex):
77623        (WebCore::TilingData::tileXIndex):
77624        (WebCore::TilingData::tileYIndex):
77625        (WebCore::TilingData::TilingData):
77626        (WebCore::TilingData::assertTile):
77627        * platform/graphics/skia/ImageSkia.cpp:
77628        (WebCore::BitmapImage::draw):
77629        * platform/graphics/skia/PlatformContextSkia.cpp:
77630        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
77631
776322010-08-16  David Hyatt  <hyatt@apple.com>
77633
77634        Reviewed by Anders Carlsson.
77635
77636        https://bugs.webkit.org/show_bug.cgi?id=43507, stop ImageBuffer from copying its data when rendering after canvas changes happen.
77637        
77638        This patch renames ImageBuffer::image() to ImageBuffer::copyImage(). The new method always returns a new copy that is a current
77639        snapshot of the ImageBuffer.
77640        
77641        To draw an ImageBuffer, you now use new GraphicsContext calls: drawImageBuffer.  Platforms can then optimize these calls to draw
77642        efficiently without having to copy the bits of the ImageBuffer into an Image.
77643
77644        * WebCore.xcodeproj/project.pbxproj:
77645        * css/CSSCanvasValue.cpp:
77646        (WebCore::CSSCanvasValue::image):
77647        * html/HTMLCanvasElement.cpp:
77648        (WebCore::HTMLCanvasElement::willDraw):
77649        (WebCore::HTMLCanvasElement::reset):
77650        (WebCore::HTMLCanvasElement::paint):
77651        (WebCore::HTMLCanvasElement::setSurfaceSize):
77652        (WebCore::HTMLCanvasElement::copiedImage):
77653        (WebCore::HTMLCanvasElement::clearCopiedImage):
77654        * html/HTMLCanvasElement.h:
77655        * html/canvas/CanvasPattern.cpp:
77656        (WebCore::CanvasPattern::CanvasPattern):
77657        * html/canvas/CanvasPattern.h:
77658        (WebCore::CanvasPattern::create):
77659        * html/canvas/CanvasRenderingContext2D.cpp:
77660        (WebCore::CanvasRenderingContext2D::drawImage):
77661        (WebCore::CanvasRenderingContext2D::createPattern):
77662        (WebCore::CanvasRenderingContext2D::drawTextInternal):
77663        * html/canvas/WebGLRenderingContext.cpp:
77664        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
77665        (WebCore::WebGLRenderingContext::reshape):
77666        (WebCore::WebGLRenderingContext::texImage2D):
77667        (WebCore::WebGLRenderingContext::texSubImage2D):
77668        * html/canvas/WebGLRenderingContext.h:
77669        (WebCore::WebGLRenderingContext::paintsIntoCanvasBuffer):
77670        * platform/graphics/GeneratedImage.cpp:
77671        (WebCore::GeneratedImage::drawPattern):
77672        * platform/graphics/GraphicsContext.cpp:
77673        (WebCore::GraphicsContext::drawImageBuffer):
77674        (WebCore::GraphicsContext::clipToImageBuffer):
77675        * platform/graphics/GraphicsContext.h:
77676        * platform/graphics/GraphicsContext3D.h:
77677        (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
77678        * platform/graphics/Image.h:
77679        * platform/graphics/ImageBuffer.h:
77680        (WebCore::ImageBuffer::width):
77681        (WebCore::ImageBuffer::height):
77682        * platform/graphics/Pattern.cpp:
77683        (WebCore::Pattern::Pattern):
77684        * platform/graphics/Pattern.h:
77685        (WebCore::Pattern::create):
77686        * platform/graphics/cairo/GraphicsContextCairo.cpp:
77687        * platform/graphics/cairo/ImageBufferCairo.cpp:
77688        (WebCore::ImageBuffer::drawsUsingCopy):
77689        (WebCore::ImageBuffer::copyImage):
77690        (WebCore::ImageBuffer::clip):
77691        (WebCore::ImageBuffer::draw):
77692        (WebCore::ImageBuffer::drawPattern):
77693        * platform/graphics/cg/GraphicsContextCG.cpp:
77694        * platform/graphics/cg/ImageBufferCG.cpp:
77695        (WebCore::ImageBuffer::ImageBuffer):
77696        (WebCore::ImageBuffer::drawsUsingCopy):
77697        (WebCore::ImageBuffer::copyImage):
77698        (WebCore::ImageBuffer::draw):
77699        (WebCore::ImageBuffer::drawPattern):
77700        (WebCore::ImageBuffer::clip):
77701        * platform/graphics/cg/ImageBufferData.h:
77702        * platform/graphics/filters/FEColorMatrix.cpp:
77703        (WebCore::FEColorMatrix::apply):
77704        * platform/graphics/filters/FEComposite.cpp:
77705        (WebCore::FEComposite::apply):
77706        * platform/graphics/filters/SourceAlpha.cpp:
77707        (WebCore::SourceAlpha::apply):
77708        * platform/graphics/filters/SourceGraphic.cpp:
77709        (WebCore::SourceGraphic::apply):
77710        * platform/graphics/mac/GraphicsContext3DMac.mm:
77711        * platform/graphics/qt/GraphicsContext3DQt.cpp:
77712        * platform/graphics/qt/GraphicsContextQt.cpp:
77713        * platform/graphics/qt/ImageBufferData.h:
77714        * platform/graphics/qt/ImageBufferQt.cpp:
77715        (WebCore::ImageBufferData::ImageBufferData):
77716        (WebCore::ImageBuffer::drawsUsingCopy):
77717        (WebCore::ImageBuffer::copyImage):
77718        (WebCore::ImageBuffer::draw):
77719        (WebCore::ImageBuffer::drawPattern):
77720        (WebCore::ImageBuffer::clip):
77721        * platform/graphics/skia/GraphicsContextSkia.cpp:
77722        * platform/graphics/skia/ImageBufferSkia.cpp:
77723        (WebCore::ImageBuffer::drawsUsingCopy):
77724        (WebCore::ImageBuffer::copyImage):
77725        (WebCore::ImageBuffer::clip):
77726        (WebCore::):
77727        * platform/graphics/wx/GraphicsContextWx.cpp:
77728        * platform/graphics/wx/ImageBufferWx.cpp:
77729        (WebCore::ImageBuffer::drawsUsingCopy):
77730        (WebCore::ImageBuffer::copyImage):
77731        (WebCore::ImageBuffer::clip):
77732        (WebCore::ImageBuffer::draw):
77733        (WebCore::ImageBuffer::drawPattern):
77734        * platform/mac/ScrollbarThemeMac.mm:
77735        (WebCore::ScrollbarThemeMac::paint):
77736        * rendering/RenderBoxModelObject.cpp:
77737        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
77738        * rendering/RenderSVGResourceClipper.cpp:
77739        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
77740        * rendering/RenderSVGResourceFilter.cpp:
77741        (WebCore::RenderSVGResourceFilter::postApplyResource):
77742        * rendering/RenderSVGResourceGradient.cpp:
77743        (WebCore::clipToTextMask):
77744        * rendering/RenderSVGResourceMasker.cpp:
77745        (WebCore::RenderSVGResourceMasker::applyResource):
77746        * rendering/RenderSVGResourcePattern.cpp:
77747        (WebCore::RenderSVGResourcePattern::buildPattern):
77748        * rendering/RenderThemeMac.mm:
77749        (WebCore::RenderThemeMac::paintProgressBar):
77750        * svg/SVGFEImageElement.cpp:
77751        (WebCore::SVGFEImageElement::build):
77752        * svg/graphics/SVGImage.cpp:
77753        (WebCore::SVGImage::nativeImageForCurrentFrame):
77754        * svg/graphics/SVGImage.h:
77755        * svg/graphics/filters/SVGFEMerge.cpp:
77756        (WebCore::FEMerge::apply):
77757        * svg/graphics/filters/SVGFEOffset.cpp:
77758        (WebCore::FEOffset::apply):
77759        * svg/graphics/filters/SVGFETile.cpp:
77760        (WebCore::FETile::apply):
77761
777622010-08-16  Paul Sawaya  <psawaya@apple.com>
77763
77764        Reviewed by Chris Marrin.
77765
77766        Added shader validation via ANGLE
77767        https://bugs.webkit.org/show_bug.cgi?id=42405
77768
77769        Added validation to WebGL via ANGLE
77770
77771        * Configurations/WebCore.xcconfig:
77772        * WebCore.gypi:
77773        * WebCore.xcodeproj/project.pbxproj:
77774        * platform/graphics/ANGLEWebKitBridge.cpp: Added.
77775        (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
77776        (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
77777        (WebCore::ANGLEWebKitBridge::validateShaderSource):
77778        * platform/graphics/ANGLEWebKitBridge.h: Added.
77779        (WebCore::):
77780        (WebCore::ANGLEWebKitBridge::setResources):
77781        * platform/graphics/GraphicsContext3D.h:
77782        (WebCore::GraphicsContext3D::):
77783        * platform/graphics/mac/GraphicsContext3DMac.mm:
77784        (WebCore::GraphicsContext3D::GraphicsContext3D):
77785        (WebCore::GraphicsContext3D::compileShader):
77786        (WebCore::GraphicsContext3D::shaderSource):
77787        (WebCore::GraphicsContext3D::getShaderiv):
77788        (WebCore::GraphicsContext3D::getShaderInfoLog):
77789        (WebCore::GraphicsContext3D::getShaderSource):
77790
777912010-08-16  Kevin Ollivier  <kevino@theolliviers.com>
77792
77793        [wx] Build fix, do not build WebCore as a convenience library as this leads to
77794        errors in the Win build w/export symbols and causes problems with DOM bindings
77795        debugging in gdb.
77796
77797        * wscript: Removed.
77798
777992010-08-16  Ilya Tikhonovsky  <loislo@chromium.org>
77800
77801        Reviewed by Adam Roben.
77802
77803        Current implementation of WebCore post-build step on windows platform is error prone.
77804        It would be better to extract the script into external file.
77805        https://bugs.webkit.org/show_bug.cgi?id=44058
77806
77807        * WebCore.vcproj/WebCore.vcproj:
77808        * WebCore.vcproj/copyForwardingHeaders.cmd: Added.
77809        * WebCore.vcproj/copyInspectorFiles.cmd: Added.
77810
778112010-08-16  Kevin Ollivier  <kevino@theolliviers.com>
77812
77813        [wx] Fix typo in previous build fix.
77814
77815        * platform/graphics/WOFFFileFormat.cpp:
77816
778172010-08-16  Alex Milowski  <alex@milowski.com>
77818
77819        Reviewed by David Levin.
77820
77821        Added the configuration of the MathML related files.
77822
77823        * WebCore.gyp/WebCore.gyp:
77824        * WebCore.gypi:
77825
778262010-08-16  Pavel Feldman  <pfeldman@chromium.org>
77827
77828        Not reviewed: fix Leopard Release inspector tests.
77829
77830        * inspector/front-end/inspector.js:
77831
778322010-08-16  Marcus Bulach  <bulach@chromium.org>
77833
77834        Reviewed by Jeremy Orlow.
77835
77836        Implements IDBKeyPath extractor.
77837        https://bugs.webkit.org/show_bug.cgi?id=43276
77838
77839        Unit-test IDBKeyPathExtractorTest.cpp.
77840        LayoutTests will arrive as IndexedDB infrastructure is fleshed out.
77841
77842        * bindings/v8/IDBBindingUtilities.cpp:
77843        (WebCore::getValueFrom):
77844        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
77845        * bindings/v8/IDBBindingUtilities.h:
77846
778472010-08-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
77848
77849        Reviewed by Kenneth Rohde Christiansen and Martin Robinson.
77850
77851        [GTK] GTK+ drawing idle starved
77852        https://bugs.webkit.org/show_bug.cgi?id=43994
77853
77854        Tune down the priority of the shared timers to guarantee GTK+ has
77855        an opportunity to redraw.
77856
77857        * platform/gtk/SharedTimerGtk.cpp:
77858        (WebCore::setSharedTimerFireTime):
77859
778602010-08-16  Leandro Pereira  <leandro@profusion.mobi>
77861
77862        [EFL] Build fix after r65366.
77863
77864        EFL port does not support automated tests yet.
77865
77866        * CMakeLists.txt: Use if (VAR) instead of if (${VAR}) to check if
77867        they're empty.
77868
778692010-08-16  Pavel Feldman  <pfeldman@chromium.org>
77870
77871        Reviewed by Yury Semikhatsky.
77872
77873        Web Inspector: Make InjectedScript proto-based.
77874        https://bugs.webkit.org/show_bug.cgi?id=44028
77875
77876        * inspector/front-end/InjectedScript.js:
77877        (injectedScriptConstructor):
77878        (injectedScriptConstructor.):
77879
778802010-08-16  Csaba Osztrogonác  <ossy@webkit.org>
77881
77882        Reviewed by Adam Roben.
77883
77884        Fix warning in WebCore/plugins/win/PluginPackageWin.cpp
77885        https://bugs.webkit.org/show_bug.cgi?id=43920
77886
77887        * plugins/win/PluginPackageWin.cpp:
77888        (WebCore::PluginPackage::fetchInfo):
77889
778902010-08-16  Pavel Feldman  <pfeldman@chromium.org>
77891
77892        Not reviewed. Touch inspector file to force frontend deployment.
77893
77894        * inspector/InspectorController.cpp:
77895
778962010-08-16  Kevin Ollivier  <kevino@theolliviers.com>
77897
77898        [wx] Build fix for non-Win ports on Windows.
77899
77900        * platform/graphics/WOFFFileFormat.cpp:
77901
779022010-08-16  Adam Langley  <agl@chromium.org>
77903
77904        Reviewed by Tony Chang.
77905
77906        [chromium] Improve spacing support for complex text on Linux
77907
77908        https://bugs.webkit.org/show_bug.cgi?id=39014
77909
77910        Previously, our complex text support ignored word-spacing,
77911        justification and letter-spacing. This fixes the first two issues and
77912        allows us to render Scribd's HTML5 documents much better.
77913
77914        Test: fast/text/atsui-spacing-features.html
77915
77916        * platform/graphics/chromium/FontLinux.cpp:
77917        (WebCore::TextRunWalker::TextRunWalker):
77918        (WebCore::TextRunWalker::setWordSpacingAdjustment):
77919        (WebCore::TextRunWalker::setLetterSpacingAdjustment):
77920        (WebCore::TextRunWalker::setPadding):
77921        (WebCore::TextRunWalker::setGlyphXPositions):
77922        (WebCore::TextRunWalker::isCodepointSpace):
77923        (WebCore::Font::drawComplexText):
77924        (WebCore::Font::floatWidthForComplexText):
77925        (WebCore::Font::offsetForPositionForComplexText):
77926        (WebCore::Font::selectionRectForComplexText):
77927
779282010-08-16  Csaba Osztrogonác  <ossy@webkit.org>
77929
77930        Reviewed by Kenneth Rohde Christiansen.
77931
77932        Fix warnings: unknown conversion type character 'l' in format
77933        https://bugs.webkit.org/show_bug.cgi?id=43359
77934
77935        * loader/icon/IconDatabase.cpp:
77936        (WebCore::IconDatabase::performURLImport): Replace %zu with %lu, because Windows doesn't understand z modifier.
77937        (WebCore::IconDatabase::pruneUnretainedIcons): Use %I64i intsead of %lli on Windows.
77938        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
77939        (WebCore::MediaPlayerPrivate::totalTimeChanged): Use %I64d intsead of %lld on Windows.
77940        * platform/sql/SQLiteDatabase.cpp:
77941        (WebCore::SQLiteDatabase::setMaximumSize): Use %I64i intsead of %lli on Windows.
77942        * storage/DatabaseTracker.cpp:
77943        (WebCore::DatabaseTracker::setQuota): Use %I64u intsead of %llu on Windows.
77944
779452010-08-16  Csaba Osztrogonác  <ossy@webkit.org>
77946
77947        Reviewed by Kenneth Rohde Christiansen.
77948
77949        Fix warnings: unknown conversion type character 'l' in format
77950        https://bugs.webkit.org/show_bug.cgi?id=43359
77951
77952        * loader/FTPDirectoryParser.cpp: Use %I64u format specifier instead of %llu on Windows.
77953        (WebCore::parseOneFTPLine):
77954
779552010-08-16  Ariya Hidayat  <ariya@sencha.com>
77956
77957        Reviewed by Kenneth Rohde Christiansen.
77958
77959        [Qt] Shadow blur for rectangle fill
77960        https://bugs.webkit.org/show_bug.cgi?id=44025
77961
77962        The blur implementation follows the approximation of Gaussian blur
77963        with three successive box blurs, working on the alpha channel only.
77964        (see http://www.w3.org/TR/SVG/filters.html#feGaussianBlur).
77965
77966        * WebCore.pro: Refer to ContexShadow.* files.
77967        * platform/graphics/qt/ContextShadow.cpp: Added.
77968        (WebCore::ContextShadow::ContextShadow):
77969        (WebCore::ContextShadow::clear):
77970        (WebCore::blurHorizontal): Box blurs in horizontal direction, working
77971        on QImage (in-place).
77972        (WebCore::shadowBlur): Main blur function which just calls the
77973        above blurHorizontal function twice, once with transposed image
77974        (equivalent as it would have done vertical box blurs).
77975        (WebCore::ContextShadow::drawShadowRect):
77976        * platform/graphics/qt/ContextShadow.h: Added.
77977        (WebCore::ContextShadow::):
77978        * platform/graphics/qt/GraphicsContextQt.cpp:
77979        (WebCore::GraphicsContextPlatformPrivate::hasShadow):
77980        (WebCore::GraphicsContext::restorePlatformState):
77981        (WebCore::GraphicsContext::fillRect): Use ContextShadow for the shadow.
77982        (WebCore::GraphicsContext::setPlatformShadow):
77983
779842010-08-16  Andras Becsi  <abecsi@webkit.org>
77985
77986        Rubber-stamped by Gustavo Noronha Silva.
77987
77988        [GTK] Build fix for MathML code generation.
77989
77990        No new tests needed.
77991
77992        * GNUmakefile.am:
77993
779942010-08-16  Sheriff Bot  <webkit.review.bot@gmail.com>
77995
77996        Unreviewed, rolling out r65414.
77997        http://trac.webkit.org/changeset/65414
77998        https://bugs.webkit.org/show_bug.cgi?id=44055
77999
78000        GTL & QT tests failing. (Requested by pfeldman on #webkit).
78001
78002        * inspector/front-end/InjectedScript.js:
78003        (injectedScriptConstructor):
78004        (injectedScriptConstructor.):
78005
780062010-08-16  Ariya Hidayat  <ariya@sencha.com>
78007
78008        Reviewed by Antonio Gomes.
78009
78010        [Qt] Save and restore shadow state in GraphicsContextQt
78011        https://bugs.webkit.org/show_bug.cgi?id=44031
78012
78013        This is needed after r65362.
78014        Use a new class ContextShadowParameter to track and keep the shadow
78015        state. We use this rather than using GraphicsContextState to allow
78016        possible optimizations (right now only to determine the shadow type,
78017        but in future it might cover things like cached scratch image,
78018        persistent shader, etc).
78019
78020        * platform/graphics/qt/GraphicsContextQt.cpp:
78021        (WebCore::ContextShadowParameter::):
78022        (WebCore::ContextShadowParameter::ContextShadowParameter):
78023        (WebCore::ContextShadowParameter::clear):
78024        (WebCore::GraphicsContextPlatformPrivate::hasShadow):
78025        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
78026        (WebCore::GraphicsContext::savePlatformState):
78027        (WebCore::GraphicsContext::restorePlatformState):
78028        (WebCore::GraphicsContext::drawRect):
78029        (WebCore::GraphicsContext::drawLine):
78030        (WebCore::GraphicsContext::strokeArc):
78031        (WebCore::GraphicsContext::drawConvexPolygon):
78032        (WebCore::GraphicsContext::fillPath):
78033        (WebCore::GraphicsContext::strokePath):
78034        (WebCore::GraphicsContext::fillRect):
78035        (WebCore::GraphicsContext::fillRoundedRect):
78036        (WebCore::GraphicsContext::setPlatformShadow):
78037        (WebCore::GraphicsContext::clearPlatformShadow):
78038
780392010-07-28  Marcus Bulach  <bulach@chromium.org>
78040
78041        Reviewed by Adam Barth.
78042
78043        Implement IDBKeyPath parser.
78044        https://bugs.webkit.org/show_bug.cgi?id=42976
78045
78046        IDBKeyPath is an internal class, exposed only for unit tests for now.
78047        It'll allow indexed database implementation to traverse a given key path and obtain the corresponding properties
78048        from a SerializedScriptValue.
78049
78050        * WebCore.gypi:
78051        * storage/IDBKeyPath.cpp: Added.
78052        (WebCore::IDBKeyPath::create):
78053        (WebCore::IDBKeyPath::IDBKeyPath):
78054        (WebCore::IDBKeyPath::~IDBKeyPath):
78055        (WebCore::IDBKeyPath::hasNext):
78056        (WebCore::IDBKeyPath::next):
78057        (WebCore::IDBKeyPath::identifier):
78058        (WebCore::IDBKeyPath::hasIndex):
78059        (WebCore::IDBKeyPath::indexValue):
78060        (WebCore::IDBKeyPath::parserError):
78061        (WebCore::IDBKeyPath::parse):
78062        (WebCore::IDBKeyPath::Lexer::lex):
78063        (WebCore::isSafeIdentifierStartCharacter):
78064        (WebCore::isSafeIdentifierCharacter):
78065        (WebCore::IDBKeyPath::Lexer::lexIdentifier):
78066        (WebCore::IDBKeyPath::Lexer::lexNumber):
78067        * storage/IDBKeyPath.h: Added.
78068        (WebCore::IDBKeyPath::Token::Token):
78069        (WebCore::IDBKeyPath::):
78070        (WebCore::IDBKeyPath::Lexer::Lexer):
78071        (WebCore::IDBKeyPath::Lexer::next):
78072        (WebCore::IDBKeyPath::Lexer::currentToken):
78073
780742010-08-13  Steve Block  <steveblock@google.com>
78075
78076        Reviewed by Alexey Proskuryakov.
78077
78078        Geolocation requests in progress when the frame is disconnected should invoke the error callback
78079        https://bugs.webkit.org/show_bug.cgi?id=43974
78080
78081        If requests are ongoing when the Frame is disconnected, we abort them with a fatal error.
78082        To do this, when Geolocation::disconnectFrame() is called we call cancelAllRequests() to
78083        set a fatal error on all ongoing requests. Once the requests have made their error
78084        callbacks, they are deleted. Note that we check at callback time that the script
78085        execution context for the callback is still valid, so it's safe to attempt these
78086        callbacks even after the Geolocation object's Frame has gone.
78087
78088        This requires a change to allow multiple calls to GeoNotifier::setFatalError().
78089        For repeated calls, we do not replace the existing error. This ensures that when
78090        permission has been denied and the frame is then disconnected, the error callback
78091        reports the permission error, as required by the spec.
78092
78093        Tests: fast/dom/Geolocation/disconnected-frame.html
78094               fast/dom/Geolocation/disconnected-frame-permission-denied.html
78095
78096        * page/Geolocation.cpp:
78097        (WebCore::Geolocation::GeoNotifier::setFatalError):
78098        (WebCore::Geolocation::disconnectFrame):
78099        (WebCore::Geolocation::startRequest):
78100        (WebCore::Geolocation::cancelAllRequests):
78101        * page/Geolocation.h:
78102
781032010-08-16  Pavel Feldman  <pfeldman@chromium.org>
78104
78105        Reviewed by Joseph Pecoraro.
78106
78107        Web Inspector: upstream frontend-side WebSocket transport.
78108        https://bugs.webkit.org/show_bug.cgi?id=43970
78109
78110        Chromium already has an alternate WebSocket-based communication channel with
78111        the backend. Upstreaming it in this change. We will agree on the URI
78112        of the remote service as the protocol matures.
78113
78114        * inspector/front-end/inspector.js:
78115        (.WebInspector.socket.onmessage):
78116        (.WebInspector.socket.onerror):
78117        (.WebInspector.socket.onopen):
78118        (WebInspector.loaded):
78119        (WebInspector.doLoadedDone):
78120        (WebInspector_syncDispatch):
78121
781222010-08-16  Pavel Feldman  <pfeldman@chromium.org>
78123
78124        Reviewed by Yury Semikhatsky.
78125
78126        Web Inspector: Make InjectedScript proto-based.
78127        https://bugs.webkit.org/show_bug.cgi?id=44028
78128
78129        * inspector/front-end/InjectedScript.js:
78130        (injectedScriptConstructor):
78131        (injectedScriptConstructor.):
78132        * inspector/front-end/inspector.js:
78133        (WebInspector.loaded):
78134
781352010-08-16  Pavel Feldman  <pfeldman@chromium.org>
78136
78137        Reviewed by Joseph Pecoraro.
78138
78139        Web Inspector: [REGRESSION] console's clear command does not work.
78140        https://bugs.webkit.org/show_bug.cgi?id=44027
78141
78142        Test: inspector/console-command-clear.html
78143
78144        * inspector/Inspector.idl:
78145        * inspector/InspectorBackend.cpp:
78146        * inspector/InspectorBackend.h:
78147        * inspector/InspectorController.cpp:
78148        (WebCore::InspectorController::clearConsoleMessages):
78149        * inspector/front-end/ConsoleView.js:
78150        (WebInspector.ConsoleView.prototype.requestClearMessages):
78151        * inspector/front-end/inspector.js:
78152        (WebInspector.consoleMessagesCleared):
78153
781542010-08-16  Jeremy Orlow  <jorlow@chromium.org>
78155
78156        Ugh, the #if ENABLE() was supposed to be added to Settings not GroupSettings.
78157
78158        * page/GroupSettings.cpp:
78159        (WebCore::GroupSettings::GroupSettings):
78160        (WebCore::GroupSettings::setLocalStorageQuotaBytes):
78161        * page/GroupSettings.h:
78162        * page/Settings.cpp:
78163        (WebCore::Settings::Settings):
78164        * page/Settings.h:
78165
781662010-08-16  Jeremy Orlow  <jorlow@chromium.org>
78167
78168        Last build fix?
78169
78170        * page/PageGroup.cpp:
78171        (WebCore::PageGroup::PageGroup):
78172
781732010-08-16  Jeremy Orlow  <jorlow@chromium.org>
78174
78175        Ugh...another build fix.
78176
78177        * page/GroupSettings.cpp:
78178        (WebCore::GroupSettings::GroupSettings):
78179        * page/GroupSettings.h:
78180
781812010-08-16  Jeremy Orlow  <jorlow@chromium.org>
78182
78183        Build fix.
78184
78185        * GNUmakefile.am:
78186
781872010-08-16  Jeremy Orlow  <jorlow@chromium.org>
78188
78189        Build fix.
78190
78191        * page/PageGroup.cpp:
78192        (WebCore::PageGroup::localStorage):
78193
781942010-08-13  Jeremy Orlow  <jorlow@chromium.org>
78195
78196        Some settings are linked to the PageGroup not the Page.  Create a new class for those.
78197        https://bugs.webkit.org/show_bug.cgi?id=43794
78198
78199        Since persistient storage is shared between pages, there's no way to modify
78200        some settings related to it on a per page basis.  As such, it's not technically
78201        correct for these settings to be on the Page's settings.  Create a new class
78202        called GroupSettings, move  group-wide local storage setting there (the other we
78203        can't), and add a new setting for IndexedDB's path (which is prompting this change).
78204
78205        No behavior has changed, so no tests.
78206
78207        * Android.mk:
78208        * CMakeLists.txt:
78209        * GNUmakefile.am:
78210        * WebCore.gypi:
78211        * WebCore.pro:
78212        * WebCore.vcproj/WebCore.vcproj:
78213        * WebCore.xcodeproj/project.pbxproj:
78214        * page/GroupSettings.cpp: Added.
78215        (WebCore::GroupSettings::GroupSettings):
78216        (WebCore::GroupSettings::setLocalStorageQuotaBytes):
78217        (WebCore::GroupSettings::setLocalStorageDatabasePath):
78218        (WebCore::GroupSettings::setIndexedDBDatabasePath):
78219        * page/GroupSettings.h: Added.
78220        (WebCore::GroupSettings::create):
78221        (WebCore::GroupSettings::localStorageQuotaBytes):
78222        (WebCore::GroupSettings::localStorageDatabasePath):
78223        (WebCore::GroupSettings::indexedDBDatabasePath):
78224        * page/PageGroup.cpp:
78225        (WebCore::PageGroup::PageGroup):
78226        (WebCore::PageGroup::localStorage):
78227        * page/PageGroup.h:
78228        (WebCore::PageGroup::groupSettings):
78229        * page/Settings.cpp:
78230        (WebCore::Settings::Settings):
78231        (WebCore::Settings::setSessionStorageQuota):
78232        * page/Settings.h:
78233
782342010-08-16  Adam Barth  <abarth@webkit.org>
78235
78236        Reviewed by Alexey Proskuryakov.
78237
78238        HTML5 fragment parsing doesn't load iframes
78239        https://bugs.webkit.org/show_bug.cgi?id=44038
78240
78241        Previously, this code assumed that every source iframe was actually
78242        attached to a render tree.  It tried to "keep the iframe alive" as it
78243        moved documents.  However, if the iframe wasn't attached to begin with,
78244        it was never "alive," so trying to keep a dead iframe alive lead to a
78245        ...  zombie iframe.
78246
78247        Test: fast/frames/adopt-from-created-document.html
78248
78249        * dom/Document.cpp:
78250        (WebCore::Document::adoptNode):
78251
782522010-08-13  MORITA Hajime  <morrita@google.com>
78253
78254        Reviewed by Tony Chang.
78255
78256        https://bugs.webkit.org/show_bug.cgi?id=43778
78257        Dropping should fire textInput event
78258
78259        This change:
78260        - added TextEvent::m_isDrop to distinguish drop-initiated events.
78261        - added to dispatch TextEvent from DragController before making a side effect
78262          and cancel the side effect if the event prevents default
78263
78264        Tests: editing/pasteboard/drop-text-events-sideeffect.html
78265               editing/pasteboard/drop-text-events.html
78266
78267        * dom/TextEvent.cpp:
78268        (WebCore::TextEvent::createForDrop): Added.
78269        (WebCore::TextEvent::TextEvent):
78270        * dom/TextEvent.h:
78271        (WebCore::TextEvent::isDrop): Added.
78272        * editing/Editor.cpp:
78273        (WebCore::Editor::handleTextEvent):
78274        (WebCore::Editor::findEventTargetFrom): Extracted from findEventTargetFromSelection().
78275        (WebCore::Editor::findEventTargetFromSelection): 
78276        * editing/Editor.h:
78277        * page/DragController.cpp:
78278        (WebCore::DragController::dispatchTextInputEventFor): Added.
78279        (WebCore::DragController::concludeEditDrag): Added an event dispatch path.
78280        * page/DragController.h:
78281
782822010-08-15  Ariya Hidayat  <ariya@sencha.com>
78283
78284        Unreviewed, rolling out r65393.
78285        http://trac.webkit.org/changeset/65393
78286        https://bugs.webkit.org/show_bug.cgi?id=44031
78287
78288        Breaks some canvas tests.
78289
78290        * platform/graphics/qt/GraphicsContextQt.cpp:
78291        (WebCore::GraphicsContextPlatformPrivate::):
78292        (WebCore::GraphicsContextPlatformPrivate::hasShadow):
78293        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
78294        (WebCore::GraphicsContext::savePlatformState):
78295        (WebCore::GraphicsContext::restorePlatformState):
78296        (WebCore::GraphicsContext::strokeArc):
78297        (WebCore::GraphicsContext::drawConvexPolygon):
78298        (WebCore::GraphicsContext::fillPath):
78299        (WebCore::GraphicsContext::strokePath):
78300        (WebCore::GraphicsContext::fillRect):
78301        (WebCore::GraphicsContext::fillRoundedRect):
78302        (WebCore::GraphicsContext::setPlatformShadow):
78303        (WebCore::GraphicsContext::clearPlatformShadow):
78304
783052010-08-15  Ariya Hidayat  <ariya@sencha.com>
78306
78307        Reviewed by Antonio Gomes.
78308
78309        [Qt] Save and restore shadow state in GraphicsContextQt
78310        https://bugs.webkit.org/show_bug.cgi?id=44031
78311
78312        This is needed after r65362.
78313        Use a new class ContextShadowParameter to track and keep the shadow
78314        state. We use this rather than using GraphicsContextState to allow
78315        possible optimizations (right now only to determine the shadow type,
78316        but in future it might cover things like cached scratch image,
78317        persistent shader, etc).
78318
78319        * platform/graphics/qt/GraphicsContextQt.cpp:
78320        (WebCore::ContextShadowParameter::):
78321        (WebCore::ContextShadowParameter::ContextShadowParameter):
78322        (WebCore::ContextShadowParameter::clear):
78323        (WebCore::GraphicsContextPlatformPrivate::hasShadow):
78324        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
78325        (WebCore::GraphicsContext::savePlatformState):
78326        (WebCore::GraphicsContext::restorePlatformState):
78327        (WebCore::GraphicsContext::drawRect):
78328        (WebCore::GraphicsContext::drawLine):
78329        (WebCore::GraphicsContext::strokeArc):
78330        (WebCore::GraphicsContext::drawConvexPolygon):
78331        (WebCore::GraphicsContext::fillPath):
78332        (WebCore::GraphicsContext::strokePath):
78333        (WebCore::GraphicsContext::fillRect):
78334        (WebCore::GraphicsContext::fillRoundedRect):
78335        (WebCore::GraphicsContext::setPlatformShadow):
78336        (WebCore::GraphicsContext::clearPlatformShadow):
78337
783382010-08-15  Ariya Hidayat  <ariya@sencha.com>
78339
78340        Reviewed by Antonio Gomes.
78341
78342        [Qt] Border should not cast shadows
78343        https://bugs.webkit.org/show_bug.cgi?id=44015
78344
78345        Shadows should be not casted except for brush fill (which is not what
78346        drawLine and drawRect are supposed to do).
78347
78348        * platform/graphics/qt/GraphicsContextQt.cpp:
78349        (WebCore::GraphicsContext::drawRect): Remove shadow painting,
78350        (WebCore::GraphicsContext::drawLine): ditto.
78351
783522010-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
78353
78354        Reviewed by Antonio Gomes.
78355
78356        [EFL] Build error on r65378
78357        https://bugs.webkit.org/show_bug.cgi?id=44019
78358
78359        Change build script for HTMLEntityNames.json instead of HTMLEntityNames.gperf
78360
78361        * CMakeLists.txt:
78362
783632010-08-15  Kevin Ollivier  <kevino@theolliviers.com>
78364
78365        [wx] Build fix, add missing header.
78366
78367        * platform/graphics/WOFFFileFormat.cpp:
78368
783692010-08-15  Kevin Ollivier  <kevino@theolliviers.com>
78370
78371        [wx] Build fix, don't build PluginDataNone.cpp even on GTK as PluginDataWx.cpp compiles.
78372
78373        * wscript:
78374
783752010-08-15  Adam Barth  <abarth@webkit.org>
78376
78377        Reviewed by Eric Seidel.
78378
78379        document.write() doesn't flush plain text
78380        https://bugs.webkit.org/show_bug.cgi?id=8961
78381
78382        Originally I thought we should buffer the character tokens until we've
78383        reached the end of the input stream, but that's not how the spec
78384        handles things (it emits the character tokens one-by-one).
78385
78386        Tests: fast/tokenizer/flush-characters-in-document-write-evil.html
78387               fast/tokenizer/flush-characters-in-document-write.html
78388
78389        * html/HTMLTokenizer.cpp:
78390        (WebCore::HTMLTokenizer::emitEndOfFile):
78391        (WebCore::HTMLTokenizer::nextToken):
78392        (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
78393            - Renamed this function now that it's simplier.
78394        * html/HTMLTokenizer.h:
78395
783962010-08-15  Adam Barth  <abarth@webkit.org>
78397
78398        Reviewed by Eric Seidel.
78399
78400        Don't try to replace a non-existent document after executing JavaScript URLs
78401        https://bugs.webkit.org/show_bug.cgi?id=44024
78402
78403        Synchronous JavaScript execution is evil.  Previously, the frame was
78404        deleted after executing the JavaScript URL, so we'd get confused when
78405        we tried to replace its document.
78406
78407        Test: fast/frames/javascript-url-for-deleted-frame.html
78408
78409        * bindings/ScriptControllerBase.cpp:
78410        (WebCore::ScriptController::executeIfJavaScriptURL):
78411
784122010-08-14  Sheriff Bot  <webkit.review.bot@gmail.com>
78413
78414        Unreviewed, rolling out r65374.
78415        http://trac.webkit.org/changeset/65374
78416        https://bugs.webkit.org/show_bug.cgi?id=44018
78417
78418        broke a myriad of svg tests (Requested by kling on #webkit).
78419
78420        * platform/graphics/qt/PathQt.cpp:
78421        (WebCore::Path::strokeBoundingRect):
78422
784232010-08-14  Eric Seidel  <eric@webkit.org>
78424
78425        Reviewed by Adam Barth.
78426
78427        XSLTProcessor.transformToFragment should not pass contextElement to html/xml document parsers
78428        https://bugs.webkit.org/show_bug.cgi?id=44017
78429
78430        This fixes two tests which otherwise would fail when the
78431        HTML5 TreeBuilder is enabled for fragment parsing.
78432
78433        This revealed a bug in HTMLTreeBuilder() which I fixed as well.
78434
78435        * html/HTMLTreeBuilder.cpp:
78436        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
78437        * xml/XSLTProcessor.cpp:
78438        (WebCore::createFragmentFromSource):
78439
784402010-08-14  Andreas Kling  <andreas.kling@nokia.com>
78441
78442        Reviewed by Ariya Hidayat.
78443
78444        [Qt] Path: Fast approximation of stroke bounding rects
78445        https://bugs.webkit.org/show_bug.cgi?id=44014
78446
78447        * platform/graphics/qt/PathQt.cpp:
78448        (WebCore::Path::strokeBoundingRect): Use QPainterPath::controlPointRect()
78449        to calculate a slightly larger bounding rect in a fraction of the time.
78450
784512010-08-14  Eric Seidel  <eric@webkit.org>
78452
78453        Reviewed by Adam Barth.
78454
78455        Move innerHTML off of Range::createContextualFragment
78456        https://bugs.webkit.org/show_bug.cgi?id=44011
78457
78458        This makes all the editing tests stop failing under the
78459        HTML5 TreeBuilder.
78460
78461        In a previous patch Adam disabled some of the (wrong) code
78462        in createContextualFragment when in html5 treebuilder mode.
78463        The problem is that the editing code depends on
78464        createContextualFragment (as well as the Range DOM API),
78465        so we have to leave this code in until we can figure
78466        out if it's right or wrong behavior for the Range API.
78467
78468        This patch moves innerHTML/outerHTML off of using
78469        createContextualFragment and instead calls
78470        DocumentFragment::parseHTML directly (which is much simpler).
78471
78472        I expect Adam and I will end up turning on the HTML5 TreeBuilder
78473        in the next couple days, and most of the if branches I added
78474        here will go away for good.
78475
78476        I renamed Element::createContextualFragment to
78477        deprecatedCreateContextualFragment, to indicate that it's a
78478        dead API.  The editing code should move off of it and consider
78479        using DocumentFragment::parseHTML instead.
78480
78481        * dom/Element.cpp:
78482        (WebCore::Element::deprecatedCreateContextualFragment):
78483        * dom/Element.h:
78484        * dom/Range.cpp:
78485        (WebCore::Range::createContextualFragment):
78486        * editing/markup.cpp:
78487        (WebCore::createFragmentFromMarkup):
78488        * html/HTMLElement.cpp:
78489        (WebCore::useLegacyTreeBuilder):
78490        (WebCore::HTMLElement::deprecatedCreateContextualFragment):
78491        (WebCore::HTMLElement::setInnerHTML):
78492        (WebCore::HTMLElement::setOuterHTML):
78493        * html/HTMLElement.h:
78494
784952010-08-14  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
78496
78497        Reviewed by Antonio Gomes.
78498
78499        [Qt] Fix compilation with QT_NO_LINEEDIT
78500        https://bugs.webkit.org/show_bug.cgi?id=38324
78501
78502        * bridge/qt/qt_runtime.cpp:
78503        (JSC::Bindings::convertValueToQVariant):
78504        (JSC::Bindings::convertQVariantToValue):
78505
785062010-08-14  Rob Buis  <rwlbuis@gmail.com>
78507
78508        Reviewed by Dirk Schulze.
78509
78510        IE SVG empty path test fails
78511        https://bugs.webkit.org/show_bug.cgi?id=44008
78512
78513        Change createLine to allow creating zero-length lines. This makes it possible
78514        to have markers and line-caps applied to zero-length lines.
78515
78516        Test: svg/custom/marker-empty-path.svg
78517
78518        * platform/graphics/Path.cpp:
78519        (WebCore::Path::createLine):
78520
785212010-08-14  Patrick Gansterer  <paroga@paroga.com>
78522
78523        Reviewed by Kenneth Rohde Christiansen.
78524
78525        [CMake] Move SQL files into a IF (ENABLE_DATABASE) section
78526        https://bugs.webkit.org/show_bug.cgi?id=43979
78527
78528        * CMakeLists.txt:
78529
785302010-08-14  Matthew Delaney  <mdelaney@apple.com>
78531
78532        Reviewed by Kenneth Rohde Christiansen.
78533
78534        Canvas is not reset when setting canvas.width
78535        https://bugs.webkit.org/show_bug.cgi?id=43341
78536
78537        * html/HTMLCanvasElement.cpp:
78538        (WebCore::HTMLCanvasElement::reset): Moved the call to
78539        hasCreatedImageBuffer up *before* the call to setSurface since setSurface
78540        sets hasCreatedImageBuffer to false every time.
78541
785422010-08-14  Patrick Gansterer  <paroga@paroga.com>
78543
78544        Reviewed by Kenneth Rohde Christiansen.
78545
78546        [CMake] Set target properties only if available
78547        https://bugs.webkit.org/show_bug.cgi?id=43978
78548
78549        * CMakeLists.txt:
78550
785512010-08-14  Dirk Schulze  <krit@webkit.org>
78552
78553        Unreviewed sort of Xcode project file.
78554
78555        * WebCore.xcodeproj/project.pbxproj:
78556
785572010-08-14  Ariya Hidayat  <ariya@sencha.com>
78558
78559        Reviewed by Simon Hausmann and Kenneth Rohde Christiansen.
78560
78561        [Qt] Refactor shadow state handling in GraphicsContextQt
78562        https://bugs.webkit.org/show_bug.cgi?id=44006
78563
78564        * platform/graphics/qt/GraphicsContextQt.cpp:
78565        (WebCore::GraphicsContextPlatformPrivate::): Added shadow states as
78566        member variables.
78567        (WebCore::GraphicsContextPlatformPrivate::hasShadow): Convenient
78568        function to check whether there is shadow or not.
78569        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
78570        (WebCore::GraphicsContext::drawRect): Use shadow states instead of
78571        calling getShadow.
78572        (WebCore::GraphicsContext::drawLine): ditto.
78573        (WebCore::GraphicsContext::strokeArc): ditto.
78574        (WebCore::GraphicsContext::drawConvexPolygon): ditto.
78575        (WebCore::GraphicsContext::fillPath): ditto.
78576        (WebCore::GraphicsContext::strokePath): ditto.
78577        (WebCore::GraphicsContext::fillRect): Removes the use of helper function
78578        drawBorderlessRectShadow as the code already becomes a lot simpler.
78579        (WebCore::GraphicsContext::fillRoundedRect): Removes the use of helper
78580        function drawFilledShadowPath as the code already becomes a lot simpler.
78581        (WebCore::GraphicsContext::setPlatformShadow): Store shadow states
78582        and find out the shadow type (complexity) for future use.
78583        (WebCore::GraphicsContext::clearPlatformShadow): Reset shadow states.
78584
785852010-08-13  Adam Barth  <abarth@webkit.org>
78586
78587        Reviewed by Eric Seidel.
78588
78589        Rename some concepts in HTML entity search to be more self-documenting
78590        https://bugs.webkit.org/show_bug.cgi?id=44004
78591
78592        Start and end are now first and last, which lets us use some better
78593        names for the statics in HTMLEntityTable.
78594
78595        * html/HTMLEntityParser.cpp:
78596        (WebCore::consumeHTMLEntity):
78597        * html/HTMLEntitySearch.cpp:
78598        (WebCore::HTMLEntitySearch::HTMLEntitySearch):
78599        (WebCore::HTMLEntitySearch::findFirst):
78600        (WebCore::HTMLEntitySearch::findLast):
78601        (WebCore::HTMLEntitySearch::advance):
78602        * html/HTMLEntitySearch.h:
78603        (WebCore::HTMLEntitySearch::isEntityPrefix):
78604        (WebCore::HTMLEntitySearch::mostRecentMatch):
78605        (WebCore::HTMLEntitySearch::fail):
78606        * html/HTMLEntityTable.h:
78607
786082010-08-13  Adam Barth  <abarth@webkit.org>
78609
78610        Fix ASSERT in XML entity parsing.  You can't advance the entity search
78611        if you've already discovered that your string is not an entity.
78612
78613        * html/HTMLEntityParser.cpp:
78614        (WebCore::decodeNamedEntity):
78615
786162010-08-13  Eric Seidel  <eric@webkit.org>
78617
78618        Unreviewed.  Attempt at fixing Chromium build.
78619
78620        Add support for MathML entities
78621        https://bugs.webkit.org/show_bug.cgi?id=43949
78622
78623        * WebCore.gyp/WebCore.gyp:
78624         - I have no clue if this is right or not.
78625
786262010-08-13  Eric Seidel  <eric@webkit.org>
78627
78628        Unreviewed.  Attempted build fix for Windows.
78629
78630        Add support for MathML entities
78631        https://bugs.webkit.org/show_bug.cgi?id=43949
78632
78633        * DerivedSources.cpp:
78634         - Add HTMLEntityTable.cpp
78635
786362010-08-09  Adam Barth  <abarth@webkit.org>
78637
78638        Reviewed by Eric Seidel.
78639
78640        Add support for MathML entities
78641        https://bugs.webkit.org/show_bug.cgi?id=43949
78642
78643        Implementing the HTML5 entity parsing algorithm require refactoring how
78644        we search for entity names.  Instead of using a perfect hash, we now
78645        use a sorted list.  As we advance through the input, we walk down a
78646        binary search of the table looking for an entity.
78647
78648        Using this data structure lets us keep track of whether the current
78649        string is a prefix of an existing entity, which we need for the
78650        algorithm.  In a future patch, I plan to add some indices to the
78651        table, which should let us narrow down the range of interesting entries
78652        more quickly.
78653
78654        The one nasty piece of the algorithm is if we walk too far down the
78655        input and we need to back up to a previous match.  In this patch, we
78656        accomplish this by rewinding the input and consuming a known number of
78657        characters to resync the source.
78658
78659        * WebCore.xcodeproj/project.pbxproj:
78660        * html/HTMLEntityParser.cpp:
78661        (WebCore::consumeHTMLEntity):
78662        * html/HTMLEntitySearch.cpp: Added.
78663        (WebCore::):
78664        (WebCore::HTMLEntitySearch::HTMLEntitySearch):
78665        (WebCore::HTMLEntitySearch::compare):
78666        (WebCore::HTMLEntitySearch::findStart):
78667        (WebCore::HTMLEntitySearch::findEnd):
78668        (WebCore::HTMLEntitySearch::advance):
78669        * html/HTMLEntitySearch.h: Added.
78670        (WebCore::HTMLEntitySearch::isEntityPrefix):
78671        (WebCore::HTMLEntitySearch::currentValue):
78672        (WebCore::HTMLEntitySearch::lastMatch):
78673        (WebCore::HTMLEntitySearch::):
78674        (WebCore::HTMLEntitySearch::fail):
78675        * html/HTMLEntityTable.h: Added.
78676        (WebCore::HTMLEntityTableEntry::lastCharacter):
78677
786782010-08-13  Tony Gentilcore  <tonyg@chromium.org>
78679
78680        Reviewed by Eric Seidel.
78681
78682        Refactor HTMLScriptRunner to allow deferred scripts to share code
78683        https://bugs.webkit.org/show_bug.cgi?id=43736
78684
78685        No new tests because no functional change
78686
78687        * html/HTMLScriptRunner.cpp:
78688        (WebCore::HTMLScriptRunner::sourceFromPendingScript): Make const to enforce the idea that it doesn't change m_parsingBlockingScript.
78689        (WebCore::HTMLScriptRunner::executeParsingBlockingScript): Rename to make it clear this deals with the parsing blocking script and refactor to use executePendingScriptAndDispatchEvent.
78690        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Factored out of executePendingScript, this can be used for executing any external script.
78691        (WebCore::HTMLScriptRunner::executeScript): This can be used for executing any inline or external script. ASSERTs moved to the two calling points.
78692        (WebCore::HTMLScriptRunner::executeParsingBlockingScripts): Moved method.
78693        (WebCore::HTMLScriptRunner::requestParsingBlockingScript): Factored out requestPendingScript.
78694        (WebCore::HTMLScriptRunner::requestPendingScript): Factored out from reqeustParsingBlockingScript.
78695        (WebCore::HTMLScriptRunner::runScript):
78696        * html/HTMLScriptRunner.h:
78697
786982010-08-13  Gavin Barraclough  <barraclough@apple.com>
78699
78700        Windows build fix.
78701
78702        * WebCore.xcodeproj/project.pbxproj:
78703        * platform/win/SharedBufferWin.cpp:
78704
787052010-08-13  Gavin Barraclough  <barraclough@apple.com>
78706
78707        Rubber stamped by Sam Weinig.
78708        Switch String::/UString::ascii() to return a CString.
78709
78710        * WebCore.xcodeproj/project.pbxproj:
78711        * bridge/c/c_class.cpp:
78712        (JSC::Bindings::CClass::methodsNamed):
78713        (JSC::Bindings::CClass::fieldNamed):
78714        * bridge/jni/jsc/JNIBridgeJSC.cpp:
78715        (JavaField::valueFromInstance):
78716        (JavaField::setValueToInstance):
78717        * bridge/jni/jsc/JavaInstanceJSC.cpp:
78718        (JavaInstance::invokeMethod):
78719        * bridge/objc/objc_class.mm:
78720        (JSC::Bindings::ObjcClass::methodsNamed):
78721        (JSC::Bindings::ObjcClass::fieldNamed):
78722        * bridge/objc/objc_instance.mm:
78723        (ObjcInstance::setValueOfUndefinedField):
78724        (ObjcInstance::getValueOfUndefinedField):
78725        * loader/icon/IconRecord.cpp:
78726        * platform/sql/SQLiteDatabase.cpp:
78727        * platform/sql/SQLiteStatement.cpp:
78728        * storage/SQLStatement.cpp:
78729
787302010-08-13  Mihai Parparita  <mihaip@chromium.org>
78731
78732        Reviewed by Dimitri Glazkov.
78733
78734        Session history should skip over JS redirects
78735        https://bugs.webkit.org/show_bug.cgi?id=42861
78736        
78737        Lock the back/forward list for location changes and form submits that
78738        happen before the onload event fires that are not the result of user
78739        gestures.
78740        
78741        Made form submission (at the ScheduledFormSubmission level) more similar
78742        to ScheduledURLNavigation by having it call clientRedirected too, fixing
78743        a long-standing FIXME.
78744
78745        Test: fast/history/gesture-before-onload-location-href.html,
78746        fast/history/gesture-before-onload-form-submit.html and updated
78747        expectations for http/tests/history tests that used to fail.
78748
78749        * loader/FormSubmission.cpp:
78750        (WebCore::FormSubmission::requestURL): 
78751        (WebCore::FormSubmission::populateFrameLoadRequest):
78752        * loader/FormSubmission.h:
78753        * loader/RedirectScheduler.cpp:
78754        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
78755        (WebCore::ScheduledFormSubmission::fire):
78756        (WebCore::ScheduledFormSubmission::didStartTimer):
78757        (WebCore::ScheduledFormSubmission::didStopTimer):
78758        (WebCore::RedirectScheduler::scheduleRedirect):
78759        (WebCore::RedirectScheduler::mustLockBackForwardList):
78760        (WebCore::RedirectScheduler::scheduleLocationChange):
78761        (WebCore::RedirectScheduler::scheduleFormSubmission):
78762        * loader/RedirectScheduler.h:
78763
787642010-08-13  Leandro Pereira  <leandro@profusion.mobi>
78765
78766        [EFL] Unreviewed build fix.
78767        These changes were supposed to be landed on r65319, but due to some
78768        svn-apply/commit-queue bug it wasn't fully applied. A bug was filed
78769        by Patrick Gansterer (author of the changes in this commit):
78770        https://bugs.webkit.org/show_bug.cgi?id=43981
78771
78772        * CMakeLists.txt: Update calls to GENERATE_GPERF and
78773        GENERATE_GRAMMAR macros.
78774
787752010-08-13  Chris Fleizach  <cfleizach@apple.com>
78776
78777        AX: isNativeCheckbox does not work as advertised
78778        https://bugs.webkit.org/show_bug.cgi?id=43872
78779
78780        Re-adding this patch after it was erroneously rolled out.
78781
78782        Test: platform/mac/accessibility/native-vs-nonnative-checkboxes.html
78783
78784        * accessibility/AccessibilityRenderObject.cpp:
78785        (WebCore::AccessibilityRenderObject::isInputImage):
78786        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
78787        * dom/InputElement.h:
78788        * html/HTMLInputElement.h:
78789        (WebCore::HTMLInputElement::isCheckbox):
78790
787912010-08-13  Sheriff Bot  <webkit.review.bot@gmail.com>
78792
78793        Unreviewed, rolling out r65331.
78794        http://trac.webkit.org/changeset/65331
78795        https://bugs.webkit.org/show_bug.cgi?id=43980
78796
78797        This patch breaks some shadow tests on Qt Linux release
78798        (Requested by ariya on #webkit).
78799
78800        * platform/graphics/qt/GraphicsContextQt.cpp:
78801        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
78802        (WebCore::GraphicsContext::drawRect):
78803        (WebCore::GraphicsContext::drawLine):
78804        (WebCore::GraphicsContext::strokeArc):
78805        (WebCore::GraphicsContext::drawConvexPolygon):
78806        (WebCore::drawFilledShadowPath):
78807        (WebCore::GraphicsContext::fillPath):
78808        (WebCore::GraphicsContext::strokePath):
78809        (WebCore::drawBorderlessRectShadow):
78810        (WebCore::GraphicsContext::fillRect):
78811        (WebCore::GraphicsContext::fillRoundedRect):
78812        (WebCore::GraphicsContext::setPlatformShadow):
78813        (WebCore::GraphicsContext::clearPlatformShadow):
78814
788152010-08-13  Kinuko Yasuda  <kinuko@chromium.org>
78816
78817        Reviewed by David Levin.
78818
78819        Update run-bindings-tests expectations
78820        https://bugs.webkit.org/show_bug.cgi?id=43944
78821
78822        The results have become out of sync after changeset 64552 and 65269.
78823
78824        Test: WebKitTools/Scripts/run-bindings-tests
78825
78826        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
78827        (webkit_dom_test_callback_callback_with_class1param):
78828        (webkit_dom_test_callback_callback_with_class2param):
78829        (webkit_dom_test_callback_callback_with_non_bool_return_type):
78830        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
78831        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
78832        (webkit_dom_test_obj_void_method_with_args):
78833        (webkit_dom_test_obj_int_method_with_args):
78834        (webkit_dom_test_obj_obj_method):
78835        (webkit_dom_test_obj_obj_method_with_args):
78836        (webkit_dom_test_obj_method_that_requires_all_args):
78837        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
78838        (webkit_dom_test_obj_serialized_value):
78839        (webkit_dom_test_obj_idb_key):
78840        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
78841        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
78842        (webkit_dom_test_obj_with_script_state_obj):
78843        (webkit_dom_test_obj_with_script_state_obj_exception):
78844        (webkit_dom_test_obj_get_read_only_string_attr):
78845        (webkit_dom_test_obj_get_read_only_test_obj_attr):
78846        (webkit_dom_test_obj_get_string_attr):
78847        (webkit_dom_test_obj_set_string_attr):
78848        (webkit_dom_test_obj_get_test_obj_attr):
78849        (webkit_dom_test_obj_set_test_obj_attr):
78850        (webkit_dom_test_obj_get_xml_obj_attr):
78851        (webkit_dom_test_obj_set_xml_obj_attr):
78852        (webkit_dom_test_obj_get_reflected_string_attr):
78853        (webkit_dom_test_obj_set_reflected_string_attr):
78854        (webkit_dom_test_obj_get_reflected_url_attr):
78855        (webkit_dom_test_obj_set_reflected_url_attr):
78856        (webkit_dom_test_obj_get_reflected_non_empty_url_attr):
78857        (webkit_dom_test_obj_set_reflected_non_empty_url_attr):
78858        (webkit_dom_test_obj_get_reflected_custom_url_attr):
78859        (webkit_dom_test_obj_set_reflected_custom_url_attr):
78860        (webkit_dom_test_obj_get_reflected_custom_non_empty_url_attr):
78861        (webkit_dom_test_obj_set_reflected_custom_non_empty_url_attr):
78862        (webkit_dom_test_obj_get_string_attr_with_getter_exception):
78863        (webkit_dom_test_obj_set_string_attr_with_getter_exception):
78864        (webkit_dom_test_obj_get_string_attr_with_setter_exception):
78865        (webkit_dom_test_obj_set_string_attr_with_setter_exception):
78866        (webkit_dom_test_obj_get_script_string_attr):
78867        (webkit_dom_test_obj_get_hash):
78868        (webkit_dom_test_obj_class_init):
78869        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
78870        * bindings/scripts/test/JS/JSTestObj.cpp:
78871        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
78872
788732010-08-13  Ariya Hidayat  <ariya@sencha.com>
78874
78875        Reviewed by Simon Hausmann.
78876
78877        [Qt] Canvas and CSS: blur option in shadow not working
78878        https://bugs.webkit.org/show_bug.cgi?id=34479
78879
78880        Patch 1: Refactor shadow states handling.
78881
78882        * platform/graphics/qt/GraphicsContextQt.cpp:
78883        (WebCore::GraphicsContextPlatformPrivate::): Added shadow states as
78884        member variables.
78885        (WebCore::GraphicsContextPlatformPrivate::hasShadow): Convenient
78886        function to check whether there is shadow or not.
78887        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
78888        (WebCore::GraphicsContext::drawRect): Use shadow states instead of
78889        calling getShadow.
78890        (WebCore::GraphicsContext::drawLine): ditto.
78891        (WebCore::GraphicsContext::strokeArc): ditto.
78892        (WebCore::GraphicsContext::drawConvexPolygon): ditto.
78893        (WebCore::GraphicsContext::fillPath): ditto.
78894        (WebCore::GraphicsContext::strokePath): ditto.
78895        (WebCore::GraphicsContext::fillRect): Removes the use of helper function
78896        drawBorderlessRectShadow as the code already becomes a lot simpler.
78897        (WebCore::GraphicsContext::fillRoundedRect): Removes the use of helper
78898        function drawFilledShadowPath as the code already becomes a lot simpler.
78899        (WebCore::GraphicsContext::setPlatformShadow): Store shadow states
78900        and find out the shadow type (complexity) for future use.
78901        (WebCore::GraphicsContext::clearPlatformShadow): Reset shadow states.
78902
789032010-08-11  Zhenyao Mo  <zmo@google.com>
78904
78905        Reviewed by Dimitri Glazkov.
78906
78907        Regression in linking of programs
78908        https://bugs.webkit.org/show_bug.cgi?id=43820
78909
78910        Shaders and programs shouldn't be deleted until their attachments are removed, therefore, we need to track the attach/detach/useProgram.
78911
78912        * html/canvas/WebGLObject.cpp: Track the object attachment count and whether it should really be deleted.
78913        (WebCore::WebGLObject::WebGLObject):
78914        (WebCore::WebGLObject::setObject):
78915        (WebCore::WebGLObject::deleteObject):
78916        * html/canvas/WebGLObject.h: Track the object attachment count and whether it should really be deleted.
78917        (WebCore::WebGLObject::onAttached):
78918        (WebCore::WebGLObject::onDetached):
78919        (WebCore::WebGLObject::getAttachmentCount):
78920        * html/canvas/WebGLProgram.cpp: Track the attached shaders.
78921        (WebCore::WebGLProgram::WebGLProgram):
78922        (WebCore::WebGLProgram::deleteObjectImpl):
78923        (WebCore::WebGLProgram::getAttachedShader):
78924        (WebCore::WebGLProgram::attachShader):
78925        (WebCore::WebGLProgram::detachShader):
78926        * html/canvas/WebGLProgram.h: Track the attached shaders.
78927        * html/canvas/WebGLRenderingContext.cpp:
78928        (WebCore::WebGLRenderingContext::attachShader): Track the attachment of a shader to a program.
78929        (WebCore::WebGLRenderingContext::deleteProgram): Detach shaders.
78930        (WebCore::WebGLRenderingContext::detachShader): Track the attachment of a shader to a program.
78931        (WebCore::WebGLRenderingContext::validateWebGLObject): Also check if object == 0.
78932        (WebCore::WebGLRenderingContext::linkProgram): Using the cached attached shaders instead of query from driver.
78933        (WebCore::WebGLRenderingContext::useProgram): Track the attachment of a program to the current rendering pipeline.
78934
789352010-08-13  Steve Block  <steveblock@google.com>
78936
78937        Reviewed by Alexey Proskuryakov.
78938
78939        Geolocation activity started after frame has been disconnected can cause crash
78940        https://bugs.webkit.org/show_bug.cgi?id=39879
78941
78942        New requests started after the Frame has been disconnected are ignored. We do
78943        not invoke the error callback as this would allow buggy or malicious pages to
78944        hose the CPU. Such a page could hold a reference to a Geolocation object from
78945        a since closed Page and register new requests from the error callback to
78946        create an infinite loop.
78947
78948        Tests: fast/dom/Geolocation/disconnected-frame-already.html
78949
78950        * page/Geolocation.cpp:
78951
789522010-08-13  Satish Sampath  <satish@chromium.org>
78953
78954        Reviewed by Jeremy Orlow.
78955
78956        Support for multiple speech enabled elements in same page.
78957        https://bugs.webkit.org/show_bug.cgi?id=43922
78958
78959        * page/SpeechInput.cpp: Generates request ids as necessary when each speech enabled input element gets
78960        created/destroyed and multiplexes the listener callbacks to the appropriate input element based on the request id.
78961        (WebCore::SpeechInput::SpeechInput):
78962        (WebCore::SpeechInput::~SpeechInput):
78963        (WebCore::SpeechInput::registerListener):
78964        (WebCore::SpeechInput::unregisterListener):
78965        (WebCore::SpeechInput::didCompleteRecording):
78966        (WebCore::SpeechInput::didCompleteRecognition):
78967        (WebCore::SpeechInput::setRecognitionResult):
78968        (WebCore::SpeechInput::startRecognition):
78969        (WebCore::SpeechInput::stopRecording):
78970        (WebCore::SpeechInput::cancelRecognition):
78971        * page/SpeechInput.h:
78972        * page/SpeechInputClient.h: Now requires a one time set for the WebCore::SpeechInputListener and
78973        takes in a 'requestId' for all calls.
78974        * page/SpeechInputListener.h: Now returns the above mentioned requestId in all the listener callbacks for
78975        identifying which input element the event goes to.
78976        * platform/mock/SpeechInputClientMock.cpp:
78977        (WebCore::SpeechInputClientMock::SpeechInputClientMock):
78978        (WebCore::SpeechInputClientMock::setListener):
78979        (WebCore::SpeechInputClientMock::startRecognition):
78980        (WebCore::SpeechInputClientMock::stopRecording):
78981        (WebCore::SpeechInputClientMock::cancelRecognition):
78982        (WebCore::SpeechInputClientMock::timerFired):
78983        * platform/mock/SpeechInputClientMock.h:
78984        * rendering/TextControlInnerElements.cpp:
78985        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
78986        (WebCore::InputFieldSpeechButtonElement::~InputFieldSpeechButtonElement):
78987        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
78988        (WebCore::InputFieldSpeechButtonElement::speechInput):
78989        (WebCore::InputFieldSpeechButtonElement::didCompleteRecording):
78990        (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
78991        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
78992        * rendering/TextControlInnerElements.h:
78993
789942010-08-13  Eric Carlson  <eric.carlson@apple.com>
78995
78996        Reviewed by David Kilzer.
78997
78998        HTMLMediaElement::prepareForLoad should cancel current plug-in proxy media player
78999        https://bugs.webkit.org/show_bug.cgi?id=43923
79000
79001        * html/HTMLMediaElement.cpp:
79002        (WebCore::HTMLMediaElement::prepareForLoad): Tell mediaPlayer to cancel the current load
79003        if it already exists.
79004
790052010-08-12  Stephen White  <senorblanco@chromium.org>
79006
79007        Reviewed by David Levin.
79008
79009        [CHROMIUM] Use the BGRA format for canvas 2D accel upload and readbacks.
79010        https://bugs.webkit.org/show_bug.cgi?id=43804
79011
79012        Use the BGRA format from GraphicsContext3D, if supported.  Also keep a
79013        texture around for uploads, rather than re-creating it each time.
79014
79015        Covered by many layout tests (once we're running them).
79016
79017        * platform/graphics/chromium/GLES2Texture.cpp:
79018        (WebCore::convertFormat):
79019        Move convertFormat() ahead of texture creation, so we can check for
79020        BGRA support.
79021        (WebCore::GLES2Texture::create):
79022        Use convertFormat() to determine the correct format and types to use;
79023        use the returned format also for internalFormat, since GLES2 insists
79024        they match.
79025        * platform/graphics/skia/PlatformContextSkia.cpp:
79026        (WebCore::PlatformContextSkia::setGraphicsContext3D):
79027        Clear the upload texture when a new context is set.
79028        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
79029        Use m_uploadTexture instead of creating a new one each time.
79030        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
79031        When the context supports it, use the BGRA format for readbacks
79032        instead of swizzling.
79033        * platform/graphics/skia/PlatformContextSkia.h:
79034        Add m_uploadTexture for consecutive uploads.
79035
790362010-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
79037
79038        Reviewed by Ariya Hidayat.
79039
79040        [Qt] Clean up mobile feature useage
79041        https://bugs.webkit.org/show_bug.cgi?id=43968
79042
79043        * WebCore.pro: Replaced use of Nokia specific platform scopes with concrete
79044        feature names.
79045
790462010-08-13  Pavel Feldman  <pfeldman@chromium.org>
79047
79048        Reviewed by Yury Semikhatsky.
79049
79050        Web Inspector: rename InspectorValue::push and set to
79051        push{Value|Object|Array} and set{...}.
79052        https://bugs.webkit.org/show_bug.cgi?id=43966
79053
79054        * bindings/js/ScriptProfile.cpp:
79055        (WebCore::buildInspectorObjectFor):
79056        * bindings/js/ScriptValue.cpp:
79057        (WebCore::jsToInspectorValue):
79058        * bindings/v8/ScriptCallStack.cpp:
79059        (WebCore::ScriptCallStack::stackTrace):
79060        * bindings/v8/ScriptProfile.cpp:
79061        (WebCore::buildInspectorObjectFor):
79062        * bindings/v8/ScriptValue.cpp:
79063        (WebCore::v8ToInspectorValue):
79064        * inspector/CodeGeneratorInspector.pm:
79065        * inspector/ConsoleMessage.cpp:
79066        (WebCore::ConsoleMessage::addToFrontend):
79067        * inspector/Inspector.idl:
79068        * inspector/InspectorApplicationCacheAgent.cpp:
79069        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
79070        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
79071        * inspector/InspectorController.cpp:
79072        (WebCore::InspectorController::buildArrayForCookies):
79073        (WebCore::InspectorController::getDOMStorageEntries):
79074        (WebCore::InspectorController::getProfileHeaders):
79075        (WebCore::InspectorController::getProfile):
79076        * inspector/InspectorDOMAgent.cpp:
79077        (WebCore::InspectorDOMAgent::getEventListenersForNode):
79078        (WebCore::InspectorDOMAgent::buildObjectForNode):
79079        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
79080        (WebCore::InspectorDOMAgent::getStyles):
79081        (WebCore::InspectorDOMAgent::getAllStyles):
79082        (WebCore::InspectorDOMAgent::getRuleRanges):
79083        (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
79084        (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
79085        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
79086        (WebCore::InspectorDOMAgent::buildObjectForStyle):
79087        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
79088        (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
79089        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
79090        (WebCore::InspectorDOMAgent::buildObjectForRule):
79091        * inspector/InspectorDebuggerAgent.cpp:
79092        (WebCore::InspectorDebuggerAgent::saveBreakpoints):
79093        * inspector/InspectorResource.cpp:
79094        (WebCore::InspectorResource::updateScriptObject):
79095        * inspector/InspectorStorageAgent.cpp:
79096        (WebCore::):
79097        (WebCore::InspectorStorageAgent::executeSQL):
79098        * inspector/InspectorTimelineAgent.cpp:
79099        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
79100        (WebCore::InspectorTimelineAgent::didInstallTimer):
79101        (WebCore::InspectorTimelineAgent::didRemoveTimer):
79102        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
79103        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
79104        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
79105        (WebCore::InspectorTimelineAgent::didMarkTimeline):
79106        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
79107        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
79108        * inspector/InspectorValues.cpp:
79109        (WebCore::):
79110        (WebCore::InspectorValue::asValue):
79111        (WebCore::InspectorValue::asObject):
79112        (WebCore::InspectorValue::asArray):
79113        (WebCore::InspectorObject::asObject):
79114        (WebCore::InspectorArray::asArray):
79115        * inspector/InspectorValues.h:
79116        (WebCore::InspectorObject::setBool):
79117        (WebCore::InspectorObject::setNumber):
79118        (WebCore::InspectorObject::setString):
79119        (WebCore::InspectorObject::setValue):
79120        (WebCore::InspectorObject::setObject):
79121        (WebCore::InspectorObject::setArray):
79122        (WebCore::InspectorArray::pushValue):
79123        (WebCore::InspectorArray::pushObject):
79124        (WebCore::InspectorArray::pushArray):
79125        * inspector/ScriptBreakpoint.cpp:
79126        (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
79127        * inspector/TimelineRecordFactory.cpp:
79128        (WebCore::TimelineRecordFactory::createGenericRecord):
79129
791302010-08-13  Sheriff Bot  <webkit.review.bot@gmail.com>
79131
79132        Unreviewed, rolling out r65204.
79133        http://trac.webkit.org/changeset/65204
79134        https://bugs.webkit.org/show_bug.cgi?id=43965
79135
79136        Caused a lot of test crashes in Chromium (Requested by yutak
79137        on #webkit).
79138
79139        * accessibility/AccessibilityRenderObject.cpp:
79140        (WebCore::AccessibilityRenderObject::isInputImage):
79141        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
79142        * dom/InputElement.h:
79143        * html/HTMLInputElement.h:
79144
791452010-08-13  Anton Muhin  <antonm@chromium.org>
79146
79147        Reviewed by Nate Chapin.
79148
79149        Reapplying http://trac.webkit.org/changeset/65284 after fixed include.
79150
79151        [v8] Create callbacks for named access of elements from document object on fly.
79152        https://bugs.webkit.org/show_bug.cgi?id=43725
79153
79154        That should speed up access to methods on document as there is no need to
79155        consult with interceptor before invoking the method.
79156
79157        This reapplies http://trac.webkit.org/changeset/60670 reverted with
79158        http://trac.webkit.org/changeset/63845.  The main difference is in treatment
79159        of removed named elements: we don't remove an accessor any more, but leave it.
79160        Therefore any accessor should be able to treat the case when there is no
79161        expando property.
79162
79163        * bindings/scripts/CodeGeneratorV8.pm:
79164        * bindings/v8/ScriptController.cpp:
79165        (WebCore::ScriptController::namedItemAdded):
79166        (WebCore::ScriptController::namedItemRemoved):
79167        * bindings/v8/V8DOMWindowShell.cpp:
79168        (WebCore::checkDocumentWrapper):
79169        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
79170        (WebCore::getter):
79171        (WebCore::V8DOMWindowShell::namedItemAdded):
79172        (WebCore::V8DOMWindowShell::namedItemRemoved):
79173        * bindings/v8/V8DOMWindowShell.h:
79174        * bindings/v8/V8DOMWrapper.cpp:
79175        (WebCore::V8DOMWrapper::instantiateV8Object):
79176        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
79177        (WebCore::V8HTMLDocument::WrapInShadowObject):
79178        (WebCore::V8HTMLDocument::GetNamedProperty):
79179        (WebCore::V8HTMLDocument::allAccessorSetter):
79180        (WebCore::toV8):
79181        * html/HTMLDocument.cpp:
79182        (WebCore::HTMLDocument::removeItemFromMap):
79183
791842010-08-13  Pavel Feldman  <pfeldman@chromium.org>
79185
79186        Reviewed by Yury Semikhatsky.
79187
79188        Web Inspector: remove openInInspectorWindow and evaluateAndStringify from InjectedScript.
79189        https://bugs.webkit.org/show_bug.cgi?id=43854
79190
79191        * inspector/Inspector.idl:
79192        * inspector/InspectorController.cpp:
79193        (WebCore::InspectorController::openInInspectedWindow):
79194        * inspector/InspectorController.h:
79195        * inspector/front-end/ExtensionServer.js:
79196        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage.callback):
79197        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
79198        * inspector/front-end/InjectedScript.js:
79199        (injectedScriptConstructor):
79200        * inspector/front-end/InjectedScriptAccess.js:
79201        * inspector/front-end/InspectorBackendStub.js:
79202        (WebInspector.InspectorBackendStub):
79203        * inspector/front-end/ResourcesPanel.js:
79204        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
79205
792062010-08-13  Fumitoshi Ukai  <ukai@chromium.org>
79207
79208        Reviewed by Alexey Proskuryakov.
79209
79210        flaky websocket/tests/frame-length-overflow.html
79211        https://bugs.webkit.org/show_bug.cgi?id=43902
79212
79213        Add m_shouldDiscardReceivedData flag to indicate it will no longer
79214        receive data from network.
79215
79216        * websockets/WebSocketChannel.cpp:
79217        (WebCore::WebSocketChannel::WebSocketChannel):
79218        (WebCore::WebSocketChannel::didReceiveData):
79219        (WebCore::WebSocketChannel::didFail):
79220        (WebCore::WebSocketChannel::processBuffer):
79221        - when frame length overflows, we couldn't process data any more.
79222          clear buffer and mark m_shouldDiscardReceivedData true to make sure
79223          it doesn't process the same buffer again.
79224        * websockets/WebSocketChannel.h:
79225
792262010-08-13  Dirk Schulze  <krit@webkit.org>
79227
79228        Reviewed by Nikolas Zimmermann.
79229
79230        Use SVGPathByteStream to animate SVGPath
79231        https://bugs.webkit.org/show_bug.cgi?id=43929
79232
79233        Use SVGPathByteStream to perform animations of Paths. SVGPathBlender blends
79234        the starting point to the end point according to the current progress value.
79235        Cleanup SVGPathSegList, by removing the unnecessary legacy blending code.
79236
79237        No new tests because no functional changes.
79238
79239        * Android.mk:
79240        * CMakeLists.txt:
79241        * GNUmakefile.am:
79242        * WebCore.gypi:
79243        * WebCore.pro:
79244        * WebCore.vcproj/WebCore.vcproj:
79245        * WebCore.xcodeproj/project.pbxproj:
79246        * svg/SVGAllInOne.cpp:
79247        * svg/SVGAnimateElement.cpp:
79248        (WebCore::SVGAnimateElement::SVGAnimateElement):
79249        (WebCore::SVGAnimateElement::calculateAnimatedValue):
79250        (WebCore::SVGAnimateElement::calculateFromAndToValues):
79251        (WebCore::SVGAnimateElement::resetToBaseValue):
79252        (WebCore::SVGAnimateElement::applyResultsToTarget):
79253        * svg/SVGAnimateElement.h:
79254        * svg/SVGPathBlender.cpp: Added.
79255        (WebCore::SVGPathBlender::SVGPathBlender):
79256        (WebCore::SVGPathBlender::~SVGPathBlender):
79257        (WebCore::SVGPathBlender::blendAnimatedFloat):
79258        (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
79259        (WebCore::SVGPathBlender::blendMoveToSegment):
79260        (WebCore::SVGPathBlender::blendLineToSegment):
79261        (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
79262        (WebCore::SVGPathBlender::blendLineToVerticalSegment):
79263        (WebCore::SVGPathBlender::blendCurveToCubicSegment):
79264        (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
79265        (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
79266        (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
79267        (WebCore::SVGPathBlender::blendArcToSegment):
79268        (WebCore::SVGPathBlender::blendAnimatedPath):
79269        (WebCore::SVGPathBlender::cleanup):
79270        * svg/SVGPathBlender.h: Added.
79271        * svg/SVGPathParserFactory.cpp:
79272        (WebCore::globalSVGPathBlender):
79273        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
79274        * svg/SVGPathParserFactory.h:
79275        * svg/SVGPathSegList.cpp:
79276        (WebCore::SVGPathSegList::getPathSegAtLength):
79277        * svg/SVGPathSegList.h:
79278        (WebCore::SVGPathSegList::create):
79279        * svg/SVGPointList.cpp:
79280        (WebCore::adjustAnimatedValue):
79281
792822010-08-12  Nikolas Zimmermann  <nzimmermann@rim.com>
79283
79284        Reviewed by Dirk Schulze.
79285
79286        Window size changes + resources on absolute sized content leads to pixelation
79287        https://bugs.webkit.org/show_bug.cgi?id=43921
79288
79289        Avoid pixelation when using resources on absolute sized objects. Be sure to invalidate the used resources if window size changes.
79290        Otherwhise masks etc. will be scaled up and pixelate. As nice side-effect, this fixes run-webkit-tests --singly svg/W3C-SVG-1.1, which
79291        used to produce wrong results for the gradient tests, as the window size change from 800x600 for 480x360 (svg/W3C-SVG-1.1 specific DRT quirk)
79292        didn't invalidate the resources.
79293
79294        Renamed invalidateClient -> removeClientFromCache and invalidateClients -> removeAllClientsFromCache.
79295        Add a boolean "markForInvalidation" parameter, that controls wheter the clients should be marked for repaint/boundaries invalidation/layout
79296        or wheter we only want to notify the parents that the resource changed, to avoid doing unncessary work in SVGRenderSupport::layoutChildren.
79297
79298        Test: svg/custom/absolute-sized-content-with-resources.xhtml
79299
79300        * rendering/RenderSVGGradientStop.cpp:
79301        (WebCore::RenderSVGGradientStop::styleDidChange): Don't do anything for StyleDifferenceEqual.
79302        * rendering/RenderSVGImage.cpp:
79303        (WebCore::RenderSVGImage::imageChanged):
79304        * rendering/RenderSVGResource.cpp:
79305        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
79306        * rendering/RenderSVGResource.h:
79307        * rendering/RenderSVGResourceClipper.cpp:
79308        (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
79309        (WebCore::RenderSVGResourceClipper::removeClientFromCache):
79310        * rendering/RenderSVGResourceClipper.h:
79311        * rendering/RenderSVGResourceContainer.cpp:
79312        (WebCore::RenderSVGResourceContainer::layout):
79313        (WebCore::RenderSVGResourceContainer::idChanged):
79314        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
79315        (WebCore::RenderSVGResourceContainer::markClientForInvalidation):
79316        * rendering/RenderSVGResourceContainer.h:
79317        (WebCore::RenderSVGResourceContainer::):
79318        * rendering/RenderSVGResourceFilter.cpp:
79319        (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
79320        (WebCore::RenderSVGResourceFilter::removeClientFromCache):
79321        (WebCore::RenderSVGResourceFilter::postApplyResource):
79322        * rendering/RenderSVGResourceFilter.h:
79323        * rendering/RenderSVGResourceGradient.cpp:
79324        (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
79325        (WebCore::RenderSVGResourceGradient::removeClientFromCache):
79326        (WebCore::RenderSVGResourceGradient::applyResource):
79327        * rendering/RenderSVGResourceGradient.h:
79328        * rendering/RenderSVGResourceMarker.cpp:
79329        (WebCore::RenderSVGResourceMarker::layout):
79330        (WebCore::RenderSVGResourceMarker::removeAllClientsFromCache):
79331        (WebCore::RenderSVGResourceMarker::removeClientFromCache):
79332        * rendering/RenderSVGResourceMarker.h:
79333        * rendering/RenderSVGResourceMasker.cpp:
79334        (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
79335        (WebCore::RenderSVGResourceMasker::removeClientFromCache):
79336        * rendering/RenderSVGResourceMasker.h:
79337        * rendering/RenderSVGResourcePattern.cpp:
79338        (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
79339        (WebCore::RenderSVGResourcePattern::removeClientFromCache):
79340        (WebCore::RenderSVGResourcePattern::applyResource):
79341        * rendering/RenderSVGResourcePattern.h:
79342        * rendering/RenderSVGResourceSolidColor.h:
79343        (WebCore::RenderSVGResourceSolidColor::removeAllClientsFromCache):
79344        (WebCore::RenderSVGResourceSolidColor::removeClientFromCache):
79345        * rendering/SVGRenderSupport.cpp:
79346        (WebCore::invalidateResourcesOfChildren): Add new helper funtion recursively invalidating resources of a sub render tree.
79347        (WebCore::SVGRenderSupport::layoutChildren): Keep track of all objects that didn't need layout, as we still have to invalidate their resources, if window size changes.
79348        * rendering/SVGResources.cpp:
79349        (WebCore::SVGResources::removeClientFromCache):
79350        (WebCore::SVGResources::resourceDestroyed):
79351        * rendering/SVGResources.h:
79352        * rendering/SVGResourcesCache.cpp:
79353        (WebCore::SVGResourcesCache::clientLayoutChanged):
79354
793552010-08-13  Pavel Feldman  <pfeldman@chromium.org>
79356
79357        Reviewed by Yury Semikhatsky.
79358
79359        Chromium DevTools: [CRASH] Autocomplete on arrays causes crashes.
79360        https://bugs.webkit.org/show_bug.cgi?id=43955
79361
79362        * bindings/v8/ScriptValue.cpp:
79363        (WebCore::v8ToInspectorValue):
79364
793652010-08-13  Gavin Barraclough  <barraclough@apple.com>
79366
79367        Reviewed by Sam Weinig
79368
79369        Unify UString::UTF8String() & String::utf8() methods,
79370        remove UString::cost() & make atArrayIndex a free function.
79371
79372        * WebCore.xcodeproj/project.pbxproj:
79373        * bindings/js/JSDOMWindowCustom.cpp:
79374        (WebCore::JSDOMWindow::getOwnPropertySlot):
79375        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
79376        * bridge/NP_jsobject.cpp:
79377        (_NPN_Enumerate):
79378        * bridge/c/c_utility.cpp:
79379        (JSC::Bindings::convertValueToNPVariant):
79380        * bridge/jni/JNIBridge.cpp:
79381        (JavaParameter::JavaParameter):
79382        (JavaMethod::JavaMethod):
79383        (JavaMethod::signature):
79384        (JavaMethod::methodID):
79385        * bridge/jni/JNIBridge.h:
79386        (JSC::Bindings::JavaString::utf8):
79387        (JSC::Bindings::JavaParameter::type):
79388        (JSC::Bindings::JavaMethod::returnType):
79389        * bridge/jni/jni_jsobject.mm:
79390        (JavaJSObject::call):
79391        (JavaJSObject::eval):
79392        (JavaJSObject::getMember):
79393        (JavaJSObject::setMember):
79394        (JavaJSObject::removeMember):
79395        (JavaJSObject::convertJObjectToValue):
79396        * bridge/jni/jsc/JNIBridgeJSC.cpp:
79397        (JavaField::JavaField):
79398        (JavaField::valueFromInstance):
79399        (JavaField::setValueToInstance):
79400        * bridge/jni/jsc/JNIBridgeJSC.h:
79401        (JSC::Bindings::JavaField::type):
79402        * bridge/jni/jsc/JavaInstanceJSC.cpp:
79403        (JavaInstance::invokeMethod):
79404        * bridge/jni/jsc/JavaStringJSC.h:
79405        (JSC::Bindings::JavaStringImpl::utf8):
79406        * bridge/runtime_array.cpp:
79407        (JSC::RuntimeArray::getOwnPropertySlot):
79408        (JSC::RuntimeArray::getOwnPropertyDescriptor):
79409        (JSC::RuntimeArray::put):
79410
794112010-08-12  Yury Semikhatsky  <yurys@chromium.org>
79412
79413        Reviewed by Pavel Feldman.
79414
79415        Web Inspector: allow interrupting long running JS to execute inspector command
79416        https://bugs.webkit.org/show_bug.cgi?id=43900
79417
79418        * bindings/v8/ScriptDebugServer.cpp:
79419        (WebCore::):
79420        (WebCore::ScriptDebugServer::pause):
79421        (WebCore::ScriptDebugServer::interruptAndRun):
79422        (WebCore::ScriptDebugServer::runPendingTasks):
79423        (WebCore::ScriptDebugServer::handleV8DebugEvent):
79424        * bindings/v8/ScriptDebugServer.h:
79425        (WebCore::ScriptDebugServer::Task::~Task):
79426
794272010-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
79428
79429        Unreviewed, rolling out r65295.
79430        http://trac.webkit.org/changeset/65295
79431        https://bugs.webkit.org/show_bug.cgi?id=43950
79432
79433        It broke 4 sputnik tests (Requested by Ossy on #webkit).
79434
79435        * WebCore.xcodeproj/project.pbxproj:
79436        * bindings/js/JSDOMWindowCustom.cpp:
79437        (WebCore::JSDOMWindow::getOwnPropertySlot):
79438        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
79439        * bridge/NP_jsobject.cpp:
79440        (_NPN_Enumerate):
79441        * bridge/c/c_utility.cpp:
79442        (JSC::Bindings::convertValueToNPVariant):
79443        * bridge/jni/JNIBridge.cpp:
79444        (JavaParameter::JavaParameter):
79445        (JavaMethod::JavaMethod):
79446        (JavaMethod::signature):
79447        (JavaMethod::methodID):
79448        * bridge/jni/JNIBridge.h:
79449        (JSC::Bindings::JavaString::UTF8String):
79450        (JSC::Bindings::JavaParameter::type):
79451        (JSC::Bindings::JavaMethod::returnType):
79452        * bridge/jni/jni_jsobject.mm:
79453        (JavaJSObject::call):
79454        (JavaJSObject::eval):
79455        (JavaJSObject::getMember):
79456        (JavaJSObject::setMember):
79457        (JavaJSObject::removeMember):
79458        (JavaJSObject::convertJObjectToValue):
79459        * bridge/jni/jsc/JNIBridgeJSC.cpp:
79460        (JavaField::JavaField):
79461        (JavaField::valueFromInstance):
79462        (JavaField::setValueToInstance):
79463        * bridge/jni/jsc/JNIBridgeJSC.h:
79464        (JSC::Bindings::JavaField::type):
79465        * bridge/jni/jsc/JavaInstanceJSC.cpp:
79466        (JavaInstance::invokeMethod):
79467        * bridge/jni/jsc/JavaStringJSC.h:
79468        (JSC::Bindings::JavaStringImpl::UTF8String):
79469        * bridge/runtime_array.cpp:
79470        (JSC::RuntimeArray::getOwnPropertySlot):
79471        (JSC::RuntimeArray::getOwnPropertyDescriptor):
79472        (JSC::RuntimeArray::put):
79473
794742010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79475
79476        Not reviewed. Fixed typo in inspector js.
79477        Follow up to r65300.
79478
79479        * inspector/front-end/inspector.js:
79480        (WebInspector.log.isLogAvailable):
79481
794822010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79483
79484        Reviewed by Yury Semikhatsky.
79485
79486        Web Inspector: Make getPrototypes return objects, not names.
79487        https://bugs.webkit.org/show_bug.cgi?id=43934
79488
79489        * inspector/front-end/InjectedScript.js:
79490        (injectedScriptConstructor):
79491        (injectedScriptConstructor.):
79492        * inspector/front-end/PropertiesSidebarPane.js:
79493        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
79494        * inspector/front-end/inspector.js:
79495        (WebInspector.log):
79496
794972010-08-12  James Robinson  <jamesr@chromium.org>
79498
79499        Unreviewed, rolling out r65284 and r65288.  Broke chromium compile.
79500        https://bugs.webkit.org/show_bug.cgi?id=43725
79501        http://trac.webkit.org/changeset/65284
79502        http://trac.webkit.org/changeset/65288
79503
79504        * bindings/scripts/CodeGeneratorV8.pm:
79505        * bindings/v8/ScriptController.cpp:
79506        (WebCore::ScriptController::namedItemAdded):
79507        (WebCore::ScriptController::namedItemRemoved):
79508        * bindings/v8/V8DOMWindowShell.cpp:
79509        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
79510        * bindings/v8/V8DOMWindowShell.h:
79511        * bindings/v8/V8DOMWrapper.cpp:
79512        (WebCore::V8DOMWrapper::instantiateV8Object):
79513        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
79514        (WebCore::V8HTMLDocument::namedPropertyDeleter):
79515        (WebCore::V8HTMLDocument::namedPropertyGetter):
79516        (WebCore::V8HTMLDocument::indexedPropertyGetter):
79517        (WebCore::V8HTMLDocument::allAccessorSetter):
79518        (WebCore::toV8):
79519        * html/HTMLDocument.cpp:
79520        (WebCore::HTMLDocument::removeItemFromMap):
79521
795222010-08-12  Gavin Barraclough  <barraclough@apple.com>
79523
79524        Reviewed by Sam Weinig
79525
79526        Unify UString::UTF8String() & String::utf8() methods,
79527        remove UString::cost() & make atArrayIndex a free function.
79528
79529        * WebCore.xcodeproj/project.pbxproj:
79530        * bindings/js/JSDOMWindowCustom.cpp:
79531        (WebCore::JSDOMWindow::getOwnPropertySlot):
79532        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
79533        * bridge/NP_jsobject.cpp:
79534        (_NPN_Enumerate):
79535        * bridge/c/c_utility.cpp:
79536        (JSC::Bindings::convertValueToNPVariant):
79537        * bridge/jni/JNIBridge.cpp:
79538        (JavaParameter::JavaParameter):
79539        (JavaMethod::JavaMethod):
79540        (JavaMethod::signature):
79541        (JavaMethod::methodID):
79542        * bridge/jni/JNIBridge.h:
79543        (JSC::Bindings::JavaString::utf8):
79544        (JSC::Bindings::JavaParameter::type):
79545        (JSC::Bindings::JavaMethod::returnType):
79546        * bridge/jni/jni_jsobject.mm:
79547        (JavaJSObject::call):
79548        (JavaJSObject::eval):
79549        (JavaJSObject::getMember):
79550        (JavaJSObject::setMember):
79551        (JavaJSObject::removeMember):
79552        (JavaJSObject::convertJObjectToValue):
79553        * bridge/jni/jsc/JNIBridgeJSC.cpp:
79554        (JavaField::JavaField):
79555        (JavaField::valueFromInstance):
79556        (JavaField::setValueToInstance):
79557        * bridge/jni/jsc/JNIBridgeJSC.h:
79558        (JSC::Bindings::JavaField::type):
79559        * bridge/jni/jsc/JavaInstanceJSC.cpp:
79560        (JavaInstance::invokeMethod):
79561        * bridge/jni/jsc/JavaStringJSC.h:
79562        (JSC::Bindings::JavaStringImpl::utf8):
79563        * bridge/runtime_array.cpp:
79564        (JSC::RuntimeArray::getOwnPropertySlot):
79565        (JSC::RuntimeArray::getOwnPropertyDescriptor):
79566        (JSC::RuntimeArray::put):
79567
795682010-08-12  Gavin Barraclough  <barraclough@apple.com>
79569
79570        Speculative build fix for chromium bindings (someone added the old include style!).
79571
79572        * bindings/v8/V8DOMWindowShell.h:
79573
795742010-08-12  MORITA Hajime  <morrita@google.com>
79575
79576        Reviewed by Tony Chang.
79577
79578        [Refactoring] TextEvent class has to many flags
79579        https://bugs.webkit.org/show_bug.cgi?id=43893
79580
79581        Turned TextEvent::m_isLineBreak, TextEvent::m_isBacktab, TextEvent::m_isPaste 
79582        into single TextEvent::m_inputType enumeration.
79583        
79584        No functional change. No new tests.
79585
79586        * dom/TextEvent.cpp:
79587        (WebCore::TextEvent::selectInputType):
79588        (WebCore::TextEvent::create):
79589        (WebCore::TextEvent::createForPlainTextPaste):
79590        (WebCore::TextEvent::createForFragmentPaste):
79591        (WebCore::TextEvent::TextEvent):
79592        * dom/TextEvent.h:
79593        (WebCore::TextEvent::):
79594        (WebCore::TextEvent::isLineBreak):
79595        (WebCore::TextEvent::isBackTab):
79596        (WebCore::TextEvent::isPaste):
79597        * page/EventHandler.cpp:
79598        (WebCore::EventHandler::handleTextInputEvent):
79599
796002010-08-12  Kenneth Russell  <kbr@google.com>
79601
79602        Reviewed by David Levin.
79603
79604        Delete obsolete CanvasNumberArray
79605        https://bugs.webkit.org/show_bug.cgi?id=38619
79606
79607        Deleted unreferenced code. Built WebKit and Chromium to test.
79608
79609        * Android.derived.jscbindings.mk:
79610        * Android.derived.v8bindings.mk:
79611        * Android.jscbindings.mk:
79612        * Android.mk:
79613        * bindings/js/JSCanvasNumberArrayCustom.cpp: Removed.
79614        * html/canvas/CanvasNumberArray.cpp: Removed.
79615        * html/canvas/CanvasNumberArray.h: Removed.
79616        * html/canvas/CanvasNumberArray.idl: Removed.
79617
796182010-08-12  Anton Muhin  <antonm@chromium.org>
79619
79620        Reviewed by Nate Chapin.
79621
79622        [v8] Create callbacks for named access of elements from document object on fly.
79623        https://bugs.webkit.org/show_bug.cgi?id=43725
79624
79625        That should speed up access to methods on document as there is no need to
79626        consult with interceptor before invoking the method.
79627
79628        This reapplies http://trac.webkit.org/changeset/60670 reverted with
79629        http://trac.webkit.org/changeset/63845.  The main difference is in treatment
79630        of removed named elements: we don't remove an accessor any more, but leave it.
79631        Therefore any accessor should be able to treat the case when there is no
79632        expando property.
79633
79634        * bindings/scripts/CodeGeneratorV8.pm:
79635        * bindings/v8/ScriptController.cpp:
79636        (WebCore::ScriptController::namedItemAdded):
79637        (WebCore::ScriptController::namedItemRemoved):
79638        * bindings/v8/V8DOMWindowShell.cpp:
79639        (WebCore::checkDocumentWrapper):
79640        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
79641        (WebCore::getter):
79642        (WebCore::V8DOMWindowShell::namedItemAdded):
79643        (WebCore::V8DOMWindowShell::namedItemRemoved):
79644        * bindings/v8/V8DOMWindowShell.h:
79645        * bindings/v8/V8DOMWrapper.cpp:
79646        (WebCore::V8DOMWrapper::instantiateV8Object):
79647        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
79648        (WebCore::V8HTMLDocument::WrapInShadowObject):
79649        (WebCore::V8HTMLDocument::GetNamedProperty):
79650        (WebCore::V8HTMLDocument::allAccessorSetter):
79651        (WebCore::toV8):
79652        * html/HTMLDocument.cpp:
79653        (WebCore::HTMLDocument::removeItemFromMap):
79654
796552010-08-12  Dimitri Glazkov  <dglazkov@chromium.org>
79656
79657        Reviewed by Adam Barth.
79658
79659        Ensure that parser doesn't attach children that have been removed by JavaScript event handlers.
79660        https://bugs.webkit.org/show_bug.cgi?id=43813
79661
79662        This patch re-fixes bug 40742 in a way that keeps allowing HTMLLinkElement
79663        to lazy-attach.
79664
79665        * html/HTMLConstructionSite.cpp:
79666        (WebCore::HTMLConstructionSite::attach): Added parent check.
79667        * html/HTMLLinkElement.cpp: Basically undoes changes introduced by r61424.
79668        * html/HTMLLinkElement.h: Ditto.
79669
796702010-08-12  Justin Schuh  <jschuh@chromium.org>
79671
79672        Reviewed by Dumitru Daniliuc.
79673
79674        Clear PluginData's page pointer on page refresh
79675        https://bugs.webkit.org/show_bug.cgi?id=43888
79676
79677        Test: plugins/access-after-page-destroyed.html
79678
79679        * page/Page.cpp:
79680        (WebCore::Page::refreshPlugins):
79681
796822010-08-12  Zhenyao Mo  <zmo@google.com>
79683
79684        Reviewed by Dimitri Glazkov.
79685
79686        getParameter(STENCIL_VALUE_MASK) (and others) returns the wrong value
79687        https://bugs.webkit.org/show_bug.cgi?id=31842
79688
79689        * html/canvas/WebGLRenderingContext.cpp:
79690        (WebCore::WebGLRenderingContext::getUnsignedLongParameter): Casting from int to unsigned long correctly.
79691
796922010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79693
79694        Reviewed by Joseph Pecoraro.
79695
79696        Web Inspector: mimic FireBug's array detection.
79697        https://bugs.webkit.org/show_bug.cgi?id=30974
79698
79699        * inspector/front-end/InjectedScript.js:
79700        (injectedScriptConstructor):
79701
797022010-08-12  Zhenyao Mo  <zmo@google.com>
79703
79704        Reviewed by Dimitri Glazkov.
79705
79706        regression in generateMipmap
79707        https://bugs.webkit.org/show_bug.cgi?id=43873
79708
79709        * html/canvas/WebGLTexture.cpp:
79710        (WebCore::WebGLTexture::generateMipmapLevelInfo): should set m_needToUseBlackTexture to false if generateMipmapLevelInfo runs through successfully.
79711
797122010-08-12  Ariya Hidayat  <ariya@sencha.com>
79713
79714        Reviewed by David Hyatt.
79715
79716        [Qt] Split TransparencyLayer into its own header file.
79717        https://bugs.webkit.org/show_bug.cgi?id=43935
79718
79719        * WebCore.pro: Include TransparencyLayer.h.
79720        * platform/graphics/qt/GraphicsContextQt.cpp:
79721        * platform/graphics/qt/TransparencyLayer.h: Added.
79722        (WebCore::TransparencyLayer::TransparencyLayer):
79723        (WebCore::TransparencyLayer::operator=):
79724
797252010-08-12  François Sausset  <sausset@gmail.com>
79726
79727        Reviewed by Beth Dakin.
79728
79729        Horizontal padding should be 0 on mrow elements.
79730        https://bugs.webkit.org/show_bug.cgi?id=43908
79731
79732        Updated tests in /mathml
79733
79734        * css/mathml.css:
79735        (mrow, mfenced):
79736        (mfenced):
79737
797382010-08-12  Aaron Boodman  <aa@chromium.org>
79739
79740        Reviewed by David Hyatt.
79741
79742        Make the cascade level of "user" styles configurable
79743        https://bugs.webkit.org/show_bug.cgi?id=43457
79744
79745        * WebCore.exp.in:
79746        * css/CSSStyleSelector.cpp:
79747        (WebCore::CSSStyleSelector::CSSStyleSelector):
79748        * dom/Document.cpp:
79749        (WebCore::Document::pageGroupUserSheets):
79750        * page/PageGroup.cpp:
79751        (WebCore::PageGroup::addUserStyleSheetToWorld):
79752        * page/PageGroup.h:
79753        * page/UserStyleSheet.h:
79754        (WebCore::UserStyleSheet::):
79755        (WebCore::UserStyleSheet::UserStyleSheet):
79756        (WebCore::UserStyleSheet::level):
79757
797582010-08-12  Jian Li  <jianli@chromium.org>
79759
79760        Fix qt build break.
79761
79762        * html/ThreadableBlobRegistry.cpp:
79763        (WebCore::postTaskToMainThread):
79764
797652010-08-12  Jian Li  <jianli@chromium.org>
79766
79767        Reviewed by David Levin.
79768
79769        Add ThreadableBlobRegistry to support calling BlobRegistry methods in
79770        main thread.
79771        https://bugs.webkit.org/show_bug.cgi?id=43874
79772
79773        * Android.mk:
79774        * CMakeLists.txt:
79775        * GNUmakefile.am:
79776        * WebCore.gypi:
79777        * WebCore.pro:
79778        * WebCore.vcproj/WebCore.vcproj:
79779        * WebCore.xcodeproj/project.pbxproj:
79780        * dom/ScriptExecutionContext.cpp:
79781        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
79782        (WebCore::ScriptExecutionContext::addBlob):
79783        (WebCore::ScriptExecutionContext::removeBlob):
79784        (WebCore::ScriptExecutionContext::createPublicBlobURL):
79785        (WebCore::ScriptExecutionContext::revokePublicBlobURL):
79786        * dom/ScriptExecutionContext.h:
79787        * html/Blob.cpp:
79788        (WebCore::Blob::Blob):
79789        (WebCore::Blob::~Blob):
79790        (WebCore::Blob::contextDestroyed):
79791        * html/Blob.h:
79792        * html/BlobRegistryImpl.cpp:
79793        (WebCore::BlobRegistryImpl::registerBlobURL):
79794        (WebCore::BlobRegistryImpl::unregisterBlobURL):
79795        (WebCore::BlobRegistryImpl::getBlobDataFromURL):
79796        * html/ThreadableBlobRegistry.cpp: Added.
79797        * html/ThreadableBlobRegistry.h: Added.
79798
797992010-08-12  Csaba Osztrogonác  <ossy@webkit.org>
79800
79801        Reviewed by Darin Adler.
79802
79803        generate-bindings.pl should generate warning free code
79804        https://bugs.webkit.org/show_bug.cgi?id=43353
79805
79806        * bindings/scripts/CodeGeneratorJS.pm: Suggested parentheses added around && within ||
79807
798082010-08-11  Ryosuke Niwa  <rniwa@webkit.org>
79809
79810        Reviewed by Kent Tamura.
79811
79812        merge MarkupAccumulator and MarkupAccumulatorWrapper
79813        https://bugs.webkit.org/show_bug.cgi?id=43834
79814
79815        Removed MarkupAccumulator and added serializeNodesWithNamespaces to use MarkupAccumulatorWrapper
79816        in both versions of createMarkup.  Accumulation of nodes done manually in serializeNodes is
79817        now done by MarkupAccumulatorWrapper as done in the original MarkupAccumulator.
79818
79819        No new tests added since this is a cleanup.
79820
79821        * editing/markup.cpp:
79822        (WebCore::MarkupAccumulatorWrapper::MarkupAccumulatorWrapper): Takes vector of nodes and set it to m_nodes.
79823        (WebCore::MarkupAccumulatorWrapper::insertOpenTag): Adds node to m_nodes.
79824        (WebCore::MarkupAccumulatorWrapper::wrapWithNode): Adds node to m_nodes.
79825        (WebCore::serializeNodes): Adding node to nodes is moved into MarkupAccumulatorWrapper.
79826        (WebCore::createMarkup): Instantiates MarkupAccumulatorWrapper.
79827        (WebCore::serializeNodesWithNamespaces): Renamed from MarkupAccumulator::appendMarkup.
79828
798292010-08-12  Dirk Schulze  <krit@webkit.org>
79830
79831        Unreviewed sort of Xcode project file.
79832
79833        * WebCore.xcodeproj/project.pbxproj:
79834
798352010-08-12  Ben Murdoch  <benm@google.com>
79836
79837        Reviewed by Pavel Feldman.
79838
79839        InspectorController.h missing InspectorObject forward declaration
79840        https://bugs.webkit.org/show_bug.cgi?id=43913
79841
79842        Build fix so no new tests.
79843
79844        * inspector/InspectorController.h: Adds the necessary forward declaration.
79845
798462010-08-12  Hui Huang  <hui.2.huang@nokia.com>
79847
79848        Reviewed by Eric Seidel.
79849
79850        m_windowRect is not updated because parent of PluginView is not
79851        set when updatePluginWidget is called. plugin gets wrong window
79852        size on setwindow.
79853        https://bugs.webkit.org/show_bug.cgi?id=43635
79854
79855        * plugins/symbian/PluginViewSymbian.cpp:
79856        (WebCore::PluginView::setParent):
79857
798582010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79859
79860        Not reviewed, re-apply r65241 and 65243.
79861
79862        Web Inspector: brush up object proxies, introduce remote object model.
79863        https://bugs.webkit.org/show_bug.cgi?id=43847
79864
79865        * WebCore.gypi:
79866        * WebCore.vcproj/WebCore.vcproj:
79867        * inspector/front-end/AuditRules.js:
79868        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
79869        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
79870        * inspector/front-end/ConsoleView.js:
79871        (WebInspector.ConsoleView.prototype.doEvalInWindow):
79872        (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
79873        (WebInspector.ConsoleView.prototype._enterKeyPressed):
79874        (WebInspector.ConsoleView.prototype._format):
79875        (WebInspector.ConsoleView.prototype._formatarray):
79876        (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
79877        (WebInspector.ConsoleMessage.prototype._format):
79878        (WebInspector.ConsoleCommandResult):
79879        * inspector/front-end/DOMAgent.js:
79880        (WebInspector.DOMNode):
79881        * inspector/front-end/ElementsPanel.js:
79882        (WebInspector.ElementsPanel.prototype.performSearch):
79883        * inspector/front-end/ElementsTreeOutline.js:
79884        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
79885        * inspector/front-end/EventListenersSidebarPane.js:
79886        ():
79887        * inspector/front-end/InjectedScript.js:
79888        (injectedScriptConstructor):
79889        (injectedScriptConstructor.):
79890        * inspector/front-end/ObjectPropertiesSection.js:
79891        (WebInspector.ObjectPropertiesSection.prototype.update):
79892        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
79893        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
79894        (WebInspector.ObjectPropertyTreeElement.prototype.update):
79895        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
79896        * inspector/front-end/ObjectProxy.js: Removed.
79897        * inspector/front-end/PropertiesSidebarPane.js:
79898        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
79899        * inspector/front-end/RemoteObject.js: Added.
79900        (WebInspector.RemoteObjectId):
79901        (WebInspector.RemoteObject):
79902        (WebInspector.RemoteObject.fromPrimitiveValue):
79903        (WebInspector.RemoteObject.fromNode):
79904        (WebInspector.RemoteObject.fromPayload):
79905        (WebInspector.RemoteObject.type):
79906        (WebInspector.RemoteObject.prototype.get objectId):
79907        (WebInspector.RemoteObject.prototype.get type):
79908        (WebInspector.RemoteObject.prototype.get description):
79909        (WebInspector.RemoteObject.prototype.get hasChildren):
79910        (WebInspector.RemoteObject.prototype.isError):
79911        (WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
79912        (WebInspector.RemoteObject.prototype.getOwnProperties):
79913        (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
79914        (WebInspector.RemoteObjectProperty):
79915        * inspector/front-end/ScopeChainSidebarPane.js:
79916        (WebInspector.ScopeChainSidebarPane.prototype.update):
79917        * inspector/front-end/ScriptsPanel.js:
79918        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
79919        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
79920        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
79921        * inspector/front-end/SourceFrame.js:
79922        (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
79923        (WebInspector.SourceFrame.prototype._showPopup):
79924        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
79925        * inspector/front-end/WatchExpressionsSidebarPane.js:
79926        (WebInspector.WatchExpressionsSection.prototype.update):
79927        (WebInspector.WatchExpressionTreeElement.prototype.update):
79928        * inspector/front-end/WebKit.qrc:
79929        * inspector/front-end/inspector.html:
79930        * inspector/front-end/inspector.js:
79931        (WebInspector.log.logMessage):
79932        (WebInspector.log):
79933        * inspector/front-end/utilities.js:
79934        ():
79935
799362010-08-11  Stephen White  <senorblanco@chromium.org>
79937
79938        Reviewed by David Levin.
79939
79940        Add support for BGRA pixel format to GraphicsContext3D.
79941        https://bugs.webkit.org/show_bug.cgi?id=43858
79942
79943        Although this has been standard in desktop GL since 1.2, it's an 
79944        extension in GL ES 2.0, so a query function is provided to check
79945        for support.  Since they differ on semantics (GL ES 2.0 requires 
79946        TexImage2D()'s format and internalFormat to match, while desktop GL
79947        will not accept BGRA as an internalFormat), the stub implementation
79948        returns false until these quirks have been implemented and tested on
79949        each port.
79950
79951        * platform/graphics/GraphicsContext3D.cpp:
79952        (WebCore::GraphicsContext3D::supportsBGRA):
79953        Add implementation for non-chromium platforms which returns false.
79954        * platform/graphics/GraphicsContext3D.h:
79955        (WebCore::GraphicsContext3D::):
79956        Add query function (supportsBGRA()) and the BGRA_EXT token.
79957
799582010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79959
79960        Not reviewed. Rolling out r65241 and 65243 for breaking inspector tests.
79961
799622010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79963
79964        Not reviewed. Adding the file missing in r65241.
79965
79966        * inspector/front-end/RemoteObject.js: Added.
79967        (WebInspector.RemoteObjectId):
79968        (WebInspector.RemoteObject):
79969        (WebInspector.RemoteObject.fromPrimitiveValue):
79970        (WebInspector.RemoteObject.fromNode):
79971        (WebInspector.RemoteObject.fromPayload):
79972        (WebInspector.RemoteObject.type):
79973        (WebInspector.RemoteObject.prototype.get objectId):
79974        (WebInspector.RemoteObject.prototype.get type):
79975        (WebInspector.RemoteObject.prototype.get description):
79976        (WebInspector.RemoteObject.prototype.get hasChildren):
79977        (WebInspector.RemoteObject.prototype.isError):
79978        (WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
79979        (WebInspector.RemoteObject.prototype.getOwnProperties):
79980        (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
79981        (WebInspector.RemoteObjectProperty):
79982
799832010-08-12  Pavel Feldman  <pfeldman@chromium.org>
79984
79985        Reviewed by Yury Semikhatsky.
79986
79987        Web Inspector: brush up object proxies, introduce remote object model.
79988        https://bugs.webkit.org/show_bug.cgi?id=43847
79989
79990        * WebCore.gypi:
79991        * WebCore.vcproj/WebCore.vcproj:
79992        * inspector/front-end/AuditRules.js:
79993        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
79994        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
79995        * inspector/front-end/ConsoleView.js:
79996        (WebInspector.ConsoleView.prototype.doEvalInWindow):
79997        (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
79998        (WebInspector.ConsoleView.prototype._enterKeyPressed):
79999        (WebInspector.ConsoleView.prototype._format):
80000        (WebInspector.ConsoleView.prototype._formatnode):
80001        (WebInspector.ConsoleView.prototype._formatarray):
80002        (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
80003        (WebInspector.ConsoleMessage.prototype._format):
80004        (WebInspector.ConsoleCommandResult):
80005        * inspector/front-end/DOMAgent.js:
80006        (WebInspector.DOMNode):
80007        * inspector/front-end/ElementsTreeOutline.js:
80008        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
80009        * inspector/front-end/EventListenersSidebarPane.js:
80010        * inspector/front-end/InjectedScript.js:
80011        (injectedScriptConstructor):
80012        (injectedScriptConstructor.):
80013        * inspector/front-end/ObjectPropertiesSection.js:
80014        (WebInspector.ObjectPropertiesSection.prototype.update):
80015        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
80016        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
80017        (WebInspector.ObjectPropertyTreeElement.prototype.update):
80018        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
80019        * inspector/front-end/ObjectProxy.js: Removed.
80020        * inspector/front-end/PropertiesSidebarPane.js:
80021        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
80022        * inspector/front-end/RemoteObject.js: Added.
80023        (WebInspector.RemoteObjectId):
80024        (WebInspector.RemoteObject):
80025        (WebInspector.RemoteObject.fromPrimitiveValue):
80026        (WebInspector.RemoteObject.fromErrorMessage):
80027        (WebInspector.RemoteObject.fromNode):
80028        (WebInspector.RemoteObject.fromPayload):
80029        (WebInspector.RemoteObject.type):
80030        (WebInspector.RemoteObject.prototype.get objectId):
80031        (WebInspector.RemoteObject.prototype.get type):
80032        (WebInspector.RemoteObject.prototype.get description):
80033        (WebInspector.RemoteObject.prototype.get hasChildren):
80034        (WebInspector.RemoteObject.prototype.isError):
80035        (WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
80036        (WebInspector.RemoteObject.prototype.getOwnProperties):
80037        (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
80038        (WebInspector.RemoteObjectProperty):
80039        * inspector/front-end/ScopeChainSidebarPane.js:
80040        (WebInspector.ScopeChainSidebarPane.prototype.update):
80041        * inspector/front-end/ScriptsPanel.js:
80042        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
80043        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
80044        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
80045        * inspector/front-end/SourceFrame.js:
80046        (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
80047        (WebInspector.SourceFrame.prototype._showPopup):
80048        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
80049        * inspector/front-end/WatchExpressionsSidebarPane.js:
80050        (WebInspector.WatchExpressionsSection.prototype.update):
80051        (WebInspector.WatchExpressionTreeElement.prototype.update):
80052        * inspector/front-end/WebKit.qrc:
80053        * inspector/front-end/inspector.html:
80054        * inspector/front-end/inspector.js:
80055        (WebInspector.log.logMessage):
80056        (WebInspector.log):
80057        * inspector/front-end/utilities.js:
80058
800592010-08-12  Ben Murdoch  <benm@google.com>
80060
80061        Reviewed by Steve Block.
80062
80063        V8 code generator does not add V8BindingMacros.h include in all places it is needed
80064        https://bugs.webkit.org/show_bug.cgi?id=43907
80065
80066        Adds the V8BindingMacros.h header before using the STRING_TO_V8PARAMETER_EXCEPTION_BLOCK
80067        macro.
80068
80069        Build fix so no new tests.
80070
80071        * bindings/scripts/CodeGeneratorV8.pm: include the header at the right time.
80072
800732010-08-12  Jeremy Orlow  <jorlow@chromium.org>
80074
80075        Revert for now
80076        https://bugs.webkit.org/show_bug.cgi?id=43794 
80077
80078        * Android.mk:
80079        * CMakeLists.txt:
80080        * GNUmakefile.am:
80081        * WebCore.exp.in:
80082        * WebCore.gypi:
80083        * WebCore.pro:
80084        * WebCore.vcproj/WebCore.vcproj:
80085        * WebCore.xcodeproj/project.pbxproj:
80086        * page/GroupSettings.cpp: Removed.
80087        * page/GroupSettings.h: Removed.
80088        * page/PageGroup.cpp:
80089        (WebCore::PageGroup::PageGroup):
80090        (WebCore::PageGroup::localStorage):
80091        * page/PageGroup.h:
80092        * page/Settings.cpp:
80093        (WebCore::Settings::Settings):
80094        (WebCore::Settings::setLocalStorageQuota):
80095        (WebCore::Settings::setLocalStorageDatabasePath):
80096        * page/Settings.h:
80097        (WebCore::Settings::localStorageQuota):
80098        (WebCore::Settings::localStorageDatabasePath):
80099
801002010-08-12  Nikolas Zimmermann  <nzimmermann@rim.com>
80101
80102        Not reviewed. Follow up to Jeremys fix, just remove the context parameter, it's not needed anymore.
80103
80104        * rendering/RenderSVGResourceGradient.cpp:
80105        (WebCore::createMaskAndSwapContextForTextGradient):
80106        * rendering/RenderSVGResourceMasker.cpp:
80107        (WebCore::RenderSVGResourceMasker::applyResource):
80108        * rendering/SVGImageBufferTools.cpp:
80109        (WebCore::SVGImageBufferTools::createImageBuffer):
80110        * rendering/SVGImageBufferTools.h:
80111
801122010-08-12  Jeremy Orlow  <jorlow@chromium.org>
80113
80114        Build fix.
80115
80116        * rendering/SVGImageBufferTools.cpp:
80117        (WebCore::SVGImageBufferTools::createImageBuffer):
80118
801192010-08-12  Nikolas Zimmermann  <nzimmermann@rim.com>
80120
80121        Reviewed by Dirk Schulze.
80122
80123        SVG masking performance very slow
80124        https://bugs.webkit.org/show_bug.cgi?id=43622
80125
80126        Create ImageBuffers only as large as the final rendered size on screen. Only gradient on text on CG handled this correctly so far.
80127        Refactored the code into a new SVGImageBufferTools class, and use the code from RenderSVGResourceMasker -> makes the IE9 demo SVG dice usable.
80128        Clippers, Patterns and Filters remain to be converted.
80129
80130        Test: svg/zoom/page/zoom-mask-with-percentages.svg
80131
80132        * Android.mk: Add SVGImageBufferTools.* to build.
80133        * CMakeLists.txt: Ditto.
80134        * GNUmakefile.am: Ditto.
80135        * WebCore.gypi: Ditto.
80136        * WebCore.pro: Ditto.
80137        * WebCore.xcodeproj/project.pbxproj: Ditto.
80138        * rendering/RenderSVGAllInOne.cpp: Ditto.
80139        * rendering/RenderSVGResourceGradient.cpp: Refactored CG gradient specific "create image buffer in absolute coordinates" code into SVGImageBufferTools class.
80140        (WebCore::createMaskAndSwapContextForTextGradient):
80141        (WebCore::clipToTextMask):
80142        (WebCore::RenderSVGResourceGradient::applyResource):
80143        * rendering/RenderSVGResourceMasker.cpp: Use new SVGImageBufferTools class, to avoid pixelation when zooming and to create image buffers as big as the final rendered size on screen, not more.
80144        (WebCore::RenderSVGResourceMasker::invalidateClients):
80145        (WebCore::RenderSVGResourceMasker::applyResource):
80146        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
80147        (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
80148        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
80149        * rendering/RenderSVGResourceMasker.h:
80150        * rendering/SVGImageBufferTools.cpp: Added.
80151        (WebCore::SVGImageBufferTools::absoluteTransformFromContext):
80152        (WebCore::SVGImageBufferTools::createImageBuffer):
80153        (WebCore::SVGImageBufferTools::clipToImageBuffer):
80154        * rendering/SVGImageBufferTools.h: Added.
80155        (WebCore::SVGImageBufferTools::SVGImageBufferTools):
80156        (WebCore::SVGImageBufferTools::~SVGImageBufferTools):
80157
801582010-08-10  Jeremy Orlow  <jorlow@chromium.org>
80159
80160        Reviewed by Adam Barth.
80161
80162        Some settings are linked to the PageGroup not the Page.  Create a new class for those.
80163        https://bugs.webkit.org/show_bug.cgi?id=43794
80164
80165        Since persistient storage is shared between pages, there's no way to modify
80166        some settings related to it on a per page basis.  As such, it's not technically
80167        correct for these settings to be on the Page's settings.  Create a new class
80168        called GroupSettings, move the 2 group-wide local storage settings there, and
80169        add a new setting for IndexedDB's path (which is prompting this change).
80170
80171        No behavior has changed, so no tests.
80172
80173        * Android.mk:
80174        * CMakeLists.txt:
80175        * GNUmakefile.am:
80176        * WebCore.exp.in:
80177        * WebCore.gypi:
80178        * WebCore.pro:
80179        * WebCore.vcproj/WebCore.vcproj:
80180        * WebCore.xcodeproj/project.pbxproj:
80181        * page/PageGroup.cpp:
80182        (WebCore::PageGroup::PageGroup):
80183        (WebCore::PageGroup::localStorage):
80184        * page/PageGroup.h:
80185        (WebCore::PageGroup::groupSettings):
80186        * page/Settings.cpp:
80187        (WebCore::Settings::Settings):
80188        (WebCore::Settings::setSessionStorageQuota):
80189        * page/Settings.h:
80190
801912010-08-12  Benjamin Poulain  <benjamin.poulain@nokia.com>
80192
80193        Reviewed by Simon Hausmann.
80194
80195        [Qt] Decode images directly to QPixmap
80196        https://bugs.webkit.org/show_bug.cgi?id=40797
80197
80198        Use the new API of Qt 4.7 to decode data from the image
80199        reader directly to QPixmap.
80200
80201        This allow us to use JDCT_IFAST when decoding jpeg images
80202        to pixmap, and to decode animated GIF images, while still
80203        using in-place conversion of color space.
80204
80205        * platform/graphics/qt/ImageDecoderQt.cpp:
80206        (WebCore::ImageDecoderQt::setData):
80207        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
80208
802092010-07-14  Marcus Bulach  <bulach@chromium.org>
80210
80211        Reviewed by darin@apple.com.
80212
80213        Removes DontCheckEnums from some IDLs and fixes the corresponding enums.
80214        https://bugs.webkit.org/show_bug.cgi?id=42278
80215
80216        This is a follow-up to https://bugs.webkit.org/show_bug.cgi?id=42250: it fixes some IDL/.h and enables generating compile-time checks for enums.
80217
80218        Tests: idls should generate valid code.
80219
80220        * dom/Node.h:
80221        (WebCore::Node::):
80222        * dom/Node.idl:
80223        * dom/OverflowEvent.h:
80224        (WebCore::OverflowEvent::):
80225        * dom/OverflowEvent.idl:
80226        * html/FileReader.cpp:
80227        (WebCore::FileReader::readyState):
80228        * html/FileReader.h:
80229        (WebCore::FileReader::):
80230        * html/FileReader.idl:
80231
802322010-08-12  Alejandro G. Castro  <alex@igalia.com>
80233
80234        Reviewed by David Levin.
80235
80236        The #if clause enabling a feature should avoid the all includes of
80237        the feature
80238        https://bugs.webkit.org/show_bug.cgi?id=43866
80239
80240        Modified the position of the guard to avoid including all the
80241        headers if the feature controlling the guard is not enabled.
80242
80243        * dom/make_names.pl:
80244
802452010-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
80246
80247        Unreviewed, rolling out r65221.
80248        http://trac.webkit.org/changeset/65221
80249        https://bugs.webkit.org/show_bug.cgi?id=43896
80250
80251        Broke snow leopard build. (Requested by dave_levin on
80252        #webkit).
80253
80254        * platform/graphics/GraphicsContext3D.cpp:
80255        * platform/graphics/GraphicsContext3D.h:
80256        (WebCore::GraphicsContext3D::):
80257
802582010-08-11  Stephen White  <senorblanco@chromium.org>
80259
80260        Reviewed by David Levin.
80261
80262        Add support for BGRA pixel format to GraphicsContext3D.
80263        https://bugs.webkit.org/show_bug.cgi?id=43858
80264
80265        Although this has been standard in desktop GL since 1.2, it's an 
80266        extension in GL ES 2.0, so a query function is provided to check
80267        for support.  Since they differ on semantics (GL ES 2.0 requires 
80268        TexImage2D()'s format and internalFormat to match, while desktop GL
80269        will not accept BGRA as an internalFormat), the stub implementation
80270        returns false until these quirks have been implemented and tested on
80271        each port.
80272
80273        * platform/graphics/GraphicsContext3D.cpp:
80274        (WebCore::GraphicsContext3D::supportsBGRA):
80275        Add implementation for non-chromium platforms which returns false.
80276        * platform/graphics/GraphicsContext3D.h:
80277        (WebCore::GraphicsContext3D::):
80278        Add query function (supportsBGRA()) and the BGRA_EXT token.
80279
802802010-08-11  Satish Sampath  <satish@chromium.org>
80281
80282        Reviewed by Kent Tamura.
80283
80284        Handle clicks and recognition events for the speech input button
80285        https://bugs.webkit.org/show_bug.cgi?id=43857
80286
80287        * rendering/RenderInputSpeech.cpp:
80288        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton): Selects the image based on current state.
80289        * rendering/TextControlInnerElements.cpp:
80290        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
80291        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
80292        (WebCore::InputFieldSpeechButtonElement::set_state): Switch to a new state and update the UI.
80293        (WebCore::InputFieldSpeechButtonElement::didCompleteRecording): 
80294        (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
80295        * rendering/TextControlInnerElements.h:
80296        (WebCore::InputFieldSpeechButtonElement::):
80297        (WebCore::InputFieldSpeechButtonElement::state):
80298
802992010-08-11  Fumitoshi Ukai  <ukai@chromium.org>
80300
80301        Reviewed by Alexey Proskuryakov.
80302
80303        REGRESSION(65135): format specifier warnings
80304        https://bugs.webkit.org/show_bug.cgi?id=43876
80305
80306        * websockets/WebSocketChannel.cpp:
80307        (WebCore::WebSocketChannel::appendToBuffer): cast size_t to unsigned long for %lu.
80308        (WebCore::WebSocketChannel::processBuffer): cast size_t to unsigned long for %lu.
80309
803102010-08-11  Kevin Ollivier  <kevino@theolliviers.com>
80311
80312        [wx] Build fix, don't generate WebDOMEventTarget.h/.cpp as we use the ones in bindings/cpp.
80313        
80314        * DerivedSources.make:
80315
803162010-08-11  Tony Gentilcore  <tonyg@chromium.org>
80317
80318        Reviewed by Adam Barth.
80319
80320        Make PendingScript copyable so that it can be stored in containers
80321        https://bugs.webkit.org/show_bug.cgi?id=43875
80322
80323        This will be useful for storing PendingScripts in a Vector or Deque for
80324        async and defer scripts.
80325
80326        No new tests because no functional changes.
80327
80328        * dom/PendingScript.h:
80329        (WebCore::PendingScript::PendingScript):
80330        (WebCore::PendingScript::operator=):
80331
803322010-08-11  Victoria Kirst  <vrk@google.com>
80333
80334        Reviewed by David Levin.
80335
80336        Fixing a regression in the UI for Mac default audio/video controls.
80337        https://bugs.webkit.org/show_bug.cgi?id=43750
80338
80339        * rendering/RenderThemeChromiumMac.h:
80340        * rendering/RenderThemeChromiumMac.mm:
80341        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderContainer):
80342        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
80343        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
80344
803452010-08-11  Adam Barth  <abarth@webkit.org>
80346
80347        Reviewed by Eric Seidel.
80348
80349        HTML TreeBuilder hits ASSERT in fragment case with insertAdjacentHTML and colgroup
80350        https://bugs.webkit.org/show_bug.cgi?id=43758
80351
80352        This patch conditionalizes some LegacyHTMLTreeBuilder-specific code in
80353        HTMLElement::createContextualFragment that interferes with the new
80354        HTMLTreeBuilder.  Doing that exposes the above ASSERT, which I've fixed
80355        in this patch too.  Fixing that ASSERT involved a small refactoring in
80356        ExternalCharacterTokenBuffer.
80357
80358        * html/HTMLElement.cpp:
80359        (WebCore::HTMLElement::createContextualFragment):
80360        * html/HTMLTreeBuilder.cpp:
80361        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
80362        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
80363        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingNonWhitespace):
80364        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeading):
80365        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeading):
80366        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
80367
803682010-08-11  Adam Barth  <abarth@webkit.org>
80369
80370        Reviewed by Eric Seidel.
80371
80372        Conditionalize wrong fragment parsing code to pass more HTML5lib tests
80373        https://bugs.webkit.org/show_bug.cgi?id=43877
80374
80375        This code exists to support the LegacyHTMLTreeBuilder.  Unfortunately,
80376        it causes problems for the new HTMLTreeBuilder (which is more
80377        self-contained).
80378
80379        * dom/Element.cpp:
80380        (WebCore::Element::createContextualFragment):
80381
803822010-08-11  Ryosuke Niwa  <rniwa@webkit.org>
80383
80384        Reviewed by Tony Chang.
80385
80386        Can't unbold text in div in font-weight span
80387        https://bugs.webkit.org/show_bug.cgi?id=26871
80388
80389        The bug was caused by removeInlineStyle not being able to include styled inline nodes around the start.
80390        Solved this problem by pushing down all inline styles instead of just text-decorations.
80391        This approach allows removeInlineStyle to remove styled ancestors properly and generates compact markups.
80392
80393        Test: editing/style/push-down-inline-styles.html
80394
80395        * editing/ApplyStyleCommand.cpp:
80396        (WebCore::ApplyStyleCommand::removeCSSStyle): No longer removes attributes or node when mode == RemoveNone.
80397        (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement
80398        to determine the highest ancestor whose style needs to be pushed down.
80399        (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Renamed from extractTextDecorationStyle.
80400        Extracts all inline CSS properties specified instead of just text decorations.
80401        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Renamed from applyTextDecorationStyle.
80402        Applies inline styles using addInlineStyleIfNeeded or adds inline CSS values.
80403        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Renamed from pushDownTextDecorationStyleAroundNode.
80404        (WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownTextDecorationStyleAroundNode.
80405        * editing/ApplyStyleCommand.h:
80406        * editing/DeleteSelectionCommand.cpp:
80407        (WebCore::DeleteSelectionCommand::mergeParagraphs): Prevents moveParagraph from preserving
80408        the style of an empty paragraph when merged with the previous paragraph because we don't use that style anyways.
80409
804102010-08-11  Julien Chaffraix  <jchaffraix@codeaurora.org>
80411
80412        Reviewed by Ariya Hidayat.
80413
80414        Remove dead code in CSSStyleSelector.
80415        https://bugs.webkit.org/show_bug.cgi?id=43805
80416
80417        * css/CSSStyleSelector.cpp: Remove some debugging code that
80418        was compiled out.
80419
804202010-08-11  Chris Fleizach  <cfleizach@apple.com>
80421
80422        Reviewed by Beth Dakin.
80423
80424        AX: isNativeCheckbox does not work as advertised
80425        https://bugs.webkit.org/show_bug.cgi?id=43872
80426
80427        Test: platform/mac/accessibility/native-vs-nonnative-checkboxes.html
80428
80429        * accessibility/AccessibilityRenderObject.cpp:
80430        (WebCore::AccessibilityRenderObject::isInputImage):
80431            Only say it's an input image if its role has not been overriden
80432        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
80433        * dom/InputElement.h:
80434            Add methods to query if it's a checkbox or radio button type element.
80435        * html/HTMLInputElement.h:
80436        (WebCore::HTMLInputElement::isCheckbox):
80437
804382010-08-11  Kenneth Russell  <kbr@google.com>
80439
80440        Reviewed by David Levin.
80441
80442        Remove obsolete WebGLArray type names
80443        https://bugs.webkit.org/show_bug.cgi?id=43885
80444
80445        Deleted aliases to obsolete WebGLArray type names. Updated
80446        affected layout tests, synchronizing them with the versions in the
80447        Khronos repository where appropriate. Ran all layout tests.
80448
80449        * bindings/js/JSDOMWindowCustom.cpp:
80450        * page/DOMWindow.idl:
80451
804522010-08-11  Steve Block  <steveblock@google.com>
80453
80454        Reviewed by David Levin.
80455
80456        [chromium] Geolocation breaks the compile if ENABLE_GEOLOCATION is set to 0
80457        https://bugs.webkit.org/show_bug.cgi?id=43753
80458
80459        This change guards the entire contents of the V8 custom bindings files
80460        with ENABLE(GEOLOCATION) to match JSC.
80461
80462        No new tests, build fix only.
80463
80464        * bindings/v8/custom/V8CustomPositionCallback.cpp:
80465        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
80466        * bindings/v8/custom/V8GeolocationCustom.cpp:
80467
804682010-08-11  Kwang Yul Seo  <skyul@company100.net>
80469
80470        Reviewed by David Levin.
80471
80472        Include <wtf/UnusedParam.h> in GraphicsContextSkia.cpp
80473        https://bugs.webkit.org/show_bug.cgi?id=43843
80474
80475        wtf/UnusedParam.h must be included because UNUSED_PARAM macro is used.
80476
80477        * platform/graphics/skia/GraphicsContextSkia.cpp:
80478
804792010-08-11  Nico Weber  <thakis@chromium.org>
80480
80481        Reviewed by David Levin.
80482
80483        [chromium/mac]: Fix colors in compositing mode
80484        https://bugs.webkit.org/show_bug.cgi?id=43823
80485
80486        The textures are drawn by opengl, which doesn't do any color space
80487        correction -- it assumes everything is in the device color space
80488        already. Hence, when drawing into the memory that will be uploaded
80489        as opengl texture, use the device color space.
80490
80491        * platform/graphics/chromium/ImageLayerChromium.cpp:
80492        (WebCore::ImageLayerChromium::updateTextureContents):
80493        * platform/graphics/chromium/LayerChromium.cpp:
80494        (WebCore::LayerChromium::updateTextureContents):
80495        * platform/graphics/chromium/LayerRendererChromium.cpp:
80496        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
80497
804982010-08-11  Kenneth Russell  <kbr@google.com>
80499
80500        Reviewed by Dimitri Glazkov.
80501
80502        Remove obsolete texImage2D and texSubImage2D entry points
80503        https://bugs.webkit.org/show_bug.cgi?id=40320
80504
80505        No new tests; covered by existing WebGL tests.
80506
80507        * html/canvas/WebGLRenderingContext.cpp:
80508        * html/canvas/WebGLRenderingContext.h:
80509        * html/canvas/WebGLRenderingContext.idl:
80510
805112010-08-11  Gavin Barraclough  <barraclough@apple.com>
80512
80513        Windows build fix.
80514
80515        * platform/win/BString.cpp:
80516        (WebCore::BString::BString):
80517
805182010-08-11  Gavin Barraclough  <barraclough@apple.com>
80519
80520        Qt build fix II.
80521
80522        * WebCore.xcodeproj/project.pbxproj:
80523        * bridge/qt/qt_runtime.cpp:
80524        (JSC::Bindings::convertValueToQVariant):
80525
805262010-08-11  Gavin Barraclough  <barraclough@apple.com>
80527
80528        Qt build fix.
80529
80530        * WebCore.xcodeproj/project.pbxproj:
80531        * bridge/qt/qt_runtime.cpp:
80532        (JSC::Bindings::convertValueToQVariant):
80533
805342010-08-11  Steve Block  <steveblock@google.com>
80535
80536        Reviewed by Jeremy Orlow.
80537
80538        Need EmptyDeviceOrientationClient and EmptyDeviceMotionClient for use with SVGImage
80539        https://bugs.webkit.org/show_bug.cgi?id=43848
80540
80541        Tested by existing DeviceOrientation tests.
80542
80543        * loader/EmptyClients.h:
80544        (WebCore::EmptyDeviceMotionClient::setController):
80545        (WebCore::EmptyDeviceMotionClient::startUpdating):
80546        (WebCore::EmptyDeviceMotionClient::stopUpdating):
80547        (WebCore::EmptyDeviceMotionClient::currentDeviceMotion):
80548        (WebCore::EmptyDeviceOrientationClient::setController):
80549        (WebCore::EmptyDeviceOrientationClient::startUpdating):
80550        (WebCore::EmptyDeviceOrientationClient::stopUpdating):
80551        (WebCore::EmptyDeviceOrientationClient::lastOrientation):
80552        * svg/graphics/SVGImage.cpp:
80553        (WebCore::SVGImage::dataChanged):
80554
805552010-08-11  Rob Buis  <rwlbuis@gmail.com>
80556
80557        Reviewed by Dan Bernstein.
80558
80559        https://bugs.webkit.org/show_bug.cgi?id=42042
80560        An empty value for xml:lang isn't considered
80561
80562        Revert last line change of my patch ; it happens to
80563        behave correctly and same as before, but makes the
80564        use case of empty values unneededly slower.
80565
80566        No new tests. (No change in behavior)
80567
80568        * css/CSSStyleSelector.cpp:
80569        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
80570
805712010-08-11  Kevin Ollivier  <kevino@theolliviers.com>
80572
80573        [wx, WebDOM] Build fix. Fix callback params and WebCore::String -> WTF::String fixes.
80574
80575        * bindings/cpp/WebDOMCustomVoidCallback.cpp: Added.
80576        (WebDOMCustomVoidCallback::WebDOMCustomVoidCallback):
80577        (WebDOMCustomVoidCallback::~WebDOMCustomVoidCallback):
80578        (WebDOMCustomVoidCallback::handleEvent):
80579        (toWebCore):
80580        * bindings/cpp/WebDOMCustomVoidCallback.h: Added.
80581        (WebDOMCustomVoidCallback::create):
80582        * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
80583        (documentWrite):
80584        * bindings/cpp/WebDOMString.cpp:
80585        (WebDOMString::equals):
80586        * bindings/scripts/CodeGeneratorCPP.pm:
80587        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
80588        (WebDOMTestCallback::callbackWithClass1Param):
80589        (WebDOMTestCallback::callbackWithClass2Param):
80590        (WebDOMTestCallback::callbackWithNonBoolReturnType):
80591        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
80592        * bindings/scripts/test/V8/V8TestInterface.h:
80593        * bindings/scripts/test/V8/V8TestObj.h:
80594        * wscript:
80595
805962010-08-11  Gavin Barraclough  <barraclough@apple.com>
80597
80598        Rubber stamps by Darin Adler & Sam Weinig.
80599
80600        Bug 43867 - Some UString cleanup
80601
80602        Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
80603        Move string concatenation methods to a new header to simplify down UString.h.  Remove is8Bit().
80604
80605        * WebCore.xcodeproj/project.pbxproj:
80606        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
80607        (WebCore::hasCSSPropertyNamePrefix):
80608        (WebCore::cssPropertyName):
80609        * bindings/js/JSLocationCustom.cpp:
80610        (WebCore::JSLocation::setPort):
80611        * bindings/js/ScriptDebugServer.cpp:
80612        (WebCore::ScriptDebugServer::dispatchDidParseSource):
80613        * bindings/js/ScriptString.h:
80614        (WebCore::ScriptString::size):
80615        * bindings/js/ScriptValue.cpp:
80616        (WebCore::jsToInspectorValue):
80617        * bindings/objc/WebScriptObject.mm:
80618        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
80619        * bridge/jni/jni_jsobject.mm:
80620        (JavaJSObject::convertValueToJObject):
80621        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
80622        (JSC::Bindings::convertArrayInstanceToJavaArray):
80623        (JSC::Bindings::convertValueToJValue):
80624        * bridge/objc/objc_runtime.mm:
80625        (JSC::Bindings::callObjCFallbackObject):
80626
806272010-08-10  David Hyatt  <hyatt@apple.com>
80628
80629        Reviewed by Dan Bernstein.
80630
80631        https://bugs.webkit.org/show_bug.cgi?id=43806, add ability to paginate screen content.
80632        
80633        Add a new boolean to Document to indicate that content should be paginated.  This is checked when doing page breaks
80634        and in a couple of other cases.
80635
80636        * dom/Document.cpp:
80637        (WebCore::Document::Document):
80638        * dom/Document.h:
80639        (WebCore::Document::paginatedForScreen):
80640        (WebCore::Document::setPaginatedForScreen):
80641        (WebCore::Document::paginated):
80642        * rendering/RenderBlock.cpp:
80643        (WebCore::RenderBlock::paintChildren):
80644        (WebCore::RenderBlock::calcColumnWidth):
80645        * rendering/RenderBox.cpp:
80646        (WebCore::RenderBox::calcHeight):
80647        * rendering/RenderView.cpp:
80648        (WebCore::RenderView::paint):
80649
806502010-08-11  Adam Barth  <abarth@webkit.org>
80651
80652        Windows build fix.  Turns out we need to unconditionally include
80653        HTMLEntityNames.cpp now that LegacyHTMLDocumentParser doesn't exist.
80654
80655        * html/HTMLEntityParser.cpp:
80656
806572010-08-11  Eric Carlson  <eric.carlson@apple.com>
80658
80659        Reviewed by Darin Adler.
80660
80661        Inserting a <source> element should immediately set networkState to NETWORK_NO_SOURCE.
80662        https://bugs.webkit.org/show_bug.cgi?id=42897
80663
80664        A <source> element inserted as a child of a media element with a networkState of NETWORK_EMPTY
80665        should cause the networkState to immediately change to NETWORK_NO_SOURCE.
80666
80667        * WebCore.xcodeproj/project.pbxproj:
80668        * html/HTMLMediaElement.cpp:
80669        (WebCore::HTMLMediaElement::HTMLMediaElement): Remove unused variable m_processingLoad.
80670        (WebCore::HTMLMediaElement::prepareForLoad): Set m_networkState to NETWORK_NO_SOURCE.
80671        (WebCore::HTMLMediaElement::loadInternal): Remove unused variable m_processingLoad.
80672        (WebCore::HTMLMediaElement::selectMediaResource): No need to change m_networkState, it was done in prepareForLoad.
80673        * html/HTMLMediaElement.h:
80674
80675        * html/HTMLSourceElement.cpp:
80676        (WebCore::HTMLSourceElement::insertedIntoTree): Renamed from insertedIntoDocument because we want
80677        to do this setup whether or not the parent media element is in the document.
80678        * html/HTMLSourceElement.h:
80679
806802010-08-11  Adam Barth  <abarth@webkit.org>
80681
80682        Rubber-stamped by Eric Seidel.
80683
80684        Delete LegacyHTMLDocumentParser and LegacyPreloadScanner
80685        https://bugs.webkit.org/show_bug.cgi?id=43836
80686
80687        These classes are bit-rotting disturbingly quickly.  We removed the
80688        last dependencies on these classes and so we can remove them.
80689
80690        We might need to preserve some of their particular quirks to handle
80691        some legacy applications, but our current thinking is to do that with
80692        individual settings that affect the new parser.
80693
80694        * Android.mk:
80695        * CMakeLists.txt:
80696        * GNUmakefile.am:
80697        * WebCore.gypi:
80698        * WebCore.pro:
80699        * WebCore.vcproj/WebCore.vcproj:
80700        * WebCore.xcodeproj/project.pbxproj:
80701        * dom/Document.cpp:
80702        * dom/DocumentFragment.cpp:
80703        (WebCore::DocumentFragment::parseHTML):
80704        * dom/DocumentParser.h:
80705        * dom/XMLDocumentParserLibxml2.cpp:
80706        * dom/XMLDocumentParserQt.cpp:
80707        * html/HTMLConstructionSite.cpp:
80708        * html/HTMLDocument.cpp:
80709        (WebCore::HTMLDocument::createParser):
80710        * html/HTMLEntityParser.cpp:
80711        (WebCore::decodeNamedEntity):
80712        * html/HTMLEntityParser.h:
80713        * html/HTMLFormControlElement.cpp:
80714        * html/HTMLTreeBuilder.cpp:
80715        * html/HTMLViewSourceDocument.cpp:
80716        (WebCore::HTMLViewSourceDocument::createParser):
80717        * html/LegacyHTMLDocumentParser.cpp: Removed.
80718        * html/LegacyHTMLDocumentParser.h: Removed.
80719        * html/LegacyHTMLTreeBuilder.cpp:
80720        * html/LegacyPreloadScanner.cpp: Removed.
80721        * html/LegacyPreloadScanner.h: Removed.
80722        * loader/FTPDirectoryDocument.cpp:
80723        (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
80724        (WebCore::FTPDirectoryDocumentParser::appendEntry):
80725        (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
80726        (WebCore::processFilesizeString):
80727        (WebCore::wasLastDayOfMonth):
80728        (WebCore::processFileDateString):
80729        (WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
80730        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
80731        (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
80732        (WebCore::FTPDirectoryDocumentParser::append):
80733        (WebCore::FTPDirectoryDocumentParser::finish):
80734        * page/XSSAuditor.cpp:
80735        (WebCore::XSSAuditor::decodeHTMLEntities):
80736        * page/XSSAuditor.h:
80737        * platform/text/SegmentedString.cpp:
80738        (WebCore::SegmentedString::prepend):
80739
807402010-08-11  Chris Jerdonek  <cjerdonek@webkit.org>
80741
80742        Reviewed by Adam Barth.
80743
80744        Refactored FrameLoader::createWindow() out of the FrameLoader class
80745        since FrameLoader should not be responsible for creating windows.
80746
80747        https://bugs.webkit.org/show_bug.cgi?id=39156
80748
80749        No new functionality, so no new tests.
80750
80751        * bindings/generic/BindingDOMWindow.h:
80752        (WebCore::::createWindow):
80753          - Updated the call to FrameLoader's createWindow().
80754        * bindings/js/JSDOMWindowCustom.cpp:
80755        (WebCore::createWindow):
80756          - Updated the call to FrameLoader's createWindow().
80757        * loader/FrameLoader.cpp:
80758        (WebCore::createWindowFromFrameLoader):
80759          - Made FrameLoader::createWindow() non-member, non-friend and changed it
80760            to accept Frame* parameters instead of FrameLoader*.
80761        * loader/FrameLoader.h:
80762          - Updated the header file to reflect the above change to FrameLoader.cpp.
80763
807642010-08-11  Ilya Tikhonovsky  <loislo@chromium.org>
80765
80766        Reviewed by Pavel Feldman.
80767
80768        WebInspector: small refactoring for CodeGeneratorInspector.
80769        all "notify" methods are generating in InspectorFrontend
80770        the other methods are generating in InspectorBackend.
80771        https://bugs.webkit.org/show_bug.cgi?id=43849
80772
80773        * inspector/CodeGeneratorInspector.pm:
80774
807752010-08-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
80776
80777        Reviewed by Xan Lopez.
80778
80779        [GTK] Misc improvements to the scrolling code
80780        https://bugs.webkit.org/show_bug.cgi?id=41926
80781
80782        Refactor code that uses deprecated ways of dealing with the
80783        adjustments to use the GtkVersioning infrastructure.
80784
80785        * GNUmakefile.am:
80786        * platform/gtk/GtkVersioning.cpp: Added.
80787        * platform/gtk/GtkVersioning.h:
80788        * platform/gtk/ScrollViewGtk.cpp:
80789        * platform/gtk/ScrollbarGtk.cpp:
80790        (ScrollbarGtk::detachAdjustment):
80791        (ScrollbarGtk::updateThumbPosition):
80792        (ScrollbarGtk::updateThumbProportion):
80793
807942010-08-11  Nate Chapin  <japhet@chromium.org>
80795
80796        Chromium mac build fix (variables weren't being initialized).
80797
80798        * platform/graphics/filters/FEGaussianBlur.cpp: 
80799        (WebCore::FEGaussianBlur::apply): Initalize dxLeft, dxRight, dyLeft, dyRight.
80800
808012010-08-11  Pavel Feldman  <pfeldman@chromium.org>
80802
80803        Reviewed by Yury Semikhatsky.
80804
80805        Web Inspector: apply correct fix to storage panel status bar buttons.
80806
80807        https://bugs.webkit.org/show_bug.cgi?id=43846
80808
80809        * inspector/front-end/DatabaseTableView.js:
80810        (WebInspector.DatabaseTableView.prototype.get statusBarItems):
80811        * inspector/front-end/StoragePanel.js:
80812        (WebInspector.StoragePanel.prototype._genericViewSetup):
80813
808142010-08-11  Kevin Ollivier  <kevino@theolliviers.com>
80815
80816        Reviewed by Adam Barth.
80817
80818        Override operator= for C++ DOM binding classes with private structs
80819        and update C++ DOM bindings test results.
80820        https://bugs.webkit.org/show_bug.cgi?id=43735
80821
80822        * bindings/cpp/WebDOMEventTarget.cpp:
80823        (WebDOMEventTarget::operator=):
80824        * bindings/cpp/WebDOMEventTarget.h:
80825        * bindings/scripts/CodeGeneratorCPP.pm:
80826        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
80827        (WebDOMTestCallback::operator=):
80828        * bindings/scripts/test/CPP/WebDOMTestCallback.h:
80829        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
80830        (WebDOMTestInterface::operator=):
80831        * bindings/scripts/test/CPP/WebDOMTestInterface.h:
80832        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
80833        (WebDOMTestObj::operator=):
80834        * bindings/scripts/test/CPP/WebDOMTestObj.h:
80835
808362010-08-11  Julie Parent  <jparent@chromium.org>
80837
80838        Reviewed by Justin Garcia.
80839
80840        Crash in replaceSelectionCommand with RTL text.
80841        https://bugs.webkit.org/show_bug.cgi?id=41485
80842        
80843        For text with mixed directionality, sort the text boxes before
80844        computing gaps, since that code assumes the boxes are in order.
80845
80846        Test: editing/execCommand/insert-image-on-top-of-directional-text.html
80847
80848        * editing/CompositeEditCommand.cpp:
80849        (WebCore::CompositeEditCommand::deleteInsignificantText): Sort boxes
80850        like we do in TextIterator before computing gaps.
80851        * editing/TextIterator.cpp:
80852        (WebCore::TextIterator::handleTextNode): Use new compareByStart
80853        rather than compareBoxStart.  No functional change.
80854        * rendering/InlineTextBox.h:
80855        (WebCore::InlineTextBox::compareByStart): Moved compareBoxStart
80856        from TextIterator here so it can be used in multiple places.
80857
808582010-08-11  Fumitoshi Ukai  <ukai@chromium.org>
80859
80860        Unreviewed build fix of Leopard Intel Debug (Build)
80861
80862        * websockets/WebSocketChannel.cpp:
80863        (WebCore::WebSocketChannel::processBuffer): use %lu, instead of %ul
80864
808652010-08-11  Alejandro G. Castro  <alex@igalia.com>
80866
80867        Reviewed by Dirk Schulze.
80868
80869        Fixes to the gaussian blur algorithm
80870        https://bugs.webkit.org/show_bug.cgi?id=41605
80871
80872        Added the recomendations of SVG regarding the kernel size
80873        calculation for the approximation of the gaussian
80874        blur. http://www.w3.org/TR/SVG/filters.html#feGaussianBlurElement.
80875        Modified also some variable names to clarify algorithm, reviewed
80876        the situation where both standard deviations are 0.
80877
80878        * platform/graphics/filters/FEGaussianBlur.cpp:
80879        (WebCore::FEGaussianBlur::FEGaussianBlur):
80880        (WebCore::FEGaussianBlur::stdDeviationX):
80881        (WebCore::FEGaussianBlur::setStdDeviationX):
80882        (WebCore::FEGaussianBlur::stdDeviationY):
80883        (WebCore::FEGaussianBlur::setStdDeviationY):
80884        (WebCore::boxBlur):
80885        (WebCore::FEGaussianBlur::kernelPosition): Added the SVG kernel
80886        position recomendation.
80887        (WebCore::FEGaussianBlur::apply):
80888        (WebCore::FEGaussianBlur::externalRepresentation):
80889        * platform/graphics/filters/FEGaussianBlur.h:
80890
808912010-08-11  Kristian Monsen  <kristianm@google.com>
80892
80893        Reviewed by Steve Block.
80894
80895        Compile fix for Android, added include for <wtf/text/Cstring.h, this
80896        did not get included in Android.
80897        https://bugs.webkit.org/show_bug.cgi?id=41517
80898        
80899        Build fix only, no new tests.
80900
80901        * page/PrintContext.cpp:
80902
809032010-08-11  Fumitoshi Ukai  <ukai@chromium.org>
80904
80905        Reviewed by Alexey Proskuryakov.
80906
80907        Fix length calculation to be more robust.
80908        https://bugs.webkit.org/show_bug.cgi?id=43777
80909
80910        Test: websocket/tests/frame-length-overflow.html
80911
80912        * websockets/WebSocketChannel.cpp:
80913        (WebCore::WebSocketChannel::appendToBuffer): len is size_t.
80914         - add sanity check for integer wraps.
80915        (WebCore::WebSocketChannel::skipBuffer): len is size_t.
80916        (WebCore::WebSocketChannel::processBuffer): length is size_t.
80917         - add sanity check for integer wraps.
80918        * websockets/WebSocketChannel.h: change m_bufferSize and len to size_t.
80919
809202010-08-10  Eric Seidel  <eric@webkit.org>
80921
80922        Reviewed by Adam Barth.
80923
80924        Fix three ASSERTs hit with the HTML5 TreeBuilder in fragment mode
80925        https://bugs.webkit.org/show_bug.cgi?id=43762
80926
80927        In fixing the insertAdjacentHTML I had to make small changes to
80928        the error logic, which ended up bringing us closer to HTML5.
80929
80930        Test: fast/dom/HTMLElement/insertAdjacentHTML-errors.html
80931
80932        * html/HTMLConstructionSite.cpp:
80933        (WebCore::HTMLConstructionSite::attach):
80934         - This ASSERT was just wrong, the child should not be attached
80935           in the case the parent is not attached.
80936        * html/HTMLElement.cpp:
80937        (WebCore::contextElementForInsertion):
80938         - This is part of HTML5, needed to know what to call the
80939           HTML or XML parsers with.  The previous code always passed
80940           "this" which is wrong in the case of beforeBegin or afterEnd insertion.
80941        (WebCore::HTMLElement::insertAdjacentHTML):
80942         - Use the right contextElement now that we know how to compute it.
80943        * html/HTMLTreeBuilder.cpp:
80944        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
80945         - This ASSERT is direct from the spec, but it's wrong, so I've filed a spec bug.
80946
809472010-08-11  Adam Barth  <abarth@webkit.org>
80948
80949        Attempt to fix Windows build.
80950
80951        * platform/win/COMPtr.h:
80952        (WTF::):
80953
809542010-08-11  Adam Barth  <abarth@webkit.org>
80955
80956        Reviewed by Eric Seidel.
80957
80958        Port view-source to new parser
80959        https://bugs.webkit.org/show_bug.cgi?id=43746
80960
80961        This patch switches the view-source mode for frames over to using the
80962        new HTML parsing infrastructure.  This patch is an architectural change
80963        to how we parser view source documents.
80964
80965        Previously, the LegacyHTMLDocumentParser would output a "guide string"
80966        that consided of the inter-attribute whitespace and various "control"
80967        characters.  The HTMLViewSourceDocument would then interpret this guide
80968        string to approximately reconstruct the source of the original document
80969        and colorize various syntatic constructs.
80970
80971        Unfortunately, that approach is inherently low-fidelity.  It's not
80972        really feasible to reconstruct the input document from the token
80973        stream.  The old view source mode also had a number of hacks in the old
80974        parser (e.g., to turn of decoding of HTML entities).
80975
80976        Instead of trying to reconstruct the original document from the token
80977        stream, we use the segmentation information given by the tokens to
80978        colorize the input document itself.  Each token now caries information
80979        about where in the input stream it came from and where various
80980        subcomponents (e.g., attribute names and values) are located.  This
80981        approach is higher fidelity because we use this segmentation
80982        information to colorize the original input instead of attempting to
80983        reconstruct the original input.
80984
80985        * Android.mk:
80986        * CMakeLists.txt:
80987        * GNUmakefile.am:
80988        * WebCore.gypi:
80989        * WebCore.pro:
80990        * WebCore.vcproj/WebCore.vcproj:
80991        * WebCore.xcodeproj/project.pbxproj:
80992        * html/HTMLDocumentParser.cpp:
80993        * html/HTMLToken.h:
80994        (WebCore::HTMLToken::clear):
80995        (WebCore::HTMLToken::startIndex):
80996        (WebCore::HTMLToken::length):
80997        (WebCore::HTMLToken::end):
80998        * html/HTMLViewSourceDocument.cpp:
80999        (WebCore::HTMLViewSourceDocument::createParser):
81000        (WebCore::HTMLViewSourceDocument::addSource):
81001        (WebCore::HTMLViewSourceDocument::processDoctypeToken):
81002        (WebCore::HTMLViewSourceDocument::processTagToken):
81003        (WebCore::HTMLViewSourceDocument::processCommentToken):
81004        (WebCore::HTMLViewSourceDocument::processCharacterToken):
81005        (WebCore::HTMLViewSourceDocument::addRange):
81006        * html/HTMLViewSourceDocument.h:
81007        * html/HTMLViewSourceParser.cpp: Added.
81008        (WebCore::HTMLViewSourceParser::~HTMLViewSourceParser):
81009        (WebCore::HTMLViewSourceParser::insert):
81010        (WebCore::HTMLViewSourceParser::pumpTokenizer):
81011        (WebCore::HTMLViewSourceParser::append):
81012        (WebCore::HTMLViewSourceParser::sourceForToken):
81013        (WebCore::HTMLViewSourceParser::updateTokenizerState):
81014        (WebCore::HTMLViewSourceParser::finish):
81015        (WebCore::HTMLViewSourceParser::finishWasCalled):
81016        * html/HTMLViewSourceParser.h: Added.
81017        (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
81018        (WebCore::HTMLViewSourceParser::document):
81019        * html/LegacyHTMLDocumentParser.cpp:
81020        (WebCore::LegacyHTMLDocumentParser::processToken):
81021        (WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
81022
810232010-08-11  Yoshiki Hayashi  <yhayashi@google.com>
81024
81025        Reviewed by Shinichiro Hamaji.
81026
81027        Make form controls, textarea, legend and datagrid treat width:
81028        auto as specified in stretching vertical flexbox.  Otherwise it's
81029        treated as intrinsic as before.
81030        https://bugs.webkit.org/show_bug.cgi?id=17918
81031
81032        Test: fast/flexbox/vertical-box-form-controls.html
81033
81034        * css/CSSStyleSelector.cpp:
81035        (WebCore::CSSStyleSelector::adjustRenderStyle):
81036        * rendering/RenderBox.cpp:
81037        (WebCore::RenderBox::sizesToIntrinsicWidth):
81038
810392010-08-10  Darin Adler  <darin@apple.com>
81040
81041        Reviewed by Sam Weinig.
81042
81043        Add leakRef and clear to all RefPtr variants
81044        https://bugs.webkit.org/show_bug.cgi?id=42389
81045
81046        * platform/win/COMPtr.h: Changed all uses of "template <...>" to instead do
81047        "template<...>". Defined many of the inlined functions outside the class
81048        definition, to avoid style checker warnings about multiple statements on
81049        a single line and for slightly better clarity of the class definition itself.
81050        Renamed releaseRef to leakRef. Added a releaseRef that calls leakRef so we
81051        don't have to rename all callers at once. Added a clear function. Changed
81052        the hash table code so it doesn't need to call releaseRef, and so it uses
81053        the hash table deleted value hooks already present within the class.
81054
810552010-08-10  Ariya Hidayat  <ariya@sencha.com>
81056
81057        [Qt] Fix build warning: remove reference to html/BlobRegistryImp.h
81058
81059        * WebCore.pro:
81060
810612010-08-10  Alexey Proskuryakov  <ap@apple.com>
81062
81063        Reviewed by Darin Adler.
81064
81065        https://bugs.webkit.org/show_bug.cgi?id=43803
81066        <rdar://problem/6988023> Only the last Korean character can be shown if font style is enabled while typing (43803)
81067
81068        Test: platform/mac/editing/input/bold-node.html
81069
81070        * editing/Editor.cpp: (WebCore::Editor::setComposition): It is not clear to me what the
81071        "baseNode == extentNode" check is about in this function , but let's try to make it more
81072        likely that it passes.
81073
810742010-08-10  Hayato Ito  <hayato@chromium.org>
81075
81076        Reviewed by Kent Tamura.
81077
81078        Make CSSSelector::specificity() non-recursive.
81079        https://bugs.webkit.org/show_bug.cgi?id=43784
81080
81081        This change is one of the required changes to fix the following master bug:
81082        https://bugs.webkit.org/show_bug.cgi?id=42806
81083
81084        No functional change, thus no tests.
81085
81086        * css/CSSSelector.cpp:
81087        (WebCore::CSSSelector::specificity):
81088        (WebCore::CSSSelector::specificityForOneSelector):
81089        (WebCore::CSSSelector::specificityForPage):
81090        * css/CSSSelector.h:
81091
810922010-08-10  Matthew Delaney  <mdelaney@apple.com>
81093
81094        Reviewed by Darin Adler.
81095
81096        2d.path.clip.empty.html test is failing
81097        https://bugs.webkit.org/show_bug.cgi?id=43161
81098
81099        * platform/graphics/cg/GraphicsContextCG.cpp:
81100        (WebCore::GraphicsContext::clip):
81101        Catching the empty path case from being sent directly to 
81102        CGContextClip - which would ignore it. Instead, using 
81103        CGContextClip with a CGRectZero to achieve the desired
81104        behavior of reducing the clipping region to nothing.
81105
811062010-08-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
81107
81108        Reviewed by Antonio Gomes.
81109
81110        [EFL] Add video files to enable video in WebKit EFL
81111        https://bugs.webkit.org/show_bug.cgi?id=43790
81112
81113        Add files regarding html5 video to CMakeList.txt for WebKit Efl.
81114        But, this patch is not run html5 video on WebKit EFL yet.
81115
81116        * CMakeLists.txt: Add files related to html5video.
81117        * platform/efl/LocalizedStringsEfl.cpp: Add functions for html5 video.
81118        (WebCore::localizedMediaControlElementString):
81119        (WebCore::localizedMediaControlElementHelpText):
81120        (WebCore::localizedMediaTimeDescription):
81121        * platform/graphics/MediaPlayer.cpp:
81122        (WebCore::installedMediaEngines): Disable MediaPlayerPrivate::r
81123      egisterMediaEngine for WebKit EFL.
81124
811252010-08-10  Patrick Gansterer  <paroga@paroga.com>
81126
81127        Reviewed by Nikolas Zimmermann.
81128
81129        Add a toRenderSVGImage function
81130        https://bugs.webkit.org/show_bug.cgi?id=43789
81131
81132        Add a function for casting to RenderSVGImage and use it.
81133
81134        * rendering/RenderSVGImage.h:
81135        (WebCore::toRenderSVGImage):
81136        * rendering/RenderTreeAsText.cpp:
81137        (WebCore::write):
81138        * rendering/SVGRenderTreeAsText.cpp:
81139        (WebCore::writeSVGImage):
81140        * rendering/SVGRenderTreeAsText.h:
81141        * svg/SVGImageElement.cpp:
81142        (WebCore::SVGImageElement::attach):
81143
811442010-08-10  Adam Barth  <abarth@webkit.org>
81145
81146        Reviewed by Eric Seidel.
81147
81148        Clients of HTMLTokenizer should be able to see where characters went in the token
81149        https://bugs.webkit.org/show_bug.cgi?id=43766
81150
81151        When viewing the source of a document, we want to colorize different
81152        parts of the input depending on how they were tokenized.  In this
81153        patch, we expose the internal segmentation of a token by recording the
81154        start and end offsets for each attribute name and each attribute value.
81155
81156        * html/HTMLToken.h:
81157        (WebCore::HTMLToken::addNewAttribute):
81158        (WebCore::HTMLToken::beginAttributeName):
81159        (WebCore::HTMLToken::endAttributeName):
81160        (WebCore::HTMLToken::beginAttributeValue):
81161        (WebCore::HTMLToken::endAttributeValue):
81162        (WebCore::HTMLToken::appendToAttributeName):
81163        (WebCore::HTMLToken::appendToAttributeValue):
81164        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
81165        * html/HTMLTokenizer.cpp:
81166        (WebCore::HTMLTokenizer::nextToken):
81167
811682010-08-10  Dumitru Daniliuc  <dumi@chromium.org>
81169
81170        Reviewed by David Levin.
81171
81172        Do not post a sync task to the DB thread if it's terminating.
81173        https://bugs.webkit.org/show_bug.cgi?id=43676
81174
81175        * bindings/generic/ActiveDOMCallback.cpp: The context can
81176        sometimes be NULL. Check if it's NULL instead of asserting that
81177        it's not.
81178        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
81179        * dom/ActiveDOMObject.cpp:
81180        (WebCore::ActiveDOMObject::ActiveDOMObject):
81181
81182        * storage/Database.cpp: Do not post a sync task to the DB thread
81183        if the DB thread is terminating. Also, when a task is destroyed,
81184        ASSERT that it was completed, or that it had no synchronizer.
81185        (WebCore::Database::openAndVerifyVersion):
81186        (WebCore::Database::markAsDeletedAndClose):
81187        (WebCore::Database::tableNames):
81188        * storage/DatabaseTask.cpp:
81189        (WebCore::DatabaseTaskSynchronizer::DatabaseTaskSynchronizer):
81190        (WebCore::DatabaseTask::~DatabaseTask):
81191        (WebCore::DatabaseTask::performTask):
81192        * storage/DatabaseTask.h:
81193        (WebCore::DatabaseTaskSynchronizer::hasCheckedForTermination):
81194        (WebCore::DatabaseTaskSynchronizer::setHasCheckedForTermination):
81195        (WebCore::DatabaseTask::hasSynchronizer):
81196        (WebCore::DatabaseTask::hasCheckedForTermination):
81197        * storage/DatabaseThread.cpp:
81198        (WebCore::DatabaseThread::terminationRequested):
81199        (WebCore::DatabaseThread::scheduleTask):
81200        (WebCore::DatabaseThread::scheduleImmediateTask):
81201        * storage/DatabaseThread.h:
81202
812032010-08-10  Gavin Barraclough  <barraclough@apple.com>
81204
81205        Qt build fix.
81206
81207        * bridge/qt/qt_runtime.cpp:
81208        (JSC::Bindings::convertValueToQVariant):
81209
812102010-08-10  Jian Li  <jianli@chromium.org>
81211
81212        Fix more build break.
81213
81214        * bindings/v8/SerializedScriptValue.cpp:
81215        (WebCore::ZigZag::Reader::readBlob):
81216        (WebCore::ZigZag::Reader::readFile):
81217        * dom/ScriptExecutionContext.cpp:
81218        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
81219        (WebCore::ScriptExecutionContext::revokeBlobURL):
81220        * dom/ScriptExecutionContext.h:
81221        * html/Blob.cpp:
81222        (WebCore::Blob::slice):
81223
812242010-08-10  Gavin Barraclough  <barraclough@apple.com>
81225
81226        Rubber stamped by Sam Weinig
81227
81228        Bug 43817 - Remove UString::Rep
81229        UString::Rep has for a long time been replaced by UStringImpl (Rep
81230        remaining as a typedef).  UStringImpl has since been removed too
81231        (unified with StringImpl). Remove Rep, rename rep() to impl() and
81232        m_rep to m_impl.  Also add impl() method to Identifier, and rename
81233        its UString member from _ustring to m_string.
81234
81235        * bindings/js/JSDOMBinding.cpp:
81236        (WebCore::findAtomicString):
81237        * bindings/js/JSDOMBinding.h:
81238        (WebCore::ustringToString):
81239        (WebCore::identifierToString):
81240        (WebCore::ustringToAtomicString):
81241        (WebCore::identifierToAtomicString):
81242        * bindings/js/SerializedScriptValue.h:
81243        (WebCore::SerializedScriptValueData::SerializedScriptValueData):
81244        * bridge/IdentifierRep.cpp:
81245        (WebCore::IdentifierRep::get):
81246        * bridge/c/c_class.cpp:
81247        (JSC::Bindings::CClass::methodsNamed):
81248        (JSC::Bindings::CClass::fieldNamed):
81249        * bridge/jni/jsc/JavaClassJSC.cpp:
81250        (JavaClass::JavaClass):
81251        (JavaClass::methodsNamed):
81252        (JavaClass::fieldNamed):
81253        * bridge/jni/jsc/JavaStringJSC.h:
81254        (JSC::Bindings::JavaStringImpl::~JavaStringImpl):
81255        (JSC::Bindings::JavaStringImpl::init):
81256        (JSC::Bindings::JavaStringImpl::UTF8String):
81257        (JSC::Bindings::JavaStringImpl::uchars):
81258        (JSC::Bindings::JavaStringImpl::length):
81259        (JSC::Bindings::JavaStringImpl::uString):
81260        * bridge/jsc/BridgeJSC.h:
81261
812622010-08-10  Jian Li  <jianli@chromium.org>
81263
81264        Fix qt build break.
81265
81266        * html/BlobRegistryImpl.cpp:
81267        * html/BlobRegistryImpl.h:
81268        * html/BlobURL.cpp:
81269        * html/BlobURL.h:
81270        * platform/BlobRegistry.h:
81271
812722010-08-10  Jian Li  <jianli@chromium.org>
81273
81274        Reviewed by David Levin.
81275
81276        Add the support to register the blob data.
81277        https://bugs.webkit.org/show_bug.cgi?id=43600
81278
81279        This is the first step towards adding Blob URL support. The blob has
81280        an internal URL (used by FileReader) and public URLs (used by Blob.url).
81281        The URL and its associated data are managed by BlobRegistry interface.
81282
81283        This patch does not remove the usage of BlobItem. It will be removed
81284        when all the blob data support is hooked up and the new tests will be
81285        added then.
81286
81287        * CMakeLists.txt:
81288        * GNUmakefile.am:
81289        * WebCore.gypi:
81290        * WebCore.pro:
81291        * WebCore.vcproj/WebCore.vcproj:
81292        * WebCore.xcodeproj/project.pbxproj:
81293        * bindings/js/SerializedScriptValue.cpp:
81294        (WebCore::SerializedBlob::create):
81295        (WebCore::SerializedBlob::url):
81296        (WebCore::SerializedBlob::type):
81297        (WebCore::SerializedBlob::size):
81298        (WebCore::SerializedBlob::SerializedBlob):
81299        (WebCore::SerializedFile::create):
81300        (WebCore::SerializedFile::path):
81301        (WebCore::SerializedFile::url):
81302        (WebCore::SerializedFile::type):
81303        (WebCore::SerializedFile::SerializedFile):
81304        (WebCore::SerializedFileList::item):
81305        (WebCore::SerializedFileList::SerializedFileList):
81306        (WebCore::SerializedScriptValueData::SerializedScriptValueData):
81307        (WebCore::SharedSerializedData::asBlob):
81308        (WebCore::SharedSerializedData::asFile):
81309        (WebCore::SerializingTreeWalker::convertIfTerminal):
81310        (WebCore::DeserializingTreeWalker::convertIfTerminal):
81311        (WebCore::TeardownTreeWalker::convertIfTerminal):
81312        * bindings/js/SerializedScriptValue.h:
81313        (WebCore::SerializedScriptValueData::):
81314        (WebCore::SerializedScriptValueData::asString):
81315        (WebCore::SerializedScriptValueData::asBlob):
81316        (WebCore::SerializedScriptValueData::asFile):
81317        * bindings/v8/SerializedScriptValue.cpp:
81318        (WebCore::ZigZag::Writer::writeBlob):
81319        (WebCore::ZigZag::Writer::writeFile):
81320        (WebCore::ZigZag::Writer::writeFileList):
81321        (WebCore::ZigZag::Writer::doWriteUintHelper):
81322        (WebCore::ZigZag::Writer::doWriteUint32):
81323        (WebCore::ZigZag::Writer::doWriteUint64):
81324        (WebCore::ZigZag::Serializer::writeBlob):
81325        (WebCore::ZigZag::Serializer::writeFile):
81326        (WebCore::ZigZag::Reader::readBlob):
81327        (WebCore::ZigZag::Reader::readFile):
81328        (WebCore::ZigZag::Reader::readFileList):
81329        (WebCore::ZigZag::Reader::doReadUintHelper):
81330        (WebCore::ZigZag::Reader::doReadUint32):
81331        (WebCore::ZigZag::Reader::doReadUint64):
81332        * dom/ScriptExecutionContext.cpp:
81333        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
81334        (WebCore::ScriptExecutionContext::trackBlobURL):
81335        (WebCore::ScriptExecutionContext::revokeBlobURL):
81336        * dom/ScriptExecutionContext.h:
81337        * html/Blob.cpp:
81338        (WebCore::Blob::Blob):
81339        (WebCore::Blob::~Blob):
81340        (WebCore::Blob::createPublicURL):
81341        * html/Blob.h:
81342        (WebCore::Blob::create):
81343        (WebCore::Blob::url):
81344        * html/BlobRegistryImpl.cpp: Added.
81345        * html/BlobRegistryImpl.h: Added.
81346        * html/BlobStorageData.h: Added.
81347        * html/BlobURL.cpp: Added.
81348        * html/BlobURL.h: Added.
81349        * html/File.cpp:
81350        (WebCore::File::File):
81351        * html/File.h:
81352        (WebCore::File::create):
81353        * platform/BlobData.cpp: Added.
81354        * platform/BlobData.h: Added.
81355        * platform/BlobRegistry.h: Added.
81356
813572010-08-10  Adam Barth  <abarth@webkit.org>
81358
81359        Reviewed by Eric Seidel.
81360
81361        SegmentedString should keep track of how many characters it consumes
81362        https://bugs.webkit.org/show_bug.cgi?id=43765
81363
81364        The easiest way to keep track of how many characters we've consumed
81365        would be to increment a counter every time we advance, but that's too
81366        slow.  Instead, we keep track lazily and update our summary durning the
81367        slow case of advance (which is sufficiently rare).
81368
81369        There's some subtly to how this works w.r.t. "unconsuming" characters
81370        by pushing them back on the front of the segmented string.  This isn't
81371        really a "right answer" here because the notion of unconsuming input
81372        isn't present in the API.  This patch makes some assumptions about how
81373        clients of this class use its API.  In a future patch, we might want to
81374        rename some of the method names to make this more explicit.
81375
81376        * platform/text/SegmentedString.cpp:
81377        (WebCore::SegmentedString::operator=):
81378        (WebCore::SegmentedString::append):
81379        (WebCore::SegmentedString::prepend):
81380        (WebCore::SegmentedString::advanceSubstring):
81381        * platform/text/SegmentedString.h:
81382        (WebCore::SegmentedSubstring::numberOfCharactersConsumed):
81383        (WebCore::SegmentedString::SegmentedString):
81384        (WebCore::SegmentedString::numberOfCharactersConsumed):
81385
813862010-08-10  Gavin Barraclough  <barraclough@apple.com>
81387
81388        Rubber stamped by Sam Weinig.
81389        
81390        Bug 43816 - Remove UStringImpl
81391        The class was actually removed a long time ago, replaced by StringImpl.
81392        UStringImpl is just a typedef onto StringImpl.  Remove this.
81393
81394        * WebCore.xcodeproj/project.pbxproj:
81395        * bindings/js/JSDOMBinding.cpp:
81396        (WebCore::findAtomicString):
81397
813982010-08-09  Stephen White  <senorblanco@chromium.org>
81399
81400        Reviewed by David Levin.
81401
81402        Prefer the medium-quality (bilinear) image resampling for 2D canvas on
81403        Chromium.
81404        https://bugs.webkit.org/show_bug.cgi?id=43646
81405        
81406        This is what the accelerated path is going to do,
81407        so do it in the software path as well.
81408
81409        * html/HTMLCanvasElement.cpp:
81410        (WebCore::HTMLCanvasElement::createImageBuffer):
81411        * platform/graphics/GraphicsContext.h:
81412
814132010-08-10  Chris Fleizach  <cfleizach@apple.com>
81414
81415        Reviewed by Dave Hyatt.
81416
81417        Removing an element from an anonymous block causes crash
81418        https://bugs.webkit.org/show_bug.cgi?id=42309
81419
81420        There was a case where a continuation was added as a child, but if you asked
81421        that child who is your parent, it would return the wrong answer.
81422   
81423        The specific scenario was when a sibling of an element who was the start of a 
81424        continuation was present. Retrieving the parent object had then follow the sibling
81425        chain and then follow the originating continuation chain.
81426
81427        Test: accessibility/removed-anonymous-block-child-causes-crash.html
81428
81429        * accessibility/AccessibilityRenderObject.cpp:
81430        (WebCore::AccessibilityRenderObject::nextSibling):
81431            Fix erroneous comment
81432        (WebCore::nextContinuation):
81433        (WebCore::AccessibilityRenderObject::renderParentObject):
81434            Handle unhandled continuation case.
81435        (WebCore::AccessibilityRenderObject::addChildren):
81436            ASSERT that the parentObject() is the same when adding a new child.
81437
814382010-08-10  Abhishek Arya  <inferno@chromium.org>
81439
81440        Reviewed by David Hyatt.
81441
81442        Take checks for ruby base existence out of the ASSERTs.
81443        https://bugs.webkit.org/show_bug.cgi?id=43795
81444
81445        Test: fast/ruby/ruby-remove-no-base.html
81446
81447        * rendering/RenderRubyRun.cpp:
81448        (WebCore::RenderRubyRun::addChild):
81449        (WebCore::RenderRubyRun::removeChild):
81450
814512010-08-06  Zhenyao Mo  <zmo@google.com>
81452
81453        Reviewed by Dimitri Glazkov.
81454
81455        texture functions should gen INVALID_OPERATION if no texture is bound
81456        https://bugs.webkit.org/show_bug.cgi?id=42907
81457
81458        * html/canvas/WebGLRenderingContext.cpp:
81459        (WebCore::WebGLRenderingContext::copyTexImage2D): Check if a texture is bound to target.
81460        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
81461        (WebCore::WebGLRenderingContext::generateMipmap): Ditto.
81462        (WebCore::WebGLRenderingContext::getTexParameter): Ditto.
81463        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
81464        (WebCore::WebGLRenderingContext::texParameter): Ditto.
81465        (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
81466        (WebCore::WebGLRenderingContext::validateTextureBinding): Check if target is valid and if a texture is bound to it.
81467        * html/canvas/WebGLRenderingContext.h: Declare validateTextureBinding().
81468
814692010-08-10  Patrick Gansterer  <paroga@paroga.com>
81470
81471        Reviewed by Sam Weinig.
81472
81473        [WINCE] Implement Path::currentPoint()
81474        https://bugs.webkit.org/show_bug.cgi?id=42927
81475
81476        * platform/graphics/wince/PathWince.cpp:
81477        (WebCore::Path::currentPoint):
81478
814792010-08-10  Ariya Hidayat  <ariya@sencha.com>
81480
81481        [Qt] Warning fix, remove reference to platform/text/StringImpl.h
81482
81483        * WebCore.pro:
81484
814852010-08-10  Alice Liu  <alice.liu@apple.com>
81486
81487        Chromium build fix attempt.  not reviewed
81488        
81489        * platform/text/TextBoundaries.cpp: use correct stringimplh include
81490
814912010-08-10  Jian Li  <jianli@chromium.org>
81492
81493        Chromium build fix.
81494
81495        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
81496        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
81497
814982010-08-10  Johnny Ding  <jnd@chromium.org>
81499
81500        Reviewed by Adam Barth.
81501
81502        Change the ScriptController::processingUserGesture to static method
81503        and use dynamic(JSC binding)/entered(V8 binding) frame to check the user gesture.
81504        https://bugs.webkit.org/show_bug.cgi?id=42827.
81505
81506        Test: fast/events/popup-blocked-from-iframe-script.html
81507
81508        * WebCore.order:
81509        * bindings/js/JSDOMBinding.cpp:
81510        (WebCore::processingUserGesture):
81511        * bindings/js/JSDOMBinding.h:
81512        * bindings/js/JSDOMWindowCustom.cpp:
81513        (WebCore::JSDOMWindow::setLocation):
81514        (WebCore::createWindow):
81515        (WebCore::domWindowAllowPopUp):
81516        (WebCore::JSDOMWindow::open):
81517        (WebCore::JSDOMWindow::showModalDialog):
81518        * bindings/js/JSDocumentCustom.cpp:
81519        (WebCore::JSDocument::setLocation):
81520        * bindings/js/JSLocationCustom.cpp:
81521        (WebCore::navigateIfAllowed):
81522        (WebCore::JSLocation::reload):
81523        * bindings/js/ScriptController.cpp:
81524        (WebCore::ScriptController::processingUserGesture):
81525        * bindings/js/ScriptController.h:
81526        * bindings/scripts/CodeGeneratorJS.pm:
81527        * bindings/scripts/test/JS/JSTestObj.cpp:
81528        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
81529        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
81530        * bindings/v8/ScriptController.cpp:
81531        (WebCore::ScriptController::processingUserGesture):
81532        (WebCore::ScriptController::anyPageIsProcessingUserGesture):
81533        * bindings/v8/ScriptController.h:
81534        * bindings/v8/specialization/V8BindingState.cpp:
81535        (WebCore::::processingUserGesture):
81536        * loader/FrameLoader.cpp:
81537        (WebCore::FrameLoader::isProcessingUserGesture):
81538
815392010-08-10  Gavin Barraclough  <barraclough@apple.com>
81540
81541        Chromium build fix
81542
81543        * platform/graphics/chromium/FontPlatformDataLinux.h:
81544
815452010-08-10  Gavin Barraclough  <barraclough@apple.com>
81546
81547        Rubber stamped by Sam Weinig.
81548
81549        Bug 43786 - Move AtomicStringHash from WebCore to WTF
81550        Also remove deprecated string headers from WebCore/platform/text.
81551
81552        * ForwardingHeaders/wtf/text/AtomicStringHash.h: Added.
81553        * GNUmakefile.am:
81554        * WebCore.gypi:
81555        * WebCore.pro:
81556        * WebCore.vcproj/WebCore.vcproj:
81557        * WebCore.xcodeproj/project.pbxproj:
81558        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
81559        * bindings/cpp/WebDOMHTMLCollectionCustom.cpp:
81560        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
81561        * bindings/js/JSClipboardCustom.cpp:
81562        * bindings/js/JSDOMApplicationCacheCustom.cpp:
81563        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
81564        * bindings/js/JSDOMPluginArrayCustom.cpp:
81565        * bindings/js/JSDOMPluginCustom.cpp:
81566        * bindings/js/JSDOMStringMapCustom.cpp:
81567        * bindings/js/JSDOMWindowCustom.cpp:
81568        * bindings/js/JSDataGridColumnListCustom.cpp:
81569        * bindings/js/JSHTMLAllCollectionCustom.cpp:
81570        * bindings/js/JSHTMLCollectionCustom.cpp:
81571        * bindings/js/JSMessagePortCustom.cpp:
81572        * bindings/js/JSNodeListCustom.cpp:
81573        * bindings/scripts/CodeGeneratorCPP.pm:
81574        * bindings/scripts/CodeGeneratorJS.pm:
81575        * bindings/scripts/CodeGeneratorV8.pm:
81576        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
81577        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
81578        * bindings/scripts/test/V8/V8TestInterface.h:
81579        * bindings/scripts/test/V8/V8TestObj.h:
81580        * bindings/v8/ScriptDebugServer.h:
81581        * bindings/v8/V8Binding.cpp:
81582        * bindings/v8/V8Binding.h:
81583        * bridge/jni/v8/JavaClassV8.h:
81584        * css/CSSFontFaceSource.h:
81585        * css/CSSFontSelector.cpp:
81586        * css/CSSFontSelector.h:
81587        * css/CSSNamespace.h:
81588        * css/CSSParser.cpp:
81589        * css/CSSParser.h:
81590        * css/CSSParserValues.h:
81591        * css/CSSStyleSelector.h:
81592        * css/CSSVariablesDeclaration.h:
81593        * css/MediaFeatureNames.h:
81594        * css/MediaQueryExp.h:
81595        * css/WebKitCSSKeyframesRule.h:
81596        * dom/CustomEvent.h:
81597        * dom/Document.cpp:
81598        * dom/Event.cpp:
81599        * dom/Event.h:
81600        * dom/EventNames.h:
81601        * dom/EventTarget.h:
81602        * dom/InputElement.h:
81603        * dom/MessagePort.cpp:
81604        * dom/MessagePort.h:
81605        * dom/NameNodeList.h:
81606        * dom/NodeRareData.h:
81607        * dom/QualifiedName.h:
81608        * dom/ScriptElement.cpp:
81609        * dom/SpaceSplitString.h:
81610        * dom/TagNodeList.h:
81611        * dom/XMLDocumentParser.h:
81612        * editing/EditorCommand.cpp:
81613        * history/mac/HistoryItemMac.mm:
81614        * html/BlobBuilder.cpp:
81615        * html/DataGridColumn.h:
81616        * html/DataGridColumnList.cpp:
81617        * html/HTMLDocument.h:
81618        * html/HTMLInputElement.cpp:
81619        * html/HTMLTokenizer.cpp:
81620        * html/HTMLTokenizer.h:
81621        * html/LegacyPreloadScanner.cpp:
81622        * html/LegacyPreloadScanner.h:
81623        * inspector/InspectorCSSStore.h:
81624        * inspector/InspectorController.h:
81625        * inspector/InspectorDOMAgent.cpp:
81626        * inspector/InspectorDOMAgent.h:
81627        * inspector/InspectorDebuggerAgent.h:
81628        * inspector/InspectorValues.h:
81629        * loader/Cache.h:
81630        * loader/CrossOriginAccessControl.cpp:
81631        * loader/CrossOriginPreflightResultCache.h:
81632        * loader/DocLoader.h:
81633        * loader/ImageLoader.h:
81634        * loader/appcache/ApplicationCache.h:
81635        * loader/appcache/ApplicationCacheStorage.h:
81636        * loader/appcache/DOMApplicationCache.h:
81637        * loader/icon/IconDatabase.h:
81638        * loader/icon/IconRecord.h:
81639        * loader/loader.h:
81640        * notifications/Notification.h:
81641        * page/FrameTree.h:
81642        * page/Page.cpp:
81643        * page/PageGroup.h:
81644        * page/SecurityOrigin.h:
81645        * page/Settings.h:
81646        * page/WindowFeatures.cpp:
81647        * page/animation/AnimationBase.h:
81648        * page/animation/AnimationControllerPrivate.h:
81649        * page/animation/CompositeAnimation.h:
81650        * platform/Cookie.h:
81651        * platform/KURL.cpp:
81652        * platform/KURLGoogle.cpp:
81653        * platform/KURLHash.h:
81654        * platform/Length.cpp:
81655        * platform/LinkHash.cpp:
81656        * platform/LinkHash.h:
81657        * platform/MIMETypeRegistry.cpp:
81658        * platform/MIMETypeRegistry.h:
81659        * platform/SchemeRegistry.h:
81660        * platform/ThreadGlobalData.cpp:
81661        * platform/ThreadGlobalData.h:
81662        * platform/cf/BinaryPropertyList.cpp:
81663        * platform/chromium/SearchPopupMenuChromium.cpp:
81664        * platform/efl/ClipboardEfl.cpp:
81665        * platform/efl/CookieJarEfl.cpp:
81666        * platform/efl/PlatformKeyboardEventEfl.cpp:
81667        * platform/graphics/FontCache.cpp:
81668        * platform/graphics/FontFamily.h:
81669        * platform/graphics/MediaPlayer.h:
81670        * platform/graphics/cg/ImageSourceCGWin.cpp:
81671        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
81672        * platform/graphics/chromium/FontCacheLinux.cpp:
81673        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
81674        * platform/graphics/chromium/LayerChromium.h:
81675        * platform/graphics/filters/Filter.h:
81676        * platform/graphics/mac/FontPlatformData.h:
81677        * platform/graphics/mac/GraphicsLayerCA.h:
81678        * platform/graphics/qt/FontCacheQt.cpp:
81679        * platform/graphics/win/FontCacheWin.cpp:
81680        * platform/graphics/win/FontPlatformDataCGWin.cpp:
81681        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
81682        * platform/graphics/win/FontPlatformDataWin.cpp:
81683        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
81684        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
81685        * platform/graphics/win/WKCACFLayer.h:
81686        * platform/graphics/wince/FontPlatformData.cpp:
81687        * platform/graphics/wx/FontPlatformData.h:
81688        * platform/gtk/ClipboardGtk.cpp:
81689        * platform/gtk/DataObjectGtk.h:
81690        * platform/haiku/ClipboardHaiku.cpp:
81691        * platform/haiku/CookieJarHaiku.cpp:
81692        * platform/haiku/SearchPopupMenuHaiku.cpp:
81693        * platform/mac/SearchPopupMenuMac.mm:
81694        * platform/mac/ThreadCheck.mm:
81695        * platform/network/CredentialStorage.cpp:
81696        * platform/network/HTTPHeaderMap.h:
81697        * platform/network/cf/DNSCFNet.cpp:
81698        * platform/network/curl/CookieJarCurl.cpp:
81699        * platform/qt/ClipboardQt.cpp:
81700        * platform/text/AtomicString.h: Removed.
81701        * platform/text/AtomicStringHash.h: Removed.
81702        * platform/text/AtomicStringImpl.h: Removed.
81703        * platform/text/AtomicStringKeyedMRUCache.h:
81704        * platform/text/StringBuilder.cpp:
81705        * platform/text/StringHash.h: Removed.
81706        * platform/text/StringImpl.h: Removed.
81707        * platform/text/TextCodecLatin1.cpp:
81708        * platform/text/TextCodecUTF16.cpp:
81709        * platform/text/TextCodecUserDefined.cpp:
81710        * platform/text/cf/HyphenationCF.cpp:
81711        * platform/text/cf/StringImplCF.cpp:
81712        * platform/text/mac/HyphenationMac.mm:
81713        * platform/text/mac/StringImplMac.mm:
81714        * platform/text/transcoder/FontTranscoder.h:
81715        * platform/text/wince/TextCodecWinCE.cpp:
81716        * platform/win/BString.cpp:
81717        * platform/win/ClipboardWin.cpp:
81718        * platform/win/SearchPopupMenuWin.cpp:
81719        * platform/wince/SearchPopupMenuWince.cpp:
81720        * platform/wx/ClipboardWx.cpp:
81721        * plugins/DOMMimeTypeArray.cpp:
81722        * plugins/DOMPlugin.cpp:
81723        * plugins/DOMPluginArray.cpp:
81724        * plugins/PluginDatabase.h:
81725        * plugins/PluginPackage.h:
81726        * plugins/PluginStream.h:
81727        * rendering/RenderApplet.h:
81728        * rendering/RenderText.cpp:
81729        * rendering/style/BindingURI.h:
81730        * rendering/style/ContentData.cpp:
81731        * rendering/style/CounterContent.h:
81732        * rendering/style/CounterDirectives.h:
81733        * rendering/style/KeyframeList.h:
81734        * rendering/style/StyleRareInheritedData.h:
81735        * storage/AbstractDatabase.cpp:
81736        * storage/DatabaseAuthorizer.h:
81737        * storage/DatabaseTracker.h:
81738        * storage/IDBDatabaseBackendImpl.h:
81739        * storage/IDBFactoryBackendImpl.h:
81740        * storage/IDBObjectStoreBackendImpl.h:
81741        * storage/OriginQuotaManager.h:
81742        * storage/OriginUsageRecord.h:
81743        * storage/SQLTransactionCoordinator.h:
81744        * storage/StorageAreaSync.h:
81745        * storage/StorageMap.h:
81746        * storage/StorageNamespaceImpl.cpp:
81747        * storage/chromium/QuotaTracker.h:
81748        * svg/SVGAltGlyphElement.h:
81749        * svg/SVGDocumentExtensions.cpp:
81750        * svg/SVGDocumentExtensions.h:
81751        * svg/SVGFitToViewBox.cpp:
81752        * svg/SVGLangSpace.h:
81753        * svg/animation/SMILTimeContainer.h:
81754        * svg/graphics/filters/SVGFilterBuilder.h:
81755        * websockets/WebSocket.h:
81756        * websockets/WebSocketChannel.cpp:
81757        * websockets/WebSocketHandshake.cpp:
81758        * websockets/WebSocketHandshakeResponse.cpp:
81759        * wml/WMLPageState.h:
81760        * workers/AbstractWorker.h:
81761        * workers/DefaultSharedWorkerRepository.h:
81762        * workers/Worker.h:
81763        * workers/WorkerContext.h:
81764        * xml/XMLHttpRequest.h:
81765        * xml/XMLHttpRequestUpload.cpp:
81766        * xml/XMLHttpRequestUpload.h:
81767        * xml/XPathExpressionNode.h:
81768        * xml/XPathNamespace.h:
81769        * xml/XPathParser.cpp:
81770        * xml/XSLTProcessor.h:
81771
817722010-08-10  Pavel Feldman  <pfeldman@chromium.org>
81773
81774        Not reviewed. Adding changes that escaped from r65072.
81775
81776        Web Inspector: move database processing to native layer.
81777        https://bugs.webkit.org/show_bug.cgi?id=43788
81778
81779        * inspector/front-end/InspectorBackendStub.js:
81780        (WebInspector.InspectorBackendStub):
81781        * inspector/front-end/StoragePanel.js:
81782        (WebInspector.StoragePanel.prototype._genericViewSetup):
81783
817842010-08-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
81785
81786        Reviewed by Xan Lopez.
81787
81788        [GTK] Inputs of type 'search' have weird looking checkboxes instead of search/clear icons
81789        https://bugs.webkit.org/show_bug.cgi?id=43760
81790
81791        Draw appropriate GTK+ stock images for search/clear icons in search entries.
81792
81793        * platform/gtk/RenderThemeGtk.cpp:
81794        (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
81795        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
81796        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
81797
817982010-08-10  Pavel Feldman  <pfeldman@chromium.org>
81799
81800        Not reviewed. Qt build fix, follow up for r65072.
81801
81802        * inspector/InspectorController.cpp:
81803        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
81804
818052010-08-10  Pavel Feldman  <pfeldman@chromium.org>
81806
81807        Reviewed by Yury Semikhatsky.
81808
81809        Web Inspector: move database processing to native layer.
81810
81811        https://bugs.webkit.org/show_bug.cgi?id=43788
81812
81813        * English.lproj/localizedStrings.js:
81814        * WebCore.gypi:
81815        * bindings/js/JSInjectedScriptHostCustom.cpp:
81816        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
81817        * inspector/CodeGeneratorInspector.pm:
81818        * inspector/InjectedScript.cpp:
81819        (WebCore::InjectedScript::dispatch):
81820        * inspector/InjectedScript.h:
81821        * inspector/InjectedScriptHost.cpp:
81822        * inspector/InjectedScriptHost.h:
81823        * inspector/InjectedScriptHost.idl:
81824        * inspector/Inspector.idl:
81825        * inspector/InspectorBackend.cpp:
81826        (WebCore::InspectorBackend::dispatchOnInjectedScript):
81827        (WebCore::InspectorBackend::executeSQL):
81828        * inspector/InspectorBackend.h:
81829        * inspector/InspectorController.cpp:
81830        (WebCore::InspectorController::connectFrontend):
81831        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
81832        * inspector/InspectorController.h:
81833        * inspector/InspectorDebuggerAgent.h:
81834        * inspector/InspectorStorageAgent.cpp: Added.
81835        (WebCore::):
81836        (WebCore::InspectorStorageAgent::InspectorStorageAgent):
81837        (WebCore::InspectorStorageAgent::~InspectorStorageAgent):
81838        (WebCore::InspectorStorageAgent::executeSQL):
81839        (WebCore::InspectorStorageAgent::clearFrontend):
81840        * inspector/InspectorStorageAgent.h: Added.
81841        (WebCore::InspectorStorageAgent::create):
81842        (WebCore::InspectorStorageAgent::frontend):
81843        * inspector/front-end/Database.js:
81844        (WebInspector.Database.prototype.executeSql):
81845        (WebInspector.sqlTransactionSucceeded):
81846        (WebInspector.sqlTransactionFailed):
81847        * inspector/front-end/DatabaseQueryView.js:
81848        (WebInspector.DatabaseQueryView.prototype._queryFinished):
81849        (WebInspector.DatabaseQueryView.prototype._queryError):
81850        * inspector/front-end/DatabaseTableView.js:
81851        (WebInspector.DatabaseTableView.prototype._queryFinished):
81852        * inspector/front-end/InjectedScript.js:
81853        * inspector/front-end/InjectedScriptAccess.js:
81854        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
81855        (InjectedScriptAccess._installHandler):
81856        * inspector/front-end/StoragePanel.js:
81857        (WebInspector.StoragePanel.prototype.dataGridForResult):
81858
818592010-08-10  Steve Block  <steveblock@google.com>
81860
81861        Reviewed by Jeremy Orlow.
81862
81863        [V8] DeviceMotionEvent can not be used from JavaScript
81864        https://bugs.webkit.org/show_bug.cgi?id=43785
81865
81866        This is tested by the existing tests fast/dom/DeviceMotion/create-event.html
81867        and fast/dom/DeviceMotion/optional-event-properties.html.
81868
81869        * bindings/v8/custom/V8EventCustom.cpp:
81870        (WebCore::toV8):
81871
818722010-08-10  Balazs Kelemen  <kb@inf.u-szeged.hu>
81873
81874        Reviewed by Antonio Gomes.
81875
81876        [Qt] Build WebKit2 into a static lib
81877
81878        https://bugs.webkit.org/show_bug.cgi?id=43621
81879
81880        Just build changes so no new tests.
81881
81882        * WebCore.pri: Moved feature detection logic into features.pri since we need this in WebKit2.pro as well.
81883        * WebCore.pro: Moved the specification of the WebKit2 build to WebKit2.pro. Link against the static lib.
81884        * features.pri: Added.
81885
818862010-08-10  Yury Semikhatsky  <yurys@chromium.org>
81887
81888        Reviewed by Pavel Feldman.
81889
81890        Web Inspector, Chromium: reloading of inspected page hits assert in InspectorController::enableDebuggerFromFrontend()
81891        https://bugs.webkit.org/show_bug.cgi?id=43780
81892
81893        * inspector/CodeGeneratorInspector.pm:
81894        * inspector/InspectorController.cpp:
81895        (WebCore::InspectorController::enableDebuggerFromFrontend):
81896        * inspector/InspectorController.h:
81897        (WebCore::InspectorController::hasFrontend):
81898        * inspector/InspectorDebuggerAgent.cpp:
81899        (WebCore::InspectorDebuggerAgent::create):
81900        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
81901        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
81902        (WebCore::InspectorDebuggerAgent::didParseSource):
81903        (WebCore::InspectorDebuggerAgent::failedToParseSource):
81904        (WebCore::InspectorDebuggerAgent::didPause):
81905        (WebCore::InspectorDebuggerAgent::didContinue):
81906        * inspector/InspectorDebuggerAgent.h:
81907
819082010-08-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
81909
81910        Reviewed by Simon Hausmann.
81911
81912        Make sure NPAPI plugins get an initial setNPWindow on Mac
81913
81914        https://bugs.webkit.org/show_bug.cgi?id=43782
81915
81916        * plugins/mac/PluginViewMac.mm:
81917
819182010-08-10  Dirk Schulze  <krit@webkit.org>
81919
81920        Reviewed by Nikolas Zimmermann.
81921
81922        Use SVGPathParser to create SVG paths and to perform path animations
81923        https://bugs.webkit.org/show_bug.cgi?id=43696
81924
81925        Removed toString() functions in all SVGPathSeg* objects as well as toPath() in SVGPathSegList.
81926        These hacks were used to create a SVG path data string or a platform path from a SVGPathSegList.
81927        Use the new SVGPathParser instead.
81928
81929        Doesn't affect any tests.
81930
81931        * svg/SVGAnimateElement.cpp:
81932        (WebCore::SVGAnimateElement::applyResultsToTarget):
81933        * svg/SVGPathElement.cpp:
81934        (WebCore::SVGPathElement::toPathData):
81935        * svg/SVGPathParserFactory.cpp:
81936        (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
81937        (WebCore::SVGPathParserFactory::buildStringFromByteStream):
81938        (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
81939        * svg/SVGPathParserFactory.h:
81940        * svg/SVGPathSeg.cpp:
81941        * svg/SVGPathSeg.h:
81942        * svg/SVGPathSegArc.cpp:
81943        * svg/SVGPathSegArc.h:
81944        * svg/SVGPathSegClosePath.h:
81945        (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter):
81946        * svg/SVGPathSegCurvetoCubic.h:
81947        * svg/SVGPathSegCurvetoCubicSmooth.h:
81948        * svg/SVGPathSegCurvetoQuadratic.h:
81949        * svg/SVGPathSegLinetoHorizontal.h:
81950        * svg/SVGPathSegLinetoVertical.h:
81951        * svg/SVGPathSegList.cpp:
81952        (WebCore::SVGPathSegList::getPathSegAtLength):
81953        * svg/SVGPathSegList.h:
81954
819552010-08-10  Sheriff Bot  <webkit.review.bot@gmail.com>
81956
81957        Unreviewed, rolling out r65056.
81958        http://trac.webkit.org/changeset/65056
81959        https://bugs.webkit.org/show_bug.cgi?id=43773
81960
81961        "Clearly I missed something.  I'm too tired to try and fix
81962        now.  Will re-land in the morning." (Requested by eseidel on
81963        #webkit).
81964
81965        * html/HTMLConstructionSite.cpp:
81966        (WebCore::HTMLConstructionSite::attach):
81967        * html/HTMLElement.cpp:
81968        (WebCore::HTMLElement::insertAdjacentHTML):
81969        * html/HTMLTreeBuilder.cpp:
81970        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
81971
819722010-08-10  Yoshiki Hayashi  <yhayashi@google.com>
81973
81974        Reviewed by Kent Tamura.
81975
81976        Iterate over :first-letter so that it will be included in innerText.
81977        https://bugs.webkit.org/show_bug.cgi?id=39863
81978
81979        Test: fast/dom/inner-text-first-letter.html
81980
81981        * editing/TextIterator.cpp:
81982        (WebCore::TextIterator::TextIterator):
81983        (WebCore::TextIterator::advance):
81984        (WebCore::TextIterator::handleTextNode):
81985        (WebCore::TextIterator::handleTextBox):
81986        (WebCore::TextIterator::emitText):
81987        * editing/TextIterator.h:
81988
819892010-08-10  Kent Tamura  <tkent@chromium.org>
81990
81991        Reviewed by Darin Adler.
81992
81993        Fix crashes by SelectionController::modify().
81994        https://bugs.webkit.org/show_bug.cgi?id=43032
81995
81996        Test: editing/selection/selection-modify-crash.html
81997
81998        * editing/visible_units.cpp:
81999        (WebCore::endOfDocument): Add NULL-check for document()->documentElement().
82000
820012010-08-10  Dirk Schulze  <krit@webkit.org>
82002
82003        Reviewed by Nikolas Zimmermann.
82004
82005        Add missing SVGPathSegList source for SVGPathParser
82006        https://bugs.webkit.org/show_bug.cgi?id=43691
82007
82008        Added SVGPathSegListSource to parse normalized or unaltered SVGPathSegLists and transform
82009        them to either a SVG path string, or a SVGPathByteStream. This will be needed to synchronize
82010        all SVGPathSegLists and the SVG path string of the 'd' attribute.
82011        Refactored SVGPathSource code, to read concrete path segments instead of type/flag/coordinates
82012        from the data sources. This is a further abstraction and seperates the reading of content from
82013        the parsing and interpreting.
82014
82015        Doesn't affect any tests.
82016
82017        * Android.mk:
82018        * CMakeLists.txt:
82019        * GNUmakefile.am:
82020        * WebCore.gypi:
82021        * WebCore.pro:
82022        * WebCore.vcproj/WebCore.vcproj:
82023        * WebCore.xcodeproj/project.pbxproj:
82024        * svg/SVGAllInOne.cpp:
82025        * svg/SVGPathByteStreamSource.cpp:
82026        (WebCore::SVGPathByteStreamSource::parseSVGSegmentType):
82027        (WebCore::SVGPathByteStreamSource::nextCommand):
82028        (WebCore::SVGPathByteStreamSource::parseMoveToSegment):
82029        (WebCore::SVGPathByteStreamSource::parseLineToSegment):
82030        (WebCore::SVGPathByteStreamSource::parseLineToHorizontalSegment):
82031        (WebCore::SVGPathByteStreamSource::parseLineToVerticalSegment):
82032        (WebCore::SVGPathByteStreamSource::parseCurveToCubicSegment):
82033        (WebCore::SVGPathByteStreamSource::parseCurveToCubicSmoothSegment):
82034        (WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSegment):
82035        (WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSmoothSegment):
82036        (WebCore::SVGPathByteStreamSource::parseArcToSegment):
82037        * svg/SVGPathByteStreamSource.h:
82038        (WebCore::SVGPathByteStreamSource::moveToNextToken):
82039        * svg/SVGPathParser.cpp:
82040        (WebCore::SVGPathParser::parseMoveToSegment):
82041        (WebCore::SVGPathParser::parseLineToSegment):
82042        (WebCore::SVGPathParser::parseLineToHorizontalSegment):
82043        (WebCore::SVGPathParser::parseLineToVerticalSegment):
82044        (WebCore::SVGPathParser::parseCurveToCubicSegment):
82045        (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
82046        (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
82047        (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
82048        (WebCore::SVGPathParser::parseArcToSegment):
82049        * svg/SVGPathSegListSource.cpp: Added.
82050        (WebCore::SVGPathSegListSource::SVGPathSegListSource):
82051        (WebCore::SVGPathSegListSource::~SVGPathSegListSource):
82052        (WebCore::SVGPathSegListSource::hasMoreData):
82053        (WebCore::SVGPathSegListSource::parseSVGSegmentType):
82054        (WebCore::SVGPathSegListSource::nextCommand):
82055        (WebCore::SVGPathSegListSource::parseMoveToSegment):
82056        (WebCore::SVGPathSegListSource::parseLineToSegment):
82057        (WebCore::SVGPathSegListSource::parseLineToHorizontalSegment):
82058        (WebCore::SVGPathSegListSource::parseLineToVerticalSegment):
82059        (WebCore::SVGPathSegListSource::parseCurveToCubicSegment):
82060        (WebCore::SVGPathSegListSource::parseCurveToCubicSmoothSegment):
82061        (WebCore::SVGPathSegListSource::parseCurveToQuadraticSegment):
82062        (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
82063        (WebCore::SVGPathSegListSource::parseArcToSegment):
82064        * svg/SVGPathSegListSource.h: Added.
82065        (WebCore::SVGPathSegListSource::create):
82066        (WebCore::SVGPathSegListSource::moveToNextToken):
82067        * svg/SVGPathSource.h:
82068        * svg/SVGPathStringSource.cpp:
82069        (WebCore::SVGPathStringSource::parseMoveToSegment):
82070        (WebCore::SVGPathStringSource::parseLineToSegment):
82071        (WebCore::SVGPathStringSource::parseLineToHorizontalSegment):
82072        (WebCore::SVGPathStringSource::parseLineToVerticalSegment):
82073        (WebCore::SVGPathStringSource::parseCurveToCubicSegment):
82074        (WebCore::SVGPathStringSource::parseCurveToCubicSmoothSegment):
82075        (WebCore::SVGPathStringSource::parseCurveToQuadraticSegment):
82076        (WebCore::SVGPathStringSource::parseCurveToQuadraticSmoothSegment):
82077        (WebCore::SVGPathStringSource::parseArcToSegment):
82078        * svg/SVGPathStringSource.h:
82079
820802010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
82081
82082        Reviewed by Yury Semikhatsky.
82083
82084        Web Inspector: small refactoring for CodeGeneratorInspector.
82085        A number of push calls were replaced by embedded text.
82086        Just for improve code readability.
82087        https://bugs.webkit.org/show_bug.cgi?id=43770
82088
82089        * inspector/CodeGeneratorInspector.pm:
82090
820912010-08-09  Eric Seidel  <eric@webkit.org>
82092
82093        Reviewed by Adam Barth.
82094
82095        Fix three ASSERTs hit with the HTML5 TreeBuilder in fragment mode
82096        https://bugs.webkit.org/show_bug.cgi?id=43762
82097
82098        In fixing the insertAdjacentHTML I had to make small changes to
82099        the error logic, which ended up bringing us closer to HTML5.
82100
82101        Test: fast/dom/HTMLElement/insertAdjacentHTML-errors.html
82102
82103        * html/HTMLConstructionSite.cpp:
82104        (WebCore::HTMLConstructionSite::attach):
82105         - This ASSERT was just wrong, the child should not be attached
82106           in the case the parent is not attached.
82107        * html/HTMLElement.cpp:
82108        (WebCore::contextElementForInsertion):
82109         - This is part of HTML5, needed to know what to call the
82110           HTML or XML parsers with.  The previous code always passed
82111           "this" which is wrong in the case of beforeBegin or afterEnd insertion.
82112        (WebCore::HTMLElement::insertAdjacentHTML):
82113         - Use the right contextElement now that we know how to compute it.
82114        * html/HTMLTreeBuilder.cpp:
82115        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
82116         - This ASSERT is direct from the spec, but it's wrong, so I've filed a spec bug.
82117
821182010-08-09  Yury Semikhatsky  <yurys@chromium.org>
82119
82120        Reviewed by Pavel Feldman.
82121
82122        Web Inspector: remove InspectorFrontend class and use RemoteInspectorFrontend instead.
82123        https://bugs.webkit.org/show_bug.cgi?id=43726
82124
82125        * CMakeLists.txt:
82126        * GNUmakefile.am:
82127        * WebCore.gypi:
82128        * WebCore.pro:
82129        * WebCore.vcproj/WebCore.vcproj:
82130        * WebCore.xcodeproj/project.pbxproj:
82131        * inspector/InspectorController.cpp:
82132        (WebCore::InspectorController::connectFrontend):
82133        (WebCore::InspectorController::close):
82134        (WebCore::InspectorController::disconnectFrontend):
82135        * inspector/InspectorController.h:
82136        * inspector/InspectorFrontend.cpp: Removed.
82137        * inspector/InspectorFrontend.h: Removed.
82138
821392010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
82140
82141        Reviewed by Pavel Feldman.
82142
82143        Web Inspector: Remove obsolete JS wrappers for did* methods.
82144        https://bugs.webkit.org/show_bug.cgi?id=43738
82145
82146        * inspector/CodeGeneratorInspector.pm:
82147        * inspector/Inspector.idl:
82148        * inspector/front-end/BreakpointManager.js:
82149        * inspector/front-end/Callback.js:
82150        * inspector/front-end/ConsoleView.js:
82151        * inspector/front-end/DOMAgent.js:
82152        * inspector/front-end/DOMStorage.js:
82153        * inspector/front-end/Database.js:
82154        * inspector/front-end/InjectedScriptAccess.js:
82155        * inspector/front-end/ProfilesPanel.js:
82156        * inspector/front-end/ResourcesPanel.js:
82157        * inspector/front-end/ScriptView.js:
82158        * inspector/front-end/ScriptsPanel.js:
82159        * inspector/front-end/inspector.js:
82160        (WebInspector.reportProtocolError):
82161
821622010-08-09  Gavin Barraclough  <barraclough@apple.com>
82163
82164        Qt build fix attempt VIII.
82165
82166        * dom/QualifiedName.cpp:
82167        (WebCore::QualifiedName::toString):
82168        * dom/XMLDocumentParserQt.cpp:
82169        (WebCore::handleElementNamespaces):
82170
821712010-08-09  Gavin Barraclough  <barraclough@apple.com>
82172
82173        Qt build fix attempt VII.
82174
82175        * dom/QualifiedName.cpp:
82176        (WebCore::QualifiedName::toString):
82177        * dom/XMLDocumentParserQt.cpp:
82178        (WebCore::handleElementNamespaces):
82179
821802010-08-09  Gavin Barraclough  <barraclough@apple.com>
82181
82182        Qt build fix attempt VI.
82183
82184        * dom/QualifiedName.cpp:
82185        (WebCore::QualifiedName::toString):
82186        * dom/XMLDocumentParserQt.cpp:
82187        (WebCore::handleElementNamespaces):
82188
821892010-08-09  Gavin Barraclough  <barraclough@apple.com>
82190
82191        Qt build fix attempt V.
82192
82193        * dom/QualifiedName.cpp:
82194        (WebCore::QualifiedName::toString):
82195        * dom/XMLDocumentParserQt.cpp:
82196        (WebCore::handleElementNamespaces):
82197
821982010-08-09  Gavin Barraclough  <barraclough@apple.com>
82199
82200        Qt build fix attempt IV.
82201
82202        * css/CSSSelector.cpp:
82203        (WebCore::CSSSelector::selectorText):
82204        * dom/QualifiedName.cpp:
82205        (WebCore::QualifiedName::toString):
82206        * dom/XMLDocumentParserQt.cpp:
82207        (WebCore::handleElementNamespaces):
82208
822092010-08-09  Gavin Barraclough  <barraclough@apple.com>
82210
82211        Speculative chromium build fix.
82212
82213        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
82214        (WebCore::charactersAreAllASCII):
82215
822162010-08-09  Gavin Barraclough  <barraclough@apple.com>
82217
82218        Qt build fix III.
82219
82220        * css/CSSSelector.cpp:
82221
822222010-08-09  Adam Barth  <abarth@webkit.org>
82223
82224        Reviewed by Eric Seidel.
82225
82226        Remove error-prone external SegementedSubstring contructor
82227        https://bugs.webkit.org/show_bug.cgi?id=43752
82228
82229        There's a lot of code that assumes that SegmentedString takes ownership
82230        of its substrings.  For example, when the HTML parser pauses and
82231        resumes asynchronously, it could explode if SegmentedString didn't own
82232        its substrings.
82233
82234        Prior to this patch, there was a constructor that let
82235        SegmentedSubstring use an external string buffer.  It turns out it was
82236        only used in a handful of places, but I'd rather pay the memcpy of
82237        these small strings than risk having them used after free.
82238
82239        * bindings/js/JSHTMLDocumentCustom.cpp:
82240        (WebCore::documentWrite):
82241        * html/LegacyHTMLDocumentParser.cpp:
82242        (WebCore::LegacyHTMLDocumentParser::parseNonHTMLText):
82243        (WebCore::LegacyHTMLDocumentParser::scriptHandler):
82244        (WebCore::LegacyHTMLDocumentParser::parseComment):
82245        * platform/text/SegmentedString.h:
82246        (WebCore::SegmentedString::SegmentedString):
82247
822482010-08-09  Gavin Barraclough  <barraclough@apple.com>
82249
82250        Speculative Qt build fix.
82251
82252        * css/CSSSelector.cpp:
82253
822542010-08-09  Gavin Barraclough  <barraclough@apple.com>
82255
82256        Speculative gtk build fix.
82257
82258        * plugins/gtk/PluginViewGtk.cpp:
82259        (WebCore::PluginView::handlePostReadFile):
82260
822612010-08-06  Gavin Barraclough  <barraclough@apple.com>
82262
82263        Rubber stamped by Sam Weinig
82264
82265        Bug 43594 - Add string forwards to Forward.h
82266        This allows us to remove forward declarations for these classes from
82267        WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
82268
82269        * WebCore.xcodeproj/project.pbxproj:
82270        * accessibility/AXObjectCache.h:
82271        * accessibility/AccessibilityARIAGrid.h:
82272        * accessibility/AccessibilityListBoxOption.h:
82273        * accessibility/AccessibilityObject.h:
82274        * accessibility/AccessibilityRenderObject.h:
82275        * accessibility/AccessibilityTable.h:
82276        * bindings/cpp/WebDOMCString.h:
82277        * bindings/cpp/WebDOMString.h:
82278        * bindings/gobject/ConvertToUTF8String.h:
82279        * bindings/js/DOMWrapperWorld.h:
82280        * bindings/js/JSDOMBinding.h:
82281        * bindings/js/JSDOMWindowBase.h:
82282        * bindings/js/JSMessagePortCustom.h:
82283        * bindings/js/JavaScriptCallFrame.h:
82284        * bindings/js/ScriptController.h:
82285        * bindings/js/ScriptProfile.h:
82286        * bindings/js/ScriptSourceProvider.h:
82287        * bindings/js/ScriptString.h:
82288        * bindings/js/WorkerScriptController.h:
82289        * bindings/objc/DOMImplementationFront.h:
82290        * bindings/v8/ScheduledAction.h:
82291        * bindings/v8/ScriptController.h:
82292        * bindings/v8/V8DOMWindowShell.h:
82293        * bindings/v8/V8Proxy.h:
82294        * bindings/v8/V8Utilities.h:
82295        * bindings/v8/custom/V8CustomXPathNSResolver.h:
82296        * bridge/c/c_utility.h:
82297        * css/CSSFontSelector.h:
82298        * css/CSSHelper.h:
82299        * css/CSSOMUtils.h:
82300        * css/CSSPrimitiveValue.h:
82301        * css/MediaList.h:
82302        * css/StyleBase.h:
82303        * css/StyleSheetList.h:
82304        * css/WebKitCSSKeyframesRule.h:
82305        * dom/CheckedRadioButtons.h:
82306        * dom/DOMImplementation.h:
82307        * dom/DocumentMarker.h:
82308        * dom/DynamicNodeList.h:
82309        * dom/EventTarget.h:
82310        * dom/MessagePort.h:
82311        * dom/MessagePortChannel.h:
82312        * dom/NameNodeList.h:
82313        * dom/Node.h:
82314        * dom/NodeList.h:
82315        * dom/OptionGroupElement.h:
82316        * dom/ScriptExecutionContext.h:
82317        * dom/SelectElement.h:
82318        * dom/ViewportArguments.h:
82319        * dom/make_names.pl:
82320        * editing/HTMLInterchange.h:
82321        * editing/htmlediting.h:
82322        * editing/markup.h:
82323        * html/CollectionCache.h:
82324        * html/DOMFormData.h:
82325        * html/DataGridColumnList.h:
82326        * html/DateComponents.h:
82327        * html/FileStream.h:
82328        * html/FileStreamProxy.h:
82329        * html/FormDataList.h:
82330        (WebCore::FormDataList::appendData):
82331        * html/HTMLCollection.h:
82332        * html/HTMLElementStack.h:
82333        * html/HTMLFormattingElementList.h:
82334        * html/HTMLParserQuirks.h:
82335        * html/HTMLQuoteElement.h:
82336        * html/HTMLScriptRunnerHost.h:
82337        * html/StepRange.h:
82338        * html/canvas/CanvasGradient.h:
82339        * html/canvas/CanvasNumberArray.h:
82340        * html/canvas/CanvasPattern.h:
82341        * inspector/InjectedScript.h:
82342        * inspector/InspectorCSSStore.h:
82343        * inspector/InspectorClient.h:
82344        * inspector/InspectorFrontendClient.h:
82345        * inspector/InspectorValues.h:
82346        * inspector/ScriptDebugListener.h:
82347        * loader/CachedResourceClient.h:
82348        * loader/CrossOriginAccessControl.h:
82349        * loader/DocumentThreadableLoader.h:
82350        * loader/FrameLoaderClient.h:
82351        * loader/RedirectScheduler.h:
82352        * loader/SubframeLoader.h:
82353        * loader/appcache/DOMApplicationCache.h:
82354        * loader/archive/ArchiveFactory.h:
82355        * loader/icon/IconDatabaseClient.h:
82356        * notifications/NotificationPresenter.h:
82357        * page/Chrome.h:
82358        * page/ChromeClient.h:
82359        * page/Console.h:
82360        * page/ContextMenuClient.h:
82361        * page/DOMSelection.h:
82362        * page/EditorClient.h:
82363        * page/EventHandler.h:
82364        * page/FrameView.h:
82365        * page/GeolocationPositionCache.h:
82366        * page/History.h:
82367        * page/Location.h:
82368        * page/Navigator.h:
82369        * page/NavigatorBase.h:
82370        * page/PluginHalterClient.h:
82371        * page/PrintContext.h:
82372        * page/SpeechInput.h:
82373        * page/SpeechInputListener.h:
82374        * page/animation/AnimationController.h:
82375        * platform/CookieJar.h:
82376        * platform/CrossThreadCopier.h:
82377        * platform/DragImage.h:
82378        * platform/FileSystem.h:
82379        * platform/Language.h:
82380        * platform/Length.h:
82381        * platform/LinkHash.h:
82382        * platform/LocalizationStrategy.h:
82383        * platform/LocalizedStrings.h:
82384        * platform/Logging.h:
82385        * platform/Pasteboard.h:
82386        * platform/PopupMenuClient.h:
82387        * platform/SearchPopupMenu.h:
82388        * platform/Widget.h:
82389        * platform/cf/BinaryPropertyList.h:
82390        * platform/chromium/ChromiumBridge.h:
82391        * platform/chromium/ClipboardUtilitiesChromium.h:
82392        * platform/cocoa/KeyEventCocoa.h:
82393        * platform/graphics/Color.h:
82394        * platform/graphics/FontCache.h:
82395        * platform/graphics/FontData.h:
82396        * platform/graphics/FontSelector.h:
82397        * platform/graphics/GraphicsTypes.h:
82398        * platform/graphics/Icon.h:
82399        * platform/graphics/ImageBuffer.h:
82400        * platform/graphics/ImageSource.h:
82401        * platform/graphics/MediaPlayer.h:
82402        * platform/graphics/MediaPlayerPrivate.h:
82403        * platform/graphics/Path.h:
82404        * platform/graphics/StringTruncator.h:
82405        * platform/graphics/cairo/FontCustomPlatformData.h:
82406        * platform/graphics/cairo/FontPlatformData.h:
82407        * platform/graphics/cg/FontPlatformData.h:
82408        * platform/graphics/cg/ImageSourceCG.h:
82409        * platform/graphics/chromium/FontCustomPlatformData.h:
82410        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
82411        * platform/graphics/chromium/FontPlatformDataLinux.h:
82412        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
82413        * platform/graphics/haiku/FontCustomPlatformData.h:
82414        * platform/graphics/mac/FontCustomPlatformData.h:
82415        * platform/graphics/mac/FontPlatformData.h:
82416        * platform/graphics/qt/FontCustomPlatformData.h:
82417        * platform/graphics/qt/FontPlatformData.h:
82418        * platform/graphics/win/FontCustomPlatformData.h:
82419        * platform/graphics/win/FontCustomPlatformDataCairo.h:
82420        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
82421        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
82422        * platform/graphics/wince/FontPlatformData.h:
82423        * platform/graphics/wince/MediaPlayerPrivateWince.h:
82424        * platform/graphics/wince/MediaPlayerProxy.h:
82425        * platform/graphics/wx/FontCustomPlatformData.h:
82426        * platform/graphics/wx/FontPlatformData.h:
82427        * platform/mac/PasteboardHelper.h:
82428        * platform/network/DNS.h:
82429        * platform/network/FormData.h:
82430        * platform/network/FormDataBuilder.h:
82431        * platform/network/HTTPParsers.h:
82432        * platform/text/Hyphenation.h:
82433        * platform/text/LineEnding.h:
82434        * platform/text/TextCodec.h:
82435        * platform/text/TextEncoding.h:
82436        * platform/text/TextStream.h:
82437        * platform/win/BString.h:
82438        * platform/win/ClipboardUtilitiesWin.h:
82439        * platform/win/WCDataObject.h:
82440        * platform/win/WebCoreTextRenderer.h:
82441        * plugins/DOMMimeType.h:
82442        * plugins/DOMMimeTypeArray.h:
82443        * plugins/DOMPlugin.h:
82444        * plugins/DOMPluginArray.h:
82445        * rendering/CounterNode.h:
82446        * rendering/HitTestResult.h:
82447        * rendering/RenderObjectChildList.h:
82448        * rendering/RenderText.h:
82449        * rendering/RenderTreeAsText.h:
82450        * rendering/TextControlInnerElements.h:
82451        * rendering/style/ContentData.h:
82452        * rendering/style/RenderStyle.h:
82453        * storage/DatabaseAuthorizer.h:
82454        * storage/DatabaseTrackerClient.h:
82455        * storage/SQLTransaction.h:
82456        * storage/SQLTransactionSync.h:
82457        * storage/Storage.h:
82458        * storage/chromium/DatabaseObserver.h:
82459        * svg/SVGAnimatedTemplate.h:
82460        * svg/SVGDocumentExtensions.h:
82461        * svg/SVGGlyphElement.h:
82462        * svg/SVGHKernElement.h:
82463        * svg/SVGNumberList.h:
82464        * svg/SVGPointList.h:
82465        * svg/SVGPreserveAspectRatio.h:
82466        * svg/SVGStylable.h:
82467        * svg/SVGTests.h:
82468        * svg/SVGTransformList.h:
82469        * svg/SVGTransformable.h:
82470        * svg/SVGVKernElement.h:
82471        * websockets/ThreadableWebSocketChannel.h:
82472        * websockets/ThreadableWebSocketChannelClientWrapper.h:
82473        * websockets/WebSocket.h:
82474        * websockets/WebSocketChannel.h:
82475        * websockets/WebSocketHandshakeResponse.h:
82476        * wml/WMLErrorHandling.h:
82477        * wml/WMLPageState.h:
82478        * wml/WMLVariables.h:
82479        * workers/DefaultSharedWorkerRepository.h:
82480        * workers/SharedWorkerRepository.h:
82481        * workers/Worker.h:
82482        * workers/WorkerContextProxy.h:
82483        * workers/WorkerLoaderProxy.h:
82484        * workers/WorkerLocation.h:
82485        * workers/WorkerMessagingProxy.h:
82486        * workers/WorkerReportingProxy.h:
82487        * workers/WorkerThread.h:
82488        * xml/DOMParser.h:
82489        * xml/XMLHttpRequestUpload.h:
82490        * xml/XPathEvaluator.h:
82491        * xml/XPathExpression.h:
82492        * xml/XPathNSResolver.h:
82493        * xml/XPathResult.h:
82494        * xml/XPathUtil.h:
82495
824962010-08-09  Nat Duca  <nduca@chromium.org>
82497
82498        Reviewed by Dimitri Glazkov.
82499
82500        [chromium] Blue line visible at the right hand side of the window with accelerated compositor
82501        https://bugs.webkit.org/show_bug.cgi?id=43748
82502
82503        Correct the ortho projection matrix for the root layer, which was
82504        too large by 0.5px in both width and height. For even view sizes,
82505        this would cause the viewport to appear 1 pixel too small.
82506
82507        Fixing this requires removal of several 0.5 correction factors
82508        that were previously added to compensate for the too-large viewport.
82509
82510        Finally, compute the translation for the root layer quad using
82511        floating point rather than integer arithmetic. This avoids us losing
82512        a key half-pixel of translation when the width of the window is odd.
82513
82514        To test, size window to even/odd dimensions. No blue line should be visible.
82515
82516        * platform/graphics/chromium/LayerRendererChromium.cpp:
82517        (WebCore::LayerRendererChromium::drawLayers):
82518
825192010-08-09  Ryosuke Niwa  <rniwa@webkit.org>
82520
82521        Reviewed by Justin Garcia.
82522
82523        fontColorChangesComputedStyle, fontSizeChangesComputedStyle, and fontFaceChangesComputedStyle should be removed
82524        https://bugs.webkit.org/show_bug.cgi?id=43465
82525
82526        Removed fontColorChangesComputedStyle, fontSizeChangesComputedStyle, and fontFaceChangesComputedStyle
82527        because StyleChange's applyFontColor, applyFontFace, and applyFontSize all return false
82528        if there was no difference between the new font color, font size, font face and that of the computed style.
82529
82530        Also added a work-around for the bug 28282 in getPropertiesNotInComputedStyle with a test so that
82531        the above change will not add a redundant font or span element.
82532
82533        Test: editing/style/fore-color-by-name.html
82534
82535        * editing/ApplyStyleCommand.cpp:
82536        (WebCore::getRGBAFontColor): Added.
82537        (WebCore::StyleChange::extractTextStyles): Calls getRGBAFontColor.
82538        (WebCore::getPropertiesNotInComputedStyle): Removes color property manually by checking the RGBA values.
82539        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): See above.
82540
825412010-08-09  Kenneth Russell  <kbr@google.com>
82542
82543        Reviewed by David Levin.
82544
82545        Fix compilation of VideoLayerChromium on Mac OS X with compositor
82546        https://bugs.webkit.org/show_bug.cgi?id=43757
82547
82548        No new tests; build fix only (associated functionality not implemented yet).
82549
82550        * platform/graphics/chromium/VideoLayerChromium.cpp:
82551        (WebCore::VideoLayerChromium::VideoLayerChromium):
82552        (WebCore::VideoLayerChromium::updateTextureContents):
82553        (WebCore::VideoLayerChromium::createTextureRect):
82554        (WebCore::VideoLayerChromium::updateTextureRect):
82555        * platform/graphics/chromium/VideoLayerChromium.h:
82556
825572010-08-09  Ariya Hidayat  <ariya@sencha.com>
82558
82559        Reviewed by Kenneth Rohde Christiansen.
82560
82561        [Qt] Need to implement GraphicsContextQt::clipConvexPolygon()
82562        https://bugs.webkit.org/show_bug.cgi?id=41310
82563
82564        Based on the prototype code by Simon Hausmann.
82565
82566        * platform/graphics/qt/GraphicsContextQt.cpp:
82567        (WebCore::GraphicsContext::clipConvexPolygon):
82568        * rendering/RenderObject.h:
82569
825702010-08-09  Chris Fleizach  <cfleizach@apple.com>
82571
82572        Reviewed by David Kilzer.
82573
82574        AX: Placeholder value for text fields not exposed like it should be
82575        https://bugs.webkit.org/show_bug.cgi?id=43598
82576
82577        * accessibility/AccessibilityObject.cpp:
82578        (WebCore::AccessibilityObject::placeholderValue):
82579        * accessibility/AccessibilityObject.h:
82580        * accessibility/AccessibilityRenderObject.cpp:
82581        (WebCore::AccessibilityRenderObject::title):
82582        * accessibility/mac/AccessibilityObjectWrapper.mm:
82583        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
82584        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
82585
825862010-08-09  Ryosuke Niwa  <rniwa@webkit.org>
82587
82588        Reviewed by Justin Garcia.
82589
82590        Undo fails in RemoveCSSPropertyCommand when the corresponding style attribute is removed
82591        https://bugs.webkit.org/show_bug.cgi?id=43639
82592
82593        The bug was caused when RemoveCSSPropertyCommand is called with CSSMutableStyleDeclaration of some styled element,
82594        and the style attribute of the element is removed subsequently. When the attribute removal is undone, new instance of
82595        CSSMutableStyleDeclaration is created and RemoveCSSPropertyCommand's m_style became detached from the element.
82596
82597        Modified RemoveCSSPropertyCommand to store the styled element directly instead of its CSSMutableStyleDeclaration.
82598
82599        Test: editing/undo/remove-css-property-and-remove-style.html
82600
82601        * WebCore.order:
82602        * editing/ApplyStyleCommand.cpp:
82603        (WebCore::ApplyStyleCommand::removeCSSStyle): Calls removeCSSProperty.
82604        (WebCore::ApplyStyleCommand::extractTextDecorationStyle): Calls removeCSSProperty.
82605        * editing/CompositeEditCommand.cpp:
82606        (WebCore::CompositeEditCommand::removeCSSProperty): Takes StyledElement instead of CSSMutableStyleDeclaration.
82607        * editing/CompositeEditCommand.h:
82608        * editing/RemoveCSSPropertyCommand.cpp:
82609        (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): Takes StyledElement instead of CSSMutableStyleDeclaration.
82610        (WebCore::RemoveCSSPropertyCommand::doApply): See above.
82611        (WebCore::RemoveCSSPropertyCommand::doUnapply): See above.
82612        * editing/RemoveCSSPropertyCommand.h:
82613        (WebCore::RemoveCSSPropertyCommand::create): See above.
82614
826152010-08-09  Ryosuke Niwa  <rniwa@webkit.org>
82616
82617        Reviewed by Tony Chang.
82618
82619        Use getIdentifierValue to obtain direction and unicode-bidi properties in ApplyStyleCommand
82620        https://bugs.webkit.org/show_bug.cgi?id=43699
82621
82622        Deployed getIdentifierValue in various parts of ApplyStyleCommand where
82623        direction and unicode-bidi properties were obtained manually.
82624
82625        No new tests since this is a cleanup.
82626
82627        * editing/ApplyStyleCommand.cpp:
82628        (WebCore::getIdentifierValue): Takes CSSStyleDeclaration instead of CSSMutableStyleDeclaration.
82629        (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Calls getIdentifierValue.
82630        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Calls getIdentifierValue.
82631        (WebCore::ApplyStyleCommand::applyInlineStyle): Calls getIdentifierValue.
82632        * editing/ApplyStyleCommand.h:
82633
826342010-08-09  Adam Barth  <abarth@webkit.org>
82635
82636        Reviewed by Eric Seidel.
82637
82638        Remove trailing whitespace in HTMLViewSourceDocument.cpp
82639        https://bugs.webkit.org/show_bug.cgi?id=43741
82640
82641        No behavior change.  The whitespace was distracting me while porting
82642        this class to the new parser.
82643
82644        * html/HTMLViewSourceDocument.cpp:
82645        (WebCore::HTMLViewSourceDocument::createContainingTable):
82646        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
82647        (WebCore::HTMLViewSourceDocument::addLine):
82648        (WebCore::HTMLViewSourceDocument::addText):
82649        (WebCore::HTMLViewSourceDocument::addLink):
82650
826512010-08-09  Eric Seidel  <eric@webkit.org>
82652
82653        Reviewed by Adam Barth.
82654
82655        Use the HTML5 TreeBuilder for Fragment Parsing
82656        https://bugs.webkit.org/show_bug.cgi?id=43586
82657
82658        The bulk of this change is just a transcription of the HTML5 spec:
82659        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#fragment-case
82660
82661        DocumentParser() now sets the right tokenizer state before handling
82662        fragments.  Since default code path uses the HTML5 tokenizer with the
82663        legacy tree builder, this fixes 2 tokenizer-state tests for the html5lib.
82664        This fixes 2 more tree-builder tests when the html5 treebuilder is enabled too.
82665
82666        * dom/DocumentFragment.cpp:
82667        (WebCore::DocumentFragment::parseHTML):
82668         - HTML5 implementation of fragment parsing requires the context element (parent)
82669           pointer.  The legacy implementation handles all parsing branches which require
82670           the context element outside of the parser itself, which likely produces "wrong"
82671           results.  We'll remove those branches when we turn on the HMTL5 fragment parser.
82672        (WebCore::DocumentFragment::parseXML):
82673         - Rename "parent" to "contextElement" to match the HTML path (and the HTML5 spec).
82674        * dom/DocumentFragment.h:
82675        * dom/Element.cpp:
82676        (WebCore::Element::createContextualFragment):
82677         - Pass the contextElement (this).
82678        * html/HTMLConstructionSite.cpp:
82679        (WebCore::HTMLConstructionSite::setForm):
82680         - Needed by for the fragment case.
82681        (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
82682         - I'm not sure this method should exist, it only has one caller.
82683           but for now, I've moved the fragment case FIXME out to the
82684           one caller and implemented it.
82685        * html/HTMLConstructionSite.h:
82686        * html/HTMLDocumentParser.cpp:
82687        (WebCore::HTMLNames::tokenizerStateForContextElement):
82688         - Part of the fragment case handling for the HTML5 parser.
82689        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
82690         - Set the Tokenizer state based on the contextElement.
82691        (WebCore::HTMLDocumentParser::parseDocumentFragment):
82692         - Take a contextElement argument.
82693        * html/HTMLDocumentParser.h:
82694        * html/HTMLElement.cpp:
82695        (WebCore::HTMLElement::setInnerHTML):
82696         - Added a FIXME before the branches the old parser used to avoid ever needing
82697           to pass a context element when parsing HTML fragments.
82698        (WebCore::HTMLElement::insertAdjacentHTML):
82699         - Pass the context element.
82700        * html/HTMLTokenizer.h:
82701        * html/HTMLTreeBuilder.cpp:
82702         - I added a new helper class FragmentParsingContext to simplify the two
82703           HTMLTreeBuilder constructors and hide the existence of m_dummyDocumentForFragmentParse.
82704         - I also removed m_isParsingFragment and replaced it with an isParsingFragment() function.
82705        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
82706        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
82707        (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
82708        (WebCore::HTMLTreeBuilder::FragmentParsingContext::~FragmentParsingContext):
82709        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
82710        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
82711         - I had to implement two notImplemented() states in order to get most of the
82712           layout tests to pass when using the HTML5 parser fragment case.
82713        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
82714        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
82715        (WebCore::HTMLTreeBuilder::processStartTag):
82716        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
82717        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
82718        (WebCore::HTMLTreeBuilder::processEndTagForInRow):
82719        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
82720        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
82721        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
82722        (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
82723        (WebCore::HTMLTreeBuilder::processEndTag):
82724        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
82725        (WebCore::HTMLTreeBuilder::processEndOfFile):
82726        (WebCore::HTMLTreeBuilder::finished):
82727         - The HTML5 parsing algorithm fragment case uses a dummy document to handle all the parsing
82728           and then moves all the children from the dummy document over into a DocumentFragment
82729           when the parse is done.  We could avoid this adopt step by making the TreeBuilder a bit
82730           more complicated, but I'm not sure that's necessary (yet).
82731        * html/HTMLTreeBuilder.h:
82732        (WebCore::HTMLTreeBuilder::isParsingFragment):
82733        (WebCore::HTMLTreeBuilder::FragmentParsingContext::fragment):
82734        (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
82735        (WebCore::HTMLTreeBuilder::FragmentParsingContext::scriptingPermission):
82736        * xml/XSLTProcessor.cpp:
82737        (WebCore::createFragmentFromSource):
82738
827392010-08-09  Dumitru Daniliuc  <dumi@chromium.org>
82740
82741        Reviewed by Adam Barth.
82742
82743        Auto-generate most HTML5 DB bindings.
82744        https://bugs.webkit.org/show_bug.cgi?id=43382
82745
82746        * Android.jscbindings.mk: Remove {JS|V8}Database{Sync}Custom.cpp
82747        and the custom implementations of openDatabase{Sync}().
82748        * Android.v8bindings.mk:
82749        * CMakeLists.txt:
82750        * GNUmakefile.am:
82751        * WebCore.gypi:
82752        * WebCore.pro:
82753        * WebCore.vcproj/WebCore.vcproj:
82754        * WebCore.xcodeproj/project.pbxproj:
82755        * bindings/js/JSBindingsAllInOne.cpp:
82756        * bindings/js/JSDOMWindowCustom.cpp:
82757        * bindings/js/JSDatabaseCustom.cpp: Removed.
82758        * bindings/js/JSDatabaseSyncCustom.cpp: Removed.
82759        * bindings/js/JSWorkerContextCustom.cpp:
82760        * bindings/v8/custom/V8DOMWindowCustom.cpp:
82761        * bindings/v8/custom/V8DatabaseCustom.cpp: Removed.
82762        * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Removed.
82763        * bindings/v8/custom/V8WorkerContextCustom.cpp:
82764
82765        * bindings/scripts/CodeGeneratorGObject.pm: Change the code generators
82766        to check that each value can be converted to the respective
82767        argument type.
82768        * bindings/scripts/CodeGeneratorJS.pm:
82769        * bindings/scripts/CodeGeneratorV8.pm:
82770        * bindings/scripts/test/JS/JSTestCallback.cpp:
82771        (WebCore::JSTestCallback::~JSTestCallback):
82772        * bindings/scripts/test/JS/JSTestObj.cpp:
82773        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
82774        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
82775        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
82776        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
82777        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
82778        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
82779        (WebCore::jsTestObjPrototypeFunctionIdbKey):
82780        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
82781        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
82782        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
82783        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
82784        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
82785        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
82786        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
82787        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
82788        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
82789        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
82790        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
82791        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
82792        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
82793        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
82794        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
82795        * bindings/scripts/test/V8/V8TestObj.cpp:
82796        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
82797        (WebCore::TestObjInternal::intMethodWithArgsCallback):
82798        (WebCore::TestObjInternal::objMethodWithArgsCallback):
82799        (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
82800        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
82801        (WebCore::TestObjInternal::idbKeyCallback):
82802        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
82803        (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
82804        (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
82805        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
82806        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
82807        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
82808        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
82809        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
82810        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
82811        (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
82812        (WebCore::TestObjInternal::overloadedMethod1Callback):
82813        (WebCore::TestObjInternal::overloadedMethod2Callback):
82814        (WebCore::TestObjInternal::overloadedMethod3Callback):
82815        (WebCore::TestObjInternal::overloadedMethod4Callback):
82816        (WebCore::):
82817        (WebCore::ConfigureV8TestObjTemplate):
82818        * bindings/v8/custom/V8BindingMacros.h:
82819
82820        * bindings/v8/V8Binding.h: Minor changes required to support the
82821        auto-generated bindings.
82822        (WebCore::V8Parameter::V8Parameter):
82823        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
82824        (WebCore::V8SQLTransaction::executeSqlCallback):
82825        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
82826        (WebCore::V8SQLTransactionSync::executeSqlCallback):
82827        * page/DOMWindow.idl:
82828        * storage/Database.cpp:
82829        (WebCore::Database::transaction):
82830        (WebCore::Database::readTransaction):
82831        (WebCore::Database::runTransaction):
82832        * storage/Database.h:
82833        * storage/Database.idl:
82834        * storage/DatabaseSync.cpp:
82835        (WebCore::DatabaseSync::transaction):
82836        (WebCore::DatabaseSync::readTransaction):
82837        (WebCore::DatabaseSync::runTransaction):
82838        * storage/DatabaseSync.h:
82839        * storage/DatabaseSync.idl:
82840        * workers/WorkerContext.idl:
82841
828422010-08-09  Adam Barth  <abarth@webkit.org>
82843
82844        Reviewed by Eric Seidel.
82845
82846        Move HTMLViewSourceDocument from legacyParserAddChild to parserAddChild
82847        https://bugs.webkit.org/show_bug.cgi?id=43740
82848
82849        This removes the DTD checks, which aren't needed for view source
82850        documents.
82851
82852        * html/HTMLViewSourceDocument.cpp:
82853        (WebCore::HTMLViewSourceDocument::createContainingTable):
82854        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
82855        (WebCore::HTMLViewSourceDocument::addLine):
82856        (WebCore::HTMLViewSourceDocument::addText):
82857        (WebCore::HTMLViewSourceDocument::addLink):
82858
828592010-08-09  Dan Bernstein  <mitz@apple.com>
82860
82861        Reviewed by Simon Fraser.
82862
82863        Fixed an uninitialized member variable in the Color(CGColorRef) constructor.
82864
82865        * platform/graphics/cg/ColorCG.cpp:
82866        (WebCore::Color::Color): Initialize m_valid to true if the color is not 0.
82867
828682010-08-09  James Robinson  <jamesr@chromium.org>
82869
82870        Chromium compile fix, unreviewed.
82871
82872        * platform/graphics/skia/PlatformContextSkia.cpp:
82873        (WebCore::PlatformContextSkia::~PlatformContextSkia):
82874        (WebCore::PlatformContextSkia::setGraphicsContext3D):
82875
828762010-08-09  James Robinson  <jamesr@chromium.org>
82877
82878        Reviewed by Dimitri Glazkov.
82879
82880        [chromium] Add a PrepareTextureCallback to the chromium canvas layer compositor to upload mixed-mode results before compositing
82881        https://bugs.webkit.org/show_bug.cgi?id=43656
82882
82883        When compositing an accelerated canvas that is using both hardware and software drawing,
82884        we need a callback before compositing the layer to make sure that we upload any software
82885        drawn results to the texture.  This will go away as soon as implement all draw calls
82886        in hardware.
82887
82888        To test, run any canvas demo that runs in mixed mode and verifies that the software results
82889        always show up.
82890
82891        * platform/graphics/chromium/CanvasLayerChromium.cpp:
82892        (WebCore::CanvasLayerChromium::updateTextureContents):
82893        * platform/graphics/chromium/CanvasLayerChromium.h:
82894        (WebCore::CanvasLayerChromium::setPrepareTextureCallback):
82895        * platform/graphics/skia/PlatformContextSkia.cpp:
82896        (WebCore::PrepareTextureCallbackImpl::create):
82897        (WebCore::PrepareTextureCallbackImpl::willPrepareTexture):
82898        (WebCore::PrepareTextureCallbackImpl::PrepareTextureCallbackImpl):
82899        (WebCore::PlatformContextSkia::setGraphicsContext3D):
82900
829012010-08-09  Zhenyao Mo  <zmo@google.com>
82902
82903        Reviewed by David Levin.
82904
82905        sizeInBytes should be removed
82906        https://bugs.webkit.org/show_bug.cgi?id=43693
82907
82908        * html/canvas/WebGLRenderingContext.cpp:
82909        (WebCore::WebGLRenderingContext::sizeInBytes): Don't generate GL errors.  Generate them in the callers instead.
82910        (WebCore::WebGLRenderingContext::vertexAttribPointer): Generate GL error if sizeInBytes fails.
82911        * html/canvas/WebGLRenderingContext.h: Make sizeInBytes private helper.
82912        * html/canvas/WebGLRenderingContext.idl: Remove sizeInBytes.
82913
829142010-08-09  Eric Carlson  <eric.carlson@apple.com>
82915
82916        Reviewed by Darin Adler.
82917
82918        https://bugs.webkit.org/show_bug.cgi?id=43702
82919        <video> element does not resize correctly
82920
82921        * html/HTMLMediaElement.cpp:
82922        (WebCore::HTMLMediaElement::setReadyState): RenderVideo::videoSizeChanged is gone, just use
82923        updateFromElement instead.
82924        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): Ditto.
82925        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): Ditto.
82926
82927        * html/HTMLVideoElement.cpp:
82928        (WebCore::HTMLVideoElement::parseMappedAttribute): Clear the image loader and cached image when 
82929        the 'poster' attribute is changed and we aren't displaying a poster.
82930
82931        * rendering/RenderVideo.cpp:
82932        (WebCore::RenderVideo::RenderVideo):
82933        (WebCore::RenderVideo::intrinsicSizeChanged): videoSizeChanged -> updateIntrinsicSize.
82934        (WebCore::RenderVideo::updateIntrinsicSize): Renamed from videoSizeChanged, calculate initial 
82935        intrinsic size with calculateIntrinsicSize
82936        (WebCore::RenderVideo::calculateIntrinsicSize): New, calculate size according to current spec.
82937        (WebCore::RenderVideo::imageChanged): Reset intrinsic size to default when poster fails to load.
82938        (WebCore::RenderVideo::updatePlayer): Call updateIntrinsicSize.
82939        * rendering/RenderVideo.h: Renamed videoSizeChanged to updateIntrinsicSize and make private.
82940
829412010-08-09  Marcus Bulach  <bulach@chromium.org>
82942
82943        Reviewed by Jeremy Orlow.
82944
82945        Fixes custom JS bindings for IDBCursor after r64828.
82946        https://bugs.webkit.org/show_bug.cgi?id=43729
82947
82948        Build fix, no tests.
82949
82950        * WebCore.xcodeproj/project.pbxproj:
82951        * bindings/js/JSIDBAnyCustom.cpp:
82952        (WebCore::toJS):
82953        * storage/IDBObjectStore.h:
82954
829552010-08-09  Sheriff Bot  <webkit.review.bot@gmail.com>
82956
82957        Unreviewed, rolling out r64993.
82958        http://trac.webkit.org/changeset/64993
82959        https://bugs.webkit.org/show_bug.cgi?id=43734
82960
82961        broke chromium compile (Requested by jamesr on #webkit).
82962
82963        * platform/graphics/chromium/CanvasLayerChromium.cpp:
82964        (WebCore::CanvasLayerChromium::updateTextureContents):
82965        * platform/graphics/chromium/CanvasLayerChromium.h:
82966        * platform/graphics/skia/PlatformContextSkia.cpp:
82967        (WebCore::PlatformContextSkia::~PlatformContextSkia):
82968        (WebCore::PlatformContextSkia::setGraphicsContext3D):
82969
829702010-08-09  James Robinson  <jamesr@chromium.org>
82971
82972        Reviewed by Dimitri Glazkov.
82973
82974        [chromium] Add a PrepareTextureCallback to the chromium canvas layer compositor to upload mixed-mode results before compositing
82975        https://bugs.webkit.org/show_bug.cgi?id=43656
82976
82977        When compositing an accelerated canvas that is using both hardware and software drawing,
82978        we need a callback before compositing the layer to make sure that we upload any software
82979        drawn results to the texture.  This will go away as soon as implement all draw calls
82980        in hardware.
82981
82982        To test, run any canvas demo that runs in mixed mode and verifies that the software results
82983        always show up.
82984
82985        * platform/graphics/chromium/CanvasLayerChromium.cpp:
82986        (WebCore::CanvasLayerChromium::updateTextureContents):
82987        * platform/graphics/chromium/CanvasLayerChromium.h:
82988        (WebCore::CanvasLayerChromium::setPrepareTextureCallback):
82989        * platform/graphics/skia/PlatformContextSkia.cpp:
82990        (WebCore::PrepareTextureCallbackImpl::create):
82991        (WebCore::PrepareTextureCallbackImpl::willPrepareTexture):
82992        (WebCore::PrepareTextureCallbackImpl::PrepareTextureCallbackImpl):
82993        (WebCore::PlatformContextSkia::setGraphicsContext3D):
82994
829952010-08-09  Dominic Cooney  <dominicc@google.com>
82996
82997        Reviewed by Adam Barth.
82998
82999        Moves window.open logic into the generic bindings.
83000
83001        This patch moves window.open logic from V8 into the generic
83002        bindings so it could be shared with JSC. JSC sharing is not in
83003        this patch. This patch is of the same flavor/intent as 33201.
83004
83005        https://bugs.webkit.org/show_bug.cgi?id=41392
83006
83007        * bindings/generic/BindingDOMWindow.h:
83008        (WebCore::::createWindow):
83009        (WebCore::::open):
83010        (WebCore::::completeURL):
83011        * bindings/generic/BindingSecurity.h:
83012        (WebCore::::allowPopUp):
83013        (WebCore::::shouldAllowNavigation):
83014        * bindings/v8/V8Binding.h:
83015        (WebCore::V8Binding::emptyScriptValue):
83016        * bindings/v8/V8Utilities.cpp:
83017        (WebCore::transferHiddenDependency):
83018        (WebCore::processingUserGesture):
83019        (WebCore::shouldAllowNavigation):
83020        (WebCore::completeURL):
83021        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
83022        * bindings/v8/custom/V8DOMWindowCustom.cpp:
83023        (WebCore::V8DOMWindow::showModalDialogCallback):
83024        (WebCore::V8DOMWindow::openCallback):
83025        * bindings/v8/specialization/V8BindingState.cpp:
83026        (WebCore::::getActiveFrame):
83027        (WebCore::::getFirstFrame):
83028        (WebCore::::processingUserGesture):
83029        * bindings/v8/specialization/V8BindingState.h:
83030        (WebCore::):
83031
830322010-08-09  Marcus Bulach  <bulach@chromium.org>
83033
83034        Reviewed by Darin Adler.
83035
83036        Fixes xcode project issues after r64828:
83037        https://bugs.webkit.org/show_bug.cgi?id=43638
83038
83039        Build fix, no tests (sort-Xcode-project-file should not throw any warnings).
83040
83041        * WebCore.xcodeproj/project.pbxproj: fixed IDBCursor and related IndexedDB files, and re-ran sort-Xcode-project-file.
83042
830432010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
83044
83045        Reviewed by Pavel Feldman.
83046
83047        Web Inspector: Remove callId argument from all backend agents' methods.
83048        https://bugs.webkit.org/show_bug.cgi?id=43723
83049
83050        * inspector/CodeGeneratorInspector.pm:
83051        * inspector/InspectorApplicationCacheAgent.cpp:
83052        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
83053        * inspector/InspectorApplicationCacheAgent.h:
83054        * inspector/InspectorBackend.cpp:
83055        (WebCore::InspectorBackend::getProfilerLogLines):
83056        (WebCore::InspectorBackend::clearConsoleMessages):
83057        (WebCore::InspectorBackend::getDatabaseTableNames):
83058        * inspector/InspectorBackend.h:
83059        * inspector/InspectorController.cpp:
83060        (WebCore::InspectorController::getCookies):
83061        (WebCore::InspectorController::getDOMStorageEntries):
83062        (WebCore::InspectorController::setDOMStorageItem):
83063        (WebCore::InspectorController::removeDOMStorageItem):
83064        (WebCore::InspectorController::getProfileHeaders):
83065        (WebCore::InspectorController::getProfile):
83066        (WebCore::InspectorController::getResourceContent):
83067        * inspector/InspectorController.h:
83068        * inspector/InspectorDOMAgent.cpp:
83069        (WebCore::InspectorDOMAgent::getChildNodes):
83070        (WebCore::InspectorDOMAgent::setAttribute):
83071        (WebCore::InspectorDOMAgent::removeAttribute):
83072        (WebCore::InspectorDOMAgent::removeNode):
83073        (WebCore::InspectorDOMAgent::changeTagName):
83074        (WebCore::InspectorDOMAgent::getOuterHTML):
83075        (WebCore::InspectorDOMAgent::setOuterHTML):
83076        (WebCore::InspectorDOMAgent::setTextNodeValue):
83077        (WebCore::InspectorDOMAgent::getEventListenersForNode):
83078        (WebCore::InspectorDOMAgent::getStyles):
83079        (WebCore::InspectorDOMAgent::getAllStyles):
83080        (WebCore::InspectorDOMAgent::getStyleSheet):
83081        (WebCore::InspectorDOMAgent::getRuleRanges):
83082        (WebCore::InspectorDOMAgent::getInlineStyle):
83083        (WebCore::InspectorDOMAgent::getComputedStyle):
83084        (WebCore::InspectorDOMAgent::applyStyleText):
83085        (WebCore::InspectorDOMAgent::setStyleText):
83086        (WebCore::InspectorDOMAgent::setStyleProperty):
83087        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
83088        (WebCore::InspectorDOMAgent::setRuleSelector):
83089        (WebCore::InspectorDOMAgent::addRule):
83090        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
83091        * inspector/InspectorDOMAgent.h:
83092        * inspector/InspectorDebuggerAgent.cpp:
83093        (WebCore::InspectorDebuggerAgent::setBreakpoint):
83094        (WebCore::InspectorDebuggerAgent::editScriptSource):
83095        (WebCore::InspectorDebuggerAgent::getScriptSource):
83096        * inspector/InspectorDebuggerAgent.h:
83097
830982010-08-09  François Sausset  <sausset@gmail.com>
83099
83100        Reviewed by Kenneth Rohde Christiansen.
83101
83102        Take into account style color to draw MathML mroot radical.
83103        https://bugs.webkit.org/show_bug.cgi?id=43628
83104
83105        Test: mathml/presentation/roots.xhtml
83106
83107        * mathml/RenderMathMLRoot.cpp:
83108        (WebCore::RenderMathMLRoot::paint):
83109
831102010-08-09  François Sausset  <sausset@gmail.com>
83111
83112        Reviewed by Kenneth Rohde Christiansen.
83113
83114        Implement MathML deprecated style attributes
83115        https://bugs.webkit.org/show_bug.cgi?id=43503
83116
83117        Test: mathml/presentation/attributes.xhtml
83118
83119        * mathml/MathMLElement.cpp:
83120        (WebCore::MathMLElement::mapToEntry):
83121        (WebCore::MathMLElement::parseMappedAttribute):
83122        * mathml/mathattrs.in:
83123
831242010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
83125
83126        Reviewed by Yury Semikhatsky.
83127
83128        Web Inspector: remove unnecessary did* methods from RemoteInspectorFrontend.
83129        https://bugs.webkit.org/show_bug.cgi?id=43721
83130
83131        * inspector/CodeGeneratorInspector.pm:
83132
831332010-08-09  Andreas Kling  <andreas.kling@nokia.com>
83134
83135        Reviewed by Antonio Gomes.
83136
83137        Canvas: Fast-path for setting the already set color with setStrokeColor() and setFillColor()
83138        https://bugs.webkit.org/show_bug.cgi?id=43718
83139
83140        Avoid creating CanvasStyle objects when setting the same fill or stroke color using
83141        the WebKit-specific setters of CanvasRenderingContext2D.
83142
83143        * html/canvas/CanvasRenderingContext2D.cpp:
83144        (WebCore::CanvasRenderingContext2D::setStrokeColor):
83145        (WebCore::CanvasRenderingContext2D::setFillColor):
83146        * html/canvas/CanvasStyle.cpp:
83147        (WebCore::CanvasStyle::isEquivalentColor):
83148        * html/canvas/CanvasStyle.h: Added CanvasStyle::isEquivalentColor() overloads
83149        for RGBA and CMYKA channel values.
83150
831512010-08-09  Pavel Feldman  <pfeldman@chromium.org>
83152
83153        Reviewed by Yury Semikhatsky.
83154
83155        Web Inspector: restore original last panel restore logic.
83156
83157        https://bugs.webkit.org/show_bug.cgi?id=43719
83158
83159        * inspector/front-end/inspector.js:
83160        (WebInspector.showPanel):
83161
831622010-08-09  Dumitru Daniliuc  <dumi@chromium.org>
83163
83164        Unreviewed, fixing the builds after r64967.
83165
83166        * CMakeLists.txt:
83167        * GNUmakefile.am:
83168        * WebCore.pro:
83169        * WebCore.vcproj/WebCore.vcproj:
83170
831712010-05-27  MORITA Hajime  <morrita@google.com>
83172
83173        Reviewed by Ojan Vafai.
83174
83175        <http://webkit.org/b/36359>
83176        Double clicking page's last editable inline element causes assertion failure.
83177        <http://webkit.org/b/36360>
83178        Double clicking page's first editable inline element cannot select a word. 
83179
83180        nextBoundary() and previousBoundary() assumed that editable
83181        boundaries are on block-level elements, But it can appear on
83182        inline-level elements. So we start boundary look-up from the given
83183        node, instead of the containingBlock of the given node.
83184        Also, added TextIteratorEndsAtEditingBoundary to
83185        BackwardsCharacterIterator, otherwise, the VisiblePosition
83186        returned by BackwardsCharacterIterator might cross an editing
83187        boundary.
83188
83189        Test: editing/selection/doubleclick-inline-first-last-contenteditable.html        
83190
83191        * dom/Position.cpp:
83192        (WebCore::Position::parentEditingBoundary): Added.
83193        * dom/Position.h:
83194        * editing/TextIterator.cpp:
83195        (WebCore::TextIterator::TextIterator):
83196        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
83197        (WebCore::SimplifiedBackwardsTextIterator::advance):
83198        (WebCore::SimplifiedBackwardsTextIterator::crossesEditingBoundary): Added.
83199        (WebCore::SimplifiedBackwardsTextIterator::setCurrentNode): Added.
83200        (WebCore::SimplifiedBackwardsTextIterator::clearCurrentNode): Added.
83201        (WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator):
83202        * editing/TextIterator.h:
83203        (WebCore::):
83204        * editing/visible_units.cpp:
83205        (WebCore::previousBoundary):
83206        (WebCore::nextBoundary):
83207
832082010-08-09  Ilya Tikhonovsky  <loislo@chromium.org>
83209
83210        Reviewed by Yury Semikhatsky.
83211
83212        WebInspector: Current implementation of showPanel is a bit complicated.
83213        It is using internal enum for all the panels and this is the problem because
83214        we should change a lot of code for a new panel.
83215        https://bugs.webkit.org/show_bug.cgi?id=43711
83216
83217        * WebCore.exp.in:
83218        * inspector/Inspector.idl:
83219        * inspector/InspectorController.cpp:
83220        (WebCore::InspectorController::InspectorController):
83221        (WebCore::InspectorController::storeLastActivePanel):
83222        (WebCore::InspectorController::connectFrontend):
83223        (WebCore::InspectorController::showPanel):
83224        (WebCore::InspectorController::disconnectFrontend):
83225        * inspector/InspectorController.h:
83226        * inspector/InspectorFrontend.cpp:
83227        * inspector/InspectorFrontend.h:
83228        * inspector/front-end/ElementsTreeOutline.js:
83229        (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
83230        * inspector/front-end/ExtensionServer.js:
83231        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
83232        * inspector/front-end/inspector.js:
83233        (WebInspector.documentClick.followLink):
83234        (WebInspector.documentClick):
83235        (WebInspector.toggleSearchingForNode):
83236        (WebInspector.showPanel):
83237        (WebInspector.selectDatabase):
83238        (WebInspector.selectDOMStorage):
83239        (WebInspector.showProfileForURL):
83240
832412010-08-09  Ariya Hidayat  <ariya@sencha.com>
83242
83243        Reviewed by Kenneth Rohde Christiansen.
83244
83245        [Qt] GraphicsContext::clipOut(IntRect) ignores the transformation matrix.
83246        https://bugs.webkit.org/show_bug.cgi?id=43705
83247
83248        Just like clipOut(Path), which is taken care in r60796 already,
83249        clipOut(IntRect) must transform the window bounding box properly.
83250
83251        * platform/graphics/qt/GraphicsContextQt.cpp:
83252        (WebCore::GraphicsContext::clipOut):
83253
832542010-08-09  François Sausset  <sausset@gmail.com>
83255
83256        Reviewed by Kenneth Rohde Christiansen.
83257
83258        Implement mfenced MathML element
83259        Update stretchy operator code to take into account new brackets and to tune layout parameters
83260        https://bugs.webkit.org/show_bug.cgi?id=42472
83261
83262        Test: mathml/presentation/fenced.xhtml
83263
83264        * WebCore.xcodeproj/project.pbxproj:
83265        * mathml/MathMLInlineContainerElement.cpp:
83266        (WebCore::MathMLInlineContainerElement::MathMLInlineContainerElement):
83267        (WebCore::MathMLInlineContainerElement::createRenderer):
83268        * mathml/RenderMathMLFenced.cpp: Added.
83269        (WebCore::RenderMathMLFenced::RenderMathMLFenced):
83270        (WebCore::RenderMathMLFenced::updateFromElement):
83271        (WebCore::RenderMathMLFenced::makeOperatorStyle):
83272        (WebCore::RenderMathMLFenced::makeFences):
83273        (WebCore::RenderMathMLFenced::addChild):
83274        (WebCore::RenderMathMLFenced::layout):
83275        * mathml/RenderMathMLFenced.h: Added.
83276        * mathml/RenderMathMLOperator.cpp:
83277        (WebCore::RenderMathMLOperator::RenderMathMLOperator):
83278        (WebCore::RenderMathMLOperator::stretchToHeight):
83279        (WebCore::):
83280        (WebCore::RenderMathMLOperator::updateFromElement):
83281        (WebCore::RenderMathMLOperator::createStackableStyle):
83282        (WebCore::RenderMathMLOperator::createGlyph):
83283
832842010-08-08  ryuan choi  <ryuan.choi@samsung.com>
83285
83286        Reviewed by Darin Adler.
83287
83288        REGRESSION(64898,64949) build break because of wrong filename
83289        https://bugs.webkit.org/show_bug.cgi?id=43701
83290
83291        add SVGPathStringSource.cpp and modify SVGPathSourceString.cpp to
83292        SVGPathStringSource.cpp
83293
83294        simple fixing build break, so No new tests.
83295
83296        * CMakeLists.txt:
83297
832982010-08-08  Ariya Hidayat  <ariya@sencha.com>
83299
83300        Reviewed by Antonio Gomes.
83301
83302        Inconsistent Qt version checks
83303        https://bugs.webkit.org/show_bug.cgi?id=43695
83304
83305        Use QT_VERSION_CHECK macro instead of encoded hex.
83306
83307        * platform/graphics/qt/ImageBufferQt.cpp:
83308        (WebCore::getImageData):
83309        * platform/network/qt/NetworkStateNotifierPrivate.h:
83310        * platform/network/qt/NetworkStateNotifierQt.cpp:
83311        * platform/network/qt/QNetworkReplyHandler.cpp:
83312        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
83313        (WebCore::QNetworkReplyHandler::start):
83314        * platform/qt/RenderThemeQt.cpp:
83315        (WebCore::RenderThemeQt::paintMediaSliderTrack):
83316
833172010-08-08  Csaba Osztrogonác  <ossy@webkit.org>
83318
83319        Reviewed by Antonio Gomes.
83320
83321        Web Inspector: Fix warning in WebCore/inspector/InspectorDebuggerAgent.cpp
83322        https://bugs.webkit.org/show_bug.cgi?id=43698
83323
83324        * inspector/InspectorDebuggerAgent.cpp:
83325        (WebCore::InspectorDebuggerAgent::editScriptSource): Add suggested parentheses.
83326
833272010-08-05  MORITA Hajime  <morrita@google.com>
83328
83329        Reviewed by Tony Chang.
83330
83331        Pasting should fire textInput event.
83332        https://bugs.webkit.org/show_bug.cgi?id=42958
83333
83334        - Extended TextEvents to hold paste-specific parameters
83335        - Did fire TextEvents at where we originally did immediate pastes.
83336        - Factored out TextEvent handling from EventHandler::defaultTextInputEventHandler()
83337          to Editor::handleTextEvent() because it's solely done by the editor.
83338        - move actual pasting logic to Editor::handleTextEvent() 
83339
83340        Test: editing/pasteboard/paste-text-events.html
83341
83342        * WebCore.exp.in:
83343        * dom/TextEvent.cpp:
83344        (WebCore::TextEvent::create):
83345        (WebCore::TextEvent::createForPlainTextPaste):
83346        (WebCore::TextEvent::createForFragmentPaste):
83347        (WebCore::TextEvent::TextEvent):
83348        * dom/TextEvent.h:
83349        (WebCore::TextEvent::isPaste):
83350        (WebCore::TextEvent::shouldSmartReplace):
83351        (WebCore::TextEvent::shouldMatchStyle):
83352        (WebCore::TextEvent::pastingFragment):
83353        * editing/Editor.cpp:
83354        (WebCore::Editor::handleTextEvent):
83355        (WebCore::Editor::pasteAsPlainText):
83356        (WebCore::Editor::pasteAsFragment):
83357        (WebCore::Editor::pasteAsPlainTextWithPasteboard):
83358        (WebCore::Editor::pasteWithPasteboard):
83359        (WebCore::Editor::dispatchCPPEvent):
83360        (WebCore::Editor::findEventTargetFromSelection):
83361        * editing/Editor.h:
83362        * page/EventHandler.cpp:
83363        (WebCore::EventHandler::defaultTextInputEventHandler):
83364
833652010-08-08  Kevin Ollivier  <kevino@theolliviers.com>
83366
83367        [wx] Build fix, add member needed to compile Mac-specific font code.
83368
83369        * platform/graphics/wx/FontPlatformData.h:
83370        (WebCore::FontPlatformData::ctFont):
83371
833722010-08-08  Csaba Osztrogonác  <ossy@webkit.org>
83373
83374        Reviewed by Eric Seidel.
83375
83376        [Qt] Fix warnings in WebCore/platform/WindowsKeyboardCodes.h
83377        https://bugs.webkit.org/show_bug.cgi?id=43360
83378
83379        * platform/WindowsKeyboardCodes.h: Undef macros which are also defined in MinGW/include/winuser.h to aviod gcc redefinition warning
83380
833812010-08-08  James Robinson  <jamesr@chromium.org>
83382
83383        Reviewed by Adam Barth.
83384
83385        Set the shouldLazyAttach flag to true in the tree builder's adoption agency algorithm
83386        https://bugs.webkit.org/show_bug.cgi?id=43610
83387
83388        Sets the shouldLazyAttach flag to true for appendChild() calls inside the HTML tree
83389        builder's adoption agency flag.  This is a speedup assuming that nodes subjected
83390        to the adoption agency are likely to be frequently reparented, and thus it is better
83391        to delay creating the render tree until later (when hopefully the DOM is finalized).
83392
83393        On my mac pro this speeds up fast/parser/residual-style-hang.html by 2.6X.
83394
83395        * html/HTMLTreeBuilder.cpp:
83396        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
83397
833982010-08-08  Nikita Vasilyev  <me@elv1s.ru>
83399
83400        Reviewed by Pavel Feldman.
83401
83402        Web Inspector: speed-up Element.prototype.removeChildren
83403        https://bugs.webkit.org/show_bug.cgi?id=43687
83404
83405        * inspector/front-end/utilities.js:
83406        (Element.prototype.removeChildren):
83407
834082010-08-08  Ilya Tikhonovsky  <loislo@chromium.org>
83409
83410        Reviewed by Pavel Feldman.
83411
83412        WebInspector: remove hand written InspectorFrontend from almost all places.
83413        https://bugs.webkit.org/show_bug.cgi?id=43630
83414
83415        * inspector/ConsoleMessage.cpp:
83416        * inspector/InjectedScriptHost.cpp:
83417        (WebCore::InjectedScriptHost::pushNodePathToFrontend):
83418        * inspector/InjectedScriptHost.h:
83419        * inspector/Inspector.idl:
83420        * inspector/InspectorBackend.cpp:
83421        * inspector/InspectorController.cpp:
83422        (WebCore::InspectorController::inspectedPageDestroyed):
83423        (WebCore::InspectorController::inspect):
83424        (WebCore::InspectorController::focusNode):
83425        (WebCore::InspectorController::windowVisible):
83426        (WebCore::InspectorController::addConsoleMessage):
83427        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
83428        (WebCore::InspectorController::setSearchingForNode):
83429        (WebCore::InspectorController::setMonitoringXHR):
83430        (WebCore::InspectorController::connectFrontend):
83431        (WebCore::InspectorController::show):
83432        (WebCore::InspectorController::showPanel):
83433        (WebCore::InspectorController::close):
83434        (WebCore::InspectorController::disconnectFrontend):
83435        (WebCore::InspectorController::populateScriptObjects):
83436        (WebCore::InspectorController::didCommitLoad):
83437        (WebCore::InspectorController::enableResourceTracking):
83438        (WebCore::InspectorController::disableResourceTracking):
83439        (WebCore::InspectorController::startTimelineProfiler):
83440        (WebCore::InspectorController::stopTimelineProfiler):
83441        (WebCore::InspectorController::postWorkerNotificationToFrontend):
83442        (WebCore::InspectorController::didCreateWorker):
83443        (WebCore::InspectorController::didDestroyWorker):
83444        (WebCore::InspectorController::toggleRecordButton):
83445        (WebCore::InspectorController::enableProfiler):
83446        (WebCore::InspectorController::disableProfiler):
83447        (WebCore::InspectorController::enableDebuggerFromFrontend):
83448        (WebCore::InspectorController::enableDebugger):
83449        (WebCore::InspectorController::disableDebugger):
83450        (WebCore::InspectorController::evaluateForTestInFrontend):
83451        * inspector/InspectorFrontend.cpp:
83452        * inspector/InspectorFrontend.h:
83453        * inspector/InspectorFrontendClientLocal.cpp:
83454        * inspector/TimelineRecordFactory.cpp:
83455
834562010-08-08  Dan Bernstein  <mitz@apple.com>
83457
83458        Try to fix the Chromium Mac build after r64915.
83459
83460        * platform/graphics/chromium/FontPlatformDataChromiumMac.mm:
83461        (WebCore::FontPlatformData::ctFont): Copied from mac/FontPlatformDataMac.mm.
83462
834632010-08-08  Dirk Schulze  <krit@webkit.org>
83464
83465        Reviewed by Nikolas Zimmermann.
83466
83467        Add missing String builder for SVGPathParser
83468        https://bugs.webkit.org/show_bug.cgi?id=43682
83469
83470        Introduces SVGPathStringBuilder. SVGPathParser clients, like normalized and unaltered
83471        SVGPathSegLists or SVGPathByteStreams, can be parsed and transformed to a string.
83472        StringBuilder can create a string of individual strings, seperated by spaces now.
83473        Share more code in SVGPathParserFactory and use a common general concept to manage SVG path
83474        data parsing.
83475
83476        Doesn't affect any tests.
83477
83478        * Android.mk:
83479        * GNUmakefile.am:
83480        * WebCore.gypi:
83481        * WebCore.pro:
83482        * WebCore.vcproj/WebCore.vcproj:
83483        * WebCore.xcodeproj/project.pbxproj:
83484        * platform/text/StringBuilder.cpp:
83485        (WebCore::StringBuilder::toString): Added possibility to use a space between individual strings. 
83486        * platform/text/StringBuilder.h: Cleanup according to WebKit style.
83487        (WebCore::):
83488        (WebCore::StringBuilder::StringBuilder):
83489        (WebCore::StringBuilder::setNonNull):
83490        (WebCore::StringBuilder::isNull):
83491        * svg/SVGAllInOne.cpp:
83492        * svg/SVGPathBuilder.h:
83493        (WebCore::SVGPathBuilder::cleanup): Clear all references.
83494        * svg/SVGPathByteStreamBuilder.h:
83495        (WebCore::SVGPathByteStreamBuilder::cleanup): dito.
83496        * svg/SVGPathConsumer.h:
83497        * svg/SVGPathParser.cpp:
83498        (WebCore::SVGPathParser::cleanup): dito.
83499        * svg/SVGPathParser.h:
83500        * svg/SVGPathParserFactory.cpp: Cleanup of factory. More code get shared.
83501        (WebCore::globalSVGPathBuilder):
83502        (WebCore::globalSVGPathSegListBuilder):
83503        (WebCore::globalSVGPathByteStreamBuilder):
83504        (WebCore::globalSVGPathStringBuilder):
83505        (WebCore::globalSVGPathParser):
83506        (WebCore::SVGPathParserFactory::buildPathFromString):
83507        (WebCore::SVGPathParserFactory::buildPathFromByteStream):
83508        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
83509        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
83510        (WebCore::SVGPathParserFactory::buildStringFromByteStream):
83511        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
83512        * svg/SVGPathParserFactory.h:
83513        * svg/SVGPathSegListBuilder.h:
83514        (WebCore::SVGPathSegListBuilder::cleanup):
83515        * svg/SVGPathStringBuilder.cpp: Added. Build string from parsed SVG data.
83516        (WebCore::SVGPathStringBuilder::SVGPathStringBuilder):
83517        (WebCore::SVGPathStringBuilder::moveTo):
83518        (WebCore::SVGPathStringBuilder::lineTo):
83519        (WebCore::SVGPathStringBuilder::lineToHorizontal):
83520        (WebCore::SVGPathStringBuilder::lineToVertical):
83521        (WebCore::SVGPathStringBuilder::curveToCubic):
83522        (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
83523        (WebCore::SVGPathStringBuilder::curveToQuadratic):
83524        (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
83525        (WebCore::SVGPathStringBuilder::arcTo):
83526        (WebCore::SVGPathStringBuilder::closePath):
83527        * svg/SVGPathStringBuilder.h: Added.
83528        (WebCore::SVGPathStringBuilder::cleanup):
83529        (WebCore::SVGPathStringBuilder::result):
83530
835312010-08-08  Adam Barth  <abarth@webkit.org>
83532
83533        Reviewed by Eric Seidel.
83534
83535        cross_fuzz WebCore::SelectionController::isFocusedAndActive ReadAV@NULL (9e865de49b1800ec790dcc35d8ebd069)
83536        https://bugs.webkit.org/show_bug.cgi?id=43040
83537
83538        The pointer from Document to Frame can be null.  See http://webkit.org/coding/major-objects.html.
83539
83540        * css/CSSStyleSelector.cpp:
83541        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
83542
835432010-08-08  Adam Barth  <abarth@webkit.org>
83544
83545        Reviewed by Dimitri Glazkov.
83546
83547        frame()->selection() can't be null
83548        https://bugs.webkit.org/show_bug.cgi?id=43681
83549
83550        SelectionController is a component of Frame.  If frame is non-null, it
83551        can't possibly be null.
83552
83553        * html/HTMLAnchorElement.cpp:
83554        (WebCore::HTMLAnchorElement::setActive):
83555
835562010-08-08  Adam Barth  <abarth@webkit.org>
83557
83558        Reviewed by Dimitri Glazkov.
83559
83560        SVGLength uses ASSERTs to validate user input
83561        https://bugs.webkit.org/show_bug.cgi?id=43680
83562
83563        ASSERTs aren't in release builds, so we can't use them to validate user
83564        input!  We've seen a bunch of examples of this in SVG code.  It might
83565        be worth auditing all the code to remove this misguided pattern.
83566
83567        Test: svg/dom/svg-length-units.html
83568
83569        * svg/SVGLength.cpp:
83570        (WebCore::SVGLength::newValueSpecifiedUnits):
83571        (WebCore::SVGLength::convertToSpecifiedUnits):
83572
835732010-08-07  Adam Barth  <abarth@webkit.org>
83574
83575        Reviewed by Sam Weinig.
83576
83577        Empty strings can have more than one ref
83578        https://bugs.webkit.org/show_bug.cgi?id=43666
83579
83580        These asserts are trying to say that we have a thread-safe copy of the
83581        string, but they're not accurate for empty strings because we use a
83582        special static empty string that magically has infinite refs.
83583
83584        * storage/OriginUsageRecord.cpp:
83585        (WebCore::OriginUsageRecord::addDatabase):
83586        (WebCore::OriginUsageRecord::markDatabase):
83587
835882010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
83589        Reviewed by Eric Seidel.
83590
83591        [WML] Add KURL parameter to WMLDocument::create() 
83592        https://bugs.webkit.org/show_bug.cgi?id=43173
83593
83594        To fix build break in WML, url parameter is added. Because, 
83595        Document class has url parameter.
83596
83597        * wml/WMLDocument.cpp:
83598        (WebCore::WMLDocument::WMLDocument):
83599        * wml/WMLDocument.h:
83600        (WebCore::WMLDocument::create): Add an url parameter to create() method
83601
836022010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
83603
83604        Reviewed by Eric Seidel.
83605
83606        [WML] Change getIDAttribute() with getIdAttribute()
83607        https://bugs.webkit.org/show_bug.cgi?id=43175
83608
83609        Change getIDAttribute() with getIdAttribute() because function 
83610        name was changed.
83611
83612        * wml/WMLCardElement.cpp:
83613        (WebCore::WMLCardElement::findNamedCardInDocument): Change getIDAttribute() with getIdAttribute().
83614
836152010-08-07  Mihai Parparita  <mihaip@chromium.org>
83616
83617        Reviewed by Adam Barth.
83618
83619        WebTiming does not take page cache into account
83620        https://bugs.webkit.org/show_bug.cgi?id=42772
83621
83622        When restoring a page from the page cache, reset its DocumentLoadTiming
83623        struct and record navigationStart.
83624    
83625        Test: fast/events/onunload-back-to-page-cache.html
83626
83627        * loader/DocumentLoadTiming.h: removed Noncopyable, since it's just a simple struct.
83628        * loader/DocumentLoader.h:
83629        (WebCore::DocumentLoader::resetTiming): Added method.
83630        * loader/FrameLoader.cpp:
83631        (WebCore::FrameLoader::stopLoading): Uncommented assert.
83632        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage): Added resetTiming() call.
83633
836342010-08-07  Zoltan Horvath  <zoltan@webkit.org>
83635
83636        Reviewed by Eric Seidel.
83637
83638        Allow custom memory allocation control for EventHandlingState struct
83639        https://bugs.webkit.org/show_bug.cgi?id=43548
83640
83641        Inherits the following class from FastAllocBase because it is
83642        instantiated by 'new':
83643
83644        struct name         - instantiated at: WebCore/
83645        EventHandlingState  - html/HTMLInputElement.cpp:2051
83646
83647        * html/HTMLInputElement.cpp:
83648
836492010-08-07  Jay Civelli  <jcivelli@chromium.org>
83650
83651        Reviewed by Eric Seidel.
83652
83653        [Chromium] Remove unecessary focus code.
83654        https://bugs.webkit.org/show_bug.cgi?id=43542
83655
83656        * platform/chromium/ChromiumBridge.h:
83657        * platform/chromium/WidgetChromium.cpp:
83658        (WebCore::Widget::setFocus):
83659
836602010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
83661
83662        Reviewed by Eric Seidel.
83663
83664        [WML] Include FormDataBuilder.h in WMLGoElement.h
83665        https://bugs.webkit.org/show_bug.cgi?id=43177
83666
83667        To fix build breaks in WMLGoElement.cpp, FormDataBuilder.h needs to be included.
83668
83669        * wml/WMLGoElement.cpp: Include FormDataBuilder.h
83670
836712010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
83672
83673        Reviewed by Eric Seidel.
83674
83675        [WML] Add dummy argument to SelectElement::defaultEventHandler() in WMLSelectElement
83676        https://bugs.webkit.org/show_bug.cgi?id=43176
83677
83678        * wml/WMLSelectElement.cpp:
83679        (WebCore::WMLSelectElement::defaultEventHandler): Sets NULL parameter to SelectElement::defaultEventHandler.
83680
836812010-08-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
83682
83683        Reviewed by Eric Seidel.
83684
83685        [WML] Change DocumentParser with ScriptableDocumentParser in WMLDocument
83686        https://bugs.webkit.org/show_bug.cgi?id=43174
83687
83688        * wml/WMLDocument.cpp:
83689        (WebCore::WMLDocument::finishedParsing): Change DocumentParser with ScriptableDocumentParser.
83690
836912010-08-07  Dan Bernstein  <mitz@apple.com>
83692
83693        Reviewed by Sam Weinig.
83694
83695        Use ctFont() to get the CTFont.
83696
83697        * platform/graphics/mac/FontMac.mm:
83698        (WebCore::showGlyphsWithAdvances):
83699
837002010-08-07  Adam Barth  <abarth@webkit.org>
83701
83702        Reviewed by Sam Weinig.
83703
83704        document->documentElement can always be null
83705        https://bugs.webkit.org/show_bug.cgi?id=43677
83706
83707        This ASSERT is bogus.
83708
83709        * css/StyleMedia.cpp:
83710        (WebCore::StyleMedia::matchMedium):
83711
837122010-08-07  Dan Bernstein  <mitz@apple.com>
83713
83714        Reviewed by Anders Carlsson.
83715
83716        <rdar://problem/8285090> First word on a line doesn’t hyphenate properly
83717        https://bugs.webkit.org/show_bug.cgi?id=43679
83718
83719        Test: fast/text/hyphenate-first-word.html
83720
83721        * rendering/RenderBlockLineLayout.cpp:
83722        (WebCore::tryHyphenating): The character at lastSpace is not necessarily a whitespace character
83723        before the current word. It can also be part of the word, such as when the word is the first
83724        one on the line. Include the charcater at lastSpace in the string passed to lastHyphenLocation().
83725
837262010-08-07  Dan Bernstein  <mitz@apple.com>
83727
83728        Build fix
83729
83730        * platform/graphics/SimpleFontData.h:
83731
837322010-08-07  Dan Bernstein  <mitz@apple.com>
83733
83734        Reviewed by Anders Carlsson.
83735
83736        Created a separate SimpleFontData constructor exclusively for SVG fonts and moved the CTFontRef
83737        from SimpleFontData to FontPlatformData.
83738        https://bugs.webkit.org/show_bug.cgi?id=43674
83739
83740        * config.h: Moved definitions of WTF_USE_CORE_TEXT and WTF_USE_ATSUI from here to wtf/Platform.h.
83741        * css/CSSFontFaceSource.cpp:
83742        (WebCore::CSSFontFaceSource::getFontData): Use new SimpleFontData constructor for SVG fonts.
83743        * platform/graphics/SimpleFontData.cpp:
83744        (WebCore::SimpleFontData::SimpleFontData): Separated into two constructors, one for
83745        PlatformFontData-based fonts and one for SVG fonts.
83746        * platform/graphics/SimpleFontData.h: Moved the m_CTFont member variable and the getCTFont()
83747        accessor from here…
83748        * platform/graphics/mac/FontPlatformData.h: …to here, renaming the latter ctFont().
83749        * platform/graphics/mac/FontPlatformDataMac.mm:
83750        (WebCore::FontPlatformData::FontPlatformData): Copy m_CTFont.
83751        (WebCore::FontPlatformData::operator=): Copy m_CTFont.
83752        (WebCore::FontPlatformData::setFont): Clear m_CTFont.
83753        (WebCore::FontPlatformData::ctFont): Moved here from SimpleFontDataCoreText.cpp and renamed.
83754        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
83755        (WebCore::SimpleFontData::getCFStringAttributes): Updated to use FontPlatformData::ctFont().
83756        * svg/SVGFontData.cpp:
83757        (WebCore::SVGFontData::SVGFontData): Added an assertion.
83758
837592010-08-07  Adam Barth  <abarth@webkit.org>
83760
83761        Reviewed by Dimitri Glazkov.
83762
83763        Regression: Memory corruption in tree builder
83764        https://bugs.webkit.org/show_bug.cgi?id=43672
83765
83766        Turns out this ASSERT was wrong and we need the branch.  Yay for
83767        test-driven development.
83768
83769        * html/HTMLTreeBuilder.cpp:
83770        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
83771
837722010-08-07  Dirk Schulze  <krit@webkit.org>
83773
83774        Unreviewed build-fix.
83775
83776        Come up with a more efficient way to represent Path segments
83777        https://bugs.webkit.org/show_bug.cgi?id=41159
83778
83779        Landed wrong version of the patch.
83780
83781        * svg/SVGPathByteStreamSource.cpp:
83782        (WebCore::SVGPathByteStreamSource::SVGPathByteStreamSource):
83783        (WebCore::SVGPathByteStreamSource::hasMoreData):
83784        * svg/SVGPathByteStreamSource.h:
83785        (WebCore::SVGPathByteStreamSource::moveToNextToken):
83786        * svg/SVGPathParserFactory.cpp:
83787        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
83788        (WebCore::SVGPathParserFactory::createSVGPathByteStreamFromString):
83789        * svg/SVGPathParserFactory.h:
83790
837912010-08-07  Dirk Schulze  <krit@webkit.org>
83792
83793        Reviewed by Nikolas Zimmermann.
83794
83795        Come up with a more efficient way to represent Path segments
83796        https://bugs.webkit.org/show_bug.cgi?id=41159
83797
83798        Introduce SVGPathByteStream as a fast and efficient way to organize the synchronization
83799        of Path, SVG path data string and SVGPathSegList in normalized and unaltered modes.
83800        Extended SVGPathParserFactory to accept SVGPathByteStreams as input source and to create
83801        a SVGPathByteStream from a SVG path data string.
83802
83803        Doesn't affect any tests.
83804
83805        * Android.mk:
83806        * CMakeLists.txt:
83807        * GNUmakefile.am:
83808        * WebCore.gypi:
83809        * WebCore.pro:
83810        * WebCore.vcproj/WebCore.vcproj:
83811        * svg/SVGAllInOne.cpp:
83812        * svg/SVGPathByteStream.h: Added.
83813        (WebCore::):
83814        (WebCore::SVGPathByteStream::create):
83815        (WebCore::SVGPathByteStream::data):
83816        (WebCore::SVGPathByteStream::begin):
83817        (WebCore::SVGPathByteStream::end):
83818        (WebCore::SVGPathByteStream::append):
83819        (WebCore::SVGPathByteStream::clear):
83820        (WebCore::SVGPathByteStream::isEmpty):
83821        (WebCore::SVGPathByteStream::SVGPathByteStream):
83822        * svg/SVGPathByteStreamBuilder.cpp: Added.
83823        (WebCore::SVGPathByteStreamBuilder::SVGPathByteStreamBuilder):
83824        (WebCore::SVGPathByteStreamBuilder::moveTo):
83825        (WebCore::SVGPathByteStreamBuilder::lineTo):
83826        (WebCore::SVGPathByteStreamBuilder::lineToHorizontal):
83827        (WebCore::SVGPathByteStreamBuilder::lineToVertical):
83828        (WebCore::SVGPathByteStreamBuilder::curveToCubic):
83829        (WebCore::SVGPathByteStreamBuilder::curveToCubicSmooth):
83830        (WebCore::SVGPathByteStreamBuilder::curveToQuadratic):
83831        (WebCore::SVGPathByteStreamBuilder::curveToQuadraticSmooth):
83832        (WebCore::SVGPathByteStreamBuilder::arcTo):
83833        (WebCore::SVGPathByteStreamBuilder::closePath):
83834        * svg/SVGPathByteStreamBuilder.h: Added.
83835        (WebCore::SVGPathByteStreamBuilder::setCurrentByteStream):
83836        (WebCore::SVGPathByteStreamBuilder::writeType):
83837        (WebCore::SVGPathByteStreamBuilder::writeFlag):
83838        (WebCore::SVGPathByteStreamBuilder::writeFloat):
83839        (WebCore::SVGPathByteStreamBuilder::writeFloatPoint):
83840        (WebCore::SVGPathByteStreamBuilder::writeSegmentType):
83841        * svg/SVGPathByteStreamSource.cpp: Added.
83842        (WebCore::SVGPathByteStreamSource::SVGPathByteStreamSource):
83843        (WebCore::SVGPathByteStreamSource::~SVGPathByteStreamSource):
83844        (WebCore::SVGPathByteStreamSource::hasMoreData):
83845        (WebCore::SVGPathByteStreamSource::parseFloat):
83846        (WebCore::SVGPathByteStreamSource::parseFlag):
83847        (WebCore::SVGPathByteStreamSource::parseSVGSegmentType):
83848        (WebCore::SVGPathByteStreamSource::nextCommand):
83849        * svg/SVGPathByteStreamSource.h: Added.
83850        (WebCore::SVGPathByteStreamSource::create):
83851        (WebCore::SVGPathByteStreamSource::readType):
83852        (WebCore::SVGPathByteStreamSource::readFlag):
83853        (WebCore::SVGPathByteStreamSource::readFloat):
83854        (WebCore::SVGPathByteStreamSource::readSVGSegmentType):
83855        (WebCore::SVGPathByteStreamSource::readFloatPoint):
83856        * svg/SVGPathParserFactory.cpp:
83857        (WebCore::globalSVGPathByteStreamBuilder):
83858        (WebCore::SVGPathParserFactory::buildPathFromByteStream):
83859        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
83860        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
83861        * svg/SVGPathParserFactory.h:
83862
838632010-08-07  Dirk Schulze  <krit@webkit.org>
83864
83865        Not reviewed. Sort Xcode project file.
83866
83867        * WebCore.xcodeproj/project.pbxproj:
83868
838692010-08-07  Sheriff Bot  <webkit.review.bot@gmail.com>
83870
83871        Unreviewed, rolling out r64904.
83872        http://trac.webkit.org/changeset/64904
83873        https://bugs.webkit.org/show_bug.cgi?id=43671
83874
83875        Broke the Qt Windows builders. (Requested by bbandix on
83876        #webkit).
83877
83878        * WebCore.pri:
83879        * WebCore.pro:
83880        * features.pri: Removed.
83881
838822010-08-07  Balazs Kelemen  <kb@inf.u-szeged.hu>
83883
83884        Reviewed by Eric Seidel.
83885
83886        [Qt] Build WebKit2 into a static lib
83887
83888        https://bugs.webkit.org/show_bug.cgi?id=43621
83889
83890        Just build changes so no new tests.
83891
83892        * WebCore.pri: Moved feature detection logic into features.pri since we need this in WebKit2.pro as well.
83893        * WebCore.pro: Moved the specification of the WebKit2 build to WebKit2.pro. Link against the static lib.
83894        * features.pri: Added.
83895
838962010-08-07  Nikolas Zimmermann  <nzimmermann@rim.com>
83897
83898        Reviewed by Daniel Bates.
83899
83900        Pattern fill with image not rendered after reload
83901        https://bugs.webkit.org/show_bug.cgi?id=41596
83902
83903        Fixed by a one-liner. Instead of just invalidating it's own resources, images also have to update
83904        resources in the ancestor chain, if imageChanged() has been called (for example, a slow loading image)
83905
83906        Test: http/tests/misc/slow-loading-image-in-pattern.html
83907
83908        * rendering/RenderSVGImage.cpp:
83909        (WebCore::RenderSVGImage::imageChanged):
83910
839112010-08-06  Dirk Schulze  <krit@webkit.org>
83912
83913        Reviewed by Nikolas Zimmermann.
83914
83915        Generalize SVGPathParser to allow more than just strings as input source
83916        https://bugs.webkit.org/show_bug.cgi?id=43618
83917
83918        Generalize SVGPathParser, by allowing different parsing sources than just strings.
83919        For now only a SVGPathStringSource is available, parsing from bytestreams follows soon.
83920        Each client that wants to parse strings, like Path or SVGPathSegList objects, only
83921        needs to use the new central SVGPathParserFactory, which glues consumer and sources together.
83922        Moved the SVGPathSegType enum from SVGPathSeg class in WebCore namespace, for
83923        easier access throughout the SVG code.
83924
83925        Doesn't affect any tests.
83926
83927        * Android.mk:
83928        * CMakeLists.txt
83929        * GNUmakefile.am:
83930        * WebCore.gypi:
83931        * WebCore.pro:
83932        * WebCore.vcproj/WebCore.vcproj:
83933        * WebCore.xcodeproj/project.pbxproj
83934        * svg/SVGAllInOne.cpp:
83935        * svg/SVGAnimateElement.cpp:
83936        (WebCore::SVGAnimateElement::calculateFromAndToValues):
83937        * svg/SVGAnimateMotionElement.cpp:
83938        (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
83939        * svg/SVGGlyphElement.cpp:
83940        (WebCore::parsePathData):
83941        * svg/SVGPathBuilder.cpp:
83942        (WebCore::SVGPathBuilder::SVGPathBuilder):
83943        (WebCore::SVGPathBuilder::moveTo):
83944        (WebCore::SVGPathBuilder::lineTo):
83945        (WebCore::SVGPathBuilder::curveToCubic):
83946        (WebCore::SVGPathBuilder::closePath):
83947        * svg/SVGPathBuilder.h:
83948        (WebCore::SVGPathBuilder::setCurrentPath):
83949        (WebCore::SVGPathBuilder::arcTo):
83950        * svg/SVGPathConsumer.h:
83951        * svg/SVGPathElement.cpp:
83952        (WebCore::SVGPathElement::parseMappedAttribute):
83953        * svg/SVGPathParser.cpp:
83954        (WebCore::SVGPathParser::SVGPathParser):
83955        (WebCore::SVGPathParser::parseClosePathSegment):
83956        (WebCore::SVGPathParser::parseMoveToSegment):
83957        (WebCore::SVGPathParser::parseLineToSegment):
83958        (WebCore::SVGPathParser::parseLineToHorizontalSegment):
83959        (WebCore::SVGPathParser::parseLineToVerticalSegment):
83960        (WebCore::SVGPathParser::parseCurveToCubicSegment):
83961        (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
83962        (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
83963        (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
83964        (WebCore::SVGPathParser::parseArcToSegment):
83965        (WebCore::SVGPathParser::parsePathDataFromSource):
83966        (WebCore::SVGPathParser::decomposeArcToCubic):
83967        * svg/SVGPathParser.h:
83968        (WebCore::SVGPathParser::setCurrentConsumer):
83969        * svg/SVGPathParserFactory.cpp: Added.
83970        (WebCore::globalSVGPathBuilder):
83971        (WebCore::globalSVGPathSegListBuilder):
83972        (WebCore::globalSVGPathParser):
83973        (WebCore::SVGPathParserFactory::self):
83974        (WebCore::SVGPathParserFactory::SVGPathParserFactory):
83975        (WebCore::SVGPathParserFactory::~SVGPathParserFactory):
83976        (WebCore::SVGPathParserFactory::buildPathFromString):
83977        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
83978        * svg/SVGPathParserFactory.h: Added.
83979        * svg/SVGPathSeg.h:
83980        (WebCore::):
83981        (WebCore::SVGPathSeg::~SVGPathSeg):
83982        (WebCore::SVGPathSeg::):
83983        (WebCore::SVGPathSeg::pathSegType):
83984        (WebCore::SVGPathSeg::pathSegTypeAsLetter):
83985        (WebCore::SVGPathSeg::toString):
83986        (WebCore::SVGPathSeg::associatedAttributeName):
83987        (WebCore::SVGPathSeg::SVGPathSeg):
83988        (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
83989        (WebCore::SVGPathSegSingleCoord::setX):
83990        (WebCore::SVGPathSegSingleCoord::x):
83991        (WebCore::SVGPathSegSingleCoord::setY):
83992        (WebCore::SVGPathSegSingleCoord::y):
83993        (WebCore::SVGPathSegSingleCoord::toString):
83994        * svg/SVGPathSegList.cpp:
83995        (WebCore::SVGPathSegList::getPathSegAtLength):
83996        (WebCore::SVGPathSegList::toPathData):
83997        (WebCore::SVGPathSegList::createAnimated):
83998        * svg/SVGPathSegListBuilder.cpp:
83999        (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
84000        (WebCore::SVGPathSegListBuilder::moveTo):
84001        (WebCore::SVGPathSegListBuilder::lineTo):
84002        (WebCore::SVGPathSegListBuilder::curveToCubic):
84003        (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
84004        (WebCore::SVGPathSegListBuilder::curveToQuadratic):
84005        (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
84006        (WebCore::SVGPathSegListBuilder::arcTo):
84007        * svg/SVGPathSegListBuilder.h:
84008        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
84009        * svg/SVGPathSource.h: Added.
84010        (WebCore::SVGPathSource::~SVGPathSource):
84011        (WebCore::SVGPathSource::SVGPathSource):
84012        * svg/SVGPathStringSource.cpp: Added.
84013        (WebCore::SVGPathStringSource::SVGPathStringSource):
84014        (WebCore::SVGPathStringSource::~SVGPathStringSource):
84015        (WebCore::SVGPathStringSource::endOfStream):
84016        (WebCore::SVGPathStringSource::parseFloat):
84017        (WebCore::SVGPathStringSource::parseFlag):
84018        (WebCore::SVGPathStringSource::skipSpaces):
84019        (WebCore::SVGPathStringSource::parseSVGSegmentType):
84020        (WebCore::SVGPathStringSource::hasRemainingCoordinatesInCurrentCommand):
84021        * svg/SVGPathStringSource.h: Added.
84022        (WebCore::SVGPathStringSource::create):
84023
840242010-08-06  Robert Hogan  <robert@webkit.org>
84025
84026        Reviewed by Adam Barth.
84027
84028        Define setPrivateBrowsingEnabled()
84029        https://bugs.webkit.org/show_bug.cgi?id=42283
84030
84031        Define the scope of 'private browsing' in WebKit
84032        See also https://bugs.webkit.org/show_bug.cgi?id=41801
84033
84034        * page/Settings.h:
84035
840362010-08-06  Adam Barth  <abarth@webkit.org>
84037
84038        Reviewed by Eric Seidel.
84039
84040        REGRESSION (r64712): YouTube video pages have contents of <noembed> elements overlapping the video description
84041        https://bugs.webkit.org/show_bug.cgi?id=43605
84042
84043        The old parser used to drop <noembed> on the floor.  We're supposed to
84044        add it to the DOM, but we don't want to create a renderer for it.
84045
84046        * html/HTMLElement.cpp:
84047        (WebCore::HTMLElement::rendererIsNeeded):
84048
840492010-08-06  Tony Gentilcore  <tonyg@chromium.org>
84050
84051        Reviewed by Adam Barth.
84052
84053        Fix style violations in Document
84054        https://bugs.webkit.org/show_bug.cgi?id=43657
84055
84056        No new tests because no new functionality.
84057
84058        * dom/Document.cpp:
84059        (WebCore::acceptsEditingFocus):
84060        (WebCore::Document::Document):
84061        (WebCore::Document::importNode):
84062        (WebCore::Document::adoptNode):
84063        (WebCore::Document::getElementById):
84064        (WebCore::Document::readyState):
84065        (WebCore::Document::createTreeWalker):
84066        (WebCore::Document::shouldScheduleLayout):
84067        (WebCore::Document::nextFocusableNode):
84068        (WebCore::Document::previousFocusableNode):
84069        (WebCore::Document::nodeAbsIndex):
84070        (WebCore::Document::nodeWithAbsIndex):
84071        (WebCore::Document::childTypeAllowed):
84072        (WebCore::Document::canReplaceChild):
84073        (WebCore::Document::recalcStyleSelector):
84074        (WebCore::Document::setFocusedNode):
84075        (WebCore::Document::attachNodeIterator):
84076        (WebCore::Document::detachNodeIterator):
84077        (WebCore::Document::parseQualifiedName):
84078        (WebCore::Document::getImageMap):
84079        (WebCore::Document::setInPageCache):
84080        (WebCore::Document::addMarker):
84081        (WebCore::Document::copyMarkers):
84082        (WebCore::Document::shiftMarkers):
84083        (WebCore::Document::setMarkersActive):
84084        (WebCore::Document::parentDocument):
84085        (WebCore::Document::topDocument):
84086        (WebCore::FormElementKeyHash::hash):
84087        (WebCore::Document::initSecurityContext):
84088        * dom/Document.h:
84089        (WebCore::Document::incDOMTreeVersion):
84090        (WebCore::Document::domTreeVersion):
84091
840922010-08-06  Eric Carlson  <eric.carlson@apple.com>
84093
84094        Unreviewed, release Qt build fix.
84095
84096        * rendering/RenderLayerBacking.cpp:
84097        (WebCore::RenderLayerBacking::containsPaintedContent): Guard call to toRenderVideo()
84098        with #if ENABLE(VIDEO).
84099
841002010-08-06  Eric Carlson  <eric.carlson@apple.com>
84101
84102        Reviewed by Simon Fraser.
84103
84104        HTML5 "video" tag with poster frame defined "flashes" right before movie displays
84105        https://bugs.webkit.org/show_bug.cgi?id=37591
84106        <rdar://problem/5650561>
84107
84108        If a video element has a poster frame, display it until the playback is requested or the movie's
84109        time is changed.
84110
84111        Test: compositing/video/video-poster.html
84112
84113        * html/HTMLMediaElement.cpp:
84114        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_displayMode.
84115        (WebCore::HTMLMediaElement::prepareForLoad): Set m_displayMode to Unknown.
84116        (WebCore::HTMLMediaElement::loadResource): Call updateDisplayState to let it set configure
84117        the poster, if necessary.
84118        (WebCore::HTMLMediaElement::noneSupported): updatePosterImage -> updateDisplayState.
84119        (WebCore::HTMLMediaElement::setNetworkState): Ditto.
84120        (WebCore::HTMLMediaElement::setReadyState): Ditto.
84121        (WebCore::HTMLMediaElement::finishSeek): Set display mode to Video so a video frame will be
84122        displayed if a poster is currently visible.
84123        (WebCore::HTMLMediaElement::mediaPlayerRepaint): updatePosterImage -> updateDisplayState.
84124        (WebCore::HTMLMediaElement::updatePlayState): Set display mode to Video.
84125        * html/HTMLMediaElement.h:
84126        (WebCore::HTMLMediaElement::displayMode): New.
84127        (WebCore::HTMLMediaElement::setDisplayMode): Ditto.
84128        (WebCore::HTMLMediaElement::updateDisplayState): Ditto.
84129
84130        * html/HTMLVideoElement.cpp:
84131        (WebCore::HTMLVideoElement::HTMLVideoElement): Remove m_shouldDisplayPosterImage.
84132        (WebCore::HTMLVideoElement::attach): Call shouldDisplayPosterImage instead of checking
84133        m_shouldDisplayPosterImage directly.
84134        (WebCore::HTMLVideoElement::detach): Ditto.
84135        (WebCore::HTMLVideoElement::parseMappedAttribute): Set m_displayMode to Unknown before calling 
84136        updateDisplayState so shouldDisplayPosterImage() will return the correct result. Remove the
84137        PLUGIN_PROXY_FOR_VIDEO code, it is now in updateDisplayState.
84138        (WebCore::HTMLVideoElement::setDisplayMode): Renamed from updatePosterImage and rework logic
84139        so we tell the media engine it is OK to display video frames when there is no poster, or 
84140        once the media engine has something to display and the movie has started or seeked.
84141        (WebCore::HTMLVideoElement::updateDisplayState): New, manage display mode based on poster 
84142        attribute.
84143        * html/HTMLVideoElement.h:
84144        (WebCore::HTMLVideoElement::shouldDisplayPosterImage):
84145
84146        * platform/graphics/MediaPlayer.cpp:
84147        (WebCore::MediaPlayer::prepareForRendering): New, call media engine's prepareForRendering.
84148        * platform/graphics/MediaPlayer.h:
84149        * platform/graphics/MediaPlayerPrivate.h:
84150        (WebCore::MediaPlayerPrivateInterface::prepareForRendering):
84151
84152        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
84153        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
84154        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_isAllowedToRender.
84155        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
84156        (WebCore::MediaPlayerPrivate::isReadyForVideoSetup): Renamed from isReadyForRendering.
84157        (WebCore::MediaPlayerPrivate::prepareForRendering): New, set m_isAllowedToRender and
84158        inform the client that render tree should be updated so we correctly switch from showing
84159        the poster, which often doens't use a layer, to showing video frames, which do.
84160        (WebCore::MediaPlayerPrivate::updateStates): Don't call setUpVideoRendering until 
84161        isReadyForVideoSetup() returns true.
84162        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): isReadyForRendering -> isReadyForVideoSetup
84163
84164        * rendering/RenderLayerBacking.cpp:
84165        (WebCore::RenderLayerBacking::containsPaintedContent): Only consider video when displaying
84166        video frames so a poster won't force compositing mode.
84167
84168        * rendering/RenderLayerCompositor.cpp:
84169        (WebCore::RenderLayerCompositor::requiresCompositingForVideo): Ditto.
84170
84171        * rendering/RenderVideo.cpp:
84172        (WebCore::RenderVideo::shouldDisplayVideo): New, return true when not displaying a poster.
84173        * rendering/RenderVideo.h:
84174
841752010-08-06  James Robinson  <jamesr@chromium.org>
84176
84177        Reviewed by Simon Fraser.
84178
84179        Accelerated 2d canvases should get compositing layers
84180        https://bugs.webkit.org/show_bug.cgi?id=43362
84181
84182        Allows for 2d canvas rendering contexts to use a GraphicsContext3D for
84183        accelerated rendering.  The rendering context holds the GraphicsContext3D
84184        alive and exposes it to the compositor.  The 3d context itself is passed
84185        down through the GraphicsContext to use for actual rendering:
84186        https://bug-43362-attachments.webkit.org/attachment.cgi?id=63557
84187
84188        This approach will let us simultaneously prototype accelerated techniques
84189        for canvas 2d and revise the design of canvas elements without destabilizing
84190        all ports.
84191
84192        * html/HTMLCanvasElement.cpp:
84193        (WebCore::HTMLCanvasElement::getContext):
84194        (WebCore::HTMLCanvasElement::willDraw):
84195        (WebCore::HTMLCanvasElement::makeRenderingResultsAvailable):
84196        * html/canvas/CanvasRenderingContext.h:
84197        (WebCore::CanvasRenderingContext::paintRenderingResultsToCanvas):
84198        * html/canvas/CanvasRenderingContext2D.cpp:
84199        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
84200        (WebCore::CanvasRenderingContext2D::isAccelerated):
84201        (WebCore::CanvasRenderingContext2D::reset):
84202        (WebCore::CanvasRenderingContext2D::willDraw):
84203        (WebCore::CanvasRenderingContext2D::paintRenderingResultsToCanvas):
84204        * html/canvas/CanvasRenderingContext2D.h:
84205        (WebCore::CanvasRenderingContext2D::graphicsContext3D):
84206        * html/canvas/WebGLRenderingContext.cpp:
84207        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
84208        * html/canvas/WebGLRenderingContext.h:
84209        * platform/graphics/GraphicsContext.h:
84210        * platform/graphics/skia/GraphicsContextSkia.cpp:
84211        (WebCore::GraphicsContext::syncSoftwareCanvas):
84212
842132010-08-06  Eric Seidel  <eric@webkit.org>
84214
84215        Reviewed by Chris Fleizach.
84216
84217        Make AX Code use more specific RenderObject subclass types
84218        https://bugs.webkit.org/show_bug.cgi?id=43632
84219
84220        No functional change, thus no tests.
84221
84222        * accessibility/AXObjectCache.cpp:
84223        (WebCore::nodeHasRole):
84224         - Make this take a String instead of AtomicString, to avoid
84225           thrashing the atomic string hash.
84226           It would be better to take a const char* here, except
84227           one caller passes nullAtom.
84228        (WebCore::createFromRenderer):
84229         - Split this out from getOrCreate to make it simpler.
84230         - No longer needs to deal with setting a "result"
84231           pointer and can instead just return.
84232         - I've also made this function use RenderBoxModelObject*
84233           where appropriate.
84234        (WebCore::AXObjectCache::getOrCreate):
84235        * accessibility/AXObjectCache.h:
84236        * accessibility/AccessibilityImageMapLink.cpp:
84237        (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
84238         - Fix style.
84239        * accessibility/AccessibilityMenuList.cpp:
84240        (WebCore::AccessibilityMenuList::AccessibilityMenuList):
84241         - Use a more specific type.
84242        (WebCore::AccessibilityMenuList::renderer):
84243        * accessibility/AccessibilityMenuList.h:
84244        (WebCore::AccessibilityMenuList::create):
84245        * accessibility/AccessibilityMenuListPopup.cpp:
84246         - Need RenderMenuList.h since renderer() is a RenderMenuList*
84247        * accessibility/AccessibilityObject.cpp:
84248        (WebCore::renderListItemContainerForNode):
84249        * accessibility/AccessibilityRenderObject.cpp:
84250        (WebCore::AccessibilityRenderObject::renderBoxModelObject):
84251         - New helper function, similar to Node::renderBoxModelObject()
84252        (WebCore::isInlineWithContinuation):
84253        (WebCore::AccessibilityRenderObject::isNativeImage):
84254        (WebCore::AccessibilityRenderObject::isAttachment):
84255        (WebCore::AccessibilityRenderObject::isMultiSelectable):
84256        (WebCore::AccessibilityRenderObject::isReadOnly):
84257        (WebCore::AccessibilityRenderObject::isFieldset):
84258        (WebCore::AccessibilityRenderObject::actionElement):
84259        (WebCore::AccessibilityRenderObject::stringValue):
84260        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
84261        (WebCore::AccessibilityRenderObject::setValue):
84262        (WebCore::AccessibilityRenderObject::widget):
84263        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
84264        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
84265        (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
84266        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
84267        (WebCore::AccessibilityRenderObject::addChildren):
84268        (WebCore::msaaRoleForRenderer):
84269        * accessibility/AccessibilityRenderObject.h:
84270        * accessibility/AccessibilityTable.cpp:
84271        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
84272        * accessibility/AccessibilityTable.h:
84273         - Remove unneeded "using namespace std".
84274
842752010-08-06  Tony Gentilcore  <tonyg@chromium.org>
84276
84277        Reviewed by Eric Seidel.
84278
84279        Factor an AsyncScriptRunner out of Document
84280        https://bugs.webkit.org/show_bug.cgi?id=43633
84281
84282        This copies the existing implementation exactly. In the future
84283        this will use PendingScript which handles ref counting without
84284        the need for those manual ref()/deref()s. This is also currently
84285        a trivial class, but a little more logic will be added to it to
84286        support <script async>.
84287
84288        No new tests because no new functionality.
84289
84290        * Android.mk:
84291        * CMakeLists.txt:
84292        * GNUmakefile.am:
84293        * WebCore.gypi:
84294        * WebCore.pro:
84295        * WebCore.vcproj/WebCore.vcproj:
84296        * WebCore.xcodeproj/project.pbxproj:
84297        * dom/AsyncScriptRunner.cpp: Added.
84298        (WebCore::AsyncScriptRunner::AsyncScriptRunner):
84299        (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
84300        (WebCore::AsyncScriptRunner::executeScriptSoon):
84301        (WebCore::AsyncScriptRunner::suspend):
84302        (WebCore::AsyncScriptRunner::resume):
84303        (WebCore::AsyncScriptRunner::timerFired):
84304        * dom/AsyncScriptRunner.h: Added.
84305        (WebCore::AsyncScriptRunner::create):
84306        (WebCore::AsyncScriptRunner::hasPendingScripts):
84307        * dom/Document.cpp:
84308        (WebCore::Document::Document):
84309        (WebCore::Document::~Document):
84310        * dom/Document.h:
84311        (WebCore::Document::asyncScriptRunner):
84312        * dom/ScriptElement.cpp:
84313        (WebCore::ScriptElementData::notifyFinished):
84314        * page/PageGroupLoadDeferrer.cpp:
84315        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
84316        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
84317
843182010-08-06  James Robinson  <jamesr@chromium.org>
84319
84320        Reviewed by Dimitri Glazkov.
84321
84322        [chromium] Implement GLES2Canvas/Texture in terms of GraphicsContext3D instead of direct OpenGL calls
84323        https://bugs.webkit.org/show_bug.cgi?id=43608
84324
84325        This converts all OpenGL calls in GLES2(Canvas|Texture) to calls on the corresponding GraphicsContext3D
84326        API, due to feedback on https://bugs.webkit.org/show_bug.cgi?id=43362.  Nearly all the changes are
84327        applying the regex s/gl([A-Z])/m_context->%1</ and removing unnecessary makeCurrent() calls.
84328        Other changes hilighted below.
84329
84330        * platform/graphics/chromium/GLES2Canvas.cpp:
84331        (WebCore::affineTo3x3):
84332        (WebCore::GLES2Canvas::GLES2Canvas):
84333        (WebCore::GLES2Canvas::~GLES2Canvas):
84334        (WebCore::GLES2Canvas::clearRect):
84335        (WebCore::GLES2Canvas::fillRect):
84336        (WebCore::GLES2Canvas::drawTexturedRect):
84337        (WebCore::GLES2Canvas::applyCompositeOperator):
84338        (WebCore::GLES2Canvas::getQuadVertices):
84339        (WebCore::GLES2Canvas::getQuadIndices):
84340            - use new typed XXArray classes for buffer uploads
84341        (WebCore::loadShader):
84342        (WebCore::GLES2Canvas::getSimpleProgram):
84343        (WebCore::GLES2Canvas::getTexProgram):
84344        (WebCore::GLES2Canvas::createTexture):
84345        (WebCore::GLES2Canvas::checkGLError):
84346        * platform/graphics/chromium/GLES2Canvas.h:
84347        (WebCore::GLES2Canvas::context):
84348        * platform/graphics/chromium/GLES2Texture.cpp:
84349        (WebCore::GLES2Texture::GLES2Texture):
84350        (WebCore::GLES2Texture::~GLES2Texture):
84351        (WebCore::GLES2Texture::create):
84352        (WebCore::convertFormat):
84353        (WebCore::GLES2Texture::load):
84354        (WebCore::GLES2Texture::bind):
84355        * platform/graphics/chromium/GLES2Texture.h:
84356        * platform/graphics/skia/GraphicsContextSkia.cpp:
84357        (WebCore::GraphicsContext::fillRect):
84358            - add a missing restore() call to the H/W path
84359        * platform/graphics/skia/ImageSkia.cpp:
84360        (WebCore::drawBitmapGLES2):
84361        * platform/graphics/skia/PlatformContextSkia.cpp:
84362        (WebCore::PlatformContextSkia::setGraphicsContext3D):
84363        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
84364            - avoid applying CTM to uploads
84365        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
84366        * platform/graphics/skia/PlatformContextSkia.h:
84367
843682010-08-06  James Robinson  <jamesr@chromium.org>
84369
84370        Reviewed by Simon Fraser.
84371
84372        Composited canvas should be treated the same by the compositor and not be WebGL specific
84373        https://bugs.webkit.org/show_bug.cgi?id=43589
84374
84375        This treats all GraphicsContext3D-backed layers the same instead of special casing WebGL.
84376        The cross-platform change is to rename GraphicsLayer::setContentsToWebGL() to
84377        GraphicsLayer::setContentsToCanvas() and to rename all implementations.
84378
84379        This patch also renames the chromium class used for accelerating these layers.
84380
84381        Cross platform changes:
84382        * WebCore.gypi:
84383        * platform/graphics/GraphicsLayer.h:
84384        (WebCore::GraphicsLayer::setContentsToCanvas):
84385            Rename the function on the base class. GraphicsLayerCA and GraphicsLayerChromium implement this.
84386        * rendering/RenderLayerBacking.cpp:
84387        (WebCore::isAcceleratedCanvas):
84388            Helper function to see if a renderer is associated with an accelerated compositing layer.
84389        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
84390        (WebCore::RenderLayerBacking::containsPaintedContent):
84391        (WebCore::RenderLayerBacking::rendererContentChanged):
84392       Chromium specific changes:
84393        * platform/graphics/chromium/CanvasLayerChromium.cpp: Added.
84394        (WebCore::CanvasLayerChromium::create):
84395        (WebCore::CanvasLayerChromium::CanvasLayerChromium):
84396        (WebCore::CanvasLayerChromium::textureId):
84397        (WebCore::CanvasLayerChromium::updateTextureContents):
84398        (WebCore::CanvasLayerChromium::setContext):
84399        * platform/graphics/chromium/CanvasLayerChromium.h: Added.
84400        (WebCore::CanvasLayerChromium::drawsContent):
84401        (WebCore::CanvasLayerChromium::ownsTexture):
84402        (WebCore::CanvasLayerChromium::shaderProgramId):
84403        (WebCore::CanvasLayerChromium::setShaderProgramId):
84404        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
84405        (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
84406        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
84407        * platform/graphics/chromium/GraphicsLayerChromium.h:
84408        (WebCore::GraphicsLayerChromium::):
84409        * platform/graphics/chromium/LayerRendererChromium.cpp:
84410        (WebCore::LayerRendererChromium::drawLayer):
84411        (WebCore::LayerRendererChromium::initializeSharedGLObjects):
84412        * platform/graphics/chromium/LayerRendererChromium.h:
84413        (WebCore::LayerRendererChromium::):
84414        * platform/graphics/chromium/WebGLLayerChromium.cpp: Removed.
84415        * platform/graphics/chromium/WebGLLayerChromium.h: Removed.
84416        Mac specific changes:
84417        * platform/graphics/mac/GraphicsLayerCA.h:
84418        (WebCore::GraphicsLayerCA::):
84419        * platform/graphics/mac/GraphicsLayerCA.mm:
84420        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
84421        (WebCore::GraphicsLayerCA::updateContentsCanvasLayer):
84422        (WebCore::GraphicsLayerCA::setContentsToCanvas):
84423
844242010-08-06  Patrick Gansterer  <paroga@paroga.com>
84425
84426        Reviewed by Eric Seidel.
84427
84428        Add PluginView::bindingInstance() to PluginViewNone
84429        https://bugs.webkit.org/show_bug.cgi?id=42936
84430
84431        * bindings/js/ScriptControllerEfl.cpp:
84432        (WebCore::ScriptController::createScriptInstanceForWidget): Removed workaround.
84433        * plugins/PluginViewNone.cpp: Added property svn:eol-style.
84434        (WebCore::PluginView::bindingInstance): Added missing method and use it on WinCE.
84435
844362010-08-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
84437
84438        Reviewed by Xan Lopez.
84439
84440        Use new "package" name also for the directory where the inspector
84441        support files are installed.
84442
84443        * GNUmakefile.am:
84444
844452010-08-06  Jian Li  <jianli@chromium.org>
84446
84447        Fix chromium build break.
84448
84449        * inspector/InspectorDebuggerAgent.h:
84450
844512010-08-06  Dirk Schulze  <krit@webkit.org>
84452
84453        Not reviewed. Sort Xcode project file.
84454
84455        * WebCore.xcodeproj/project.pbxproj:
84456
844572010-08-06  Jessie Berlin  <jberlin@apple.com>
84458
84459        Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
84460        Unreviewed.
84461
84462        * accessibility/AXObjectCache.h:
84463        * accessibility/AccessibilityARIAGrid.h:
84464        * accessibility/AccessibilityListBoxOption.h:
84465        * accessibility/AccessibilityObject.h:
84466        * accessibility/AccessibilityRenderObject.h:
84467        * accessibility/AccessibilityTable.h:
84468        * bindings/cpp/WebDOMCString.h:
84469        * bindings/cpp/WebDOMString.h:
84470        * bindings/gobject/ConvertToUTF8String.h:
84471        * bindings/js/DOMWrapperWorld.h:
84472        * bindings/js/JSDOMBinding.h:
84473        * bindings/js/JSDOMWindowBase.h:
84474        * bindings/js/JSMessagePortCustom.h:
84475        * bindings/js/JavaScriptCallFrame.h:
84476        * bindings/js/ScriptController.h:
84477        * bindings/js/ScriptProfile.h:
84478        * bindings/js/ScriptSourceProvider.h:
84479        * bindings/js/ScriptString.h:
84480        * bindings/js/WorkerScriptController.h:
84481        * bindings/objc/DOMImplementationFront.h:
84482        * bindings/v8/ScheduledAction.h:
84483        * bindings/v8/ScriptController.h:
84484        * bindings/v8/V8DOMWindowShell.h:
84485        * bindings/v8/V8Proxy.h:
84486        * bindings/v8/V8Utilities.h:
84487        * bindings/v8/custom/V8CustomXPathNSResolver.h:
84488        * bridge/c/c_utility.h:
84489        * css/CSSFontSelector.h:
84490        * css/CSSHelper.h:
84491        * css/CSSOMUtils.h:
84492        * css/CSSPrimitiveValue.h:
84493        * css/MediaList.h:
84494        * css/StyleBase.h:
84495        * css/StyleSheetList.h:
84496        * css/WebKitCSSKeyframesRule.h:
84497        * dom/CheckedRadioButtons.h:
84498        * dom/DOMImplementation.h:
84499        * dom/DocumentMarker.h:
84500        * dom/DynamicNodeList.h:
84501        * dom/EventTarget.h:
84502        * dom/MessagePort.h:
84503        * dom/MessagePortChannel.h:
84504        * dom/NameNodeList.h:
84505        * dom/Node.h:
84506        * dom/NodeList.h:
84507        * dom/OptionGroupElement.h:
84508        * dom/ScriptExecutionContext.h:
84509        * dom/SelectElement.h:
84510        * dom/ViewportArguments.h:
84511        * dom/make_names.pl:
84512        * editing/HTMLInterchange.h:
84513        * editing/htmlediting.h:
84514        * editing/markup.h:
84515        * html/CollectionCache.h:
84516        * html/DOMFormData.h:
84517        * html/DataGridColumnList.h:
84518        * html/DateComponents.h:
84519        * html/FileStream.h:
84520        * html/FileStreamProxy.h:
84521        * html/FormDataList.h:
84522        (WebCore::FormDataList::appendData):
84523        * html/HTMLCollection.h:
84524        * html/HTMLElementStack.h:
84525        * html/HTMLFormattingElementList.h:
84526        * html/HTMLParserQuirks.h:
84527        * html/HTMLQuoteElement.h:
84528        * html/HTMLScriptRunnerHost.h:
84529        * html/StepRange.h:
84530        * html/canvas/CanvasGradient.h:
84531        * html/canvas/CanvasNumberArray.h:
84532        * html/canvas/CanvasPattern.h:
84533        * inspector/InjectedScript.h:
84534        * inspector/InspectorCSSStore.h:
84535        * inspector/InspectorClient.h:
84536        * inspector/InspectorFrontendClient.h:
84537        * inspector/InspectorValues.h:
84538        * inspector/ScriptDebugListener.h:
84539        * loader/CachedResourceClient.h:
84540        * loader/CrossOriginAccessControl.h:
84541        * loader/DocumentThreadableLoader.h:
84542        * loader/FrameLoaderClient.h:
84543        * loader/RedirectScheduler.h:
84544        * loader/SubframeLoader.h:
84545        * loader/appcache/DOMApplicationCache.h:
84546        * loader/archive/ArchiveFactory.h:
84547        * loader/icon/IconDatabaseClient.h:
84548        * notifications/NotificationPresenter.h:
84549        * page/Chrome.h:
84550        * page/ChromeClient.h:
84551        * page/Console.h:
84552        * page/ContextMenuClient.h:
84553        * page/DOMSelection.h:
84554        * page/EditorClient.h:
84555        * page/EventHandler.h:
84556        * page/FrameView.h:
84557        * page/GeolocationPositionCache.h:
84558        * page/History.h:
84559        * page/Location.h:
84560        * page/Navigator.h:
84561        * page/NavigatorBase.h:
84562        * page/PluginHalterClient.h:
84563        * page/PrintContext.h:
84564        * page/SpeechInput.h:
84565        * page/SpeechInputListener.h:
84566        * page/animation/AnimationController.h:
84567        * platform/CookieJar.h:
84568        * platform/CrossThreadCopier.h:
84569        * platform/DragImage.h:
84570        * platform/FileSystem.h:
84571        * platform/Language.h:
84572        * platform/Length.h:
84573        * platform/LinkHash.h:
84574        * platform/LocalizationStrategy.h:
84575        * platform/LocalizedStrings.h:
84576        * platform/Logging.h:
84577        * platform/Pasteboard.h:
84578        * platform/PopupMenuClient.h:
84579        * platform/SearchPopupMenu.h:
84580        * platform/Widget.h:
84581        * platform/cf/BinaryPropertyList.h:
84582        * platform/chromium/ChromiumBridge.h:
84583        * platform/chromium/ClipboardUtilitiesChromium.h:
84584        * platform/cocoa/KeyEventCocoa.h:
84585        * platform/graphics/Color.h:
84586        * platform/graphics/FontCache.h:
84587        * platform/graphics/FontData.h:
84588        * platform/graphics/FontSelector.h:
84589        * platform/graphics/GraphicsTypes.h:
84590        * platform/graphics/Icon.h:
84591        * platform/graphics/ImageBuffer.h:
84592        * platform/graphics/ImageSource.h:
84593        * platform/graphics/MediaPlayer.h:
84594        * platform/graphics/MediaPlayerPrivate.h:
84595        * platform/graphics/Path.h:
84596        * platform/graphics/StringTruncator.h:
84597        * platform/graphics/cairo/FontCustomPlatformData.h:
84598        * platform/graphics/cairo/FontPlatformData.h:
84599        * platform/graphics/cg/FontPlatformData.h:
84600        * platform/graphics/cg/ImageSourceCG.h:
84601        * platform/graphics/chromium/FontCustomPlatformData.h:
84602        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
84603        * platform/graphics/chromium/FontPlatformDataLinux.h:
84604        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
84605        * platform/graphics/haiku/FontCustomPlatformData.h:
84606        * platform/graphics/mac/FontCustomPlatformData.h:
84607        * platform/graphics/mac/FontPlatformData.h:
84608        * platform/graphics/qt/FontCustomPlatformData.h:
84609        * platform/graphics/qt/FontPlatformData.h:
84610        * platform/graphics/win/FontCustomPlatformData.h:
84611        * platform/graphics/win/FontCustomPlatformDataCairo.h:
84612        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
84613        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
84614        * platform/graphics/wince/FontPlatformData.h:
84615        * platform/graphics/wince/MediaPlayerPrivateWince.h:
84616        * platform/graphics/wince/MediaPlayerProxy.h:
84617        * platform/graphics/wx/FontCustomPlatformData.h:
84618        * platform/graphics/wx/FontPlatformData.h:
84619        * platform/mac/PasteboardHelper.h:
84620        * platform/network/DNS.h:
84621        * platform/network/FormData.h:
84622        * platform/network/FormDataBuilder.h:
84623        * platform/network/HTTPParsers.h:
84624        * platform/text/Hyphenation.h:
84625        * platform/text/LineEnding.h:
84626        * platform/text/TextCodec.h:
84627        * platform/text/TextEncoding.h:
84628        * platform/text/TextStream.h:
84629        * platform/win/BString.h:
84630        * platform/win/ClipboardUtilitiesWin.h:
84631        * platform/win/WCDataObject.h:
84632        * platform/win/WebCoreTextRenderer.h:
84633        * plugins/DOMMimeType.h:
84634        * plugins/DOMMimeTypeArray.h:
84635        * plugins/DOMPlugin.h:
84636        * plugins/DOMPluginArray.h:
84637        * rendering/CounterNode.h:
84638        * rendering/HitTestResult.h:
84639        * rendering/RenderObjectChildList.h:
84640        * rendering/RenderText.h:
84641        * rendering/RenderTreeAsText.h:
84642        * rendering/TextControlInnerElements.h:
84643        * rendering/style/ContentData.h:
84644        * rendering/style/RenderStyle.h:
84645        * storage/DatabaseAuthorizer.h:
84646        * storage/DatabaseTrackerClient.h:
84647        * storage/SQLTransaction.h:
84648        * storage/SQLTransactionSync.h:
84649        * storage/Storage.h:
84650        * storage/chromium/DatabaseObserver.h:
84651        * svg/SVGAnimatedTemplate.h:
84652        * svg/SVGDocumentExtensions.h:
84653        * svg/SVGGlyphElement.h:
84654        * svg/SVGHKernElement.h:
84655        * svg/SVGNumberList.h:
84656        * svg/SVGPointList.h:
84657        * svg/SVGPreserveAspectRatio.h:
84658        * svg/SVGStylable.h:
84659        * svg/SVGTests.h:
84660        * svg/SVGTransformList.h:
84661        * svg/SVGTransformable.h:
84662        * svg/SVGVKernElement.h:
84663        * websockets/ThreadableWebSocketChannel.h:
84664        * websockets/ThreadableWebSocketChannelClientWrapper.h:
84665        * websockets/WebSocket.h:
84666        * websockets/WebSocketChannel.h:
84667        * websockets/WebSocketHandshakeResponse.h:
84668        * wml/WMLErrorHandling.h:
84669        * wml/WMLPageState.h:
84670        * wml/WMLVariables.h:
84671        * workers/DefaultSharedWorkerRepository.h:
84672        * workers/SharedWorkerRepository.h:
84673        * workers/Worker.h:
84674        * workers/WorkerContextProxy.h:
84675        * workers/WorkerLoaderProxy.h:
84676        * workers/WorkerLocation.h:
84677        * workers/WorkerMessagingProxy.h:
84678        * workers/WorkerReportingProxy.h:
84679        * workers/WorkerThread.h:
84680        * xml/DOMParser.h:
84681        * xml/XMLHttpRequestUpload.h:
84682        * xml/XPathEvaluator.h:
84683        * xml/XPathExpression.h:
84684        * xml/XPathNSResolver.h:
84685        * xml/XPathResult.h:
84686        * xml/XPathUtil.h:
84687
846882010-08-04  Zhenyao Mo  <zmo@google.com>
84689
84690        Reviewed by Dimitri Glazkov.
84691
84692        WebGLBuffer::associateBufferData(ArrayBufferView* array) copies incorrect data for sliced views
84693        https://bugs.webkit.org/show_bug.cgi?id=42124
84694
84695        * html/canvas/WebGLBuffer.cpp:
84696        (WebCore::WebGLBuffer::associateBufferDataImpl): Helper function that's called by all associateBufferData().
84697        (WebCore::WebGLBuffer::associateBufferData): Call associateBufferDataImpl().
84698        (WebCore::WebGLBuffer::associateBufferSubDataImpl): Helper function that's called by all associateBufferSubData().
84699        (WebCore::WebGLBuffer::associateBufferSubData): Call associateBufferSubDataImpl().
84700        * html/canvas/WebGLBuffer.h: Declare helper functions.
84701
847022010-08-06  Adam Barth  <abarth@webkit.org>
84703
84704        Reviewed by Eric Seidel.
84705
84706        noembed should respect whether plugins are enabled
84707        https://bugs.webkit.org/show_bug.cgi?id=43611
84708
84709        This instruction isn't in the HTML5 spec, but it seems like the right
84710        thing to do.  I suspect this is because the spec doesn't understand
84711        that plugins can be disabled.
84712
84713        I'm not sure how we can test this in DumpRenderTree, but I'm open to
84714        suggestions.
84715
84716        * html/HTMLTreeBuilder.cpp:
84717        (WebCore::HTMLTreeBuilder::adjustedLexerState):
84718        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
84719        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
84720        (WebCore::HTMLTreeBuilder::scriptEnabled):
84721        (WebCore::HTMLTreeBuilder::pluginsEnabled):
84722        * html/HTMLTreeBuilder.h:
84723
847242010-08-06  Tony Gentilcore  <tonyg@chromium.org>
84725
84726        Reviewed by Adam Barth.
84727
84728        Factor out PendingScript and protect its members
84729        https://bugs.webkit.org/show_bug.cgi?id=43391
84730
84731        This will be shared by AsyncScriptRunner.
84732
84733        No new tests because no new functionality.
84734
84735        * Android.mk:
84736        * CMakeLists.txt:
84737        * GNUmakefile.am:
84738        * WebCore.gypi:
84739        * WebCore.pro:
84740        * WebCore.vcproj/WebCore.vcproj:
84741        * WebCore.xcodeproj/project.pbxproj:
84742        * dom/PendingScript.cpp: Added.
84743        (WebCore::PendingScript::~PendingScript):
84744        (WebCore::PendingScript::element):
84745        (WebCore::PendingScript::releaseElementAndClear):
84746        (WebCore::PendingScript::setCachedScript):
84747        (WebCore::PendingScript::cachedScript):
84748        * dom/PendingScript.h: Added.
84749        (WebCore::PendingScript::PendingScript):
84750        (WebCore::PendingScript::startingLineNumber):
84751        (WebCore::PendingScript::watchingForLoad):
84752        (WebCore::PendingScript::setWatchingForLoad):
84753        (WebCore::PendingScript::hasElement):
84754        (WebCore::PendingScript::adoptElement):
84755        (WebCore::PendingScript::notifyFinished):
84756        * html/HTMLScriptRunner.cpp:
84757        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
84758        (WebCore::HTMLScriptRunner::haveParsingBlockingScript):
84759        (WebCore::HTMLScriptRunner::requestScript):
84760        * html/HTMLScriptRunner.h:
84761
847622010-08-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
84763
84764        Reviewed by Darin Adler.
84765
84766        Change permission to access methods in XMLDocumentParser.h
84767        https://bugs.webkit.org/show_bug.cgi?id=43180
84768
84769        Change permission to access wellFormed(), lineNumber() and columnNumber()
84770        in XMLDocumentParser.h. Because, the methods are used by WML.
84771
84772        * dom/XMLDocumentParser.h:
84773        (WebCore::XMLDocumentParser::wellFormed): Change accebility permission. 
84774
847752010-08-06  Martin Robinson  <mrobinson@igalia.com>
84776
84777        Reviewed by Gustavo Noronha Silva.
84778
84779        [GTK] Support for image drags
84780        https://bugs.webkit.org/show_bug.cgi?id=40788
84781
84782        Add image drag-and-drop support for WebKit GTK+.
84783
84784        * platform/gtk/ClipboardGtk.cpp:
84785        (WebCore::ClipboardGtk::setDragImage): Filled this stub.
84786        (WebCore::ClipboardGtk::setDragImageElement): Filled this stub.
84787        (WebCore::ClipboardGtk::createDragImage): Filled this stub.
84788        (WebCore::ClipboardGtk::declareAndWriteDragImage): Write the image URL, markup, and image itself to the data object member.
84789        * platform/gtk/ClipboardGtk.h: Brought method declarations into line with the parent class.
84790
847912010-08-06  Yury Semikhatsky  <yurys@chromium.org>
84792
84793        Reviewed by Pavel Feldman.
84794
84795        Web Inspector: extract debugger implementation into InspectorDebuggerAgent
84796        https://bugs.webkit.org/show_bug.cgi?id=42340
84797
84798        * CMakeLists.txt:
84799        * GNUmakefile.am:
84800        * WebCore.gypi:
84801        * WebCore.pro:
84802        * WebCore.vcproj/WebCore.vcproj:
84803        * WebCore.xcodeproj/project.pbxproj:
84804        * inspector/CodeGeneratorInspector.pm:
84805        * inspector/Inspector.idl:
84806        * inspector/InspectorController.cpp:
84807        (WebCore::InspectorController::InspectorController):
84808        (WebCore::InspectorController::connectFrontend):
84809        (WebCore::InspectorController::didCommitLoad):
84810        (WebCore::InspectorController::enableDebuggerFromFrontend):
84811        (WebCore::InspectorController::disableDebugger):
84812        (WebCore::InspectorController::resume):
84813        (WebCore::InspectorController::loadBreakpoints):
84814        (WebCore::InspectorController::saveBreakpoints):
84815        * inspector/InspectorController.h:
84816        (WebCore::InspectorController::debuggerAgent):
84817        * inspector/InspectorDebuggerAgent.cpp: Added.
84818        (WebCore::md5Base16):
84819        (WebCore::formatBreakpointId):
84820        (WebCore::InspectorDebuggerAgent::create):
84821        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
84822        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
84823        (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
84824        (WebCore::InspectorDebuggerAgent::activateBreakpoints):
84825        (WebCore::InspectorDebuggerAgent::deactivateBreakpoints):
84826        (WebCore::InspectorDebuggerAgent::setBreakpoint):
84827        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
84828        (WebCore::InspectorDebuggerAgent::editScriptSource):
84829        (WebCore::InspectorDebuggerAgent::getScriptSource):
84830        (WebCore::InspectorDebuggerAgent::pause):
84831        (WebCore::InspectorDebuggerAgent::resume):
84832        (WebCore::InspectorDebuggerAgent::stepOverStatement):
84833        (WebCore::InspectorDebuggerAgent::stepIntoStatement):
84834        (WebCore::InspectorDebuggerAgent::stepOutOfFunction):
84835        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
84836        (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
84837        (WebCore::InspectorDebuggerAgent::currentCallFrames):
84838        (WebCore::InspectorDebuggerAgent::loadBreakpoints):
84839        (WebCore::InspectorDebuggerAgent::saveBreakpoints):
84840        (WebCore::InspectorDebuggerAgent::didParseSource):
84841        (WebCore::InspectorDebuggerAgent::failedToParseSource):
84842        (WebCore::InspectorDebuggerAgent::didPause):
84843        (WebCore::InspectorDebuggerAgent::didContinue):
84844        (WebCore::InspectorDebuggerAgent::remoteFrontend):
84845        * inspector/InspectorDebuggerAgent.h: Added.
84846        * inspector/InspectorFrontend.cpp:
84847        * inspector/InspectorFrontend.h:
84848        * inspector/front-end/ScriptsPanel.js:
84849        (WebInspector.ScriptsPanel):
84850
848512010-08-06  Dean Jackson  <dino@apple.com>
84852
84853        Reviewed by Simon Fraser and Steve Block.
84854
84855        https://bugs.webkit.org/show_bug.cgi?id=42865
84856        Implement DeviceMotionEvent
84857
84858        Implement the DeviceMotionEvent interface as defined
84859        in http://dev.w3.org/geo/api/spec-source-orientation.html
84860        This is currently an empty implementation, in that there is
84861        no motion client connected - the platform implementations
84862        will need to do that.
84863
84864        Tests: fast/dom/DeviceMotion/create-event.html
84865               fast/dom/DeviceMotion/optional-event-properties.html
84866               fast/dom/DeviceMotion/window-property.html
84867
84868        * Android.derived.jscbindings.mk:
84869        * Android.derived.v8bindings.mk:
84870        * Android.jscbindings.mk:
84871        * Android.mk:
84872        * Android.v8bindings.mk:
84873        * CMakeLists.txt:
84874        * Configurations/FeatureDefines.xcconfig:
84875        * DerivedSources.make:
84876        * GNUmakefile.am:
84877        * WebCore.gypi:
84878        * WebCore.pro:
84879        * WebCore.vcproj/WebCore.vcproj:
84880        * WebCore.xcodeproj/project.pbxproj:
84881          - Add new files for DeviceMotionEvent build support
84882        * bindings/generic/RuntimeEnabledFeatures.cpp:
84883        * bindings/generic/RuntimeEnabledFeatures.h:
84884          - new runtime flags for device motion
84885        * bindings/js/JSDeviceMotionEventCustom.cpp: Added.
84886        * bindings/v8/custom/V8DeviceMotionEventCustom.cpp: Added.
84887          - Custom JS binding to translate property access through
84888            to the DeviceMotionData object that the Event holds
84889        * bindings/js/JSEventCustom.cpp:
84890          - Include the custom code for DeviceMotionEvent
84891        * dom/DeviceMotionClient.h: Added.
84892          - Pure virtual client for DeviceMotion access
84893        * dom/DeviceMotionController.cpp: Added.
84894        * dom/DeviceMotionController.h: Added.
84895          - Controller class that manages event dispatch
84896        * dom/DeviceMotionData.cpp: Added.
84897        * dom/DeviceMotionData.h: Added.
84898          - Representation of the data that comes from a device motion
84899            client that is then used within the event.
84900        * dom/DeviceMotionEvent.cpp: Added.
84901        * dom/DeviceMotionEvent.h: Added.
84902        * dom/DeviceMotionEvent.idl: Added.
84903          - The actual event implementation
84904        * dom/Document.cpp:
84905        (WebCore::Document::createEvent):
84906          - Update createEvent to allow "devicemotion" events
84907        * dom/Event.cpp:
84908        * dom/Event.h:
84909          - isDeviceMotionEvent virtual method
84910        * dom/EventNames.h:
84911          - new "devicemotion" event type
84912        * page/DOMWindow.cpp:
84913        (WebCore::DOMWindow::addEventListener):
84914        * page/DOMWindow.h:
84915        * page/DOMWindow.idl:
84916          - allow creation of "devicemotion" events and pass registration
84917            through to the Page's deviceMotionController object
84918        * page/Page.cpp:
84919        * page/Page.h:
84920          - new PageClient for deviceMotionController
84921
849222010-08-06  Kavita Kanetkar  <kkanetkar@chromium.org>
84923
84924        Reviewed by Joseph Pecoraro.
84925
84926        Web Inspector: Remove "Online/Offline" icon for Chrome's appcache devtools UI.
84927        https://bugs.webkit.org/show_bug.cgi?id=43450
84928
84929        * inspector/front-end/ApplicationCacheItemsView.js:
84930        (WebInspector.ApplicationCacheItemsView):
84931        (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
84932        (WebInspector.ApplicationCacheItemsView.prototype.updateNetworkState):
84933        * inspector/front-end/Settings.js:
84934
849352010-08-06  Pavel Feldman  <pfeldman@chromium.org>
84936
84937        Not reviewed. Rolling out 64835, 64836 and 64839.
84938
84939        * Android.jscbindings.mk:
84940        * Android.v8bindings.mk:
84941        * CMakeLists.txt:
84942        * GNUmakefile.am:
84943        * WebCore.gypi:
84944        * WebCore.pro:
84945        * WebCore.vcproj/WebCore.vcproj:
84946        * WebCore.xcodeproj/project.pbxproj:
84947        * bindings/js/JSBindingsAllInOne.cpp:
84948        * bindings/js/JSDOMWindowCustom.cpp:
84949        (WebCore::JSDOMWindow::openDatabase):
84950        * bindings/js/JSDatabaseCustom.cpp: Added.
84951        (WebCore::JSDatabase::changeVersion):
84952        (WebCore::createTransaction):
84953        (WebCore::JSDatabase::transaction):
84954        (WebCore::JSDatabase::readTransaction):
84955        * bindings/js/JSDatabaseSyncCustom.cpp: Added.
84956        (WebCore::JSDatabaseSync::changeVersion):
84957        (WebCore::createTransaction):
84958        (WebCore::JSDatabaseSync::transaction):
84959        (WebCore::JSDatabaseSync::readTransaction):
84960        * bindings/js/JSWorkerContextCustom.cpp:
84961        (WebCore::JSWorkerContext::openDatabase):
84962        (WebCore::JSWorkerContext::openDatabaseSync):
84963        * bindings/scripts/CodeGeneratorGObject.pm:
84964        * bindings/scripts/CodeGeneratorJS.pm:
84965        * bindings/scripts/CodeGeneratorV8.pm:
84966        * bindings/scripts/test/JS/JSTestCallback.cpp:
84967        (WebCore::JSTestCallback::~JSTestCallback):
84968        * bindings/scripts/test/JS/JSTestObj.cpp:
84969        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
84970        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
84971        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
84972        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
84973        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
84974        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
84975        (WebCore::jsTestObjPrototypeFunctionIdbKey):
84976        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
84977        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
84978        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
84979        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
84980        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
84981        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
84982        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
84983        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
84984        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
84985        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
84986        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
84987        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
84988        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
84989        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
84990        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
84991        * bindings/scripts/test/TestObj.idl:
84992        * bindings/scripts/test/V8/V8TestObj.cpp:
84993        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
84994        (WebCore::TestObjInternal::intMethodWithArgsCallback):
84995        (WebCore::TestObjInternal::objMethodWithArgsCallback):
84996        (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
84997        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
84998        (WebCore::TestObjInternal::serializedValueCallback):
84999        (WebCore::TestObjInternal::idbKeyCallback):
85000        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
85001        (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
85002        (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
85003        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
85004        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
85005        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
85006        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
85007        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
85008        (WebCore::TestObjInternal::methodWithCallbackArgCallback):
85009        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
85010        (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
85011        (WebCore::TestObjInternal::overloadedMethod1Callback):
85012        (WebCore::TestObjInternal::overloadedMethod2Callback):
85013        (WebCore::TestObjInternal::overloadedMethod3Callback):
85014        (WebCore::TestObjInternal::overloadedMethod4Callback):
85015        (WebCore::):
85016        (WebCore::ConfigureV8TestObjTemplate):
85017        * bindings/v8/V8Binding.h:
85018        (WebCore::String):
85019        (WebCore::AtomicString):
85020        * bindings/v8/custom/V8DOMWindowCustom.cpp:
85021        (WebCore::V8DOMWindow::openDatabaseCallback):
85022        * bindings/v8/custom/V8DatabaseCustom.cpp: Added.
85023        (WebCore::V8Database::changeVersionCallback):
85024        (WebCore::createTransaction):
85025        (WebCore::V8Database::transactionCallback):
85026        (WebCore::V8Database::readTransactionCallback):
85027        * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Added.
85028        (WebCore::V8DatabaseSync::changeVersionCallback):
85029        (WebCore::createTransaction):
85030        (WebCore::V8DatabaseSync::transactionCallback):
85031        (WebCore::V8DatabaseSync::readTransactionCallback):
85032        * bindings/v8/custom/V8WorkerContextCustom.cpp:
85033        (WebCore::V8WorkerContext::openDatabaseCallback):
85034        (WebCore::V8WorkerContext::openDatabaseSyncCallback):
85035        * page/DOMWindow.idl:
85036        * storage/Database.cpp:
85037        (WebCore::Database::transaction):
85038        * storage/Database.h:
85039        * storage/Database.idl:
85040        * storage/DatabaseSync.cpp:
85041        (WebCore::DatabaseSync::transaction):
85042        * storage/DatabaseSync.h:
85043        * storage/DatabaseSync.idl:
85044        * workers/WorkerContext.idl:
85045
850462010-08-06  Dumitru Daniliuc  <dumi@chromium.org>
85047
85048        Unreviewed, fix the "GTK Linux 64-bit Debug" bot.
85049
85050        CodeGeneratorGObject.pm doesn't know yet how to auto-generate
85051        callbacks, so we should not auto-generate functions that take
85052        callbacks as parameters. This shouldn't break anything, because
85053        all these functions were marked as ["Custom"] until now, and this
85054        code generator skipped those functions anyway.
85055
85056        * bindings/scripts/CodeGeneratorGObject.pm:
85057
850582010-08-06  Dumitru Daniliuc  <dumi@chromium.org>
85059
85060        Unreviewed, "Qt Linux Realese minimal" build fix.
85061
85062        * bindings/scripts/CodeGeneratorJS.pm:
85063
850642010-08-06  Dumitru Daniliuc  <dumi@chromium.org>
85065
85066        Reviewed by Adam Barth.
85067
85068        Auto-generate all HTML5 DB bindings.
85069        https://bugs.webkit.org/show_bug.cgi?id=43382
85070
85071        * Android.jscbindings.mk: Remove {JS|V8}Database{Sync}Custom.cpp
85072        and the custom implementations of openDatabas{Sync}().
85073        * Android.v8bindings.mk:
85074        * CMakeLists.txt:
85075        * GNUmakefile.am:
85076        * WebCore.gypi:
85077        * WebCore.pro:
85078        * WebCore.vcproj/WebCore.vcproj:
85079        * WebCore.xcodeproj/project.pbxproj:
85080        * bindings/js/JSBindingsAllInOne.cpp:
85081        * bindings/js/JSDOMWindowCustom.cpp:
85082        * bindings/js/JSDatabaseCustom.cpp: Removed.
85083        * bindings/js/JSDatabaseSyncCustom.cpp: Removed.
85084        * bindings/js/JSWorkerContextCustom.cpp:
85085        * bindings/v8/custom/V8DOMWindowCustom.cpp:
85086        * bindings/v8/custom/V8DatabaseCustom.cpp: Removed.
85087        * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Removed.
85088        * bindings/v8/custom/V8WorkerContextCustom.cpp:
85089
85090        * bindings/scripts/CodeGeneratorJS.pm: Change the code generators
85091        to check that a value was passed for each non-optional argument,
85092        and that the value can be converted to the argument type.
85093        * bindings/scripts/CodeGeneratorV8.pm:
85094        * bindings/scripts/test/JS/JSTestCallback.cpp:
85095        (WebCore::JSTestCallback::~JSTestCallback):
85096        * bindings/scripts/test/JS/JSTestObj.cpp:
85097        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
85098        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
85099        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
85100        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
85101        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
85102        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
85103        (WebCore::jsTestObjPrototypeFunctionIdbKey):
85104        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
85105        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
85106        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
85107        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
85108        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
85109        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
85110        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
85111        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
85112        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
85113        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
85114        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
85115        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
85116        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
85117        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
85118        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
85119        * bindings/scripts/test/TestObj.idl:
85120        * bindings/scripts/test/V8/V8TestObj.cpp:
85121        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
85122        (WebCore::TestObjInternal::intMethodWithArgsCallback):
85123        (WebCore::TestObjInternal::objMethodWithArgsCallback):
85124        (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
85125        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
85126        (WebCore::TestObjInternal::serializedValueCallback):
85127        (WebCore::TestObjInternal::idbKeyCallback):
85128        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
85129        (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
85130        (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
85131        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
85132        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
85133        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
85134        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
85135        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
85136        (WebCore::TestObjInternal::methodWithCallbackArgCallback):
85137        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
85138        (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
85139        (WebCore::TestObjInternal::overloadedMethod1Callback):
85140        (WebCore::TestObjInternal::overloadedMethod2Callback):
85141        (WebCore::TestObjInternal::overloadedMethod3Callback):
85142        (WebCore::TestObjInternal::overloadedMethod4Callback):
85143        (WebCore::):
85144        (WebCore::ConfigureV8TestObjTemplate):
85145        * bindings/v8/V8Binding.h:
85146        (WebCore::String):
85147        (WebCore::AtomicString):
85148
85149        * page/DOMWindow.idl: Minor changes required by the auto-generated
85150        bindings.
85151        * storage/Database.cpp:
85152        (WebCore::Database::transaction):
85153        (WebCore::Database::readTransaction):
85154        (WebCore::Database::runTransaction):
85155        * storage/Database.h:
85156        * storage/Database.idl:
85157        * storage/DatabaseSync.cpp:
85158        (WebCore::DatabaseSync::transaction):
85159        (WebCore::DatabaseSync::readTransaction):
85160        (WebCore::DatabaseSync::runTransaction):
85161        * storage/DatabaseSync.h:
85162        * storage/DatabaseSync.idl:
85163        * workers/WorkerContext.idl:
85164
851652010-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>
85166
85167        Not reviewed. Sort Xcode project file.
85168
85169        * WebCore.xcodeproj/project.pbxproj:
85170
851712010-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>
85172
85173        Not reviewed. Fix warning, breaking win build.
85174
85175        * svg/SVGLength.cpp:
85176        (WebCore::SVGLength::toCSSPrimitiveValue):
85177
851782010-08-06  Alexey Proskuryakov  <ap@apple.com>
85179
85180        Fix crashing Leopard and Gtk bots.
85181
85182        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
85183        Don't register ISO8859-16, because older versions of ICU don't support ISO-8859-16, causing
85184        crashes when we try to register an alias. Also, we don't need it, because Firefox doesn't
85185        support this particular alias (it supports ISO8859-1 to ISO8859-15, but only supports the
85186        main name for ISO-8859-16).
85187
851882010-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>
85189
85190        Reviewed by Dirk Schulze.
85191
85192        SVG - stroke-width:0 bug with stroke other than "none"
85193        https://bugs.webkit.org/show_bug.cgi?id=42387
85194
85195        Stop storing refcounted CSSValue/CSSValueList objects in SVGRenderStyle, replacing them with SVGLength types.
85196        Allows us to directly specify default values for stroke-dashoffset/width in the SVGRenderStyle, fixing a problem
85197        with stroke-width animations when resetting to the original stored baseVal, exposed in svg/W3C-1.1/animate-elem-40-t.svg
85198        Originally discovered by Fady Samuel.
85199
85200        Test: svg/custom/path-zero-strokewidth.svg
85201
85202        * css/SVGCSSComputedStyleDeclaration.cpp:
85203        (WebCore::strokeDashArrayToCSSValueList): New helper function converting from Vector<SVGLength> to CSSValueList.
85204        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): Convert SVGLength values to CSSPrimitiveValues.
85205        * css/SVGCSSStyleSelector.cpp:
85206        (WebCore::CSSStyleSelector::applySVGProperty): Convert CSSPrimitiveValues to SVGLength objects, for SVGRenderStyle storage.
85207        * rendering/RenderPath.cpp:
85208        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Just grab strokeWidth SVGLength value from SVGRenderSTyle, no need to call cssPrimitiveToLength anymore.
85209        * rendering/RenderSVGText.cpp:
85210        (WebCore::RenderSVGText::strokeBoundingBox): Ditto.
85211        * rendering/SVGCharacterLayoutInfo.cpp:
85212        (WebCore::calculateBaselineShift): Ditto (for baseline-shift).
85213        * rendering/SVGInlineTextBox.cpp:
85214        (WebCore::SVGInlineTextBox::buildLayoutInformation): Ditto (for kerning).
85215        * rendering/SVGRenderSupport.cpp:
85216        (WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto (for stroke-width/stroke-dashoffset/stroke-dasharray).
85217        * rendering/SVGRenderSupport.h:
85218        * rendering/SVGRenderTreeAsText.cpp:
85219        (WebCore::writeStyle): Ditto.
85220        * rendering/SVGTextLayoutUtilities.cpp:
85221        (WebCore::calculateCSSKerning): Ditto.
85222        * rendering/SVGTextLayoutUtilities.h:
85223        * rendering/style/SVGRenderStyle.cpp: Remove no longer needed cssPrimitiveToLength function.
85224        * rendering/style/SVGRenderStyle.h: Stop storing RefPtr<CSSValue> / RefPtr<CSSValueList> but use SVGLength/Vector<SVGLength>.
85225        (WebCore::SVGRenderStyle::initialStrokeDashArray): Allows us to specify correct default values, instead of null pointers.
85226        (WebCore::SVGRenderStyle::initialBaselineShiftValue): Specify 0px default value.
85227        (WebCore::SVGRenderStyle::initialKerning): Ditto.
85228        (WebCore::SVGRenderStyle::initialStrokeDashOffset): Ditto.
85229        (WebCore::SVGRenderStyle::initialStrokeWidth): Specify 1px default value.
85230        (WebCore::SVGRenderStyle::setStrokeDashArray): Takes a Vector<SVGLength> now, not a PassRefPtr<CSSValueList>.
85231        (WebCore::SVGRenderStyle::setStrokeWidth): Takes a SVGLength now, not a PassRefPtr<CSSValue>.
85232        (WebCore::SVGRenderStyle::setStrokeDashOffset): Ditto.
85233        (WebCore::SVGRenderStyle::setKerning): Ditto.
85234        (WebCore::SVGRenderStyle::setStopColor): Pass Color as const-reference.
85235        (WebCore::SVGRenderStyle::setFloodColor): Ditto.
85236        (WebCore::SVGRenderStyle::setLightingColor): Ditto.
85237        (WebCore::SVGRenderStyle::setBaselineShiftValue): Takes a SVGLength now, not a PassRefPtr<CSSValue>.
85238        (WebCore::SVGRenderStyle::setShadow): Reformat, had wrong style.
85239        (WebCore::SVGRenderStyle::setClipperResource): Pass String as const-reference.
85240        (WebCore::SVGRenderStyle::setFilterResource): Ditto.
85241        (WebCore::SVGRenderStyle::setMaskerResource): Ditto.
85242        (WebCore::SVGRenderStyle::setMarkerStartResource): Ditto.
85243        (WebCore::SVGRenderStyle::setMarkerMidResource): Ditto.
85244        (WebCore::SVGRenderStyle::setMarkerEndResource): Ditto.
85245        (WebCore::SVGRenderStyle::strokeDashArray): Return Vector<SVGLength>.
85246        (WebCore::SVGRenderStyle::strokeWidth): Return SVGLength.
85247        (WebCore::SVGRenderStyle::strokeDashOffset): Ditto.
85248        (WebCore::SVGRenderStyle::kerning): Ditto.
85249        (WebCore::SVGRenderStyle::baselineShiftValue): Ditto.
85250        * rendering/style/SVGRenderStyleDefs.cpp:
85251        (WebCore::StyleStrokeData::StyleStrokeData): Changed initialization order, to group stroke properties.
85252        * rendering/style/SVGRenderStyleDefs.h: Store SVGLength values instead of reference counted CSS objects.
85253        * svg/SVGLength.cpp:
85254        (WebCore::SVGLength::SVGLength): Add copy constructor.
85255        (WebCore::SVGLength::operator==): Add comparision operator.
85256        (WebCore::SVGLength::operator!=): Ditto.
85257        (WebCore::SVGLength::fromCSSPrimitiveValue): New static helper function to convert from a CSSPrimitiveValue.
85258        (WebCore::SVGLength::toCSSPrimitiveValue): New static helper function to convert to a CSSPrimitiveValue.
85259        * svg/SVGLength.h: Reindent.
85260
852612010-08-06  Luiz Agostini  <luiz.agostini@openbossa.org>
85262
85263        Reviewed by Kenneth Rohde Christiansen.
85264
85265        [Qt] Move Qt's popup menu implementation from WebCore to WebKit layer
85266        https://bugs.webkit.org/show_bug.cgi?id=43427
85267
85268        After PopupMenu changes in bug 42592 class QtAbstractWebPopup became unecessary and
85269        there is no need to keep any Qt specific code for popup menus in WebCore/platform/qt.
85270
85271        PopupMenuQt has been moved from WebCore/platform/qt to WebKit/qt/WebCoreSupport and
85272        assumed the responsibilities of QtAbstractWebPopup. SearchPopupMenuQt has been moved
85273        to WebKit/qt/WebCoreSupport as well.
85274
85275        All classes that previously inherited from QtAbstractWebPopup now inherit from 
85276        QWebSelectMethod and QtPlatformPlugin's method createSelectInputMethod now returns an
85277        instance of class QWebSelectMethod instead of QtAbstractWebPopup.
85278
85279        * WebCore.pro:
85280        * platform/qt/PopupMenuQt.cpp: Removed.
85281        * platform/qt/PopupMenuQt.h: Removed.
85282        * platform/qt/QtAbstractWebPopup.cpp: Removed.
85283        * platform/qt/QtAbstractWebPopup.h: Removed.
85284        * platform/qt/SearchPopupMenuQt.cpp: Removed.
85285        * platform/qt/SearchPopupMenuQt.h: Removed.
85286
852872010-08-05  Marcus Bulach  <bulach@chromium.org>
85288
85289        Reviewed by Jeremy Orlow.
85290
85291        Initial bindings and plumbing for IDBCursor.
85292        https://bugs.webkit.org/show_bug.cgi?id=41888
85293
85294        Test: storage/indexeddb/idb-opencursor.html
85295
85296        * Android.derived.jscbindings.mk:
85297        * Android.derived.v8bindings.mk:
85298        * Android.mk:
85299        * CMakeLists.txt:
85300        * DerivedSources.cpp:
85301        * DerivedSources.make:
85302        * GNUmakefile.am:
85303        * WebCore.gypi:
85304        * WebCore.pri:
85305        * WebCore.pro:
85306        * WebCore.vcproj/WebCore.vcproj:
85307        * WebCore.xcodeproj/project.pbxproj:
85308        * bindings/v8/custom/V8IDBAnyCustom.cpp:
85309        (WebCore::toV8):
85310        * storage/IDBAny.cpp:
85311        (WebCore::IDBAny::idbCursor):
85312        (WebCore::IDBAny::set):
85313        * storage/IDBAny.h:
85314        (WebCore::IDBAny::):
85315        * storage/IDBCallbacks.h:
85316        * storage/IDBCursor.cpp: Added.
85317        (WebCore::IDBCursor::IDBCursor):
85318        (WebCore::IDBCursor::~IDBCursor):
85319        (WebCore::IDBCursor::direction):
85320        (WebCore::IDBCursor::key):
85321        (WebCore::IDBCursor::value):
85322        (WebCore::IDBCursor::update):
85323        (WebCore::IDBCursor::continueFunction):
85324        (WebCore::IDBCursor::remove):
85325        * storage/IDBCursor.h: Added.
85326        (WebCore::IDBCursor::):
85327        (WebCore::IDBCursor::create):
85328        * storage/IDBCursor.idl: Added.
85329        * storage/IDBCursorBackendImpl.cpp: Added.
85330        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
85331        (WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl):
85332        (WebCore::IDBCursorBackendImpl::direction):
85333        (WebCore::IDBCursorBackendImpl::key):
85334        (WebCore::IDBCursorBackendImpl::value):
85335        (WebCore::IDBCursorBackendImpl::update):
85336        (WebCore::IDBCursorBackendImpl::continueFunction):
85337        (WebCore::IDBCursorBackendImpl::remove):
85338        * storage/IDBCursorBackendImpl.h: Added.
85339        (WebCore::IDBCursorBackendImpl::create):
85340        * storage/IDBCursorBackendInterface.h: Added.
85341        (WebCore::IDBCursorBackendInterface::~IDBCursorBackendInterface):
85342        * storage/IDBObjectStore.cpp:
85343        (WebCore::IDBObjectStore::openCursor):
85344        * storage/IDBObjectStore.h:
85345        * storage/IDBObjectStore.idl:
85346        * storage/IDBObjectStoreBackendImpl.cpp:
85347        (WebCore::IDBObjectStoreBackendImpl::openCursor):
85348        * storage/IDBObjectStoreBackendImpl.h:
85349        * storage/IDBObjectStoreBackendInterface.h:
85350        * storage/IDBRequest.cpp:
85351        (WebCore::IDBRequest::onSuccess):
85352        (WebCore::IDBRequest::timerFired):
85353        * storage/IDBRequest.h:
85354
853552010-08-06  Andrei Popescu  <andreip@google.com>
85356
85357        Unreviewed, release build fix.
85358
85359        Leopard relase build is broken due to absolute path to JSIDBTransaction.cpp file present in Xcode project file.
85360        https://bugs.webkit.org/show_bug.cgi?id=43616
85361
85362        * WebCore.xcodeproj/project.pbxproj:
85363
853642010-08-05  Andrei Popescu  <andreip@dhcp-172-16-14-12.lon.corp.google.com>
85365
85366        Reviewed by Jeremy Orlow.
85367
85368        [IndexedDB] IndexedDB is missing the Transaction interface.
85369        https://bugs.webkit.org/show_bug.cgi?id=42970
85370
85371        Add IDBTransaction boilerplate.
85372
85373        No new tests, not functional yet.
85374
85375        * Android.derived.jscbindings.mk:
85376        * Android.derived.v8bindings.mk:
85377        * Android.mk:
85378        * CMakeLists.txt:
85379        * DerivedSources.cpp:
85380        * DerivedSources.make:
85381        * GNUmakefile.am:
85382        * WebCore.gypi:
85383        * WebCore.pri:
85384        * WebCore.pro:
85385        * WebCore.vcproj/WebCore.vcproj:
85386        * WebCore.xcodeproj/project.pbxproj:
85387        * dom/EventNames.h:
85388        * storage/IDBDatabase.cpp:
85389        (WebCore::IDBDatabase::transaction):
85390        * storage/IDBDatabase.h:
85391        * storage/IDBDatabase.idl:
85392        * storage/IDBDatabaseBackendImpl.cpp:
85393        (WebCore::IDBDatabaseBackendImpl::transaction):
85394        * storage/IDBDatabaseBackendImpl.h:
85395        * storage/IDBDatabaseBackendInterface.h:
85396        * storage/IDBRequest.cpp:
85397        (WebCore::IDBRequest::IDBRequest):
85398        (WebCore::IDBRequest::canSuspend):
85399        (WebCore::IDBRequest::timerFired):
85400        (WebCore::IDBRequest::onEventCommon):
85401        * storage/IDBRequest.h:
85402        * storage/IDBTransaction.cpp: Added.
85403        (WebCore::IDBTransaction::IDBTransaction):
85404        (WebCore::IDBTransaction::~IDBTransaction):
85405        (WebCore::IDBTransaction::mode):
85406        (WebCore::IDBTransaction::db):
85407        (WebCore::IDBTransaction::objectStore):
85408        (WebCore::IDBTransaction::abort):
85409        (WebCore::IDBTransaction::scriptExecutionContext):
85410        (WebCore::IDBTransaction::canSuspend):
85411        (WebCore::IDBTransaction::eventTargetData):
85412        (WebCore::IDBTransaction::ensureEventTargetData):
85413        * storage/IDBTransaction.h: Added.
85414        (WebCore::IDBTransaction::create):
85415        (WebCore::IDBTransaction::):
85416        (WebCore::IDBTransaction::toIDBTransaction):
85417        (WebCore::IDBTransaction::refEventTarget):
85418        (WebCore::IDBTransaction::derefEventTarget):
85419        * storage/IDBTransaction.idl: Added.
85420        * storage/IDBTransactionBackendInterface.h: Added.
85421        (WebCore::IDBTransactionBackendInterface::~IDBTransactionBackendInterface):
85422
854232010-08-06  Rafael Antognolli  <antognolli@profusion.mobi>
85424
85425        Unreviewed build fix.
85426
85427        [EFL] Regression (64735) build fix for efl.
85428        https://bugs.webkit.org/show_bug.cgi?id=43564
85429
85430        Removing bindings/js/ScriptArray.cpp from the WebCore_SOURCES.
85431        No new features, so no new tests.
85432
85433        * CMakeLists.txt:
85434
854352010-08-05  Alexey Proskuryakov  <ap@apple.com>
85436
85437        Fix http/tests/webarchive/test-css-url-encoding-shift-jis.html
85438
85439        For some reason, I didn't see the failure locally, but bots complain.
85440
85441        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
85442        Register "shift-jis" (with dash instead of underscore). At least Firefox supports it.
85443
854442010-08-05  Ben Murdoch  <benm@google.com>
85445
85446        Reviewed by Simon Fraser.
85447
85448        Form button input elements lacking text in some cases after switching from
85449        visibility:collapse to visibility:visible
85450        https://bugs.webkit.org/show_bug.cgi?id=38050
85451        
85452        A relayout is required after toggling visibility from collapse to another value.
85453
85454        Test: fast/css/visibility-collapse-form-buttons.html
85455
85456        * rendering/style/RenderStyle.cpp:
85457        (WebCore::RenderStyle::diff): If we're toggling from visibility:collapse to another
85458            visibility value (or vice versa) then we need to trigger a relayout.
85459
854602010-08-05  Alexey Proskuryakov  <ap@apple.com>
85461
85462        Reviewed by Darin Adler.
85463
85464        https://bugs.webkit.org/show_bug.cgi?id=43554
85465        Way too many encoding aliases are treated as valid
85466
85467        <rdar://problem/7863399> Garbage characters displayed in some yesky.com pages.
85468
85469        <rdar://problem/7859068> Garbage characters displayed for most text at ceping.zhaopin.com
85470
85471        Test: http/tests/misc/bad-charset-alias.html
85472
85473        * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::checkForCSSCharset):
85474        Fix encoding name length computation. Previously, a trailing quote was ignored by
85475        TextEncodingRegistry.
85476        
85477        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
85478        Added dashes to alias names that didn't have them. Added aliases prompted by regression tests.
85479
85480        * platform/text/TextCodecLatin1.cpp: (WebCore::TextCodecLatin1::registerEncodingNames):
85481        Don't register 8859-1, other browsers do not support this encoding name.
85482
85483        * platform/text/TextEncoding.cpp: (WebCore::Latin1Encoding):
85484        "Latin-1" is not a real encoding name, it's not known to Firefox or IE.
85485
85486        * platform/text/TextEncodingRegistry.cpp:
85487        (WebCore::TextEncodingNameHash::equal): Changed to no longer ignore non-alphanumeric characters.
85488        There is a good chance that we'll be missing support for some necessary alias names, but other
85489        browsers don't ignore any characters when matching names.
85490        (WebCore::TextEncodingNameHash::hash): Ditto.
85491        (WebCore::checkExistingName): Re-formatted a line.
85492        (WebCore::isUndesiredAlias): Added a filter to reject "8859_1" and any names containing commas.
85493        (WebCore::addToTextEncodingNameMap): Used it.
85494        (WebCore::atomicCanonicalTextEncodingName): Changed to no longer ignore non-alphanumeric characters.
85495
854962010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>
85497
85498        Reviewed by Laszlo Gombos.
85499
85500        [Qt] Temporary files should not be created in the current directory
85501        https://bugs.webkit.org/show_bug.cgi?id=43562
85502
85503        Don't create temporary files in the current directory, use QDir::tempPath()
85504        instead, as suggested by the QTemporaryFile documentation.
85505
85506        * platform/qt/FileSystemQt.cpp:
85507        (WebCore::openTemporaryFile):
85508
855092010-08-05  François Sausset  <sausset@gmail.com>
85510
85511        Reviewed by Kenneth Rohde Christiansen.
85512
85513        Make STIX font the default one to render MathML
85514        https://bugs.webkit.org/show_bug.cgi?id=41961
85515
85516        * css/mathml.css:
85517        (math):
85518
855192010-08-05  Cosmin Truta  <ctruta@chromium.org>
85520
85521        Reviewed by Eric Seidel.
85522
85523        Apply a stylistic fix to the patch 62640.
85524        https://bug-41175-attachments.webkit.org/attachment.cgi?id=62640
85525        https://bugs.webkit.org/show_bug.cgi?id=41175
85526
85527        * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
85528        (getImageData):
85529
855302010-08-05  Patrick Gansterer  <paroga@paroga.com>
85531
85532        Reviewed by Adam Roben.
85533
85534        Make SearchPopupMenuWin more portable
85535        https://bugs.webkit.org/show_bug.cgi?id=43527
85536
85537        Add #if PLATFORM(CF) around CoreFoundation code.
85538
85539        * platform/win/SearchPopupMenuWin.cpp:
85540        (WebCore::SearchPopupMenuWin::enabled):
85541        (WebCore::SearchPopupMenuWin::saveRecentSearches):
85542        (WebCore::SearchPopupMenuWin::loadRecentSearches):
85543
855442010-08-05  Sheriff Bot  <webkit.review.bot@gmail.com>
85545
85546        Unreviewed, rolling out r63653.
85547        http://trac.webkit.org/changeset/63653
85548        https://bugs.webkit.org/show_bug.cgi?id=43592
85549
85550        regressed multiple background-images (Requested by smfr on
85551        #webkit).
85552
85553        * manual-tests/css3-background-layer-count.html: Removed.
85554        * rendering/style/FillLayer.cpp:
85555        (WebCore::FillLayer::fillUnsetProperties):
85556        (WebCore::FillLayer::cullEmptyLayers):
85557        * rendering/style/RenderStyle.h:
85558        (WebCore::InheritedFlags::adjustBackgroundLayers):
85559        (WebCore::InheritedFlags::adjustMaskLayers):
85560
855612010-08-05  Mark Rowe  <mrowe@apple.com>
85562
85563        Reviewed by Jon Honeycutt.
85564
85565        Fix some leaks seen on the buildbot.
85566
85567        * platform/graphics/cg/GraphicsContext3DCG.cpp:
85568        (WebCore::GraphicsContext3D::paintToCanvas): Adopt the newly-created CoreGraphics objects rather than sharing ownership
85569        and over-incrementing their reference count. Also cleaned up the bizarre wrapping used for function arguments while I was
85570        touching this code.
85571
855722010-08-05  James Robinson  <jamesr@chromium.org>
85573
85574        Rubber stamped by Eric Seidel.
85575
85576        [SVG] SVGPathSeg.cpp needs an #if ENABLE(SVG) guard
85577        https://bugs.webkit.org/show_bug.cgi?id=43599
85578
85579        Matches the rest of the .cpp files in this directory.
85580
85581        * svg/SVGPathSeg.cpp:
85582
855832010-08-05  Erik Arvidsson  <arv@chromium.org>
85584
85585        Reviewed by Kent Tamura.
85586
85587        Calling setCustomValidity should trigger a layout
85588        https://bugs.webkit.org/show_bug.cgi?id=43582
85589
85590        Test: fast/forms/setCustomValidity.html
85591
85592        * html/ValidityState.cpp:
85593        (WebCore::ValidityState::setCustomErrorMessage): Call setNeedsValidityCheck to tell the system that the validity might have changed.
85594        * html/ValidityState.h:
85595
855962010-08-05  Sam Weinig  <sam@webkit.org>
85597
85598        Reviewed by Anders Carlsson.
85599
85600        Add ability to get a JSValueRef for a node handle and a world
85601        https://bugs.webkit.org/show_bug.cgi?id=43591
85602
85603        * WebCore.exp.in: Add exports.
85604
856052010-08-05  Gavin Barraclough  <barraclough@apple.com>
85606
85607        Rubber stamped by Sam Weinig
85608
85609        Bug 43594 - Add string forwards to Forward.h
85610        This allows us to remove forward declarations for these classes from
85611        WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
85612
85613        * WebCore.xcodeproj/project.pbxproj:
85614        * accessibility/AXObjectCache.h:
85615        * accessibility/AccessibilityARIAGrid.h:
85616        * accessibility/AccessibilityListBoxOption.h:
85617        * accessibility/AccessibilityObject.h:
85618        * accessibility/AccessibilityRenderObject.h:
85619        * accessibility/AccessibilityTable.h:
85620        * bindings/cpp/WebDOMCString.h:
85621        * bindings/cpp/WebDOMString.h:
85622        * bindings/gobject/ConvertToUTF8String.h:
85623        * bindings/js/DOMWrapperWorld.h:
85624        * bindings/js/JSDOMBinding.h:
85625        * bindings/js/JSDOMWindowBase.h:
85626        * bindings/js/JSMessagePortCustom.h:
85627        * bindings/js/JavaScriptCallFrame.h:
85628        * bindings/js/ScriptController.h:
85629        * bindings/js/ScriptProfile.h:
85630        * bindings/js/ScriptSourceProvider.h:
85631        * bindings/js/ScriptString.h:
85632        * bindings/js/WorkerScriptController.h:
85633        * bindings/objc/DOMImplementationFront.h:
85634        * bindings/v8/ScheduledAction.h:
85635        * bindings/v8/ScriptController.h:
85636        * bindings/v8/V8DOMWindowShell.h:
85637        * bindings/v8/V8Proxy.h:
85638        * bindings/v8/V8Utilities.h:
85639        * bindings/v8/custom/V8CustomXPathNSResolver.h:
85640        * bridge/c/c_utility.h:
85641        * css/CSSFontSelector.h:
85642        * css/CSSHelper.h:
85643        * css/CSSOMUtils.h:
85644        * css/CSSPrimitiveValue.h:
85645        * css/MediaList.h:
85646        * css/StyleBase.h:
85647        * css/StyleSheetList.h:
85648        * css/WebKitCSSKeyframesRule.h:
85649        * dom/CheckedRadioButtons.h:
85650        * dom/DOMImplementation.h:
85651        * dom/DocumentMarker.h:
85652        * dom/DynamicNodeList.h:
85653        * dom/EventTarget.h:
85654        * dom/MessagePort.h:
85655        * dom/MessagePortChannel.h:
85656        * dom/NameNodeList.h:
85657        * dom/Node.h:
85658        * dom/NodeList.h:
85659        * dom/OptionGroupElement.h:
85660        * dom/ScriptExecutionContext.h:
85661        * dom/SelectElement.h:
85662        * dom/ViewportArguments.h:
85663        * dom/make_names.pl:
85664        * editing/HTMLInterchange.h:
85665        * editing/htmlediting.h:
85666        * editing/markup.h:
85667        * html/CollectionCache.h:
85668        * html/DOMFormData.h:
85669        * html/DataGridColumnList.h:
85670        * html/DateComponents.h:
85671        * html/FileStream.h:
85672        * html/FileStreamProxy.h:
85673        * html/FormDataList.h:
85674        (WebCore::FormDataList::appendData):
85675        * html/HTMLCollection.h:
85676        * html/HTMLElementStack.h:
85677        * html/HTMLFormattingElementList.h:
85678        * html/HTMLParserQuirks.h:
85679        * html/HTMLQuoteElement.h:
85680        * html/HTMLScriptRunnerHost.h:
85681        * html/StepRange.h:
85682        * html/canvas/CanvasGradient.h:
85683        * html/canvas/CanvasNumberArray.h:
85684        * html/canvas/CanvasPattern.h:
85685        * inspector/InjectedScript.h:
85686        * inspector/InspectorCSSStore.h:
85687        * inspector/InspectorClient.h:
85688        * inspector/InspectorFrontendClient.h:
85689        * inspector/InspectorValues.h:
85690        * inspector/ScriptDebugListener.h:
85691        * loader/CachedResourceClient.h:
85692        * loader/CrossOriginAccessControl.h:
85693        * loader/DocumentThreadableLoader.h:
85694        * loader/FrameLoaderClient.h:
85695        * loader/RedirectScheduler.h:
85696        * loader/SubframeLoader.h:
85697        * loader/appcache/DOMApplicationCache.h:
85698        * loader/archive/ArchiveFactory.h:
85699        * loader/icon/IconDatabaseClient.h:
85700        * notifications/NotificationPresenter.h:
85701        * page/Chrome.h:
85702        * page/ChromeClient.h:
85703        * page/Console.h:
85704        * page/ContextMenuClient.h:
85705        * page/DOMSelection.h:
85706        * page/EditorClient.h:
85707        * page/EventHandler.h:
85708        * page/FrameView.h:
85709        * page/GeolocationPositionCache.h:
85710        * page/History.h:
85711        * page/Location.h:
85712        * page/Navigator.h:
85713        * page/NavigatorBase.h:
85714        * page/PluginHalterClient.h:
85715        * page/PrintContext.h:
85716        * page/SpeechInput.h:
85717        * page/SpeechInputListener.h:
85718        * page/animation/AnimationController.h:
85719        * platform/CookieJar.h:
85720        * platform/CrossThreadCopier.h:
85721        * platform/DragImage.h:
85722        * platform/FileSystem.h:
85723        * platform/Language.h:
85724        * platform/Length.h:
85725        * platform/LinkHash.h:
85726        * platform/LocalizationStrategy.h:
85727        * platform/LocalizedStrings.h:
85728        * platform/Logging.h:
85729        * platform/Pasteboard.h:
85730        * platform/PopupMenuClient.h:
85731        * platform/SearchPopupMenu.h:
85732        * platform/Widget.h:
85733        * platform/cf/BinaryPropertyList.h:
85734        * platform/chromium/ChromiumBridge.h:
85735        * platform/chromium/ClipboardUtilitiesChromium.h:
85736        * platform/cocoa/KeyEventCocoa.h:
85737        * platform/graphics/Color.h:
85738        * platform/graphics/FontCache.h:
85739        * platform/graphics/FontData.h:
85740        * platform/graphics/FontSelector.h:
85741        * platform/graphics/GraphicsTypes.h:
85742        * platform/graphics/Icon.h:
85743        * platform/graphics/ImageBuffer.h:
85744        * platform/graphics/ImageSource.h:
85745        * platform/graphics/MediaPlayer.h:
85746        * platform/graphics/MediaPlayerPrivate.h:
85747        * platform/graphics/Path.h:
85748        * platform/graphics/StringTruncator.h:
85749        * platform/graphics/cairo/FontCustomPlatformData.h:
85750        * platform/graphics/cairo/FontPlatformData.h:
85751        * platform/graphics/cg/FontPlatformData.h:
85752        * platform/graphics/cg/ImageSourceCG.h:
85753        * platform/graphics/chromium/FontCustomPlatformData.h:
85754        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
85755        * platform/graphics/chromium/FontPlatformDataLinux.h:
85756        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
85757        * platform/graphics/haiku/FontCustomPlatformData.h:
85758        * platform/graphics/mac/FontCustomPlatformData.h:
85759        * platform/graphics/mac/FontPlatformData.h:
85760        * platform/graphics/qt/FontCustomPlatformData.h:
85761        * platform/graphics/qt/FontPlatformData.h:
85762        * platform/graphics/win/FontCustomPlatformData.h:
85763        * platform/graphics/win/FontCustomPlatformDataCairo.h:
85764        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
85765        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
85766        * platform/graphics/wince/FontPlatformData.h:
85767        * platform/graphics/wince/MediaPlayerPrivateWince.h:
85768        * platform/graphics/wince/MediaPlayerProxy.h:
85769        * platform/graphics/wx/FontCustomPlatformData.h:
85770        * platform/graphics/wx/FontPlatformData.h:
85771        * platform/mac/PasteboardHelper.h:
85772        * platform/network/DNS.h:
85773        * platform/network/FormData.h:
85774        * platform/network/FormDataBuilder.h:
85775        * platform/network/HTTPParsers.h:
85776        * platform/text/Hyphenation.h:
85777        * platform/text/LineEnding.h:
85778        * platform/text/TextCodec.h:
85779        * platform/text/TextEncoding.h:
85780        * platform/text/TextStream.h:
85781        * platform/win/BString.h:
85782        * platform/win/ClipboardUtilitiesWin.h:
85783        * platform/win/WCDataObject.h:
85784        * platform/win/WebCoreTextRenderer.h:
85785        * plugins/DOMMimeType.h:
85786        * plugins/DOMMimeTypeArray.h:
85787        * plugins/DOMPlugin.h:
85788        * plugins/DOMPluginArray.h:
85789        * rendering/CounterNode.h:
85790        * rendering/HitTestResult.h:
85791        * rendering/RenderObjectChildList.h:
85792        * rendering/RenderText.h:
85793        * rendering/RenderTreeAsText.h:
85794        * rendering/TextControlInnerElements.h:
85795        * rendering/style/ContentData.h:
85796        * rendering/style/RenderStyle.h:
85797        * storage/DatabaseAuthorizer.h:
85798        * storage/DatabaseTrackerClient.h:
85799        * storage/SQLTransaction.h:
85800        * storage/SQLTransactionSync.h:
85801        * storage/Storage.h:
85802        * storage/chromium/DatabaseObserver.h:
85803        * svg/SVGAnimatedTemplate.h:
85804        * svg/SVGDocumentExtensions.h:
85805        * svg/SVGGlyphElement.h:
85806        * svg/SVGHKernElement.h:
85807        * svg/SVGNumberList.h:
85808        * svg/SVGPointList.h:
85809        * svg/SVGPreserveAspectRatio.h:
85810        * svg/SVGStylable.h:
85811        * svg/SVGTests.h:
85812        * svg/SVGTransformList.h:
85813        * svg/SVGTransformable.h:
85814        * svg/SVGVKernElement.h:
85815        * websockets/ThreadableWebSocketChannel.h:
85816        * websockets/ThreadableWebSocketChannelClientWrapper.h:
85817        * websockets/WebSocket.h:
85818        * websockets/WebSocketChannel.h:
85819        * websockets/WebSocketHandshakeResponse.h:
85820        * wml/WMLErrorHandling.h:
85821        * wml/WMLPageState.h:
85822        * wml/WMLVariables.h:
85823        * workers/DefaultSharedWorkerRepository.h:
85824        * workers/SharedWorkerRepository.h:
85825        * workers/Worker.h:
85826        * workers/WorkerContextProxy.h:
85827        * workers/WorkerLoaderProxy.h:
85828        * workers/WorkerLocation.h:
85829        * workers/WorkerMessagingProxy.h:
85830        * workers/WorkerReportingProxy.h:
85831        * workers/WorkerThread.h:
85832        * xml/DOMParser.h:
85833        * xml/XMLHttpRequestUpload.h:
85834        * xml/XPathEvaluator.h:
85835        * xml/XPathExpression.h:
85836        * xml/XPathNSResolver.h:
85837        * xml/XPathResult.h:
85838        * xml/XPathUtil.h:
85839
858402010-08-05  Adam Barth  <abarth@webkit.org>
85841
85842        Reviewed by Eric Seidel.
85843
85844        U+0000 is turned to U+FFFD (replacement character)
85845        https://bugs.webkit.org/show_bug.cgi?id=42112
85846
85847        This patch introduces an intentional parsing difference from the HTML5
85848        parsing specificiation.  The spec requires us to convert NULL
85849        characters to U+FFFD, but doing so causes compatibility issues with a
85850        number of sites, including US Bank.
85851
85852        In this patch, we strip the null characters instead in certain cases.
85853        Firefox has made a corresponding change.  After gathering compatability
85854        data, we hope to convince the HTML WG to adopt this change.
85855
85856        Tests: fast/tokenizer/null-in-text.html
85857               fast/tokenizer/null-xss.html
85858
85859        * html/HTMLTokenizer.cpp:
85860        (WebCore::HTMLTokenizer::HTMLTokenizer):
85861        (WebCore::HTMLTokenizer::reset):
85862        * html/HTMLTokenizer.h:
85863        (WebCore::HTMLTokenizer::setSkipLeadingNewLineForListing):
85864        (WebCore::HTMLTokenizer::forceNullCharacterReplacement):
85865        (WebCore::HTMLTokenizer::setForceNullCharacterReplacement):
85866        (WebCore::HTMLTokenizer::shouldSkipNullCharacters):
85867        (WebCore::HTMLTokenizer::InputStreamPreprocessor::InputStreamPreprocessor):
85868        (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
85869        * html/HTMLTreeBuilder.cpp:
85870        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
85871        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
85872        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
85873
858742010-08-05  Andy Estes  <aestes@apple.com>
85875
85876        Reviewed by David Kilzer.
85877
85878        Rename iOS-related OS and PLATFORM macros.
85879        https://bugs.webkit.org/show_bug.cgi?id=43493
85880
85881        Rename WTF_OS_IPHONE_OS to WTF_OS_IOS, WTF_PLATFORM_IPHONE to
85882        WTF_PLATFORM_IOS, and WTF_PLATFORM_IPHONE_SIMULATOR to
85883        WTF_PLATFORM_IOS_SIMULATOR.
85884
85885        * platform/cocoa/KeyEventCocoa.mm:
85886        * platform/iphone/KeyEventIPhone.mm:
85887        * platform/network/Credential.h:
85888
858892010-08-05  Anders Carlsson  <andersca@apple.com>
85890
85891        Reviewed by Sam Weinig.
85892
85893        Use the visited link provider for visited links
85894        https://bugs.webkit.org/show_bug.cgi?id=43583
85895
85896        Export Page::visitedStateChanged and Page::allvisitedStateChanged.
85897
85898        * WebCore.exp.in:
85899
859002010-08-05  Eric Seidel  <eric@webkit.org>
85901
85902        Reviewed by Nikolas Zimmermann.
85903
85904        Touching SVGNames should only rebuild hundreds of files, not thousands
85905        https://bugs.webkit.org/show_bug.cgi?id=43308
85906
85907        Remove SVGNames.h include from several core SVG header files
85908        which do not need to include it.
85909
85910        One of them, SVGPathSeg.h, required creation of an SVGPathSeg.cpp.
85911        A bunch of SVGPathSeg* could remove PlatformString.h includes if
85912        we moved their toString() methods into the .cpp files.
85913
85914        I re-indented on header to stop check-webkit-style from complaining.
85915        I removed a couple mode lines I saw, since my understanding from
85916        previous webkit-dev threads is that we plan to remove those all.
85917
85918        No functional change, thus no tests.
85919
85920        * Android.mk:
85921        * CMakeLists.txt:
85922        * GNUmakefile.am:
85923        * WebCore.gypi:
85924        * WebCore.pro:
85925        * WebCore.xcodeproj/project.pbxproj:
85926        * svg/SVGAllInOne.cpp:
85927        * svg/SVGAngle.h:
85928        * svg/SVGPathSeg.cpp: Added.
85929        (WebCore::SVGPathSeg::~SVGPathSeg):
85930        (WebCore::SVGPathSeg::pathSegType):
85931        (WebCore::SVGPathSeg::pathSegTypeAsLetter):
85932        (WebCore::SVGPathSeg::toString):
85933        (WebCore::SVGPathSeg::associatedAttributeName):
85934        (WebCore::SVGPathSegSingleCoord::toString):
85935        * svg/SVGPathSeg.h:
85936        (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
85937        * svg/SVGPathSegArc.cpp:
85938        (WebCore::SVGPathSegArc::toString):
85939        * svg/SVGPathSegArc.h:
85940        (WebCore::SVGPathSegArc::SVGPathSegArc):
85941        * svg/SVGPathSegClosePath.h:
85942        (WebCore::SVGPathSegClosePath::create):
85943        (WebCore::SVGPathSegClosePath::pathSegType):
85944        (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter):
85945        (WebCore::SVGPathSegClosePath::toString):
85946        * svg/SVGPathSegCurvetoCubic.h:
85947        * svg/SVGPathSegCurvetoCubicSmooth.h:
85948        * svg/SVGPathSegCurvetoQuadratic.h:
85949        * svg/SVGPathSegCurvetoQuadraticSmooth.h:
85950        * svg/SVGPathSegLineto.h:
85951        * svg/SVGPathSegLinetoHorizontal.h:
85952        * svg/SVGPathSegLinetoVertical.h:
85953        * svg/SVGPathSegMoveto.h:
85954        * svg/SVGTransform.h:
85955
859562010-08-05  Dirk Schulze  <krit@webkit.org>
85957
85958        Unreviewed sort of Xcode project file.
85959
85960        * WebCore.xcodeproj/project.pbxproj:
85961
859622010-08-05  Adam Barth  <abarth@webkit.org>
85963
85964        Actually make HTMLEntityNames.json valid JSON.
85965
85966        * html/HTMLEntityNames.json:
85967
859682010-08-05  Beth Dakin  <bdakin@apple.com>
85969
85970        Reviewed by Kenneth Rohde Christiansen.
85971
85972        Fix for https://bugs.webkit.org/show_bug.cgi?id=43516 REGRESSION: 
85973        Huge number of memory leaks after enabling MathML
85974        -and corresponding-
85975        <rdar://problem/8274123>
85976
85977        Destroy the old children in 
85978        RenderMathMLOperator::updateFromElement() instead of just removing 
85979        them since just removing them will cause them to leak.
85980        * mathml/RenderMathMLOperator.cpp:
85981        (WebCore::RenderMathMLOperator::updateFromElement):
85982
859832010-08-05  Tony Chang  <tony@chromium.org>
85984
85985        Reviewed by David Hyatt.
85986
85987        Fix a crash when a hidden iframe with a custom scrollbar finishes loading an image.
85988        https://bugs.webkit.org/show_bug.cgi?id=42724
85989
85990        Test: scrollbars/hidden-iframe-scrollbar-crash2.html
85991
85992        * page/FrameView.cpp:
85993        (WebCore::FrameView::createScrollbar):
85994        * rendering/RenderScrollbar.cpp:
85995        (WebCore::RenderScrollbar::createCustomScrollbar): Pass in Frame
85996        (WebCore::RenderScrollbar::RenderScrollbar): Pass in Frame
85997        (WebCore::RenderScrollbar::owningRenderer): Use the frame to get the RenderBox
85998        (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
85999        (WebCore::RenderScrollbar::updateScrollbarParts):
86000        (WebCore::RenderScrollbar::updateScrollbarPart):
86001        * rendering/RenderScrollbar.h:
86002        * rendering/RenderScrollbarPart.cpp:
86003        (WebCore::RenderScrollbarPart::computeScrollbarWidth): null check
86004        (WebCore::RenderScrollbarPart::computeScrollbarHeight): null check
86005
860062010-08-05  Yong Li  <yoli@rim.com>
86007
86008        Reviewed by Adam Treat.
86009
86010        Fix the problem that down-sampling code doesn't work
86011        for some GIF's. GIF reader can call setSize() multiple times.
86012        We should clear the scaling maps before adding new entries.
86013        Also add a fast path to check if the size has changed since last time.
86014
86015        https://bugs.webkit.org/show_bug.cgi?id=43501
86016
86017        * platform/image-decoders/ImageDecoder.cpp:
86018        (WebCore::ImageDecoder::prepareScaleDataIfNecessary):
86019        * platform/image-decoders/gif/GIFImageDecoder.cpp:
86020        (WebCore::GIFImageDecoder::setSize):
86021
860222010-08-05  Ilya Tikhonovsky  <loislo@chromium.org>
86023
86024        Reviewed by Yury Semikhatsky.
86025
86026        WebInspector: In the current implementation of inspector agents we're calling
86027        did methods manually. That is error prone and is bad from protocol point of view.
86028        It would be better to call did methods automatically from the corresponding methods
86029        of InspectorBackendDispatcher and report the results. As far as our protocol is
86030        statefull this trick will keep it in the consistent state.
86031        https://bugs.webkit.org/show_bug.cgi?id=43489
86032
86033        * inspector/CodeGeneratorInspector.pm:
86034        * inspector/Inspector.idl:
86035        * inspector/InspectorApplicationCacheAgent.cpp:
86036        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
86037        * inspector/InspectorApplicationCacheAgent.h:
86038        * inspector/InspectorBackend.cpp:
86039        (WebCore::InspectorBackend::getProfilerLogLines):
86040        (WebCore::InspectorBackend::setInjectedScriptSource):
86041        (WebCore::InspectorBackend::dispatchOnInjectedScript):
86042        (WebCore::InspectorBackend::clearConsoleMessages):
86043        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
86044        (WebCore::InspectorBackend::getDatabaseTableNames):
86045        * inspector/InspectorBackend.h:
86046        * inspector/InspectorCSSStore.cpp:
86047        (WebCore::InspectorCSSStore::inspectorStyleSheet):
86048        * inspector/InspectorCSSStore.h:
86049        * inspector/InspectorController.cpp:
86050        (WebCore::InspectorController::InspectorController):
86051        (WebCore::InspectorController::getCookies):
86052        (WebCore::InspectorController::getDOMStorageEntries):
86053        (WebCore::InspectorController::setDOMStorageItem):
86054        (WebCore::InspectorController::removeDOMStorageItem):
86055        (WebCore::InspectorController::getProfileHeaders):
86056        (WebCore::InspectorController::getProfile):
86057        (WebCore::InspectorController::editScriptSource):
86058        (WebCore::InspectorController::getScriptSource):
86059        (WebCore::InspectorController::setBreakpoint):
86060        (WebCore::InspectorController::getResourceContent):
86061        * inspector/InspectorController.h:
86062        (WebCore::InspectorController::inspectorClient):
86063        * inspector/InspectorDOMAgent.cpp:
86064        (WebCore::InspectorDOMAgent::getChildNodes):
86065        (WebCore::InspectorDOMAgent::setAttribute):
86066        (WebCore::InspectorDOMAgent::removeAttribute):
86067        (WebCore::InspectorDOMAgent::removeNode):
86068        (WebCore::InspectorDOMAgent::changeTagName):
86069        (WebCore::InspectorDOMAgent::getOuterHTML):
86070        (WebCore::InspectorDOMAgent::setOuterHTML):
86071        (WebCore::InspectorDOMAgent::setTextNodeValue):
86072        (WebCore::InspectorDOMAgent::getEventListenersForNode):
86073        (WebCore::InspectorDOMAgent::getStyles):
86074        (WebCore::InspectorDOMAgent::getAllStyles):
86075        (WebCore::InspectorDOMAgent::getStyleSheet):
86076        (WebCore::InspectorDOMAgent::getRuleRanges):
86077        (WebCore::InspectorDOMAgent::getInlineStyle):
86078        (WebCore::InspectorDOMAgent::getComputedStyle):
86079        (WebCore::InspectorDOMAgent::applyStyleText):
86080        (WebCore::InspectorDOMAgent::setStyleText):
86081        (WebCore::InspectorDOMAgent::setStyleProperty):
86082        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
86083        (WebCore::InspectorDOMAgent::setRuleSelector):
86084        (WebCore::InspectorDOMAgent::addRule):
86085        (WebCore::InspectorDOMAgent::buildObjectForRule):
86086        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
86087        * inspector/InspectorDOMAgent.h:
86088        * inspector/InspectorValues.cpp:
86089        (WebCore::InspectorValue::asNumber):
86090        (WebCore::InspectorBasicValue::asNumber):
86091        * inspector/InspectorValues.h:
86092        * inspector/front-end/Callback.js:
86093        (WebInspector.Callback.prototype.processCallback):
86094        (WebInspector.Callback.prototype.removeCallbackEntry):
86095        * inspector/front-end/ElementsPanel.js:
86096        (WebInspector.ElementsPanel.prototype.reset):
86097        * inspector/front-end/inspector.js:
86098        (WebInspector.reportProtocolError):
86099
861002010-08-04  Kenneth Russell  <kbr@google.com>
86101
86102        Reviewed by Dimitri Glazkov.
86103
86104        Style cleanups in WebGL
86105        https://bugs.webkit.org/show_bug.cgi?id=38761
86106
86107        Cleaned up all style violations in WebGL-related files reported by
86108        check-webkit-style. No logic or other changes. Built WebKit and
86109        Chromium and ran WebGL layout tests.
86110
86111        * html/canvas/ArrayBuffer.cpp:
86112        (WebCore::ArrayBuffer::ArrayBuffer):
86113        (WebCore::ArrayBuffer::data):
86114        (WebCore::ArrayBuffer::byteLength):
86115        (WebCore::ArrayBuffer::~ArrayBuffer):
86116        (WebCore::ArrayBuffer::tryAllocate):
86117        * html/canvas/ArrayBufferView.cpp:
86118        (WebCore::ArrayBufferView::setImpl):
86119        * html/canvas/ArrayBufferView.h:
86120        * html/canvas/TypedArrayBase.h:
86121        * html/canvas/WebGLBuffer.cpp:
86122        (WebCore::WebGLBuffer::deleteObjectImpl):
86123        (WebCore::WebGLBuffer::associateBufferData):
86124        * html/canvas/WebGLBuffer.h:
86125        (WebCore::WebGLBuffer::~WebGLBuffer):
86126        (WebCore::WebGLBuffer::elementArrayBuffer):
86127        (WebCore::WebGLBuffer::getTarget):
86128        (WebCore::WebGLBuffer::isBuffer):
86129        * html/canvas/WebGLFramebuffer.cpp:
86130        (WebCore::WebGLFramebuffer::deleteObjectImpl):
86131        * html/canvas/WebGLFramebuffer.h:
86132        (WebCore::WebGLFramebuffer::~WebGLFramebuffer):
86133        (WebCore::WebGLFramebuffer::isDepthAttached):
86134        (WebCore::WebGLFramebuffer::isStencilAttached):
86135        (WebCore::WebGLFramebuffer::isDepthStencilAttached):
86136        (WebCore::WebGLFramebuffer::isFramebuffer):
86137        * html/canvas/WebGLGetInfo.cpp:
86138        * html/canvas/WebGLGetInfo.h:
86139        * html/canvas/WebGLObject.cpp:
86140        (WebCore::WebGLObject::deleteObject):
86141        * html/canvas/WebGLObject.h:
86142        (WebCore::WebGLObject::object):
86143        (WebCore::WebGLObject::detachContext):
86144        (WebCore::WebGLObject::context):
86145        (WebCore::WebGLObject::isBuffer):
86146        (WebCore::WebGLObject::isFramebuffer):
86147        (WebCore::WebGLObject::isProgram):
86148        (WebCore::WebGLObject::isRenderbuffer):
86149        (WebCore::WebGLObject::isShader):
86150        (WebCore::WebGLObject::isTexture):
86151        * html/canvas/WebGLProgram.cpp:
86152        (WebCore::WebGLProgram::deleteObjectImpl):
86153        * html/canvas/WebGLProgram.h:
86154        (WebCore::WebGLProgram::~WebGLProgram):
86155        (WebCore::WebGLProgram::isLinkFailureFlagSet):
86156        (WebCore::WebGLProgram::setLinkFailureFlag):
86157        (WebCore::WebGLProgram::isProgram):
86158        * html/canvas/WebGLRenderbuffer.cpp:
86159        (WebCore::WebGLRenderbuffer::deleteObjectImpl):
86160        * html/canvas/WebGLRenderbuffer.h:
86161        (WebCore::WebGLRenderbuffer::~WebGLRenderbuffer):
86162        (WebCore::WebGLRenderbuffer::setInternalFormat):
86163        (WebCore::WebGLRenderbuffer::getInternalFormat):
86164        (WebCore::WebGLRenderbuffer::isInitialized):
86165        (WebCore::WebGLRenderbuffer::setInitialized):
86166        (WebCore::WebGLRenderbuffer::isRenderbuffer):
86167        * html/canvas/WebGLRenderingContext.cpp:
86168        (WebCore::WebGLRenderingContext::beginPaint):
86169        (WebCore::WebGLRenderingContext::blendEquation):
86170        (WebCore::WebGLRenderingContext::getActiveAttrib):
86171        (WebCore::WebGLRenderingContext::getActiveUniform):
86172        (WebCore::WebGLRenderingContext::getBufferParameter):
86173        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
86174        (WebCore::WebGLRenderingContext::vertexAttribPointer):
86175        * html/canvas/WebGLRenderingContext.h:
86176        (WebCore::WebGLRenderingContext::is3d):
86177        (WebCore::WebGLRenderingContext::isAccelerated):
86178        (WebCore::WebGLRenderingContext::graphicsContext3D):
86179        (WebCore::WebGLRenderingContext::cleanupAfterGraphicsCall):
86180        (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
86181        (WebCore::WebGLRenderingContext::VertexAttribState::initValue):
86182        * html/canvas/WebGLShader.cpp:
86183        (WebCore::WebGLShader::deleteObjectImpl):
86184        * html/canvas/WebGLShader.h:
86185        (WebCore::WebGLShader::~WebGLShader):
86186        (WebCore::WebGLShader::getType):
86187        (WebCore::WebGLShader::isShader):
86188        * html/canvas/WebGLTexture.cpp:
86189        (WebCore::WebGLTexture::deleteObjectImpl):
86190        * html/canvas/WebGLTexture.h:
86191        (WebCore::WebGLTexture::~WebGLTexture):
86192        (WebCore::WebGLTexture::isCubeMapRWrapModeInitialized):
86193        (WebCore::WebGLTexture::setCubeMapRWrapModeInitialized):
86194        (WebCore::WebGLTexture::isTexture):
86195        (WebCore::WebGLTexture::LevelInfo::LevelInfo):
86196        (WebCore::WebGLTexture::LevelInfo::setInfo):
86197        * platform/graphics/GraphicsContext3D.h:
86198        (WebCore::GraphicsContext3D::):
86199        (WebCore::GraphicsContext3D::Attributes::Attributes):
86200        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
86201        (WebCore::GraphicsContext3D::platformTexture):
86202        (WebCore::GraphicsContext3D::platformLayer):
86203
862042010-08-05  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
86205
86206        Reviewed by Simon Hausmann.
86207
86208        Make the viewport meta tag parser support the Android
86209        target-densitydpi extension.
86210        http://webkit.org/b/43492
86211
86212        http://developer.android.com/reference/android/webkit/WebView.html
86213        Section 'Building web pages to support different screen densities'
86214
86215        * dom/ViewportArguments.cpp:
86216        (WebCore::setViewportFeature):
86217        (WebCore::viewportErrorMessageTemplate):
86218        * dom/ViewportArguments.h:
86219        (WebCore::):
86220        (WebCore::ViewportArguments::ViewportArguments):
86221        (WebCore::ViewportArguments::hasCustomArgument):
86222
862232010-08-05  Jian Li  <jianli@chromium.org>
86224 
86225        Reviewed by David Levin.
86226
86227        Unify blob related feature defines to ENABLE(BLOB).
86228        https://bugs.webkit.org/show_bug.cgi?id=43081
86229
86230        * Configurations/FeatureDefines.xcconfig:
86231        * GNUmakefile.am:
86232        * WebCore.pri:
86233        * bindings/js/JSEventTarget.cpp:
86234        (WebCore::toJS):
86235        * bindings/v8/V8DOMWrapper.cpp:
86236        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
86237        * dom/EventTarget.cpp:
86238        * dom/EventTarget.h:
86239        * dom/ExceptionCode.h:
86240        (WebCore::):
86241        * dom/ScriptExecutionContext.cpp:
86242        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
86243        * dom/ScriptExecutionContext.h:
86244        * html/Blob.cpp:
86245        * html/Blob.h:
86246        * html/Blob.idl:
86247        * html/FileError.h:
86248        * html/FileError.idl:
86249        * html/FileReader.cpp:
86250        * html/FileReader.h:
86251        * html/FileReader.idl:
86252        * html/FileStream.cpp:
86253        (WebCore::FileStream::openForRead):
86254        * html/FileStream.h:
86255        * html/FileStreamClient.h:
86256        * html/FileStreamProxy.cpp:
86257        * html/FileStreamProxy.h:
86258        * html/FileThread.cpp:
86259        * html/FileThread.h:
86260        * page/DOMWindow.idl:
86261        * platform/BlobItem.cpp:
86262        (WebCore::getFileSnapshotModificationTime):
86263        (WebCore::DataBlobItem::slice):
86264        (WebCore::FileBlobItem::slice):
86265        * platform/BlobItem.h:
86266        * platform/network/FormData.cpp:
86267        (WebCore::FormData::deepCopy):
86268        (WebCore::FormData::appendFile):
86269        (WebCore::FormData::appendItem):
86270        (WebCore::FormData::appendKeyValuePairItems):
86271        * platform/network/FormData.h:
86272        (WebCore::operator==):
86273        * platform/network/mac/FormDataStreamMac.mm:
86274        (WebCore::closeCurrentStream):
86275        (WebCore::advanceCurrentStream):
86276        (WebCore::formCreate):
86277        (WebCore::formRead):
86278        (WebCore::setHTTPBody):
86279
862802010-08-05  Xan Lopez  <xlopez@igalia.com>
86281
86282        Reviewed by Gustavo Noronha.
86283
86284        When trying to wrap a Node we know is an Element fallback to a
86285        simple Element wrapper in the worst case, not to Node.
86286
86287        * bindings/gobject/WebKitDOMBinding.cpp:
86288        (WebKit::createWrapper):
86289
862902010-08-05  François Sausset  <sausset@gmail.com>
86291
86292        Reviewed by Kenneth Rohde Christiansen.
86293
86294        Implement basic values of MathML mathvariant attribute
86295        https://bugs.webkit.org/show_bug.cgi?id=43481
86296
86297        Test: mathml/presentation/attributes.xhtml
86298
86299        * css/mathml.css:
86300        (math[mathvariant="normal"], mstyle[mathvariant="normal"], mo[mathvariant="normal"], mn[mathvariant="normal"], mi[mathvariant="normal"], mtext[mathvariant="normal"], mspace[mathvariant="normal"], ms[mathvariant="normal"]):
86301        (math[mathvariant="bold"], mstyle[mathvariant="bold"], mo[mathvariant="bold"], mn[mathvariant="bold"], mi[mathvariant="bold"], mtext[mathvariant="bold"], mspace[mathvariant="bold"], ms[mathvariant="bold"]):
86302        (math[mathvariant="italic"], mstyle[mathvariant="italic"], mo[mathvariant="italic"], mn[mathvariant="italic"], mi[mathvariant="italic"], mtext[mathvariant="italic"], mspace[mathvariant="italic"], ms[mathvariant="italic"]):
86303        (math[mathvariant="bold-italic"], mstyle[mathvariant="bold-italic"], mo[mathvariant="bold-italic"], mn[mathvariant="bold-italic"], mi[mathvariant="bold-italic"], mtext[mathvariant="bold-italic"], mspace[mathvariant="bold-italic"], ms[mathvariant="bold-italic"]):
86304        * mathml/mathattrs.in:
86305
863062010-08-05  Yury Semikhatsky  <yurys@chromium.org>
86307
86308        Reviewed by Pavel Feldman.
86309
86310        Web Inspector: inspected page crashes when there is a cyclic reference in Object prototype
86311        https://bugs.webkit.org/show_bug.cgi?id=43558
86312
86313        Test: inspector/debugger-cyclic-ref.html
86314
86315        * bindings/v8/ScriptValue.cpp:
86316        (WebCore::v8ToInspectorValue):
86317
863182010-08-05  Satish Sampath  <satish@chromium.org>
86319
86320        Reviewed by Jeremy Orlow.
86321
86322        Fix rendering of speech button and enable layout tests
86323        https://bugs.webkit.org/show_bug.cgi?id=43425
86324
86325        Rewrote the speech button rendering code to match how the spin buttons (for input type=number)
86326        are implemented as the previous implementation did not work well on many platforms.
86327
86328        * rendering/RenderTextControlSingleLine.cpp:
86329        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
86330        (WebCore::RenderTextControlSingleLine::layout):
86331        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
86332        (WebCore::RenderTextControlSingleLine::styleDidChange):
86333        (WebCore::RenderTextControlSingleLine::hasControlClip):
86334        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
86335        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
86336        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
86337        (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
86338        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
86339        * rendering/RenderTextControlSingleLine.h:
86340        * rendering/TextControlInnerElements.cpp:
86341        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
86342        (WebCore::InputFieldSpeechButtonElement::create):
86343        * rendering/TextControlInnerElements.h:
86344
863452010-08-05  Andrey Kosyakov  <caseq@chromium.org>
86346
86347        Reviewed by Pavel Feldman.
86348
86349        Web Inspector: Separated WebInspector extension API injection logic from other scripts that inspector injects.
86350        Enabled injection of the API scripts even if inspector is disabled for inspector front-end page.
86351        https://bugs.webkit.org/show_bug.cgi?id=43344
86352
86353        * inspector/InspectorController.cpp:
86354        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
86355        (WebCore::InspectorController::setInspectorExtensionAPI):
86356        * inspector/InspectorController.h:
86357        * inspector/InspectorFrontendHost.cpp:
86358        (WebCore::InspectorFrontendHost::setExtensionAPI):
86359
863602010-08-05  Charles Wei  <charles.wei@torchmobile.com.cn>
86361
86362        Reviewed by George Staikos.
86363
86364        <noscript> is working the other way around in some cases with xhtmlmp enabled
86365        https://bugs.webkit.org/show_bug.cgi?id=43469
86366
86367        Test: fast/xhtmlmp/noscript-basic.xhtml
86368
86369        * dom/Document.cpp:
86370        (WebCore::Document::Document):
86371
863722010-08-05  Yury Semikhatsky  <yurys@chromium.org>
86373
86374        Unreviewed. Fix Win compilation.
86375
86376        * bindings/js/JSBindingsAllInOne.cpp:
86377
863782010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>
86379
86380        Reviewed by Tor Arne Vestbø.
86381
86382        [Qt] Clean up the input method handling
86383        https://bugs.webkit.org/show_bug.cgi?id=43545
86384
86385        Changed input method hint interface to be more efficient by setting
86386        all hints in one shot, like in QWidget.
86387
86388        * platform/qt/QWebPageClient.h:
86389
863902010-08-05  Yury Semikhatsky  <yurys@chromium.org>
86391
86392        Reviewed by Pavel Feldman.
86393
86394        Web Inspector: remove mutator methods from ScriptObject and remove ScriptArray.
86395        We shouldn't modify JS objects from InspectorController, InspectorValues
86396        should be used instead.
86397        https://bugs.webkit.org/show_bug.cgi?id=43546
86398
86399        * GNUmakefile.am:
86400        * WebCore.gypi:
86401        * WebCore.pro:
86402        * WebCore.vcproj/WebCore.vcproj:
86403        * WebCore.xcodeproj/project.pbxproj:
86404        * bindings/js/ScriptArray.cpp: Removed.
86405        * bindings/js/ScriptArray.h: Removed.
86406        * bindings/js/ScriptCallStack.h:
86407        * bindings/js/ScriptObject.cpp:
86408        * bindings/js/ScriptObject.h:
86409        * bindings/v8/ScriptArray.cpp: Removed.
86410        * bindings/v8/ScriptArray.h: Removed.
86411        * bindings/v8/ScriptCallStack.h:
86412        * bindings/v8/ScriptObject.cpp:
86413        * bindings/v8/ScriptObject.h:
86414
864152010-08-05  Ned Holbrook  <nholbrook@apple.com>
86416
86417        Reviewed by Darin Adler.
86418
86419        ~5% complex layout performance improvement.
86420        https://bugs.webkit.org/show_bug.cgi?id=43436
86421
86422        * platform/graphics/mac/ComplexTextController.h:
86423        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
86424        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Use Vector rather than CFMutableData.
86425        (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText): Ditto.
86426        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Avoid typesetter allocation unless using typesetter options.
86427
864282010-08-05  Steve Block  <steveblock@google.com>
86429
86430        Reviewed by Jeremy Orlow.
86431
86432        targetReferenceFromResource() in SVGResources.cpp is missing an ENABLE(FILTERS) guard
86433        https://bugs.webkit.org/show_bug.cgi?id=43550
86434
86435        Also updates an existing ENABLE(FILTERS) guard to avoid a compiler
86436        warning 'case FilterResourceType not handled in switch' when FILTERS
86437        is not enabled.
86438
86439        No new tests, build fix only.
86440
86441        * rendering/SVGResources.cpp:
86442        (WebCore::targetReferenceFromResource):
86443        (WebCore::SVGResources::resourceDestroyed):
86444
864452010-08-05  Victoria Kirst  <vrk@google.com>
86446
86447        Reviewed by David Levin.
86448
86449        Added logic to use glMapTexSubImage2D to write video layer to GPU
86450        texture. Also fixes CPU usage problem from previous patch.
86451        https://bugs.webkit.org/show_bug.cgi?id=43101
86452
86453        No change in user-visible functionality (since it isn't turned on),
86454        so no new tests.
86455
86456        * platform/graphics/chromium/VideoLayerChromium.cpp:
86457        (WebCore::VideoLayerChromium::VideoLayerChromium):
86458        (WebCore::VideoLayerChromium::updateTextureContents):
86459        (WebCore::VideoLayerChromium::createTextureRect):
86460        (WebCore::VideoLayerChromium::updateTextureRect):
86461        (WebCore::VideoLayerChromium::updateCompleted):
86462        * platform/graphics/chromium/VideoLayerChromium.h:
86463
864642010-08-05  Zoltan Horvath  <zoltan@webkit.org>
86465
86466        Reviewed by Simon Hausmann.
86467
86468        Allow custom memory allocation control for ClipperData struct
86469        https://bugs.webkit.org/show_bug.cgi?id=43337
86470
86471        Inherits the following class from FastAllocBase because it is
86472        instantiated by 'new':                                     
86473
86474        class name         - instantiated at: WebCore/'location'
86475        RenderLayerBacking - rendering/RenderSVGResourceClipper.cpp:165
86476
86477        * rendering/RenderSVGResourceClipper.h:
86478
864792010-08-05  Zoltan Horvath  <zoltan@webkit.org>
86480
86481        Reviewed by Simon Hausmann.
86482
86483        Allow custom memory allocation control for DoctypeData class
86484        https://bugs.webkit.org/show_bug.cgi?id=43343
86485
86486        Inherits the following class from Noncopyable because it is
86487        instantiated by 'new' and no need to be copyable:
86488
86489        class name  - instantiated at: WebCore/'location'
86490        DoctypeData - html/HTMLToken.h:113
86491
86492        * html/HTMLToken.h:
86493
864942010-08-05  François Sausset  <sausset@gmail.com>
86495
86496        Reviewed by Darin Adler.
86497
86498        Small style adjustments for MathML merror element.
86499        https://bugs.webkit.org/show_bug.cgi?id=43432
86500
86501        * css/mathml.css:
86502        (merror):
86503
865042010-08-05  Yury Semikhatsky  <yurys@chromium.org>
86505
86506        Reviewed by Pavel Feldman.
86507
86508        Web Inspector: forbid InspectorController to create script objects directly in the frontend
86509        https://bugs.webkit.org/show_bug.cgi?id=43541
86510
86511        Cookie and AppCache data are now serialized into InspectorValues instead of
86512        ScriptObjects. These were last usages of InspectorFrontend::newScript{Object,Array}
86513        so we can remove them now and use only InspectorValues to pass data to the inspector
86514        frontend.
86515
86516        * inspector/Inspector.idl:
86517        * inspector/InspectorApplicationCacheAgent.cpp:
86518        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
86519        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
86520        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
86521        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
86522        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
86523        * inspector/InspectorApplicationCacheAgent.h:
86524        * inspector/InspectorController.cpp:
86525        (WebCore::InspectorController::connectFrontend):
86526        (WebCore::InspectorController::getCookies):
86527        (WebCore::InspectorController::buildArrayForCookies):
86528        (WebCore::InspectorController::buildObjectForCookie):
86529        * inspector/InspectorController.h:
86530        * inspector/InspectorFrontend.cpp:
86531        (WebCore::InspectorFrontend::setRecordingProfile):
86532        * inspector/InspectorFrontend.h:
86533
865342010-08-05  Mario Sanchez Prada  <msanchez@igalia.com>
86535
86536        Reviewed by Xan Lopez.
86537
86538        [GTK] Extra check needed at AccessibilityObject::visiblePositionRangeForRange
86539        https://bugs.webkit.org/show_bug.cgi?id=43418
86540
86541        Ensure the renderer is a RenderText before calling toRenderText()
86542
86543        Also, simplified code a bit to avoid so many nested if's in that
86544        part of the code, while keeping the same logic.
86545
86546        * accessibility/AccessibilityObject.cpp:
86547        (WebCore::AccessibilityObject::visiblePositionRangeForRange):
86548
865492010-08-05  Kwang Yul Seo  <skyul@company100.net>
86550
86551        Reviewed by Kent Tamura.
86552
86553        [BREWMP] Define htonl, htons, ntohl and ntohs
86554        https://bugs.webkit.org/show_bug.cgi?id=43397
86555
86556        In BREWMP, AEEStdLib.h provides macros for byte order conversion: HTONL, HTONS, NTOHL and NTOHS.
86557        Use these macros to define htonl, htons, ntohl and ntohs used by WOFFFileFormat.cpp.
86558
86559        * platform/graphics/WOFFFileFormat.cpp:
86560
865612010-08-04  Zoltan Herczeg  <zherczeg@webkit.org>
86562
86563        Reviewed by Nikolas Zimmermann.
86564
86565        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
86566        https://bugs.webkit.org/show_bug.cgi?id=42244
86567
86568        Implementing svgAttributeChanged for SVGFESpotLightElement object.
86569        Furthermore, invalidateFilter has been moved to SVGFilterElement, and
86570        it is a static function now.
86571
86572        Tests: svg/dynamic-updates/SVGFESpotLightElement-dom-limitingConeAngle-attr.html
86573               svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtX-attr.html
86574               svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtY-attr.html
86575               svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtZ-attr.html
86576               svg/dynamic-updates/SVGFESpotLightElement-dom-specularExponent-attr.html
86577               svg/dynamic-updates/SVGFESpotLightElement-dom-x-attr.html
86578               svg/dynamic-updates/SVGFESpotLightElement-dom-y-attr.html
86579               svg/dynamic-updates/SVGFESpotLightElement-dom-z-attr.html
86580               svg/dynamic-updates/SVGFESpotLightElement-svgdom-limitingConeAngle-prop.html
86581               svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtX-prop.html
86582               svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtY-prop.html
86583               svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtZ-prop.html
86584               svg/dynamic-updates/SVGFESpotLightElement-svgdom-specularExponent-prop.html
86585               svg/dynamic-updates/SVGFESpotLightElement-svgdom-x-prop.html
86586               svg/dynamic-updates/SVGFESpotLightElement-svgdom-y-prop.html
86587               svg/dynamic-updates/SVGFESpotLightElement-svgdom-z-prop.html
86588
86589        * svg/SVGFEDiffuseLightingElement.cpp:
86590        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
86591        * svg/SVGFELightElement.cpp:
86592        (WebCore::SVGFELightElement::svgAttributeChanged):
86593        (WebCore::SVGFELightElement::childrenChanged):
86594        * svg/SVGFELightElement.h:
86595        * svg/SVGFEOffsetElement.cpp:
86596        (WebCore::SVGFEOffsetElement::svgAttributeChanged):
86597        * svg/SVGFESpecularLightingElement.cpp:
86598        * svg/SVGFilterElement.h:
86599        (WebCore::SVGFilterElement::invalidateFilter):
86600        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
86601        (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
86602        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
86603        * svg/SVGFilterPrimitiveStandardAttributes.h:
86604
866052010-08-05  Yury Semikhatsky  <yurys@chromium.org>
86606
86607        Reviewed by Pavel Feldman.
86608
86609        Web Inspector: serialize DOM storage items to InspectorValues
86610        https://bugs.webkit.org/show_bug.cgi?id=43486
86611
86612        * inspector/Inspector.idl:
86613        * inspector/InspectorController.cpp:
86614        (WebCore::InspectorController::populateScriptObjects):
86615        (WebCore::InspectorController::didUseDOMStorage):
86616        (WebCore::InspectorController::selectDOMStorage):
86617        (WebCore::InspectorController::getDOMStorageEntries):
86618        (WebCore::InspectorController::setDOMStorageItem):
86619        (WebCore::InspectorController::removeDOMStorageItem):
86620        * inspector/InspectorDOMStorageResource.cpp:
86621        (WebCore::InspectorDOMStorageResource::bind):
86622        * inspector/InspectorDOMStorageResource.h:
86623        * inspector/InspectorFrontend.cpp:
86624        * inspector/InspectorFrontend.h:
86625
866262010-08-04  Eric Seidel  <eric@webkit.org>
86627
86628        Reviewed by Adam Barth.
86629
86630        Enable HTML5 tree builder
86631        https://bugs.webkit.org/show_bug.cgi?id=42804
86632
86633        Months of work into a single line code change.
86634        Geez.  Should have thought of this sooner.
86635
86636        * html/HTMLTreeBuilder.cpp:
86637        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
86638
866392010-08-04  Kent Tamura  <tkent@chromium.org>
86640
86641        Reviewed by Darin Adler.
86642
86643        Spin-button behavior improvement for out-of-range values
86644        https://bugs.webkit.org/show_bug.cgi?id=43463
86645
86646        If the current value is smaller than the minimum value, the up
86647        button should change the value to the minimum value. If the
86648        current value is larger than the maximum value, the down button
86649        should change the value to the maximum value.
86650
86651        Test: fast/forms/input-number-outofrange.html
86652
86653        * html/HTMLInputElement.cpp:
86654        (WebCore::HTMLInputElement::stepUpFromRenderer):
86655
866562010-08-04  Antonio Gomes  <tonikitoo@webkit.org>
86657
86658        Reviewed by Daniel Bates.
86659
86660        Remove superfluous non-negative checks in HitTestResult:padding{Width|Height}
86661        https://bugs.webkit.org/show_bug.cgi?id=43534
86662
86663        As pointed out by Steve Block in https://bugs.webkit.org/show_bug.cgi?id=40197#c54 ,
86664        the non-negative checks present in both paddingWidth and paddingHeight methods of
86665        HitTestResults class are superflous, after we changed the rect based hit testing logic
86666        of invalid padding from IntSize(-1, -1) to IntSize(0, 0). Patch addresses this issue.
86667
86668        No new tests needed.
86669
86670        * rendering/HitTestResult.h:
86671        (WebCore::HitTestResult::paddingWidth):
86672        (WebCore::HitTestResult::paddingHeight):
86673
866742010-08-04  Sheriff Bot  <webkit.review.bot@gmail.com>
86675
86676        Unreviewed, rolling out r64674.
86677        http://trac.webkit.org/changeset/64674
86678        https://bugs.webkit.org/show_bug.cgi?id=43532
86679
86680        Doesn't work with HTML5 tree builder (Requested by tonyg-cr on
86681        #webkit).
86682
86683        * html/HTMLDocumentParser.cpp:
86684        (WebCore::HTMLDocumentParser::attemptToEnd):
86685        (WebCore::HTMLDocumentParser::endIfDelayed):
86686        * html/HTMLDocumentParser.h:
86687        * html/HTMLScriptRunner.cpp:
86688        (WebCore::HTMLScriptRunner::requestScript):
86689        (WebCore::HTMLScriptRunner::runScript):
86690        * html/HTMLScriptRunner.h:
86691
866922010-08-04  Adam Barth  <abarth@webkit.org>
86693
86694        Reviewed by Eric Seidel.
86695
86696        fast/parser/residual-style-hang.html hangs
86697        https://bugs.webkit.org/show_bug.cgi?id=42950
86698
86699        We need to cap the iteration of the adoption agency algorithm to
86700        prevent this hang.  The legacy tree builder does this as well.
86701
86702        * html/HTMLTreeBuilder.cpp:
86703        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
86704
867052010-08-04  Adam Barth  <abarth@webkit.org>
86706
86707        Reviewed by Eric Seidel.
86708
86709        Pick up spec change w.r.t. figcaption and summary
86710        https://bugs.webkit.org/show_bug.cgi?id=43075
86711
86712        * html/HTMLTreeBuilder.cpp:
86713        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
86714
867152010-08-04  Adam Barth  <abarth@webkit.org>
86716
86717        Reviewed by Eric Seidel.
86718
86719        Pick up spec change w.r.t. replacement character and <frameset>
86720        https://bugs.webkit.org/show_bug.cgi?id=43073
86721
86722        Apparently this fixes parsing for some home router configuration pages.
86723
86724        * html/HTMLTreeBuilder.cpp:
86725        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
86726
867272010-08-04  Gavin Barraclough  <barraclough@apple.com>
86728
86729        Reviewed by Sam Weinig.
86730
86731        Bug 43515 - Fix small design issues with PageAllocation, split out PageReservation.
86732        (add forwarding headers)
86733
86734        * ForwardingHeaders/wtf/Bitmap.h: Added.
86735        * ForwardingHeaders/wtf/PageReservation.h: Added.
86736
867372010-08-04  Zhenyao Mo  <zmo@google.com>
86738
86739        Reviewed by Adam Barth.
86740
86741        getAttachedShaders takes wrong parameter type in WebGLRenderingContext.idl
86742        https://bugs.webkit.org/show_bug.cgi?id=43517
86743
86744        * html/canvas/WebGLRenderingContext.idl: Fix the wrong parameter type in getAttachedShaders().
86745
867462010-08-04  Kenneth Russell  <kbr@google.com>
86747
86748        Reviewed by Dimitri Glazkov.
86749
86750        Rename CanvasObject to WebGLObject
86751        https://bugs.webkit.org/show_bug.cgi?id=31564
86752
86753        Renamed CanvasObject to WebGLObject using do-webcore-rename script.
86754        Because it seems the new convention is to not check in the changes
86755        made to this script, only checking in its effects. No new tests;
86756        built and ran WebGL in Safari and Chromium to test.
86757
86758        * Android.mk:
86759        * WebCore.gypi:
86760        * WebCore.pro:
86761        * WebCore.xcodeproj/project.pbxproj:
86762        * html/canvas/CanvasObject.cpp: Removed.
86763        * html/canvas/CanvasObject.h: Removed.
86764        * html/canvas/CanvasRenderingContext.h:
86765        * html/canvas/WebGLBuffer.cpp:
86766        (WebCore::WebGLBuffer::WebGLBuffer):
86767        * html/canvas/WebGLBuffer.h:
86768        * html/canvas/WebGLFramebuffer.cpp:
86769        (WebCore::WebGLFramebuffer::WebGLFramebuffer):
86770        (WebCore::WebGLFramebuffer::setAttachment):
86771        (WebCore::WebGLFramebuffer::onAttachedObjectChange):
86772        (WebCore::WebGLFramebuffer::isUninitialized):
86773        (WebCore::WebGLFramebuffer::setInitialized):
86774        * html/canvas/WebGLFramebuffer.h:
86775        * html/canvas/WebGLObject.cpp: Copied from WebCore/html/canvas/CanvasObject.cpp.
86776        (WebCore::WebGLObject::WebGLObject):
86777        (WebCore::WebGLObject::~WebGLObject):
86778        (WebCore::WebGLObject::setObject):
86779        (WebCore::WebGLObject::deleteObject):
86780        * html/canvas/WebGLObject.h: Copied from WebCore/html/canvas/CanvasObject.h.
86781        * html/canvas/WebGLProgram.cpp:
86782        (WebCore::WebGLProgram::WebGLProgram):
86783        * html/canvas/WebGLProgram.h:
86784        * html/canvas/WebGLRenderbuffer.cpp:
86785        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
86786        * html/canvas/WebGLRenderbuffer.h:
86787        * html/canvas/WebGLRenderingContext.cpp:
86788        (WebCore::objectOrZero):
86789        (WebCore::WebGLRenderingContext::validateWebGLObject):
86790        (WebCore::WebGLRenderingContext::removeObject):
86791        (WebCore::WebGLRenderingContext::addObject):
86792        (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
86793        (WebCore::WebGLRenderingContext::findTexture):
86794        (WebCore::WebGLRenderingContext::findRenderbuffer):
86795        (WebCore::WebGLRenderingContext::findBuffer):
86796        (WebCore::WebGLRenderingContext::findShader):
86797        * html/canvas/WebGLRenderingContext.h:
86798        * html/canvas/WebGLShader.cpp:
86799        (WebCore::WebGLShader::WebGLShader):
86800        * html/canvas/WebGLShader.h:
86801        * html/canvas/WebGLTexture.cpp:
86802        (WebCore::WebGLTexture::WebGLTexture):
86803        * html/canvas/WebGLTexture.h:
86804        * html/canvas/WebGLUniformLocation.h:
86805        * platform/graphics/mac/GraphicsContext3DMac.mm:
86806        * platform/graphics/qt/GraphicsContext3DQt.cpp:
86807
868082010-08-04  Dan Bernstein  <mitz@apple.com>
86809
86810        Build fix.
86811
86812        * platform/text/mac/HyphenationMac.mm:
86813        (WebCore::lastHyphenLocation):
86814
868152010-08-04  Dan Bernstein  <mitz@apple.com>
86816
86817        Release build fix.
86818
86819        * platform/text/mac/HyphenationMac.mm:
86820        (WebCore::lastHyphenLocation):
86821
868222010-08-04  Mark Rowe  <mrowe@apple.com>
86823
86824        Reviewed by Sam Weinig.
86825
86826        Don't leak FontDescription objects inside MathML.
86827
86828        * mathml/RenderMathMLOperator.cpp:
86829        (WebCore::RenderMathMLOperator::updateFromElement): Don't unnecessarily allocate the FontDescription on the heap.
86830        (WebCore::RenderMathMLOperator::createStackableStyle): Ditto.
86831
868322010-08-04  Kenneth Russell  <kbr@google.com>
86833
86834        Reviewed by Dimitri Glazkov.
86835
86836        Add ANGLE dependency for Chromium WebCore build
86837        https://bugs.webkit.org/show_bug.cgi?id=43508
86838
86839        No new tests. Built modified version of patch from bug 42405 in
86840        Chromium to test.
86841
86842        * WebCore.gyp/WebCore.gyp:
86843
868442010-08-04  Dan Bernstein  <mitz@apple.com>
86845
86846        Allow the language for hyphenation to be specified
86847        https://bugs.webkit.org/show_bug.cgi?id=43467
86848
86849        Test: fast/text/hyphenate-locale.html
86850
86851        Added a -webkit-hyphenate-locale property whose value can be either auto or a locale identifier
86852        string. The initial value is auto and the property is inherited. When the value is a locale
86853        identifier, hyphenation should follow the rules for the specified locale.
86854
86855        * WebCore.xcodeproj/project.pbxproj: Added AtomicStringKeyedMRUCache.h.
86856        * css/CSSComputedStyleDeclaration.cpp:
86857        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle -webkit-hyphenate-locale.
86858        Updated for the renaming of RenderStyle::hyphenateCharacter() to hyphenationString().
86859        * css/CSSParser.cpp:
86860        (WebCore::CSSParser::parseValue): Parse -webkit-hyphenate-locale.
86861        * css/CSSPropertyNames.in: Added -webkit-hyphenate-locale.
86862        * css/CSSStyleSelector.cpp:
86863        (WebCore::CSSStyleSelector::applyProperty): Apply the -webkit-hyphenate-locale property to the
86864        RenderStyle. Updated for the renaming of RenderStyle::hyphenateCharacter() to hyphenationString().
86865        * platform/text/AtomicStringKeyedMRUCache.h: Added.
86866        (WebCore::AtomicStringKeyedMRUCache::get):
86867        * platform/text/Hyphenation.cpp:
86868        (WebCore::canHyphenate): Added an implementation that returns false.
86869        (WebCore::lastHyphenLocation): Now asserts that it is not called, because it is an error to call
86870        this function if canHyphenate() returned false.
86871        * platform/text/Hyphenation.h:
86872        Added canHyphenate(). Returns true if hyphenation is possible for the given locale identifier.
86873        * platform/text/android/HyphenationAndroid.cpp:
86874        (WebCore::canHyphenate): Added an implementation that returns true and a FIXME.
86875        (WebCore::lastHyphenLocation): Added unused localeIdentifier parameter.
86876        * platform/text/cf/HyphenationCF.cpp:
86877        (WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForNullKey): Returns
86878        the CFLocaleRef for the current search locale.
86879        (WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForKey): Returns a
86880        CFLocaleRef for the locale identifier.
86881        (WebCore::canHyphenate): Added. Returns true.
86882        (WebCore::lastHyphenLocation): Added localeIdentifier parameter, used to pass a CFLocaleRef to
86883        the hyphenation function.
86884        * platform/text/mac/HyphenationMac.mm:
86885        (WebCore::AtomicStringKeyedMRUCache<bool>::createValueForNullKey): Returns whether the current
86886        search locale is english.
86887        (WebCore::AtomicStringKeyedMRUCache<bool>::createValueForKey): Returns whether the locale identifier
86888        string identifies locale with the English language.
86889        (WebCore::canHyphenate): Added. Returns true if the locale language is English.
86890        (WebCore::lastHyphenLocation): Added localeIdentifier parameter and an assertion that its language
86891        is English.
86892        * rendering/RenderBlockLineLayout.cpp:
86893        (WebCore::tryHyphenating): Added a locale identifier parameter, which is passed down to
86894        lastHyphenLocation(). Added 1 to the value passed for the beforeIndex parameter to lastHyphenLocation(),
86895        because the latter only returns values smaller than that index. The Mac implementation could
86896        return a value equal to beforeIndex, but that is fixed in the WebKitSystemInterface part of this patch.
86897        (WebCore::RenderBlock::findNextLineBreak): Only set canHyphenate to true if hyphenation is possible
86898        for the specified hyphenation locale. Pass the hyphenation locale to tryHyphenating().
86899        * rendering/style/RenderStyle.cpp:
86900        (WebCore::RenderStyle::diff): Compare hyphenation locales.
86901        (WebCore::RenderStyle::hyphenString): Updated for the renaming of hyphenateCharacter() to
86902        hyphenationString().
86903        * rendering/style/RenderStyle.h:
86904        (WebCore::InheritedFlags::hyphenationString): Renamed hyphenateCharacter() to this.
86905        (WebCore::InheritedFlags::hyphenationLocale): Added this accessor.
86906        (WebCore::InheritedFlags::setHyphenationString): Renamed setHyphenateCharacter() to this.
86907        (WebCore::InheritedFlags::setHyphenationLocale): Added this accessor.
86908        (WebCore::InheritedFlags::initialHyphenationString): Renamed initialHyphenateCharacter() to this.
86909        (WebCore::InheritedFlags::initialHyphenateLocale): Added. Returns the null atom, which represents a
86910        value of auto.
86911        * rendering/style/StyleRareInheritedData.cpp:
86912        (WebCore::StyleRareInheritedData::StyleRareInheritedData): Copy the hyphenation locale. Updated for
86913        rename.
86914        (WebCore::StyleRareInheritedData::operator==): Compare the hyphenation locales. Updated for rename.
86915        * rendering/style/StyleRareInheritedData.h:
86916
869172010-08-04  Tony Gentilcore  <tonyg@chromium.org>
86918
86919        Reviewed by Eric Seidel.
86920
86921        Support <script defer> as specified by HTML5
86922        https://bugs.webkit.org/show_bug.cgi?id=40934
86923
86924        See: http://dev.w3.org/html5/spec/Overview.html#the-end
86925
86926        Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
86927               fast/dom/HTMLScriptElement/defer-double-write.html
86928               fast/dom/HTMLScriptElement/defer-inline-script.html
86929               fast/dom/HTMLScriptElement/defer-onbeforeload.html
86930               fast/dom/HTMLScriptElement/defer-script-invalid-url.html
86931               http/tests/misc/script-defer-after-slow-stylesheet.html
86932               http/tests/misc/script-defer-write-slow-stylesheet.html
86933               http/tests/misc/script-defer.html
86934
86935        * html/HTMLDocumentParser.cpp:
86936        (WebCore::HTMLDocumentParser::attemptToEnd):
86937        (WebCore::HTMLDocumentParser::endIfDelayed):
86938        (WebCore::HTMLDocumentParser::executeScriptsWaitingForParsingAndEnd):
86939        * html/HTMLDocumentParser.h:
86940        * html/HTMLScriptRunner.cpp:
86941        (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
86942        (WebCore::HTMLScriptRunner::requestScript):
86943        (WebCore::HTMLScriptRunner::requestParsingBlockingScript):
86944        (WebCore::HTMLScriptRunner::requestDeferredScript):
86945        (WebCore::HTMLScriptRunner::runScript):
86946        * html/HTMLScriptRunner.h:
86947        (WebCore::HTMLScriptRunner::PendingScript::PendingScript):
86948        (WebCore::HTMLScriptRunner::PendingScript::operator=):
86949
869502010-08-04  Kevin Ollivier  <kevino@theolliviers.com>
86951
86952        [wx] Build fix for gcc not importing all symbols from convenience libraries.
86953        Works on 10.6 only for Mac until the build system is reworked.
86954
86955        * bindings/scripts/CodeGeneratorCPP.pm: Add conditionals in impl. to header as well.
86956        * wscript: 
86957
869582010-08-04  Kevin Ollivier  <kevino@theolliviers.com>
86959
86960        [wx] Build fix. Enclose PlatformStrategy methods in USE(PLATFORM_STRATEGIES).
86961        
86962        * platform/LocalizedStrings.cpp:
86963
869642010-08-04  François Sausset  <sausset@gmail.com>
86965
86966        Reviewed by Kenneth Rohde Christiansen.
86967
86968        Remove unnecessary calls to setStyle() in MathML code that made RenderLayer crash.
86969        https://bugs.webkit.org/show_bug.cgi?id=42894
86970
86971        Test: mathml/presentation/style.xhtml
86972
86973        * mathml/MathMLInlineContainerElement.cpp:
86974        (WebCore::MathMLInlineContainerElement::createRenderer):
86975        * mathml/MathMLMathElement.cpp:
86976        (WebCore::MathMLMathElement::createRenderer):
86977        * mathml/MathMLTextElement.cpp:
86978        (WebCore::MathMLTextElement::createRenderer):
86979
869802010-08-03  Kenneth Russell  <kbr@google.com>
86981
86982        Reviewed by Nate Chapin.
86983
86984        Move WebGL-specific code out of GraphicsContext3D so that G3D can be used as a generic accelerated drawing API
86985        https://bugs.webkit.org/show_bug.cgi?id=43221
86986
86987        Added a helper function to extract the contents of WebGL objects
86988        to reduce duplicated code and fix a couple of potential crashes
86989        introduced in the previous refactoring.
86990
86991        No new tests; ran existing WebGL tests.
86992
86993        * html/canvas/WebGLRenderingContext.cpp:
86994        (WebCore::WebGLRenderingContext::attachShader):
86995        (WebCore::WebGLRenderingContext::bindAttribLocation):
86996        (WebCore::WebGLRenderingContext::bindBuffer):
86997        (WebCore::WebGLRenderingContext::bindFramebuffer):
86998        (WebCore::WebGLRenderingContext::bindRenderbuffer):
86999        (WebCore::WebGLRenderingContext::bindTexture):
87000        (WebCore::WebGLRenderingContext::compileShader):
87001        (WebCore::WebGLRenderingContext::detachShader):
87002        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
87003        (WebCore::WebGLRenderingContext::framebufferTexture2D):
87004        (WebCore::WebGLRenderingContext::getActiveAttrib):
87005        (WebCore::WebGLRenderingContext::getActiveUniform):
87006        (WebCore::WebGLRenderingContext::getAttachedShaders):
87007        (WebCore::WebGLRenderingContext::getAttribLocation):
87008        (WebCore::WebGLRenderingContext::getProgramParameter):
87009        (WebCore::WebGLRenderingContext::getProgramInfoLog):
87010        (WebCore::WebGLRenderingContext::getShaderParameter):
87011        (WebCore::WebGLRenderingContext::getShaderInfoLog):
87012        (WebCore::WebGLRenderingContext::getShaderSource):
87013        (WebCore::WebGLRenderingContext::getUniform):
87014        (WebCore::WebGLRenderingContext::getUniformLocation):
87015        (WebCore::WebGLRenderingContext::linkProgram):
87016        (WebCore::WebGLRenderingContext::shaderSource):
87017        (WebCore::WebGLRenderingContext::useProgram):
87018        (WebCore::WebGLRenderingContext::validateProgram):
87019        (WebCore::WebGLRenderingContext::handleNPOTTextures):
87020        (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
87021
870222010-08-04  Mario Sanchez Prada  <msanchez@igalia.com>
87023
87024        Reviewed by Jeremy Orlow.
87025
87026        [Gtk] Make sure DRT return the right AXTitle for controls
87027        https://bugs.webkit.org/show_bug.cgi?id=39997
87028
87029        Fallback to the text under the given element as its name in case
87030        it's a control element and has no associated label for it.
87031
87032        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
87033        (webkit_accessible_get_name):
87034
870352010-08-02  Kenneth Russell  <kbr@google.com>
87036
87037        Reviewed by Dimitri Glazkov.
87038
87039        Port Chromium's accelerated compositing to Mac OS X
87040        https://bugs.webkit.org/show_bug.cgi?id=43398
87041
87042        No new tests. Tested manually with CSS 3D and WebGL tests.
87043
87044        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
87045        (WebCore::clearBorderColor):
87046        (WebCore::clearLayerBackgroundColor):
87047         - Fixed compilation problems with gcc.
87048        * platform/graphics/chromium/ImageLayerChromium.cpp:
87049        (WebCore::ImageLayerChromium::updateTextureContents):
87050         - Added Core Graphics port.
87051        * platform/graphics/chromium/LayerChromium.cpp:
87052        (WebCore::LayerChromium::LayerChromium):
87053         - Fixed compilation problems with gcc related to initialization
87054           order of members.
87055        (WebCore::LayerChromium::updateTextureContents):
87056        (WebCore::LayerChromium::updateTextureRect):
87057         - Ported to Core Graphics, adjusting for lower-left coordinate
87058           system origin.
87059        * platform/graphics/chromium/LayerRendererChromium.cpp:
87060        (WebCore::LayerRendererChromium::LayerRendererChromium):
87061         - Fixed compilation problems with gcc related to initialization
87062           order of members.
87063        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
87064         - Ported to Core Graphics.
87065        (WebCore::LayerRendererChromium::drawLayers):
87066         - Added more debug-only error calls during drawing phase.
87067           Adjusted scrolling and incremental updating code for Core
87068           Graphics' lower-left coordinate system origin.
87069        (WebCore::LayerRendererChromium::initializeSharedGLObjects):
87070         - Removed color channel swizzling in Core Graphics port. Fixed
87071           preexisting bug in initialization check of m_rootLayerTextureId.
87072        * platform/graphics/chromium/LayerRendererChromium.h:
87073         - Added needed data members for Core Graphics port.
87074
870752010-08-04  Yury Semikhatsky  <yurys@chromium.org>
87076
87077        Reviewed by Pavel Feldman.
87078
87079        Web Inspector: use InspectorValue to push dispatch results from the injected script
87080        https://bugs.webkit.org/show_bug.cgi?id=43483
87081
87082        * bindings/js/JSInjectedScriptHostCustom.cpp:
87083        (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
87084        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
87085        (WebCore::V8InjectedScriptHost::reportDidDispatchOnInjectedScriptCallback):
87086        * inspector/InjectedScript.cpp:
87087        (WebCore::InjectedScript::dispatch):
87088        * inspector/InjectedScript.h:
87089        * inspector/InjectedScriptHost.cpp:
87090        (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
87091        (WebCore::InjectedScriptHost::remoteFrontend):
87092        * inspector/InjectedScriptHost.h:
87093        * inspector/Inspector.idl:
87094        * inspector/InspectorBackend.cpp:
87095        (WebCore::InspectorBackend::dispatchOnInjectedScript):
87096        * inspector/InspectorController.cpp:
87097        (WebCore::InspectorController::didContinue):
87098        * inspector/InspectorFrontend.cpp:
87099        * inspector/InspectorFrontend.h:
87100
871012010-08-04  Abhishek Arya  <inferno@chromium.org>
87102
87103        Unreviewed. Put missing equivalent js bindings check.
87104
87105        Forgot putting js bindings check in http://trac.webkit.org/changeset/64647. This fixes the qt crash.
87106
87107        * bindings/js/JSDesktopNotificationsCustom.cpp:
87108        (WebCore::JSNotificationCenter::requestPermission):
87109
871102010-08-04  Yury Semikhatsky  <yurys@chromium.org>
87111
87112        Reviewed by Pavel Feldman.
87113
87114        Web Inspector: serialize database resources to InspectorValues
87115        https://bugs.webkit.org/show_bug.cgi?id=43482
87116
87117        * inspector/Inspector.idl:
87118        * inspector/InspectorBackend.cpp:
87119        (WebCore::InspectorBackend::getDatabaseTableNames):
87120        * inspector/InspectorController.cpp:
87121        (WebCore::InspectorController::populateScriptObjects):
87122        (WebCore::InspectorController::selectDatabase):
87123        (WebCore::InspectorController::didOpenDatabase):
87124        * inspector/InspectorController.h:
87125        * inspector/InspectorDatabaseResource.cpp:
87126        (WebCore::InspectorDatabaseResource::create):
87127        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
87128        (WebCore::InspectorDatabaseResource::bind):
87129        * inspector/InspectorDatabaseResource.h:
87130        * inspector/InspectorFrontend.cpp:
87131        * inspector/InspectorFrontend.h:
87132        * storage/Database.cpp:
87133        (WebCore::Database::openDatabase):
87134
871352010-08-03  Abhishek Arya  <inferno@chromium.org>
87136
87137        Reviewed by Alexey Proskuryakov.
87138
87139        Null the script execution context when disconnecting frame in notifications.
87140        Make sure that script execution context is valid in notification requestPermission.
87141        https://bugs.webkit.org/show_bug.cgi?id=43295
87142
87143        Tests: fast/notifications/notifications-document-close-crash.html
87144
87145        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
87146        (WebCore::V8NotificationCenter::requestPermissionCallback):
87147        * notifications/NotificationCenter.cpp:
87148        (WebCore::NotificationCenter::disconnectFrame):
87149
871502010-08-03  Adam Roben  <aroben@apple.com>
87151
87152        Turn on PLATFORM_STRATEGIES on Windows
87153
87154        Fixes <http://webkit.org/b/43431>.
87155
87156        Reviewed by Anders Carlsson.
87157
87158        * WebCore.vcproj/WebCore.vcproj: Added LocalizedStrings.cpp,
87159        PlatformStrategies.h, LocalizationStrategy.h, PluginStrategy.h, and
87160        VisitedLinkStrategy.h. Removed PluginDataWin.cpp
87161
87162        * platform/LocalizedStrings.cpp: Wrapped Mac-only functions in
87163        PLATFORM(MAC) guards.
87164
87165        (WebCore::uploadFileText):
87166        (WebCore::allFilesText):
87167        Added these Windows-only functions.
87168
87169        * plugins/win/PluginDataWin.cpp: Removed.
87170
871712010-08-04  Yury Semikhatsky  <yurys@chromium.org>
87172
87173        Reviewed by Pavel Feldman.
87174
87175        Web Inspector: serialize CPU profiles to InspectorValues instead of
87176        using JS wrappers.
87177        https://bugs.webkit.org/show_bug.cgi?id=43475
87178
87179        * Android.jscbindings.mk:
87180        * CMakeLists.txt:
87181        * GNUmakefile.am:
87182        * WebCore.pro:
87183        * WebCore.vcproj/WebCore.vcproj:
87184        * WebCore.xcodeproj/project.pbxproj:
87185        * bindings/js/ScriptProfile.h:
87186        * bindings/js/ScriptProfiler.cpp:
87187        (WebCore::ScriptProfiler::stop):
87188        * bindings/scripts/CodeGeneratorJS.pm:
87189        * bindings/v8/ScriptProfile.cpp:
87190        (WebCore::buildInspectorObjectFor):
87191        (WebCore::ScriptProfile::buildInspectorObjectForHead):
87192        * bindings/v8/ScriptProfile.h:
87193        * inspector/Inspector.idl:
87194        * inspector/InspectorController.cpp:
87195        (WebCore::InspectorController::addProfile):
87196        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
87197        (WebCore::InspectorController::getProfileHeaders):
87198        (WebCore::InspectorController::getProfile):
87199        (WebCore::InspectorController::createProfileHeader):
87200        * inspector/InspectorController.h:
87201        * inspector/InspectorFrontend.cpp:
87202        * inspector/InspectorFrontend.h:
87203
872042010-08-04  Andreas Kling  <andreas.kling@nokia.com>
87205
87206        Reviewed by Simon Hausmann.
87207
87208        [Qt] Use a QImage for the stroke applier scratch context
87209
87210        This avoids leaking a server-side resource on some graphics systems.
87211
87212        * platform/graphics/qt/PathQt.cpp:
87213        (WebCore::scratchContext):
87214
872152010-08-03  Ben Murdoch  <benm@google.com>
87216
87217        Reviewed by Darin Adler.
87218
87219        HTML5 parser may cause onload not to fire
87220        https://bugs.webkit.org/show_bug.cgi?id=43423
87221
87222        If a complex page causes the HTML parser to yield,
87223        then when parsing continues again and eventually
87224        finishes, we are missing a call to endIfDelayed(). This
87225        results in onload never being called.
87226
87227        Not for lack of trying, but it seems almost
87228        impossible to write a reliable test for this bug,
87229        due to the highly timing-dependent nature of the
87230        bug. The link above contains further discussion and
87231        attempts at writing a test.
87232        
87233        * html/HTMLDocumentParser.cpp:
87234        (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
87235        Add a call to endIfDelayed() after pumping the tokenizer
87236        post the parser yielding to ensure that the parsing step
87237        is completed properly and the onload event fires.
87238
872392010-08-04  Dirk Schulze  <krit@webkit.org>
87240
87241        Unreviewed sort of Xcode project file.
87242
87243        * WebCore.xcodeproj/project.pbxproj:
87244
872452010-08-03  Darin Adler  <darin@apple.com>
87246
87247        Reviewed by Dan Bernstein.
87248
87249        System color changes are not applied properly
87250        https://bugs.webkit.org/show_bug.cgi?id=43468
87251
87252        * manual-tests/system-color-change.html: Added.
87253
87254        * rendering/RenderTheme.cpp:
87255        (WebCore::RenderTheme::platformColorsDidChange): Added a call to
87256        Page::setNeedsReapplyStyles, so all frames of all pages will recompute
87257        in case they use system colors. It's rare for these colors to change,
87258        so OK to do a little extra style computation.
87259
872602010-08-04  Nikolas Zimmermann  <nzimmermann@rim.com>
87261
87262        Not reviewed. Revert changed license in SVGFEOffsetElement.h, thanks Gabor for noticing.
87263
87264        * svg/SVGFEOffsetElement.h:
87265
872662010-08-03  Alexey Proskuryakov  <ap@apple.com>
87267
87268        Reviewed by Sam Weinig.
87269
87270        https://bugs.webkit.org/show_bug.cgi?id=42939
87271        WebEditorClient::didBeginEditing is never called in WebKit2
87272
87273        * page/FocusController.cpp: (WebCore::FocusController::setFocused): Focusing a page without
87274        a focused frame makes little sense, so WebKit used to focus a frame first when its view
87275        became first responder. For viewless frames, WebKit cannot know what to focus. The assumption
87276        here is that in all cases with null m_focusedFrame, it's the main frame that needs to be focused.
87277
872782010-08-03  Gavin Barraclough  <barraclough@apple.com>
87279
87280        Build fix following r64624.
87281
87282        * ForwardingHeaders/wtf/BitMap.h: Added.
87283
872842010-08-03  Kent Tamura  <tkent@chromium.org>
87285
87286        Reviewed by Ojan Vafai.
87287
87288        <input type=number> UI: Support wheel events
87289        https://bugs.webkit.org/show_bug.cgi?id=42441
87290
87291        Test: fast/forms/input-number-wheel.html
87292
87293        * html/HTMLInputElement.cpp:
87294        (WebCore::HTMLInputElement::defaultEventHandler):
87295         Call stepUpFromRenderer() for wheelDeltaY.
87296
872972010-08-03  Joseph Pecoraro  <joepeck@webkit.org>
87298
87299        Reviewed by David Kilzer.
87300
87301        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
87302        https://bugs.webkit.org/show_bug.cgi?id=40627
87303
87304        Part 6 - LayoutTest and Cleanup
87305
87306        Test: http/tests/appcache/origin-quota.html
87307
87308        * loader/appcache/ApplicationCacheGroup.cpp:
87309        (WebCore::ApplicationCacheGroup::scheduleReachedOriginQuotaCallback): made synchronous, as asynchronously the cache group was deleted too soon.
87310        * loader/appcache/ApplicationCacheStorage.cpp:
87311        (WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin): all storing operations should force the database to be created if needed.
87312
873132010-08-03  Ryosuke Niwa  <rniwa@webkit.org>
87314
87315        Reviewed by Eric Seidel.
87316
87317        extractAndNegateTextDecorationStyle and maxRangeOffset in ApplyStyleCommand.cpp should be deleted
87318        https://bugs.webkit.org/show_bug.cgi?id=43437
87319
87320        Removed extractAndNegateTextDecorationStyle because we never push down text decorations added by CSS rules
87321        as discussed on the bug 27809. Also removed pushDownTextDecorationStyleAtBoundaries because it only existed
87322        to encapsulate the complexity of calling pushDownTextDecorationStyleAroundNode first with forceNegate = false
87323        (calling pushDownTextDecorationStyleAroundNode) and again with forceNegate = true (calling extractAndNegateTextDecorationStyle)
87324        after updating layout but neither the layout update nor the second call to pushDownTextDecorationStyleAroundNode
87325        is needed after the removal of extractAndNegateTextDecorationStyle.
87326
87327        Also replaced maxRangeOffset by lastOffsetForEditing as FIXME (added by r48235) indicated.
87328
87329        No new tests added since this is a clean up.
87330
87331        * editing/ApplyStyleCommand.cpp:
87332        (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): No longer takes forceNegate as an argument.
87333        (WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownTextDecorationStyleAroundNode directly.
87334        * editing/ApplyStyleCommand.h:
87335
873362010-08-03  Ryosuke Niwa  <rniwa@webkit.org>
87337
87338        Reviewed by Ojan Vafai.
87339
87340        Extract a function that serializes nodes from the range version of createMarkup
87341        https://bugs.webkit.org/show_bug.cgi?id=43405
87342
87343        Extracted serializeNodes that serializes nodes from createMarkup.
87344        No new tests added since this is a clean up.
87345
87346        * editing/markup.cpp:
87347        (WebCore::serializeNodes): Added.
87348        (WebCore::createMarkup): Calls serializeNodes.
87349
873502010-08-03  Brian Weinstein  <bweinstein@apple.com>
87351
87352        Fix the build by adding the needed MathML source files to WebCore's vcproj.
87353        Also, Visual Studio did some drive-by resorting of the vcproj, the added
87354        MathML files are the only important change.
87355
87356        * WebCore.vcproj/WebCore.vcproj:
87357
873582010-08-03  Joseph Pecoraro  <joepeck@webkit.org>
87359
87360        Reviewed by Nate Chapin.
87361
87362        Web Inspector: Missing ApplicationCache InspectorBackend Stub
87363        https://bugs.webkit.org/show_bug.cgi?id=43265
87364
87365        Registered "getApplicationCaches".
87366
87367        * inspector/front-end/InspectorBackendStub.js:
87368        (WebInspector.InspectorBackendStub): 
87369
873702010-08-03  Brian Weinstein  <bweinstein@apple.com>
87371
87372        Fix the Windows build by adding WebCore/mathml to the list of paths to look for header
87373        files.
87374
87375        * WebCore.vcproj/WebCoreCommon.vsprops:
87376
873772010-08-03  Mark Rowe  <mrowe@apple.com>
87378
87379        Fix the i386 build with a static_cast hammer.
87380
87381        * mathml/RenderMathMLFraction.cpp:
87382        (WebCore::RenderMathMLFraction::layout):
87383
873842010-08-03  Beth Dakin  <bdakin@apple.com>
87385
87386        Speculative build fix for Leopard.
87387
87388        * mathml/RenderMathMLOperator.cpp:
87389        * mathml/RenderMathMLRoot.cpp:
87390        (WebCore::RenderMathMLRoot::paint):
87391        (WebCore::RenderMathMLRoot::layout):
87392        * mathml/RenderMathMLSquareRoot.cpp:
87393        (WebCore::RenderMathMLSquareRoot::paint):
87394        * mathml/RenderMathMLSubSup.cpp:
87395
873962010-08-03  Beth Dakin  <bdakin@apple.com>
87397
87398        Speculative build fix.
87399
87400        * css/mathml.css:
87401        (mi):
87402        (math[mathsize="small"], mstyle[mathsize="small"], mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"], mtext[mathsize="small"], mspace[mathsize="small"], ms[mathsize="small"]):
87403        (math[mathsize="normal"], mstyle[mathsize="normal"], mo[mathsize="normal"], mn[mathsize="normal"], mi[mathsize="normal"], mtext[mathsize="normal"], mspace[mathsize="normal"], ms[mathsize="normal"]):
87404        (math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="big"], mi[mathsize="big"], mtext[mathsize="big"], mspace[mathsize="big"], ms[mathsize="big"]):
87405
874062010-08-03  Geoffrey Garen  <ggaren@apple.com>
87407
87408        Reviewed by Mark Rowe.
87409
87410        https://bugs.webkit.org/show_bug.cgi?id=43444
87411        PLATFORM(CF) is false on Windows in JavaScriptCore
87412
87413        Moved some PLATFORM(WIN) #defines down into JavaScriptCore.
87414
87415        * config.h: Moved WTF_PLATFORM_CF 1 and WTF_USE_PTHREADS 0 to wtf/Platform.h.
87416        Removed #undef WTF_USE_WININET because wtf/Platform.h no longer #defines it.
87417
874182010-08-03  Alex Milowski  <alex@milowski.com>
87419
87420        Reviewed by Beth Dakin.
87421
87422        Changed the ENABLE_MATHML value to enable MathML by default.
87423
87424        * Configurations/FeatureDefines.xcconfig:
87425
874262010-07-30  Stephen White  <senorblanco@chromium.org>
87427
87428        Reviewed by Ojan Vafai.
87429
87430        Move PlatformContextSkia and NativeImageSkia into the WebCore namespace.
87431        https://bugs.webkit.org/show_bug.cgi?id=43272
87432
87433        One wrinkle is that PlatformContext and NativeImagePtr are 
87434        typedef'ed outside outside the WebCore namespace block, so the
87435        PlatformContextSkia and NativeImageSkia have to be forward-declared 
87436        explicitly within that namespace.  Another solution might be to move
87437        those declarations into the WebCore namespace block below, but that
87438        would affect platforms other than Skia, so I leave it to the reviewer
87439        to decide.
87440
87441        Test:  if it compiles, you're happy.
87442
87443        * platform/graphics/GraphicsContext.h:
87444        * platform/graphics/Image.h:
87445        * platform/graphics/ImageSource.h:
87446        * platform/graphics/skia/NativeImageSkia.cpp:
87447        (WebCore::NativeImageSkia::hasResizedBitmap):
87448        (WebCore::NativeImageSkia::shouldCacheResampling):
87449        * platform/graphics/skia/NativeImageSkia.h:
87450        * platform/graphics/skia/PlatformContextSkia.cpp:
87451        (WebCore::PlatformContextSkia::State::State):
87452        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
87453        (WebCore::PlatformContextSkia::drawRect):
87454        (WebCore::PlatformContextSkia::setupPaintForStroking):
87455        (WebCore::PlatformContextSkia::getStrokeStyle):
87456        (WebCore::PlatformContextSkia::setStrokeStyle):
87457        (WebCore::PlatformContextSkia::setTextDrawingMode):
87458        (WebCore::PlatformContextSkia::interpolationQuality):
87459        (WebCore::PlatformContextSkia::setInterpolationQuality):
87460        (WebCore::PlatformContextSkia::getImageResamplingHint):
87461        (WebCore::PlatformContextSkia::setImageResamplingHint):
87462        (WebCore::PlatformContextSkia::clearImageResamplingHint):
87463        (WebCore::PlatformContextSkia::applyClipFromImage):
87464        (WebCore::PlatformContextSkia::setGLES2Context):
87465        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
87466        (WebCore::PlatformContextSkia::prepareForHardwareDraw):
87467        (WebCore::PlatformContextSkia::syncSoftwareCanvas):
87468        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
87469        * platform/graphics/skia/PlatformContextSkia.h:
87470        (WebCore::PlatformContextSkia::gpuCanvas):
87471        * platform/graphics/skia/SkiaFontWin.cpp:
87472        (WebCore::windowsCanHandleDrawTextShadow):
87473        (WebCore::paintSkiaText):
87474        * platform/graphics/skia/SkiaFontWin.h:
87475
874762010-08-03  Adam Roben  <aroben@apple.com>
87477
87478        Rename LocalizedStringsMac.mm to LocalizedStrings.cpp
87479
87480        LocalizedStringsMac.mm should be usable by other ports
87481        https://bugs.webkit.org/show_bug.cgi?id=43441
87482
87483        Reviewed by Anders Carlsson.
87484
87485        * WebCore.xcodeproj/project.pbxproj: Updated the file's name and path.
87486
87487        * platform/LocalizedStrings.cpp: Renamed from
87488        WebCore/platform/mac/LocalizedStringsMac.mm. Changed #imports to
87489        #includes.
87490
874912010-08-03  James Robinson  <jamesr@chromium.org>
87492
87493        Reviewed by Darin Fisher.
87494
87495        Move WebGL-specific code out of GraphicsContext3D so that G3D can be used as a generic accelerated drawing API
87496        https://bugs.webkit.org/show_bug.cgi?id=43221
87497
87498        Changes the GraphicsContext3D API to use Platform3DObjects instead of WebGLFoo* types like WebGLTexture.
87499        WebGLRenderingContext still uses WebGLFoo types and converts to Platform3DObjects internally.  Other
87500        consumers of the GraphicsContext3D can use the Platform3DObject APIs directly without any ties to WebGL.
87501
87502        The majority of this change is purely mechanical.  The less obvious changes are:
87503        - move all null checking on WebGLFoo types to WebGLRenderingContext, instead of mixing them
87504          between WebGLRenderingContext and the various port-specific implementations of GraphicsContext3D
87505        - add a GraphicsContext3D getter to CanvasRenderingContext.  This is needed for the readback
87506          path on Chromium/mac.  It may be possible to remove this, but I would prefer to do that
87507          in a follow-up patch to minimize churn.
87508        - move some texture cube map logic that existed only in the Chromium port of GC3D to
87509          WebGLRenderingContext behind #if PLATFORM(CHROMIUM). I think this logic should either
87510          exist for all ports or exist for none, but again I would rather change the behavior
87511          in a different patch from this one.
87512
87513        * html/canvas/CanvasRenderingContext.h:
87514        (WebCore::CanvasRenderingContext::graphicsContext3D):
87515        * html/canvas/WebGLProgram.cpp:
87516        (WebCore::WebGLProgram::cacheActiveAttribLocations):
87517        * html/canvas/WebGLRenderingContext.cpp:
87518        (WebCore::WebGLRenderingContext::attachShader):
87519        (WebCore::WebGLRenderingContext::bindAttribLocation):
87520        (WebCore::WebGLRenderingContext::bindBuffer):
87521        (WebCore::WebGLRenderingContext::bindFramebuffer):
87522        (WebCore::WebGLRenderingContext::bindRenderbuffer):
87523        (WebCore::WebGLRenderingContext::bindTexture):
87524        (WebCore::WebGLRenderingContext::compileShader):
87525        (WebCore::WebGLRenderingContext::detachShader):
87526        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
87527        (WebCore::WebGLRenderingContext::framebufferTexture2D):
87528        (WebCore::WebGLRenderingContext::getActiveAttrib):
87529        (WebCore::WebGLRenderingContext::getActiveUniform):
87530        (WebCore::WebGLRenderingContext::getAttachedShaders):
87531        (WebCore::WebGLRenderingContext::getAttribLocation):
87532        (WebCore::WebGLRenderingContext::getProgramParameter):
87533        (WebCore::WebGLRenderingContext::getProgramInfoLog):
87534        (WebCore::WebGLRenderingContext::getShaderParameter):
87535        (WebCore::WebGLRenderingContext::getShaderInfoLog):
87536        (WebCore::WebGLRenderingContext::getShaderSource):
87537        (WebCore::WebGLRenderingContext::getUniform):
87538        (WebCore::WebGLRenderingContext::getUniformLocation):
87539        (WebCore::WebGLRenderingContext::isBuffer):
87540        (WebCore::WebGLRenderingContext::isFramebuffer):
87541        (WebCore::WebGLRenderingContext::isProgram):
87542        (WebCore::WebGLRenderingContext::isRenderbuffer):
87543        (WebCore::WebGLRenderingContext::isShader):
87544        (WebCore::WebGLRenderingContext::isTexture):
87545        (WebCore::WebGLRenderingContext::linkProgram):
87546        (WebCore::WebGLRenderingContext::shaderSource):
87547        (WebCore::WebGLRenderingContext::useProgram):
87548        (WebCore::WebGLRenderingContext::validateProgram):
87549        (WebCore::WebGLRenderingContext::handleNPOTTextures):
87550        (WebCore::WebGLRenderingContext::createFallbackBlackTextures1x1):
87551        (WebCore::WebGLRenderingContext::initVertexAttrib0):
87552        (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
87553        (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
87554        * html/canvas/WebGLRenderingContext.h:
87555        (WebCore::WebGLRenderingContext::graphicsContext3D):
87556        * platform/graphics/GraphicsContext3D.h:
87557        * platform/graphics/mac/GraphicsContext3DMac.mm:
87558        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
87559        (WebCore::GraphicsContext3D::beginPaint):
87560        (WebCore::GraphicsContext3D::attachShader):
87561        (WebCore::GraphicsContext3D::bindAttribLocation):
87562        (WebCore::GraphicsContext3D::bindBuffer):
87563        (WebCore::GraphicsContext3D::bindFramebuffer):
87564        (WebCore::GraphicsContext3D::bindRenderbuffer):
87565        (WebCore::GraphicsContext3D::bindTexture):
87566        (WebCore::GraphicsContext3D::compileShader):
87567        (WebCore::GraphicsContext3D::detachShader):
87568        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
87569        (WebCore::GraphicsContext3D::framebufferTexture2D):
87570        (WebCore::GraphicsContext3D::getActiveAttrib):
87571        (WebCore::GraphicsContext3D::getActiveUniform):
87572        (WebCore::GraphicsContext3D::getAttachedShaders):
87573        (WebCore::GraphicsContext3D::getAttribLocation):
87574        (WebCore::GraphicsContext3D::isBuffer):
87575        (WebCore::GraphicsContext3D::isFramebuffer):
87576        (WebCore::GraphicsContext3D::isProgram):
87577        (WebCore::GraphicsContext3D::isRenderbuffer):
87578        (WebCore::GraphicsContext3D::isShader):
87579        (WebCore::GraphicsContext3D::isTexture):
87580        (WebCore::GraphicsContext3D::linkProgram):
87581        (WebCore::GraphicsContext3D::shaderSource):
87582        (WebCore::GraphicsContext3D::useProgram):
87583        (WebCore::GraphicsContext3D::validateProgram):
87584        (WebCore::GraphicsContext3D::getProgramiv):
87585        (WebCore::GraphicsContext3D::getProgramInfoLog):
87586        (WebCore::GraphicsContext3D::getShaderiv):
87587        (WebCore::GraphicsContext3D::getShaderInfoLog):
87588        (WebCore::GraphicsContext3D::getShaderSource):
87589        (WebCore::GraphicsContext3D::getUniformfv):
87590        (WebCore::GraphicsContext3D::getUniformiv):
87591        (WebCore::GraphicsContext3D::getUniformLocation):
87592        * platform/graphics/qt/GraphicsContext3DQt.cpp:
87593        (WebCore::GraphicsContext3D::beginPaint):
87594        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
87595        (WebCore::GraphicsContext3D::attachShader):
87596        (WebCore::GraphicsContext3D::bindAttribLocation):
87597        (WebCore::GraphicsContext3D::bindBuffer):
87598        (WebCore::GraphicsContext3D::bindFramebuffer):
87599        (WebCore::GraphicsContext3D::bindRenderbuffer):
87600        (WebCore::GraphicsContext3D::bindTexture):
87601        (WebCore::GraphicsContext3D::compileShader):
87602        (WebCore::GraphicsContext3D::detachShader):
87603        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
87604        (WebCore::GraphicsContext3D::framebufferTexture2D):
87605        (WebCore::GraphicsContext3D::getActiveAttrib):
87606        (WebCore::GraphicsContext3D::getActiveUniform):
87607        (WebCore::GraphicsContext3D::getAttribLocation):
87608        (WebCore::GraphicsContext3D::isBuffer):
87609        (WebCore::GraphicsContext3D::isFramebuffer):
87610        (WebCore::GraphicsContext3D::isProgram):
87611        (WebCore::GraphicsContext3D::isRenderbuffer):
87612        (WebCore::GraphicsContext3D::isShader):
87613        (WebCore::GraphicsContext3D::isTexture):
87614        (WebCore::GraphicsContext3D::linkProgram):
87615        (WebCore::GraphicsContext3D::shaderSource):
87616        (WebCore::GraphicsContext3D::useProgram):
87617        (WebCore::GraphicsContext3D::validateProgram):
87618        (WebCore::GraphicsContext3D::getProgramiv):
87619        (WebCore::GraphicsContext3D::getProgramInfoLog):
87620        (WebCore::GraphicsContext3D::getShaderiv):
87621        (WebCore::GraphicsContext3D::getShaderInfoLog):
87622        (WebCore::GraphicsContext3D::getShaderSource):
87623        (WebCore::GraphicsContext3D::getUniformfv):
87624        (WebCore::GraphicsContext3D::getUniformiv):
87625        (WebCore::GraphicsContext3D::getUniformLocation):
87626
876272010-08-03  Xan Lopez  <xlopez@igalia.com>
87628
87629        Reviewed by Gustavo Noronha.
87630
87631        [GTK] Fix DOM event dispatch
87632        https://bugs.webkit.org/show_bug.cgi?id=40847
87633
87634        Bind UI and Mouse events and add ad-hoc kit method for WebCore
87635        Events.
87636
87637        * GNUmakefile.am:
87638        * bindings/gobject/WebKitDOMBinding.cpp:
87639        (WebKit::kit):
87640        * bindings/gobject/WebKitDOMBinding.h:
87641        * bindings/gobject/WebKitDOMEventTarget.cpp:
87642        (WebKit::core):
87643        * bindings/gobject/WebKitDOMEventTargetPrivate.h: Added.
87644        * bindings/scripts/CodeGeneratorGObject.pm:
87645
876462010-08-03  Nikolas Zimmermann  <nzimmermann@rim.com>
87647
87648        Reviewed by Eric Seidel.
87649
87650        Cleanup all of svg/ code
87651        https://bugs.webkit.org/show_bug.cgi?id=43311
87652
87653        Unify the license header in all files in svg/, to use the same template as most WebCore files use.
87654        Unified email adress style, etc. all generated with a perl script attached to bug 43311.
87655
87656        * svg/...: Updated header template in all files, in the svg/ subdirectory.
87657
876582010-08-03  Andrei Popescu  <andreip@google.com>
87659
87660        Reviewed by Jeremy Orlow.
87661
87662        [IndexedDB] IDBObjectStoreRequest should be called IDBObjectStore
87663        https://bugs.webkit.org/show_bug.cgi?id=43420
87664
87665        Renaming IDBObjectStoreRequest to IDBObjectStore.
87666
87667        No new tests needed, just refactoring.
87668
87669        * Android.derived.jscbindings.mk:
87670        * Android.derived.v8bindings.mk:
87671        * Android.mk:
87672        * CMakeLists.txt:
87673        * DerivedSources.cpp:
87674        * DerivedSources.make:
87675        * GNUmakefile.am:
87676        * WebCore.gypi:
87677        * WebCore.pri:
87678        * WebCore.pro:
87679        * WebCore.vcproj/WebCore.vcproj:
87680        * WebCore.xcodeproj/project.pbxproj:
87681        * bindings/js/JSIDBAnyCustom.cpp:
87682        (WebCore::toJS):
87683        * bindings/v8/custom/V8IDBAnyCustom.cpp:
87684        (WebCore::toV8):
87685        * storage/IDBAny.cpp:
87686        (WebCore::IDBAny::idbObjectStore):
87687        (WebCore::IDBAny::set):
87688        * storage/IDBAny.h:
87689        (WebCore::IDBAny::):
87690        * storage/IDBCallbacks.h:
87691        * storage/IDBDatabase.cpp:
87692        (WebCore::IDBDatabase::objectStore):
87693        * storage/IDBDatabase.h:
87694        * storage/IDBDatabaseBackendImpl.cpp:
87695        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
87696        (WebCore::IDBDatabaseBackendImpl::objectStore):
87697        * storage/IDBDatabaseBackendImpl.h:
87698        * storage/IDBDatabaseBackendInterface.h:
87699        * storage/IDBObjectStore.cpp: Added.
87700        (WebCore::IDBObjectStore::IDBObjectStore):
87701        (WebCore::IDBObjectStore::name):
87702        (WebCore::IDBObjectStore::keyPath):
87703        (WebCore::IDBObjectStore::indexNames):
87704        (WebCore::IDBObjectStore::get):
87705        (WebCore::IDBObjectStore::add):
87706        (WebCore::IDBObjectStore::put):
87707        (WebCore::IDBObjectStore::remove):
87708        (WebCore::IDBObjectStore::createIndex):
87709        (WebCore::IDBObjectStore::index):
87710        (WebCore::IDBObjectStore::removeIndex):
87711        * storage/IDBObjectStore.h:
87712        (WebCore::IDBObjectStore::create):
87713        (WebCore::IDBObjectStore::~IDBObjectStore):
87714        * storage/IDBObjectStore.idl: Added.
87715        * storage/IDBObjectStoreBackendImpl.cpp: Added.
87716        (WebCore::IDBObjectStoreBackendImpl::~IDBObjectStoreBackendImpl):
87717        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
87718        (WebCore::IDBObjectStoreBackendImpl::indexNames):
87719        (WebCore::IDBObjectStoreBackendImpl::get):
87720        (WebCore::IDBObjectStoreBackendImpl::put):
87721        (WebCore::IDBObjectStoreBackendImpl::remove):
87722        (WebCore::IDBObjectStoreBackendImpl::createIndex):
87723        (WebCore::IDBObjectStoreBackendImpl::index):
87724        (WebCore::IDBObjectStoreBackendImpl::removeIndex):
87725        * storage/IDBObjectStoreBackendImpl.h: Added.
87726        (WebCore::IDBObjectStoreBackendImpl::create):
87727        (WebCore::IDBObjectStoreBackendImpl::name):
87728        (WebCore::IDBObjectStoreBackendImpl::keyPath):
87729        * storage/IDBObjectStoreBackendInterface.h: Added.
87730        (WebCore::IDBObjectStoreBackendInterface::~IDBObjectStoreBackendInterface):
87731        * storage/IDBObjectStoreImpl.cpp: Removed.
87732        * storage/IDBObjectStoreImpl.h: Removed.
87733        * storage/IDBObjectStoreRequest.cpp: Removed.
87734        * storage/IDBObjectStoreRequest.h: Removed.
87735        * storage/IDBObjectStoreRequest.idl: Removed.
87736        * storage/IDBRequest.cpp:
87737        (WebCore::IDBRequest::onSuccess):
87738        * storage/IDBRequest.h:
87739
877402010-08-03  Martin Robinson  <mrobinson@igalia.com>
87741
87742        Reviewed by Ojan Vafai.
87743
87744        [GTK] Incorrect keyIdentifier for print screen key events
87745        https://bugs.webkit.org/show_bug.cgi?id=43422
87746
87747        Produce the correct keyIdentifier for GDK_Print (print screen).
87748
87749        * platform/gtk/KeyEventGtk.cpp:
87750        (WebCore::keyIdentifierForGdkKeyCode):
87751
877522010-08-03  Anton Muhin  <antonm@chromium.org>
87753
87754        Reviewed by David Levin.
87755
87756        [v8] Get current memory usage and make it available on stack before crashing due to out of memory
87757        https://bugs.webkit.org/show_bug.cgi?id=43426
87758
87759        That should allow us to diagnose the cases when the process just ran out of memory
87760        and hence V8 failed to allocate more OS pages.
87761
87762        * bindings/v8/V8DOMWindowShell.cpp:
87763        (WebCore::reportFatalErrorInV8):
87764
877652010-08-03  Leandro Pereira  <leandro@profusion.mobi>
87766
87767        Reviewed by Kenneth Rohde Christiansen.
87768
87769        [EFL] Implement HTML5 slider theme (using the scrollbar theme as base).
87770        https://bugs.webkit.org/show_bug.cgi?id=43430
87771
87772        EFL port does not yet support automated tests.
87773
87774        * platform/efl/RenderThemeEfl.cpp:
87775        (WebCore::RenderThemeEfl::paintThemePart):
87776        (WebCore::RenderThemeEfl::edjeGroupFromFormType): Add Edje groups
87777        for both vertical and horizontal sliders.
87778        (WebCore::supportsFocus): Add sliders as focusable elements.
87779        (WebCore::RenderThemeEfl::paintSliderTrack): Implement.
87780        (WebCore::RenderThemeEfl::adjustSliderTrackStyle): Implement.
87781        (WebCore::RenderThemeEfl::adjustSliderThumbStyle): Use
87782        adjustSliderTrackStyle() implementation.
87783        (WebCore::RenderThemeEfl::paintSliderThumb): Use paintSliderTrack()
87784        implementation().
87785        * platform/efl/RenderThemeEfl.h: Add SliderVertical and
87786        * SliderHorizontal.
87787        (WebCore::): Added prototypes for adjustSlider*/paintSlider*.
87788
877892010-08-03  Alexander Pavlov  <apavlov@chromium.org>
87790
87791        Reviewed by Joseph Pecoraro.
87792
87793        Web Inspector: incorrect absolute protocol-less URLs in tooltips of links in the ElementsTreeOutline
87794        https://bugs.webkit.org/show_bug.cgi?id=43246
87795
87796        * inspector/front-end/inspector.js:
87797        (WebInspector.completeURL):
87798
877992010-08-03  Adam Roben  <aroben@apple.com>
87800
87801        Compile out two Mac-only localized strings on non-Mac platforms
87802
87803        Fixes <http://webkit.org/b/43433> copyImageUnknownFileLabel and
87804        AXARIAContentGroupText should only be compiled on Mac
87805
87806        Reviewed by Anders Carlsson.
87807
87808        * platform/LocalizationStrategy.h:
87809        * platform/LocalizedStrings.h:
87810        Wrapped copyImageUnknownFileLabel and AXARIAContentGroupText in
87811        PLATFORM(MAC).
87812
878132010-08-03  Kevin Ollivier  <kevino@theolliviers.com>
87814
87815        [wx] Build fix, don't build some DOM bindings we don't use.
87816
87817        * wscript:
87818
878192010-08-03  Martin Robinson  <mrobinson@igalia.com>
87820
87821        Reviewed by Gustavo Noronha Silva.
87822
87823        [GTK] Remove a memory leak from CusorGtk.cpp
87824        https://bugs.webkit.org/show_bug.cgi?id=43424
87825
87826        * platform/gtk/CursorGtk.cpp:
87827        (WebCore::createNamedCursor):
87828        (WebCore::createCustomCursor):
87829        (WebCore::Cursor::ensurePlatformCursor):
87830        * platform/gtk/KeyEventGtk.cpp:
87831        (WebCore::keyIdentifierForGdkKeyCode):
87832
878332010-08-03  Pavel Feldman  <pfeldman@chromium.org>
87834
87835        Not reviewed: speculative chromium tests fix.
87836
87837        * inspector/front-end/ExtensionServer.js:
87838        * inspector/front-end/inspector.js:
87839        (WebInspector.loaded):
87840
878412010-08-03  Csaba Osztrogonác  <ossy@webkit.org>
87842
87843        Reviewed by Antonio Gomes.
87844
87845        Fix warning in WebCore/rendering/RenderBoxModelObject.cpp
87846        https://bugs.webkit.org/show_bug.cgi?id=43412
87847
87848        * rendering/RenderBoxModelObject.cpp:
87849        (WebCore::RenderBoxModelObject::clipBorderSidePolygon): Remove useless assignment.
87850
878512010-08-03  Xan Lopez  <xlopez@igalia.com>
87852
87853        Reviewed by Gustavo Noronha.
87854
87855        Make string parameters be 'const char*' instead of just 'char*'.
87856
87857        * bindings/scripts/CodeGeneratorGObject.pm:
87858
878592010-08-03  Xan Lopez  <xlopez@igalia.com>
87860
87861        Reviewed by Gustavo Noronha.
87862
87863        Get rid of extra spaces in the type strings.
87864
87865        * bindings/scripts/CodeGeneratorGObject.pm:
87866
878672010-08-03  Csaba Osztrogonác  <ossy@webkit.org>
87868
87869        Reviewed by Adam Roben.
87870
87871        Fix warning in WebCore/plugins/win/PluginMessageThrottlerWin.cpp
87872        https://bugs.webkit.org/show_bug.cgi?id=43413
87873
87874        * plugins/win/PluginMessageThrottlerWin.cpp:
87875        (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Modify initialization order.
87876
878772010-08-03  Yury Semikhatsky  <yurys@chromium.org>
87878
87879        Reviewed by Pavel Feldman.
87880
87881        Web Inspector: use InspectorValue to push resource data to the frontend
87882        https://bugs.webkit.org/show_bug.cgi?id=43414
87883
87884        * inspector/Inspector.idl:
87885        * inspector/InspectorController.cpp:
87886        (WebCore::InspectorController::disconnectFrontend): destroy remote frontend object along with the old inspector frontend
87887        (WebCore::InspectorController::populateScriptObjects):
87888        (WebCore::InspectorController::didCommitLoad):
87889        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
87890        (WebCore::InspectorController::identifierForInitialRequest):
87891        (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
87892        (WebCore::InspectorController::mainResourceFiredLoadEvent):
87893        (WebCore::InspectorController::willSendRequest):
87894        (WebCore::InspectorController::didReceiveResponse):
87895        (WebCore::InspectorController::didReceiveContentLength):
87896        (WebCore::InspectorController::didFinishLoading):
87897        (WebCore::InspectorController::didFailLoading):
87898        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
87899        (WebCore::InspectorController::scriptImported):
87900        * inspector/InspectorFrontend.cpp:
87901        * inspector/InspectorFrontend.h:
87902        * inspector/InspectorResource.cpp:
87903        (WebCore::buildHeadersObject):
87904        (WebCore::buildObjectForTiming):
87905        (WebCore::InspectorResource::updateScriptObject):
87906        * inspector/InspectorResource.h:
87907        * inspector/front-end/inspector.js:
87908        (WebInspector.updateResource):
87909
879102010-08-03  Sheriff Bot  <webkit.review.bot@gmail.com>
87911
87912        Unreviewed, rolling out r64539.
87913        http://trac.webkit.org/changeset/64539
87914        https://bugs.webkit.org/show_bug.cgi?id=43409
87915
87916        Accidently changed licenses in some files (Requested by
87917        WildFox on #webkit).
87918
87919        * svg/...:
87920    
879212010-08-03  Andrei Popescu  <andreip@google.com>
87922
87923        Unreviewed, build fix.
87924
87925        [IndexedDB] Chromium build is broken due to typo in WebCore.gypi:3501
87926        https://bugs.webkit.org/show_bug.cgi?id=43408
87927
87928        Add missing ' in WebCore.gypi:3501.
87929
87930        * WebCore.gypi:
87931
879322010-07-30  Andrei Popescu  <andreip@dhcp-172-16-14-12.lon.corp.google.com>
87933
87934        Reviewed by Jeremy Orlow.
87935
87936        Rename IDBDatabaseRequest to IDBDatabase
87937        https://bugs.webkit.org/show_bug.cgi?id=43250
87938
87939        No new tests, just refactoring.
87940
87941        * Android.derived.jscbindings.mk:
87942        * Android.derived.v8bindings.mk:
87943        * Android.mk:
87944        * CMakeLists.txt:
87945        * DerivedSources.cpp:
87946        * DerivedSources.make:
87947        * GNUmakefile.am:
87948        * WebCore.gypi:
87949        * WebCore.pri:
87950        * WebCore.pro:
87951        * WebCore.vcproj/WebCore.vcproj:
87952        * WebCore.vcproj/WebCore.vcproj~: Added.
87953        * WebCore.xcodeproj/project.pbxproj:
87954        * WebCore.xcodeproj/project.pbxproj~: Added.
87955        * bindings/js/JSIDBAnyCustom.cpp:
87956        (WebCore::toJS):
87957        * bindings/v8/custom/V8IDBAnyCustom.cpp:
87958        (WebCore::toV8):
87959        * storage/IDBAny.cpp:
87960        (WebCore::IDBAny::idbDatabase):
87961        (WebCore::IDBAny::set):
87962        * storage/IDBAny.h:
87963        (WebCore::IDBAny::):
87964        * storage/IDBCallbacks.h:
87965        * storage/IDBDatabase.cpp: Added.
87966        (WebCore::IDBDatabase::IDBDatabase):
87967        (WebCore::IDBDatabase::~IDBDatabase):
87968        (WebCore::IDBDatabase::createObjectStore):
87969        (WebCore::IDBDatabase::objectStore):
87970        (WebCore::IDBDatabase::removeObjectStore):
87971        * storage/IDBDatabase.h:
87972        (WebCore::IDBDatabase::create):
87973        (WebCore::IDBDatabase::name):
87974        (WebCore::IDBDatabase::description):
87975        (WebCore::IDBDatabase::version):
87976        (WebCore::IDBDatabase::objectStores):
87977        * storage/IDBDatabase.idl: Added.
87978        * storage/IDBDatabaseBackendImpl.cpp: Added.
87979        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
87980        (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
87981        (WebCore::IDBDatabaseBackendImpl::objectStores):
87982        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
87983        (WebCore::IDBDatabaseBackendImpl::objectStore):
87984        (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
87985        * storage/IDBDatabaseBackendImpl.h: Added.
87986        (WebCore::IDBDatabaseBackendImpl::create):
87987        (WebCore::IDBDatabaseBackendImpl::name):
87988        (WebCore::IDBDatabaseBackendImpl::description):
87989        (WebCore::IDBDatabaseBackendImpl::version):
87990        * storage/IDBDatabaseBackendInterface.h: Added.
87991        (WebCore::IDBDatabaseBackendInterface::~IDBDatabaseBackendInterface):
87992        * storage/IDBDatabaseImpl.cpp: Removed.
87993        * storage/IDBDatabaseImpl.h: Removed.
87994        * storage/IDBDatabaseRequest.cpp: Removed.
87995        * storage/IDBDatabaseRequest.h: Removed.
87996        * storage/IDBDatabaseRequest.idl: Removed.
87997        * storage/IDBFactoryBackendImpl.cpp:
87998        (WebCore::IDBFactoryBackendImpl::open):
87999        * storage/IDBFactoryBackendImpl.h:
88000        * storage/IDBRequest.cpp:
88001        (WebCore::IDBRequest::onSuccess):
88002        * storage/IDBRequest.h:
88003
880042010-08-03  Satish Sampath  <satish@chromium.org>
88005
88006        Reviewed by Kent Tamura.
88007
88008        Initiate speech input requests on click event
88009        https://bugs.webkit.org/show_bug.cgi?id=43352
88010
88011        * rendering/TextControlInnerElements.cpp:
88012        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
88013
880142010-08-02  Yury Semikhatsky  <yurys@chromium.org>
88015
88016        Reviewed by Pavel Feldman.
88017
88018        Web Inspector: debugger code should serialize call frames to InspectorObjects instead of SerializedScriptValues.
88019        https://bugs.webkit.org/show_bug.cgi?id=43339
88020
88021        No new tests. Refactoring.
88022
88023        * inspector/InjectedScript.cpp:
88024        (WebCore::InjectedScript::callFrames):
88025        * inspector/InjectedScript.h:
88026        * inspector/Inspector.idl:
88027        * inspector/InspectorController.cpp:
88028        (WebCore::InspectorController::editScriptSource):
88029        (WebCore::InspectorController::getScriptSource):
88030        (WebCore::InspectorController::currentCallFrames):
88031        (WebCore::InspectorController::didPause):
88032        * inspector/InspectorController.h:
88033        * inspector/front-end/InspectorBackendStub.js:
88034        (WebInspector.InspectorBackendStub):
88035
880362010-08-03  Nikolas Zimmermann  <nzimmermann@rim.com>
88037
88038        Reviewed by Dirk Schulze.
88039
88040        Cleanup all of svg/ code
88041        https://bugs.webkit.org/show_bug.cgi?id=43311
88042
88043        Unify the license header in all files in svg/, to use the same template as most WebCore files use.
88044        Unified email adress style, etc. all generated with a perl script attached to bug 43311.i
88045
88046        * svg/...: Updated header template in all files, in the svg/ subdirectory.
88047
880482010-08-03  Dumitru Daniliuc  <dumi@chromium.org>
88049
88050        Reviewed by Adam Barth.
88051
88052        Turn all callbacks into ActiveDOMObjects and create callbacks in the correct context.
88053        https://bugs.webkit.org/show_bug.cgi?id=40112
88054
88055        Test: http/tests/storage/callbacks-are-called-in-correct-context.html
88056
88057        * CMakeLists.txt: Added new files.
88058        * DerivedSources.make:
88059        * GNUmakefile.am:
88060        * WebCore.gypi:
88061        * WebCore.pro:
88062        * WebCore.vcproj/WebCore.vcproj:
88063        * WebCore.xcodeproj/project.pbxproj:
88064
88065        * bindings/generic/ActiveDOMCallback.cpp: Added. The base class
88066        for all callbacks, that behaves like an ActiveDOMObject.
88067        (WebCore::DestroyOnContextThreadTask::create):
88068        (WebCore::DestroyOnContextThreadTask::performTask):
88069        (WebCore::DestroyOnContextThreadTask::DestroyOnContextThreadTask):
88070        (WebCore::ActiveDOMObjectCallbackImpl::ActiveDOMObjectCallbackImpl):
88071        (WebCore::ActiveDOMObjectCallbackImpl::contextDestroyed):
88072        (WebCore::ActiveDOMObjectCallbackImpl::canSuspend):
88073        (WebCore::ActiveDOMObjectCallbackImpl::suspend):
88074        (WebCore::ActiveDOMObjectCallbackImpl::resume):
88075        (WebCore::ActiveDOMObjectCallbackImpl::stop):
88076        (WebCore::ActiveDOMObjectCallbackImpl::canInvokeCallback):
88077        (WebCore::ActiveDOMObjectCallbackImpl::scriptExecutionContext):
88078        (WebCore::ActiveDOMObjectCallbackImpl::mutex):
88079        (WebCore::destroyOnContextThread):
88080        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
88081        (WebCore::ActiveDOMCallback::~ActiveDOMCallback):
88082        (WebCore::ActiveDOMCallback::canInvokeCallback):
88083        (WebCore::ActiveDOMCallback::scriptExecutionContext):
88084        * bindings/generic/ActiveDOMCallback.h: Added.
88085
88086        * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Pass the
88087        right ScriptExecutionContext to the JSC callbacks.
88088        (WebCore::JSSQLStatementErrorCallback::handleEvent):
88089        * bindings/js/JSSQLTransactionCustom.cpp:
88090        (WebCore::JSSQLTransaction::executeSql):
88091
88092        * bindings/scripts/CodeGeneratorJS.pm: Make all callbacks inherit
88093        from ActiveDOMCallback, and make them use the right
88094        ScriptExecutionContext.
88095        * bindings/scripts/CodeGeneratorV8.pm:
88096
88097        * bindings/scripts/test/JS/JSTestCallback.cpp: Update the
88098        expectations for the code generated by CodeGenerator{JS|V8}.pm.
88099        (WebCore::JSTestCallback::JSTestCallback):
88100        (WebCore::JSTestCallback::~JSTestCallback):
88101        (WebCore::JSTestCallback::callbackWithClass1Param):
88102        (WebCore::JSTestCallback::callbackWithClass2Param):
88103        * bindings/scripts/test/JS/JSTestCallback.h:
88104        * bindings/scripts/test/V8/V8TestCallback.cpp:
88105        (WebCore::V8TestCallback::V8TestCallback):
88106        (WebCore::V8TestCallback::callbackWithClass1Param):
88107        (WebCore::V8TestCallback::callbackWithClass2Param):
88108        * bindings/scripts/test/V8/V8TestCallback.h:
88109        (WebCore::V8TestCallback::create):
88110        * bindings/scripts/test/V8/V8TestObj.cpp:
88111        (WebCore::TestObjInternal::methodWithCallbackArgCallback):
88112        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
88113        (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
88114
88115        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Pass
88116        the right ScriptExecutionContext to the V8 callbacks.
88117        (WebCore::V8SQLStatementErrorCallback::handleEvent):
88118        * bindings/v8/custom/V8DOMWindowCustom.cpp:
88119        (WebCore::V8DOMWindow::openDatabaseCallback):
88120        * bindings/v8/custom/V8DatabaseCustom.cpp:
88121        (WebCore::V8Database::changeVersionCallback):
88122        (WebCore::createTransaction):
88123        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
88124        (WebCore::V8DatabaseSync::changeVersionCallback):
88125        (WebCore::createTransaction):
88126        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
88127        (WebCore::V8SQLTransaction::executeSqlCallback):
88128        * bindings/v8/custom/V8WorkerContextCustom.cpp:
88129        (WebCore::V8WorkerContext::openDatabaseCallback):
88130        (WebCore::V8WorkerContext::openDatabaseSyncCallback):
88131
88132        * dom/ActiveDOMObject.cpp: Simplify the code.
88133        (WebCore::ActiveDOMObject::ActiveDOMObject):
88134        (WebCore::ActiveDOMObject::~ActiveDOMObject):
88135
88136        * storage/Database.cpp: CallbackClass::handleEvent() doesn't take
88137        a ScriptExecutionContext anymore.
88138        (WebCore::DatabaseCreationCallbackTask::performTask):
88139        * storage/DatabaseCallback.h:
88140        * storage/DatabaseSync.cpp:
88141        (WebCore::DatabaseSync::openDatabaseSync):
88142        * storage/EntryCallback.h:
88143        * storage/ErrorCallback.h:
88144        * storage/FileSystemCallback.h:
88145        * storage/MetadataCallback.h:
88146        * storage/SQLStatement.cpp:
88147        (WebCore::SQLStatement::performCallback):
88148        * storage/SQLStatementCallback.h:
88149        * storage/SQLStatementErrorCallback.h:
88150        * storage/SQLTransaction.cpp:
88151        (WebCore::SQLTransaction::deliverTransactionCallback):
88152        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
88153        * storage/SQLTransactionCallback.h:
88154        * storage/SQLTransactionErrorCallback.h:
88155        * storage/SQLTransactionSync.cpp:
88156        (WebCore::SQLTransactionSync::execute):
88157        * storage/SQLTransactionSyncCallback.h:
88158
881592010-08-02  Ilya Tikhonovsky  <loislo@chromium.org>
88160
88161        Reviewed by Yury Semikhatsky.
88162
88163        WebInspector: Trivial InspectorBackend functions were removed.
88164        And now it is   bit simpler to change Inspector API because we have
88165        less number of abstraction layers.
88166        https://bugs.webkit.org/show_bug.cgi?id=43402
88167
88168        * inspector/CodeGeneratorInspector.pm:
88169        * inspector/Inspector.idl:
88170        * inspector/InspectorBackend.cpp:
88171        (WebCore::InspectorBackend::clearConsoleMessages):
88172        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
88173        (WebCore::InspectorBackend::inspectorFrontend):
88174        (WebCore::InspectorBackend::remoteFrontend):
88175        * inspector/InspectorBackend.h:
88176        (WebCore::InspectorBackend::inspectorDOMAgent):
88177        (WebCore::InspectorBackend::inspectorApplicationCacheAgent):
88178        * inspector/InspectorController.h:
88179
881802010-08-03  Alexey Proskuryakov  <ap@apple.com>
88181
88182        Unreviewed (emergency test fix).
88183
88184        REGRESSION (r64518): Most regression tests fail on ASSERT(shouldTrackVisitedLinks)
88185        on Snow Leopard.
88186
88187        Platforms that use strategies now use a different code path than others, and that code path
88188        lacks necessary checks. We don't have a Snow Leopard debug buildbot.
88189
88190        * page/PageGroup.cpp: (WebCore::PageGroup::addVisitedLinkHash): The private version of
88191        addVisitedLink() must not be called when we're not tracking visited links.
88192
881932010-08-02  Pavel Feldman  <pfeldman@chromium.org>
88194
88195        Reviewed by Yury Semikhatsky.
88196
88197        Chromium DevTools: Get rid of DevTools RPC.
88198
88199        https://bugs.webkit.org/show_bug.cgi?id=43335
88200
88201        * bindings/js/ScriptProfiler.h:
88202        (WebCore::ScriptProfiler::getProfilerLogLines):
88203        * bindings/v8/ScriptProfiler.cpp:
88204        (WebCore::ScriptProfiler::getProfilerLogLines):
88205        * bindings/v8/ScriptProfiler.h:
88206        * inspector/Inspector.idl:
88207        * inspector/InspectorBackend.cpp:
88208        (WebCore::InspectorBackend::takeHeapSnapshot):
88209        (WebCore::InspectorBackend::getProfilerLogLines):
88210        * inspector/InspectorBackend.h:
88211        * inspector/InspectorController.cpp:
88212        (WebCore::InspectorController::disableProfiler):
88213        * inspector/InspectorController.h:
88214        * inspector/InspectorFrontend.h:
88215        * inspector/front-end/InspectorBackendStub.js:
88216        (WebInspector.InspectorBackendStub):
88217
882182010-08-02  Dan Bernstein  <mitz@apple.com>
88219
88220        Rubber-stamped by Sam Weinig.
88221
88222        Removed temporary build rule introduced in r62594.
88223
88224        * DerivedSources.make:
88225
882262010-08-02  Pavel Feldman  <pfeldman@chromium.org>
88227
88228        Not reviewed. Rolling out r64525 for breaking chromium tests.
88229
88230        * bindings/v8/V8Proxy.cpp:
88231        (WebCore::V8Proxy::retrieve):
88232
882332010-08-02  Kevin Ollivier  <kevino@theolliviers.com>
88234
88235        [wx] Build fix, add stubs for FontCustomPlatformData to compile code that uses them.
88236
88237        * css/CSSFontFaceSource.cpp:
88238        * platform/graphics/wx/FontCustomPlatformData.cpp: Added.
88239        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
88240        (WebCore::FontCustomPlatformData::fontPlatformData):
88241        (WebCore::createFontCustomPlatformData):
88242        (WebCore::FontCustomPlatformData::supportsFormat):
88243        * platform/graphics/wx/FontCustomPlatformData.h: Added.
88244        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
88245        * wscript:
88246
882472010-08-02  Brady Eidson  <beidson@apple.com>
88248
88249        Reviewed by NOBODY (Build fix, forgot to svn add this file)
88250
88251        * platform/VisitedLinkStrategy.h: Added.
88252        (WebCore::VisitedLinkStrategy::~VisitedLinkStrategy):
88253
882542010-08-02  Martin Robinson  <mrobinson@igalia.com>
88255
88256        Reviewed by Gustavo Noronha Silva.
88257
88258        [GTK] WebKit2 requires lazy cursor support
88259        https://bugs.webkit.org/show_bug.cgi?id=43053
88260
88261        Add lazy cursor support for GTK+. Lazy cursor support is used on some
88262        WebKit2 ports to support changing the cursor.
88263
88264        No new tests, as this should not change functionality.
88265
88266        * platform/Cursor.h: Changed the m_platformCursor member to be a GRefPtr.
88267        This simplifies the logic a great deal.
88268        * platform/gtk/CursorGtk.cpp:
88269        (WebCore::createNamedCursor): Added, adapted from existing code.
88270        (WebCore::createCustomCursor): Added, adapted from existing code.
88271        (WebCore::Cursor::ensurePlatformCursor): Added.
88272        (WebCore::Cursor::Cursor): Added.
88273        (WebCore::Cursor::operator=): Added.
88274        (WebCore::Cursor::~Cursor): Added.
88275        * platform/gtk/WidgetGtk.cpp:
88276        (WebCore::Widget::setCursor): Call platformCusor now to get the actual GdkCursor.
88277
882782010-08-02  Rajiv Makhijani  <rajivmakhijani@chromium.org>
88279
88280        Reviewed by Adam Barth. 
88281
88282        Committed by Dirk Pranke.
88283
88284        Bug 38705 - [v8] chromium fails http/tests/sandbox-inherit-to-initial-document-2
88285        https://bugs.webkit.org/show_bug.cgi?id=38705
88286
88287        WebCore::V8Proxy::retrieve(Frame* frame) calls WebCore::ScriptController::canExecuteScripts
88288        and returns 0 if canExecuteScripts is false. It should return the proxy regardless
88289        of whether the frame can execute scripts.
88290
88291        * bindings/v8/V8Proxy.cpp:
88292        (WebCore::V8Proxy::retrieve): Removed canExecuteScripts check.
88293
882942010-08-02  Brady Eidson  <beidson@apple.com>
88295
88296        Reviewed by Anders Carlsson.
88297
88298        Add VisitedLinkStrategy for each platform to implement
88299        https://bugs.webkit.org/show_bug.cgi?id=43393
88300
88301        No new tests. (No change in behavior)
88302
88303        * WebCore.exp.in:
88304        * WebCore.xcodeproj/project.pbxproj:
88305        
88306        * css/CSSStyleSelector.cpp:
88307        (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase): Use VisitedLinkStrategy if it's enabled.
88308        
88309        * loader/HistoryController.cpp:
88310        (WebCore::addVisitedLink): Choose VisitedLinkStrategy if it's enabled, else fallback to PageGroup.
88311        (WebCore::HistoryController::updateForStandardLoad): Use addVisitedLink helper.
88312        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): Ditto.
88313        (WebCore::HistoryController::updateForClientRedirect): Ditto.
88314        (WebCore::HistoryController::updateForSameDocumentNavigation): Ditto.
88315        
88316        * platform/PlatformStrategies.h:
88317        (WebCore::PlatformStrategies::visitedLinkStrategy):
88318        (WebCore::PlatformStrategies::PlatformStrategies):
88319
883202010-08-02  Chris Fleizach  <cfleizach@apple.com>
88321
88322        Unreviewed, rolling out r64471.
88323        http://trac.webkit.org/changeset/64471
88324        https://bugs.webkit.org/show_bug.cgi?id=43005
88325
88326        Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
88327        until further discussion
88328
88329        * Android.derived.v8bindings.mk:
88330        * Android.jscbindings.mk:
88331        * DerivedSources.cpp:
88332        * DerivedSources.make:
88333        * GNUmakefile.am:
88334        * WebCore.gypi:
88335        * WebCore.pri:
88336        * WebCore.pro:
88337        * WebCore.vcproj/WebCore.vcproj:
88338        * WebCore.xcodeproj/project.pbxproj:
88339        * accessibility/AXObjectCache.h:
88340        (WebCore::AXObjectCache::):
88341        * accessibility/Accessibility.cpp: Removed.
88342        * accessibility/Accessibility.h: Removed.
88343        * accessibility/Accessibility.idl: Removed.
88344        * accessibility/AccessibilityObject.h:
88345        * accessibility/ScreenReader.cpp: Removed.
88346        * accessibility/ScreenReader.h: Removed.
88347        * accessibility/ScreenReader.idl: Removed.
88348        * accessibility/mac/AXObjectCacheMac.mm:
88349        (WebCore::AXObjectCache::postPlatformNotification):
88350        * accessibility/mac/AccessibilityObjectMac.mm:
88351        * page/Navigator.cpp:
88352        (WebCore::Navigator::disconnectFrame):
88353        (WebCore::Navigator::mimeTypes):
88354        * page/Navigator.h:
88355        * page/Navigator.idl:
88356
883572010-08-02  Ryosuke Niwa  <rniwa@webkit.org>
88358
88359        Reviewed by Eric Seidel.
88360
88361        Range::create should not be calling deprecatedEditingOffset and node on start and end
88362        https://bugs.webkit.org/show_bug.cgi?id=43385
88363
88364        Replaced node() and deprecatedEditingOffset() by containerNode() and computeOffsetInContainerNode().
88365
88366        No new tests added since this does not change the behavior.
88367
88368        * dom/Range.cpp:
88369        (WebCore::Range::create):
88370
883712010-08-02  Chris Fleizach  <cfleizach@apple.com>
88372
88373        Unreviewed, rolling out r64472.
88374        http://trac.webkit.org/changeset/64472
88375        https://bugs.webkit.org/show_bug.cgi?id=43005
88376
88377        Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
88378        until further discussion
88379
88380        * WebCore.vcproj/WebCore.vcproj:
88381
883822010-08-02  Chris Fleizach  <cfleizach@apple.com>
88383
88384        Unreviewed, rolling out r64476.
88385        http://trac.webkit.org/changeset/64476
88386
88387        Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
88388        until further discussion
88389
88390        * WebCore.vcproj/WebCore.vcproj:
88391
883922010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
88393
88394        Reviewed by Darin Fisher.
88395
88396        PopupMenu refactoring in preparation to WebKit2
88397        https://bugs.webkit.org/show_bug.cgi?id=42592
88398
88399        Classes PopupMenu and SearchPopupMenu have been made pure virtual.
88400
88401        * platform/PopupMenu.h:
88402        (WebCore::PopupMenu::~PopupMenu):
88403        * platform/SearchPopupMenu.h:
88404        (WebCore::SearchPopupMenu::~SearchPopupMenu):
88405
88406        Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
88407        the new pure virtual PopupMenu and SearchPopupMenu.
88408
88409        * rendering/RenderMenuList.cpp:
88410        (WebCore::RenderMenuList::adjustInnerStyle):
88411        (WebCore::RenderMenuList::showPopup):
88412        * rendering/RenderMenuList.h:
88413        * rendering/RenderTextControlSingleLine.cpp:
88414        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
88415        (WebCore::RenderTextControlSingleLine::addSearchResult):
88416        (WebCore::RenderTextControlSingleLine::showPopup):
88417        (WebCore::RenderTextControlSingleLine::hidePopup):
88418        (WebCore::RenderTextControlSingleLine::updateFromElement):
88419        (WebCore::RenderTextControlSingleLine::valueChanged):
88420        * rendering/RenderTextControlSingleLine.h:
88421
88422        Chrome and ChromeClient were made responsible for providing instances of classes
88423        PopupMenu and SearchPopupMenu to its users.
88424
88425        * loader/EmptyClients.h:
88426        (WebCore::EmptyPopupMenu::show):
88427        (WebCore::EmptyPopupMenu::hide):
88428        (WebCore::EmptyPopupMenu::updateFromElement):
88429        (WebCore::EmptyPopupMenu::disconnectClient):
88430        (WebCore::EmptySearchPopupMenu::popupMenu):
88431        (WebCore::EmptySearchPopupMenu::saveRecentSearches):
88432        (WebCore::EmptySearchPopupMenu::loadRecentSearches):
88433        (WebCore::EmptySearchPopupMenu::enabled):
88434        (WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
88435        (WebCore::EmptyChromeClient::createPopupMenu):
88436        (WebCore::EmptyChromeClient::createSearchPopupMenu):
88437        * page/Chrome.cpp:
88438        (WebCore::Chrome::selectItemWritingDirectionIsNatural):
88439        (WebCore::Chrome::createPopupMenu):
88440        (WebCore::Chrome::createSearchPopupMenu):
88441        * page/Chrome.h:
88442        * page/ChromeClient.h:
88443
88444        Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
88445        in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
88446        Each of new the files contain the concrete classes that inherit form PopupMenu or
88447        SearchPopupMenu and are specific for the corresponding platform.
88448
88449        brew:
88450
88451        * platform/brew/PopupMenuBrew.cpp:
88452        (WebCore::PopupMenuBrew::PopupMenuBrew):
88453        (WebCore::PopupMenuBrew::~PopupMenuBrew):
88454        (WebCore::PopupMenuBrew::disconnectClient):
88455        (WebCore::PopupMenuBrew::show):
88456        (WebCore::PopupMenuBrew::hide):
88457        (WebCore::PopupMenuBrew::updateFromElement):
88458        * platform/brew/PopupMenuBrew.h: Added.
88459        (WebCore::PopupMenuBrew::client):
88460        * platform/brew/SearchPopupMenuBrew.cpp:
88461        (WebCore::SearchPopupMenuBrew::saveRecentSearches):
88462        (WebCore::SearchPopupMenuBrew::loadRecentSearches):
88463        (WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
88464        (WebCore::SearchPopupMenuBrew::enabled):
88465        (WebCore::SearchPopupMenuBrew::popupMenu):
88466        * platform/brew/SearchPopupMenuBrew.h: Added.
88467
88468        chromium:
88469
88470        * WebCore.gypi:
88471        * platform/chromium/PopupMenuChromium.cpp:
88472        (WebCore::PopupMenuChromium::PopupMenuChromium):
88473        (WebCore::PopupMenuChromium::~PopupMenuChromium):
88474        (WebCore::PopupMenuChromium::show):
88475        (WebCore::PopupMenuChromium::hide):
88476        (WebCore::PopupMenuChromium::updateFromElement):
88477        (WebCore::PopupMenuChromium::disconnectClient):
88478        * platform/chromium/PopupMenuChromium.h:
88479        (WebCore::PopupMenuChromium::client):
88480        * platform/chromium/SearchPopupMenuChromium.cpp:
88481        (WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
88482        (WebCore::SearchPopupMenuChromium::popupMenu):
88483        (WebCore::SearchPopupMenuChromium::enabled):
88484        (WebCore::SearchPopupMenuChromium::saveRecentSearches):
88485        (WebCore::SearchPopupMenuChromium::loadRecentSearches):
88486        * platform/chromium/SearchPopupMenuChromium.h: Added.
88487
88488        efl:
88489
88490        * platform/efl/PopupMenuEfl.cpp:
88491        (WebCore::PopupMenuEfl::PopupMenuEfl):
88492        (WebCore::PopupMenuEfl::~PopupMenuEfl):
88493        (WebCore::PopupMenuEfl::show):
88494        (WebCore::PopupMenuEfl::hide):
88495        (WebCore::PopupMenuEfl::updateFromElement):
88496        (WebCore::PopupMenuEfl::disconnectClient):
88497        * platform/efl/PopupMenuEfl.h: Added.
88498        (WebCore::PopupMenuEfl::client):
88499        * platform/efl/SearchPopupMenuEfl.cpp:
88500        (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
88501        (WebCore::SearchPopupMenuEfl::popupMenu):
88502        (WebCore::SearchPopupMenuEfl::saveRecentSearches):
88503        (WebCore::SearchPopupMenuEfl::loadRecentSearches):
88504        (WebCore::SearchPopupMenuEfl::enabled):
88505        * platform/efl/SearchPopupMenuEfl.h: Added.
88506
88507        gtk:
88508
88509        * GNUmakefile.am:
88510        * platform/gtk/PopupMenuGtk.cpp:
88511        (WebCore::PopupMenuGtk::PopupMenuGtk):
88512        (WebCore::PopupMenuGtk::~PopupMenuGtk):
88513        (WebCore::PopupMenuGtk::show):
88514        (WebCore::PopupMenuGtk::hide):
88515        (WebCore::PopupMenuGtk::updateFromElement):
88516        (WebCore::PopupMenuGtk::disconnectClient):
88517        (WebCore::PopupMenuGtk::menuItemActivated):
88518        (WebCore::PopupMenuGtk::menuUnmapped):
88519        (WebCore::PopupMenuGtk::menuPositionFunction):
88520        (WebCore::PopupMenuGtk::menuRemoveItem):
88521        * platform/gtk/PopupMenuGtk.h: Added.
88522        (WebCore::PopupMenuGtk::client):
88523        * platform/gtk/SearchPopupMenuGtk.cpp:
88524        (WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
88525        (WebCore::SearchPopupMenuGtk::popupMenu):
88526        (WebCore::SearchPopupMenuGtk::saveRecentSearches):
88527        (WebCore::SearchPopupMenuGtk::loadRecentSearches):
88528        (WebCore::SearchPopupMenuGtk::enabled):
88529        * platform/gtk/SearchPopupMenuGtk.h: Added.
88530
88531        haiku:
88532
88533        * platform/haiku/PopupMenuHaiku.cpp:
88534        (WebCore::HaikuPopup::HaikuPopup):
88535        (WebCore::HaikuPopup::~HaikuPopup):
88536        (WebCore::PopupMenuHaiku::PopupMenuHaiku):
88537        (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
88538        (WebCore::PopupMenuHaiku::disconnectClient):
88539        (WebCore::PopupMenuHaiku::show):
88540        (WebCore::PopupMenuHaiku::hide):
88541        (WebCore::PopupMenuHaiku::updateFromElement):
88542        * platform/haiku/PopupMenuHaiku.h: Added.
88543        (WebCore::PopupMenuHaiku::disconnectClient):
88544        (WebCore::PopupMenuHaiku::client):
88545        * platform/haiku/SearchPopupMenuHaiku.cpp:
88546        (WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
88547        (WebCore::SearchPopupMenuHaiku::saveRecentSearches):
88548        (WebCore::SearchPopupMenuHaiku::loadRecentSearches):
88549        (WebCore::SearchPopupMenuHaiku::enabled):
88550        (WebCore::SearchPopupMenuHaiku::popupMenu):
88551        * platform/haiku/SearchPopupMenuHaiku.h: Added.
88552
88553        mac:
88554
88555        * WebCore.exp.in:
88556        * WebCore.xcodeproj/project.pbxproj:
88557        * platform/mac/PopupMenuMac.h: Added.
88558        (WebCore::PopupMenuMac::disconnectClient):
88559        (WebCore::PopupMenuMac::client):
88560        * platform/mac/PopupMenuMac.mm:
88561        (WebCore::PopupMenuMac::PopupMenuMac):
88562        (WebCore::PopupMenuMac::~PopupMenuMac):
88563        (WebCore::PopupMenuMac::clear):
88564        (WebCore::PopupMenuMac::populate):
88565        (WebCore::PopupMenuMac::show):
88566        (WebCore::PopupMenuMac::hide):
88567        (WebCore::PopupMenuMac::updateFromElement):
88568        (WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
88569        * platform/mac/SearchPopupMenuMac.h: Added.
88570        * platform/mac/SearchPopupMenuMac.mm:
88571        (WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
88572        (WebCore::SearchPopupMenuMac::popupMenu):
88573        (WebCore::SearchPopupMenuMac::enabled):
88574        (WebCore::SearchPopupMenuMac::saveRecentSearches):
88575        (WebCore::SearchPopupMenuMac::loadRecentSearches):
88576
88577        qt:
88578
88579        * WebCore.pro:
88580        * platform/qt/PopupMenuQt.cpp:
88581        (WebCore::PopupMenuQt::PopupMenuQt):
88582        (WebCore::PopupMenuQt::~PopupMenuQt):
88583        (WebCore::PopupMenuQt::disconnectClient):
88584        (WebCore::PopupMenuQt::show):
88585        (WebCore::PopupMenuQt::hide):
88586        (WebCore::PopupMenuQt::updateFromElement):
88587        * platform/qt/PopupMenuQt.h: Added.
88588        * platform/qt/QtAbstractWebPopup.h:
88589        * platform/qt/SearchPopupMenuQt.cpp:
88590        (WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
88591        (WebCore::SearchPopupMenuQt::popupMenu):
88592        (WebCore::SearchPopupMenuQt::saveRecentSearches):
88593        (WebCore::SearchPopupMenuQt::loadRecentSearches):
88594        (WebCore::SearchPopupMenuQt::enabled):
88595        * platform/qt/SearchPopupMenuQt.h: Added.
88596
88597        win:
88598
88599        * WebCore.vcproj/WebCore.vcproj:
88600        * platform/win/PopupMenuWin.cpp:
88601        (WebCore::PopupMenuWin::PopupMenuWin):
88602        (WebCore::PopupMenuWin::~PopupMenuWin):
88603        (WebCore::PopupMenuWin::disconnectClient):
88604        (WebCore::PopupMenuWin::popupClassName):
88605        (WebCore::PopupMenuWin::show):
88606        (WebCore::PopupMenuWin::hide):
88607        (WebCore::PopupMenuWin::calculatePositionAndSize):
88608        (WebCore::PopupMenuWin::setFocusedIndex):
88609        (WebCore::PopupMenuWin::visibleItems):
88610        (WebCore::PopupMenuWin::listIndexAtPoint):
88611        (WebCore::PopupMenuWin::focusedIndex):
88612        (WebCore::PopupMenuWin::focusFirst):
88613        (WebCore::PopupMenuWin::focusLast):
88614        (WebCore::PopupMenuWin::down):
88615        (WebCore::PopupMenuWin::up):
88616        (WebCore::PopupMenuWin::invalidateItem):
88617        (WebCore::PopupMenuWin::clientRect):
88618        (WebCore::PopupMenuWin::incrementWheelDelta):
88619        (WebCore::PopupMenuWin::reduceWheelDelta):
88620        (WebCore::PopupMenuWin::scrollToRevealSelection):
88621        (WebCore::PopupMenuWin::updateFromElement):
88622        (WebCore::PopupMenuWin::paint):
88623        (WebCore::PopupMenuWin::valueChanged):
88624        (WebCore::PopupMenuWin::invalidateScrollbarRect):
88625        (WebCore::PopupMenuWin::registerClass):
88626        (WebCore::PopupMenuWin::PopupMenuWndProc):
88627        (WebCore::PopupMenuWin::wndProc):
88628        * platform/win/PopupMenuWin.h: Added.
88629        (WebCore::PopupMenuWin::client):
88630        (WebCore::PopupMenuWin::scrollbar):
88631        (WebCore::PopupMenuWin::itemHeight):
88632        (WebCore::PopupMenuWin::windowRect):
88633        (WebCore::PopupMenuWin::popupHandle):
88634        (WebCore::PopupMenuWin::setWasClicked):
88635        (WebCore::PopupMenuWin::wasClicked):
88636        (WebCore::PopupMenuWin::setScrollOffset):
88637        (WebCore::PopupMenuWin::scrollOffset):
88638        (WebCore::PopupMenuWin::wheelDelta):
88639        (WebCore::PopupMenuWin::scrollbarCapturingMouse):
88640        (WebCore::PopupMenuWin::setScrollbarCapturingMouse):
88641        * platform/win/SearchPopupMenuWin.cpp:
88642        (WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
88643        (WebCore::SearchPopupMenuWin::popupMenu):
88644        (WebCore::SearchPopupMenuWin::enabled):
88645        (WebCore::SearchPopupMenuWin::saveRecentSearches):
88646        (WebCore::SearchPopupMenuWin::loadRecentSearches):
88647        * platform/win/SearchPopupMenuWin.h: Added.
88648
88649        wx:
88650
88651        * platform/wx/PopupMenuWx.cpp:
88652        (WebCore::PopupMenuWx::PopupMenuWx):
88653        (WebCore::PopupMenuWx::~PopupMenuWx):
88654        (WebCore::PopupMenuWx::disconnectClient):
88655        (WebCore::PopupMenuWx::show):
88656        (WebCore::PopupMenuWx::OnMenuItemSelected):
88657        (WebCore::PopupMenuWx::hide):
88658        (WebCore::PopupMenuWx::updateFromElement):
88659        * platform/wx/PopupMenuWx.h: Added.
88660        (WebCore::PopupMenuWx::client):
88661        * platform/wx/SearchPopupMenuWx.cpp:
88662        (WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
88663        (WebCore::SearchPopupMenuWx::saveRecentSearches):
88664        (WebCore::SearchPopupMenuWx::loadRecentSearches):
88665        (WebCore::SearchPopupMenuWx::enabled):
88666        (WebCore::SearchPopupMenuWx::popupMenu):
88667        * platform/wx/SearchPopupMenuWx.h: Added.
88668
88669
88670
886712010-08-02  Martin Robinson  <mrobinson@igalia.com>
88672
88673        Reviewed by Xan Lopez.
88674
88675        [GTK] Use GdkPixbuf for ImageBuffer::toDataURL
88676        https://bugs.webkit.org/show_bug.cgi?id=43088
88677
88678        Implement ImageBuffer::toDataURL with GdkPixbuf instead of Cairo. This
88679        allows the method to support a larger variety of image types.
88680
88681        * GNUmakefile.am: Add new files to the source list.
88682        * platform/MIMETypeRegistry.cpp: 
88683        (WebCore::initializeSupportedImageMIMETypesForEncoding):
88684        Add the list of image types supported by GTK.
88685        * platform/graphics/cairo/ImageBufferCairo.cpp:
88686        * platform/graphics/gtk/CairoUtilities.cpp: Added.
88687        (getCairoSurfacePixel): Move this method from ImageGtk.cpp.
88688        (getGdkPixbufPixel): Move this method from ImageGtk.cpp.
88689        (cairoImageSurfaceToGdkPixbuf): Move this method from ImageGtk.cpp.
88690        * platform/graphics/gtk/CairoUtilities.h: Added.
88691        * platform/graphics/gtk/ImageBufferGtk.cpp: Added.
88692        (WebCore::ImageBuffer::toDataURL): Use GdkPixbuf to do the conversion to a data url.
88693        * platform/graphics/gtk/ImageGtk.cpp:
88694        (WebCore::BitmapImage::getGdkPixbuf): Use the new helper method in CairoUtilities.h.
88695
886962010-08-02  Xan Lopez  <xlopez@igalia.com>
88697
88698        Reviewed by Gustavo Noronha.
88699
88700        [GTK] Add support for the Audio element in the DOM bindings
88701        https://bugs.webkit.org/show_bug.cgi?id=43313
88702
88703        The IDL definition of some HTMLMediaElement methods does not match
88704        the C++ implementation API, take this fact into account when
88705        generating the bindings.
88706
88707        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
88708        (WebKit::createAudioWrapper):
88709        (WebKit::createHTMLElementWrapper):
88710        * bindings/scripts/CodeGeneratorGObject.pm:
88711
887122010-08-02  Anders Carlsson  <andersca@apple.com>
88713
88714        Reviewed by Sam Weinig.
88715
88716        Fix plug-in test failures and remove tests from the Skipped list
88717        https://bugs.webkit.org/show_bug.cgi?id=43389
88718
88719        * WebCore.exp.in:
88720        Export FrameLoader::cancelledError.
88721
887222010-08-02  Brady Eidson  <beidson@apple.com>
88723
88724        Reviewed by Anders Carlsson.
88725
88726        Basic WK2 visited link coloring
88727        https://bugs.webkit.org/show_bug.cgi?id=43377
88728
88729        No new tests. (No change in behavior)
88730
88731        * WebCore.exp.in:
88732        
88733        * page/PageGroup.cpp:
88734        (WebCore::PageGroup::addVisitedLinkHash):
88735        * page/PageGroup.h:
88736
887372010-08-02  Martin Robinson  <mrobinson@igalia.com>
88738
88739        Reviewed by Xan Lopez.
88740
88741        [GTK] Style cleanup for CairoPath.h
88742        https://bugs.webkit.org/show_bug.cgi?id=43133
88743
88744        Turn CairoPath into a class, as it has a constructor and destructor.
88745        Change raw member access to use the new accessor.
88746
88747        No new tests as functionality has not changed.
88748
88749        * platform/graphics/cairo/CairoPath.h: Cleanup and indentation fix.
88750        (WebCore::CairoPath::CairoPath):
88751        (WebCore::CairoPath::~CairoPath):
88752        (WebCore::CairoPath::context):
88753        * platform/graphics/cairo/GraphicsContextCairo.cpp:
88754        (WebCore::GraphicsContext::addPath): Convert raw member access to accessor access.
88755        (WebCore::GraphicsContext::clip): Ditto.
88756        * platform/graphics/cairo/PathCairo.cpp:
88757        (WebCore::Path::Path): Ditto.
88758        (WebCore::Path::operator=): Ditto.
88759        (WebCore::Path::clear): Ditto.
88760        (WebCore::Path::isEmpty): Ditto.
88761        (WebCore::Path::currentPoint): Ditto.
88762        (WebCore::Path::translate): Ditto.
88763        (WebCore::Path::moveTo): Ditto.
88764        (WebCore::Path::addLineTo): Ditto.
88765        (WebCore::Path::addRect): Ditto.
88766        (WebCore::Path::addQuadCurveTo): Ditto.
88767        (WebCore::Path::addBezierCurveTo): Ditto.
88768        (WebCore::Path::addArc): Ditto.
88769        (WebCore::Path::addArcTo): Ditto.
88770        (WebCore::Path::addEllipse): Ditto.
88771        (WebCore::Path::closeSubpath): Ditto.
88772        (WebCore::Path::boundingRect): Ditto.
88773        (WebCore::Path::strokeBoundingRect): Ditto.
88774        (WebCore::Path::contains): Ditto.
88775        (WebCore::Path::strokeContains): Ditto.
88776        (WebCore::Path::apply): Ditto.
88777        (WebCore::Path::transform): Ditto.
88778        (WebCore::Path::debugString): Ditto.
88779
887802010-07-20  Ojan Vafai  <ojan@chromium.org>
88781
88782        Reviewed by Eric Seidel.
88783
88784        focusing the body of a contentEditable iframe resets the selection
88785        https://bugs.webkit.org/show_bug.cgi?id=42645
88786        
88787        The selection shouldn't be reset to the beginning of the rootEditableElement
88788        if it is already inside the rootEditableElement.
88789
88790        Test: editing/selection/focus-contenteditable-iframe.html
88791
88792        * dom/Element.cpp:
88793        (WebCore::Element::updateFocusAppearance):
88794
887952010-07-20  Ojan Vafai  <ojan@chromium.org>
88796
88797        Reviewed by Eric Seidel.
88798
88799        focusing an unfocused contentEditable element should place the cursor at the beginning
88800        https://bugs.webkit.org/show_bug.cgi?id=42646
88801
88802        r14666 made this change for the body and html elements, but not for all contentEditable 
88803        elements. Doing this for all contentEditable elements matches all other browsers.
88804
88805        * dom/Element.cpp:
88806        (WebCore::Element::updateFocusAppearance):
88807
888082010-08-02  Ryosuke Niwa  <rniwa@webkit.org>
88809
88810        Reviewed by Kent Tamura.
88811
88812        Group functions used in createMarkup (range version) into a class so they are easier to understand
88813        https://bugs.webkit.org/show_bug.cgi?id=43227
88814
88815        Added MarkupAccumulatorWrapper to group getStartMarkup, getEndMarkup, joinMarkups, and addStyleMarkup.
88816        MarkupAccumulatorWrapper is intended to be merged with MarkupAccumulator in the future.
88817
88818        No new tests added since this is a clean up.
88819
88820        * editing/markup.cpp:
88821        (WebCore::MarkupAccumulatorWrapper::MarkupAccumulatorWrapper): Added.
88822        (WebCore::MarkupAccumulatorWrapper::insertString): Added.
88823        (WebCore::MarkupAccumulatorWrapper::insertOpenTag): Added.
88824        (WebCore::MarkupAccumulatorWrapper::insertEndTag): Added.
88825        (WebCore::MarkupAccumulatorWrapper::wrapWithNode): Added.
88826        (WebCore::MarkupAccumulatorWrapper::wrapWithStyleNode): Added.
88827        (WebCore::MarkupAccumulatorWrapper::takeResults): Added.
88828        (WebCore::createMarkup): Uses MarkupAccumulatorWrapper.
88829
888302010-08-02  Brian Weinstein  <bweinstein@apple.com>
88831
88832        Add a missing </File> tag to WebCore.vcproj.
88833
88834        * WebCore.vcproj/WebCore.vcproj:
88835
888362010-08-02  Mario Sanchez Prada  <msanchez@igalia.com>
88837
88838        Reviewed by Chris Fleizach.
88839
88840        [GTK] Implement support for get_character_extents and get_range_extents
88841        https://bugs.webkit.org/show_bug.cgi?id=25677
88842
88843        Implement get_range_extents() and modify get_character_extents()
88844        to properly work after "The Great Flattening" occurred in the ATK
88845        objects hierarchy, some months ago.
88846
88847        In the case of the GTK port, not just the text controls should be
88848        considered when it comes to these functions but also those
88849        composite objects that would also allow to work with text ranges,
88850        such as headings and links. To take care of this, a new function
88851        AccessibilityObject::allowsTextRanges() was defined with a default
88852        implementation in the header file and an specific one for GTK in
88853        AccessibilityObjectAtk.cpp.
88854
88855        Based on a previous patch by Joanmarie Diggs.
88856
88857        * accessibility/AccessibilityObject.cpp:
88858        (WebCore::AccessibilityObject::visiblePositionRangeForRange):
88859        * accessibility/AccessibilityObject.h:
88860        (WebCore::AccessibilityObject::allowsTextRanges): New
88861        * accessibility/AccessibilityRenderObject.cpp:
88862        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
88863        (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
88864        * accessibility/gtk/AccessibilityObjectAtk.cpp:
88865        (WebCore::AccessibilityObject::allowsTextRanges): New
88866        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
88867        (textExtents):
88868        (webkit_accessible_text_get_character_extents):
88869        (webkit_accessible_text_get_range_extents):
88870        (atk_text_interface_init):
88871
888722010-08-02  Chris Fleizach  <cfleizach@apple.com>
88873
88874        AX: Support methods for web apps to interact with the native accessibility APIs
88875        https://bugs.webkit.org/show_bug.cgi?id=43005
88876
88877        Fix for windows build. No review.
88878
88879        * WebCore.vcproj/WebCore.vcproj:
88880
888812010-08-02  Chris Fleizach  <cfleizach@apple.com>
88882
88883        Reviewed by David Kilzer.
88884
88885        AX: Support methods for web apps to interact with the native accessibility APIs
88886        https://bugs.webkit.org/show_bug.cgi?id=43005
88887
88888        Adds a new "accessibility" object that hangs off of "window.navigator".
88889        This accessibility object will allow web apps to interact with native accessibility APIs
88890        to provide a richer experience (for screen reader users primarily).
88891
88892        Test: platform/mac/accessibility/js-accessibility.html
88893
88894        * Android.derived.v8bindings.mk:
88895        * Android.jscbindings.mk:
88896        * DerivedSources.cpp:
88897        * DerivedSources.make:
88898        * GNUmakefile.am:
88899        * WebCore.gypi:
88900        * WebCore.pri:
88901        * WebCore.pro:
88902        * WebCore.vcproj/WebCore.vcproj:
88903        * WebCore.xcodeproj/project.pbxproj:
88904        * accessibility/AXObjectCache.h:
88905        (WebCore::AXObjectCache::):
88906        * accessibility/Accessibility.cpp: Added.
88907        (WebCore::Accessibility::Accessibility):
88908        (WebCore::Accessibility::~Accessibility):
88909        (WebCore::Accessibility::disconnectFrame):
88910        (WebCore::Accessibility::screenChanged):
88911        (WebCore::Accessibility::elementsChanged):
88912        (WebCore::Accessibility::screenReader):
88913        * accessibility/Accessibility.h: Added.
88914        (WebCore::Accessibility::create):
88915        * accessibility/Accessibility.idl: Added.
88916        * accessibility/AccessibilityObject.h:
88917        (WebCore::AccessibilityObject::isScreenReaderRunning):
88918        (WebCore::AccessibilityObject::screenReaderFocusedElement):
88919        (WebCore::AccessibilityObject::screenReaderVersion):
88920        * accessibility/ScreenReader.cpp: Added.
88921        (WebCore::ScreenReader::ScreenReader):
88922        (WebCore::ScreenReader::~ScreenReader):
88923        (WebCore::ScreenReader::disconnectFrame):
88924        (WebCore::ScreenReader::active):
88925        (WebCore::ScreenReader::activeElement):
88926        (WebCore::ScreenReader::version):
88927        * accessibility/ScreenReader.h: Added.
88928        (WebCore::ScreenReader::create):
88929        * accessibility/ScreenReader.idl: Added.
88930        * accessibility/mac/AXObjectCacheMac.mm:
88931        (WebCore::AXObjectCache::postPlatformNotification):
88932        * accessibility/mac/AccessibilityObjectMac.mm:
88933        (WebCore::AccessibilityObject::isScreenReaderRunning):
88934        (WebCore::AccessibilityObject::screenReaderFocusedElement):
88935        (WebCore::AccessibilityObject::screenReaderVersion):
88936        * page/Navigator.cpp:
88937        (WebCore::Navigator::disconnectFrame):
88938        (WebCore::Navigator::accessibility):
88939        * page/Navigator.h:
88940        * page/Navigator.idl:
88941
889422010-08-02  Martin Robinson  <mrobinson@igalia.com>
88943
88944        Reviewed by Xan Lopez.
88945
88946        [Gtk] DOM listeners get wrong keycodes for some keys
88947        https://bugs.webkit.org/show_bug.cgi?id=35170
88948
88949        Emit the proper DOM keyCode for the print screen, keypad insert,
88950        and keypad delete keys.
88951
88952        * platform/gtk/KeyEventGtk.cpp:
88953        (WebCore::windowsKeyCodeForKeyEvent): Fix mapping between GDK key codes
88954        and Windows key codes.
88955
889562010-08-02  Dirk Schulze  <krit@webkit.org>
88957
88958        Unreviewed sort of Xcode project file.
88959
88960        * WebCore.xcodeproj/project.pbxproj:
88961
889622010-08-02  Kristian Monsen  <kristianm@google.com>
88963
88964        Reviewed by Steve Block.
88965
88966        Compile fix for Android, adding guards around filter specific code.
88967        https://bugs.webkit.org/show_bug.cgi?id=43338
88968        This CL introduced the code:
88969        http://trac.webkit.org/changeset/64196
88970
88971        Compile fix only, no new tests.
88972
88973        * rendering/SVGResourcesCycleSolver.cpp:
88974        (WebCore::SVGResourcesCycleSolver::breakCycle):
88975
889762010-08-02  Kristian Monsen  <kristianm@google.com>
88977
88978        Reviewed by Steve Block.
88979
88980        Compile fix for Android, guard inspector code with ENABLE(INSPECTOR).
88981        https://bugs.webkit.org/show_bug.cgi?id=43345
88982        Code introduced in this CL:
88983        http://trac.webkit.org/changeset/63891
88984
88985        No new tests, just a compile fix.
88986
88987        * bindings/v8/ScriptValue.cpp:
88988
889892010-08-02  Jeremy Orlow  <jorlow@chromium.org>
88990
88991        Speculative revert of 64425 due to Chromium instability
88992        https://bugs.webkit.org/show_bug.cgi?id=43347
88993
88994        * GNUmakefile.am:
88995        * WebCore.exp.in:
88996        * WebCore.gypi:
88997        * WebCore.pro:
88998        * WebCore.vcproj/WebCore.vcproj:
88999        * WebCore.xcodeproj/project.pbxproj:
89000        * loader/EmptyClients.h:
89001        * page/Chrome.cpp:
89002        * page/Chrome.h:
89003        * page/ChromeClient.h:
89004        * platform/PopupMenu.h:
89005        (WebCore::PopupMenu::create):
89006        (WebCore::PopupMenu::disconnectClient):
89007        (WebCore::PopupMenu::client):
89008        (WebCore::PopupMenu::scrollbar):
89009        (WebCore::PopupMenu::itemHeight):
89010        (WebCore::PopupMenu::windowRect):
89011        (WebCore::PopupMenu::popupHandle):
89012        (WebCore::PopupMenu::setWasClicked):
89013        (WebCore::PopupMenu::wasClicked):
89014        (WebCore::PopupMenu::setScrollOffset):
89015        (WebCore::PopupMenu::scrollOffset):
89016        (WebCore::PopupMenu::wheelDelta):
89017        (WebCore::PopupMenu::scrollbarCapturingMouse):
89018        (WebCore::PopupMenu::setScrollbarCapturingMouse):
89019        (WebCore::PopupMenu::isActive):
89020        (WebCore::PopupMenu::scrollbarCornerPresent):
89021        * platform/SearchPopupMenu.h:
89022        (WebCore::SearchPopupMenu::create):
89023        * platform/brew/PopupMenuBrew.cpp:
89024        (WebCore::PopupMenu::PopupMenu):
89025        (WebCore::PopupMenu::~PopupMenu):
89026        (WebCore::PopupMenu::show):
89027        (WebCore::PopupMenu::hide):
89028        (WebCore::PopupMenu::updateFromElement):
89029        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89030        * platform/brew/PopupMenuBrew.h: Removed.
89031        * platform/brew/SearchPopupMenuBrew.cpp:
89032        (WebCore::SearchPopupMenu::saveRecentSearches):
89033        (WebCore::SearchPopupMenu::loadRecentSearches):
89034        (WebCore::SearchPopupMenu::SearchPopupMenu):
89035        (WebCore::SearchPopupMenu::enabled):
89036        * platform/brew/SearchPopupMenuBrew.h: Removed.
89037        * platform/chromium/PopupMenuChromium.cpp:
89038        (WebCore::PopupMenu::PopupMenu):
89039        (WebCore::PopupMenu::~PopupMenu):
89040        (WebCore::PopupMenu::show):
89041        (WebCore::PopupMenu::hide):
89042        (WebCore::PopupMenu::updateFromElement):
89043        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89044        * platform/chromium/PopupMenuChromium.h:
89045        * platform/chromium/SearchPopupMenuChromium.cpp:
89046        (WebCore::SearchPopupMenu::SearchPopupMenu):
89047        (WebCore::SearchPopupMenu::enabled):
89048        (WebCore::SearchPopupMenu::saveRecentSearches):
89049        (WebCore::SearchPopupMenu::loadRecentSearches):
89050        * platform/chromium/SearchPopupMenuChromium.h: Removed.
89051        * platform/efl/PopupMenuEfl.cpp:
89052        (WebCore::PopupMenu::PopupMenu):
89053        (WebCore::PopupMenu::~PopupMenu):
89054        (WebCore::PopupMenu::show):
89055        (WebCore::PopupMenu::hide):
89056        (WebCore::PopupMenu::updateFromElement):
89057        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89058        * platform/efl/PopupMenuEfl.h: Removed.
89059        * platform/efl/SearchPopupMenuEfl.cpp:
89060        (WebCore::SearchPopupMenu::SearchPopupMenu):
89061        (WebCore::SearchPopupMenu::saveRecentSearches):
89062        (WebCore::SearchPopupMenu::loadRecentSearches):
89063        (WebCore::SearchPopupMenu::enabled):
89064        * platform/efl/SearchPopupMenuEfl.h: Removed.
89065        * platform/gtk/PopupMenuGtk.cpp:
89066        (WebCore::PopupMenu::PopupMenu):
89067        (WebCore::PopupMenu::~PopupMenu):
89068        (WebCore::PopupMenu::show):
89069        (WebCore::PopupMenu::hide):
89070        (WebCore::PopupMenu::updateFromElement):
89071        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89072        (WebCore::PopupMenu::menuItemActivated):
89073        (WebCore::PopupMenu::menuUnmapped):
89074        (WebCore::PopupMenu::menuPositionFunction):
89075        (WebCore::PopupMenu::menuRemoveItem):
89076        * platform/gtk/PopupMenuGtk.h: Removed.
89077        * platform/gtk/SearchPopupMenuGtk.cpp:
89078        (WebCore::SearchPopupMenu::SearchPopupMenu):
89079        (WebCore::SearchPopupMenu::saveRecentSearches):
89080        (WebCore::SearchPopupMenu::loadRecentSearches):
89081        (WebCore::SearchPopupMenu::enabled):
89082        * platform/gtk/SearchPopupMenuGtk.h: Removed.
89083        * platform/haiku/PopupMenuHaiku.cpp:
89084        (WebCore::PopupMenuHaiku::PopupMenuHaiku):
89085        (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
89086        (WebCore::PopupMenu::PopupMenu):
89087        (WebCore::PopupMenu::~PopupMenu):
89088        (WebCore::PopupMenu::show):
89089        (WebCore::PopupMenu::hide):
89090        (WebCore::PopupMenu::updateFromElement):
89091        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89092        * platform/haiku/PopupMenuHaiku.h: Removed.
89093        * platform/haiku/SearchPopupMenuHaiku.cpp:
89094        (WebCore::SearchPopupMenu::SearchPopupMenu):
89095        (WebCore::SearchPopupMenu::saveRecentSearches):
89096        (WebCore::SearchPopupMenu::loadRecentSearches):
89097        (WebCore::SearchPopupMenu::enabled):
89098        * platform/haiku/SearchPopupMenuHaiku.h: Removed.
89099        * platform/mac/PopupMenuMac.h: Removed.
89100        * platform/mac/PopupMenuMac.mm:
89101        (WebCore::PopupMenu::PopupMenu):
89102        (WebCore::PopupMenu::~PopupMenu):
89103        (WebCore::PopupMenu::clear):
89104        (WebCore::PopupMenu::populate):
89105        (WebCore::PopupMenu::show):
89106        (WebCore::PopupMenu::hide):
89107        (WebCore::PopupMenu::updateFromElement):
89108        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89109        * platform/mac/SearchPopupMenuMac.h: Removed.
89110        * platform/mac/SearchPopupMenuMac.mm:
89111        (WebCore::SearchPopupMenu::SearchPopupMenu):
89112        (WebCore::SearchPopupMenu::enabled):
89113        (WebCore::SearchPopupMenu::saveRecentSearches):
89114        (WebCore::SearchPopupMenu::loadRecentSearches):
89115        * platform/qt/PopupMenuQt.cpp:
89116        (WebCore::PopupMenu::PopupMenu):
89117        (WebCore::PopupMenu::~PopupMenu):
89118        (WebCore::PopupMenu::show):
89119        (WebCore::PopupMenu::hide):
89120        (WebCore::PopupMenu::updateFromElement):
89121        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89122        * platform/qt/PopupMenuQt.h: Removed.
89123        * platform/qt/QtAbstractWebPopup.h:
89124        * platform/qt/SearchPopupMenuQt.cpp:
89125        (WebCore::SearchPopupMenu::SearchPopupMenu):
89126        (WebCore::SearchPopupMenu::saveRecentSearches):
89127        (WebCore::SearchPopupMenu::loadRecentSearches):
89128        (WebCore::SearchPopupMenu::enabled):
89129        * platform/qt/SearchPopupMenuQt.h: Removed.
89130        * platform/win/PopupMenuWin.cpp:
89131        (WebCore::PopupMenu::PopupMenu):
89132        (WebCore::PopupMenu::~PopupMenu):
89133        (WebCore::PopupMenu::popupClassName):
89134        (WebCore::PopupMenu::show):
89135        (WebCore::PopupMenu::hide):
89136        (WebCore::PopupMenu::calculatePositionAndSize):
89137        (WebCore::PopupMenu::setFocusedIndex):
89138        (WebCore::PopupMenu::visibleItems):
89139        (WebCore::PopupMenu::listIndexAtPoint):
89140        (WebCore::PopupMenu::focusedIndex):
89141        (WebCore::PopupMenu::focusFirst):
89142        (WebCore::PopupMenu::focusLast):
89143        (WebCore::PopupMenu::down):
89144        (WebCore::PopupMenu::up):
89145        (WebCore::PopupMenu::invalidateItem):
89146        (WebCore::PopupMenu::clientRect):
89147        (WebCore::PopupMenu::incrementWheelDelta):
89148        (WebCore::PopupMenu::reduceWheelDelta):
89149        (WebCore::PopupMenu::scrollToRevealSelection):
89150        (WebCore::PopupMenu::updateFromElement):
89151        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89152        (WebCore::PopupMenu::paint):
89153        (WebCore::PopupMenu::valueChanged):
89154        (WebCore::PopupMenu::invalidateScrollbarRect):
89155        (WebCore::PopupMenu::registerClass):
89156        (WebCore::PopupMenu::PopupMenuWndProc):
89157        (WebCore::PopupMenu::wndProc):
89158        * platform/win/PopupMenuWin.h: Removed.
89159        * platform/win/SearchPopupMenuWin.cpp:
89160        (WebCore::SearchPopupMenu::SearchPopupMenu):
89161        (WebCore::SearchPopupMenu::enabled):
89162        (WebCore::SearchPopupMenu::saveRecentSearches):
89163        (WebCore::SearchPopupMenu::loadRecentSearches):
89164        * platform/win/SearchPopupMenuWin.h: Removed.
89165        * platform/wx/PopupMenuWx.cpp:
89166        (WebCore::PopupMenu::PopupMenu):
89167        (WebCore::PopupMenu::~PopupMenu):
89168        (WebCore::PopupMenu::show):
89169        (WebCore::PopupMenu::OnMenuItemSelected):
89170        (WebCore::PopupMenu::hide):
89171        (WebCore::PopupMenu::updateFromElement):
89172        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89173        * platform/wx/PopupMenuWx.h: Removed.
89174        * platform/wx/SearchPopupMenuWx.cpp:
89175        (WebCore::SearchPopupMenu::SearchPopupMenu):
89176        (WebCore::SearchPopupMenu::saveRecentSearches):
89177        (WebCore::SearchPopupMenu::loadRecentSearches):
89178        (WebCore::SearchPopupMenu::enabled):
89179        * platform/wx/SearchPopupMenuWx.h: Removed.
89180        * rendering/RenderMenuList.cpp:
89181        (WebCore::RenderMenuList::adjustInnerStyle):
89182        (WebCore::RenderMenuList::showPopup):
89183        * rendering/RenderMenuList.h:
89184        * rendering/RenderTextControlSingleLine.cpp:
89185        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
89186        (WebCore::RenderTextControlSingleLine::addSearchResult):
89187        (WebCore::RenderTextControlSingleLine::showPopup):
89188        (WebCore::RenderTextControlSingleLine::hidePopup):
89189        (WebCore::RenderTextControlSingleLine::updateFromElement):
89190        (WebCore::RenderTextControlSingleLine::valueChanged):
89191        * rendering/RenderTextControlSingleLine.h:
89192
891932010-08-02  Markus Goetz  <Markus.Goetz@nokia.com>
89194
89195        Reviewed by Kenneth Rohde Christiansen.
89196
89197        [Qt] Do not link to SharedBufferCF.cpp
89198        The Qt port does not need this file.
89199        We plan to implement the platformData()
89200        for SharedBuffer at some point soon.
89201        https://bugs.webkit.org/show_bug.cgi?id=43242
89202
89203        * WebCore.pro:
89204        * platform/SharedBuffer.cpp:
89205
892062010-08-02  Balazs Kelemen  <kb@inf.u-szeged.hu>
89207
89208        Reviewed by Simon Hausmann.
89209
89210        [Qt] Generate forwarding headers for WebKit2
89211
89212        https://bugs.webkit.org/show_bug.cgi?id=43336
89213
89214        * WebCore.pri: Removed header copying logic.
89215        * WebCore.pro: Add include paths for WebKit2.
89216
892172010-08-02  Andrey Kosyakov  <caseq@chromium.org>
89218
89219        Reviewed by Pavel Feldman.
89220
89221        Web Inspector: adding experimental support for WebInspector extensions API.
89222        https://bugs.webkit.org/show_bug.cgi?id=40425
89223
89224        Tests: inspector/extensions-api.html
89225               inspector/extensions.html
89226
89227        * WebCore.gypi:
89228        * WebCore.vcproj/WebCore.vcproj:
89229        * inspector/InspectorController.cpp:
89230        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
89231        (WebCore::InspectorController::didCommitLoad):
89232        * inspector/InspectorFrontendHost.cpp:
89233        (WebCore::InspectorFrontendHost::setExtensionAPI):
89234        * inspector/InspectorFrontendHost.h:
89235        * inspector/InspectorFrontendHost.idl:
89236        * inspector/front-end/ElementsPanel.js:
89237        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
89238        (WebInspector.ElementsPanel):
89239        * inspector/front-end/ExtensionAPI.js: Added. An API implementation that gets injected into the extension context.
89240        (injectedExtensionAPI):
89241        (injectedExtensionAPI.EventSinkImpl.prototype.addListener):
89242        (injectedExtensionAPI.EventSinkImpl.prototype.removeListener):
89243        (injectedExtensionAPI.EventSinkImpl.prototype._fire):
89244        (injectedExtensionAPI.EventSink):
89245        (injectedExtensionAPI.InspectorExtensionAPI):
89246        (injectedExtensionAPI.InspectorExtensionAPI.prototype.log):
89247        (injectedExtensionAPI.Resources.prototype.getAll):
89248        (injectedExtensionAPI.Resources.prototype.get return):
89249        (injectedExtensionAPI.Resources.prototype):
89250        (injectedExtensionAPI.Panels):
89251        (injectedExtensionAPI.Panels.prototype.create.callbackWrapper):
89252        (injectedExtensionAPI.Panels.prototype.create):
89253        (injectedExtensionAPI.PanelImpl):
89254        (injectedExtensionAPI.PanelImpl.prototype.createSidebarPane.callbackWrapper):
89255        (injectedExtensionAPI.PanelImpl.prototype.createSidebarPane):
89256        (injectedExtensionAPI.ExtensionPanel):
89257        (injectedExtensionAPI.ExtensionSidebarPaneImpl):
89258        (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
89259        (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpanded):
89260        (injectedExtensionAPI.InspectedWindow):
89261        (injectedExtensionAPI.InspectedWindow.prototype.reload):
89262        (injectedExtensionAPI.InspectedWindow.prototype.evaluate):
89263        (injectedExtensionAPI.ExtensionServerClient.prototype.sendRequest):
89264        (injectedExtensionAPI.ExtensionServerClient.prototype.registerHandler):
89265        (injectedExtensionAPI.ExtensionServerClient.prototype.nextObjectId):
89266        (injectedExtensionAPI.ExtensionServerClient.prototype._registerCallback):
89267        (injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):
89268        (injectedExtensionAPI.ExtensionServerClient.prototype._onMessage):
89269        (injectedExtensionAPI.expandURL):
89270        (injectedExtensionAPI.):
89271        * inspector/front-end/ExtensionPanel.js: Added. A class that provides WebInspector's Panel interface to the inspector, hosts extension panel within an IFrame and proxies Panel callbacks to the extension.
89272        (WebInspector.ExtensionPanel):
89273        (WebInspector.ExtensionPanel.prototype.get defaultFocusedElement):
89274        (WebInspector.ExtensionPanel.prototype.updateMainViewWidth):
89275        (WebInspector.ExtensionPanel.prototype.searchCanceled):
89276        (WebInspector.ExtensionPanel.prototype.performSearch):
89277        (WebInspector.ExtensionPanel.prototype.jumpToNextSearchResult):
89278        (WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
89279        (WebInspector.ExtensionPanel.prototype._addStyleRule):
89280        * inspector/front-end/ExtensionRegistryStub.js: Added. A stub for ExtensionRegistry class that is meant to provide a list of extensions. Actual implementations may be browser-specfic.
89281        (.WebInspector.InspectorExtensionRegistryStub):
89282        (.WebInspector.InspectorExtensionRegistryStub.prototype.getExtensionsAsync):
89283        * inspector/front-end/ExtensionServer.js: Added. Communicates with ExtensionAPI via DOM messaging and proxies requests to WebInspector classes.
89284        (WebInspector.ExtensionServer):
89285        (WebInspector.ExtensionServer.prototype.notifyPanelShown):
89286        (WebInspector.ExtensionServer.prototype.notifyObjectSelected):
89287        (WebInspector.ExtensionServer.prototype.notifyResourceFinished):
89288        (WebInspector.ExtensionServer.prototype.notifySearchAction):
89289        (WebInspector.ExtensionServer.prototype.notifyInspectedPageLoaded):
89290        (WebInspector.ExtensionServer.prototype.notifyInspectedURLChanged):
89291        (WebInspector.ExtensionServer.prototype.notifyInspectorReset):
89292        (WebInspector.ExtensionServer.prototype._convertResource):
89293        (WebInspector.ExtensionServer.prototype._postNotification):
89294        (WebInspector.ExtensionServer.prototype._onSubscribe):
89295        (WebInspector.ExtensionServer.prototype._onUnsubscribe):
89296        (WebInspector.ExtensionServer.prototype._onCreatePanel):
89297        (WebInspector.ExtensionServer.prototype._onCreateSidebar):
89298        (WebInspector.ExtensionServer.prototype._createClientIframe):
89299        (WebInspector.ExtensionServer.prototype._onSetSidebarHeight):
89300        (WebInspector.ExtensionServer.prototype._onSetSidebarExpansion):
89301        (WebInspector.ExtensionServer.prototype._onLog):
89302        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
89303        (WebInspector.ExtensionServer.prototype._onRevealAndSelect):
89304        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
89305        (WebInspector.ExtensionServer.prototype._dispatchCallback):
89306        (WebInspector.ExtensionServer.prototype._onGetResources):
89307        (WebInspector.ExtensionServer.prototype.initExtensions):
89308        (WebInspector.ExtensionServer.prototype._addExtensions):
89309        (WebInspector.ExtensionServer.prototype._onWindowMessage):
89310        (WebInspector.ExtensionServer.prototype._onmessage):
89311        (WebInspector.ExtensionServer.prototype._registerHandler):
89312        (WebInspector.ExtensionStatus):
89313        (WebInspector.addExtensions):
89314        * inspector/front-end/InjectedScript.js:
89315        (injectedScriptConstructor):
89316        * inspector/front-end/InjectedScriptAccess.js:
89317        * inspector/front-end/InspectorFrontendHostStub.js:
89318        (.WebInspector.InspectorFrontendHostStub.prototype.setExtensionAPI):
89319        (.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow):
89320        * inspector/front-end/WebKit.qrc:
89321        * inspector/front-end/inspector.html:
89322        * inspector/front-end/inspector.js:
89323        (WebInspector.loaded):
89324        (WebInspector.updateResource):
89325        (WebInspector.reset):
89326        (WebInspector.inspectedURLChanged):
89327        (WebInspector.didCommitLoad):
89328
893292010-08-02  Ilya Tikhonovsky  <loislo@chromium.org>
89330
89331        Reviewed by Yury Semikhatsky.
89332
89333        WebInspector: Inspector is not working when it is loaded as html page.
89334        https://bugs.webkit.org/show_bug.cgi?id=43334
89335
89336        * inspector/front-end/InspectorFrontendHostStub.js:
89337        (.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow):
89338        (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):
89339
893402010-08-01  Nikolas Zimmermann  <nzimmermann@rim.com>
89341
89342        Reviewed by Dirk Schulze.
89343
89344        SVG gradients do not update when scripted via xlink
89345        https://bugs.webkit.org/show_bug.cgi?id=42953
89346
89347        Unify cycle detection logic for chainable (through xlink:href) and ordinary resources.
89348        All operate on the render tree now, instead of falling back to the DOM tree for xlink:href queries.
89349
89350        When linking resources, register as regular client, so the regular update mechanisms work as expected.
89351        <linearGradient id="foo"><stop../> </linearGradient>
89352        <linearGradient id="bar" xlink:href="#foo"/>
89353        <rect fill="url(#bar)"/>
89354
89355        Without that the rect won't receive invalidation notifications, as foo <-> bar had no connection.
89356        Fixes the last outstanding class of invalidations. Also speeds up the cycle detetion, when using chained resources,
89357        as no SVG DOM queries have to be executed anymore.
89358
89359        Test: svg/custom/js-update-stop-linked-gradient.svg
89360
89361        * rendering/RenderSVGResourceContainer.cpp:
89362        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
89363        (WebCore::linkedResourceForContainer):
89364        * rendering/SVGResources.cpp:
89365        (WebCore::SVGResources::SVGResources):
89366        (WebCore::chainableResourceTags):
89367        (WebCore::targetReferenceFromResource):
89368        (WebCore::registerPendingResource):
89369        (WebCore::SVGResources::buildCachedResources):
89370        (WebCore::SVGResources::invalidateClient):
89371        (WebCore::SVGResources::resourceDestroyed):
89372        (WebCore::SVGResources::buildSetOfResources):
89373        (WebCore::SVGResources::setLinkedResource):
89374        (WebCore::SVGResources::resetLinkedResource):
89375        (WebCore::SVGResources::dump):
89376        * rendering/SVGResources.h:
89377        (WebCore::SVGResources::linkedResource):
89378        * rendering/SVGResourcesCycleSolver.cpp:
89379        (WebCore::SVGResourcesCycleSolver::resolveCycles):
89380        (WebCore::SVGResourcesCycleSolver::breakCycle):
89381        * rendering/SVGResourcesCycleSolver.h:
89382        * svg/SVGFilterElement.cpp:
89383        (WebCore::SVGFilterElement::SVGFilterElement):
89384        * svg/SVGFilterElement.h:
89385        * svg/SVGGradientElement.cpp:
89386        (WebCore::SVGGradientElement::SVGGradientElement):
89387        * svg/SVGGradientElement.h:
89388        * svg/SVGLinearGradientElement.cpp:
89389        (WebCore::SVGLinearGradientElement::collectGradientProperties):
89390        * svg/SVGPatternElement.cpp:
89391        (WebCore::SVGPatternElement::SVGPatternElement):
89392        (WebCore::SVGPatternElement::collectPatternProperties):
89393        * svg/SVGPatternElement.h:
89394        * svg/SVGRadialGradientElement.cpp:
89395        (WebCore::SVGRadialGradientElement::collectGradientProperties):
89396
893972010-07-31  Dan Bernstein  <mitz@apple.com>
89398
89399        Try to fix the Windows build when zlib is not available.
89400
89401        * platform/graphics/WOFFFileFormat.cpp:
89402
894032010-07-31  Dan Bernstein  <mitz@apple.com>
89404
89405        Try to fix the Windows build when zlib is not available.
89406
89407        * platform/graphics/WOFFFileFormat.cpp:
89408
894092010-07-31  Dan Bernstein  <mitz@apple.com>
89410
89411        Try to fix the Windows build when zlib is not available.
89412
89413        * platform/graphics/WOFFFileFormat.cpp:
89414
894152010-07-31  Dan Bernstein  <mitz@apple.com>
89416
89417        Fix typo in attempted build fix.
89418
89419        * platform/graphics/WOFFFileFormat.cpp:
89420
894212010-07-31  Dan Bernstein  <mitz@apple.com>
89422
89423        Try to fix the Windows build when zlib is not available.
89424
89425        * platform/graphics/WOFFFileFormat.cpp:
89426
894272010-07-31  Dan Bernstein  <mitz@apple.com>
89428
89429        Reviewed by Darin Adler.
89430
89431        <rdar://problem/8234766> Add WOFF support for @font-face
89432        https://bugs.webkit.org/show_bug.cgi?id=31302
89433
89434        * WebCore.vcproj/WebCore.vcproj: Added WOFFFileFormat.{cpp,h}.
89435        * WebCore.vcproj/WebCoreCommon.vsprops: Added $(WebKitLibraries)\include\zlib to the header search path.
89436        * WebCore.xcodeproj/project.pbxproj: Added WOFFFileFormat.{cpp,h} and linking against libz.
89437        * css/CSSFontFaceSrcValue.cpp:
89438        (WebCore::CSSFontFaceSrcValue::isSupportedFormat): Replaced hard-coded list of supported formats with
89439        call to FontCustomPlatformData::supportsFormat().
89440        * platform/graphics/WOFFFileFormat.cpp: Added.
89441        (WebCore::isWOFF): Checks if the buffer has the WOFF signature.
89442        (WebCore::convertWOFFToSfnt): Extracts the sfnt payload of a WOFF package.
89443        * platform/graphics/WOFFFileFormat.h: Added.
89444        * platform/graphics/cairo/FontCustomPlatformData.cpp:
89445        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype.
89446        * platform/graphics/cairo/FontCustomPlatformData.h:
89447        * platform/graphics/chromium/FontCustomPlatformData.cpp:
89448        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype,
89449        and also for woff if the OpenType sanitizer is enabled.
89450        * platform/graphics/chromium/FontCustomPlatformData.h:
89451        * platform/graphics/gtk/FontCustomPlatformDataPango.cpp:
89452        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns false.
89453        * platform/graphics/haiku/FontCustomPlatformData.cpp:
89454        (WebCore::FontCustomPlatformData::supportsFormat): Ditto.
89455        * platform/graphics/haiku/FontCustomPlatformData.h:
89456        * platform/graphics/mac/FontCustomPlatformData.cpp:
89457        (WebCore::freeSfntData):
89458        (WebCore::createFontCustomPlatformData): If the OpenType font sanitizer is not enabled, use convertWOFFToSfnt().
89459        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype, opentype and woff.
89460        * platform/graphics/mac/FontCustomPlatformData.h:
89461        * platform/graphics/qt/FontCustomPlatformData.h:
89462        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
89463        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype.
89464        * platform/graphics/win/FontCustomPlatformData.cpp:
89465        (WebCore::createFontCustomPlatformData): If the OpenType font sanitizer is not enabled, use convertWOFFToSfnt().
89466        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype, opentype and woff.
89467        * platform/graphics/win/FontCustomPlatformData.h:
89468        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
89469        (WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype.
89470        * platform/graphics/win/FontCustomPlatformDataCairo.h:
89471        * platform/graphics/wince/FontCustomPlatformData.cpp:
89472        (WebCore::FontCustomPlatformData::supportsFormat): Ditto.
89473        * platform/graphics/wince/FontCustomPlatformData.h:
89474
894752010-07-31  Ryosuke Niwa  <rniwa@webkit.org>
89476
89477        Reviewed by Ojan Vafai.
89478
89479        SplitElementCommand shouldn't be duplicating id attribute
89480        https://bugs.webkit.org/show_bug.cgi?id=27156
89481
89482        Modified SplitElementCommand to delete the id attribute from the second element when splitting an element.
89483        Since this causes WebKit not to merge split elements, added shouldSplitElement to ApplyStyleCommand which
89484        determines the necessity of splitting the element.
89485
89486        To share code between shouldSplitElement and removeInlineStyleFromElement (extracted from applyInlineStyle)
89487        dontRemove was added as the 3rd argument to removeHTMLFontStyle, removeHTMLBidiEmbeddingStyle, and removeCSSStyle.
89488
89489        Test: editing/style/split-element-id-duplication.html
89490
89491        * editing/ApplyStyleCommand.cpp:
89492        (WebCore::ApplyStyleCommand::applyBlockStyle): Added 3rd argument for removeCSSStyle.
89493        (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitElement.
89494        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Extracted from removeInlineStyle.
89495        (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Inline helper for removeInlineStyleFromElement.
89496        (WebCore::ApplyStyleCommand::removeHTMLFontStyle): Added dontRemove.
89497        (WebCore::ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added dontRemove.
89498        (WebCore::ApplyStyleCommand::removeCSSStyle): Added dontRemove.
89499        (WebCore::ApplyStyleCommand::removeInlineStyle): Calls removeInlineStyleFromElement.
89500        (WebCore::ApplyStyleCommand::splitTextElementAtStart): Removed the call to splitTextAtStart.
89501        Branching is now done in applyInlineStyle.
89502        (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto for splitTextAtEnd.
89503        (WebCore::ApplyStyleCommand::shouldSplitElement): Added.
89504        * editing/ApplyStyleCommand.h:
89505        * editing/SplitElementCommand.cpp:
89506        (WebCore::SplitElementCommand::executeApply): Deletes the id attribute from the second element.
89507        (WebCore::SplitElementCommand::doUnapply): Recovers the id attribute of the second element.
89508
895092010-07-31  Luiz Agostini  <luiz.agostini@openbossa.org>
89510
89511        Build fix: Windows.
89512
89513        * platform/win/PopupMenuWin.h:
89514
895152010-07-31  Luiz Agostini  <luiz.agostini@openbossa.org>
89516
89517        Windows build fix.
89518
89519        * platform/win/PopupMenuWin.cpp:
89520        (WebCore::PopupMenuWin::PopupMenuWndProc):
89521
895222010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
89523
89524        Reviewed by Darin Fisher.
89525
89526        PopupMenu refactoring in preparation to WebKit2
89527        https://bugs.webkit.org/show_bug.cgi?id=42592
89528
89529        Classes PopupMenu and SearchPopupMenu have been made pure virtual.
89530
89531        * platform/PopupMenu.h:
89532        (WebCore::PopupMenu::~PopupMenu):
89533        * platform/SearchPopupMenu.h:
89534        (WebCore::SearchPopupMenu::~SearchPopupMenu):
89535
89536        Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
89537        the new pure virtual PopupMenu and SearchPopupMenu.
89538
89539        * rendering/RenderMenuList.cpp:
89540        (WebCore::RenderMenuList::adjustInnerStyle):
89541        (WebCore::RenderMenuList::showPopup):
89542        * rendering/RenderMenuList.h:
89543        * rendering/RenderTextControlSingleLine.cpp:
89544        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
89545        (WebCore::RenderTextControlSingleLine::addSearchResult):
89546        (WebCore::RenderTextControlSingleLine::showPopup):
89547        (WebCore::RenderTextControlSingleLine::hidePopup):
89548        (WebCore::RenderTextControlSingleLine::updateFromElement):
89549        (WebCore::RenderTextControlSingleLine::valueChanged):
89550        * rendering/RenderTextControlSingleLine.h:
89551
89552        Chrome and ChromeClient were made responsible for providing instances of classes
89553        PopupMenu and SearchPopupMenu to its users.
89554
89555        * loader/EmptyClients.h:
89556        (WebCore::EmptyPopupMenu::show):
89557        (WebCore::EmptyPopupMenu::hide):
89558        (WebCore::EmptyPopupMenu::updateFromElement):
89559        (WebCore::EmptyPopupMenu::disconnectClient):
89560        (WebCore::EmptySearchPopupMenu::popupMenu):
89561        (WebCore::EmptySearchPopupMenu::saveRecentSearches):
89562        (WebCore::EmptySearchPopupMenu::loadRecentSearches):
89563        (WebCore::EmptySearchPopupMenu::enabled):
89564        (WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
89565        (WebCore::EmptyChromeClient::createPopupMenu):
89566        (WebCore::EmptyChromeClient::createSearchPopupMenu):
89567        * page/Chrome.cpp:
89568        (WebCore::Chrome::selectItemWritingDirectionIsNatural):
89569        (WebCore::Chrome::createPopupMenu):
89570        (WebCore::Chrome::createSearchPopupMenu):
89571        * page/Chrome.h:
89572        * page/ChromeClient.h:
89573
89574        Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
89575        in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
89576        Each of new the files contain the concrete classes that inherit form PopupMenu or
89577        SearchPopupMenu and are specific for the corresponding platform.
89578
89579        brew:
89580
89581        * platform/brew/PopupMenuBrew.cpp:
89582        (WebCore::PopupMenuBrew::PopupMenuBrew):
89583        (WebCore::PopupMenuBrew::~PopupMenuBrew):
89584        (WebCore::PopupMenuBrew::disconnectClient):
89585        (WebCore::PopupMenuBrew::show):
89586        (WebCore::PopupMenuBrew::hide):
89587        (WebCore::PopupMenuBrew::updateFromElement):
89588        * platform/brew/PopupMenuBrew.h: Added.
89589        (WebCore::PopupMenuBrew::client):
89590        * platform/brew/SearchPopupMenuBrew.cpp:
89591        (WebCore::SearchPopupMenuBrew::saveRecentSearches):
89592        (WebCore::SearchPopupMenuBrew::loadRecentSearches):
89593        (WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
89594        (WebCore::SearchPopupMenuBrew::enabled):
89595        (WebCore::SearchPopupMenuBrew::popupMenu):
89596        * platform/brew/SearchPopupMenuBrew.h: Added.
89597
89598        chromium:
89599
89600        * WebCore.gypi:
89601        * platform/chromium/PopupMenuChromium.cpp:
89602        (WebCore::PopupMenuChromium::PopupMenuChromium):
89603        (WebCore::PopupMenuChromium::~PopupMenuChromium):
89604        (WebCore::PopupMenuChromium::show):
89605        (WebCore::PopupMenuChromium::hide):
89606        (WebCore::PopupMenuChromium::updateFromElement):
89607        (WebCore::PopupMenuChromium::disconnectClient):
89608        * platform/chromium/PopupMenuChromium.h:
89609        (WebCore::PopupMenuChromium::client):
89610        * platform/chromium/SearchPopupMenuChromium.cpp:
89611        (WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
89612        (WebCore::SearchPopupMenuChromium::popupMenu):
89613        (WebCore::SearchPopupMenuChromium::enabled):
89614        (WebCore::SearchPopupMenuChromium::saveRecentSearches):
89615        (WebCore::SearchPopupMenuChromium::loadRecentSearches):
89616        * platform/chromium/SearchPopupMenuChromium.h: Added.
89617
89618        efl:
89619
89620        * platform/efl/PopupMenuEfl.cpp:
89621        (WebCore::PopupMenuEfl::PopupMenuEfl):
89622        (WebCore::PopupMenuEfl::~PopupMenuEfl):
89623        (WebCore::PopupMenuEfl::show):
89624        (WebCore::PopupMenuEfl::hide):
89625        (WebCore::PopupMenuEfl::updateFromElement):
89626        (WebCore::PopupMenuEfl::disconnectClient):
89627        * platform/efl/PopupMenuEfl.h: Added.
89628        (WebCore::PopupMenuEfl::client):
89629        * platform/efl/SearchPopupMenuEfl.cpp:
89630        (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
89631        (WebCore::SearchPopupMenuEfl::popupMenu):
89632        (WebCore::SearchPopupMenuEfl::saveRecentSearches):
89633        (WebCore::SearchPopupMenuEfl::loadRecentSearches):
89634        (WebCore::SearchPopupMenuEfl::enabled):
89635        * platform/efl/SearchPopupMenuEfl.h: Added.
89636
89637        gtk:
89638
89639        * GNUmakefile.am:
89640        * platform/gtk/PopupMenuGtk.cpp:
89641        (WebCore::PopupMenuGtk::PopupMenuGtk):
89642        (WebCore::PopupMenuGtk::~PopupMenuGtk):
89643        (WebCore::PopupMenuGtk::show):
89644        (WebCore::PopupMenuGtk::hide):
89645        (WebCore::PopupMenuGtk::updateFromElement):
89646        (WebCore::PopupMenuGtk::disconnectClient):
89647        (WebCore::PopupMenuGtk::menuItemActivated):
89648        (WebCore::PopupMenuGtk::menuUnmapped):
89649        (WebCore::PopupMenuGtk::menuPositionFunction):
89650        (WebCore::PopupMenuGtk::menuRemoveItem):
89651        * platform/gtk/PopupMenuGtk.h: Added.
89652        (WebCore::PopupMenuGtk::client):
89653        * platform/gtk/SearchPopupMenuGtk.cpp:
89654        (WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
89655        (WebCore::SearchPopupMenuGtk::popupMenu):
89656        (WebCore::SearchPopupMenuGtk::saveRecentSearches):
89657        (WebCore::SearchPopupMenuGtk::loadRecentSearches):
89658        (WebCore::SearchPopupMenuGtk::enabled):
89659        * platform/gtk/SearchPopupMenuGtk.h: Added.
89660
89661        haiku:
89662
89663        * platform/haiku/PopupMenuHaiku.cpp:
89664        (WebCore::HaikuPopup::HaikuPopup):
89665        (WebCore::HaikuPopup::~HaikuPopup):
89666        (WebCore::PopupMenuHaiku::PopupMenuHaiku):
89667        (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
89668        (WebCore::PopupMenuHaiku::disconnectClient):
89669        (WebCore::PopupMenuHaiku::show):
89670        (WebCore::PopupMenuHaiku::hide):
89671        (WebCore::PopupMenuHaiku::updateFromElement):
89672        * platform/haiku/PopupMenuHaiku.h: Added.
89673        (WebCore::PopupMenuHaiku::disconnectClient):
89674        (WebCore::PopupMenuHaiku::client):
89675        * platform/haiku/SearchPopupMenuHaiku.cpp:
89676        (WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
89677        (WebCore::SearchPopupMenuHaiku::saveRecentSearches):
89678        (WebCore::SearchPopupMenuHaiku::loadRecentSearches):
89679        (WebCore::SearchPopupMenuHaiku::enabled):
89680        (WebCore::SearchPopupMenuHaiku::popupMenu):
89681        * platform/haiku/SearchPopupMenuHaiku.h: Added.
89682
89683        mac:
89684
89685        * WebCore.exp.in:
89686        * WebCore.xcodeproj/project.pbxproj:
89687        * platform/mac/PopupMenuMac.h: Added.
89688        (WebCore::PopupMenuMac::disconnectClient):
89689        (WebCore::PopupMenuMac::client):
89690        * platform/mac/PopupMenuMac.mm:
89691        (WebCore::PopupMenuMac::PopupMenuMac):
89692        (WebCore::PopupMenuMac::~PopupMenuMac):
89693        (WebCore::PopupMenuMac::clear):
89694        (WebCore::PopupMenuMac::populate):
89695        (WebCore::PopupMenuMac::show):
89696        (WebCore::PopupMenuMac::hide):
89697        (WebCore::PopupMenuMac::updateFromElement):
89698        (WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
89699        * platform/mac/SearchPopupMenuMac.h: Added.
89700        * platform/mac/SearchPopupMenuMac.mm:
89701        (WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
89702        (WebCore::SearchPopupMenuMac::popupMenu):
89703        (WebCore::SearchPopupMenuMac::enabled):
89704        (WebCore::SearchPopupMenuMac::saveRecentSearches):
89705        (WebCore::SearchPopupMenuMac::loadRecentSearches):
89706
89707        qt:
89708
89709        * WebCore.pro:
89710        * platform/qt/PopupMenuQt.cpp:
89711        (WebCore::PopupMenuQt::PopupMenuQt):
89712        (WebCore::PopupMenuQt::~PopupMenuQt):
89713        (WebCore::PopupMenuQt::disconnectClient):
89714        (WebCore::PopupMenuQt::show):
89715        (WebCore::PopupMenuQt::hide):
89716        (WebCore::PopupMenuQt::updateFromElement):
89717        * platform/qt/PopupMenuQt.h: Added.
89718        * platform/qt/QtAbstractWebPopup.h:
89719        * platform/qt/SearchPopupMenuQt.cpp:
89720        (WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
89721        (WebCore::SearchPopupMenuQt::popupMenu):
89722        (WebCore::SearchPopupMenuQt::saveRecentSearches):
89723        (WebCore::SearchPopupMenuQt::loadRecentSearches):
89724        (WebCore::SearchPopupMenuQt::enabled):
89725        * platform/qt/SearchPopupMenuQt.h: Added.
89726
89727        win:
89728
89729        * WebCore.vcproj/WebCore.vcproj:
89730        * platform/win/PopupMenuWin.cpp:
89731        (WebCore::PopupMenuWin::PopupMenuWin):
89732        (WebCore::PopupMenuWin::~PopupMenuWin):
89733        (WebCore::PopupMenuWin::disconnectClient):
89734        (WebCore::PopupMenuWin::popupClassName):
89735        (WebCore::PopupMenuWin::show):
89736        (WebCore::PopupMenuWin::hide):
89737        (WebCore::PopupMenuWin::calculatePositionAndSize):
89738        (WebCore::PopupMenuWin::setFocusedIndex):
89739        (WebCore::PopupMenuWin::visibleItems):
89740        (WebCore::PopupMenuWin::listIndexAtPoint):
89741        (WebCore::PopupMenuWin::focusedIndex):
89742        (WebCore::PopupMenuWin::focusFirst):
89743        (WebCore::PopupMenuWin::focusLast):
89744        (WebCore::PopupMenuWin::down):
89745        (WebCore::PopupMenuWin::up):
89746        (WebCore::PopupMenuWin::invalidateItem):
89747        (WebCore::PopupMenuWin::clientRect):
89748        (WebCore::PopupMenuWin::incrementWheelDelta):
89749        (WebCore::PopupMenuWin::reduceWheelDelta):
89750        (WebCore::PopupMenuWin::scrollToRevealSelection):
89751        (WebCore::PopupMenuWin::updateFromElement):
89752        (WebCore::PopupMenuWin::paint):
89753        (WebCore::PopupMenuWin::valueChanged):
89754        (WebCore::PopupMenuWin::invalidateScrollbarRect):
89755        (WebCore::PopupMenuWin::registerClass):
89756        (WebCore::PopupMenuWin::PopupMenuWndProc):
89757        (WebCore::PopupMenuWin::wndProc):
89758        * platform/win/PopupMenuWin.h: Added.
89759        (WebCore::PopupMenuWin::client):
89760        (WebCore::PopupMenuWin::scrollbar):
89761        (WebCore::PopupMenuWin::itemHeight):
89762        (WebCore::PopupMenuWin::windowRect):
89763        (WebCore::PopupMenuWin::popupHandle):
89764        (WebCore::PopupMenuWin::setWasClicked):
89765        (WebCore::PopupMenuWin::wasClicked):
89766        (WebCore::PopupMenuWin::setScrollOffset):
89767        (WebCore::PopupMenuWin::scrollOffset):
89768        (WebCore::PopupMenuWin::wheelDelta):
89769        (WebCore::PopupMenuWin::scrollbarCapturingMouse):
89770        (WebCore::PopupMenuWin::setScrollbarCapturingMouse):
89771        * platform/win/SearchPopupMenuWin.cpp:
89772        (WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
89773        (WebCore::SearchPopupMenuWin::popupMenu):
89774        (WebCore::SearchPopupMenuWin::enabled):
89775        (WebCore::SearchPopupMenuWin::saveRecentSearches):
89776        (WebCore::SearchPopupMenuWin::loadRecentSearches):
89777        * platform/win/SearchPopupMenuWin.h: Added.
89778
89779        wx:
89780
89781        * platform/wx/PopupMenuWx.cpp:
89782        (WebCore::PopupMenuWx::PopupMenuWx):
89783        (WebCore::PopupMenuWx::~PopupMenuWx):
89784        (WebCore::PopupMenuWx::disconnectClient):
89785        (WebCore::PopupMenuWx::show):
89786        (WebCore::PopupMenuWx::OnMenuItemSelected):
89787        (WebCore::PopupMenuWx::hide):
89788        (WebCore::PopupMenuWx::updateFromElement):
89789        * platform/wx/PopupMenuWx.h: Added.
89790        (WebCore::PopupMenuWx::client):
89791        * platform/wx/SearchPopupMenuWx.cpp:
89792        (WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
89793        (WebCore::SearchPopupMenuWx::saveRecentSearches):
89794        (WebCore::SearchPopupMenuWx::loadRecentSearches):
89795        (WebCore::SearchPopupMenuWx::enabled):
89796        (WebCore::SearchPopupMenuWx::popupMenu):
89797        * platform/wx/SearchPopupMenuWx.h: Added.
89798
89799
89800
898012010-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
89802
89803        Unreviewed, rolling out r64422.
89804        http://trac.webkit.org/changeset/64422
89805        https://bugs.webkit.org/show_bug.cgi?id=43304
89806
89807        Build fixes are needed for Snow Leopard and Windows.
89808        (Requested by lca on #webkit).
89809
89810        * GNUmakefile.am:
89811        * WebCore.exp.in:
89812        * WebCore.gypi:
89813        * WebCore.pro:
89814        * WebCore.vcproj/WebCore.vcproj:
89815        * WebCore.xcodeproj/project.pbxproj:
89816        * loader/EmptyClients.h:
89817        * page/Chrome.cpp:
89818        * page/Chrome.h:
89819        * page/ChromeClient.h:
89820        * platform/PopupMenu.h:
89821        (WebCore::PopupMenu::create):
89822        (WebCore::PopupMenu::disconnectClient):
89823        (WebCore::PopupMenu::client):
89824        (WebCore::PopupMenu::scrollbar):
89825        (WebCore::PopupMenu::itemHeight):
89826        (WebCore::PopupMenu::windowRect):
89827        (WebCore::PopupMenu::popupHandle):
89828        (WebCore::PopupMenu::setWasClicked):
89829        (WebCore::PopupMenu::wasClicked):
89830        (WebCore::PopupMenu::setScrollOffset):
89831        (WebCore::PopupMenu::scrollOffset):
89832        (WebCore::PopupMenu::wheelDelta):
89833        (WebCore::PopupMenu::scrollbarCapturingMouse):
89834        (WebCore::PopupMenu::setScrollbarCapturingMouse):
89835        (WebCore::PopupMenu::isActive):
89836        (WebCore::PopupMenu::scrollbarCornerPresent):
89837        * platform/SearchPopupMenu.h:
89838        (WebCore::SearchPopupMenu::create):
89839        * platform/brew/PopupMenuBrew.cpp:
89840        (WebCore::PopupMenu::PopupMenu):
89841        (WebCore::PopupMenu::~PopupMenu):
89842        (WebCore::PopupMenu::show):
89843        (WebCore::PopupMenu::hide):
89844        (WebCore::PopupMenu::updateFromElement):
89845        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89846        * platform/brew/PopupMenuBrew.h: Removed.
89847        * platform/brew/SearchPopupMenuBrew.cpp:
89848        (WebCore::SearchPopupMenu::saveRecentSearches):
89849        (WebCore::SearchPopupMenu::loadRecentSearches):
89850        (WebCore::SearchPopupMenu::SearchPopupMenu):
89851        (WebCore::SearchPopupMenu::enabled):
89852        * platform/brew/SearchPopupMenuBrew.h: Removed.
89853        * platform/chromium/PopupMenuChromium.cpp:
89854        (WebCore::PopupMenu::PopupMenu):
89855        (WebCore::PopupMenu::~PopupMenu):
89856        (WebCore::PopupMenu::show):
89857        (WebCore::PopupMenu::hide):
89858        (WebCore::PopupMenu::updateFromElement):
89859        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89860        * platform/chromium/PopupMenuChromium.h:
89861        * platform/chromium/SearchPopupMenuChromium.cpp:
89862        (WebCore::SearchPopupMenu::SearchPopupMenu):
89863        (WebCore::SearchPopupMenu::enabled):
89864        (WebCore::SearchPopupMenu::saveRecentSearches):
89865        (WebCore::SearchPopupMenu::loadRecentSearches):
89866        * platform/chromium/SearchPopupMenuChromium.h: Removed.
89867        * platform/efl/PopupMenuEfl.cpp:
89868        (WebCore::PopupMenu::PopupMenu):
89869        (WebCore::PopupMenu::~PopupMenu):
89870        (WebCore::PopupMenu::show):
89871        (WebCore::PopupMenu::hide):
89872        (WebCore::PopupMenu::updateFromElement):
89873        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89874        * platform/efl/PopupMenuEfl.h: Removed.
89875        * platform/efl/SearchPopupMenuEfl.cpp:
89876        (WebCore::SearchPopupMenu::SearchPopupMenu):
89877        (WebCore::SearchPopupMenu::saveRecentSearches):
89878        (WebCore::SearchPopupMenu::loadRecentSearches):
89879        (WebCore::SearchPopupMenu::enabled):
89880        * platform/efl/SearchPopupMenuEfl.h: Removed.
89881        * platform/gtk/PopupMenuGtk.cpp:
89882        (WebCore::PopupMenu::PopupMenu):
89883        (WebCore::PopupMenu::~PopupMenu):
89884        (WebCore::PopupMenu::show):
89885        (WebCore::PopupMenu::hide):
89886        (WebCore::PopupMenu::updateFromElement):
89887        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89888        (WebCore::PopupMenu::menuItemActivated):
89889        (WebCore::PopupMenu::menuUnmapped):
89890        (WebCore::PopupMenu::menuPositionFunction):
89891        (WebCore::PopupMenu::menuRemoveItem):
89892        * platform/gtk/PopupMenuGtk.h: Removed.
89893        * platform/gtk/SearchPopupMenuGtk.cpp:
89894        (WebCore::SearchPopupMenu::SearchPopupMenu):
89895        (WebCore::SearchPopupMenu::saveRecentSearches):
89896        (WebCore::SearchPopupMenu::loadRecentSearches):
89897        (WebCore::SearchPopupMenu::enabled):
89898        * platform/gtk/SearchPopupMenuGtk.h: Removed.
89899        * platform/haiku/PopupMenuHaiku.cpp:
89900        (WebCore::PopupMenuHaiku::PopupMenuHaiku):
89901        (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
89902        (WebCore::PopupMenu::PopupMenu):
89903        (WebCore::PopupMenu::~PopupMenu):
89904        (WebCore::PopupMenu::show):
89905        (WebCore::PopupMenu::hide):
89906        (WebCore::PopupMenu::updateFromElement):
89907        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89908        * platform/haiku/PopupMenuHaiku.h: Removed.
89909        * platform/haiku/SearchPopupMenuHaiku.cpp:
89910        (WebCore::SearchPopupMenu::SearchPopupMenu):
89911        (WebCore::SearchPopupMenu::saveRecentSearches):
89912        (WebCore::SearchPopupMenu::loadRecentSearches):
89913        (WebCore::SearchPopupMenu::enabled):
89914        * platform/haiku/SearchPopupMenuHaiku.h: Removed.
89915        * platform/mac/PopupMenuMac.h: Removed.
89916        * platform/mac/PopupMenuMac.mm:
89917        (WebCore::PopupMenu::PopupMenu):
89918        (WebCore::PopupMenu::~PopupMenu):
89919        (WebCore::PopupMenu::clear):
89920        (WebCore::PopupMenu::populate):
89921        (WebCore::PopupMenu::show):
89922        (WebCore::PopupMenu::hide):
89923        (WebCore::PopupMenu::updateFromElement):
89924        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89925        * platform/mac/SearchPopupMenuMac.h: Removed.
89926        * platform/mac/SearchPopupMenuMac.mm:
89927        (WebCore::SearchPopupMenu::SearchPopupMenu):
89928        (WebCore::SearchPopupMenu::enabled):
89929        (WebCore::SearchPopupMenu::saveRecentSearches):
89930        (WebCore::SearchPopupMenu::loadRecentSearches):
89931        * platform/qt/PopupMenuQt.cpp:
89932        (WebCore::PopupMenu::PopupMenu):
89933        (WebCore::PopupMenu::~PopupMenu):
89934        (WebCore::PopupMenu::show):
89935        (WebCore::PopupMenu::hide):
89936        (WebCore::PopupMenu::updateFromElement):
89937        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89938        * platform/qt/PopupMenuQt.h: Removed.
89939        * platform/qt/QtAbstractWebPopup.h:
89940        * platform/qt/SearchPopupMenuQt.cpp:
89941        (WebCore::SearchPopupMenu::SearchPopupMenu):
89942        (WebCore::SearchPopupMenu::saveRecentSearches):
89943        (WebCore::SearchPopupMenu::loadRecentSearches):
89944        (WebCore::SearchPopupMenu::enabled):
89945        * platform/qt/SearchPopupMenuQt.h: Removed.
89946        * platform/win/PopupMenuWin.cpp:
89947        (WebCore::PopupMenu::PopupMenu):
89948        (WebCore::PopupMenu::~PopupMenu):
89949        (WebCore::PopupMenu::popupClassName):
89950        (WebCore::PopupMenu::show):
89951        (WebCore::PopupMenu::hide):
89952        (WebCore::PopupMenu::calculatePositionAndSize):
89953        (WebCore::PopupMenu::setFocusedIndex):
89954        (WebCore::PopupMenu::visibleItems):
89955        (WebCore::PopupMenu::listIndexAtPoint):
89956        (WebCore::PopupMenu::focusedIndex):
89957        (WebCore::PopupMenu::focusFirst):
89958        (WebCore::PopupMenu::focusLast):
89959        (WebCore::PopupMenu::down):
89960        (WebCore::PopupMenu::up):
89961        (WebCore::PopupMenu::invalidateItem):
89962        (WebCore::PopupMenu::clientRect):
89963        (WebCore::PopupMenu::incrementWheelDelta):
89964        (WebCore::PopupMenu::reduceWheelDelta):
89965        (WebCore::PopupMenu::scrollToRevealSelection):
89966        (WebCore::PopupMenu::updateFromElement):
89967        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89968        (WebCore::PopupMenu::paint):
89969        (WebCore::PopupMenu::valueChanged):
89970        (WebCore::PopupMenu::invalidateScrollbarRect):
89971        (WebCore::PopupMenu::registerClass):
89972        (WebCore::PopupMenu::PopupMenuWndProc):
89973        (WebCore::PopupMenu::wndProc):
89974        * platform/win/PopupMenuWin.h: Removed.
89975        * platform/win/SearchPopupMenuWin.cpp:
89976        (WebCore::SearchPopupMenu::SearchPopupMenu):
89977        (WebCore::SearchPopupMenu::enabled):
89978        (WebCore::SearchPopupMenu::saveRecentSearches):
89979        (WebCore::SearchPopupMenu::loadRecentSearches):
89980        * platform/win/SearchPopupMenuWin.h: Removed.
89981        * platform/wx/PopupMenuWx.cpp:
89982        (WebCore::PopupMenu::PopupMenu):
89983        (WebCore::PopupMenu::~PopupMenu):
89984        (WebCore::PopupMenu::show):
89985        (WebCore::PopupMenu::OnMenuItemSelected):
89986        (WebCore::PopupMenu::hide):
89987        (WebCore::PopupMenu::updateFromElement):
89988        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
89989        * platform/wx/PopupMenuWx.h: Removed.
89990        * platform/wx/SearchPopupMenuWx.cpp:
89991        (WebCore::SearchPopupMenu::SearchPopupMenu):
89992        (WebCore::SearchPopupMenu::saveRecentSearches):
89993        (WebCore::SearchPopupMenu::loadRecentSearches):
89994        (WebCore::SearchPopupMenu::enabled):
89995        * platform/wx/SearchPopupMenuWx.h: Removed.
89996        * rendering/RenderMenuList.cpp:
89997        (WebCore::RenderMenuList::adjustInnerStyle):
89998        (WebCore::RenderMenuList::showPopup):
89999        * rendering/RenderMenuList.h:
90000        * rendering/RenderTextControlSingleLine.cpp:
90001        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
90002        (WebCore::RenderTextControlSingleLine::addSearchResult):
90003        (WebCore::RenderTextControlSingleLine::showPopup):
90004        (WebCore::RenderTextControlSingleLine::hidePopup):
90005        (WebCore::RenderTextControlSingleLine::updateFromElement):
90006        (WebCore::RenderTextControlSingleLine::valueChanged):
90007        * rendering/RenderTextControlSingleLine.h:
90008
900092010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
90010
90011        Reviewed by Darin Fisher.
90012
90013        PopupMenu refactoring in preparation to WebKit2
90014        https://bugs.webkit.org/show_bug.cgi?id=42592
90015
90016        Classes PopupMenu and SearchPopupMenu have been made pure virtual.
90017
90018        * platform/PopupMenu.h:
90019        (WebCore::PopupMenu::~PopupMenu):
90020        * platform/SearchPopupMenu.h:
90021        (WebCore::SearchPopupMenu::~SearchPopupMenu):
90022
90023        Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
90024        the new pure virtual PopupMenu and SearchPopupMenu.
90025
90026        * rendering/RenderMenuList.cpp:
90027        (WebCore::RenderMenuList::adjustInnerStyle):
90028        (WebCore::RenderMenuList::showPopup):
90029        * rendering/RenderMenuList.h:
90030        * rendering/RenderTextControlSingleLine.cpp:
90031        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
90032        (WebCore::RenderTextControlSingleLine::addSearchResult):
90033        (WebCore::RenderTextControlSingleLine::showPopup):
90034        (WebCore::RenderTextControlSingleLine::hidePopup):
90035        (WebCore::RenderTextControlSingleLine::updateFromElement):
90036        (WebCore::RenderTextControlSingleLine::valueChanged):
90037        * rendering/RenderTextControlSingleLine.h:
90038
90039        Chrome and ChromeClient were made responsible for providing instances of classes
90040        PopupMenu and SearchPopupMenu to its users.
90041
90042        * loader/EmptyClients.h:
90043        (WebCore::EmptyPopupMenu::show):
90044        (WebCore::EmptyPopupMenu::hide):
90045        (WebCore::EmptyPopupMenu::updateFromElement):
90046        (WebCore::EmptyPopupMenu::disconnectClient):
90047        (WebCore::EmptySearchPopupMenu::popupMenu):
90048        (WebCore::EmptySearchPopupMenu::saveRecentSearches):
90049        (WebCore::EmptySearchPopupMenu::loadRecentSearches):
90050        (WebCore::EmptySearchPopupMenu::enabled):
90051        (WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
90052        (WebCore::EmptyChromeClient::createPopupMenu):
90053        (WebCore::EmptyChromeClient::createSearchPopupMenu):
90054        * page/Chrome.cpp:
90055        (WebCore::Chrome::selectItemWritingDirectionIsNatural):
90056        (WebCore::Chrome::createPopupMenu):
90057        (WebCore::Chrome::createSearchPopupMenu):
90058        * page/Chrome.h:
90059        * page/ChromeClient.h:
90060
90061        Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
90062        in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
90063        Each of new the files contain the concrete classes that inherit form PopupMenu or
90064        SearchPopupMenu and are specific for the corresponding platform.
90065
90066        brew:
90067
90068        * platform/brew/PopupMenuBrew.cpp:
90069        (WebCore::PopupMenuBrew::PopupMenuBrew):
90070        (WebCore::PopupMenuBrew::~PopupMenuBrew):
90071        (WebCore::PopupMenuBrew::disconnectClient):
90072        (WebCore::PopupMenuBrew::show):
90073        (WebCore::PopupMenuBrew::hide):
90074        (WebCore::PopupMenuBrew::updateFromElement):
90075        * platform/brew/PopupMenuBrew.h: Added.
90076        (WebCore::PopupMenuBrew::client):
90077        * platform/brew/SearchPopupMenuBrew.cpp:
90078        (WebCore::SearchPopupMenuBrew::saveRecentSearches):
90079        (WebCore::SearchPopupMenuBrew::loadRecentSearches):
90080        (WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
90081        (WebCore::SearchPopupMenuBrew::enabled):
90082        (WebCore::SearchPopupMenuBrew::popupMenu):
90083        * platform/brew/SearchPopupMenuBrew.h: Added.
90084
90085        chromium:
90086
90087        * WebCore.gypi:
90088        * platform/chromium/PopupMenuChromium.cpp:
90089        (WebCore::PopupMenuChromium::PopupMenuChromium):
90090        (WebCore::PopupMenuChromium::~PopupMenuChromium):
90091        (WebCore::PopupMenuChromium::show):
90092        (WebCore::PopupMenuChromium::hide):
90093        (WebCore::PopupMenuChromium::updateFromElement):
90094        (WebCore::PopupMenuChromium::disconnectClient):
90095        * platform/chromium/PopupMenuChromium.h:
90096        (WebCore::PopupMenuChromium::client):
90097        * platform/chromium/SearchPopupMenuChromium.cpp:
90098        (WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
90099        (WebCore::SearchPopupMenuChromium::popupMenu):
90100        (WebCore::SearchPopupMenuChromium::enabled):
90101        (WebCore::SearchPopupMenuChromium::saveRecentSearches):
90102        (WebCore::SearchPopupMenuChromium::loadRecentSearches):
90103        * platform/chromium/SearchPopupMenuChromium.h: Added.
90104
90105        efl:
90106
90107        * platform/efl/PopupMenuEfl.cpp:
90108        (WebCore::PopupMenuEfl::PopupMenuEfl):
90109        (WebCore::PopupMenuEfl::~PopupMenuEfl):
90110        (WebCore::PopupMenuEfl::show):
90111        (WebCore::PopupMenuEfl::hide):
90112        (WebCore::PopupMenuEfl::updateFromElement):
90113        (WebCore::PopupMenuEfl::disconnectClient):
90114        * platform/efl/PopupMenuEfl.h: Added.
90115        (WebCore::PopupMenuEfl::client):
90116        * platform/efl/SearchPopupMenuEfl.cpp:
90117        (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
90118        (WebCore::SearchPopupMenuEfl::popupMenu):
90119        (WebCore::SearchPopupMenuEfl::saveRecentSearches):
90120        (WebCore::SearchPopupMenuEfl::loadRecentSearches):
90121        (WebCore::SearchPopupMenuEfl::enabled):
90122        * platform/efl/SearchPopupMenuEfl.h: Added.
90123
90124        gtk:
90125
90126        * GNUmakefile.am:
90127        * platform/gtk/PopupMenuGtk.cpp:
90128        (WebCore::PopupMenuGtk::PopupMenuGtk):
90129        (WebCore::PopupMenuGtk::~PopupMenuGtk):
90130        (WebCore::PopupMenuGtk::show):
90131        (WebCore::PopupMenuGtk::hide):
90132        (WebCore::PopupMenuGtk::updateFromElement):
90133        (WebCore::PopupMenuGtk::disconnectClient):
90134        (WebCore::PopupMenuGtk::menuItemActivated):
90135        (WebCore::PopupMenuGtk::menuUnmapped):
90136        (WebCore::PopupMenuGtk::menuPositionFunction):
90137        (WebCore::PopupMenuGtk::menuRemoveItem):
90138        * platform/gtk/PopupMenuGtk.h: Added.
90139        (WebCore::PopupMenuGtk::client):
90140        * platform/gtk/SearchPopupMenuGtk.cpp:
90141        (WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
90142        (WebCore::SearchPopupMenuGtk::popupMenu):
90143        (WebCore::SearchPopupMenuGtk::saveRecentSearches):
90144        (WebCore::SearchPopupMenuGtk::loadRecentSearches):
90145        (WebCore::SearchPopupMenuGtk::enabled):
90146        * platform/gtk/SearchPopupMenuGtk.h: Added.
90147
90148        haiku:
90149
90150        * platform/haiku/PopupMenuHaiku.cpp:
90151        (WebCore::HaikuPopup::HaikuPopup):
90152        (WebCore::HaikuPopup::~HaikuPopup):
90153        (WebCore::PopupMenuHaiku::PopupMenuHaiku):
90154        (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
90155        (WebCore::PopupMenuHaiku::disconnectClient):
90156        (WebCore::PopupMenuHaiku::show):
90157        (WebCore::PopupMenuHaiku::hide):
90158        (WebCore::PopupMenuHaiku::updateFromElement):
90159        * platform/haiku/PopupMenuHaiku.h: Added.
90160        (WebCore::PopupMenuHaiku::disconnectClient):
90161        (WebCore::PopupMenuHaiku::client):
90162        * platform/haiku/SearchPopupMenuHaiku.cpp:
90163        (WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
90164        (WebCore::SearchPopupMenuHaiku::saveRecentSearches):
90165        (WebCore::SearchPopupMenuHaiku::loadRecentSearches):
90166        (WebCore::SearchPopupMenuHaiku::enabled):
90167        (WebCore::SearchPopupMenuHaiku::popupMenu):
90168        * platform/haiku/SearchPopupMenuHaiku.h: Added.
90169
90170        mac:
90171
90172        * WebCore.exp.in:
90173        * WebCore.xcodeproj/project.pbxproj:
90174        * platform/mac/PopupMenuMac.h: Added.
90175        (WebCore::PopupMenuMac::disconnectClient):
90176        (WebCore::PopupMenuMac::client):
90177        * platform/mac/PopupMenuMac.mm:
90178        (WebCore::PopupMenuMac::PopupMenuMac):
90179        (WebCore::PopupMenuMac::~PopupMenuMac):
90180        (WebCore::PopupMenuMac::clear):
90181        (WebCore::PopupMenuMac::populate):
90182        (WebCore::PopupMenuMac::show):
90183        (WebCore::PopupMenuMac::hide):
90184        (WebCore::PopupMenuMac::updateFromElement):
90185        (WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
90186        * platform/mac/SearchPopupMenuMac.h: Added.
90187        * platform/mac/SearchPopupMenuMac.mm:
90188        (WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
90189        (WebCore::SearchPopupMenuMac::popupMenu):
90190        (WebCore::SearchPopupMenuMac::enabled):
90191        (WebCore::SearchPopupMenuMac::saveRecentSearches):
90192        (WebCore::SearchPopupMenuMac::loadRecentSearches):
90193
90194        qt:
90195
90196        * WebCore.pro:
90197        * platform/qt/PopupMenuQt.cpp:
90198        (WebCore::PopupMenuQt::PopupMenuQt):
90199        (WebCore::PopupMenuQt::~PopupMenuQt):
90200        (WebCore::PopupMenuQt::disconnectClient):
90201        (WebCore::PopupMenuQt::show):
90202        (WebCore::PopupMenuQt::hide):
90203        (WebCore::PopupMenuQt::updateFromElement):
90204        * platform/qt/PopupMenuQt.h: Added.
90205        * platform/qt/QtAbstractWebPopup.h:
90206        * platform/qt/SearchPopupMenuQt.cpp:
90207        (WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
90208        (WebCore::SearchPopupMenuQt::popupMenu):
90209        (WebCore::SearchPopupMenuQt::saveRecentSearches):
90210        (WebCore::SearchPopupMenuQt::loadRecentSearches):
90211        (WebCore::SearchPopupMenuQt::enabled):
90212        * platform/qt/SearchPopupMenuQt.h: Added.
90213
90214        win:
90215
90216        * WebCore.vcproj/WebCore.vcproj:
90217        * platform/win/PopupMenuWin.cpp:
90218        (WebCore::PopupMenuWin::PopupMenuWin):
90219        (WebCore::PopupMenuWin::~PopupMenuWin):
90220        (WebCore::PopupMenuWin::disconnectClient):
90221        (WebCore::PopupMenuWin::popupClassName):
90222        (WebCore::PopupMenuWin::show):
90223        (WebCore::PopupMenuWin::hide):
90224        (WebCore::PopupMenuWin::calculatePositionAndSize):
90225        (WebCore::PopupMenuWin::setFocusedIndex):
90226        (WebCore::PopupMenuWin::visibleItems):
90227        (WebCore::PopupMenuWin::listIndexAtPoint):
90228        (WebCore::PopupMenuWin::focusedIndex):
90229        (WebCore::PopupMenuWin::focusFirst):
90230        (WebCore::PopupMenuWin::focusLast):
90231        (WebCore::PopupMenuWin::down):
90232        (WebCore::PopupMenuWin::up):
90233        (WebCore::PopupMenuWin::invalidateItem):
90234        (WebCore::PopupMenuWin::clientRect):
90235        (WebCore::PopupMenuWin::incrementWheelDelta):
90236        (WebCore::PopupMenuWin::reduceWheelDelta):
90237        (WebCore::PopupMenuWin::scrollToRevealSelection):
90238        (WebCore::PopupMenuWin::updateFromElement):
90239        (WebCore::PopupMenuWin::paint):
90240        (WebCore::PopupMenuWin::valueChanged):
90241        (WebCore::PopupMenuWin::invalidateScrollbarRect):
90242        (WebCore::PopupMenuWin::registerClass):
90243        (WebCore::PopupMenuWin::PopupMenuWndProc):
90244        (WebCore::PopupMenuWin::wndProc):
90245        * platform/win/PopupMenuWin.h: Added.
90246        (WebCore::PopupMenuWin::client):
90247        (WebCore::PopupMenuWin::scrollbar):
90248        (WebCore::PopupMenuWin::itemHeight):
90249        (WebCore::PopupMenuWin::windowRect):
90250        (WebCore::PopupMenuWin::popupHandle):
90251        (WebCore::PopupMenuWin::setWasClicked):
90252        (WebCore::PopupMenuWin::wasClicked):
90253        (WebCore::PopupMenuWin::setScrollOffset):
90254        (WebCore::PopupMenuWin::scrollOffset):
90255        (WebCore::PopupMenuWin::wheelDelta):
90256        (WebCore::PopupMenuWin::scrollbarCapturingMouse):
90257        (WebCore::PopupMenuWin::setScrollbarCapturingMouse):
90258        * platform/win/SearchPopupMenuWin.cpp:
90259        (WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
90260        (WebCore::SearchPopupMenuWin::popupMenu):
90261        (WebCore::SearchPopupMenuWin::enabled):
90262        (WebCore::SearchPopupMenuWin::saveRecentSearches):
90263        (WebCore::SearchPopupMenuWin::loadRecentSearches):
90264        * platform/win/SearchPopupMenuWin.h: Added.
90265
90266        wx:
90267
90268        * platform/wx/PopupMenuWx.cpp:
90269        (WebCore::PopupMenuWx::PopupMenuWx):
90270        (WebCore::PopupMenuWx::~PopupMenuWx):
90271        (WebCore::PopupMenuWx::disconnectClient):
90272        (WebCore::PopupMenuWx::show):
90273        (WebCore::PopupMenuWx::OnMenuItemSelected):
90274        (WebCore::PopupMenuWx::hide):
90275        (WebCore::PopupMenuWx::updateFromElement):
90276        * platform/wx/PopupMenuWx.h: Added.
90277        (WebCore::PopupMenuWx::client):
90278        * platform/wx/SearchPopupMenuWx.cpp:
90279        (WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
90280        (WebCore::SearchPopupMenuWx::saveRecentSearches):
90281        (WebCore::SearchPopupMenuWx::loadRecentSearches):
90282        (WebCore::SearchPopupMenuWx::enabled):
90283        (WebCore::SearchPopupMenuWx::popupMenu):
90284        * platform/wx/SearchPopupMenuWx.h: Added.
90285
90286
90287
902882010-07-31  David Kilzer  <ddkilzer@apple.com>
90289
90290        <http://webkit.org/b/43300> Simplify variables in *.xcconfig files after adding iOS support
90291
90292        Reviewed by Darin Adler.
90293
90294        * Configurations/WebCore.xcconfig: Extracted
90295        PRODUCTION_FRAMEWORKS_DIR variable.
90296
902972010-07-31  Nikolas Zimmermann  <nzimmermann@rim.com>
90298
90299        Reviewed by Dirk Schulze.
90300
90301        HTMLStyleElement/SVGStyleElement need to share more code
90302        https://bugs.webkit.org/show_bug.cgi?id=43293
90303
90304        Simplify HTMLStyleElement/SVGStyleElement. They look identically now, as all code is shared in StyleElement.
90305        Doesn't affect any tests.
90306
90307        * dom/StyleElement.cpp:
90308        (WebCore::StyleElement::StyleElement): Take createdByParser & Document arguments, to share the line number extraction logic. Store it in m_lineNumber.
90309        (WebCore::StyleElement::insertedIntoDocument): Moved addStyleSheetCandidateNode here, to share code between HTML/SVGStyleElement.
90310        (WebCore::StyleElement::removedFromDocument): Same for removeStyleSheetCandidateNode.
90311        (WebCore::StyleElement::childrenChanged): Introduced new helper function.
90312        (WebCore::StyleElement::finishParsingChildren): Ditto.
90313        (WebCore::StyleElement::process): Use stored m_lineNumber, avoids a parameter.
90314        (WebCore::StyleElement::createSheet): No need to call the virtual setLoading() function, just store m_loading in StyleElement, and set it from here.
90315        (WebCore::StyleElement::isLoading): Introduced new helper function.
90316        (WebCore::StyleElement::sheetLoaded): Ditto.
90317        * dom/StyleElement.h:
90318        * html/HTMLStyleElement.cpp:
90319        (WebCore::HTMLStyleElement::HTMLStyleElement): Pass Document & createdByParser arguments to StyleElement.
90320        (WebCore::HTMLStyleElement::finishParsingChildren): Delegate work to StyleElement.
90321        (WebCore::HTMLStyleElement::insertedIntoDocument): Ditto.
90322        (WebCore::HTMLStyleElement::removedFromDocument): Ditto.
90323        (WebCore::HTMLStyleElement::childrenChanged): Ditto.
90324        * html/HTMLStyleElement.h:
90325        (WebCore::HTMLStyleElement::isLoading): Ditto.
90326        (WebCore::HTMLStyleElement::sheetLoaded): Ditto.
90327        * svg/SVGStyleElement.cpp:
90328        (WebCore::SVGStyleElement::SVGStyleElement): Pass Document & createdByParser arguments to StyleElement.
90329        (WebCore::SVGStyleElement::finishParsingChildren): Delegate work to StyleElement.
90330        (WebCore::SVGStyleElement::insertedIntoDocument): Ditto.
90331        (WebCore::SVGStyleElement::removedFromDocument): Ditto.
90332        (WebCore::SVGStyleElement::childrenChanged): Ditto.
90333        * svg/SVGStyleElement.h:
90334        (WebCore::SVGStyleElement::isLoading): Ditto.
90335        (WebCore::SVGStyleElement::sheetLoaded): Ditto.
90336
903372010-07-31  Kinuko Yasuda  <kinuko@chromium.org>
90338
90339        Unreviewed.  Attempt to fix release build failure.
90340
90341        Having 'fail:' label without goto statement generates a compiler
90342        warning that causes a build failure in release build.
90343
90344        * bindings/scripts/CodeGeneratorV8.pm:
90345
903462010-07-31  Kinuko Yasuda  <kinuko@chromium.org>
90347
90348        Reviewed by Nikolas Zimmermann.
90349
90350        Fix 'bool' in bindings/scripts/test/TestObj.
90351
90352        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
90353        (WebDOMTestObj::CREATE):
90354        (WebDOMTestObj::setCREATE):
90355        * bindings/scripts/test/CPP/WebDOMTestObj.h:
90356        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
90357        (webkit_dom_test_obj_get_create):
90358        (webkit_dom_test_obj_set_create):
90359        (webkit_dom_test_obj_set_property):
90360        (webkit_dom_test_obj_get_property):
90361        (webkit_dom_test_obj_class_init):
90362        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
90363        * bindings/scripts/test/JS/JSTestObj.cpp:
90364        (WebCore::jsTestObjCreate):
90365        (WebCore::setJSTestObjCreate):
90366        * bindings/scripts/test/ObjC/DOMTestObj.h:
90367        * bindings/scripts/test/ObjC/DOMTestObj.mm:
90368        (-[DOMTestObj CREATE]):
90369        (-[DOMTestObj setCREATE:]):
90370        * bindings/scripts/test/TestObj.idl:
90371        * bindings/scripts/test/V8/V8TestObj.cpp:
90372        (WebCore::TestObjInternal::CREATEAttrGetter):
90373        (WebCore::TestObjInternal::CREATEAttrSetter):
90374
903752010-07-30  Kinuko Yasuda  <kinuko@chromium.org>
90376
90377        Reviewed by Dumitru Daniliuc.
90378
90379        Add idl and mock implementation for HTML5 FileSystem API
90380        https://bugs.webkit.org/show_bug.cgi?id=43134
90381
90382        Add idl for: FileSystem (as DOMFileSystem), Entry, Flags, Metadata,
90383        FileSystemCallback, EntryCallback and ErrorCallback.
90384        http://dev.w3.org/2009/dap/file-system/file-dir-sys.html
90385
90386        They are added only for Mac and chromium.
90387
90388        Tests will be added when we expose the entry point and add implementation.
90389
90390        * DerivedSources.make:
90391        * WebCore.gypi:
90392        * WebCore.xcodeproj/project.pbxproj:
90393
90394        * storage/DOMFileSystem.cpp: Added.
90395        * storage/DOMFileSystem.h: Added.
90396        * storage/DOMFileSystem.idl: Added.
90397        * storage/Entry.cpp: Added.
90398        * storage/Entry.h: Added.
90399        * storage/Entry.idl: Added.
90400        * storage/EntryCallback.h: Added.
90401        * storage/EntryCallback.idl: Added.
90402        * storage/ErrorCallback.h: Added.
90403        * storage/ErrorCallback.idl: Added.
90404        * storage/FileSystemCallback.h: Added.
90405        * storage/FileSystemCallback.idl: Added.
90406        * storage/Flags.h: Added.
90407        * storage/Flags.idl: Added.
90408        * storage/Metadata.h: Added.
90409        * storage/Metadata.idl: Added.
90410        * storage/MetadataCallback.h: Added.
90411        * storage/MetadataCallback.idl: Added.
90412
90413        * bindings/scripts/CodeGenerator.pm: Added special case handlings for generating setter/getter names for CREATE/EXCLUSIVE attributes in Flags.idl.
90414
90415        * bindings/scripts/test/TestObj.idl: Updated.
90416        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated.
90417        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated.
90418        * bindings/scripts/test/CPP/WebDOMTestObj.h: Updated.
90419        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated.
90420        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Updated.
90421        * bindings/scripts/test/JS/JSTestObj.cpp: Updated.
90422        * bindings/scripts/test/JS/JSTestObj.h: Updated.
90423        * bindings/scripts/test/ObjC/DOMTestObj.h: Updated.
90424        * bindings/scripts/test/ObjC/DOMTestObj.mm: Updated.
90425
904262010-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
90427
90428        Unreviewed, rolling out r64408.
90429        http://trac.webkit.org/changeset/64408
90430        https://bugs.webkit.org/show_bug.cgi?id=43292
90431
90432        Causing failed tests on Chromium canaries due to wrong history
90433        item counts (Requested by atwilson on #webkit).
90434
90435        * loader/RedirectScheduler.cpp:
90436        (WebCore::RedirectScheduler::scheduleRedirect):
90437        (WebCore::RedirectScheduler::mustLockBackForwardList):
90438        (WebCore::RedirectScheduler::scheduleLocationChange):
90439        (WebCore::RedirectScheduler::scheduleFormSubmission):
90440        * loader/RedirectScheduler.h:
90441
904422010-07-30  Dan Bernstein  <mitz@apple.com>
90443
90444        Reviewed by Darin Adler.
90445
90446        <rdar://problem/8257783> Short documents may print a second blank page
90447        https://bugs.webkit.org/show_bug.cgi?id=43271
90448
90449        Test: printing/stretch-to-view-height.html
90450
90451        * WebCore.exp.in: Export Frame::forceLayoutForPagination(), replacing forceLayoutWithPageWidthRange().
90452        * page/Frame.cpp:
90453        (WebCore::Frame::setPrinting): Now takes a page width and height and a maximum shrink factor and passes
90454        them down to forceLayoutForPagination().
90455        * page/Frame.h:
90456        (WebCore::Frame::):
90457        * page/FrameView.cpp:
90458        (WebCore::FrameView::reset): Initialize m_pageHeight.
90459        (WebCore::FrameView::forceLayoutForPagination): Renamed forceLayoutWithPageWidthRange() to this and
90460        changed it to take a page width and height and a maximum shrink factor. Sets m_pageHeight, which is
90461        queried by RenderBox::calcHeight() during layout. If the given pageHeight is 0, m_pageHeight is set
90462        to the visible height, retaining the behavior before this change.
90463        * page/FrameView.h:
90464        (WebCore::FrameView::pageHeight): Added this accessor.
90465        * page/PrintContext.cpp:
90466        (WebCore::PrintContext::begin): Added a height parameter, used when calling setPrinting().
90467        (WebCore::PrintContext::end): Updated for setPrinting() changes.
90468        (WebCore::PrintContext::pageNumberForElement): Account for shrink-to-fit.
90469        (WebCore::PrintContext::pageProperty): Pass 0 for the height, retaining current behavior.
90470        (WebCore::PrintContext::numberOfPages): Account for shrink-to-fit.
90471        (WebCore::PrintContext::spoolAllPagesWithBoundaries): Pass the page width to begin().
90472        * page/PrintContext.h:
90473        * rendering/RenderBox.cpp:
90474        (WebCore::RenderBox::calcHeight): When printing, use FrameView::pageHeight() as the basis for
90475        viewport-relative heights.
90476
904772010-07-30  Mihai Parparita  <mihaip@chromium.org>
90478
90479        Reviewed by Darin Fisher.
90480
90481        Session history should skip over JS redirects
90482        https://bugs.webkit.org/show_bug.cgi?id=42861
90483        
90484        Lock the back/forward list for location changes that happen before the 
90485        onload event fires that are not the result of user gestures.
90486
90487        Test: fast/history/gesture-before-onload.html and updated expectations 
90488        for http/tests/history tests that used to fail.
90489
90490        * loader/RedirectScheduler.cpp:
90491        (WebCore::RedirectScheduler::scheduleRedirect):
90492        (WebCore::RedirectScheduler::mustLockBackForwardList):
90493        (WebCore::RedirectScheduler::scheduleLocationChange):
90494        (WebCore::RedirectScheduler::scheduleFormSubmission):
90495        * loader/RedirectScheduler.h:
90496
904972010-07-30  Matthew Delaney  <mdelaney@apple.com>
90498
90499        Reviewed by Darin Adler.
90500
90501        ctx.clearRect improperly clears shadow
90502        https://bugs.webkit.org/show_bug.cgi?id=43213
90503
90504        Tests: canvas/philip/tests/2d.clearRect+fillRect.alpha0.5.html
90505               canvas/philip/tests/2d.clearRect+fillRect.alpha0.html
90506               canvas/philip/tests/2d.clearRect+fillRect.basic.html
90507
90508        * html/canvas/CanvasRenderingContext2D.cpp:
90509        (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
90510        Added a new method to wipe out all context attributes to their defaults.
90511        (WebCore::CanvasRenderingContext2D::clearRect):
90512        Updated clearRect to ignore shadow, alpha, and global composite attributes
90513        when clearing the input rect to match the canvas spec.
90514        * html/canvas/CanvasRenderingContext2D.h:
90515
905162010-07-30  Kinuko Yasuda  <kinuko@chromium.org>
90517
90518        Reviewed by Jian Li.
90519
90520        Decouple FileThread from FileStream to support generic file-related async tasks
90521        https://bugs.webkit.org/show_bug.cgi?id=43135
90522
90523        No new tests as this doesn't change any functionality.
90524
90525        * html/FileThread.cpp:
90526        (WebCore::FileThread::stop):
90527        (WebCore::SameInstancePredicate::SameFilePredicate):
90528        (WebCore::SameInstancePredicate::operator()):
90529        (WebCore::FileThread::unscheduleTasksInternal):
90530        * html/FileThread.h:
90531        (WebCore::FileThread::create):
90532        (WebCore::FileThread::Task::instance):
90533        (WebCore::FileThread::Task::Task):
90534        * html/FileThreadTask.h: Changed all templates to take any type as a callee instance.
90535        (WebCore::createFileThreadTask):
90536
905372010-07-30  Darin Fisher  <darin@chromium.org>
90538
90539        Reviewed by Darin Adler.
90540
90541        Eliminate BackForwardList::pushStateItem
90542        https://bugs.webkit.org/show_bug.cgi?id=43282
90543
90544        The layout test was previously disabled because of the assertion being
90545        hit in BackForwardList::pushStateItem.  That assertion revealed the need
90546        for this patch.
90547
90548        Test: fast/loader/stateobjects/pushstate-in-iframe.html
90549
90550        * history/BackForwardList.h:
90551        * history/BackForwardListChromium.cpp:
90552        * history/BackForwardListImpl.cpp:
90553        * history/BackForwardListImpl.h:
90554
90555        * loader/HistoryController.cpp: Move the logic, of adding a null state
90556        object to the HistoryItem that was previously the current HistoryItem, to
90557        HistoryController::pushState from BackForwardList::pushStateItem.  The
90558        BackForwardList was the wrong place for that logic since it lacked convenient
90559        access to the target HistoryItem.  It is just given the top-most HistoryItem
90560        corresponding to the new navigation.
90561
90562        (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
90563        (WebCore::HistoryController::pushState):
90564
905652010-07-30  Luiz Agostini  <luiz.agostini@openbossa.org>
90566
90567        Reviewed by Simon Fraser.
90568
90569        Enabling view modes to all platforms
90570        https://bugs.webkit.org/show_bug.cgi?id=37505
90571
90572        View mode media feature implementation as specified in http://www.w3.org/TR/view-mode.
90573
90574        The view mode media feature layout tests are stil skipped for all platforms except Qt
90575        because of the lack of support of LayoutTestController in those platforms.
90576
90577        Test: fast/media/view-mode-media-feature.html
90578
90579        * css/MediaFeatureNames.h:
90580        * css/MediaQueryEvaluator.cpp:
90581        (WebCore::view_modeMediaFeatureEval):
90582        * page/ChromeClient.h:
90583        * page/Page.cpp:
90584        (WebCore::Page::Page):
90585        (WebCore::createViewModesSet):
90586        (WebCore::Page::setViewMode):
90587        * page/Page.h:
90588        (WebCore::Page::viewMode):
90589
905902010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
90591
90592        Reviewed by David Kilzer.
90593
90594        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
90595        https://bugs.webkit.org/show_bug.cgi?id=40627
90596
90597        Part 4 - Client Notification when the Quota is Reached
90598
90599        Notify the WebKit client when the per-origin quota is reached
90600        via a delegate method reachedApplicationCacheOriginQuota.
90601
90602          Call the delegate method when the quota is reached.
90603
90604        * loader/appcache/ApplicationCacheGroup.cpp:
90605        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
90606        (WebCore::ApplicationCacheGroup::didFinishLoading):
90607        (WebCore::ApplicationCacheGroup::didReachOriginQuota):
90608        (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
90609        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
90610        (WebCore::ApplicationCacheGroup::scheduleReachedOriginQuotaCallback):
90611        * loader/appcache/ApplicationCacheGroup.h:
90612
90613          Some minor refactoring to access more quota information
90614          without repeating code. Such as origin usage, and creating
90615          an origin record.
90616
90617        * loader/appcache/ApplicationCacheStorage.cpp:
90618        (WebCore::ApplicationCacheStorage::usageForOrigin):
90619        (WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin):
90620        (WebCore::ApplicationCacheStorage::store):
90621        (WebCore::ApplicationCacheStorage::ensureOriginRecord):
90622        * loader/appcache/ApplicationCacheStorage.h:
90623
90624          Boilerplate. Exports and definition of the delegate method.
90625
90626        * WebCore.OfflineWebApplications.exp:
90627        * loader/EmptyClients.h:
90628        (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
90629        * page/ChromeClient.h:
90630
906312010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
90632
90633        Reviewed by David Kilzer.
90634
90635        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
90636        https://bugs.webkit.org/show_bug.cgi?id=40627
90637
90638        Part 3 - Refactor storeNewestCache to allow Failure Reason Output
90639
90640        Storing can result in an error in a number of reasons. Previously
90641        the reasons were global and binary and could be determined by
90642        checking ApplicationCacheStorage state. Now, with per-origin quotas
90643        a per-origin quota can cause a failure that is not in global state.
90644        Current failure reasons are:
90645
90646          OriginQuotaReached = per-origin quota reached, no storage is allowed.
90647          TotalQuotaReached  = database quota reached, no storage is allowed.
90648          DiskOrOperationFailure = SQL error such as failed prepare or query. Not expected to happen.
90649
90650        This part provides an implementation of storeNewestCache for those
90651        that care about the failure reason, and not just if it succeeded
90652        or not. This moves the final origin quota check into the transaction.
90653
90654        * loader/appcache/ApplicationCache.h: style fix for forwarding headers.
90655        * loader/appcache/ApplicationCacheGroup.cpp:
90656        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): move origin quota check into storeNewestCache's SQL transaction.
90657        * loader/appcache/ApplicationCacheStorage.cpp:
90658        (WebCore::ApplicationCacheStorage::storeNewestCache): old implementation calls the new implementation ignoring failure reason.
90659        (WebCore::ApplicationCacheStorage::storeNewestCache): new implementation provides a failure reason in case of failure.
90660        * loader/appcache/ApplicationCacheStorage.h:
90661        (WebCore::ApplicationCacheStorage::): added FailureReason enum and storeNewestCache allowing it.
90662
906632010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
90664
90665        Reviewed by David Kilzer.
90666
90667        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
90668        https://bugs.webkit.org/show_bug.cgi?id=40627
90669
90670        Part 2 - Update Schema and enforce Per-Origin Quotas
90671
90672        Added an "Origins" table to the application cache databases.
90673        This, like the Database's Origins table, is a list of origin
90674        and quota pairs. Origins records are added as soon as they are
90675        needed, and deleted only when the ApplicationCacheStorage is
90676        emptied. This means Origins records persist even after all
90677        caches for that origin may be deleted. The "CacheGroups" table
90678        now has a foreign key column "origin" which relates to the
90679        "Origins" table.
90680
90681        To enforce the quotas, remaining quota space is checked at
90682        the start of update as an estimate and at the end before
90683        inserting. Currently, reaching the quota limit will simply
90684        cause an update error. A later part will provide a
90685        notification to the client to allow an action, and refactor
90686        the final quota limit check into a transaction.
90687
90688          Respect the quota during the update process. And cause
90689          the update process to fail when the quota is reached.
90690
90691        * loader/appcache/ApplicationCacheGroup.cpp: added loading counter, counts bytes as they load
90692        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
90693        (WebCore::ApplicationCacheGroup::didReceiveData):
90694        (WebCore::ApplicationCacheGroup::didFinishLoading):
90695        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
90696        * loader/appcache/ApplicationCacheGroup.h: added security origin, based on the manifest URL
90697        (WebCore::ApplicationCacheGroup::origin): accessor
90698
90699          Updates the schema of the database tables as described
90700          above. Handle other SQL operations such as checking the
90701          remaining space and inserting and deleting Origins records.
90702
90703        * loader/appcache/ApplicationCacheStorage.cpp:
90704        (WebCore::ApplicationCacheStorage::quotaForOrigin): query for the quota of an origin, may return the default origin quota if it didn't exist.
90705        (WebCore::ApplicationCacheStorage::remainingSizeForOriginExcludingCache): calculate the remaining size in a quota for an origin, possibly excluding a cache.
90706        (WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin): persistent update.
90707        (WebCore::ApplicationCacheStorage::openDatabase): updated schema for CachesGroups, added new table Origins.
90708        (WebCore::ApplicationCacheStorage::empty): wipe Origins table as well.
90709        (WebCore::ApplicationCacheStorage::unknownQuota): constant to mean unknown quota
90710
907112010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
90712
90713        Reviewed by David Kilzer.
90714
90715        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
90716        https://bugs.webkit.org/show_bug.cgi?id=40627
90717
90718        Part 1 - Add Total and Per-Origin Quota Preferences.
90719
90720        Allow the application cache total size to be a preference, and
90721        add a new preference for the default per-origin quota.
90722
90723          Handle the per-origin quota in the global cacheStorage() object.
90724          The per-origin quota will be used in a later part, this just
90725          handles interaction with it from a client.
90726
90727        * loader/appcache/ApplicationCacheStorage.cpp:
90728        (WebCore::ApplicationCacheStorage::setDefaultOriginQuota): setter
90729        (WebCore::ApplicationCacheStorage::ApplicationCacheStorage): default to "noQuota" on construction
90730        * loader/appcache/ApplicationCacheStorage.h: 
90731        (WebCore::ApplicationCacheStorage::noQuota): constant to mean unlimited storage
90732        (WebCore::ApplicationCacheStorage::defaultOriginQuota): accessor
90733
90734          Move around some exports around for Offline Web Applications.
90735
90736        * WebCore.exp.in: Added OFFLINE_WEB_APPLICATIONS exports.
90737
907382010-07-30  Andy Estes  <aestes@apple.com>
90739
90740        Reviewed by David Kilzer.
90741
90742        Add Xcode support for compiling WebKit against iOS SDKs.
90743        https://bugs.webkit.org/show_bug.cgi?id=42796
90744        
90745        * Configurations/Base.xcconfig:
90746        * Configurations/DebugRelease.xcconfig:
90747        * Configurations/FeatureDefines.xcconfig:
90748        * Configurations/Version.xcconfig:
90749        * Configurations/WebCore.xcconfig:
90750
907512010-07-30  James Robinson  <jamesr@chromium.org>
90752
90753        Compile fix: fix a typo in forward declaration, add EmptyClients impl.
90754
90755        * loader/EmptyClients.h:
90756        (WebCore::EmptyChromeClient::getOnscreenGLES2Context):
90757        (WebCore::EmptyChromeClient::getOffscreenGLES2Context):
90758        * page/ChromeClient.h:
90759
907602010-07-30  James Robinson  <jamesr@chromium.org>
90761
90762        Reviewed by Darin Fisher.
90763
90764        Move GLES2 context manipulation to ChromeClient.h and put it behind the right #if guard
90765        https://bugs.webkit.org/show_bug.cgi?id=43281
90766
90767        These calls were initially put in ChromeClientChromium, but they aren't chromium specific.
90768        In theory any port that could create the proper OpenGL ES 2 contexts could implement
90769        these functions.  Also moves the calls to be behind the correct #if guard.
90770
90771        * page/ChromeClient.h:
90772        * page/chromium/ChromeClientChromium.h:
90773
907742010-07-30  Dumitru Daniliuc  <dumi@chromium.org>
90775
90776        Reviewed by David Levin.
90777
90778        Interrupt all DB operations when the worker is terminating.
90779        https://bugs.webkit.org/show_bug.cgi?id=42843
90780
90781        Tests: fast/workers/storage/interrupt-database-sync.html
90782               fast/workers/storage/interrupt-database.html
90783
90784        * bindings/js/JSCustomVoidCallback.cpp:
90785        (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback): If the
90786        destructor is called on the context thread, delete m_data directly
90787        instead of posting a task to do that. We need to do that to make
90788        sure that all JS objects are destroyed before
90789        WorkerThreadShutdownFinishTask (in WorkerThread.cpp) calls
90790        WorkerContext::clearScript().
90791
90792        * bindings/scripts/CodeGeneratorJS.pm: Same change as above, for
90793        all auto-generated callbacks.
90794
90795        * bindings/scripts/test/JS/JSTestCallback.cpp:
90796        (WebCore::JSTestCallback::~JSTestCallback): Updated the
90797        expectations for run-bindings-tests.
90798
90799        * platform/sql/SQLiteDatabase.cpp: Added the ability to interrupt
90800        all DB operations in progress, unless the database was closed or
90801        is being closed. Unlike sqlite3_interrupt(),
90802        SQLiteDatabase::interrupt() is sticky: once it's called, trying to
90803        run any statement on that database will fail with a
90804        SQLITE_INTERRUPT error code.
90805        (WebCore::SQLiteDatabase::SQLiteDatabase):
90806        (WebCore::SQLiteDatabase::close):
90807        (WebCore::SQLiteDatabase::interrupt):
90808        (WebCore::SQLiteDatabase::isInterrupted):
90809
90810        * platform/sql/SQLiteDatabase.h: Added a mutex that can used by
90811        SQLiteStatement to check if the database was interrupted.
90812        (WebCore::SQLiteDatabase::databaseMutex):
90813
90814        * platform/sql/SQLiteStatement.cpp: Changed prepare() and step()
90815        to check if the database was interrupted, before trying to prepare
90816        or run the statement. The other methods don't need to hold on to
90817        the DB lock while running, because they're fast, so we don't need
90818        to interrupt them.
90819        (WebCore::SQLiteStatement::prepare):
90820        (WebCore::SQLiteStatement::step):
90821
90822        * storage/AbstractDatabase.cpp: Made SQLiteDatabase::interrupt()
90823        and isInterrupted() visible to WebSQLDatabases classes.
90824        (WebCore::AbstractDatabase::interrupt):
90825        (WebCore::AbstractDatabase::isInterrupted):
90826        * storage/AbstractDatabase.h:
90827
90828        * storage/DatabaseTracker.cpp: Added a method to interrupt all
90829        databases in a given context.
90830        (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
90831        * storage/DatabaseTracker.h:
90832
90833        * storage/SQLStatement.cpp: Changed the exception/error reported
90834        when a statement is interrupted.
90835        (WebCore::SQLStatement::execute):
90836        * storage/SQLStatementSync.cpp:
90837        (WebCore::SQLStatementSync::execute):
90838
90839        * storage/SQLTransaction.cpp: Changed the code to release the
90840        callback objects as soon as they're not needed.
90841        (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
90842        Changed this method to not schedule the next transaction step when
90843        the database is interrupted.
90844        (WebCore::SQLTransaction::performNextStep):
90845        (WebCore::SQLTransaction::performPendingCallback):
90846        (WebCore::SQLTransaction::deliverTransactionCallback):
90847        (WebCore::SQLTransaction::postflightAndCommit):
90848        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
90849        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
90850        * storage/SQLTransaction.h:
90851
90852        * storage/chromium/DatabaseTrackerChromium.cpp: Added a method to
90853        interrupt all databases in a given context.
90854        (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
90855
90856        * workers/WorkerThread.cpp:
90857        (WebCore::WorkerThread::stop): Added a call to
90858        DatabaseTracker::interruptAllDatabasesForContext().
90859
908602010-07-30  Simon Fraser  <simon.fraser@apple.com>
90861
90862        Reviewed by Darin Adler.
90863
90864        connect-compositing-iframe2.html test sometimes shows blank iframe content
90865        https://bugs.webkit.org/show_bug.cgi?id=42046
90866
90867        Hooking up compositing iframes requires setNeedsStyleRecalc(SyntheticStyleChange) to
90868        always result in a call to RenderLayer::styleChanged(). However, the semantics of 
90869        setNeedsStyleRecalc() was that each call would overwrite the existing styleChangeType,
90870        allowing a "lesser" style change to override a "greater" one. In the test content,
90871        SyntheticStyleChange was being replaced by FullStyleChange when the classname changed.
90872        This resulted in RenderLayer::styleChanged() not being called.
90873        
90874        Fix by changing the behavior of setNeedsStyleRecalc() to only touch the style change
90875        type if a "lesser" change is being replaced with a "greater" one. This required adding
90876        a new clearNeedsStyleRecalc() method to reset the style change type to NoStyleChange.
90877        
90878        In addition, in Node::setNeedsStyleRecalc(), only propagate the childNeedsStyleRecalc
90879        up the parent change if the node was not already needing recalc. In order to fix issues
90880        with attaching, this required new call to clearNeedsStyleRecalc() at the end of attach().
90881
90882        * manual-tests/compositing/missing-iframe-contents.html: Added.
90883        * manual-tests/compositing/resources/composited-subframe.html: Copied from LayoutTests/compositing/iframes/resources/composited-subframe.html.
90884
90885        * dom/Document.cpp:
90886        (WebCore::Document::recalcStyle): Call clearNeedsStyleRecalc().
90887        * dom/Element.cpp:
90888        (WebCore::Element::recalcStyle): Call clearNeedsStyleRecalc().
90889
90890        * dom/Node.h:
90891        (WebCore::Node::clearNeedsStyleRecalc): New method.
90892        * dom/Node.cpp:
90893        (WebCore::Node::setNeedsStyleRecalc): Only call setStyleChange() if the change type
90894        is greater than the current change type.
90895        (WebCore::Node::attach): After attaching, we can call clearNeedsStyleRecalc().
90896
90897        * dom/Text.cpp:
90898        (WebCore::Text::recalcStyle): Call clearNeedsStyleRecalc().
90899        * html/HTMLFrameSetElement.cpp:
90900        (WebCore::HTMLFrameSetElement::recalcStyle): Call clearNeedsStyleRecalc().
90901
909022010-07-30  W. James MacLean  <wjmaclean@google.com>
90903
90904        Reviewed by Nikolas Zimmermann.
90905
90906        SVG - numeric overflow for very large elements
90907        https://bugs.webkit.org/show_bug.cgi?id=25645
90908
90909        Two of the expected test outputs were incorrect now that parsing of large values
90910        is handled correctly.
90911        - Revised FloatRect to remove bad float-to-int conversions in enclosingIntRect()
90912        - Revised _parseNumber to do right-to-left float-based parsing of input value
90913
90914        Test: svg/custom/massive-coordinates.svg
90915
90916        * platform/graphics/FloatRect.cpp:
90917        (WebCore::safeFloatToInt):
90918        (WebCore::enclosingIntRect):
90919        * svg/SVGParserUtilities.cpp:
90920        (WebCore::_parseNumber):
90921
909222010-07-30  James Robinson  <jamesr@chromium.org>
90923
90924        Reviewed by Darin Fisher.
90925
90926        [chromium] Make the GLES2 texture map generic and teach ImageSkia and ImageBufferSkia about GLES2
90927        https://bugs.webkit.org/show_bug.cgi?id=43218
90928
90929        This makes the GLES2Canvas' TextureHashMap key on void* instead of NativeImagePtr
90930        to make it easier to use with other backends.  It also teaches ImageSkia how
90931        to draw to a GLES2Canvas instead of a skia buffer.
90932
90933        No change in functionality (yet), no new tests.
90934
90935        * platform/graphics/chromium/GLES2Canvas.cpp:
90936        (WebCore::GLES2Canvas::GLES2Canvas):
90937        (WebCore::GLES2Canvas::createTexture):
90938        (WebCore::GLES2Canvas::getTexture):
90939        * platform/graphics/chromium/GLES2Canvas.h:
90940        * platform/graphics/skia/ImageBufferSkia.cpp:
90941        (WebCore::ImageBuffer::getUnmultipliedImageData):
90942        (WebCore::ImageBuffer::getPremultipliedImageData):
90943        * platform/graphics/skia/ImageSkia.cpp:
90944        (WebCore::drawBitmapGLES2):
90945        (WebCore::BitmapImage::draw):
90946        (WebCore::BitmapImageSingleFrameSkia::draw):
90947
909482010-07-30  Yong Li  <yoli@rim.com>
90949
90950        Reviewed by Darin Adler.
90951
90952        Implement SVGScriptElement::shouldExecuteAsJavaScript() otherwise
90953        SVGScriptElement cannot run when XHTMLMP is enabled.
90954        https://bugs.webkit.org/show_bug.cgi?id=43267
90955
90956        No test needed, because it fails all SVG <script> tests when XHTMLMP is on.
90957
90958        * svg/SVGScriptElement.cpp:
90959        (WebCore::SVGScriptElement::shouldExecuteAsJavaScript):
90960        * svg/SVGScriptElement.h:
90961
909622010-07-30  Chris Fleizach  <cfleizach@apple.com>
90963
90964        Reviewed by Darin Adler.
90965
90966        Style errors in Navigator.h
90967        https://bugs.webkit.org/show_bug.cgi?id=43262
90968
90969        Fixing style changes. No new tests.
90970
90971        * page/Navigator.h:
90972        (WebCore::Navigator::create):
90973        (WebCore::Navigator::frame):
90974        (WebCore::Navigator::optionalGeolocation):
90975
909762010-07-27  Darin Fisher  <darin@chromium.org>
90977
90978        Reviewed by Brady Eidson.
90979
90980        History.pushState() + navigation operates on top frame when called from
90981        nested context
90982        https://bugs.webkit.org/show_bug.cgi?id=43080
90983
90984        Test: fast/loader/stateobjects/pushstate-in-iframe.html
90985
90986        * loader/HistoryController.cpp:
90987        (WebCore::HistoryController::pushState): createTreeItem should be
90988        called on the top-most HistoryController so that we properly clone
90989        the HistoryItem tree starting at the root node.
90990
909912010-07-30  fsamuel@chromium.org  <fsamuel@chromium.org>
90992
90993        Reviewed by Dimitri Glazkov.
90994
90995        Expand SVG Attribute Macros
90996        https://bugs.webkit.org/show_bug.cgi?id=43254
90997
90998        Expanded SVG Attribute Macros to reduce debugging headache.
90999
91000        No change in behavior, so no new tests.
91001
91002        * rendering/style/SVGRenderStyle.h: Expanded and removed references to SVG_RS_DEFINE_ATTRIBUTE* macros.
91003        * rendering/style/SVGRenderStyleDefs.h: Removed definitons for expanded macros.
91004
910052010-07-30  Kinuko Yasuda  <kinuko@chromium.org>
91006
91007        Reviewed by Dumitru Daniliuc.
91008
91009        Add callback arguments support to binding code generator scripts
91010        https://bugs.webkit.org/show_bug.cgi?id=43130
91011
91012        Tests: bindings/scripts/test/TestObj.idl
91013
91014        * bindings/scripts/CodeGeneratorJS.pm:
91015        * bindings/scripts/CodeGeneratorV8.pm:
91016
91017        * bindings/scripts/test/JS/JSTestObj.cpp:
91018        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
91019        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
91020        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
91021        * bindings/scripts/test/JS/JSTestObj.h:
91022        * bindings/scripts/test/TestObj.idl:
91023        * bindings/scripts/test/V8/V8TestObj.cpp:
91024        (WebCore::TestObjInternal::methodWithCallbackArgCallback):
91025        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
91026        (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
91027        (WebCore::ConfigureV8TestObjTemplate):
91028
910292010-07-30  Anders Carlsson  <andersca@apple.com>
91030
91031        Reviewed by Sam Weinig.
91032
91033        Implement NPN_InvokeDefault
91034        https://bugs.webkit.org/show_bug.cgi?id=43266
91035
91036        * bindings/js/JSPluginElementFunctions.cpp:
91037        (WebCore::isPluginElement):
91038        Add convenience function.
91039
91040        (WebCore::pluginInstance):
91041        Call isPluginElement.
91042
91043        (WebCore::pluginScriptObjectFromPluginViewBase):
91044        Given an JSHTMLElement, ask the PluginViewBase for the scriptable object.
91045
91046        (WebCore::pluginScriptObject):
91047        Call isPluginElement. Call pluginScriptObjectFromPluginViewBase.
91048
91049        (WebCore::callPlugin):
91050        Get the script object, assemble the arguments and call "call" directly.
91051
91052        (WebCore::runtimeObjectGetCallData):
91053        Try to get the script object from the PluginViewBase first.
91054
91055        * plugins/PluginViewBase.h:
91056        (WebCore::PluginViewBase::scriptObject):
91057        Remove ExecState parameter.
91058
910592010-07-30  Adam Roben  <aroben@apple.com>
91060
91061        Roll our r64361 and r64363
91062
91063        We can't make these changes until QuartzCore.lib is included in
91064        WebKitSupportLibrary.
91065
910662010-07-30  Adam Roben  <aroben@apple.com>
91067
91068        Remove uses of CACFContextRef and CARender* from WebCore
91069
91070        These types are now wrapped in a WKCACFContext type exported by
91071        WebKitSystemInterface.
91072
91073        Fixes <http://webkit.org/b/43244>.
91074
91075        Reviewed by Sam Weinig.
91076
91077        * platform/graphics/win/WKCACFContextFlusher.cpp:
91078        (WebCore::WKCACFContextFlusher::addContext):
91079        (WebCore::WKCACFContextFlusher::removeContext):
91080        (WebCore::WKCACFContextFlusher::flushAllContexts):
91081        * platform/graphics/win/WKCACFContextFlusher.h:
91082        Changed to use WKCACFContext. We don't retain/release the context when
91083        putting it into/taking it out of the set. WKCACFContext is not a
91084        ref-counted type, so we can't retain/release it, but the
91085        retain/release was also unnecessary as WKCACFLayerRenderer calls
91086        removeContext before the context is destroyed.
91087
91088        * platform/graphics/win/WKCACFLayer.cpp:
91089        (WebCore::WKCACFLayer::becomeRootLayerForContext):
91090        * platform/graphics/win/WKCACFLayer.h:
91091        Changed to use WKCACFContext.
91092
91093        * platform/graphics/win/WKCACFLayerRenderer.cpp:
91094        (WebCore::WKCACFLayerRenderer::didFlushContext):
91095        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
91096        (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
91097        (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
91098        (WebCore::WKCACFLayerRenderer::createRenderer):
91099        (WebCore::WKCACFLayerRenderer::destroyRenderer):
91100        (WebCore::WKCACFLayerRenderer::render): Also replaced uses of
91101        CGSRegion with WebKitSystemInterface functions/types.
91102        (WebCore::WKCACFLayerRenderer::resetDevice):
91103        * platform/graphics/win/WKCACFLayerRenderer.h:
91104        Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext
91105        with a single WKCACFContext, which wraps all three. We hold a bare
91106        pointer to it and destroy it in our destructor.
91107
911082010-07-30  Adam Roben  <aroben@apple.com>
91109
91110        Remove knowledge of WKCACFContextFlusher from WKCACFLayer
91111
91112        Fixes <http://webkit.org/b/43248> WKCACFLayer shouldn't know about
91113        WKCACFContextFlusher
91114
91115        Reviewed by Sam Weinig.
91116
91117        * platform/graphics/win/WKCACFLayer.cpp:
91118        (WebCore::WKCACFLayer::setNeedsCommit): Don't bother calling to
91119        WKCACFContextFlusher. Our root layer will do this for us.
91120
91121        * platform/graphics/win/WKCACFLayerRenderer.cpp:
91122        (WebCore::WKCACFRootLayer::setNeedsRender): Changed to call the new
91123        layerTreeDidChange function.
91124        (WebCore::WKCACFLayerRenderer::layerTreeDidChange): Added. Tells
91125        WKCACFContextFlusher that the context has changed, and schedules a
91126        render.
91127
91128        * platform/graphics/win/WKCACFLayerRenderer.h: Added
91129        layerTreeDidChange.
91130
911312010-07-29  Jeremy Orlow  <jorlow@chromium.org>
91132
91133        Reviewed by Steve Block.
91134
91135        Rename all the IDBIndex classses to match the latest conventions
91136        https://bugs.webkit.org/show_bug.cgi?id=43190
91137
91138        No functionality has changed.
91139
91140        IDBIndexRequest -> IDBIndex in the spec.  So that's the first change.
91141        IDBIndex was the name of our interface class though, so we need to rename
91142        it to get it out of the way.  While we're at it, we might as well clean
91143        up the naming in general to make things more clear.  In the future, we're
91144        going to need another layer (yes, yuck) which will be shared by the async
91145        and sync classes which will do caching and other optimizations.  That will
91146        then connect to the backend.  We also added "Interface" to make it more
91147        clear that's what the file/class is.
91148
91149        Existing layout tests are enough since nothing should change as far as JavaScript can see.
91150
91151        * Android.derived.jscbindings.mk:
91152        * Android.derived.v8bindings.mk:
91153        * Android.mk:
91154        * CMakeLists.txt:
91155        * DerivedSources.cpp:
91156        * DerivedSources.make:
91157        * GNUmakefile.am:
91158        * WebCore.gypi:
91159        * WebCore.pri:
91160        * WebCore.pro:
91161        * WebCore.xcodeproj/project.pbxproj:
91162        * bindings/js/JSIDBAnyCustom.cpp:
91163        (WebCore::toJS):
91164        * bindings/v8/custom/V8IDBAnyCustom.cpp:
91165        (WebCore::toV8):
91166        * storage/IDBAny.cpp:
91167        (WebCore::IDBAny::idbIndex):
91168        (WebCore::IDBAny::set):
91169        * storage/IDBAny.h:
91170        (WebCore::IDBAny::):
91171        * storage/IDBCallbacks.h:
91172        * storage/IDBIndex.cpp: Added.
91173        (WebCore::IDBIndex::IDBIndex):
91174        (WebCore::IDBIndex::~IDBIndex):
91175        * storage/IDBIndex.h:
91176        (WebCore::IDBIndex::create):
91177        (WebCore::IDBIndex::name):
91178        (WebCore::IDBIndex::keyPath):
91179        (WebCore::IDBIndex::unique):
91180        * storage/IDBIndex.idl: Added.
91181        * storage/IDBIndexBackendImpl.cpp: Added.
91182        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
91183        (WebCore::IDBIndexBackendImpl::~IDBIndexBackendImpl):
91184        * storage/IDBIndexBackendImpl.h: Added.
91185        (WebCore::IDBIndexBackendImpl::create):
91186        (WebCore::IDBIndexBackendImpl::name):
91187        (WebCore::IDBIndexBackendImpl::keyPath):
91188        (WebCore::IDBIndexBackendImpl::unique):
91189        * storage/IDBIndexBackendInterface.h: Added.
91190        (WebCore::IDBIndexBackendInterface::~IDBIndexBackendInterface):
91191        * storage/IDBIndexImpl.cpp: Removed.
91192        * storage/IDBIndexImpl.h: Removed.
91193        * storage/IDBIndexRequest.cpp: Removed.
91194        * storage/IDBIndexRequest.h: Removed.
91195        * storage/IDBIndexRequest.idl: Removed.
91196        * storage/IDBObjectStore.h:
91197        * storage/IDBObjectStoreImpl.cpp:
91198        (WebCore::IDBObjectStoreImpl::createIndex):
91199        (WebCore::IDBObjectStoreImpl::index):
91200        * storage/IDBObjectStoreImpl.h:
91201        * storage/IDBObjectStoreRequest.cpp:
91202        (WebCore::IDBObjectStoreRequest::index):
91203        * storage/IDBObjectStoreRequest.h:
91204        * storage/IDBObjectStoreRequest.idl:
91205        * storage/IDBRequest.cpp:
91206        (WebCore::IDBRequest::onSuccess):
91207        * storage/IDBRequest.h:
91208
912092010-07-30  Rafael Antognolli  <antognolli@profusion.mobi>
91210
91211        Reviewed by Antonio Gomes.
91212
91213        [EFL] Add library version and soname to EFL generated libraries and binary.
91214        https://bugs.webkit.org/show_bug.cgi?id=43212
91215
91216        Add version and soname to libwebcore.so in case of linking as shared
91217        library.
91218
91219        No new feature, so no new tests.
91220
91221        * CMakeLists.txt:
91222
912232010-07-30  Steve Block  <steveblock@google.com>
91224
91225        Reviewed by Steve Block.
91226
91227        Add LayoutTestController methods to test DeviceOrientation
91228        https://bugs.webkit.org/show_bug.cgi?id=39589
91229
91230        This patch does not hook up the new LayoutTestController method to WebKit
91231        for any platform. This will be done in later patches.
91232        https://bugs.webkit.org/show_bug.cgi?id=43181 tracks this for Mac.
91233
91234        Test: fast/dom/DeviceOrientation/basic-operation.html
91235
91236        * Android.mk:
91237        * CMakeLists.txt:
91238        * GNUmakefile.am:
91239        * WebCore.exp.in:
91240        * WebCore.gypi:
91241        * WebCore.pro:
91242        * WebCore.vcproj/WebCore.vcproj:
91243        * WebCore.xcodeproj/project.pbxproj:
91244        * dom/DeviceOrientationClient.h:
91245        (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
91246        * dom/DeviceOrientationController.cpp:
91247        (WebCore::DeviceOrientationController::DeviceOrientationController):
91248        * dom/DeviceOrientationEvent.cpp:
91249        * platform/mock/DeviceOrientationClientMock.cpp: Added.
91250        (WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
91251        (WebCore::DeviceOrientationClientMock::setController):
91252        (WebCore::DeviceOrientationClientMock::startUpdating):
91253        (WebCore::DeviceOrientationClientMock::stopUpdating):
91254        (WebCore::DeviceOrientationClientMock::setOrientation):
91255        (WebCore::DeviceOrientationClientMock::timerFired):
91256        * platform/mock/DeviceOrientationClientMock.h: Added.
91257        (WebCore::DeviceOrientationClientMock::lastOrientation):
91258
912592010-07-30  Satish Sampath  <satish@chromium.org>
91260
91261        Reviewed by Jeremy Orlow.
91262
91263        Add a mock in WebCore for testing speech input
91264        https://bugs.webkit.org/show_bug.cgi?id=42603
91265
91266        Layout tests will be added in a subsequent patch using this mock.
91267
91268        * Android.mk:
91269        * GNUmakefile.am:
91270        * WebCore.gypi:
91271        * WebCore.pro:
91272        * WebCore.vcproj/WebCore.vcproj:
91273        * WebCore.xcodeproj/project.pbxproj:
91274        * platform/mock/SpeechInputClientMock.cpp: Added.
91275        (WebCore::SpeechInputClientMock::SpeechInputClientMock):
91276        (WebCore::SpeechInputClientMock::startRecognition):
91277        (WebCore::SpeechInputClientMock::stopRecording):
91278        (WebCore::SpeechInputClientMock::cancelRecognition):
91279        (WebCore::SpeechInputClientMock::setRecognitionResult):
91280        (WebCore::SpeechInputClientMock::timerFired):
91281        * platform/mock/SpeechInputClientMock.h: Added.
91282
912832010-07-30  Nikolas Zimmermann  <nzimmermann@rim.com>
91284
91285        Reviewed by Dirk Schulze.
91286
91287        Optimize SVGResources memory usage
91288        https://bugs.webkit.org/show_bug.cgi?id=43236
91289
91290        Instead of storing pointers to all possible resources that could be applied to an element, group them in three categories:
91291        clipper/filter/masker, marker-start/marker-mid/marker-end, and fill/stroke.
91292
91293        Only build the cached resources data for elements where the properties can be applied to. Maintain a static list of tagnames
91294        for each of the three categories, to avoid doing unncessary work.
91295
91296        Doesn't affect any tests.
91297
91298        * rendering/SVGResources.cpp:
91299        (WebCore::SVGResources::SVGResources):
91300        (WebCore::clipperFilterMaskerTags):
91301        (WebCore::markerTags):
91302        (WebCore::fillAndStrokeTags):
91303        (WebCore::SVGResources::buildCachedResources):
91304        (WebCore::SVGResources::invalidateClient):
91305        (WebCore::SVGResources::resourceDestroyed):
91306        (WebCore::SVGResources::buildSetOfResources):
91307        (WebCore::SVGResources::setClipper):
91308        (WebCore::SVGResources::resetClipper):
91309        (WebCore::SVGResources::setFilter):
91310        (WebCore::SVGResources::resetFilter):
91311        (WebCore::SVGResources::setMarkerStart):
91312        (WebCore::SVGResources::resetMarkerStart):
91313        (WebCore::SVGResources::setMarkerMid):
91314        (WebCore::SVGResources::resetMarkerMid):
91315        (WebCore::SVGResources::setMarkerEnd):
91316        (WebCore::SVGResources::resetMarkerEnd):
91317        (WebCore::SVGResources::setMasker):
91318        (WebCore::SVGResources::resetMasker):
91319        (WebCore::SVGResources::setFill):
91320        (WebCore::SVGResources::resetFill):
91321        (WebCore::SVGResources::setStroke):
91322        (WebCore::SVGResources::resetStroke):
91323        (WebCore::SVGResources::dump):
91324        * rendering/SVGResources.h:
91325        (WebCore::SVGResources::clipper):
91326        (WebCore::SVGResources::filter):
91327        (WebCore::SVGResources::markerStart):
91328        (WebCore::SVGResources::markerMid):
91329        (WebCore::SVGResources::markerEnd):
91330        (WebCore::SVGResources::masker):
91331        (WebCore::SVGResources::fill):
91332        (WebCore::SVGResources::stroke):
91333        (WebCore::SVGResources::ClipperFilterMaskerData::ClipperFilterMaskerData):
91334        (WebCore::SVGResources::ClipperFilterMaskerData::create):
91335        (WebCore::SVGResources::MarkerData::MarkerData):
91336        (WebCore::SVGResources::MarkerData::create):
91337        (WebCore::SVGResources::FillStrokeData::FillStrokeData):
91338        (WebCore::SVGResources::FillStrokeData::create):
91339
913402010-07-26  Andrei Popescu  <andreip@google.com>
91341
91342        Reviewed by Jeremy Orlow.
91343
91344        [IndexedDB] IndexedDatabase should be called IDBFactory.
91345        https://bugs.webkit.org/show_bug.cgi?id=42967
91346
91347        Rename IndexedDatabase to IDBFactory to match the specification.
91348
91349        Also implement the following new naming convention:
91350        IDBFoo IDL interfaces are implemented using IDBFoo C++ classes.
91351        IDBFoo objects have pointers to IDBFooBackendInterface objects.
91352        IDBFooBackendInterface is implemented by IDBFooBackendImpl and
91353        IDBFooBackendProxy (for Chromium).
91354
91355        No new tests needed, just renaming.
91356
91357        * Android.derived.jscbindings.mk:
91358        * Android.derived.v8bindings.mk:
91359        * Android.mk:
91360        * CMakeLists.txt:
91361        * DerivedSources.cpp:
91362        * DerivedSources.make:
91363        * GNUmakefile.am:
91364        * WebCore.gyp/WebCore.gyp:
91365        * WebCore.gypi:
91366        * WebCore.pri:
91367        * WebCore.pro:
91368        * WebCore.xcodeproj/project.pbxproj:
91369        * bindings/js/JSIDBAnyCustom.cpp:
91370        (WebCore::toJS):
91371        * bindings/v8/custom/V8IDBAnyCustom.cpp:
91372        (WebCore::toV8):
91373        * page/DOMWindow.cpp:
91374        (WebCore::DOMWindow::clear):
91375        (WebCore::DOMWindow::indexedDB):
91376        * page/DOMWindow.h:
91377        * page/DOMWindow.idl:
91378        * page/PageGroup.cpp:
91379        (WebCore::PageGroup::idbFactory):
91380        * page/PageGroup.h:
91381        * platform/chromium/ChromiumBridge.h:
91382        * storage/IDBAny.cpp:
91383        (WebCore::IDBAny::idbFactory):
91384        (WebCore::IDBAny::set):
91385        * storage/IDBAny.h:
91386        (WebCore::IDBAny::):
91387        * storage/IDBDatabaseRequest.cpp:
91388        * storage/IDBFactory.cpp: Added.
91389        (WebCore::IDBFactory::IDBFactory):
91390        (WebCore::IDBFactory::~IDBFactory):
91391        (WebCore::IDBFactory::open):
91392        * storage/IDBFactory.h: Added.
91393        (WebCore::IDBFactory::create):
91394        * storage/IDBFactory.idl: Added.
91395        * storage/IDBFactoryBackendInterface.cpp: Added.
91396        (WebCore::IDBFactoryBackendInterface::create):
91397        * storage/IDBFactoryBackendInterface.h: Added.
91398        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
91399        * storage/IDBFactoryBackendImpl.cpp: Added.
91400        (WebCore::IDBFactoryBackendImpl::create):
91401        (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
91402        (WebCore::IDBFactoryBackendImpl::~IDBFactoryBackendImpl):
91403        (WebCore::IDBFactoryBackendImpl::open):
91404        * storage/IDBFactoryBackendImpl.h: Added.
91405        * storage/IDBKeyRange.cpp:
91406        (WebCore::IDBKeyRange::only):
91407        (WebCore::IDBKeyRange::leftBound):
91408        (WebCore::IDBKeyRange::rightBound):
91409        (WebCore::IDBKeyRange::bound):
91410        * storage/IDBKeyRange.h:
91411        * storage/IDBKeyRange.idl:
91412        * storage/IndexedDatabase.cpp: Removed.
91413        * storage/IndexedDatabase.h: Removed.
91414        * storage/IndexedDatabaseImpl.cpp: Removed.
91415        * storage/IndexedDatabaseImpl.h: Removed.
91416        * storage/IndexedDatabaseRequest.cpp: Removed.
91417        * storage/IndexedDatabaseRequest.h: Removed.
91418        * storage/IndexedDatabaseRequest.idl: Removed.
91419        * storage/chromium/IDBFactoryBackendInterface.cpp: Added.
91420        (WebCore::IDBFactoryBackendInterface::create):
91421        * storage/chromium/IndexedDatabase.cpp: Removed.
91422
914232010-07-29  Alexander Pavlov  <apavlov@chromium.org>
91424
91425        Reviewed by Pavel Feldman.
91426
91427        Web Inspector: Crash on refresh with a comment selected in the Elements panel
91428        https://bugs.webkit.org/show_bug.cgi?id=43183
91429
91430        * inspector/InspectorDOMAgent.cpp:
91431        (WebCore::InspectorDOMAgent::nodeForPath):
91432        * inspector/front-end/ElementsPanel.js:
91433        (WebInspector.ElementsPanel.prototype.reset):
91434
914352010-07-30  Renata Hodovan  <reni@inf.u-szeged.hu>
91436
91437        Reviewed by Nikolas Zimmermann.
91438
91439        feTurbulence is not implemented.
91440        https://bugs.webkit.org/show_bug.cgi?id=5864
91441
91442        This code is based on the previous implementation of
91443        Dirk Schulze, extended with some modification and optimization.
91444
91445        LayoutTests: Updating expected values for turbulence filter.
91446        svg/W3C-SVG-1.1/filters-turb-01-f.svg
91447
91448        * svg/SVGFETurbulenceElement.cpp:
91449        (WebCore::SVGFETurbulenceElement::build):
91450        * svg/graphics/filters/SVGFETurbulence.cpp:
91451        (WebCore::FETurbulence::FETurbulence):
91452        (WebCore::FETurbulence::create):
91453        (WebCore::FETurbulence::PaintingData::PaintingData):
91454        (WebCore::FETurbulence::PaintingData::random):
91455        (WebCore::smoothCurve):
91456        (WebCore::linearInterpolation):
91457        (WebCore::FETurbulence::initPaint):
91458        (WebCore::checkNoise):
91459        (WebCore::FETurbulence::noise2D):
91460        (WebCore::Noise::if):
91461        (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
91462        (WebCore::FETurbulence::apply):
91463        * svg/graphics/filters/SVGFETurbulence.h:
91464        (WebCore::):
91465
914662010-07-29  Martin Robinson  <mrobinson@igalia.com>
91467
91468        Reviewed by Dirk Schulze.
91469
91470        Cairo: Need to implement GraphicsContext::clipConvexPolygon()
91471        https://bugs.webkit.org/show_bug.cgi?id=41308
91472
91473        Implement clipConvexPolygon for Cairo ports and enable new path based
91474        borders for that port as well.
91475
91476        * platform/graphics/cairo/GraphicsContextCairo.cpp:
91477        (WebCore::addConvexPolygonToContext): Add this helper method.
91478        (WebCore::GraphicsContext::drawConvexPolygon): Use the new addConvexPolygonToContext helper.
91479        (WebCore::GraphicsContext::clipConvexPolygon): Implement this method.
91480        * rendering/RenderObject.h: Enable path based borders for Cairo.
91481
914822010-07-29  Ryosuke Niwa  <rniwa@webkit.org>
91483
91484        Reviewed by Darin Adler.
91485
91486        InsertOrderedList does not switch the list type properly when it has an inner list.
91487        https://bugs.webkit.org/show_bug.cgi?id=43166
91488
91489        The bug was caused by forcedCreateList was not set to true when the start and the end
91490        of the selection lies in the same list. Added selectionHasListOfType to fix this problem.
91491
91492        WebKit used not to convert the outer lists even when the list is fully selected.
91493        Corrected this behavior by converting the entire list at once when the list is fully selected.
91494        To decide whether or not a list is fully selected, added currentSelection argument to doApplyForSingleParagraph.
91495
91496        Tests: editing/execCommand/switch-list-type-with-inner-list.html
91497               editing/execCommand/switch-list-type-with-orphaned-li.html
91498
91499        * editing/InsertListCommand.cpp:
91500        (WebCore::InsertListCommand::mergeWithNeighboringLists): Extracted the code to merge lists.
91501        (WebCore::InsertListCommand::selectionHasListOfType): attachment.cgi
91502        (WebCore::InsertListCommand::doApply): Calls selectionHasListOfType.
91503        (WebCore::InsertListCommand::doApplyForSingleParagraph): See above.
91504        (WebCore::InsertListCommand::listifyParagraph): Calls mergeWithNeighboringLists.
91505        * editing/InsertListCommand.h:
91506        * editing/htmlediting.cpp:
91507        (WebCore::canMergeLists): Ensures lists being merged are instances of HTMLElement.
91508        (WebCore::isNodeVisiblyContainedWithin): Works properly when one end is inside the range.
91509
915102010-07-29  Martin Robinson  <mrobinson@igalia.com>
91511
91512        Reviewed by Dirk Schulze.
91513
91514        [Cairo] Bring behavior of paths on the Cairo GraphicsContext into line with the CoreGraphics port
91515        https://bugs.webkit.org/show_bug.cgi?id=41732
91516
91517        Do not apply paths added to the Cairo GraphicsContext, until they are used.
91518        This prevents drawing routines such as fillRect from interacting with any
91519        path which callers are constructing on the GraphicsContext.
91520
91521         This behavior is necessary to close bug https://bugs.webkit.org/show_bug.cgi?id=41308
91522         so tests for that issue will test this fix.
91523
91524        * platform/graphics/cairo/GraphicsContextCairo.cpp:
91525        (WebCore::appendPathToCairoContext): Added. A helper method which adds a path
91526        to a native Cairo context.
91527        (WebCore::setPathOnCairoContext): Added. Like appendPathToCairoContext, but clears the
91528        existing path first.
91529        (WebCore::appendWebCorePathToCairoContext): Added. Like appendPathToCairoContext, but
91530        operates on a WebCore path.
91531        (WebCore::fillCurrentCairoPath): Added. Helper which fills the current cairo context path.
91532        (WebCore::strokeCurrentCairoPath): Added. Helper which strokes the current cairo context path.
91533        (WebCore::GraphicsContext::drawEllipse): Only clear the Cairo path if cairo_stroke
91534        was not called, because cairo_stroke implicitly clears the path.
91535        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
91536        (WebCore::GraphicsContext::fillPath): Copy the path from m_pendingPath to the context
91537        and clear m_pendingPath, instead of relying on the pre-existing context path. Do the
91538        actual fill via the new helper.
91539        (WebCore::GraphicsContext::strokePath): Ditto.
91540        (WebCore::GraphicsContext::drawPath): Ditto.
91541        (WebCore::GraphicsContext::fillRect): Use the new fillCurrentCairoPath helper.
91542        (WebCore::GraphicsContext::drawFocusRing): Use the new appendWebCorePathToCairoContext helper instead
91543        of addPath (which will blow away any path callers are building).
91544        (WebCore::GraphicsContext::addInnerRoundedRectClip): Use the new appendWebCorePathToCairoContext helper instead
91545        of addPath (which will blow away any path callers are building).
91546        (WebCore::GraphicsContext::strokeRect): Use the new strokeCurrentCairoPath helper.
91547        (WebCore::GraphicsContext::beginPath): Clear out m_pendingPath here instead of the main native context.
91548        (WebCore::GraphicsContext::addPath): Add the path to m_pendingPath instead of the main native context.
91549        Also ensure that the transformation matrix of the m_pendingPath is equal to that of the main
91550        cairo context.
91551        (WebCore::GraphicsContext::clipOut): Use the appendWebCorePathToCairoContext helper here.
91552        (WebCore::GraphicsContext::fillRoundedRect): Ditto and remove an unnecessary beginPath call.
91553        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Add a new m_pendingPath member.
91554
915552010-07-29  Sheriff Bot  <webkit.review.bot@gmail.com>
91556
91557        Unreviewed, rolling out r64313.
91558        http://trac.webkit.org/changeset/64313
91559        https://bugs.webkit.org/show_bug.cgi?id=43233
91560
91561        Some Chromium bots are not happy with it for some unknown
91562        reason. (Requested by dumi on #webkit).
91563
91564        * bindings/js/JSCustomVoidCallback.cpp:
91565        (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
91566        * bindings/scripts/CodeGeneratorJS.pm:
91567        * bindings/scripts/test/JS/JSTestCallback.cpp:
91568        (WebCore::JSTestCallback::~JSTestCallback):
91569        * platform/sql/SQLiteDatabase.cpp:
91570        (WebCore::SQLiteDatabase::SQLiteDatabase):
91571        (WebCore::SQLiteDatabase::close):
91572        (WebCore::SQLiteDatabase::lock):
91573        (WebCore::SQLiteDatabase::unlock):
91574        * platform/sql/SQLiteDatabase.h:
91575        * platform/sql/SQLiteStatement.cpp:
91576        (WebCore::SQLiteStatement::prepare):
91577        (WebCore::SQLiteStatement::step):
91578        * storage/AbstractDatabase.cpp:
91579        * storage/AbstractDatabase.h:
91580        * storage/DatabaseTracker.cpp:
91581        * storage/DatabaseTracker.h:
91582        * storage/SQLStatement.cpp:
91583        (WebCore::SQLStatement::execute):
91584        * storage/SQLStatementSync.cpp:
91585        (WebCore::SQLStatementSync::execute):
91586        * storage/SQLTransaction.cpp:
91587        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
91588        (WebCore::SQLTransaction::performNextStep):
91589        (WebCore::SQLTransaction::performPendingCallback):
91590        (WebCore::SQLTransaction::deliverTransactionCallback):
91591        (WebCore::SQLTransaction::postflightAndCommit):
91592        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
91593        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
91594        * storage/SQLTransaction.h:
91595        * storage/chromium/DatabaseTrackerChromium.cpp:
91596        * workers/WorkerThread.cpp:
91597        (WebCore::WorkerThread::stop):
91598
915992010-07-29  Martin Robinson  <mrobinson@igalia.com>
91600
91601        Unreviewed, rolling out r64318.
91602        http://trac.webkit.org/changeset/64318
91603        https://bugs.webkit.org/show_bug.cgi?id=41732
91604
91605        This change broke many tests.
91606
91607        * platform/graphics/cairo/GraphicsContextCairo.cpp:
91608        (WebCore::GraphicsContext::drawEllipse):
91609        (WebCore::GraphicsContext::drawConvexPolygon):
91610        (WebCore::GraphicsContext::fillPath):
91611        (WebCore::GraphicsContext::strokePath):
91612        (WebCore::GraphicsContext::drawPath):
91613        (WebCore::GraphicsContext::drawFocusRing):
91614        (WebCore::GraphicsContext::addInnerRoundedRectClip):
91615        (WebCore::GraphicsContext::beginPath):
91616        (WebCore::GraphicsContext::addPath):
91617        (WebCore::GraphicsContext::clipOut):
91618        (WebCore::GraphicsContext::fillRoundedRect):
91619        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
91620
916212010-07-29  Martin Robinson  <mrobinson@igalia.com>
91622
91623        Reviewed by Dirk Schulze.
91624
91625        [Cairo] Bring behavior of paths on the Cairo GraphicsContext into line with the CoreGraphics port
91626        https://bugs.webkit.org/show_bug.cgi?id=41732
91627
91628        Do not apply paths added to the Cairo GraphicsContext, until they are used.
91629        This prevents drawing routines such as fillRect from interacting with any
91630        path which callers are constructing on the GraphicsContext.
91631
91632         This behavior is necessary to close bug https://bugs.webkit.org/show_bug.cgi?id=41308
91633         so tests for that issue will test this fix.
91634
91635        * platform/graphics/cairo/GraphicsContextCairo.cpp:
91636        (WebCore::appendPathToCairoContext): Added. A helper method which adds a path
91637        to a native Cairo context.
91638        (WebCore::setPathOnCairoContext): Added. Like appendPathToCairoContext, but clears the
91639        existing path first.
91640        (WebCore::appendWebCorePathToCairoContext): Added. Like appendPathToCairoContext, but
91641        operates on a WebCore path.
91642        (WebCore::GraphicsContext::drawEllipse): Only clear the Cairo path if cairo_stroke
91643        was not called, because cairo_stroke implicitly clears the path.
91644        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
91645        (WebCore::GraphicsContext::fillPath): Copy the path from m_pendingPath to the context
91646        and clear m_pendingPath, instead of relying on the pre-existing context path.
91647        (WebCore::GraphicsContext::strokePath): Ditto.
91648        (WebCore::GraphicsContext::drawPath): Ditto.
91649        (WebCore::GraphicsContext::drawFocusRing): Use the new appendWebCorePathToCairoContext helper instead
91650        of addPath (which will blow away any path callers are building).
91651        (WebCore::GraphicsContext::addInnerRoundedRectClip): Use the new appendWebCorePathToCairoContext helper instead
91652        of addPath (which will blow away any path callers are building).
91653        (WebCore::GraphicsContext::beginPath): Clear out m_pendingPath here instead of the main native context.
91654        (WebCore::GraphicsContext::addPath): Add the path to m_pendingPath instead of the main native context.
91655        Also ensure that the transformation matrix of the m_pendingPath is equal to that of the main
91656        cairo context.
91657        (WebCore::GraphicsContext::clipOut): Use the appendWebCorePathToCairoContext helper here.
91658        (WebCore::GraphicsContext::fillRoundedRect): Ditto and remove an unnecessary beginPath call.
91659        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Add a new m_pendingPath member.
91660
916612010-07-29  Martin Robinson  <mrobinson@igalia.com>
91662
91663        Reviewed by Dirk Schulze.
91664
91665        [Cairo] Remove setStrokeStyle workaround for InlineTextBoxes
91666        https://bugs.webkit.org/show_bug.cgi?id=43136
91667
91668        Remove workaround added in https://bugs.webkit.org/show_bug.cgi?id=15659
91669        to fix stroke style for InlineTextBox underlines.
91670
91671        No new tests as this should not change functionality.
91672
91673        * platform/graphics/cairo/GraphicsContextCairo.cpp:
91674        (WebCore::GraphicsContext::drawLineForText): Remove old workaround.
91675
916762010-07-28  Dumitru Daniliuc  <dumi@chromium.org>
91677
91678        Reviewed by David Levin.
91679
91680        Interrupt all DB operations when the worker is terminating.
91681        https://bugs.webkit.org/show_bug.cgi?id=42843
91682
91683        Tests: fast/workers/storage/interrupt-database-sync.html
91684               fast/workers/storage/interrupt-database.html
91685
91686        * bindings/js/JSCustomVoidCallback.cpp:
91687        (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback): If the
91688        destructor is called on the context thread, delete m_data directly
91689        instead of posting a task to do that. We need to do that to make
91690        sure that all JS objects are destroyed before
91691        WorkerThreadShutdownFinishTask (in WorkerThread.cpp) calls
91692        WorkerContext::clearScript().
91693
91694        * bindings/scripts/CodeGeneratorJS.pm: Same change as above, for
91695        all auto-generated callbacks.
91696
91697        * bindings/scripts/test/JS/JSTestCallback.cpp:
91698        (WebCore::JSTestCallback::~JSTestCallback): Updated the
91699        expectations for run-bindings-tests.
91700
91701        * platform/sql/SQLiteDatabase.cpp: Added the ability to interrupt
91702        all DB operations in progress, unless the database was closed or
91703        is being closed. Unlike sqlite3_interrupt(),
91704        SQLiteDatabase::interrupt() is sticky: once it's called, trying to
91705        run any statement on that database will fail with a
91706        SQLITE_INTERRUPT error code.
91707        (WebCore::SQLiteDatabase::SQLiteDatabase):
91708        (WebCore::SQLiteDatabase::close):
91709        (WebCore::SQLiteDatabase::interrupt):
91710        (WebCore::SQLiteDatabase::isInterrupted):
91711
91712        * platform/sql/SQLiteDatabase.h: Added a mutex that can used by
91713        SQLiteStatement to check if the database was interrupted.
91714        (WebCore::SQLiteDatabase::databaseMutex):
91715
91716        * platform/sql/SQLiteStatement.cpp: Changed prepare() and step()
91717        to check if the database was interrupted, before trying to prepare
91718        or run the statement. The other methods don't need to hold on to
91719        the DB lock while running, because they're fast, so we don't need
91720        to interrupt them.
91721        (WebCore::SQLiteStatement::prepare):
91722        (WebCore::SQLiteStatement::step):
91723
91724        * storage/AbstractDatabase.cpp: Made SQLiteDatabase::interrupt()
91725        and isInterrupted() visible to WebSQLDatabases classes.
91726        (WebCore::AbstractDatabase::interrupt):
91727        (WebCore::AbstractDatabase::isInterrupted):
91728        * storage/AbstractDatabase.h:
91729
91730        * storage/DatabaseTracker.cpp: Added a method to interrupt all
91731        databases in a given context.
91732        (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
91733        * storage/DatabaseTracker.h:
91734
91735        * storage/SQLStatement.cpp: Changed the exception/error reported
91736        when a statement is interrupted.
91737        (WebCore::SQLStatement::execute):
91738        * storage/SQLStatementSync.cpp:
91739        (WebCore::SQLStatementSync::execute):
91740
91741        * storage/SQLTransaction.cpp: Changed the code to release the
91742        callback objects as soon as they're not needed.
91743        (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
91744        Changed this method to not schedule the next transaction step when
91745        the database is interrupted.
91746        (WebCore::SQLTransaction::performNextStep):
91747        (WebCore::SQLTransaction::performPendingCallback):
91748        (WebCore::SQLTransaction::deliverTransactionCallback):
91749        (WebCore::SQLTransaction::postflightAndCommit):
91750        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
91751        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
91752        * storage/SQLTransaction.h:
91753
91754        * storage/chromium/DatabaseTrackerChromium.cpp: Added a method to
91755        interrupt all databases in a given context.
91756        (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
91757
91758        * workers/WorkerThread.cpp:
91759        (WebCore::WorkerThread::stop): Added a call to
91760        DatabaseTracker::interruptAllDatabasesForContext().
91761
917622010-07-29  Bernhard Bauer  <bauerb@chromium.org>
91763
91764        Reviewed by Darin Fisher.
91765
91766        Check if plugins are allowed before creating a Java applet.
91767        https://bugs.webkit.org/show_bug.cgi?id=43196
91768
91769        * loader/SubframeLoader.cpp:
91770        (WebCore::SubframeLoader::createJavaAppletWidget):
91771
917722010-07-29  James Robinson  <jamesr@chromium.org>
91773
91774        Reviewed by Simon Fraser.
91775
91776        Ask a canvas' rendering context if it is accelerated instead tying it directly to webgl
91777        https://bugs.webkit.org/show_bug.cgi?id=43206
91778
91779        This unifies the logic for whether a canvas is accelerated or not into one place
91780        and makes it easier to expand the logic in the future to, for example, cover some
91781        2d canvases.
91782
91783        Just a refactoring, no change in behavior so no new tests.
91784
91785        * html/canvas/CanvasRenderingContext.h:
91786        (WebCore::CanvasRenderingContext::isAccelerated):
91787        * html/canvas/WebGLRenderingContext.h:
91788        (WebCore::WebGLRenderingContext::isAccelerated):
91789        * rendering/RenderHTMLCanvas.cpp:
91790        (WebCore::RenderHTMLCanvas::requiresLayer):
91791        * rendering/RenderLayerCompositor.cpp:
91792        (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
91793
917942010-07-29  Anders Carlsson  <andersca@apple.com>
91795
91796        Reviewed by Sam Weinig.
91797
91798        Implement NPN_Status
91799        https://bugs.webkit.org/show_bug.cgi?id=43205
91800
91801        * WebCore.exp.in:
91802        Export Chrome::setStatusText.
91803
918042010-07-29  Victor Wang  <victorw@chromium.org>
91805
91806        Unreviewed, rolling out r64270.
91807        http://trac.webkit.org/changeset/64270
91808        https://bugs.webkit.org/show_bug.cgi?id=39589
91809
91810        The patch breaks chromium webkit unittest
91811
91812        * WebCore.exp.in:
91813        * WebCore.xcodeproj/project.pbxproj:
91814        * dom/DeviceOrientationClient.h:
91815        (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
91816        * dom/DeviceOrientationController.cpp:
91817        (WebCore::DeviceOrientationController::DeviceOrientationController):
91818        * dom/DeviceOrientationEvent.cpp:
91819        * platform/mock/DeviceOrientationClientMock.cpp: Removed.
91820        * platform/mock/DeviceOrientationClientMock.h: Removed.
91821
918222010-07-29  Simon Fraser  <simon.fraser@apple.com>
91823
91824        Reviewed by Darin Adler.
91825
91826        Resizer control does not paint in otherwise empty compositing layer
91827        https://bugs.webkit.org/show_bug.cgi?id=42306
91828        
91829        Ensure that we create backing store for an empty element with resize: both,
91830        in order to render the resizer control.
91831
91832        Test: compositing/overflow/resize-painting.html
91833
91834        * rendering/RenderLayerBacking.h:
91835        * rendering/RenderLayerBacking.cpp:
91836        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Check for hasOverflowControls()
91837        earlier, before any child checks.
91838        (WebCore::RenderLayerBacking::hasNonCompositingDescendants): Renamed from hasNonCompositingContent()
91839        to clarify its purpose.
91840
918412010-07-29  Adam Roben  <aroben@apple.com>
91842
91843        Remove WKCACFLayer::Lanczos
91844
91845        This member is also unused.
91846
91847        Rubber-stamped in advance by John Sullivan.
91848
91849        * platform/graphics/win/WKCACFLayer.cpp:
91850        (WebCore::toCACFFilterType):
91851        (WebCore::fromCACFFilterType):
91852        * platform/graphics/win/WKCACFLayer.h:
91853        (WebCore::WKCACFLayer::):
91854
918552010-07-29  Adam Roben  <aroben@apple.com>
91856
91857        Remove some unused WKCACFLayer members
91858
91859        Fixes <http://webkit.org/b/43200> WKCACFLayer has some unused members
91860
91861        Reviewed by John Sullivan.
91862
91863        * platform/graphics/win/WKCACFLayer.h: Removed [set]ClearsContext,
91864        [set]Filters, and [set]SortsSublayers.
91865
918662010-07-28  Justin Schuh  <jschuh@chromium.org>
91867
91868        Reviewed by Nate Chapin.
91869
91870        Clear PluginData's page pointer on Page destruction
91871        https://bugs.webkit.org/show_bug.cgi?id=43147
91872
91873        Test: plugins/access-after-page-destroyed.html
91874
91875        * page/Page.cpp:
91876        (WebCore::Page::~Page):
91877
918782010-07-29  Simon Fraser  <simon.fraser@apple.com>
91879
91880        Reviewed by Darin Adler.
91881
91882        SHOULD NEVER BE REACHED assertion when switching tabs with composited content
91883        https://bugs.webkit.org/show_bug.cgi?id=43167
91884
91885        When the root layer becomes unattached (e.g. when switching tabs), don't return
91886        'false' from paintingGoesToWindow() because that will cause a -setNeedsDispay, which
91887        both allocates wasteful backing store, and causes an assertion when we try to
91888        paint the layer.
91889        
91890        Test: manual-tests/compositing/assert-on-tab-switch.html: Added.
91891        
91892        * rendering/RenderLayerBacking.cpp:
91893        (WebCore::RenderLayerBacking::paintingGoesToWindow):
91894
918952010-07-29  Simon Fraser  <simon.fraser@apple.com>
91896
91897        Reviewed by Pavel Feldman.
91898
91899        Crash when computing pseudo-style of a vanished scrollbar in inspector
91900        https://bugs.webkit.org/show_bug.cgi?id=42561
91901        
91902        When a styled overflow:scroll scrollbar gets destroyed, we need to clear out the m_owner pointer,
91903        otherwise the event handling code (which keeps the Scrollbar alive) later causes the scrollbar
91904        to try to use m_owner to get pseudo style.
91905
91906        Test: scrollbars/overflow-custom-scrollbar-crash.html
91907
91908        * rendering/RenderLayer.cpp:
91909        (WebCore::RenderLayer::destroyScrollbar): If this is a custom scrollbar, clear the owning renderer.
91910        * rendering/RenderScrollbar.cpp:
91911        (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Bail if m_owner is 0.
91912        * rendering/RenderScrollbar.h:
91913        (WebCore::RenderScrollbar::clearOwningRenderer): New method.
91914
919152010-07-29  Nikolas Zimmermann  <nzimmermann@rim.com>
91916
91917        Not reviewed. Fix release builds, by removing unused variables, that only served for ASSERTs that are no longer needed.
91918
91919        * rendering/SVGRenderSupport.cpp:
91920        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
91921        (WebCore::SVGRenderSupport::pointInClippingArea):
91922
919232010-07-29  Nikolas Zimmermann  <nzimmermann@rim.com>
91924
91925        Not reviewed. Fix build warning about unreachable code, seen on the windows slave.
91926
91927        * rendering/RenderSVGContainer.cpp:
91928        (WebCore::RenderSVGContainer::selfWillPaint):
91929        * rendering/RenderSVGRoot.cpp:
91930        (WebCore::RenderSVGRoot::selfWillPaint):
91931
919322010-07-29  Nikolas Zimmermann  <nzimmermann@rim.com>
91933
91934        Reviewed by Dirk Schulze.
91935
91936        WebKit shouldn't ignore resource cycles, but break them as Opera does
91937        https://bugs.webkit.org/show_bug.cgi?id=43031
91938
91939        mask images are not updated when render objects' bounds change
91940        https://bugs.webkit.org/show_bug.cgi?id=15124
91941
91942        SVG Gradients do not resize correctly
91943        https://bugs.webkit.org/show_bug.cgi?id=41902
91944
91945        svg/dynamic-updates: SVGMarkerElement markerHeight/Width tests are broken
91946        https://bugs.webkit.org/show_bug.cgi?id=42616
91947
91948        svg/dynamic-updates: SVGMaskElement tests are all broken
91949        https://bugs.webkit.org/show_bug.cgi?id=42617
91950
91951        Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.
91952
91953        We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
91954        node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
91955        to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).
91956
91957        Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
91958        Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
91959        from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
91960        which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
91961        objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
91962        phase begins.
91963
91964        Add destroy/styleDidChange/updateFromElement methods to all SVG renderers, in order to keep track of resource/client changes in the SVGResourcesCache.
91965        As side-effect the SVGResourcesCache now knows which RenderObject references which resource, and thus can handle client registration for a RenderSVGResourceContainer.
91966        The RenderSVGResourceContainer now holds a HashSet of RenderObjects, that's always up2date, and not related to the fact wheter a resources has already been used
91967        for painting. The old logic missed to register clients for a resource, when the resource was in an invalid state. Fixing that fixes the svg/dynamic-updates/SVGMaskElement* tests.
91968
91969        Rewrite all svg/custom/recursive-(filter|gradient|mask|pattern).svg tests to contain a reference image how it should be renderered. All 1:1 compatible with Opera now.
91970
91971        * rendering/RenderForeignObject.cpp:
91972        (WebCore::RenderForeignObject::layout): Grab selfNeedsLayout() before calling RenderBlock::layout(), otherwhise it's always false.
91973        * rendering/RenderPath.cpp: Don't look up resources manually, use SVGResourcesCache.
91974        (WebCore::RenderPath::fillContains): Remove constness, to avoid the need to pass around const RenderObjects* to the SVGResourcesCache.
91975        (WebCore::RenderPath::strokeContains): Ditto.
91976        (WebCore::RenderPath::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
91977        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Remove special client handling for markers, it's all unified now.
91978        (WebCore::RenderPath::styleWillChange): Only call setNeedsBoundariesUpdate when handling StyleDifferenceRepaint/Layout.
91979        * rendering/RenderPath.h:
91980        * rendering/RenderSVGBlock.cpp:
91981        (WebCore::RenderSVGBlock::destroy): Forward to SVGResourcesCache::clientDestroyed.
91982        (WebCore::RenderSVGBlock::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
91983        (WebCore::RenderSVGBlock::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
91984        * rendering/RenderSVGBlock.h:
91985        * rendering/RenderSVGContainer.cpp:
91986        (WebCore::RenderSVGContainer::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
91987        (WebCore::RenderSVGContainer::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
91988        * rendering/RenderSVGContainer.h:
91989        * rendering/RenderSVGGradientStop.cpp:
91990        (WebCore::RenderSVGGradientStop::styleDidChange): Rewrite, as invalidateResourceClients() is gone.
91991        * rendering/RenderSVGHiddenContainer.h: Make layout() protected, as RenderSVGResourceContainer overrides it.
91992        * rendering/RenderSVGImage.cpp:
91993        (WebCore::RenderSVGImage::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
91994        (WebCore::RenderSVGImage::destroy): Forward to SVGResourcesCache::clientDestroyed.
91995        (WebCore::RenderSVGImage::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
91996        (WebCore::RenderSVGImage::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
91997        (WebCore::RenderSVGImage::imageChanged): Don't look up resources manually, use SVGResourcesCache.
91998        * rendering/RenderSVGImage.h:
91999        * rendering/RenderSVGInline.cpp:
92000        (WebCore::RenderSVGInline::destroy): Forward to SVGResourcesCache::clientDestroyed.
92001        (WebCore::RenderSVGInline::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
92002        (WebCore::RenderSVGInline::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
92003        * rendering/RenderSVGInline.h:
92004        * rendering/RenderSVGModelObject.cpp:
92005        (WebCore::RenderSVGModelObject::destroy): Forward to SVGResourcesCache::clientDestroyed.
92006        (WebCore::RenderSVGModelObject::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
92007        (WebCore::RenderSVGModelObject::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
92008        * rendering/RenderSVGModelObject.h:
92009        * rendering/RenderSVGResource.cpp:
92010        (WebCore::RenderSVGResource::fillPaintingResource): Remove const from RenderObject parameter.
92011        (WebCore::RenderSVGResource::strokePaintingResource): Ditto.
92012        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): Early exit if we found the first parent resource.
92013        * rendering/RenderSVGResource.h:
92014        * rendering/RenderSVGResourceClipper.cpp:
92015        (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper): Early exit if m_clipper is empty.
92016        (WebCore::RenderSVGResourceClipper::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
92017        (WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
92018        (WebCore::RenderSVGResourceClipper::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
92019        (WebCore::RenderSVGResourceClipper::createClipData): Don't look up resources manually, use SVGResourcesCache.
92020        (WebCore::RenderSVGResourceClipper::hitTestClipContent): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
92021        * rendering/RenderSVGResourceClipper.h:
92022        * rendering/RenderSVGResourceContainer.cpp:
92023        (WebCore::svgExtensionsFromNode):
92024        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop registering resource from the constructor, delegate to styleDidChange.
92025        (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer): Only deregister resource if it was ever registered.
92026        (WebCore::RenderSVGResourceContainer::layout): invalidateClients() here, to avoid the need for invalidateResourceClients() in the SVG DOM. Just call setNeedsLayout() from the SVG DOM.
92027        (WebCore::RenderSVGResourceContainer::destroy): Forward to SVGResourcesCache::resourceDestroyed.
92028        (WebCore::RenderSVGResourceContainer::styleDidChange): Register resource not in the constructor but when it first receives style.
92029        (WebCore::RenderSVGResourceContainer::idChanged): Don't duplicate code, use existing methods from SVGResourcesCache.
92030        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation): Add new helper function, to share code between all resources.
92031        (WebCore::RenderSVGResourceContainer::markClientForInvalidation): Ditto.
92032        (WebCore::RenderSVGResourceContainer::addClient): SVGResourcesCache now manages the list of clients. It calls addClient() for each RenderObject that uses this resource.
92033        (WebCore::RenderSVGResourceContainer::removeClient): SVGResourcesCache now manages the list of clients.
92034        (WebCore::RenderSVGResourceContainer::registerResource): New helper function sharing code between idChanged / styleDidChange.
92035        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): Add FIXME that the function is misplaced.
92036        * rendering/RenderSVGResourceContainer.h: Move most functions to the new RenderSVGResourceContainer.cpp file.
92037        * rendering/RenderSVGResourceFilter.cpp:
92038        (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter): Early exit if m_filter is empty.
92039        (WebCore::RenderSVGResourceFilter::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
92040        (WebCore::RenderSVGResourceFilter::invalidateClient): Ditto.
92041        * rendering/RenderSVGResourceGradient.cpp:
92042        (WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient): Early exit if m_gradient is empty.
92043        (WebCore::RenderSVGResourceGradient::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
92044        (WebCore::RenderSVGResourceGradient::invalidateClient): Ditto.
92045        * rendering/RenderSVGResourceMarker.cpp:
92046        (WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker): Now a no-op, markers are unified within the new client handling concept, no more special code needed.
92047        (WebCore::RenderSVGResourceMarker::layout): As RenderSVGResourceMarker skips the RenderSVGResourceContainer::layout() method, we also need to call invalidateClients() here.
92048        (WebCore::RenderSVGResourceMarker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
92049        (WebCore::RenderSVGResourceMarker::invalidateClient): Ditto.
92050        (WebCore::RenderSVGResourceMarker::draw): Remove marker specific logic to catch circular references.
92051        * rendering/RenderSVGResourceMarker.h:
92052        * rendering/RenderSVGResourceMasker.cpp:
92053        (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker): Early exit if m_masker is empty.
92054        (WebCore::RenderSVGResourceMasker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
92055        (WebCore::RenderSVGResourceMasker::invalidateClient): Ditto.
92056        (WebCore::RenderSVGResourceMasker::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
92057        * rendering/RenderSVGResourceMasker.h:
92058        * rendering/RenderSVGResourcePattern.cpp:
92059        (WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern): Early exit if m_pattern is empty.
92060        (WebCore::RenderSVGResourcePattern::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
92061        (WebCore::RenderSVGResourcePattern::invalidateClient): Ditto.
92062        (WebCore::RenderSVGResourcePattern::createTileImage): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
92063        * rendering/RenderSVGResourcePattern.h:
92064        * rendering/RenderSVGRoot.cpp:
92065        (WebCore::RenderSVGRoot::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
92066        (WebCore::RenderSVGRoot::destroy): Forward to SVGResourcesCache::clientDestroyed.
92067        (WebCore::RenderSVGRoot::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
92068        (WebCore::RenderSVGRoot::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
92069        * rendering/RenderSVGRoot.h:
92070        * rendering/RenderSVGText.cpp:
92071        (WebCore::RenderSVGText::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
92072        * rendering/RenderSVGText.h:
92073        * rendering/SVGInlineTextBox.cpp:
92074        (WebCore::SVGInlineTextBox::acquirePaintingResource): Add RenderObject* parameter, don't assume the style comes from the InlineTextBox parent renderer.
92075        (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Pass the parent()->renderer() to acquirePaintingResource.
92076        (WebCore::SVGInlineTextBox::paintDecoration): Pass the decoration renderer to acquirePaintingResource.
92077        (WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto.
92078        (WebCore::SVGInlineTextBox::paintText): When a selection pseudo style is used to paint the selection, swap styles in the SVGResourcesCache, to take the right resources when painting.
92079        * rendering/SVGInlineTextBox.h:
92080        * rendering/SVGRenderSupport.cpp:
92081        (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Don't look up resources manually, use SVGResourcesCache.
92082        (WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
92083        (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
92084        (WebCore::SVGRenderSupport::pointInClippingArea): Remove const from RenderObject parameter. 
92085        * rendering/SVGRenderSupport.h:
92086        * rendering/SVGRenderTreeAsText.cpp:
92087        (WebCore::writeStyle): Add two const_cast now that fill/strokePaintingResource take RenderObject* parameters. This was the less intrusive approach, otherwhise more const_casts would be needed.
92088        (WebCore::writeResources): Add FIXME that we should dump the resources present in the SVGResourcesCache instead of manually looking them up from the SVGRenderStyle, to avoid dumping cycles.
92089        * rendering/SVGResourcesCache.cpp:
92090        (WebCore::SVGResourcesCache::clientStyleChanged): Use markForLayoutAndParentResourceInvalidation() instead of duplicating code.
92091        * rendering/SVGResourcesCycleSolver.cpp:
92092        (WebCore::setFollowLinkForChainableResource): Implemented stub method.
92093        * rendering/style/SVGRenderStyle.cpp:
92094        (WebCore::SVGRenderStyle::diff): Return StyleDifferenceLayout, not Repaint for stroke paint changes, otherwhise the cached boundaries are not correctly updated.
92095        * svg/SVGClipPathElement.cpp:
92096        (WebCore::SVGClipPathElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92097        (WebCore::SVGClipPathElement::childrenChanged): Ditto.
92098        * svg/SVGClipPathElement.h:
92099        (WebCore::SVGClipPathElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
92100        * svg/SVGElement.cpp:
92101        (WebCore::SVGElement::insertedIntoDocument): Only execute buildPendingResource() logic, if needsPendingResourceHandling() returns true. Cleaned up code a bit, to deploy early returns.
92102        * svg/SVGElement.h:
92103        (WebCore::SVGElement::needsPendingResourceHandling): Return true (default). Only needed by SVGTextPathElement/SVGUseElement, and should be removed in future.
92104        * svg/SVGFilterElement.cpp:
92105        (WebCore::SVGFilterElement::SVGFilterElement): Initialize m_followLink=true.
92106        (WebCore::SVGFilterElement::setFilterRes): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92107        (WebCore::SVGFilterElement::svgAttributeChanged): Ditto.
92108        (WebCore::SVGFilterElement::childrenChanged): Ditto.
92109        * svg/SVGFilterElement.h:
92110        (WebCore::SVGFilterElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
92111        (WebCore::SVGFilterElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
92112        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
92113        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): Don't use invalidateResourceClients(), it's a no-op as effects don't have a renderer -> use invalidateFilter().
92114        * svg/SVGFilterPrimitiveStandardAttributes.h:
92115        (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92116        * svg/SVGGradientElement.cpp:
92117        (WebCore::SVGGradientElement::SVGGradientElement): Initialize m_followLink=true.
92118        (WebCore::SVGGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92119        (WebCore::SVGGradientElement::childrenChanged): Ditto.
92120        * svg/SVGGradientElement.h:
92121        (WebCore::SVGGradientElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
92122        (WebCore::SVGGradientElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
92123        * svg/SVGLinearGradientElement.cpp:
92124        (WebCore::SVGLinearGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92125        (WebCore::SVGLinearGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
92126        * svg/SVGMarkerElement.cpp:
92127        (WebCore::SVGMarkerElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92128        (WebCore::SVGMarkerElement::childrenChanged): Ditto.
92129        (WebCore::SVGMarkerElement::setOrientToAuto): Ditto.
92130        (WebCore::SVGMarkerElement::setOrientToAngle): Ditto.
92131        * svg/SVGMarkerElement.h:
92132        (WebCore::SVGMarkerElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
92133        * svg/SVGMaskElement.cpp:
92134        (WebCore::SVGMaskElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92135        (WebCore::SVGMaskElement::childrenChanged): Ditto.
92136        * svg/SVGMaskElement.h:
92137        (WebCore::SVGMaskElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
92138        * svg/SVGPatternElement.cpp:
92139        (WebCore::SVGPatternElement::SVGPatternElement): Initialize m_followLink=true.
92140        (WebCore::SVGPatternElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92141        (WebCore::SVGPatternElement::childrenChanged): Ditto.
92142        (WebCore::SVGPatternElement::collectPatternProperties): Only follow xlink:href links if m_followLinks == true.
92143        * svg/SVGPatternElement.h:
92144        (WebCore::SVGPatternElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
92145        (WebCore::SVGPatternElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
92146        * svg/SVGRadialGradientElement.cpp:
92147        (WebCore::SVGRadialGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
92148        (WebCore::SVGRadialGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
92149        * svg/SVGStyledElement.cpp:
92150        (WebCore::SVGStyledElement::attach): Call updateFromElement upon attach(), needed by all resource renderers. Defaults to a no-op in RenderObject.h
92151        * svg/SVGStyledElement.h: Remove invalidateResourceClients(), it's not needed anymore.
92152
921532010-07-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
92154
92155        Reviewed by Kenneth Rohde Christiansen.
92156
92157        [EFL] Support to enable WML in WebKit EFL
92158        https://bugs.webkit.org/show_bug.cgi?id=43178
92159
92160        WebKit EFL cannot enable WML. WML files are added to CMakeLists.txt
92161        to enable WML in WebKit EFL.
92162
92163        * CMakeLists.txt: Support to enable WML.
92164
921652010-07-21 Grace Kloba  <klobag@gmail.com> , Antonio Gomes  <tonikitoo@webkit.org>
92166
92167        Reviewed by David Hyatt.
92168
92169        Enhance the hit testing to take a rectangle instead of a point
92170        https://bugs.webkit.org/show_bug.cgi?id=40197
92171
92172        The primary goal of this change is to provide mechanisms for more precise tap
92173        actions by the users on mobile devices.
92174
92175        Patch extends the hit testing system to work considering a rectangular area
92176        as input instead of a point, when applicable. For that, the HitTestResult class
92177        was modified to take a padding (IntSize). The padding specifies a fuzzy range for
92178        accepting input events in pixels coordinates for both vertical and horizontal
92179        orientations. In other words, it tells how much to expand the search rect
92180        around a supposed touch point.
92181
92182        If it is non-positive padding (e.g. (-1, -1), (5, -1), (0, 0)), hit testing will behavior
92183        as the current point based hit testing: methods are no-op'ed to not regress it performance-wise
92184        since it is the common behavior. When positive padding is provided, the HitTestResult class will
92185        keep record of all nodes that intersect the built up test area. The logic will continue searching
92186        when it finds a candidate until the hit test area is fully enclosed by the boundaries of a candidate.
92187        The result will be a list of nodes in the z-order they are hit-tested. Caller will decide how
92188        to process them.
92189
92190        In order to expose the functionality, the patch:
92191
92192        - Adds a nodesFromRect method to the Document class, exposing the funcionality
92193        to the DOM. Method returns a NodeList with all nodes that intersect the given
92194        hit-tested area.
92195        - Extends hitTestResultAtPoint method of the EventHandler with an extra 'padding'
92196        parameter, defaulting to IntSize(-1, -1). The rect-based hit test is performed when a
92197        non-negative padding is passed in.
92198
92199        Test: fast/dom/nodesFromRect-basic.html
92200
92201        * WebCore.base.exp:
92202        * dom/Document.cpp:
92203        (WebCore::Document::nodesFromRect): This method exposes the rect based funcionality to
92204        the DOM. It works similarly to elementFromPoint, however receiving a rectangular area
92205        as input instead of a point, and returning a z-index ordered list of nodes (not elements)
92206        whose area intersect the hit test rect.
92207        * dom/Document.h: Ditto.
92208        * dom/Document.idl: Ditto.
92209        * page/EventHandler.cpp:
92210        (WebCore::EventHandler::hitTestResultAtPoint): The funcionality is also exposed through this
92211        method. Patch adds a additional IntSize parameter to work as the padding area, building up
92212        the hit test rect.
92213        * page/EventHandler.h: Ditto.
92214        * rendering/HitTestResult.cpp:
92215        (WebCore::HitTestResult::HitTestResult): Rect based hit test constructor. Receives a
92216        padding IntSize as parameter. It can be (0,0).
92217        (WebCore::HitTestResult::operator=): Modified to assign the m_rectBasedTestResult as well.
92218        (WebCore::HitTestResult::append): Merge to HitTestResult objects in a way that the
92219        list node's of both objects get amended.
92220        (WebCore::HitTestResult::addNodeToRectBasedTestResult): Adds a given Node to the list of
92221        hit nodes.
92222        * rendering/HitTestResult.h:
92223        (WebCore::HitTestResult::padding): Returns the padding as an IntSize.
92224        (WebCore::HitTestResult::isRectBasedTest): Returns if the HitTestResult is rect based or not.
92225        (WebCore::HitTestResult::.rectBasedTestResult): Returns the list nodes hit.
92226        (WebCore::HitTestResult::rectFromPoint): Returns the hit test rect given the hit test point
92227        and padding.
92228        * rendering/RenderLayer.cpp:
92229        (WebCore::RenderLayer::hitTestLayer):
92230        (WebCore::RenderLayer::hitTestList):
92231        (WebCore::RenderLayer::hitTestChildLayerColumns):
92232        * rendering/EllipsisBox.cpp:
92233        (WebCore::EllipsisBox::nodeAtPoint): Method is modified to support rect based hit test extension.
92234        Now it not just checks if the boundary of the node being hit-tested contains a hit test point, but
92235        instead it checks if the boundary of the node intersects a hit test rect. It is implemented so
92236        that the common case (point based hit test) works as previously.
92237        * rendering/InlineFlowBox.cpp:
92238        (WebCore::InlineFlowBox::nodeAtPoint): Ditto.
92239        * rendering/InlineTextBox.cpp:
92240        (WebCore::InlineTextBox::nodeAtPoint): Ditto.
92241        * rendering/RenderBlock.cpp:
92242        (WebCore::RenderBlock::nodeAtPoint): Ditto.
92243        (WebCore::RenderBlock::hitTestColumns): Ditto.
92244        * rendering/RenderBox.cpp:
92245        (WebCore::RenderBox::nodeAtPoint): Ditto.
92246        * rendering/RenderImage.cpp:
92247        (WebCore::RenderImage::nodeAtPoint): Ditto.
92248        * rendering/RenderLineBoxList.cpp:
92249        (WebCore::RenderLineBoxList::hitTest):
92250        * rendering/RenderSVGRoot.cpp:
92251        (WebCore::RenderSVGRoot::nodeAtPoint): Ditto.
92252        * rendering/RenderTable.cpp:
92253        (WebCore::RenderTable::nodeAtPoint): Ditto.
92254        * rendering/RenderTableSection.cpp:
92255        (WebCore::RenderTableSection::nodeAtPoint): Ditto.
92256        * rendering/RenderWidget.cpp:
92257        (WebCore::RenderWidget::nodeAtPoint): Ditto.
92258
922592010-07-29  Steve Block  <steveblock@google.com>
92260
92261        Reviewed by Jeremy Orlow.
92262
92263        Add LayoutTestController methods to test DeviceOrientation
92264        https://bugs.webkit.org/show_bug.cgi?id=39589
92265
92266        This patch does not hook up the new LayoutTestController method to WebKit
92267        for any platform. This will be done in later patches.
92268        https://bugs.webkit.org/show_bug.cgi?id=43181 tracks this for Mac.
92269
92270        Test: fast/dom/DeviceOrientation/basic-operation.html
92271
92272        * WebCore/WebCore.exp.in:
92273        * WebCore.xcodeproj/project.pbxproj:
92274        * dom/DeviceOrientationClient.h:
92275        (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
92276        * dom/DeviceOrientationController.cpp:
92277        (WebCore::DeviceOrientationController::DeviceOrientationController):
92278        * dom/DeviceOrientationEvent.cpp:
92279        * platform/mock/DeviceOrientationClientMock.cpp: Added.
92280        (WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
92281        (WebCore::DeviceOrientationClientMock::setController):
92282        (WebCore::DeviceOrientationClientMock::startUpdating):
92283        (WebCore::DeviceOrientationClientMock::stopUpdating):
92284        (WebCore::DeviceOrientationClientMock::setOrientation):
92285        (WebCore::DeviceOrientationClientMock::timerFired):
92286        * platform/mock/DeviceOrientationClientMock.h: Added.
92287        (WebCore::DeviceOrientationClientMock::lastOrientation):
92288
922892010-07-29  Satish Sampath  <satish@chromium.org>
92290
92291        Reviewed by Steve Block.
92292
92293        Runtime feature switch for speech input.
92294        https://bugs.webkit.org/show_bug.cgi?id=43146
92295
92296        Add a runtime feature switch that decides whether speech input attributes are available or not.
92297        Defaults to true.
92298
92299        * bindings/generic/RuntimeEnabledFeatures.cpp:
92300        * bindings/generic/RuntimeEnabledFeatures.h:
92301        (WebCore::RuntimeEnabledFeatures::setSpeechInputEnabled):
92302        (WebCore::RuntimeEnabledFeatures::speechInputEnabled):
92303        (WebCore::RuntimeEnabledFeatures::speechEnabled):
92304        * html/HTMLInputElement.idl:
92305
923062010-07-27  Alexander Pavlov  <apavlov@chromium.org>
92307
92308        Reviewed by Pavel Feldman.
92309
92310        Inspector should display CDATA section data
92311        https://bugs.webkit.org/show_bug.cgi?id=16259
92312
92313        * inspector/InspectorDOMAgent.cpp:
92314        (WebCore::InspectorDOMAgent::buildObjectForNode):
92315        * inspector/front-end/ElementsTreeOutline.js:
92316        ():
92317
923182010-07-28  Kavita Kanetkar  <kkanetkar@chromium.org>
92319
92320        Reviewed by Pavel Feldman.
92321
92322        Web Inspector: Enable UI for chromium's appcache inspection.
92323        https://bugs.webkit.org/show_bug.cgi?id=43098
92324
92325        * inspector/front-end/Settings.js: Removed appCacheEnabled.
92326        * inspector/front-end/StoragePanel.js: Removed appCacheEnabled condition.
92327        (WebInspector.StoragePanel):
92328        (WebInspector.StoragePanel.prototype.reset):
92329        (WebInspector.StoragePanel.prototype.addApplicationCache):
92330
923312010-07-28  Bryan Gislason  <bgislason@rim.com>
92332
92333        Reviewed by Nate Chapin.
92334
92335        Minor compile errors in loadMediaPlayerProxyPlugin
92336        https://bugs.webkit.org/show_bug.cgi?id=43141
92337
92338        * WebCore/loader/SubframeLoader.cpp:
92339
923402010-07-28  Dominic Mazzoni  <dmazzoni@google.com>
92341
92342        Reviewed by Dimitri Glazkov.
92343
92344        Add a missing dependency.
92345        https://bugs.webkit.org/show_bug.cgi?id=43044
92346
92347        * css/CSSPrimitiveValueMappings.h:
92348
923492010-07-28  Alex Nicolaou  <anicolao@chromium.org>
92350
92351        Reviewed by Ojan Vafai.
92352
92353        Set incorrect but close expectations for mask-colorspace.svg on mac
92354        https://bugs.webkit.org/show_bug.cgi?id=43102
92355
92356        Blocks:
92357          [chromium] r63450 caused some svg mask tests to fail pixel tests
92358          https://bugs.webkit.org/show_bug.cgi?id=42403
92359
92360        ImageBufferCG.cpp uses CoreGraphics to do the transform of SVG masks
92361        into LinearRGB, but only for MAC which means not for CHROMIUM, so I
92362        have changed the #if to account for both platforms. I am assuming this
92363        isn't in for windows because it's missing in CG itself, but I didn't
92364        verify that.
92365
92366        * platform/graphics/cg/ImageBufferCG.cpp:
92367        (WebCore::ImageBuffer::ImageBuffer):
92368
923692010-07-28  Kent Tamura  <tkent@chromium.org>
92370
92371        Reviewed by Darin Fisher.
92372
92373        [Chromium] Improve read-only arrow button appearance
92374        https://bugs.webkit.org/show_bug.cgi?id=43108
92375
92376        No new tests. This is a fix for fast/forms/
92377        input-appearance-spinbutton-disabled-readonly.html
92378
92379        * platform/chromium/PlatformThemeChromiumGtk.cpp:
92380        (WebCore::PlatformThemeChromiumGtk::paintArrowButton):
92381        If the button has ReadOnlyState, paint the button as same as it is disabled.
92382
923832010-07-28  Tony Chang  <tony@chromium.org>
92384
92385        Reviewed by Ojan Vafai.
92386
92387        implement getData('text/html') for webkit win
92388        https://bugs.webkit.org/show_bug.cgi?id=37981
92389
92390        * platform/win/ClipboardUtilitiesWin.cpp:
92391        (WebCore::extractMarkupFromCFHTML):
92392        (WebCore::getCFHTML):
92393        (WebCore::fragmentFromCFHTML):
92394        (WebCore::fragmentFromHTML):
92395        * platform/win/ClipboardUtilitiesWin.h:
92396        * platform/win/ClipboardWin.cpp:
92397        (WebCore::):
92398        (WebCore::clipboardTypeFromMIMEType):
92399        (WebCore::ClipboardWin::getData):
92400
924012010-07-28  Adam Barth  <abarth@webkit.org>
92402
92403        Reviewed by Eric Seidel.
92404
92405        Update numbered header element closing to match recent spec change
92406        https://bugs.webkit.org/show_bug.cgi?id=43072
92407
92408        Pretty straightforward transcription of the spec change.
92409
92410        * html/HTMLElementStack.cpp:
92411        (WebCore::HTMLNames::isNumberedHeaderElement):
92412        (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
92413        (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
92414        (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
92415        * html/HTMLElementStack.h:
92416        * html/HTMLTreeBuilder.cpp:
92417        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
92418        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
92419
924202010-07-28  Anders Carlsson  <andersca@apple.com>
92421
92422        Reviewed by Sam Weinig.
92423
92424        Add support for calling NPObject methods
92425        https://bugs.webkit.org/show_bug.cgi?id=43145
92426
92427        * WebCore.exp.in:
92428        Export JSHTMLElement::s_info and pluginScriptObject.
92429
92430        * WebCore.xcodeproj/project.pbxproj:
92431        Make JSHTMLElement.h and JSPluginElementFunctions.h private headers.
92432
92433        * bindings/js/JSPluginElementFunctions.cpp:
92434        (WebCore::pluginScriptObject):
92435        * bindings/js/JSPluginElementFunctions.h:
92436        Make pluginScriptObject a public function.
92437
924382010-07-28  James Robinson  <jamesr@chromium.org>
92439
92440        Reviewed by Darin Fisher.
92441
92442        [chromium] Add a bool to Settings to control accelerated 2d canvas
92443        https://bugs.webkit.org/show_bug.cgi?id=43094
92444
92445        Currently this doesn't control anything, but it will soon.
92446
92447        * page/Settings.cpp:
92448        (WebCore::Settings::Settings):
92449        (WebCore::Settings::setAccelerated2dCanvasEnabled):
92450        * page/Settings.h:
92451        (WebCore::Settings::accelerated2dCanvasEnabled):
92452
924532010-07-28  Robin Dunn  <robin@alldunn.com>
92454
92455        Reviewed by Kevin Ollivier.
92456
92457        Add DOM bindings support for wx port.
92458
92459        * DerivedSources.make:
92460        * bindings/scripts/CodeGeneratorCPP.pm:
92461        * platform/graphics/wx/FontPlatformDataWx.cpp:
92462        (WebCore::FontPlatformData::FontPlatformData):
92463        * platform/wx/MouseEventWx.cpp:
92464        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
92465        * wscript:
92466
924672010-07-28  Stephen White  <senorblanco@chromium.org>
92468
92469        Reviewed by Darin Fisher.
92470
92471        Hook the GLES2 rendering path up to GraphicsContextSkia.
92472        https://bugs.webkit.org/show_bug.cgi?id=43119
92473        
92474        This connects the state-setting and drawing calls implemented in
92475        so far in GLES2Canvas, and calls PlatformContextSkia's
92476        prepareForSoftwareDraw() for all the non-accelerated paths.
92477
92478        * platform/graphics/skia/GraphicsContextSkia.cpp:
92479        (WebCore::GraphicsContext::addInnerRoundedRectClip):
92480        (WebCore::GraphicsContext::addPath):
92481        (WebCore::GraphicsContext::beginPath):
92482        (WebCore::GraphicsContext::clip):
92483        (WebCore::GraphicsContext::drawConvexPolygon):
92484        (WebCore::GraphicsContext::drawEllipse):
92485        (WebCore::GraphicsContext::drawFocusRing):
92486        (WebCore::GraphicsContext::drawLine):
92487        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
92488        (WebCore::GraphicsContext::drawLineForText):
92489        (WebCore::GraphicsContext::drawRect):
92490        (WebCore::GraphicsContext::fillPath):
92491        (WebCore::GraphicsContext::fillRoundedRect):
92492        (WebCore::GraphicsContext::strokeArc):
92493        (WebCore::GraphicsContext::strokePath):
92494        (WebCore::GraphicsContext::strokeRect):
92495        These calls are software-only; call preSoftwareDraw() for these.
92496        (WebCore::GraphicsContext::savePlatformState):
92497        (WebCore::GraphicsContext::restorePlatformState):
92498        (WebCore::GraphicsContext::setAlpha):
92499        (WebCore::GraphicsContext::setCompositeOperation):
92500        (WebCore::GraphicsContext::setPlatformFillColor):
92501        (WebCore::GraphicsContext::scale):
92502        (WebCore::GraphicsContext::rotate):
92503        (WebCore::GraphicsContext::translate):
92504        (WebCore::GraphicsContext::concatCTM):
92505        These ones set state on both Skia and GLES2Canvas.
92506        (WebCore::GraphicsContext::clearRect):
92507        (WebCore::GraphicsContext::fillRect):
92508        These ones have a GLES2 implementation; call through to it if PlatformContextSkia's useGPU() flag is set and the state permits.
92509        * platform/graphics/skia/PlatformContextSkia.cpp:
92510        (PlatformContextSkia::prepareForSoftwareDraw):
92511        (PlatformContextSkia::prepareForHardwareDraw):
92512        Rename preXXXDraw() -> prepareForXXXDraw().
92513        * platform/graphics/skia/PlatformContextSkia.h:
92514        (PlatformContextSkia::prepareForSoftwareDraw):
92515        (PlatformContextSkia::prepareForHardwareDraw):
92516        Rename preXXXDraw() -> prepareForXXXDraw().
92517
925182010-07-28  fsamuel@chromium.org  <fsamuel@chromium.org>
92519
92520        Reviewed by David Hyatt.
92521
92522        REGRESSION (r63994): Bank of America's home page is horribly mis-rendered
92523        https://bugs.webkit.org/show_bug.cgi?id=42993
92524
92525        Fixed bug introduced by patch for bug 40775.
92526
92527        The new table rendering code did not take into account table layouts starting
92528        during a partial construction of the table render tree. As such,
92529        multiple layouts on the same table resulted in more columns being generated.
92530        This patch solves this issue.
92531
92532        * rendering/AutoTableLayout.cpp:
92533        (WebCore::AutoTableLayout::recalcColumn):
92534        * rendering/RenderTable.cpp:
92535        (WebCore::RenderTable::cellAbove):
92536        (WebCore::RenderTable::cellBelow):
92537        (WebCore::RenderTable::cellBefore):
92538        * rendering/RenderTableSection.cpp:
92539        (WebCore::RenderTableSection::ensureRows):
92540        (WebCore::RenderTableSection::addCell):
92541        (WebCore::RenderTableSection::setCellWidths):
92542        (WebCore::RenderTableSection::calcRowHeight):
92543        (WebCore::RenderTableSection::layoutRows):
92544        (WebCore::RenderTableSection::paintObject):
92545        (WebCore::RenderTableSection::appendColumn):
92546        (WebCore::RenderTableSection::splitColumn):
92547        * rendering/RenderTableSection.h:
92548        (WebCore::RenderTableSection::CellStruct::CellStruct):
92549
925502010-07-28  Tony Gentilcore  <tonyg@chromium.org>
92551
92552        Reviewed by Pavel Feldman.
92553
92554        Exclude DNS and SSL time from connect time
92555        https://bugs.webkit.org/show_bug.cgi?id=43083
92556
92557        The ResourceLoadTiming API's definition of the connect phase includes
92558        DNS and SSL time. However, the Web Timing spec wants just the TCP time.
92559        So this patch subtracts those phases out.
92560
92561        No new tests because ResourceLoadTiming fields are not populated by
92562        TestShell yet.
92563
92564        * page/Timing.cpp:
92565        (WebCore::Timing::connectStart):
92566        (WebCore::Timing::connectEnd):
92567
925682010-07-26  Steve Block  <steveblock@google.com>
92569
92570        Reviewed by Jeremy Orlow.
92571
92572        Page clients should be passed to Page constructor via structure of pointers
92573        https://bugs.webkit.org/show_bug.cgi?id=42834
92574
92575        No new tests, refactoring only.
92576
92577        * WebCore.exp.in:
92578        * page/Page.cpp:
92579        (WebCore::Page::Page):
92580        * page/Page.h:
92581        (WebCore::Page::PageClients::PageClients):
92582        * svg/graphics/SVGImage.cpp:
92583        (WebCore::SVGImage::dataChanged):
92584
925852010-07-28  Xianzhu Wang  <phnixwxz@gmail.com>
92586
92587        Reviewed by Dan Bernstein.
92588
92589        Line not wrapped at certain punctuations
92590        https://bugs.webkit.org/show_bug.cgi?id=37698
92591        Added a line breaking table for all printable ASCII chars to replace
92592        the original line breaking table for only '?'.
92593
92594        Test: fast/text/line-breaks-after-closing-punctuations.html
92595
92596        * rendering/break_lines.cpp:
92597        (WebCore::isBreakableSpace):
92598        (WebCore::):
92599        (WebCore::shouldBreakAfter):
92600        (WebCore::needsLineBreakIterator):
92601
926022010-07-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
92603
92604        Unreviewed build fix.
92605
92606        Fix EFL build with SHARED_CORE=ON after r64124.
92607
92608        * CMakeLists.txt:
92609
926102010-07-28  Jay Civelli  <jcivelli@chromium.org>
92611
92612        Reviewed by Kent Tamura.
92613
92614        [Chromium] The popup now layouts properly its rows by
92615        taking into account the label width.
92616        https://bugs.webkit.org/show_bug.cgi?id=42910
92617
92618        * platform/chromium/PopupMenuChromium.cpp:
92619        (WebCore::PopupListBox::layout):
92620
926212010-07-28  Pavel Feldman  <pfeldman@chromium.org>
92622
92623        Not reviewed: chromium tests fix.
92624        Chromium Dev Tools: [REGRESSION] Pause is not working.
92625
92626        https://bugs.webkit.org/show_bug.cgi?id=43118
92627
92628        * inspector/front-end/InspectorBackendStub.js:
92629
926302010-07-28  Ilya Tikhonovsky  <loislo@chromium.org>
92631
92632        Reviewed by Pavel Feldman.
92633
92634        WebInspector: Navigating to anchor prior to opening WebInspector
92635        makes resource have 'other' type.
92636        https://bugs.webkit.org/show_bug.cgi?id=43110
92637
92638        * inspector/InspectorResource.cpp:
92639        (WebCore::InspectorResource::type):
92640        (WebCore::InspectorResource::resourceData):
92641        * inspector/front-end/ResourceView.js:
92642        (WebInspector.ResourceView.prototype._innerSelectContentTab):
92643
926442010-07-28  Andreas Kling  <andreas.kling@nokia.com>
92645
92646        Reviewed by Kenneth Rohde Christiansen.
92647
92648        [Qt] putImageData(): Combine premultiplication and BGR->RGB
92649        https://bugs.webkit.org/show_bug.cgi?id=43114
92650
92651        Further optimized putImageData() by doing BGR->RGB inside the
92652        premultiplication routine.
92653
92654        * platform/graphics/qt/ImageBufferQt.cpp:
92655        (WebCore::premultiplyABGRtoARGB): Renamed from premultiply.
92656        (WebCore::putImageData):
92657
926582010-07-28  Andrei Popescu  <andreip@google.com>
92659
92660        Reviewed by Jeremy Orlow.
92661
92662        [IndexedDB] IDBKeyRange should be a runtime-enabled feature.
92663        https://bugs.webkit.org/show_bug.cgi?id=43116
92664
92665        IDBKeyRange should be enabled at runtime only when IndexedDB is also
92666        enabled.
92667
92668        No new tests needed, functionality not changed.
92669
92670        * bindings/generic/RuntimeEnabledFeatures.h:
92671        (WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled):
92672        * page/DOMWindow.idl:
92673
926742010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>
92675
92676        Not reviewed. Forgot to land GNUmakefile.am changes, broke build in r64196.
92677
92678        * GNUmakefile.am: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
92679
926802010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>
92681
92682        Reviewed by Dirk Schulze.
92683
92684        SVGMaskElement/SVGForeignObjectElement should not inherit from SVGURIReference
92685        https://bugs.webkit.org/show_bug.cgi?id=43113
92686
92687        Remove wrong SVGURIReference inheritance for SVGMaskElement/SVGForeignObjectElement. Old copy/paste bug.
92688
92689        * svg/SVGForeignObjectElement.cpp:
92690        (WebCore::SVGForeignObjectElement::synchronizeProperty):
92691        * svg/SVGForeignObjectElement.h:
92692        * svg/SVGMaskElement.cpp:
92693        (WebCore::SVGMaskElement::SVGMaskElement):
92694        (WebCore::SVGMaskElement::parseMappedAttribute):
92695        (WebCore::SVGMaskElement::svgAttributeChanged):
92696        (WebCore::SVGMaskElement::synchronizeProperty):
92697        * svg/SVGMaskElement.h:
92698
926992010-07-28  Nikolas Zimmermann  <nzimmermann@rim.com>
92700
92701        Reviewed by Dirk Schulze.
92702
92703        WebKit shouldn't ignore resource cycles, but break them as Opera does
92704        https://bugs.webkit.org/show_bug.cgi?id=43031
92705
92706        Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.
92707
92708        We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
92709        node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
92710        to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).
92711
92712        Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
92713        Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
92714        from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
92715        which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
92716        objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
92717        phase begins.
92718
92719        This is the first chunk, which just adds the new SVGResources/SVGResourcesCache/SVGResourcesCycleSolver files, and does minor cleanups.
92720        It's not yet glued in and doesn't affect any tests.
92721
92722        * Android.mk: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
92723        * CMakeLists.txt: Ditto.
92724        * WebCore.gypi: Ditto.
92725        * WebCore.pro: Ditto.
92726        * WebCore.vcproj/WebCore.vcproj: Ditto. 
92727        * WebCore.xcodeproj/project.pbxproj: Ditto.
92728        * rendering/RenderInline.h: Make styleDidChange protected, RenderSVGInline wants to override it.
92729        * rendering/RenderSVGAllInOne.cpp: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
92730        * rendering/RenderSVGHiddenContainer.h:
92731        (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer): Make isSVGHiddenContainer() private and renderName() public.
92732        * rendering/RenderSVGResourceContainer.cpp: Added. Moved most methods from the header in the implementation file.
92733        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
92734        (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer):
92735        (WebCore::RenderSVGResourceContainer::idChanged):
92736        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
92737        (WebCore::RenderSVGResourceContainer::containsCyclicReference):
92738        * rendering/RenderSVGResourceContainer.h: Add stubs, that SVGResourcesCache uses - a follow-up patch will add the logic.
92739        (WebCore::RenderSVGResourceContainer::addClient):
92740        (WebCore::RenderSVGResourceContainer::removeClient):
92741        * rendering/SVGResources.cpp: Added. Holds a list of resources applyable to a RenderObject (fill/stroke, mask/markers/clipper/filter)
92742        (WebCore::paintingResourceFromSVGPaint): Helper function looking up a RenderSVGResource for a SVGPaint object.
92743        (WebCore::registerPendingResource): Helper function that register a RenderSVGResource as pending in the SVGDocumentExtensions. 
92744        (WebCore::SVGResources::buildCachedResources): Build a list of resources for a RenderObject/RenderStyle pair, handles pending resources, if needed.
92745        (WebCore::SVGResources::invalidateClient): Helper function that calls invalidateClient() on all resources.
92746        (WebCore::SVGResources::resourceDestroyed): Helper function that calls invalidateClients() on a certain resource, and nulls it.
92747        (WebCore::SVGResources::buildSetOfResources): Helper function that stashes all resources present in the SVGResources members in a HashSet, used in SVGResourcesCycleSolver.
92748        (WebCore::SVGResources::resetClipper): Helper methods nulling a resource.
92749        (WebCore::SVGResources::resetFilter): Ditto.
92750        (WebCore::SVGResources::resetMarkerStart): Ditto.
92751        (WebCore::SVGResources::resetMarkerMid): Ditto.
92752        (WebCore::SVGResources::resetMarkerEnd): Ditto.
92753        (WebCore::SVGResources::resetMasker): Ditto.
92754        (WebCore::SVGResources::resetFill): Ditto.
92755        (WebCore::SVGResources::resetStroke): Ditto.
92756        (WebCore::SVGResources::dump):
92757        * rendering/SVGResources.h: Added.
92758        (WebCore::SVGResources::clipper): Accesor of the cached m_foo variable.
92759        (WebCore::SVGResources::filter): Ditto.
92760        (WebCore::SVGResources::markerStart): Ditto.
92761        (WebCore::SVGResources::markerMid): Ditto.
92762        (WebCore::SVGResources::markerEnd): Ditto.
92763        (WebCore::SVGResources::masker): Ditto.
92764        (WebCore::SVGResources::fill): Ditto.
92765        (WebCore::SVGResources::stroke): Ditto.
92766        * rendering/SVGResourcesCache.cpp: Added. Holds a HashMap<RenderObject*, SVGResources*> and utility functions that update/invalidate the cache.
92767        (WebCore::SVGResourcesCache::SVGResourcesCache):
92768        (WebCore::SVGResourcesCache::~SVGResourcesCache):
92769        (WebCore::SVGResourcesCache::addResourcesFromRenderObject): Build a SVGResources object for a RenderObject and adds it to the cache, then detects & breaks cycles using SVGResourcesCycleSolver.
92770        (WebCore::SVGResourcesCache::removeResourcesFromRenderObject): Remove a SVGResources object from the cache.
92771        (WebCore::resourcesCacheFromRenderObject): Helper function, retrieving a SVGResourcesCache method from a RenderObject.
92772        (WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Returns a SVGResources object from the cache.
92773        (WebCore::SVGResourcesCache::clientLayoutChanged): (static) Calls invalidateClient() on all resources that are used by the passed RenderObject.
92774        (WebCore::SVGResourcesCache::clientStyleChanged): (static) Updates the cache (calling removeResourceFromRenderObject/addResourcesFrom...) and invalidates resources in the ancestor chain.
92775        (WebCore::SVGResourcesCache::clientUpdatedFromElement): (static) Does the same, without invalidating the ancestor chain.
92776        (WebCore::SVGResourcesCache::clientDestroyed): (static) Calls removeResourcesFromRenderObject() on the SVGResourcesCache, for the given renderer.
92777        (WebCore::SVGResourcesCache::resourceDestroyed): (static) Updates all SVGResources objects in the cache, that refer to the given resource.
92778        * rendering/SVGResourcesCache.h: Added.
92779        * rendering/SVGResourcesCycleSolver.cpp: Added. Detects and breaks cyclic references, just the way Opera handles it. Break cycles as they are detected.
92780        (WebCore::SVGResourcesCycleSolver::SVGResourcesCycleSolver):
92781        (WebCore::SVGResourcesCycleSolver::~SVGResourcesCycleSolver):
92782        (WebCore::SVGResourcesCycleSolver::resourceContainsCycles): Operates only on the render tree
92783        (WebCore::targetReferenceFromResource): Helper method for chainableResourceContainsCycles().
92784        (WebCore::setFollowLinkForChainableResource): Ditto.
92785        (WebCore::SVGResourcesCycleSolver::chainableResourceContainsCycles): Handles cycles for resources that are chainable through xlink:href (filter/gradient/pattern).
92786        (WebCore::SVGResourcesCycleSolver::resolveCycles): Main method executing the cycle breaking logic, utilizing (chainableResource)resourceContainsCycles.
92787        (WebCore::SVGResourcesCycleSolver::breakCycle): Nulls a resource in the given SVGResources* object, to avoid using an invalid resource while rendering/layouting.
92788        * rendering/SVGResourcesCycleSolver.h: Added.
92789        * svg/SVGDocumentExtensions.cpp:
92790        (WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Create SVGResourcesCache object once per SVGDocumentExtensions.
92791        * svg/SVGDocumentExtensions.h:
92792        (WebCore::SVGDocumentExtensions::resourcesCache): Expose accesor method for the SVGResourcesCache.
92793
927942010-07-28  Zoltan Herczeg  <zherczeg@webkit.org>
92795
92796        Reviewed by Nikolas Zimmermann.
92797
92798        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
92799        https://bugs.webkit.org/show_bug.cgi?id=42244
92800
92801        Implementing svgAttributeChanged for SVGFEOffsetElement object.
92802
92803        Tests: svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr.html
92804               svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr.html
92805               svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr.html
92806               svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop.html
92807               svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop.html
92808               svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop.html
92809
92810        * svg/SVGFEOffsetElement.cpp:
92811        (WebCore::SVGFEOffsetElement::svgAttributeChanged):
92812        * svg/SVGFEOffsetElement.h:
92813
928142010-07-28  Zoltan Herczeg  <zherczeg@webkit.org>
92815
92816        Reviewed by Nikolas Zimmermann.
92817
92818        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
92819        https://bugs.webkit.org/show_bug.cgi?id=42244
92820
92821        Implementing svgAttributeChanged for SVGFEDiffuseLightingElement object.
92822
92823        Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html
92824               svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html
92825               svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html
92826               svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html
92827               svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html
92828               svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html
92829               svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html
92830               svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html
92831
92832        * svg/SVGFEDiffuseLightingElement.cpp:
92833        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
92834        * svg/SVGFEDiffuseLightingElement.h:
92835
928362010-07-27  Kinuko Yasuda  <kinuko@chromium.org>
92837
92838        Reviewed by Ojan Vafai.
92839
92840        Add FILE_SYSTEM build flag for FileSystem API
92841        https://bugs.webkit.org/show_bug.cgi?id=42915
92842
92843        * Configurations/FeatureDefines.xcconfig:
92844        * GNUmakefile.am:
92845        * WebCore.pri:
92846
928472010-07-26  Yuzo Fujishima  <yuzo@google.com>
92848
92849        Reviewed by Shinichiro Hamaji.
92850
92851        @page rules in media queries should be tested.
92852        https://bugs.webkit.org/show_bug.cgi?id=42971
92853
92854        * page/PrintContext.cpp:
92855        (WebCore::PrintContext::pageProperty): Fixed to properly begin
92856        printing. Added support for size property.
92857
928582010-07-27  James Hawkins  <jhawkins@chromium.org>
92859
92860        Reviewed by Darin Fisher.
92861
92862        Add itemIcon() method to the PopupMenuClient, used by Chrome AutoFill
92863        to display right-aligned credit card icons in the suggestions popup.
92864        https://bugs.webkit.org/show_bug.cgi?id=43076
92865
92866        No new tests as this is only used by the Chromium WebKit API.
92867
92868        * platform/PopupMenuClient.h:
92869        * platform/chromium/PopupMenuChromium.cpp:
92870        (WebCore::PopupListBox::paintRow):
92871        * rendering/RenderMenuList.cpp:
92872        (WebCore::RenderMenuList::itemIcon):
92873        * rendering/RenderMenuList.h:
92874        * rendering/RenderTextControlSingleLine.cpp:
92875        (WebCore::RenderTextControlSingleLine::itemIcon):
92876        * rendering/RenderTextControlSingleLine.h:
92877
928782010-07-27  Andreas Kling  <andreas.kling@nokia.com>
92879
92880        Reviewed by Kenneth Rohde Christiansen.
92881
92882        [Qt] putImageData(): Fast premultiply() if alpha == 255
92883
92884        * platform/graphics/qt/ImageBufferQt.cpp:
92885        (WebCore::premultiply): Do nothing for opaque pixels.
92886
928872010-07-27  Jian Li  <jianli@chromium.org>
92888
92889        Reviewed by David Levin.
92890
92891        Enhance FileThreadTask to support return type.
92892        https://bugs.webkit.org/show_bug.cgi?id=43078
92893
92894        This is needed to support synchronous calls of FileStream methods in
92895        addition to asynchronous calls via FileThreadTask.
92896
92897        * html/FileThreadTask.h:
92898        (WebCore::createFileThreadTask):
92899
929002010-07-27  James Robinson  <jamesr@chromium.org>
92901
92902        Reviewed by Darin Fisher.
92903
92904        [chromium] Let PlatformContextSkia draw to a GLES2Canvas in addition to an SkCanvas
92905        https://bugs.webkit.org/show_bug.cgi?id=43070
92906
92907        This adds a GLES2Canvas as drawing surface to PlatformContextSkia and lets callers
92908        issue draw commands to either.  The PlatformContextSkia keeps track of where
92909        rendering results are being accumulated and can blend the hardware and software
92910        backing stores into each other when necessary.
92911
92912        Still just plumbing, no functionality change.
92913
92914        * platform/graphics/chromium/GLES2Canvas.cpp:
92915        (WebCore::GLES2Canvas::GLES2Canvas):
92916        * platform/graphics/chromium/GLES2Canvas.h:
92917        * platform/graphics/skia/PlatformContextSkia.cpp:
92918        (PlatformContextSkia::PlatformContextSkia):
92919        (PlatformContextSkia::setGLES2Context):
92920        (PlatformContextSkia::preSoftwareDraw):
92921        (PlatformContextSkia::preHardwareDraw):
92922        (PlatformContextSkia::forceToSoftware):
92923        (PlatformContextSkia::uploadSoftwareToHardware):
92924        (PlatformContextSkia::readbackHardwareToSoftware):
92925        * platform/graphics/skia/PlatformContextSkia.h:
92926        (PlatformContextSkia::useGPU):
92927        (PlatformContextSkia::gpuCanvas):
92928        (PlatformContextSkia::preSoftwareDraw):
92929        (PlatformContextSkia::preHardwareDraw):
92930        (PlatformContextSkia::forceToSoftware):
92931        (PlatformContextSkia::):
92932
929332010-07-27  Simon Fraser  <simon.fraser@apple.com>
92934
92935        Reviewed by Darin Adler.
92936
92937        Incomplete repaint of some Safari extension content which falls into a composited iframe
92938        <rdar://problem/8235044>
92939        
92940        syncCompositingStateRecursive() bails if it thinks that a layout is pending, because
92941        the layout may update layers and make this sync obsolete. However, it only checked for an
92942        active layout timer. This ignores other sources of pending style changes and layouts, like
92943        the document's style recalc timer. So use needsLayout(), which does check this.
92944
92945        Unable to create a test because it depends on Safari extension behavior.
92946
92947        * page/FrameView.cpp:
92948        (WebCore::FrameView::syncCompositingStateRecursive):
92949
929502010-07-27  Andreas Kling  <andreas.kling@nokia.com>
92951
92952        Reviewed by Kenneth Rohde Christiansen.
92953
92954        [Qt] putImageData() optimizations
92955        https://bugs.webkit.org/show_bug.cgi?id=43059
92956
92957        - Single-pass premultiplication and BGR->RGB conversion
92958        - Use ARGB32PM for the temporary image so Qt calls the
92959          fast Source composition function
92960
92961        * platform/graphics/qt/ImageBufferQt.cpp:
92962        (WebCore::premultiply): Added (static inline)
92963        (WebCore::putImageData):
92964
929652010-07-27  Anders Carlsson  <andersca@apple.com>
92966
92967        Reviewed by Sam Weinig.
92968
92969        Expose interface for returning the plug-in script JSObject
92970        https://bugs.webkit.org/show_bug.cgi?id=43074
92971
92972        PluginViewBase::scriptObject should be a virtual function.
92973
92974        * plugins/PluginViewBase.h:
92975        (WebCore::PluginViewBase::scriptObject):
92976
929772010-07-27  Jian Li  <jianli@chromium.org>
92978
92979        Reviewed by David Levin.
92980
92981        Add ScriptExecutionContext argument to File/Blob constructors.
92982        https://bugs.webkit.org/show_bug.cgi?id=40587
92983
92984        Remove DragData::createClipboard and add Clipboard::create for it to be
92985        called directly in DragController. This is because we need to pass
92986        Frame pointer to Clipboard class and use it to get ScriptExecutionContext
92987        in order to construct File objects in Clipboard::files().
92988
92989        * bindings/js/SerializedScriptValue.cpp:
92990        (WebCore::DeserializingTreeWalker::convertIfTerminal):
92991        * bindings/v8/SerializedScriptValue.cpp:
92992        (WebCore::ZigZag::Reader::readBlob):
92993        (WebCore::ZigZag::Reader::readFile):
92994        (WebCore::ZigZag::Reader::readFileList):
92995        * dom/Clipboard.h:
92996        * editing/Editor.cpp:
92997        (WebCore::Editor::dispatchCPPEvent):
92998        * editing/Editor.h:
92999        * editing/android/EditorAndroid.cpp:
93000        (WebCore::Editor::newGeneralClipboard):
93001        * editing/brew/EditorBrew.cpp:
93002        (WebCore::Editor::newGeneralClipboard):
93003        * editing/chromium/EditorChromium.cpp:
93004        (WebCore::Editor::newGeneralClipboard):
93005        * editing/haiku/EditorHaiku.cpp:
93006        (WebCore::Editor::newGeneralClipboard):
93007        * editing/mac/EditorMac.mm:
93008        (WebCore::Editor::newGeneralClipboard):
93009        * editing/qt/EditorQt.cpp:
93010        (WebCore::Editor::newGeneralClipboard):
93011        * editing/wx/EditorWx.cpp:
93012        (WebCore::Editor::newGeneralClipboard):
93013        * html/Blob.cpp:
93014        (WebCore::Blob::Blob):
93015        (WebCore::Blob::slice):
93016        * html/Blob.h:
93017        (WebCore::Blob::create):
93018        * html/Blob.idl:
93019        * html/BlobBuilder.cpp:
93020        (WebCore::BlobBuilder::getBlob):
93021        * html/BlobBuilder.h:
93022        * html/BlobBuilder.idl:
93023        * html/File.cpp:
93024        (WebCore::File::File):
93025        * html/File.h:
93026        (WebCore::File::create):
93027        * html/HTMLInputElement.cpp:
93028        (WebCore::HTMLInputElement::appendFormData):
93029        (WebCore::HTMLInputElement::setFileListFromRenderer):
93030        * page/DragController.cpp:
93031        (WebCore::DragController::dragExited):
93032        (WebCore::DragController::performDrag):
93033        (WebCore::DragController::tryDHTMLDrag):
93034        * page/chromium/EventHandlerChromium.cpp:
93035        (WebCore::EventHandler::createDraggingClipboard):
93036        * page/gtk/EventHandlerGtk.cpp:
93037        (WebCore::EventHandler::createDraggingClipboard):
93038        * page/win/EventHandlerWin.cpp:
93039        (WebCore::EventHandler::createDraggingClipboard):
93040        * platform/DragData.h:
93041        * platform/android/ClipboardAndroid.cpp:
93042        (WebCore::Clipboard::create):
93043        * platform/android/DragDataAndroid.cpp:
93044        * platform/brew/ClipboardBrew.cpp:
93045        (WebCore::Clipboard::create):
93046        * platform/brew/DragDataBrew.cpp:
93047        * platform/chromium/ClipboardChromium.cpp:
93048        (WebCore::Clipboard::create):
93049        (WebCore::ClipboardChromium::ClipboardChromium):
93050        (WebCore::ClipboardChromium::create):
93051        (WebCore::ClipboardChromium::files):
93052        * platform/chromium/ClipboardChromium.h:
93053        * platform/chromium/DragDataChromium.cpp:
93054        * platform/efl/ClipboardEfl.cpp:
93055        (WebCore::Editor::newGeneralClipboard):
93056        (WebCore::Clipboard::create):
93057        * platform/efl/DragDataEfl.cpp:
93058        * platform/gtk/ClipboardGtk.cpp:
93059        (WebCore::Editor::newGeneralClipboard):
93060        (WebCore::Clipboard::create):
93061        (WebCore::ClipboardGtk::ClipboardGtk):
93062        (WebCore::ClipboardGtk::files):
93063        * platform/gtk/ClipboardGtk.h:
93064        (WebCore::ClipboardGtk::create):
93065        * platform/gtk/DragDataGtk.cpp:
93066        * platform/haiku/ClipboardHaiku.cpp:
93067        (WebCore::Clipboard::create):
93068        * platform/haiku/DragDataHaiku.cpp:
93069        * platform/mac/ClipboardMac.mm:
93070        (WebCore::Clipboard::create):
93071        (WebCore::ClipboardMac::files):
93072        * platform/mac/DragDataMac.mm:
93073        * platform/qt/ClipboardQt.cpp:
93074        (WebCore::Clipboard::create):
93075        * platform/qt/DragDataQt.cpp:
93076        * platform/win/ClipboardWin.cpp:
93077        (WebCore::Clipboard::create):
93078        (WebCore::ClipboardWin::ClipboardWin):
93079        (WebCore::ClipboardWin::files):
93080        * platform/win/ClipboardWin.h:
93081        (WebCore::ClipboardWin::create):
93082        * platform/win/DragDataWin.cpp:
93083        * platform/win/EditorWin.cpp:
93084        (WebCore::Editor::newGeneralClipboard):
93085        * platform/wince/DragDataWince.cpp:
93086        * platform/wince/EditorWince.cpp:
93087        (WebCore::Editor::newGeneralClipboard):
93088        * platform/wx/ClipboardWx.cpp:
93089        (WebCore::Clipboard::create):
93090        * platform/wx/DragDataWx.cpp:
93091
930922010-07-27  Dumitru Daniliuc  <dumi@chromium.org>
93093
93094        Reviewed by David Levin.
93095
93096        Move all WebSQLDatabases-specific code behind #if ENABLE(DATABASE).
93097        https://bugs.webkit.org/show_bug.cgi?id=43035
93098
93099        Make Chromium compile with ENABLE_DATABASE=0. The #ifdefs in
93100        DatabaseAuthorizer and ChromiumBridge are removed, because they're
93101        used by non-HTML5 DBs too (the classes in WebCore/platform/sql/),
93102        which are used by other features too. So they need to be compiled
93103        in even if HTML5 DBs are disabled.
93104
93105        * bindings/v8/custom/V8DOMWindowCustom.cpp:
93106        * page/DOMWindow.idl:
93107        * platform/chromium/ChromiumBridge.h:
93108        * storage/DatabaseAuthorizer.cpp:
93109        * storage/chromium/DatabaseObserver.h:
93110        * storage/chromium/DatabaseTrackerChromium.cpp:
93111        * storage/chromium/QuotaTracker.cpp:
93112        * storage/chromium/QuotaTracker.h:
93113        * storage/chromium/SQLTransactionClientChromium.cpp:
93114
931152010-07-27  Chris Fleizach  <cfleizach@apple.com>
93116
93117        Reviewed by David Kilzer.
93118
93119        AX: Misspellings not shown in AXAttributedStringForTextMarkerRange when selection is on word
93120        https://bugs.webkit.org/show_bug.cgi?id=41817
93121
93122        Change how misspelled words are identified for accessibility. No longer rely on the 
93123        cached markers in Document. Calculate on the fly, which is more accurate in a variety of 
93124        circumstances (like when selection has not moved across words, of if the cursor is in the middle
93125        of a misspelled word). 
93126
93127        Test: platform/mac/accessibility/attributed-string-includes-misspelled-with-selection.html
93128
93129        * accessibility/mac/AccessibilityObjectWrapper.mm:
93130        (AXAttributeStringSetSpelling):
93131        (AXAttributedStringAppendText):
93132        (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
93133
931342010-07-27  Gavin Barraclough  <barraclough@apple.com>
93135
93136        Reviewed by Oliver Hunt.
93137
93138        Bug 42621 - Add a bump allocator for the YARR interpreter
93139
93140        The regex engine requires lifo allocation, however currently uses the general purpose
93141        malloc/free memory allocation.  A simple bump pointer allocator should provide a lower
93142        overhead allocation solution.
93143
93144        * ForwardingHeaders/wtf/BumpPointerAllocator.h: Added.
93145
931462010-07-27  Pavel Feldman  <pfeldman@chromium.org>
93147
93148        Reviewed by Joseph Pecoraro.
93149
93150        Web Inspector: render network timing as gant chart in popover.
93151
93152        https://bugs.webkit.org/show_bug.cgi?id=43051
93153
93154        * inspector/InspectorResource.cpp:
93155        (WebCore::InspectorResource::buildObjectForTiming):
93156        * inspector/front-end/ResourcesPanel.js:
93157        (WebInspector.ResourcesPanel.prototype._showPopover):
93158        * inspector/front-end/inspector.css:
93159        (.resource-timing-row):
93160        (.resource-timing-bar):
93161        (.resource-timing-bar-title):
93162        * inspector/front-end/utilities.js:
93163
931642010-07-27  Victor Wang  <victorw@chromium.org>
93165
93166        Unreviewed, rolling out r64104.
93167        http://trac.webkit.org/changeset/64104
93168        https://bugs.webkit.org/show_bug.cgi?id=40768
93169
93170        The patch causes chromium webkit socket laytest crashes on
93171        windows randomly
93172
93173        * inspector/InspectorController.cpp:
93174        (WebCore::InspectorController::addResource):
93175        (WebCore::InspectorController::removeResource):
93176        * inspector/InspectorController.h:
93177        * inspector/InspectorResource.cpp:
93178        (WebCore::InspectorResource::InspectorResource):
93179        (WebCore::InspectorResource::updateScriptObject):
93180        (WebCore::InspectorResource::cachedResource):
93181        (WebCore::InspectorResource::type):
93182        (WebCore::InspectorResource::resourceData):
93183        * inspector/InspectorResource.h:
93184        (WebCore::InspectorResource::):
93185        (WebCore::InspectorResource::create):
93186        * inspector/front-end/Resource.js:
93187        (WebInspector.Resource.Type.toString):
93188        (WebInspector.Resource.prototype.set type):
93189        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
93190        * inspector/front-end/ResourceView.js:
93191        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
93192        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
93193        (WebInspector.ResourceView.prototype._refreshHeaders):
93194        * inspector/front-end/inspector.css:
93195        (.resources-category-scripts, .resources-category-xhr, .resources-category-fonts, .resources-category-other):
93196        * inspector/front-end/inspector.js:
93197        (WebInspector.loaded):
93198        (WebInspector.updateResource):
93199        * websockets/WebSocketChannel.cpp:
93200        (WebCore::WebSocketChannel::WebSocketChannel):
93201        (WebCore::WebSocketChannel::disconnect):
93202        (WebCore::WebSocketChannel::didOpen):
93203        (WebCore::WebSocketChannel::didClose):
93204        (WebCore::WebSocketChannel::processBuffer):
93205        * websockets/WebSocketChannel.h:
93206
932072010-07-27  Andrei Popescu  <andreip@google.com>
93208
93209        Reviewed by Jeremy Orlow.
93210
93211        [IndexedDB] Key range methods belong to the IDBKeyRange interface
93212        https://bugs.webkit.org/show_bug.cgi?id=43052
93213
93214        Move the key range methods from the IndexedDatabaseRequest interface
93215        to the IDBKeyRange interface. Also add a global IDBKeyRange object
93216        that can be used to access the IDBKeyRange constants and factory methods. 
93217
93218        * page/DOMWindow.cpp:
93219        (WebCore::DOMWindow::clear):
93220        (WebCore::DOMWindow::iDBKeyRange):
93221        * page/DOMWindow.h:
93222        * page/DOMWindow.idl:
93223        * storage/IDBKeyRange.cpp:
93224        (WebCore::IDBKeyRange::only):
93225        (WebCore::IDBKeyRange::leftBound):
93226        (WebCore::IDBKeyRange::rightBound):
93227        (WebCore::IDBKeyRange::bound):
93228        * storage/IDBKeyRange.h:
93229        * storage/IDBKeyRange.idl:
93230        * storage/IndexedDatabaseRequest.cpp:
93231        * storage/IndexedDatabaseRequest.h:
93232        * storage/IndexedDatabaseRequest.idl:
93233
932342010-07-27  Chris Fleizach  <cfleizach@apple.com>
93235
93236        Reviewed by Darin Adler.
93237
93238        AX: consolidate parentObjectIfExists() and parentObject() code
93239        https://bugs.webkit.org/show_bug.cgi?id=42981
93240
93241        Consolidate duplicate code in parentObject and parentObjectIfExists
93242
93243        No tests. No functionality changed.
93244
93245        * accessibility/AccessibilityRenderObject.cpp:
93246        (WebCore::AccessibilityRenderObject::renderParentObject):
93247        (WebCore::AccessibilityRenderObject::parentObjectIfExists):
93248        (WebCore::AccessibilityRenderObject::parentObject):
93249        * accessibility/AccessibilityRenderObject.h:
93250
932512010-07-27  Chris Fleizach  <cfleizach@apple.com>
93252
93253        Reviewed by Adam Barth.
93254
93255        AX: replace m_renderer->document->axObjectCache() with just axObjectCache()
93256        https://bugs.webkit.org/show_bug.cgi?id=42979
93257
93258        No new tests. Code cleanup only.
93259
93260        * accessibility/AccessibilityRenderObject.cpp:
93261        (WebCore::AccessibilityRenderObject::firstChild):
93262        (WebCore::AccessibilityRenderObject::lastChild):
93263        (WebCore::AccessibilityRenderObject::previousSibling):
93264        (WebCore::AccessibilityRenderObject::nextSibling):
93265        (WebCore::AccessibilityRenderObject::parentObjectIfExists):
93266        (WebCore::AccessibilityRenderObject::parentObject):
93267        (WebCore::AccessibilityRenderObject::menuForMenuButton):
93268        (WebCore::AccessibilityRenderObject::menuButtonForMenu):
93269        (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
93270        (WebCore::AccessibilityRenderObject::axObjectCache):
93271        (WebCore::AccessibilityRenderObject::contentChanged):
93272        (WebCore::AccessibilityRenderObject::addChildren):
93273
932742010-07-27  Pavel Podivilov  <podivilov@chromium.org>
93275
93276        Reviewed by Pavel Feldman.
93277
93278        Web Inspector: do not activate all breakpoints on page reload
93279        https://bugs.webkit.org/show_bug.cgi?id=41461
93280
93281        Test: inspector/debugger-breakpoints-not-activated-on-reload.html
93282
93283        * inspector/front-end/ScriptView.js:
93284        (WebInspector.ScriptView.prototype._addBreakpoint):
93285        * inspector/front-end/ScriptsPanel.js:
93286        (WebInspector.ScriptsPanel):
93287        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
93288        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
93289        * inspector/front-end/SourceView.js:
93290        (WebInspector.SourceView.prototype._addBreakpoint):
93291
932922010-07-27  Pranav Kedia  <pranavk@chromium.org>
93293
93294        Reviewed by Adam Barth.
93295
93296        Chrome browser Bug: Pause button stays when <audio> hits end
93297        https://bugs.webkit.org/show_bug.cgi?id=42677
93298
93299        The change is just in chromium media. Tested using media part of
93300        WebKit layout tests. The following test that was failing is passing.
93301        media/video-duration-known-after-eos.html -> unexpected pass
93302
93303        * rendering/RenderMediaControlsChromium.cpp:
93304        (WebCore::paintMediaPlayButton):
93305        Using mediaElement->canPlay() instead of mediaElement->paused() to
93306        paint the play/pause button.
93307
933082010-07-27  Steve Block  <steveblock@google.com>
93309
93310        Reviewed by Jeremy Orlow.
93311
93312        Client-based Geolocation does not pass enableHighAccuracy option to controller and client
93313        https://bugs.webkit.org/show_bug.cgi?id=40374
93314
93315        This change passes the enableHighAccuracy request option to the GeolocationController.
93316        The GeolocationController tracks whether this should be used by the client.
93317
93318        No new tests possible as the mock provider doesn't support this feature.
93319
93320        * page/Geolocation.cpp:
93321        (WebCore::Geolocation::setIsAllowed):
93322        (WebCore::Geolocation::startUpdating):
93323        * page/GeolocationController.cpp:
93324        (WebCore::GeolocationController::addObserver):
93325        (WebCore::GeolocationController::removeObserver):
93326        * page/GeolocationController.h:
93327        * page/GeolocationControllerClient.h:
93328
933292010-07-27  Ilya Tikhonovsky  <loislo@chromium.org>
93330
93331        Reviewed by Pavel Feldman.
93332
93333        WebInspector: Current implementation of message based inspector
93334        transport generated by CodeGeneratorInspector should be upstreamed
93335        from WebKit/chromium to WebCore.
93336        https://bugs.webkit.org/show_bug.cgi?id=42983
93337
93338        * Android.derived.v8bindings.mk:
93339        * CMakeLists.txt:
93340        * DerivedSources.cpp:
93341        * DerivedSources.make:
93342        * GNUmakefile.am:
93343        * WebCore.exp.in:
93344        * WebCore.gypi:
93345        * WebCore.pri:
93346        * WebCore.vcproj/WebCore.vcproj:
93347        * WebCore.xcodeproj/project.pbxproj:
93348        * bindings/js/ScriptObject.cpp:
93349        * bindings/js/ScriptObject.h:
93350        * bindings/v8/ScriptObject.cpp:
93351        * bindings/v8/ScriptObject.h:
93352        * inspector/CodeGeneratorInspector.pm:
93353        * inspector/InspectorBackend.idl: Removed.
93354        * inspector/InspectorFrontendClient.h:
93355        * inspector/InspectorFrontendClientLocal.cpp:
93356        (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
93357        (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
93358        * inspector/InspectorFrontendClientLocal.h:
93359        * inspector/InspectorFrontendHost.cpp:
93360        (WebCore::InspectorFrontendHost::sendMessageToBackend):
93361        * inspector/InspectorFrontendHost.h:
93362        * inspector/InspectorFrontendHost.idl:
93363        * inspector/front-end/InspectorBackendStub.js:
93364        (.WebInspector.InspectorBackendStub):
93365        (.WebInspector.InspectorBackendStub.prototype._registerDelegate):
93366        (.WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
93367
933682010-07-27  Satish Sampath  <satish@chromium.org>
93369
93370        Reviewed by Kent Tamura.
93371
93372        Simplify speech input plumbing in webcore and webkit
93373        https://bugs.webkit.org/show_bug.cgi?id=43008
93374
93375        No new tests as functionality is not changed.
93376
93377        * GNUmakefile.am: Removed a header file.
93378        * WebCore.gypi:
93379        * WebCore.pro:
93380        * WebCore.vcproj/WebCore.vcproj:
93381        * WebCore.xcodeproj/project.pbxproj:
93382        * page/Page.cpp:
93383        (WebCore::Page::speechInput): Creates and returns SpeechInput when needed.
93384        * page/Page.h:
93385        * page/SpeechInput.cpp: Added methods to proxy and callbacks between input elements and WebKit
93386        (WebCore::SpeechInput::SpeechInput):
93387        (WebCore::SpeechInput::didCompleteRecording):
93388        (WebCore::SpeechInput::didCompleteRecognition):
93389        (WebCore::SpeechInput::setRecognitionResult):
93390        (WebCore::SpeechInput::startRecognition):
93391        (WebCore::SpeechInput::stopRecording):
93392        * page/SpeechInput.h:
93393        * page/SpeechInputClient.h:
93394        * page/SpeechInputClientListener.h: Removed.
93395        * page/SpeechInputListener.h:
93396        * rendering/TextControlInnerElements.cpp: Added one more callback.
93397        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
93398        (WebCore::InputFieldSpeechButtonElement::speechInput):
93399        (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
93400        * rendering/TextControlInnerElements.h:
93401
934022010-07-27  Kent Tamura  <tkent@chromium.org>
93403
93404        Reviewed by Ojan Vafai.
93405
93406        Add a runtime setting for interactive form validation.
93407        https://bugs.webkit.org/show_bug.cgi?id=40520
93408
93409        The interactive validation feature was disabled for non-strict
93410        modes by r61059 to avoid a compatibility issue. This removes the
93411        mode checking and introduce a runtime setting to enable/disable
93412        the feature instead.
93413        The default value is 'disable' and we'll remove the setting when
93414        the compatibility issue is resolved and interactive validation
93415        implementation is completed.
93416
93417        * html/HTMLFormElement.cpp:
93418        (WebCore::HTMLFormElement::validateInteractively):
93419        * page/Settings.cpp:
93420        (WebCore::Settings::Settings):
93421        * page/Settings.h:
93422        (WebCore::Settings::setInteractiveFormValidationEnabled):
93423        (WebCore::Settings::interactiveFormValidationEnabled):
93424
934252010-07-26  Gavin Barraclough  <barraclough@apple.com>
93426
93427        Reviewed by Oliver Hunt.
93428
93429        Bug 43009 - Abstract out page allocation from executable allocators
93430
93431        * ForwardingHeaders/wtf/PageAllocation.h: Added.
93432
934332010-07-26  Yuta Kitamura  <yutak@chromium.org>
93434
93435        Reviewed by Pavel Feldman.
93436
93437        Add WebSocket resource type to Web Inspector.
93438
93439        When a new WebSocket connection is established, a line for that connection
93440        will appear in Web Inspector's Resources tab. If the resource name is
93441        clicked, the details of handshake request and response will be shown.
93442
93443        Web Inspector: WebSocket in Resources tab
93444        https://bugs.webkit.org/show_bug.cgi?id=40768
93445
93446        * inspector/InspectorController.cpp:
93447        (WebCore::InspectorController::addResource): WebSocket resource does not
93448        have an associated loader, thus frame might be null. Need to check it.
93449        (WebCore::InspectorController::removeResource): Ditto.
93450        (WebCore::InspectorController::didCreateWebSocket):
93451        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
93452        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
93453        (WebCore::InspectorController::didCloseWebSocket):
93454        * inspector/InspectorController.h:
93455        * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
93456        because WebSocket does not have a loader and we need to allow null for
93457        these variables.
93458        (WebCore::createReadableStringFromBinary):
93459        (WebCore::InspectorResource::InspectorResource):
93460        (WebCore::InspectorResource::create): Factory function of
93461        regular (non-WebSocket) resources.
93462        (WebCore::InspectorResource::createWebSocket): Factory function of
93463        WebSocket resources.
93464        (WebCore::InspectorResource::updateWebSocketRequest):
93465        (WebCore::InspectorResource::updateWebSocketResponse):
93466        (WebCore::InspectorResource::updateScriptObject): m_frame->document() becomes
93467        available when Frame::setDocument() is called. We cannot obtain documentURL
93468        during the constructor or updateRequest() function, because m_frame->document()
93469        is not available yet at that point and documentURL will contain a wrong URL.
93470        As far as I know, updateScriptObject() is the only place where we can safely
93471        obtain documentURL.
93472        (WebCore::InspectorResource::cachedResource):
93473        (WebCore::InspectorResource::type):
93474        (WebCore::InspectorResource::resourceData):
93475        * inspector/InspectorResource.h:
93476        (WebCore::InspectorResource::):
93477        (WebCore::InspectorResource::markWebSocket):
93478        * inspector/front-end/Resource.js:
93479        (WebInspector.Resource.Type.toString):
93480        (WebInspector.Resource.prototype.set type):
93481        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
93482        * inspector/front-end/ResourceView.js:
93483        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
93484        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
93485        (WebInspector.ResourceView.prototype._refreshHeaders):
93486        * inspector/front-end/inspector.css:
93487        (.resources-category-websockets, .resources-category-other):
93488        (.resources-category-websockets .resources-graph-bar):
93489        (.resources-category-websockets.resource-cached .resources-graph-bar):
93490        * inspector/front-end/inspector.js:
93491        (WebInspector.loaded):
93492        (WebInspector.updateResource):
93493        * websockets/WebSocketChannel.cpp:
93494        (WebCore::WebSocketChannel::WebSocketChannel):
93495        (WebCore::WebSocketChannel::disconnect):
93496        (WebCore::WebSocketChannel::didOpen):
93497        (WebCore::WebSocketChannel::didClose):
93498        (WebCore::WebSocketChannel::processBuffer):
93499        (WebCore::WebSocketChannel::identifier):
93500        * websockets/WebSocketChannel.h:
93501
935022010-07-26  Cosmin Truta  <ctruta@chromium.org>
93503
93504        Reviewed by Eric Seidel.
93505
93506        Some SVGs with empty <g> elements crash Chromium on Linux
93507        https://bugs.webkit.org/show_bug.cgi?id=41175
93508
93509        Redo the old fix using a different approach, to avoid regressing
93510        svg/batik/filters/filterRegions.svg with Chromium on Linux.
93511        Specifically, handle empty SkBitmap objects by exiting early upon
93512        encountering unconfigured (i.e. empty) bitmaps.
93513
93514        No new tests. This bug's old test (svg/filters/filter-empty-g.svg)
93515        and the above-mentioned regressed test are expected to pass.
93516
93517        * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
93518        (ImageBuffer::ImageBuffer): Undo the old fix.
93519        (getImageData): The new fix.
93520
935212010-07-26  Simon Fraser  <simon.fraser@apple.com>
93522
93523        Reviewed by Dan Bernstein.
93524
93525        Google image search results broken on pages with Flash
93526        https://bugs.webkit.org/show_bug.cgi?id=43014
93527
93528        The test for overflow added in r63452 is wrong in that it ignores the effects
93529        of positioning on overflow.
93530        
93531        The correct approach is to start by using RenderView's layoutOverflowRect as the largest bounds,
93532        then getting the oveflow rect via backgroundClipRect() relative to the root layer.
93533        
93534        Test: compositing/geometry/limit-layer-bounds-overflow-root.html
93535
93536        * rendering/RenderLayerBacking.cpp:
93537        (WebCore::layerOrAncestorIsTransformed):
93538        (WebCore::RenderLayerBacking::updateCompositedBounds):
93539
935402010-07-26  Anders Carlsson  <andersca@apple.com>
93541
93542        Reviewed by Sam Weinig.
93543
93544        Plug-in views should be able to return JSObjects directly
93545        https://bugs.webkit.org/show_bug.cgi?id=43019
93546
93547        * bindings/js/JSHTMLAppletElementCustom.cpp:
93548        (WebCore::JSHTMLAppletElement::putDelegate):
93549        (WebCore::JSHTMLAppletElement::getCallData):
93550        * bindings/js/JSHTMLEmbedElementCustom.cpp:
93551        (WebCore::JSHTMLEmbedElement::putDelegate):
93552        (WebCore::JSHTMLEmbedElement::getCallData):
93553        * bindings/js/JSHTMLObjectElementCustom.cpp:
93554        (WebCore::JSHTMLObjectElement::putDelegate):
93555        (WebCore::JSHTMLObjectElement::getCallData):
93556        runtimeObjectCustomPut and runtimeObjectGetCallData now take a JSHTMLElement instead of a HTMLElement.
93557
93558        * bindings/js/JSPluginElementFunctions.cpp:
93559        (WebCore::pluginScriptObject):
93560        First, ask the PluginViewBase for a JSObject and fall back to getting the JSObject from the instance.
93561
93562        (WebCore::runtimeObjectPropertyGetter):
93563        (WebCore::runtimeObjectCustomGetOwnPropertySlot):
93564        (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
93565        Call pluginScriptObject.
93566        
93567        (WebCore::runtimeObjectCustomPut):
93568        Change to take a JSHTMLElement. Call pluginScriptObject.
93569        
93570        (WebCore::runtimeObjectGetCallData):
93571        Change to take a JSHTMLElement.
93572
93573        * bridge/jsc/BridgeJSC.cpp:
93574        * bridge/jsc/BridgeJSC.h:
93575        (JSC::Bindings::Instance::createRuntimeObject):
93576        Change this to return a JSObject.
93577        
93578        * html/HTMLPlugInElement.cpp:
93579        (WebCore::HTMLPlugInElement::getInstance):
93580        Call pluginWidget.
93581
93582        (WebCore::HTMLPlugInElement::pluginWidget):
93583        Return the plug-in widget for this element.
93584
93585        * html/HTMLPlugInElement.h:
93586        * plugins/PluginViewBase.h:
93587        (WebCore::PluginViewBase::scriptObject):
93588        Add default implementation of scriptObject.
93589
935902010-07-26  Chris Fleizach  <cfleizach@apple.com>
93591
93592        Reviewed by Darin Adler.
93593
93594        AX: Safari does not support ARIA mixed checkboxes
93595        https://bugs.webkit.org/show_bug.cgi?id=43016
93596
93597        Test: platform/mac/accessibility/mixed-checkbox.html
93598
93599        * accessibility/AccessibilityObject.cpp:
93600        (WebCore::AccessibilityObject::checkboxOrRadioValue):
93601        * accessibility/AccessibilityObject.h:
93602        * accessibility/AccessibilityRenderObject.cpp:
93603        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
93604        (WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
93605        * accessibility/AccessibilityRenderObject.h:
93606        * accessibility/mac/AccessibilityObjectWrapper.mm:
93607        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
93608
936092010-07-26  Shimeng (Simon) Wang  <swang@google.com>
93610
93611        Reviewed by Darin Adler.
93612
93613        Add auto hyphenation support for Android.
93614        https://bugs.webkit.org/show_bug.cgi?id=42800
93615
93616        * platform/text/android/HyphenationAndroid.cpp: Added.
93617        (WebCore::loadHyphenationDictionary):
93618        (WebCore::lastHyphenLocation):
93619
936202010-07-26  Sam Weinig  <sam@webkit.org>
93621
93622        Reviewed by Anders Carlsson.
93623
93624        Patch for https://bugs.webkit.org/show_bug.cgi?id=43013
93625        Part of <rdar://problem/8152434>
93626        Add support for scrolling using the keyboard in WebKit2
93627
93628        Add a new export and make WindowsKeyboardCodes private.
93629
93630        * WebCore.exp.in:
93631        * WebCore.xcodeproj/project.pbxproj:
93632
936332010-07-26  Darin Adler  <darin@apple.com>
93634
93635        Reviewed by Eric Carlson.
93636
93637        Don't handle empty URL attributes specially in reflection, even in cases such as <img src="">
93638        https://bugs.webkit.org/show_bug.cgi?id=42087
93639
93640        * html/HTMLMediaElement.cpp:
93641        (WebCore::HTMLMediaElement::insertedIntoDocument): Check if the src attribute is empty
93642        by calling getAttribute instead of calling the src function. This keeps the behavior
93643        correct with the reflection change, and has a side benefit of being more efficient as
93644        well since there is no reason to resolve the URL.
93645        (WebCore::HTMLMediaElement::loadResource): Call getNonEmptyURLAttribute directly here
93646        instead of using the poster function.
93647        (WebCore::HTMLMediaElement::getPluginProxyParams): Ditto.
93648
93649        * html/HTMLMediaElement.h: Removed the poster virtual function. The code that gets the
93650        poster attribute is already video-specific and uses generic attribute fetching code, so
93651        we no longer need a virtual function. Removed the src function. Since this would give
93652        a different result from the JavaScript reflected src attribute, it's safer not to have
93653        it, and it was easy to convert all the callers.
93654
93655        * html/HTMLMediaElement.idl: Removed the NonEmpty extended attribute from the src
93656        attribute.
93657
93658        * html/HTMLSourceElement.cpp: Removed the src function for the same reason as above.
93659        * html/HTMLSourceElement.h: Ditto.
93660
93661        * html/HTMLSourceElement.idl: Removed the NonEmpty extended attribute from the src
93662        attribute.
93663
93664        * html/HTMLVideoElement.cpp:
93665        (WebCore::HTMLVideoElement::parseMappedAttribute): Removed code to update m_posterURL,
93666        which is no longer needed. Changed call site that used the poster() function to instead
93667        use getNonEmptyURLAttribute.
93668        (WebCore::HTMLVideoElement::updatePosterImage): Check if the poster attribute is empty
93669        by calling getAttribute instead of calling the poster function. This keeps the behavior
93670        correct with the reflection change, and has a side benefit of being more efficient as
93671        well since there is no reason to resolve the URL.
93672
93673        * html/HTMLVideoElement.h: Removed the poster function for the same reason we removed
93674        the src function above. Also removed now-unneeded m_posterURL data member.
93675
93676        * html/HTMLVideoElement.idl: Removed the NonEmpty extended attribute from the poster
93677        attribute.
93678
936792010-07-26  Chris Fleizach  <cfleizach@apple.com>
93680
93681        Reviewed by Darin Adler.
93682
93683        AX: remove intValue() hasIntValue() from AccessibilityObject
93684        https://bugs.webkit.org/show_bug.cgi?id=43006
93685
93686        These methods are very Mac centric. The mac centric code should be moved into the Mac wrapper.
93687
93688        No new tests, existing tests cover changes to logic.
93689
93690        * accessibility/AccessibilityObject.cpp:
93691        (WebCore::AccessibilityObject::checkboxOrRadioValue):
93692        * accessibility/AccessibilityObject.h:
93693        (WebCore::):
93694        * accessibility/AccessibilityRenderObject.cpp:
93695        (WebCore::AccessibilityRenderObject::selectedRadioButton):
93696        (WebCore::AccessibilityRenderObject::selectedTabItem):
93697        (WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
93698        * accessibility/AccessibilityRenderObject.h:
93699        * accessibility/mac/AccessibilityObjectWrapper.mm:
93700        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
93701
937022010-07-26  Ryosuke Niwa  <rniwa@webkit.org>
93703
93704        Reviewed by Darin Adler.
93705
93706        Applying inline style to a text node whose parent is an inline editable root causes crash
93707        https://bugs.webkit.org/show_bug.cgi?id=39989
93708
93709        The crash was caused by splitTextElementAtStart and splitTextElementAtEnd assuming that the parent
93710        and the grandparent of the specified text node is editable.
93711
93712        Modified splitTextElementAtStart and splitTextElementAtEnd so that they call splitTextAtStart
93713        and splitTextAtEnd respectively when the grandparent is not editable.
93714
93715        Also modified SplitTextNodeContainingElement to exit early if the grandparent of m_text is not editable.
93716
93717        Test: editing/style/style-text-node-without-editable-parent.html
93718
93719        * editing/ApplyStyleCommand.cpp:
93720        (WebCore::ApplyStyleCommand::splitTextElementAtStart):
93721        (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
93722        * editing/SplitTextNodeContainingElementCommand.cpp:
93723        (WebCore::SplitTextNodeContainingElementCommand::doApply):
93724
937252010-07-26  Simon Fraser  <simon.fraser@apple.com>
93726
93727        Reviewed by Anders Carlsson.
93728
93729        Gmail compose is upside-down after r64054
93730        https://bugs.webkit.org/show_bug.cgi?id=43000
93731        
93732        We need to call setGeometryOrientation() whenever the iframe compositing layer attachment changes,
93733        not just when requiresScrollLayer() returns false. This ensures that the orientation is updated
93734        correctly.
93735
93736        Test: compositing/iframes/iframe-content-flipping.html
93737
93738        * rendering/RenderLayerCompositor.cpp:
93739        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
93740
937412010-07-26  Justin Schuh  <jschuh@chromium.org>
93742
93743        Reviewed by Darin Fisher.
93744
93745        Check history state against origin before setting
93746        https://bugs.webkit.org/show_bug.cgi?id=42858
93747
93748        Tests: fast/loader/stateobjects/replacestate-base-illegal.html
93749               fast/loader/stateobjects/replacestate-base-legal.html
93750
93751        * page/History.cpp:
93752        (WebCore::History::urlForState):
93753        (WebCore::History::stateObjectAdded):
93754
937552010-07-26  Martin Robinson  <mrobinson@igalia.com>
93756
93757        Reviewed by Xan Lopez.
93758
93759        [GTK] Get rid of libgdom
93760        https://bugs.webkit.org/show_bug.cgi?id=42378
93761
93762        Remove all build steps for building GObject DOM bindings.
93763
93764        * GNUmakefile.am: Remove GObject DOM bindings build.
93765
937662010-07-26  Mark Rowe  <mrowe@apple.com>
93767
93768        Reviewed by Dan Bernstein.
93769
93770        <http://webkit.org/b/42990> REGRESSION (r63854): Safari RSS layout is broken due to changes in vendor prefix handling
93771
93772        In r63854 support for properties with the -khtml vendor prefix was removed. This breaks the layout of
93773        Safari's RSS interface, several Dashboard widgets that are included with Mac OS X, and at least one
93774        popular third-party Mac OS X application. This change will need to be revisited in a manner that has
93775        a clearer backwards-compatibility strategy. <http://webkit.org/b/42093> will be reopened to track that.
93776
93777        * css/CSSParser.cpp:
93778        (WebCore::cssPropertyID): Revert the WebCore change from r63854.
93779
937802010-07-26  Brady Eidson  <beidson@apple.com>
93781
93782        Reviewed by Sam Weinig.
93783
93784        Add ability for WK2 to register a scheme to always be displayed as an empty document
93785        https://bugs.webkit.org/show_bug.cgi?id=42995
93786
93787        No new tests. (Currently not possible to test in WebKit1 DRT, can be testing in future WK2 tester)
93788
93789        * WebCore.exp.in:
93790        
93791        * loader/MainResourceLoader.cpp:
93792        (WebCore::shouldLoadAsEmptyDocument):
93793        
93794        * platform/SchemeRegistry.cpp:
93795        (WebCore::emptyDocumentSchemes):
93796        (WebCore::SchemeRegistry::registerURLSchemeAsEmptyDocument):
93797        (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):
93798        * platform/SchemeRegistry.h:
93799
938002010-07-26  Patrick Gansterer  <paroga@paroga.com>
93801
93802        Reviewed by Kent Tamura.
93803
93804        [WINCE] Port ClipboardUtilities to WinCE
93805        https://bugs.webkit.org/show_bug.cgi?id=42929
93806
93807        Make ClipboardUtilitiesWin more portable and remove the global namespace prefix
93808        from GlobalLock/GlobalUnlock, since they are only macros on WinCE.
93809
93810        * platform/win/ClipboardUtilitiesWin.cpp:
93811        (WebCore::urlFromPath):
93812        (WebCore::getWebLocData):
93813        (WebCore::createGlobalData):
93814        (WebCore::getURL):
93815        (WebCore::getPlainText):
93816        (WebCore::fragmentFromHTML):
93817
938182010-07-26  Patrick Gansterer  <paroga@paroga.com>
93819
93820        Reviewed by Adam Roben.
93821
93822        [WINCE] Buildfix for BitmapImage.h
93823        https://bugs.webkit.org/show_bug.cgi?id=42931
93824
93825        Use AffineTransform insted of TransformationMatrix.
93826
93827        * platform/graphics/BitmapImage.h:
93828
938292010-07-26  Dirk Schulze  <krit@webkit.org>
93830
93831        Unreviewed sort of Xcode project file.
93832
93833        * WebCore.xcodeproj/project.pbxproj:
93834
938352010-07-26  David Kilzer  <ddkilzer@apple.com>
93836
93837        <http://webkit.org/b/42982> Streamline Inspector Source build phase script should use CONFIGURATION not BUILD_STYLE
93838        <rdar://problem/6341764>
93839
93840        Reviewed by Mark Rowe.
93841
93842        * WebCore.xcodeproj/project.pbxproj: Switched Streamline
93843        Inspector Source build phase script to use CONFIGURATION instead
93844        of BUILD_STYLE.
93845
938462010-07-23  Ojan Vafai  <ojan@chromium.org>
93847
93848        Reviewed by Darin Adler.
93849
93850        crash in insertParagraph in a contentEditable list
93851        https://bugs.webkit.org/show_bug.cgi?id=42919
93852
93853        Don't try to break out of a list item if the list it's in
93854        is the rootEditableElement.
93855
93856        * editing/CompositeEditCommand.cpp:
93857        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
93858
938592010-07-26  Marcus Bulach  <bulach@chromium.org>
93860
93861        Reviewed by Jeremy Orlow.
93862
93863        Moves IDBKeyRange to use IDBKey rather than SerializedScriptValue / IDBAny.
93864        https://bugs.webkit.org/show_bug.cgi?id=42583
93865
93866        Tests: existing storage/indexeddb/idb-keyrange.html must pass.
93867
93868        * storage/IDBKeyRange.cpp:
93869        (WebCore::IDBKeyRange::IDBKeyRange):
93870        * storage/IDBKeyRange.h:
93871        (WebCore::IDBKeyRange::create):
93872        (WebCore::IDBKeyRange::left):
93873        (WebCore::IDBKeyRange::right):
93874        * storage/IDBKeyRange.idl:
93875        * storage/IndexedDatabaseRequest.cpp:
93876        (WebCore::IndexedDatabaseRequest::makeSingleKeyRange):
93877        (WebCore::IndexedDatabaseRequest::makeLeftBoundKeyRange):
93878        (WebCore::IndexedDatabaseRequest::makeRightBoundKeyRange):
93879        (WebCore::IndexedDatabaseRequest::makeBoundKeyRange):
93880        * storage/IndexedDatabaseRequest.h:
93881        * storage/IndexedDatabaseRequest.idl:
93882
938832010-07-26  Simon Fraser  <simon.fraser@apple.com>
93884
93885        Reviewed by Anders Carlsson.
93886
93887        Composited layers don't scroll in WebKit2
93888        https://bugs.webkit.org/show_bug.cgi?id=42771
93889
93890        Rename two methods on RenderLayerCompositor to make their use more clear, and call them
93891        when the FrameView gets resized and scrolled.
93892
93893        * page/FrameView.h:
93894        * page/FrameView.cpp:
93895        (WebCore::FrameView::setFrameRect): override so we know when the size of the FrameView changes, so that the
93896        RenderLayerCompositor can update its clipping layer.
93897        (WebCore::FrameView::scrollPositionChanged): Call compositor()->frameViewDidScroll().
93898
93899        * rendering/RenderLayerBacking.cpp:
93900        (WebCore::RenderLayerBacking::updateAfterWidgetResize): updateContentLayerOffset() was renamed.
93901
93902        * rendering/RenderLayerCompositor.h:
93903        * rendering/RenderLayerCompositor.cpp:
93904        (WebCore::RenderLayerCompositor::frameViewDidChangeSize): Renamed from updateContentLayerOffset().
93905        (WebCore::RenderLayerCompositor::frameViewDidScroll): Renamed from updateContentLayerScrollPosition().
93906        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Propagate compositing on Mac
93907        for any FrameView that doesn't have a native widget, which is the case with WebKit2.
93908        (WebCore::RenderLayerCompositor::requiresScrollLayer): New method to tell us whether we need to handle
93909        scrolling (and clipping) ourselves.
93910        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Do geometry flipping on the root platform
93911        layer only if we're not doing our own scrolling, and use the new requiresScrollLayer() method.
93912        (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Send out the rootPlatformLayer(),
93913        so that it returns the clipping layer if we have one.
93914
939152010-07-26  Tony Gentilcore  <tonyg@chromium.org>
93916
93917        Reviewed by Darin Fisher.
93918
93919        Move DocumentLoadTiming struct to a new file
93920        https://bugs.webkit.org/show_bug.cgi?id=42917
93921
93922        Also makes DocumentLoadTiming Noncopyable.
93923
93924        No new tests because no new functionality.
93925
93926        * GNUmakefile.am:
93927        * WebCore.gypi:
93928        * WebCore.vcproj/WebCore.vcproj:
93929        * WebCore.xcodeproj/project.pbxproj:
93930        * loader/DocumentLoadTiming.h: Added.
93931        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
93932        * loader/DocumentLoader.h:
93933        * loader/FrameLoader.cpp:
93934        * loader/FrameLoaderTypes.h:
93935        * loader/MainResourceLoader.cpp:
93936        * page/Timing.cpp:
93937
939382010-07-26  Mark Rowe  <mrowe@apple.com>
93939
93940        Fix an #if in WebCore.exp.in to correctly detect whether SVG filters are enabled.
93941
93942        * WebCore.exp.in:
93943
939442010-07-26  Steve Block  <steveblock@google.com>
93945
93946        Reviewed by Jeremy Orlow.
93947
93948        DeviceOrientation event listeners should never be called synchronously from addEventListener()
93949        https://bugs.webkit.org/show_bug.cgi?id=42304
93950
93951        No new tests as there are currently no implementations to test. Tests will be
93952        added once LayoutTestController methods for providing a mock implementation are
93953        in place, see Bug 39589.
93954
93955        * dom/DeviceOrientationController.cpp:
93956        (WebCore::DeviceOrientationController::DeviceOrientationController):
93957        (WebCore::DeviceOrientationController::timerFired):
93958        (WebCore::DeviceOrientationController::addListener):
93959        (WebCore::DeviceOrientationController::removeListener):
93960        (WebCore::DeviceOrientationController::removeAllListeners):
93961        * dom/DeviceOrientationController.h:
93962
939632010-07-26  Andreas Kling  <andreas.kling@nokia.com>
93964
93965        Reviewed by Tor Arne Vestbø.
93966
93967        [Qt] Canvas: Optimize GraphicsContext::addPath()
93968
93969        Avoid "deep concatenating" the canvas path onto the GC path
93970        if the GC path has no elements.
93971
93972        * platform/graphics/qt/GraphicsContextQt.cpp:
93973        (WebCore::GraphicsContext::addPath):
93974
939752010-07-23  Stephen White  <senorblanco@chromium.org>
93976
93977        Reviewed by Darin Fisher.
93978
93979        Implement OpenGLES2 helper classes.
93980        https://bugs.webkit.org/show_bug.cgi?id=42905
93981
93982        GLES2Canvas and GLES2Texture are some simple OpenGLES2 helper classes
93983        for managing state, samplers and textures.
93984
93985        When this is hooked up, it will be covered by many layout tests.
93986
93987        * WebCore.gypi:
93988        Add new files to chromium build (contents are protected by #if's for now).
93989        * platform/graphics/chromium/GLES2Canvas.cpp: Added.
93990        (WebCore::affineTo3x3):
93991        (WebCore::GLES2Canvas::State::State):
93992        (WebCore::GLES2Canvas::GLES2Canvas):
93993        (WebCore::GLES2Canvas::~GLES2Canvas):
93994        (WebCore::GLES2Canvas::clearRect):
93995        (WebCore::GLES2Canvas::fillRect):
93996        (WebCore::GLES2Canvas::setFillColor):
93997        (WebCore::GLES2Canvas::setAlpha):
93998        (WebCore::GLES2Canvas::translate):
93999        (WebCore::GLES2Canvas::rotate):
94000        (WebCore::GLES2Canvas::scale):
94001        (WebCore::GLES2Canvas::concatCTM):
94002        (WebCore::GLES2Canvas::save):
94003        (WebCore::GLES2Canvas::restore):
94004        (WebCore::GLES2Canvas::drawTexturedRect):
94005        (WebCore::GLES2Canvas::setCompositeOperation):
94006        (WebCore::GLES2Canvas::applyCompositeOperator):
94007        (WebCore::GLES2Canvas::getQuadVertices):
94008        (WebCore::GLES2Canvas::getQuadIndices):
94009        (WebCore::loadShader):
94010        (WebCore::GLES2Canvas::getSimpleProgram):
94011        (WebCore::GLES2Canvas::getTexProgram):
94012        (WebCore::GLES2Canvas::createTexture):
94013        (WebCore::GLES2Canvas::getTexture):
94014        (WebCore::GLES2Canvas::checkGLError):
94015        * platform/graphics/chromium/GLES2Canvas.h: Added.
94016        (WebCore::GLES2Canvas::gles2Context):
94017        * platform/graphics/chromium/GLES2Texture.cpp: Added.
94018        (WebCore::GLES2Texture::GLES2Texture):
94019        (WebCore::GLES2Texture::~GLES2Texture):
94020        (WebCore::GLES2Texture::create):
94021        (WebCore::convertFormat):
94022        (WebCore::GLES2Texture::load):
94023        (WebCore::GLES2Texture::bind):
94024        * platform/graphics/chromium/GLES2Texture.h: Added.
94025        (WebCore::GLES2Texture::):
94026        (WebCore::GLES2Texture::format):
94027        (WebCore::GLES2Texture::width):
94028        (WebCore::GLES2Texture::height):
94029
94030
940312010-07-26  Jeremy Orlow  <jorlow@chromium.org>
94032
94033        Reviewed by Steve Block.
94034
94035        Fix IndexedDB release build on mac
94036        https://bugs.webkit.org/show_bug.cgi?id=42377
94037
94038        * storage/IDBDatabaseImpl.cpp:
94039        (WebCore::IDBDatabaseImpl::objectStore):
94040
940412010-07-26  Satish Sampath  <satish@chromium.org>
94042
94043        Reviewed by Steve Block.
94044
94045        Add WebKit plumbing to connect speech requests and callbacks between WebCore and the embedder.
94046        https://bugs.webkit.org/show_bug.cgi?id=42367
94047
94048        No new tests, the relevant LayoutTestController bindings will be added in the next patch.
94049
94050        * page/SpeechInput.cpp: renamed a method.
94051        * page/SpeechInput.h: renamed a method.
94052        * page/SpeechInputClient.h: added an extra method to optionally let users stop recording once they have spoken.
94053        * page/SpeechInputClientListener.h: renamed a method.
94054        * page/SpeechInputListener.h: renamed a method.
94055
940562010-07-26  Andreas Kling  <andreas.kling@nokia.com>
94057
94058        Reviewed by Kenneth Rohde Christiansen.
94059
94060        [Qt] getImageData(): Single-pass RGB->BGR and un-premultiplication
94061        https://bugs.webkit.org/show_bug.cgi?id=42945
94062
94063        Combine the two operations into a single loop over the pixel data.
94064        Yields a considerable FPS gain on http://www.semantix.gr/statue.html
94065
94066        * platform/graphics/qt/ImageBufferQt.cpp:
94067        (WebCore::getImageData):
94068
940692010-07-26  Pavel Feldman  <pfeldman@chromium.org>
94070
94071        Reviewed by Shinichiro Hamaji.
94072
94073        Web Inspector: make sure proxy objects are JSON-stringifiable.
94074
94075        https://bugs.webkit.org/show_bug.cgi?id=42961
94076
94077        * inspector/front-end/InjectedScript.js:
94078        (injectedScriptConstructor):
94079
940802010-07-26  Alexander Pavlov  <apavlov@chromium.org>
94081
94082        Reviewed by Joseph Pecoraro.
94083
94084        Inspector should remember resources sorting set by the user
94085        https://bugs.webkit.org/show_bug.cgi?id=19208
94086
94087        Sorting options both for time and size graphs are memorized in a single property,
94088        which makes them possible to retrieve in a single message (e.g. useful for remote debugging).
94089
94090        * inspector/front-end/ResourcesPanel.js:
94091        (WebInspector.ResourcesPanel.prototype.populateSidebar):
94092        (WebInspector.ResourcesPanel.prototype._settingsLoaded):
94093        (WebInspector.ResourcesPanel.prototype._loadSortOptions):
94094        (WebInspector.ResourcesPanel.prototype._loadSortOptionForGraph):
94095        (WebInspector.ResourcesPanel.prototype._graphSelected):
94096        (WebInspector.ResourcesPanel.prototype._changeSortingFunction):
94097        (WebInspector.ResourcesPanel.prototype._selectedOptionNameForGraph):
94098        (WebInspector.ResourcesPanel.prototype._doChangeSortingFunction):
94099        * inspector/front-end/Settings.js:
94100        (WebInspector.populateApplicationSettings):
94101
941022010-07-25  Ryosuke Niwa  <rniwa@webkit.org>
94103
94104        Reviewed by Darin Adler.
94105
94106        Redo fails after text node is split by SplitTextNodeCommand
94107        https://bugs.webkit.org/show_bug.cgi?id=42941
94108
94109        The bug was caused by SplitTextNodeCommand not implementing doReapply.
94110        Implemented doReapply and added insertText1AndTrimText2 to share the code between doApply and doReapply.
94111
94112        Test: editing/undo/redo-split-text-node.html
94113              editing/undo/redo-split-text-node-with-removal.html
94114
94115        * editing/SplitTextNodeCommand.cpp:
94116        (WebCore::SplitTextNodeCommand::doApply): Calls executeApply.
94117        (WebCore::SplitTextNodeCommand::doUnapply): Don't delete m_text1, which is later used in doReapply.
94118        (WebCore::SplitTextNodeCommand::doReapply): Added.
94119        (WebCore::SplitTextNodeCommand::insertText1AndTrimText2): Added.
94120        * editing/SplitTextNodeCommand.h:
94121
941222010-07-23  Philippe Normand  <pnormand@igalia.com>
94123
94124        Reviewed by Eric Carlson.
94125
94126        [GTK] media/media-can-play-mpeg-audio.html fails
94127        https://bugs.webkit.org/show_bug.cgi?id=42895
94128
94129        Fixed advertizing of mp3, mpeg and mp4 mime-types in the player.
94130
94131        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
94132        (WebCore::mimeTypeCache):
94133
941342010-07-23  Philippe Normand  <pnormand@igalia.com>
94135
94136        Reviewed by Eric Carlson.
94137
94138        LayoutTests/media/media-document-audio-size.html failure
94139        https://bugs.webkit.org/show_bug.cgi?id=38376
94140
94141        Advertize audio/x-wav along with audio/wav when appropriate,
94142        otherwise WebKit attempts to use a plugin to play the media.
94143
94144        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
94145        (WebCore::mimeTypeCache):
94146
941472010-07-25  Ryosuke Niwa  <rniwa@webkit.org>
94148
94149        Reviewed by Kent Tamura.
94150
94151        splitTextAt*IfNeed and splitTextElementAt*IfNeed need to be cleaned up
94152        https://bugs.webkit.org/show_bug.cgi?id=42937
94153
94154        Isolated the code to decide whether or not text node should be split into isValidCaretPositionInTextNode.
94155        Moved the condition check out of *IfNeeded methods to applyRelativeFontStyleChange and applyInlineStyle.
94156
94157        No new tests added since this is a clean up.
94158
94159        * editing/ApplyStyleCommand.cpp:
94160        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Uses isValidCaretPositionInTextNode.
94161        (WebCore::ApplyStyleCommand::applyInlineStyle): Uses isValidCaretPositionInTextNode.
94162        (WebCore::ApplyStyleCommand::splitTextAtStart): Renamed from splitTextAtStartIfNeeded.
94163        (WebCore::ApplyStyleCommand::splitTextAtEnd): Renamed from splitTextAtEndIfNeeded.
94164        (WebCore::ApplyStyleCommand::splitTextElementAtStart): Renamed from splitTextElementAtStartIfNeeded.
94165        (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Renamed from splitTextElementAtEndIfNeeded.
94166        (WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode): Returns true if the position lies within a text node.
94167        * editing/ApplyStyleCommand.h:
94168
941692010-07-25  Patrick Gansterer  <paroga@paroga.com>
94170
94171        Reviewed by Kent Tamura.
94172
94173        [WINCE] Buildfix for ImageBufferWince
94174        https://bugs.webkit.org/show_bug.cgi?id=42928
94175
94176        * platform/graphics/wince/ImageBufferWince.cpp:
94177        (WebCore::):
94178        (WebCore::BufferedImage::draw): Pass through ColorSpace parameter.
94179        (WebCore::BufferedImage::drawPattern): Ditto.
94180        (WebCore::ImageBuffer::platformTransformColorSpace): Added.
94181
941822010-07-25  Patrick Gansterer  <paroga@paroga.com>
94183
94184        Reviewed by Kent Tamura.
94185
94186        [WINCE] Buildfix for PopupMenuWin.cpp
94187        https://bugs.webkit.org/show_bug.cgi?id=42932
94188
94189        Add #if !OS(WINCE) around unsupported window messages.
94190
94191        * platform/win/PopupMenuWin.cpp:
94192        (WebCore::PopupMenu::show):
94193        (WebCore::PopupMenu::wndProc):
94194
941952010-07-25  Adam Barth  <abarth@webkit.org>
94196
94197        Reviewed by Eric Seidel.
94198
94199        Implement adjustMathMLAttributes
94200        https://bugs.webkit.org/show_bug.cgi?id=42952
94201
94202        This is kind of mechanical overkill for adjusting one attribute name,
94203        but it's nice to use the same machinery as SVG.
94204
94205        * html/HTMLTreeBuilder.cpp:
94206        * mathml/mathattrs.in:
94207
942082010-07-25  Adam Barth  <abarth@webkit.org>
94209
94210        Reviewed by Eric Seidel.
94211
94212        Functions supporting the legacy tree builder are confusing
94213        https://bugs.webkit.org/show_bug.cgi?id=42951
94214
94215        This patch just inlines these functions into their one call site and
94216        removes the notImplemented() calls.  We thought we were going to grow
94217        these to support the new tree builder, but we took a different path.
94218        Previous to this patch, these functions were confusing because they
94219        looked like part of the new tree builder.
94220
94221        * html/HTMLTreeBuilder.cpp:
94222        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
94223        * html/HTMLTreeBuilder.h:
94224
942252010-07-25  Adam Barth  <abarth@webkit.org>
94226
94227        Reviewed by Eric Seidel.
94228
94229        Recent HTML5 TreeBuilder Regression?  All canvas tests ASSERT
94230        https://bugs.webkit.org/show_bug.cgi?id=42948
94231
94232        Remove ASSERT and replace with correct branch.  I put this ASSERT in
94233        to make sure we had test coverage for this branch.  I guess we do.  :)
94234
94235        * html/HTMLConstructionSite.cpp:
94236        (WebCore::HTMLConstructionSite::attach):
94237
942382010-07-25  Pavel Feldman  <pfeldman@chromium.org>
94239
94240        Reviewed by Timothy Hatcher.
94241
94242        Web Inspector: check of jQuery object type prior to treating it as an array.
94243
94244        https://bugs.webkit.org/show_bug.cgi?id=42946
94245
94246        * inspector/front-end/InjectedScript.js:
94247        (injectedScriptConstructor):
94248
942492010-07-24  Daniel Bates  <dbates@rim.com>
94250
94251        Unreviewed, build fix when building with WML support.
94252
94253        PageCache.cpp compile error when WML is enabled
94254        https://bugs.webkit.org/show_bug.cgi?id=40765
94255
94256        Remove extraneous semicolon.
94257
94258        Note, building with WML support enabled is broken
94259        even with this fix. See Bug #42943 for more details.
94260
94261        * history/PageCache.cpp:
94262        (WebCore::PageCache::canCachePageContainingThisFrame):
94263
942642010-07-24  Adam Barth  <abarth@webkit.org>
94265
94266        Reviewed by Eric Seidel.
94267
94268        Atomize strings used by the HTML5 tree builder
94269        https://bugs.webkit.org/show_bug.cgi?id=42875
94270
94271        This is about a 1% improvement to the parsing benchmark.
94272
94273        * html/HTMLTagNames.in:
94274        * html/HTMLTreeBuilder.cpp:
94275        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
94276        (WebCore::HTMLTreeBuilder::processStartTag):
94277        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
94278        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
94279
942802010-07-24  Patrick Gansterer  <paroga@paroga.com>
94281
94282        Reviewed by Darin Adler.
94283
94284        Buildfix for !ENABLE(INSPECTOR) after r63891.
94285        https://bugs.webkit.org/show_bug.cgi?id=42925
94286
94287        * bindings/js/ScriptValue.cpp: Added property svn:eol-style.
94288        * bindings/js/ScriptValue.h: Added property svn:eol-style.
94289        * inspector/ConsoleMessage.cpp: Added property svn:eol-style.
94290        * inspector/ConsoleMessage.h: Added property svn:eol-style.
94291
942922010-07-24  Adam Barth  <abarth@webkit.org>
94293
94294        Reviewed by Eric Seidel.
94295
94296        Re-order whitespace checks in the tokenizer
94297        https://bugs.webkit.org/show_bug.cgi?id=42923
94298
94299        This saves about 0.5% on the parsing benchmark.
94300
94301        * html/HTMLTokenizer.cpp:
94302
943032010-07-24  Andreas Kling  <andreas.kling@nokia.com>
94304
94305        Reviewed by Simon Hausmann.
94306
94307        [Qt] tst_QWebFrame::callQtInvokable() fails
94308        https://bugs.webkit.org/show_bug.cgi?id=41065
94309
94310        Converting JS objects to QVariantMaps was broken.
94311        This is a partial revert of <http://trac.webkit.org/changeset/61478>
94312
94313        * bridge/qt/qt_runtime.cpp:
94314        (JSC::Bindings::convertValueToQVariant): Remove erroneous crash guard
94315        around JSObject::getPropertyNames()
94316
943172010-07-24  Adam Barth  <abarth@webkit.org>
94318
94319        Reviewed by Eric Seidel.
94320
94321        Save a per-character branch in the HTML parser
94322        https://bugs.webkit.org/show_bug.cgi?id=42921
94323
94324        The parsing benchmark claims this is a wash, but it makes me feel
94325        better.
94326
94327        * html/HTMLToken.h:
94328        (WebCore::HTMLToken::clear):
94329        (WebCore::HTMLToken::beginStartTag):
94330        (WebCore::HTMLToken::beginEndTag):
94331        (WebCore::HTMLToken::ensureIsCharacterToken):
94332        (WebCore::HTMLToken::beginComment):
94333        (WebCore::HTMLToken::beginDOCTYPE):
94334        * html/HTMLTokenizer.cpp:
94335        (WebCore::HTMLTokenizer::bufferCharacter):
94336
943372010-07-23  Patrick Gansterer  <paroga@paroga.com>
94338
94339        Reviewed by Darin Adler.
94340
94341        Buildfix for !ENABLE(FILTERS) after r63531.
94342        https://bugs.webkit.org/show_bug.cgi?id=42914
94343
94344        * rendering/RenderSVGContainer.cpp: Add missing header.
94345
943462010-07-23  Kavita Kanetkar  <kkanetkar@chromium.org>
94347
94348        Reviewed by Joseph Pecoraro.
94349
94350        Implement remaining Inspector support for chrome's appcache
94351        https://bugs.webkit.org/show_bug.cgi?id=42426
94352
94353        * inspector/InspectorApplicationCacheAgent.cpp:
94354        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
94355        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
94356        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
94357        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
94358        * inspector/InspectorApplicationCacheAgent.h:
94359        (WebCore::InspectorController::connectFrontend):
94360        * loader/appcache/ApplicationCacheHost.cpp:
94361        (WebCore::ApplicationCacheHost::fillResourceList):
94362        (WebCore::ApplicationCacheHost::applicationCacheInfo):
94363        * loader/appcache/ApplicationCacheHost.h: Changed creation + update times to double and moved appcache info here from InspectorApplicationCacheAgent.h
94364        (WebCore::ApplicationCacheHost::CacheInfo::CacheInfo):
94365        (WebCore::ApplicationCacheHost::ResourceInfo::ResourceInfo):
94366
943672010-07-23  Rafael Antognolli  <antognolli@profusion.mobi>
94368
94369        Reviewed by Antonio Gomes.
94370
94371        [EFL] Cleanup glib support (make it optional)
94372        https://bugs.webkit.org/show_bug.cgi?id=42480
94373
94374        No new tests, no new features added.
94375        Just add flags and directories for glib if necessary.
94376        Put some ifdefs on glib calls.
94377
94378        * CMakeListsEfl.txt:
94379        * platform/graphics/cairo/FontPlatformDataCairo.cpp:
94380        (WebCore::FontPlatformData::FontPlatformData):
94381
943822010-07-23  James Robinson  <jamesr@chromium.org>
94383
94384        Reviewed by Dimitri Glazkov.
94385
94386        CanvasRenderingContext2D has lots of style errors
94387        https://bugs.webkit.org/show_bug.cgi?id=42918
94388
94389        CanvasRenderingContext2D.h and .cpp have lots of style errors.  I'm planning to post patches
94390        to both of these files soon, so to minimize merge conflicts and additional style violations
94391        it seems best to fix all of these errors in bulk before posting any functional changes.  In
94392        particular the header file is incorrectly indented so any correctly formatted addition will
94393        be out of place.
94394
94395        * html/canvas/CanvasRenderingContext2D.cpp:
94396        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
94397        (WebCore::CanvasRenderingContext2D::setFillStyle):
94398        (WebCore::CanvasRenderingContext2D::transform):
94399        (WebCore::CanvasRenderingContext2D::setTransform):
94400        (WebCore::CanvasRenderingContext2D::arcTo):
94401        (WebCore::CanvasRenderingContext2D::arc):
94402        (WebCore::validateRectForCanvas):
94403        (WebCore::CanvasRenderingContext2D::strokeRect):
94404        (WebCore::CanvasRenderingContext2D::drawImage):
94405        (WebCore::CanvasRenderingContext2D::createRadialGradient):
94406        (WebCore::CanvasRenderingContext2D::createPattern):
94407        (WebCore::CanvasRenderingContext2D::willDraw):
94408        (WebCore::CanvasRenderingContext2D::createImageData):
94409        (WebCore::CanvasRenderingContext2D::putImageData):
94410        (WebCore::CanvasRenderingContext2D::setFont):
94411        (WebCore::CanvasRenderingContext2D::drawTextInternal):
94412        * html/canvas/CanvasRenderingContext2D.h:
94413        (WebCore::CanvasRenderingContext2D::is2d):
94414        (WebCore::CanvasRenderingContext2D::getLineCap):
94415        (WebCore::CanvasRenderingContext2D::getLineJoin):
94416        (WebCore::CanvasRenderingContext2D::state):
94417        (WebCore::CanvasRenderingContext2D::):
94418
944192010-07-23  Adam Barth  <abarth@webkit.org>
94420
94421        Remove FIXME that we already fixed.
94422
94423        * html/HTMLTreeBuilder.cpp:
94424        (WebCore::HTMLTreeBuilder::processCharacter):
94425
944262010-06-24  Dimitri Glazkov  <dglazkov@chromium.org>
94427
94428        Reviewed by Kent Tamura.
94429
94430        Move more form submission logic into FormSubmission.
94431        https://bugs.webkit.org/show_bug.cgi?id=41110
94432
94433        Two major moves:
94434        * Fold HTMLFormElement::prepareFormSubmission into FormSubmission::create
94435        * Move non-static (non-FormData-building) methods of FormDataBuilder
94436            to FormSubmission::Attributes.
94437
94438        Mechanical moving, no change in behavior, so no new tests.
94439
94440        * WebCore.xcodeproj/project.pbxproj: Gave FormDataBuilder.h "project" and
94441            FormSubmission.h "private" visibility.
94442        * html/HTMLFormElement.cpp:
94443        (WebCore::HTMLFormElement::submit): Changed to use FormSubmission::create.
94444        (WebCore::HTMLFormElement::parseMappedAttribute): Changed to use m_attributes.
94445        * html/HTMLFormElement.h:
94446        (WebCore::HTMLFormElement::enctype): Ditto.
94447        (WebCore::HTMLFormElement::encoding): Ditto.
94448        (WebCore::HTMLFormElement::acceptCharset): Ditto.
94449        * loader/FormSubmission.cpp:
94450        (WebCore::generateFormDataIdentifier): Moved from HTMLFormElement.
94451        (WebCore::appendMailtoPostFormDataToURL): Ditto.
94452        (WebCore::FormSubmission::Attributes::parseAction): Moved from FormDataBuilder.
94453        (WebCore::FormSubmission::Attributes::parseEncodingType): Ditto.
94454        (WebCore::FormSubmission::Attributes::parseMethodType): Ditto.
94455        (WebCore::FormSubmission::FormSubmission): Made inline.
94456        (WebCore::FormSubmission::create): Added logic that used to be in
94457            HTMLFormElement::prepareFormSubmission.
94458        * loader/FormSubmission.h:
94459        (WebCore::FormSubmission::):
94460        (WebCore::FormSubmission::Attributes::Attributes): Added new class.
94461        (WebCore::FormSubmission::Attributes::method): Moved from FormDataBuilder.
94462        (WebCore::FormSubmission::Attributes::isMultiPartForm): Ditto.
94463        (WebCore::FormSubmission::Attributes::action): Ditto.
94464        (WebCore::FormSubmission::Attributes::target): Ditto.
94465        (WebCore::FormSubmission::Attributes::setTarget): Ditto.
94466        (WebCore::FormSubmission::Attributes::encodingType): Ditto.
94467        (WebCore::FormSubmission::Attributes::acceptCharset): Ditto.
94468        (WebCore::FormSubmission::Attributes::setAcceptCharset): Ditto.
94469        (WebCore::FormSubmission::target): Ditto.
94470        (WebCore::FormSubmission::contentType): Const-ified return type.
94471        (WebCore::FormSubmission::boundary): Ditto.
94472        * platform/network/FormDataBuilder.cpp:
94473        (WebCore::FormDataBuilder::encodingFromAcceptCharset): Renamed method for clarity,
94474            made it use param instead of a class member.
94475        * platform/network/FormDataBuilder.h:
94476        (WebCore::FormDataBuilder::FormDataBuilder): Made constructor private.
94477        * wml/WMLGoElement.cpp: Changed to use FormSubmision::Attributes.
94478        * wml/WMLGoElement.h: Ditto.
94479
944802010-07-23  Adam Barth  <abarth@webkit.org>
94481
94482        Reviewed by Eric Seidel.
94483
94484        HTML5 Parser: document.write in a asynchronous script which is specified to load before page finish blows away document
94485        https://bugs.webkit.org/show_bug.cgi?id=42365
94486
94487        This patch implements the changes Ian made to HTML5 to address these
94488        issues.  Let's try it and see how well it works.
94489
94490        Test: http/tests/misc/write-from-dom-script.html
94491
94492        * dom/Document.cpp:
94493        (WebCore::Document::Document):
94494        (WebCore::Document::write):
94495        * dom/Document.h:
94496        (WebCore::Document::writeDisabled):
94497        (WebCore::Document::setWriteDisabled):
94498        * dom/DocumentParser.h:
94499        (WebCore::DocumentParser::hasInsertionPoint):
94500        * dom/ScriptElement.cpp:
94501        (WebCore::ScriptElement::insertedIntoDocument):
94502        (WebCore::ScriptElementData::ScriptElementData):
94503        (WebCore::ScriptElementData::evaluateScript):
94504        * dom/ScriptElement.h:
94505        (WebCore::ScriptElementData::writeDisabled):
94506        (WebCore::ScriptElementData::setWriteDisabled):
94507        * html/HTMLDocumentParser.cpp:
94508        (WebCore::HTMLDocumentParser::hasInsertionPoint):
94509        (WebCore::HTMLDocumentParser::insert):
94510        * html/HTMLDocumentParser.h:
94511
945122010-07-23  Patrick Gansterer  <paroga@paroga.com>
94513
94514        Reviewed by Adam Roben.
94515
94516        [WINCE] Buildfix for PopupMenuWin.cpp
94517        https://bugs.webkit.org/show_bug.cgi?id=42906
94518
94519        Use correct API for BitmapInfo landed in r63944.
94520
94521        * platform/win/PopupMenuWin.cpp:
94522        (WebCore::PopupMenu::paint):
94523
945242010-07-23  fsamuel@chromium.org  <fsamuel@chromium.org>
94525
94526        Reviewed by David Hyatt.
94527
94528        Updated table painting to draw cell layers in the correct order.
94529
94530        Table Cell Layering
94531        https://bugs.webkit.org/show_bug.cgi?id=40775
94532
94533        Tests: tables/layering/paint-test-layering-1.html
94534               tables/layering/paint-test-layering-2.html
94535
94536        * accessibility/AccessibilityTable.cpp:
94537        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
94538        (WebCore::AccessibilityTable::addChildren):
94539        (WebCore::AccessibilityTable::cellForColumnAndRow):
94540        * accessibility/AccessibilityTableCell.cpp:
94541        (WebCore::AccessibilityTableCell::titleUIElement):
94542        * accessibility/AccessibilityTableColumn.cpp:
94543        (WebCore::AccessibilityTableColumn::headerObjectForSection):
94544        * rendering/AutoTableLayout.cpp:
94545        (WebCore::AutoTableLayout::recalcColumn):
94546        * rendering/RenderTable.cpp:
94547        (WebCore::RenderTable::splitColumn):
94548        (WebCore::RenderTable::calcBorderLeft):
94549        (WebCore::RenderTable::calcBorderRight):
94550        (WebCore::RenderTable::cellAbove):
94551        (WebCore::RenderTable::cellBelow):
94552        (WebCore::RenderTable::cellBefore):
94553        (WebCore::RenderTable::cellAfter):
94554        * rendering/RenderTableSection.cpp:
94555        (WebCore::RenderTableSection::RenderTableSection):
94556        (WebCore::RenderTableSection::ensureRows):
94557        (WebCore::RenderTableSection::addCell):
94558        (WebCore::RenderTableSection::setCellWidths):
94559        (WebCore::RenderTableSection::calcRowHeight):
94560        (WebCore::RenderTableSection::layoutRows):
94561        (WebCore::RenderTableSection::calcOuterBorderTop):
94562        (WebCore::RenderTableSection::calcOuterBorderBottom):
94563        (WebCore::RenderTableSection::calcOuterBorderLeft):
94564        (WebCore::RenderTableSection::calcOuterBorderRight):
94565        (WebCore::RenderTableSection::firstLineBoxBaseline):
94566        (WebCore::compareCellPositions):
94567        (WebCore::RenderTableSection::paintCell):
94568        (WebCore::RenderTableSection::paintObject):
94569        (WebCore::RenderTableSection::numColumns):
94570        (WebCore::RenderTableSection::appendColumn):
94571        (WebCore::RenderTableSection::splitColumn):
94572        (WebCore::RenderTableSection::nodeAtPoint):
94573        * rendering/RenderTableSection.h:
94574        (WebCore::RenderTableSection::CellStruct::CellStruct):
94575        (WebCore::RenderTableSection::CellStruct::primaryCell):
94576        (WebCore::RenderTableSection::CellStruct::hasCells):
94577        (WebCore::RenderTableSection::primaryCellAt):
94578
945792010-07-23  Patrick Gansterer  <paroga@paroga.com>
94580
94581        Reviewed by Adam Roben.
94582
94583        [WINCE] Buildfix for Path.h
94584        https://bugs.webkit.org/show_bug.cgi?id=42904
94585
94586        * platform/graphics/Path.h: Add missing typedef PlatformPath.
94587
945882010-07-23  Adam Barth  <abarth@webkit.org>
94589
94590        Reviewed by Eric Seidel.
94591
94592        Reserve capacity for attributes
94593        https://bugs.webkit.org/show_bug.cgi?id=42877
94594
94595        This is about a 1.7% improvement to the parsing benchmark.
94596
94597        * html/HTMLToken.h:
94598        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
94599
946002010-07-23  Adam Barth  <abarth@webkit.org>
94601
94602        Reviewed by Eric Seidel.
94603
94604        Inline HTMLElementStack::top
94605        https://bugs.webkit.org/show_bug.cgi?id=42879
94606
94607        According to sampling, HTMLElementStack::top is the hotest function in
94608        the treebuilder.  Inlining it is about a 0.3% improvement to the
94609        parsing benchmark.  This squares with how often it occurs in samples.
94610
94611        * html/HTMLElementStack.cpp:
94612        * html/HTMLElementStack.h:
94613        (WebCore::HTMLElementStack::top):
94614
946152010-07-23  Patrick Gansterer  <paroga@paroga.com>
94616
94617        Reviewed by Adam Roben.
94618
94619        [WINCE] Buildfix for GraphicsContext
94620        https://bugs.webkit.org/show_bug.cgi?id=42888
94621
94622        Use AffineTransform insted of TransformationMatrix and
94623        add ColorSpace parameter to the drawBitmap methods.
94624
94625        * platform/graphics/GraphicsContext.h:
94626        * platform/graphics/wince/GraphicsContextWince.cpp:
94627        (WebCore::GraphicsContext::affineTransform):
94628        (WebCore::GraphicsContext::fillRoundedRect):
94629        (WebCore::GraphicsContext::drawBitmap):
94630        (WebCore::GraphicsContext::drawBitmapPattern):
94631
946322010-07-23  Rafael Antognolli  <antognolli@profusion.mobi>
94633
94634        Reviewed by Antonio Gomes.
94635
94636        [EFL] Add support for using libcurl network backend.
94637        https://bugs.webkit.org/show_bug.cgi?id=42286
94638
94639        Add files and flags for soup/curl specific backend being
94640        used.
94641        Put some ifdefs around soup/glib calls.
94642
94643        No new tests, no new features implemented.
94644
94645        * CMakeListsEfl.txt:
94646        * platform/efl/FileSystemEfl.cpp:
94647        (WebCore::fileSystemRepresentation):
94648
946492010-07-23  Adam Barth  <abarth@webkit.org>
94650
94651        Reviewed by Eric Seidel.
94652
94653        Add fast-reject path for InputStreamPreprocessor::peek
94654        https://bugs.webkit.org/show_bug.cgi?id=42881
94655
94656        This is about a 2.5% speedup on the parsing benchmark.
94657
94658        * html/HTMLTokenizer.h:
94659        (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
94660
946612010-07-23  Patrick Gansterer  <paroga@paroga.com>
94662
94663        Reviewed by Adam Roben.
94664
94665        [WINCE] Merge PasteboardWince.cpp into PasteboardWin.cpp
94666        https://bugs.webkit.org/show_bug.cgi?id=42885
94667
94668        Make PasteboardWin more portable and remove the global namespace prefix
94669        from GlobalLock/GlobalUnlock, since they are only macros on WinCE.
94670
94671        * platform/win/PasteboardWin.cpp:
94672        (WebCore::PasteboardOwnerWndProc):
94673        (WebCore::Pasteboard::Pasteboard):
94674        (WebCore::Pasteboard::plainText):
94675        (WebCore::Pasteboard::documentFragment):
94676
946772010-07-23  Justin Schuh  <jschuh@chromium.org>
94678
94679        Unreviewed, rolling out r63925.
94680        http://trac.webkit.org/changeset/63925
94681        https://bugs.webkit.org/show_bug.cgi?id=42858
94682
94683        Introduced a regression in history state.
94684
94685        * page/History.cpp:
94686        (WebCore::History::urlForState):
94687
946882010-07-23  Martin Robinson  <mrobinson@igalia.com>
94689
94690        Unreviewed build fix.
94691
94692        Fix make dist by aligning the source list with currently used headers.
94693
94694        * GNUmakefile.am:
94695
946962010-07-23  Alex Milowski  <alex@milowski.com>
94697
94698        Reviewed by Darin Adler.
94699
94700        Moved the 'mathml' group back to where it belongs as
94701        siblings of the other major folders.
94702
94703        * WebCore.xcodeproj/project.pbxproj:
94704
947052010-07-23  Patrick Gansterer  <paroga@paroga.com>
94706
94707        Reviewed by Adam Roben.
94708
94709        Buildfix for WinCE graphics after r56015.
94710        https://bugs.webkit.org/show_bug.cgi?id=41354
94711
94712        Use fabs() insetead of abs().
94713
94714        * platform/graphics/wince/GraphicsContextWince.cpp:
94715        (WebCore::GraphicsContext::fillRect):
94716        * platform/graphics/wince/PlatformPathWince.cpp:
94717        (WebCore::PlatformPath::addArcTo):
94718
947192010-07-23  ryuan choi  <ryuan.choi@samsung.com>
94720
94721        Reviewed by Antonio Gomes.
94722
94723        [EFL]build break because of r63927
94724        https://bugs.webkit.org/show_bug.cgi?id=42864
94725
94726        * CMakeLists.txt:
94727
947282010-07-23  Adam Barth  <abarth@webkit.org>
94729
94730        Reviewed by Eric Seidel.
94731
94732        Inline HTMLTokenizer::InputStreamPreprocessor::peek
94733        https://bugs.webkit.org/show_bug.cgi?id=42880
94734
94735        According to sampling HTMLTokenizer::InputStreamPreprocessor::peek is
94736        the hotest function in the tokenizer.  Inlining this function is about
94737        a 2.2% speedup on the parser benchmark.  Turns out the tokenizer is
94738        much hotter than the tree builder.  :)
94739
94740        * html/HTMLTokenizer.h:
94741        (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
94742
947432010-07-23  Andras Becsi  <abecsi@webkit.org>
94744
94745        Unreviewed build fix.
94746
94747        [Qt] Fix WebKit2 linkage.
94748
94749        No new tests needed.
94750
94751        * WebCore.pro: add InjectedBundlePageEditorClient.cpp to WK2 sources
94752
947532010-07-23  Balazs Kelemen  <kb@inf.u-szeged.hu>
94754
94755        Reviewed by Kenneth Rohde Christiansen.
94756
94757        [Qt] Setup the QtWebProcess
94758
94759        https://bugs.webkit.org/show_bug.cgi?id=42623
94760
94761        * WebCore.pro: Added WebProcessMainQt.cpp to SOURCES.
94762
947632010-07-23  Pavel Feldman  <pfeldman@chromium.org>
94764
94765        Not reviewed: Chromium tests fix.
94766
94767        * inspector/CodeGeneratorInspector.pm:
94768
947692010-07-23  Patrick Gansterer  <paroga@paroga.com>
94770
94771        Reviewed by Adam Roben.
94772
94773        [WINCE] Buildfix for PluginDatabaseWin.cpp
94774        https://bugs.webkit.org/show_bug.cgi?id=41887
94775
94776        Define KEY_ENUMERATE_SUB_KEYS only if not defined.
94777
94778        * plugins/win/PluginDatabaseWin.cpp:
94779
947802010-07-23  Pavel Feldman  <pfeldman@chromium.org>
94781
94782        Reviewed by Yury Semikhatsky.
94783
94784        Chromium DevTools: migrate from utility context-based injected
94785        script dispatch to upstream schema.
94786
94787        https://bugs.webkit.org/show_bug.cgi?id=42883
94788
94789        * bindings/v8/ScriptProfile.cpp:
94790        (WebCore::ScriptProfile::title):
94791        * inspector/InspectorController.cpp:
94792        (WebCore::InspectorController::getProfile):
94793        * inspector/front-end/InjectedScriptAccess.js:
94794
947952010-07-23  Pavel Feldman  <pfeldman@chromium.org>
94796
94797        Not reviewed: rolling out r63963.
94798
94799        * bindings/v8/ScriptProfile.cpp:
94800        (WebCore::ScriptProfile::title):
94801        * inspector/InspectorController.cpp:
94802        (WebCore::InspectorController::getProfile):
94803        * inspector/front-end/InjectedScriptAccess.js:
94804
948052010-07-23  Pavel Feldman  <pfeldman@chromium.org>
94806
94807        Reviewed by Yury Semikhatsky.
94808
94809        Chromium DevTools: migrate from utility context-based injected
94810        script dispatch to upstream schema.
94811
94812        https://bugs.webkit.org/show_bug.cgi?id=42883
94813
94814        * bindings/v8/ScriptProfile.cpp:
94815        (WebCore::ScriptProfile::title):
94816        * inspector/InspectorController.cpp:
94817        (WebCore::InspectorController::getProfile):
94818        * inspector/front-end/InjectedScriptAccess.js:
94819        (InjectedScriptAccess.get if):
94820        (InjectedScriptAccess):
94821
948222010-07-23  Yury Semikhatsky  <yurys@chromium.org>
94823
94824        Reviewed by Pavel Feldman.
94825
94826        Web Inspector: error info propagation in InspectorBackendDispatch should be improved
94827        https://bugs.webkit.org/show_bug.cgi?id=42873
94828
94829        * inspector/CodeGeneratorInspector.pm: report wrong parameter count and wrong
94830        parametere type errror to the dispatch method caller
94831
948322010-07-23  Pavel Feldman  <pfeldman@chromium.org>
94833
94834        Reviewed by Yury Semikhatsky.
94835
94836        Web Inspector: injectedScriptId is missing in the stack frame wrappers.
94837
94838        https://bugs.webkit.org/show_bug.cgi?id=42889
94839
94840        * inspector/front-end/InjectedScript.js:
94841        (injectedScriptConstructor):
94842
948432010-07-23  Shinichiro Hamaji  <hamaji@chromium.org>
94844
94845        Reviewed by Kent Tamura.
94846
94847        Backslash isn't transcoded in <input>
94848        https://bugs.webkit.org/show_bug.cgi?id=42878
94849
94850        * css/CSSStyleSelector.cpp:
94851        (WebCore::CSSStyleSelector::applyProperty):
94852
948532010-07-22  Ilya Tikhonovsky  <loislo@chromium.org>
94854
94855        Reviewed by Yury Semikhatsky.
94856
94857        WebInspector: CodeGeneratorInspector was extended and now it can
94858        generate InspectorBackedDispatcher's code. This dispatcher will
94859        validate and dispatch incoming inspector commands only by native
94860        code without using javaScript. That is necessary step for
94861        RemoteDebugging support.
94862        https://bugs.webkit.org/show_bug.cgi?id=42588
94863
94864        * GNUmakefile.am:
94865        * WebCore.gyp/WebCore.gyp:
94866        * WebCore.gypi:
94867        * WebCore.pri:
94868        * WebCore.vcproj/WebCore.vcproj:
94869        * WebCore.xcodeproj/project.pbxproj:
94870        * inspector/CodeGeneratorInspector.pm:
94871        * inspector/InspectorController.cpp:
94872        (WebCore::InspectorController::InspectorController):
94873        * inspector/InspectorController.h:
94874        (WebCore::InspectorController::inspectorBackendDispatcher):
94875        * inspector/front-end/ElementsPanel.js:
94876        (WebInspector.ElementsPanel.prototype.setDocument):
94877
948782010-07-22  Shinichiro Hamaji  <hamaji@chromium.org>
94879
94880        Reviewed by Kent Tamura.
94881
94882        Backslash is transcoded into yen sign even when non japanese font is specified
94883        https://bugs.webkit.org/show_bug.cgi?id=39654
94884
94885        Test: fast/text/backslash-to-yen-sign-euc.html
94886
94887        * css/CSSStyleSelector.cpp:
94888        (WebCore::CSSStyleSelector::applyProperty): Call FontDescriptor::setIsSpecifiedFont.
94889        * platform/graphics/Font.cpp:
94890        (WebCore::Font::Font):
94891        * platform/graphics/FontDescription.h: Added m_isSpecifiedFont and its accessors.
94892        (WebCore::FontDescription::FontDescription):
94893        (WebCore::FontDescription::isSpecifiedFont):
94894        (WebCore::FontDescription::setIsSpecifiedFont):
94895        (WebCore::FontDescription::operator==):
94896        * platform/text/transcoder/FontTranscoder.cpp:
94897        (WebCore::FontTranscoder::converterType): Don't transcode backslashes if a font family is explicitly specified.
94898        (WebCore::FontTranscoder::convert):
94899        (WebCore::FontTranscoder::needsTranscoding):
94900        * platform/text/transcoder/FontTranscoder.h: Change the arguments from AtomicString fontFamily to Font.
94901        * rendering/RenderText.cpp:
94902        (WebCore::RenderText::updateNeedsTranscoding):
94903        (WebCore::RenderText::setTextInternal):
94904
949052010-07-22  Jon Honeycutt  <jhoneycutt@apple.com>
94906
94907        Windows build fix.
94908
94909        Commit some changes missed by the commit-queue in r63944.
94910
94911        * platform/win/BitmapInfo.h:
94912        (WebCore::BitmapInfo::is16bit):
94913        (WebCore::BitmapInfo::is32bit):
94914        (WebCore::BitmapInfo::width):
94915        (WebCore::BitmapInfo::height):
94916        (WebCore::BitmapInfo::size):
94917        (WebCore::BitmapInfo::paddedWidth):
94918        (WebCore::BitmapInfo::numPixels):
94919        (WebCore::BitmapInfo::paddedBytesPerLine):
94920        (WebCore::BitmapInfo::bytesPerLine):
94921
949222010-07-22  Patrick Gansterer  <paroga@paroga.com>
94923
94924        Reviewed by Adam Roben.
94925
94926        [WINCE] Add additonal methods to BitmapInfo.
94927        https://bugs.webkit.org/show_bug.cgi?id=42071
94928
94929        Added a parameter to create 16bit BitmapInfo and
94930        some additional accessors for the WinCE port.
94931
94932        Set bmiHeader.biSize only at constructor.
94933
94934        * platform/win/BitmapInfo.cpp:
94935        (WebCore::bitmapInfoForSize):
94936        (WebCore::BitmapInfo::create):
94937        (WebCore::BitmapInfo::createBottomUp):
94938        * platform/win/BitmapInfo.h:
94939        (WebCore::BitmapInfo::is16bit):
94940        (WebCore::BitmapInfo::is32bit):
94941        (WebCore::BitmapInfo::width):
94942        (WebCore::BitmapInfo::height):
94943        (WebCore::BitmapInfo::size):
94944        (WebCore::BitmapInfo::paddedWidth):
94945        (WebCore::BitmapInfo::numPixels):
94946        (WebCore::BitmapInfo::paddedBytesPerLine):
94947        (WebCore::BitmapInfo::bytesPerLine):
94948
949492010-07-22  MORITA Hajime  <morrita@google.com>
94950
94951        Reviewed by Ojan Vafai.
94952
94953        Autoscroll on selection should take scrollbars into account as outside of the content.
94954        https://bugs.webkit.org/show_bug.cgi?id=40403
94955
94956        ScrollView's scroll-bar was considered as a part of content rect,
94957        that prevents autoscroll to happen when the pointer is over the
94958        scroll-bar.  This change excluded scroll-bar region from scrolling
94959        delta calculation.
94960        
94961        Test: WebCore/manual-tests/autoscroll-over-scrollbar.html
94962
94963        * rendering/RenderLayer.cpp:
94964        (WebCore::RenderLayer::scrollRectToVisible):
94965
949662010-07-22  Kent Tamura  <tkent@chromium.org>
94967
94968        Reviewed by Darin Adler.
94969
94970        maxLength should not be applied to non-text types
94971        https://bugs.webkit.org/show_bug.cgi?id=42814
94972
94973        According to the HTML5 specification, maxLength attribute should
94974        be applied to text, search, url, tel, email, and password types.
94975
94976        Test: fast/forms/input-maxlength-unsupported.html
94977
94978        * dom/InputElement.cpp:
94979        (WebCore::InputElement::handleBeforeTextInsertedEvent):
94980         Apply maxLength() only if supportsMaxLength() is true.
94981        * dom/InputElement.h:
94982        * html/HTMLInputElement.cpp:
94983        (WebCore::HTMLInputElement::patternMismatch):
94984         Code cleanup by isTextType().
94985        (WebCore::HTMLInputElement::tooLong):
94986         ditto.
94987        (WebCore::HTMLInputElement::isTextType):
94988         Added. This returns true for types with maxLength/pattern/placeholder.
94989        * html/HTMLInputElement.h:
94990        (WebCore::HTMLInputElement::supportsMaxLength):
94991         Added. Just calls isTextType().
94992        (WebCore::HTMLInputElement::supportsPlaceholder):
94993         Code cleanup by isTextType().
94994        * wml/WMLInputElement.h:
94995        (WebCore::WMLInputElement::supportsMaxLength):
94996         Added. Always returns true.
94997
949982010-07-22  Ryosuke Niwa  <rniwa@webkit.org>
94999
95000        Reviewed by Kent Tamura.
95001
95002        [cleanup] logic to extract adjacent lists and list children in listifyParagraph and unlistifyParagraph should be isolated
95003        https://bugs.webkit.org/show_bug.cgi?id=42841
95004
95005        Added enclosingListChild that takes the list node containing the node for the second argument
95006        to ensure that it only returns the enclosing list child of the specified list node.
95007
95008        Added adjacentEnclosingList that finds adjacent lists of the specified position.
95009        It takes the current position, the adjacent position that may or may not have a list, and the list type,
95010        and avoids a list that belongs to a different table cell or an outer list that contains the current position.
95011
95012        No new tests needed.
95013
95014        * editing/InsertListCommand.cpp:
95015        (WebCore::enclosingListChild): Added. See above.
95016        (WebCore::InsertListCommand::unlistifyParagraph): Uses enclosingListChild.
95017        (WebCore::adjacentEnclosingList): Added. See above.
95018        (WebCore::InsertListCommand::listifyParagraph): Uses adjacentEnclosingList.
95019
950202010-07-22  Patrick Gansterer  <paroga@paroga.com>
95021
95022        Reviewed by Adam Roben.
95023
95024        [WIN] Correct DeleteObject usage in PasteboardWin
95025        https://bugs.webkit.org/show_bug.cgi?id=41956
95026
95027        Call DeleteObject() if OpenClipboard() fails and don't
95028        call DeleteObject() on objects returned from SelectObject().
95029
95030        * platform/win/PasteboardWin.cpp:
95031        (WebCore::Pasteboard::writeImage):
95032
950332010-07-22  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
95034
95035        Reviewed by Antonio Gomes.
95036
95037        [EFL] Log function is incorrectly used.
95038        r63804 used LOG function, but it should receive one more parameter.
95039        Used LOG_ERROR instead, since this is an error message.
95040        https://bugs.webkit.org/show_bug.cgi?id=42842
95041
95042        * platform/efl/WidgetEfl.cpp:
95043        (WebCore::Widget::applyFallbackCursor): use LOG_ERROR in place of LOG
95044
950452010-07-22  Kent Tamura  <tkent@chromium.org>
95046
95047        Reviewed by Ojan Vafai.
95048
95049        Cancel button of search input field should fire input/change events
95050        https://bugs.webkit.org/show_bug.cgi?id=34393
95051
95052        Test: fast/forms/search-cancel-button-events.html
95053
95054        * rendering/TextControlInnerElements.cpp:
95055        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
95056
950572010-07-22  Sam Weinig  <sam@webkit.org>
95058
95059        Reviewed by Maciej Stachowiak.
95060
95061        Fix for <rdar://problem/8222626>
95062        Send textDidChangeInTextField delegate callback only in response to typing or other forms of user text input.
95063
95064        * GNUmakefile.am:
95065        * WebCore.gypi:
95066        * WebCore.pro:
95067        * WebCore.vcproj/WebCore.vcproj:
95068        * WebCore.xcodeproj/project.pbxproj:
95069        Update project files.
95070        
95071        * dom/UserTypingGestureIndicator.cpp: Copied from dom/UserGestureIndicator.cpp.
95072        (WebCore::UserTypingGestureIndicator::processingUserTypingGesture):
95073        (WebCore::focusedNode):
95074        (WebCore::UserTypingGestureIndicator::focusedElementAtGestureStart):
95075        (WebCore::UserTypingGestureIndicator::UserTypingGestureIndicator):
95076        (WebCore::UserTypingGestureIndicator::~UserTypingGestureIndicator):
95077        * dom/UserTypingGestureIndicator.h: Copied from dom/UserGestureIndicator.h.
95078        Version of UserGestureIndicator that just tracks keyboard gestures and the focused
95079        node they were targeting.
95080        
95081        * editing/Editor.cpp:
95082        (WebCore::Editor::confirmComposition):
95083        (WebCore::Editor::setComposition):
95084        * page/EventHandler.cpp:
95085        (WebCore::EventHandler::keyEvent):
95086        Put UserTypingGestureIndicator on the stack for user generated keyboard events.
95087
950882010-07-22  Kent Tamura  <tkent@chromium.org>
95089
95090        Reviewed by Ojan Vafai.
95091
95092        <input type=number> stepper buttons should dispatch input/change events
95093        https://bugs.webkit.org/show_bug.cgi?id=42440
95094
95095        Test: fast/forms/input-number-events.html
95096
95097        * html/HTMLInputElement.cpp:
95098        (WebCore::HTMLInputElement::stepUpFromRenderer):
95099         Sets a flag to dispatch 'change' event and dispatches 'input' event
95100         if the value is changed.
95101
951022010-07-22  Justin Schuh  <jschuh@chromium.org>
95103
95104        Reviewed by Adam Barth.
95105
95106        Make history state methods validate against document URL
95107        https://bugs.webkit.org/show_bug.cgi?id=42858
95108
95109        Test: fast/history/history-replace-illegal.html
95110
95111        * page/History.cpp:
95112        (WebCore::History::urlForState):
95113
951142010-07-22  Andy Estes  <aestes@apple.com>
95115
95116        Reviewed by Maciej Stachowiak.
95117
95118        When there are no beforeload listeners on a document,
95119        HTMLLinkElement::process() should be called immediately when the node is
95120        inserted into the document, rather than waiting until after attach is
95121        performed.
95122        <https://bugs.webkit.org/show_bug.cgi?id=42859>
95123        <rdar://problem/8194528>
95124
95125        No new tests.
95126
95127        * html/HTMLLinkElement.cpp:
95128        (WebCore::HTMLLinkElement::insertedIntoDocument): If there are no
95129        beforeload listeners, call process() immediately.  Otherwise, add it as
95130        a post-attach callback.
95131
951322010-07-22  James Robinson  <jamesr@chromium.org>
95133
95134        Reviewed by Simon Fraser.
95135
95136        REGRESSION: box shadows on WebGL canvas elements repainted every frame
95137        https://bugs.webkit.org/show_bug.cgi?id=42852
95138
95139        Avoid calling HTMLCanvasElement::willDraw() every time a WebGL canvas'
95140        contents update.  This call is only needed in the non-compositing
95141        rendering path.
95142
95143        Covered by fast/canvas/webgl/canvas-test.html
95144
95145        * html/canvas/WebGLRenderingContext.cpp:
95146        (WebCore::WebGLRenderingContext::markContextChanged):
95147        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
95148
951492010-07-22  Patrick Gansterer  <paroga@paroga.com>
95150
95151        Reviewed by Ojan Vafai.
95152
95153        Remove useless PlatformScrollBar
95154        https://bugs.webkit.org/show_bug.cgi?id=41911
95155
95156        * WebCore.gypi:
95157        * platform/win/PlatformScrollBar.h: Removed.
95158        * platform/win/PlatformScrollBarWin.cpp: Removed.
95159
951602010-07-22  Ryosuke Niwa  <rniwa@webkit.org>
95161
95162        Reviewed by Ojan Vafai.
95163
95164        [Windows] Home hey doesn't work in first DIV inside a TABLE
95165        https://bugs.webkit.org/show_bug.cgi?id=42767
95166
95167        The bug was caused by positionAvoidingFirstPositionInTable moving outside of the editing region.
95168        Added a check so that it avoids the first position in the table only if the table is editable.
95169
95170        Test: editing/selection/home-inside-noneditable-table.html
95171
95172        * editing/visible_units.cpp:
95173        (WebCore::positionAvoidingFirstPositionInTable):
95174
951752010-07-22  Antonio Gomes  <tonikitoo@webkit.org>
95176
95177        Reviewed by Laszlo Gombos.
95178
95179        Fix build warning for missing parentheses.
95180
95181        WebCore/html/HTMLInputElement.cpp:113: warning: suggest parentheses around '&&' within '||'
95182
95183        * html/HTMLInputElement.cpp:
95184        (WebCore::isNumberCharacter):
95185
951862010-07-22  John Gregg  <johnnyg@google.com>
95187
95188        Reviewed by Kent Tamura.
95189
95190        [chromium] fast/forms/input-file-directory-upload.html fails on win after r63454
95191        https://bugs.webkit.org/show_bug.cgi?id=42768
95192
95193        Normalize path separators for the script API by convering \'s to /'s.
95194
95195        Covered by input-file-directory-upload.html
95196
95197        * html/HTMLInputElement.cpp:
95198        (WebCore::HTMLInputElement::setFileListFromRenderer):
95199
952002010-07-22  Dmitry Titov  <dimich@chromium.org>
95201
95202        Rubberstamped by Simon Fraser.
95203
95204        * platform/PlatformStrategies.h:
95205        (WebCore::PlatformStrategies::PlatformStrategies): Add initialization of m_localizationStrategy.
95206
952072010-07-22  Dumitru Daniliuc  <dumi@chromium.org>
95208
95209        Reviewed by Ojan Vafai.
95210
95211        Make db.changeVersion()'s third parameter optional, as required by the spec.
95212        https://bugs.webkit.org/show_bug.cgi?id=42787
95213
95214        * bindings/js/JSDatabaseCustom.cpp:
95215        (WebCore::JSDatabase::changeVersion):
95216        * bindings/js/JSDatabaseSyncCustom.cpp:
95217        (WebCore::JSDatabaseSync::changeVersion):
95218        * bindings/v8/custom/V8DatabaseCustom.cpp:
95219        (WebCore::V8Database::changeVersionCallback):
95220        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
95221        (WebCore::V8DatabaseSync::changeVersionCallback):
95222        * storage/SQLTransaction.cpp:
95223        (WebCore::SQLTransaction::deliverTransactionCallback):
95224        * storage/SQLTransactionSync.cpp:
95225        (WebCore::SQLTransactionSync::execute):
95226
952272010-07-20  Jessie Berlin  <jberlin@apple.com>
95228
95229        Reviewed by Darin Adler.
95230
95231        Code Generator: Allow negative and string constants.
95232        Also add tests for hexadecimal numbers.
95233
95234        * bindings/scripts/CodeGeneratorJS.pm:
95235        If it is a string, do not try to cast it to an int.
95236
95237        * bindings/scripts/IDLStructure.pm:
95238        Add a regex just for constant values that allows strings, hexadecimal numbers, and integral numbers.
95239
95240        * bindings/scripts/test/CPP/WebDOMTestObj.h:
95241        Update the tests.
95242
95243        * bindings/scripts/test/JS/JSTestObj.cpp:
95244        Ditto.
95245
95246        * bindings/scripts/test/JS/JSTestObj.h:
95247        Ditto.
95248
95249        * bindings/scripts/test/ObjC/DOMTestObj.h:
95250        Ditto.
95251
95252        * bindings/scripts/test/TestObj.idl:
95253        Add tests for negative numbers, strings, and hexadecimal numbers.
95254
95255        * bindings/scripts/test/V8/V8TestObj.cpp:
95256        Update the tests.
95257
952582010-07-22  Simon Fraser  <simon.fraser@apple.com>
95259
95260        Reviewed by Darin Adler.
95261
95262        Composited layers don't scroll in WebKit2
95263        https://bugs.webkit.org/show_bug.cgi?id=42771
95264
95265        More prep work: make a single scrollPositionChanged() bottleneck method, and use it to 
95266        send the scroll event, repaint fixed elements, and update compositing layers.
95267
95268        * page/FrameView.cpp:
95269        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
95270        (WebCore::FrameView::scrollPositionChanged):
95271        (WebCore::FrameView::repaintFixedElementsAfterScrolling):
95272        (WebCore::FrameView::valueChanged):
95273        * page/FrameView.h:
95274        * platform/ScrollView.cpp:
95275        (WebCore::ScrollView::valueChanged):
95276
952772010-07-22  Sam Weinig  <sam@webkit.org>
95278
95279        Reviewed by Anders Carlsson.
95280
95281        Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
95282        Add localized strings stubs for WebKit2.
95283
95284        - Convert WebKit (mac) to use a LocalizationStrategy rather than the WebCoreViewFactory
95285          for localized strings.
95286
95287        Gets us below 200 tests failing in WebKitTestRunner.
95288
95289        * WebCore.exp.in:
95290        * WebCore.xcodeproj/project.pbxproj:
95291        * page/mac/WebCoreViewFactory.h:
95292        * platform/LocalizationStrategy.h: Added.
95293        (WebCore::LocalizationStrategy::~LocalizationStrategy):
95294        * platform/PlatformStrategies.h:
95295        (WebCore::PlatformStrategies::pluginStrategy):
95296        (WebCore::PlatformStrategies::localizationStrategy):
95297        (WebCore::PlatformStrategies::PlatformStrategies):
95298        (WebCore::PlatformStrategies::~PlatformStrategies):
95299        * platform/mac/LocalizedStringsMac.mm:
95300
953012010-07-22  Andras Becsi  <abecsi@webkit.org>
95302
95303        Reviewed by Antonio Gomes.
95304
95305        [Qt] Implement WebContext::applicationCacheDirectory() for the Qt port of WebKit2.
95306        https://bugs.webkit.org/show_bug.cgi?id=42830
95307
95308        No new tests needed.
95309
95310        * WebCore.pri: add ApplicationCacheStorage.h to wk2 headers
95311        * WebCore.pro: add WebContextQt.cpp to sources
95312
953132010-07-22  Joone Hur  <joone.hur@samsung.com>
95314
95315        Reviewed by Antonio Gomes.
95316
95317        [EFL] add support for logging
95318        https://bugs.webkit.org/show_bug.cgi?id=40807
95319
95320        Enable to turn log channels on for EFL port
95321
95322        * platform/efl/LoggingEfl.cpp:
95323        (WebCore::InitializeLoggingChannelsIfNecessary):
95324
953252010-07-22  Balazs Kelemen  <kb@inf.u-szeged.hu>
95326
95327        Ureviewed build fix.
95328
95329        [Qt] Fix WebKit2 build
95330
95331        https://bugs.webkit.org/show_bug.cgi?id=42638
95332
95333        * WebCore.pri:
95334        * WebCore.pro:
95335
953362010-07-22  Andrey Kosyakov  <caseq@chromium.org>
95337
95338        Reviewed by Yury Semikhatsky.
95339
95340        Web Inspector: Stop granting universal access to inspector front-end page.
95341        https://bugs.webkit.org/show_bug.cgi?id=42817
95342
95343        * inspector/InspectorFrontendClientLocal.cpp:
95344        (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
95345
953462010-07-22  Yury Semikhatsky  <yurys@chromium.org>
95347
95348        Unreviewed. Fix inspector console tests crashes.
95349
95350        * bindings/v8/ScriptValue.cpp:
95351        (WebCore::v8ToInspectorValue):
95352        (WebCore::ScriptValue::toInspectorValue): enter v8 context before calling GetPropertyNames
95353
953542010-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
95355
95356        Unreviewed build fix.
95357
95358        [EFL] Build break for SVN r63881
95359        https://bugs.webkit.org/show_bug.cgi?id=42813
95360
95361        * CMakeLists.txt: Add platform/SchemeRegistry.cpp
95362
953632010-07-22  Hayato Ito  <hayato@chromium.org>
95364
95365        Reviewed by Darin Adler.
95366
95367        Refactor CSSSelector's destructor and make it inline.
95368
95369        https://bugs.webkit.org/show_bug.cgi?id=42726
95370
95371        Refactor with no behavior change, thus no new tests.
95372
95373        * css/CSSSelector.cpp:
95374        (WebCore::CSSSelectorBag::~CSSSelectorBag): Make sure the bag is empty.
95375        (WebCore::CSSSelectorBag::add): Renamed from append().
95376        (WebCore::CSSSelector::releaseOwnedSelectorsToBag):
95377        (WebCore::CSSSelector::deleteReachableSelectors):
95378        * css/CSSSelector.h:
95379        (WebCore::CSSSelector::~CSSSelector):
95380
953812010-07-22  Yury Semikhatsky  <yurys@chromium.org>
95382
95383        Reviewed by Pavel Feldman.
95384
95385        Web Inspector: should be possible to convert console message arguments to InspectorValues
95386        https://bugs.webkit.org/show_bug.cgi?id=42457
95387
95388        Now it is possible to convert simple JavaScript objects to
95389        InspectorValues.
95390
95391        * bindings/js/ScriptValue.cpp:
95392        (WebCore::jsToInspectorValue):
95393        (WebCore::ScriptValue::toInspectorValue):
95394        * bindings/js/ScriptValue.h:
95395        * bindings/v8/ScriptValue.cpp:
95396        (WebCore::v8ToInspectorValue):
95397        (WebCore::ScriptValue::toInspectorValue):
95398        * bindings/v8/ScriptValue.h:
95399        * inspector/ConsoleMessage.cpp: console notifications are pushed to RemoteInspectorFrontend instead of InspectorFrontend.
95400        (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
95401        (WebCore::ConsoleMessage::addToFrontend):
95402        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
95403        * inspector/ConsoleMessage.h:
95404        * inspector/InjectedScript.cpp:
95405        (WebCore::InjectedScript::wrapForConsole): return InspectorValue instead of SerializedScriptValue
95406        * inspector/InjectedScript.h:
95407        * inspector/Inspector.idl:
95408        * inspector/InspectorBackend.cpp:
95409        (WebCore::InspectorBackend::clearConsoleMessages): send response directly from the backend
95410        (WebCore::InspectorBackend::remoteFrontend):
95411        * inspector/InspectorBackend.h:
95412        * inspector/InspectorController.cpp:
95413        (WebCore::InspectorController::addConsoleMessage):
95414        (WebCore::InspectorController::clearConsoleMessages): don't send notification to the front end,
95415        it will be send either from InspectorBackend.cpp if it was a user request or reset message will
95416        be send to the front end if the messages are cleared due to page navigation.
95417        (WebCore::InspectorController::populateScriptObjects):
95418        * inspector/front-end/ConsoleView.js:
95419        * inspector/front-end/inspector.js:
95420
954212010-07-22  Alexander Pavlov  <apavlov@chromium.org>
95422
95423        Reviewed by Pavel Feldman.
95424
95425        Web Inspector: Modifying settings actually modifies defaultValues
95426        https://bugs.webkit.org/show_bug.cgi?id=42816
95427
95428        Avoid using live modifiable objects as property default values.
95429
95430        * inspector/front-end/Settings.js:
95431        (WebInspector.Settings):
95432        (WebInspector.Settings.prototype.reset):
95433        (WebInspector.Settings.prototype._load):
95434        (WebInspector.Settings.prototype.installSetting):
95435        (WebInspector.Settings.prototype._get):
95436
954372010-07-22  Ben Murdoch  <benm@google.com>
95438
95439        Reviewed by Simon Fraser.
95440
95441        Touch events do not affect the :active CSS state
95442        https://bugs.webkit.org/show_bug.cgi?id=39493
95443
95444        Clean the code up by using a typedef based on comments
95445        post landing of the original patch.
95446
95447        No change in functionality so no new tests.
95448
95449        * rendering/HitTestRequest.h: Typedef the HitTestRequestType to unsigned.
95450        * WebCore.exp.in: Update export signature.
95451        * WebCore.order: Ditto.
95452        * page/EventHandler.cpp: use the new typedef.
95453        * page/EventHandler.h: ditto.
95454
95455
954562010-07-22  Alexander Pavlov  <apavlov@chromium.org>
95457
95458        Reviewed by Pavel Feldman.
95459
95460        Web Inspector: Rename method for CSS rule source range retrieval and fix return object format
95461        https://bugs.webkit.org/show_bug.cgi?id=42379
95462
95463        * inspector/Inspector.idl:
95464        * inspector/InspectorBackend.cpp:
95465        (WebCore::InspectorBackend::getRuleRanges):
95466        * inspector/InspectorBackend.h:
95467        * inspector/InspectorBackend.idl:
95468        * inspector/InspectorCSSStore.cpp:
95469        (WebCore::InspectorCSSStore::getRuleRanges):
95470        * inspector/InspectorCSSStore.h:
95471        * inspector/InspectorDOMAgent.cpp:
95472        (WebCore::InspectorDOMAgent::getRuleRanges):
95473        * inspector/InspectorDOMAgent.h:
95474        * inspector/front-end/DOMAgent.js:
95475
954762010-07-21  Pavel Feldman  <pfeldman@chromium.org>
95477
95478        Reviewed by Yury Semikhatsky.
95479
95480        Chromium Dev Tools: Separators are missing in the context menu.
95481
95482        https://bugs.webkit.org/show_bug.cgi?id=42761
95483
95484        * bindings/js/JSInspectorFrontendHostCustom.cpp:
95485        (WebCore::JSInspectorFrontendHost::showContextMenu):
95486        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
95487        (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
95488        * platform/ContextMenuItem.h:
95489        (WebCore::):
95490
954912010-07-22  Zoltan Herczeg  <zherczeg@webkit.org>
95492
95493        Reviewed by Nikolas Zimmermann.
95494
95495        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
95496        https://bugs.webkit.org/show_bug.cgi?id=42244
95497
95498        Implementing svgAttributeChanged and childrenChanged for the base class of all filters,
95499        called SVGFilterPrimitiveStandardAttributes.
95500
95501        Tests: svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html
95502               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html
95503               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html
95504               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html
95505               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html
95506               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html
95507               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html
95508               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html
95509               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html
95510               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html
95511
95512        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
95513        (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
95514        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
95515        * svg/SVGFilterPrimitiveStandardAttributes.h:
95516        (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter):
95517
955182010-07-22  Kent Tamura  <tkent@chromium.org>
95519
95520        Reviewed by Darin Adler.
95521
95522        Small refactoring for input value sanitization
95523        https://bugs.webkit.org/show_bug.cgi?id=42807
95524
95525        Rename some functions to clarify their roles.
95526
95527        * dom/InputElement.cpp:
95528        (WebCore::replaceEOLAndLimitLength):
95529          Renamed from sanitizeUserInputValue().
95530        (WebCore::InputElement::sanitizeValueForTextField):
95531          Renamed from sanitizeValue(), and call replaceEOLAndLimitLength()
95532          instead of sanitizeUserInputValue().
95533        (WebCore::InputElement::sanitizeUserInputValue):
95534          Just call replaceEOLAndLimitLength().
95535        (WebCore::InputElement::updateValueIfNeeded):
95536          Use non-static sanitizeValue() for consistency.
95537        * dom/InputElement.h:
95538        * html/HTMLInputElement.cpp:
95539        (WebCore::HTMLInputElement::setInputType):
95540          Revert the change of r63876. It is not needed because of the
95541          updateValueIfNeeded() change.
95542        (WebCore::HTMLInputElement::sanitizeValue):
95543          Apply the sanitizeValue() renaming.
95544
955452010-07-22  Tony Gentilcore  <tonyg@chromium.org>
95546
95547        Reviewed by Darin Fisher.
95548
95549        webkitPerformance.timing.responseEnd should not include document parse time
95550        https://bugs.webkit.org/show_bug.cgi?id=42797
95551
95552        No new tests because timing based test would be flaky.
95553
95554        * loader/FrameLoader.cpp:
95555        (WebCore::FrameLoader::finishedLoading): finishedLoading() is called by the platform at the right time, but didReceiveData() synchronously invokes parsing without returning to the event loop prior to this. So by the time the didFinishLoading() method is executed, parsing is finished. The solution is to move this time to didReceiveData() prior to parsing.
95556        * loader/MainResourceLoader.cpp:
95557        (WebCore::MainResourceLoader::didReceiveData): Update the time each time didReceiveData() is called.
95558        (WebCore::MainResourceLoader::didFinishLoading): When finished, and after parsing, set responseEnd appropriately.
95559        * loader/MainResourceLoader.h:
95560        * page/Timing.cpp:
95561        (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Now that responseEnd is set correctly, it can be much shorter for very fast loads (like local files). This exposed the fact that this skew check was not tight enough. We need to make sure that the whole range of values from the ResourceLoadTiming API fit within fetchStart-responseEnd, not just that requestTime fits in this range.
95562
955632010-07-21  Kent Tamura  <tkent@chromium.org>
95564
95565        Reviewed by Darin Adler.
95566
95567        Assertion failure by changing the type of an input element with a
95568        non-number value to 'range'.
95569        https://bugs.webkit.org/show_bug.cgi?id=42643
95570
95571        Test: fast/forms/input-value-sanitization.html
95572
95573        * html/HTMLInputElement.cpp:
95574        (WebCore::HTMLInputElement::setInputType):
95575        Update the value by HTMLInputElement::sanitizeValue() in a case that
95576        storesValueSeparateFromAttribute() state is not changed.
95577
955782010-07-21  Adam Barth  <abarth@webkit.org>
95579
95580        Reviewed by Eric Seidel.
95581
95582        Implement spec changes for basefont and bgsound
95583        https://bugs.webkit.org/show_bug.cgi?id=42792
95584
95585        * html/HTMLTreeBuilder.cpp:
95586        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
95587        (WebCore::HTMLTreeBuilder::processStartTag):
95588        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
95589
955902010-07-21  Adam Barth  <abarth@webkit.org>
95591
95592        Reviewed by Eric Seidel.
95593
95594        Update a list of tags to match changes in the HTML5 spec
95595        https://bugs.webkit.org/show_bug.cgi?id=42791
95596
95597        We need to atomize these strings at some point.
95598
95599        * html/HTMLTreeBuilder.cpp:
95600        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
95601
956022010-07-21  Adam Barth  <abarth@webkit.org>
95603
95604        Reviewed by Eric Seidel.
95605
95606        HTMLTreeBuilder needs to update to match new spec behavior for <button>
95607        https://bugs.webkit.org/show_bug.cgi?id=42233
95608
95609        The spec has some typos in this area, but this is my best guess for
95610        what Ian means.  I've filed bugs against the spec for each typo.
95611
95612        * html/HTMLElementStack.cpp:
95613        (WebCore::HTMLNames::isScopeMarker):
95614        (WebCore::HTMLNames::isButtonScopeMarker):
95615        (WebCore::HTMLElementStack::inButtonScope):
95616        * html/HTMLElementStack.h:
95617        * html/HTMLTreeBuilder.cpp:
95618        (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
95619        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
95620        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
95621        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
95622        * html/HTMLTreeBuilder.h:
95623
956242010-07-21  Justin Schuh  <jschuh@chromium.org>
95625
95626        Reviewed by Oliver Hunt.
95627
95628        Prevent DeleteButtonController enable state from changing when not editing
95629        https://bugs.webkit.org/show_bug.cgi?id=42659
95630
95631        Test: svg/custom/use-invalid-html.xhtml
95632
95633        * dom/ContainerNode.cpp:
95634        (WebCore::ContainerNode::cloneChildNodes):
95635
956362010-07-21  Beth Dakin  <bdakin@apple.com>
95637
95638        Reviewed by Dan Bernstein.
95639
95640        Fix for https://bugs.webkit.org/show_bug.cgi?id=42605 New border-
95641        radius path-based drawing code has some issues with corner-joins
95642
95643        GraphicsContext::clipConvexPolygon() now takes a boolean parameter 
95644        indicating whether or not the clip should be antialiased.
95645        * platform/graphics/GraphicsContext.h:
95646        * platform/graphics/cairo/GraphicsContextCairo.cpp:
95647        (WebCore::GraphicsContext::clipConvexPolygon):
95648        * platform/graphics/cg/GraphicsContextCG.cpp:
95649        (WebCore::GraphicsContext::clipConvexPolygon):
95650        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
95651        (WebCore::GraphicsContext::clipConvexPolygon):
95652        * platform/graphics/qt/GraphicsContextQt.cpp:
95653        (WebCore::GraphicsContext::clipConvexPolygon):
95654        * platform/graphics/skia/GraphicsContextSkia.cpp:
95655        (WebCore::GraphicsContext::clipConvexPolygon):
95656        * platform/graphics/wince/GraphicsContextWince.cpp:
95657        (WebCore::GraphicsContext::clipConvexPolygon):
95658        * platform/graphics/wx/GraphicsContextWx.cpp:
95659        (WebCore::GraphicsContext::clipConvexPolygon):
95660
95661        Compute 4 booleans determining if each edge is a "matching" edge of 
95662        not. Send the two appropriate values to clipBorderSidePolygon() so 
95663        we can decide there whether or not to antialias the clip based on 
95664        matchy-ness.
95665        * rendering/RenderBoxModelObject.cpp:
95666        (WebCore::RenderBoxModelObject::paintBorder):
95667
95668        If both edges are matching, don't antialias. If neither edge 
95669        matches, never antialias. If one edge matches and one does not, 
95670        apply two clips to get the appropriate antialiasing in each corner.
95671        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
95672        * rendering/RenderBoxModelObject.h:
95673
956742010-07-21  Brady Eidson  <beidson@apple.com>
95675
95676        Reviewed by Geoffrey Garen.
95677
95678        Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
95679        https://bugs.webkit.org/show_bug.cgi?id=42783
95680
95681        No new tests. (No change in behavior)
95682
95683        * GNUmakefile.am:
95684        * WebCore.exp.in:
95685        * WebCore.gypi:
95686        * WebCore.pro:
95687        * WebCore.vcproj/WebCore.vcproj:
95688        * WebCore.xcodeproj/project.pbxproj:
95689        
95690        * loader/FrameLoader.cpp:
95691        (WebCore::FrameLoader::isMixedContent):
95692        (WebCore::FrameLoader::loadFrameRequest):
95693        
95694        * page/SecurityOrigin.cpp:
95695        (WebCore::SecurityOrigin::SecurityOrigin):
95696        (WebCore::SecurityOrigin::canLoad):
95697        (WebCore::SecurityOrigin::isLocal):
95698        * page/SecurityOrigin.h:
95699        
95700        * platform/SchemeRegistry.cpp: Added.
95701        (WebCore::localSchemes):
95702        (WebCore::secureSchemes):
95703        (WebCore::schemesWithUniqueOrigins):
95704        (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
95705        (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
95706        (WebCore::SchemeRegistry::localURLSchemes):
95707        (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
95708        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
95709        (WebCore::SchemeRegistry::registerURLSchemeAsNoAccess):
95710        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
95711        (WebCore::SchemeRegistry::registerURLSchemeAsSecure):
95712        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
95713        * platform/SchemeRegistry.h: Added.
95714
957152010-07-21  Chris Marrin  <cmarrin@apple.com>
95716
95717        Reviewed by Simon Fraser.
95718
95719        Assertion failure in AnimationBase::updateStateMachine() coming out of paused state
95720        https://bugs.webkit.org/show_bug.cgi?id=37993
95721        
95722        Added logic to properly handle pausing and resuming when in the 
95723        AnimationStateStartWaitStyleAvailable state. This was causing an
95724        assert when going out of the pause state because the paused flag
95725        was not set.
95726        
95727        The fix is a straightforward implementation, going into a new
95728        AnimationStatePausedWaitStyleAvailable state and setting the paused
95729        flag (actually setting the m_pauseTime variable to something other
95730        than -1). Also added handling of the new state, both when the 
95731        "style available" callback comes in while in this state and when
95732        unpausing while in this state. 
95733        
95734        For now a LayoutTest is not possible since there's no way to go in
95735        and out of the pause state. I've opened https://bugs.webkit.org/show_bug.cgi?id=42790
95736        to track this.
95737
95738        * page/animation/AnimationBase.cpp:
95739        (WebCore::AnimationBase::updateStateMachine):
95740        * page/animation/AnimationBase.h:
95741        (WebCore::AnimationBase::):
95742
957432010-07-21  Bo Liu  <boliu@chromium.org>
95744
95745        Reviewed by Darin Fisher.
95746
95747        [Chromium] Add chromium WebMediaPlayer to PlatformMedia
95748        https://bugs.webkit.org/show_bug.cgi?id=41295
95749
95750        * platform/graphics/MediaPlayer.h:
95751        (WebCore::PlatformMedia::):
95752
957532010-07-21  Simon Fraser  <simon.fraser@apple.com>
95754
95755        Reviewed by Anders Carlsson.
95756
95757        Composited layers don't scroll in WebKit2
95758        https://bugs.webkit.org/show_bug.cgi?id=42771
95759
95760        Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
95761        but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
95762        scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().
95763
95764        * WebCore.exp.in:
95765        * page/FrameView.cpp:
95766        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
95767        * page/FrameView.h:
95768
957692010-07-21  Peter Beverloo  <peter@lvp-media.com>
95770
95771        Reviewed by Eric Carlson.
95772
95773        Removed support for the -khtml CSS vendor prefix and limit the
95774        -apple prefix to two properties (dashboard-region and line-clamp).
95775
95776        Test: fast/css/limited-vendor-prefix-behavior.html
95777
95778        * css/CSSParser.cpp:
95779        (WebCore::cssPropertyID):
95780
957812010-07-21  Adam Barth  <abarth@webkit.org>
95782
95783        Reviewed by Eric Seidel.
95784
95785        Fix the last tree HTML5 tree builder crashes
95786        https://bugs.webkit.org/show_bug.cgi?id=42773
95787
95788        This patch changes the internal representation of a bookmark to handle
95789        the case where one of the adjecent entries in the list of active
95790        formatting elements is actually a marker.
95791
95792        After this patch, the bookmarking mechanism isn't as general, but it
95793        works for the cases we need in the adoption agency.
95794
95795        Also, after this patch, there aren't any more known crashers in the
95796        HTML5 tree builder.  :)
95797
95798        * html/HTMLFormattingElementList.cpp:
95799        (WebCore::HTMLFormattingElementList::bookmarkFor):
95800        (WebCore::HTMLFormattingElementList::swapTo):
95801        * html/HTMLFormattingElementList.h:
95802        (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
95803        (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
95804        (WebCore::HTMLFormattingElementList::Bookmark::hasBeenMoved):
95805        (WebCore::HTMLFormattingElementList::Bookmark::mark):
95806        (WebCore::HTMLFormattingElementList::first):
95807        * html/HTMLTreeBuilder.cpp:
95808        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
95809
958102010-07-21  Tony Gentilcore  <tonyg@chromium.org>
95811
95812        Unreviewed build fix.
95813
95814        Disable overzealous ASSERT
95815        https://bugs.webkit.org/show_bug.cgi?id=42775
95816
95817        No new tests because no changed functionality.
95818
95819        * loader/FrameLoader.cpp:
95820        (WebCore::FrameLoader::stopLoading):
95821
958222010-07-21  Yael Aharon  <yael.aharon@nokia.com>
95823
95824        Reviewed by Darin Adler.
95825
95826        Crash in Notification::disconnectFrame() triggered by Frame::lifeSupportTimerFired()
95827        https://bugs.webkit.org/show_bug.cgi?id=42534
95828
95829        Call NotificationsCenter::disconnectFrame() when the frame is disconnected from the page.
95830        Calling it from the destructor of Frame is too late and sometimes causes access violation.
95831        I was not able to reproduce this crash, so did not add new tests.
95832        This patch is based on the error reported in 
95833        http://code.google.com/p/chromium/issues/detail?id=49323.
95834
95835        * page/DOMWindow.cpp:
95836        (WebCore::DOMWindow::pageDestroyed):
95837        * page/DOMWindow.h:
95838        * page/Frame.cpp:
95839        (WebCore::Frame::pageDestroyed):
95840
958412010-07-21  Anders Carlsson  <andersca@apple.com>
95842
95843        Reviewed by Sam Weinig.
95844
95845        Don't assert when clicking on a plug-in in WebKit2
95846        https://bugs.webkit.org/show_bug.cgi?id=42762
95847
95848        Remove a now invalid assert and return false instead.
95849
95850        * page/mac/EventHandlerMac.mm:
95851        (WebCore::EventHandler::passMouseDownEventToWidget):
95852
958532010-07-21  Anton Muhin  <antonm@chromium.org>
95854
95855        Reviewed by Adam Barth.
95856
95857        [v8] Revert r60670 as it introduced a regression: in some cases named children couldn't be retrieved.
95858        https://bugs.webkit.org/show_bug.cgi?id=42766
95859
95860        See http://code.google.com/p/chromium/issues/detail?id=48804 for more details.
95861
95862        * bindings/scripts/CodeGeneratorV8.pm:
95863        * bindings/v8/ScriptController.cpp:
95864        (WebCore::ScriptController::namedItemAdded):
95865        (WebCore::ScriptController::namedItemRemoved):
95866        * bindings/v8/V8DOMWindowShell.cpp:
95867        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
95868        * bindings/v8/V8DOMWindowShell.h:
95869        * bindings/v8/V8DOMWrapper.cpp:
95870        (WebCore::V8DOMWrapper::instantiateV8Object):
95871        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
95872        (WebCore::V8HTMLDocument::namedPropertyDeleter):
95873        (WebCore::V8HTMLDocument::namedPropertyGetter):
95874        (WebCore::V8HTMLDocument::indexedPropertyGetter):
95875        (WebCore::V8HTMLDocument::allAccessorSetter):
95876        (WebCore::toV8):
95877
958782010-07-21  Eric Carlson  <eric.carlson@apple.com>
95879
95880        Reviewed by Simon Fraser.
95881
95882        Update plug-in proxy backed <video> and <audio> elements.
95883        https://bugs.webkit.org/show_bug.cgi?id=42770
95884        <rdar://problem/7963467>
95885
95886        * html/HTMLMediaElement.cpp:
95887        (WebCore::HTMLMediaElement::attributeChanged): Only call m_player->setControls when
95888        the 'controls' attribute changes.
95889        (WebCore::HTMLMediaElement::createRenderer): 
95890        (WebCore::HTMLMediaElement::attach): If we have a proxy widget, call the WebFrameLoaderClient's 
95891        'hide' and 'show' methods for the media proxy plug-in to make sure we remove and re-add the 
95892        plug-in's view to the global list of plugin views.
95893        (WebCore::HTMLMediaElement::createMediaPlayerProxy): Bail if m_proxyWidget is non-NULL
95894
95895        * loader/EmptyClients.h:
95896        (WebCore::EmptyFrameLoaderClient::hideMediaPlayerProxyPlugin): Empty stub method.
95897        (WebCore::EmptyFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto.
95898
95899        * loader/FrameLoader.cpp:
95900        * loader/FrameLoaderClient.h:
95901        * loader/SubframeLoader.cpp:
95902        (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): Always set m_containsPlugIns in loadMediaPlayerProxyPlugin(),
95903         even when we don't have a renderer.
95904        (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): New, call hideMediaPlayerProxyPlugin.
95905        (WebCore::FrameLoader::showMediaPlayerProxyPlugin): New, call showMediaPlayerProxyPlugin.
95906
95907        * platform/graphics/MediaPlayer.cpp:
95908        (WebCore::NullMediaPlayerPrivate::setControls):
95909        (WebCore::MediaPlayer::setControls): New, pass through to media engine.
95910        (WebCore::MediaPlayer::enterFullscreen): Ditto.
95911        (WebCore::MediaPlayer::exitFullscreen): Ditto.
95912        * platform/graphics/MediaPlayer.h:
95913        * platform/graphics/MediaPlayerPrivate.h:
95914        (WebCore::MediaPlayerPrivateInterface::setControls):
95915        (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
95916        (WebCore::MediaPlayerPrivateInterface::exitFullscreen):
95917
959182010-07-21  Dimitri Glazkov  <dglazkov@chromium.org>
95919
95920        Reviewed by Darin Adler.
95921
95922        Make more members of CSSStyleSelector private.
95923        https://bugs.webkit.org/show_bug.cgi?id=42757
95924
95925        No change in behavior, so no new tests.
95926
95927        * css/CSSStyleSelector.h: Made a publicly-unused methods private.
95928
959292010-07-21  Pavel Feldman  <pfeldman@chromium.org>
95930
95931        Reviewed by Timothy Hatcher.
95932
95933        Web Inspector: consider jQuery object to be of array nature.
95934
95935        https://bugs.webkit.org/show_bug.cgi?id=42758
95936
95937        * inspector/front-end/InjectedScript.js:
95938        (injectedScriptConstructor):
95939
959402010-07-21  Alexey Proskuryakov  <ap@apple.com>
95941
95942        Unreviewed Windows build fix.
95943
95944        https://bugs.webkit.org/show_bug.cgi?id=42717
95945        <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
95946        credential storage, and is sent with subsequent requests
95947
95948        * platform/network/cf/ResourceHandleCFNet.cpp:
95949        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Don't use that direct a
95950        copy/paste, oops!
95951
959522010-07-21  Simon Fraser  <simon.fraser@apple.com>
95953
95954        Reviewed by Darin Adler.
95955
95956        When GraphicsLayer::contentsOrientation() is CompositingCoordinatesBottomUp, need to flip repaint rects
95957        https://bugs.webkit.org/show_bug.cgi?id=42662
95958        
95959        If the contentsOrientation() on a GraphicsLayer is CompositingCoordinatesBottomUp, then we
95960        need to flip the rects passed to setNeedsDisplayInRect:.
95961        
95962        Avoid writing this code twice by making a bare function to share code
95963        between WebLayer and WebTiledLayer. Convert the existing +drawContents:ofLayer:intoContext:
95964        class method into a bare function, because the Obj-C calling overhead doesn't buy us anything.
95965        
95966        Take out an assertion in GraphicsLayerCA::updateContentsTransform() that is not
95967        correct.
95968        
95969        No new tests because no layers use bottom-up contents at present.
95970
95971        * platform/graphics/mac/GraphicsLayerCA.mm:
95972        (WebCore::GraphicsLayerCA::updateContentsTransform):
95973        * platform/graphics/mac/WebLayer.h:
95974        * platform/graphics/mac/WebLayer.mm:
95975        (drawLayerContents):
95976        (setLayerNeedsDisplayInRect):
95977        (-[WebLayer setNeedsDisplayInRect:]):
95978        (-[WebLayer drawInContext:]):
95979        * platform/graphics/mac/WebTiledLayer.mm:
95980        (-[WebTiledLayer setNeedsDisplayInRect:]):
95981        (-[WebTiledLayer drawInContext:]):
95982
959832010-07-20  Alexey Proskuryakov  <ap@apple.com>
95984
95985        Reviewed by Darin Adler.
95986
95987        https://bugs.webkit.org/show_bug.cgi?id=42717
95988        <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
95989        credential storage, and is sent with subsequent requests
95990
95991        Tests: http/tests/security/401-logout/401-logout.php
95992               http/tests/xmlhttprequest/remember-bad-password.html
95993
95994        * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::remove):
95995        * platform/network/CredentialStorage.h:
95996        Added a way to remove stored credentials for a given protection space.
95997
95998        * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
95999        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
96000        Remove stored credentials if they didn't work the first time.
96001
960022010-07-20  Steve Falkenburg  <sfalken@apple.com>
96003
96004        Reviewed by Adam Roben.
96005
96006        WebKit on Windows should build optionally with an unversioned ICU DLL
96007        https://bugs.webkit.org/show_bug.cgi?id=42722
96008        <rdar://problem/8211767> WebKit needs to link against unversioned ICU
96009
96010        To get the proper value for U_DISABLE_RENAMING into all source files, we force
96011        the include of ICUVersion.h (our generated header) via the compiler options.
96012        
96013        * WebCore.vcproj/WebCore.vcproj:
96014        Add forced include of ICUVersion.h.
96015        * WebCore.vcproj/WebCoreCommon.vsprops: Add forced include of ICUVersion.h.
96016
960172010-07-21  Ilya Tikhonovsky  <loislo@chromium.org>
96018
96019        Reviewed by Pavel Feldman.
96020
96021        WebInspector: Serialization to JSON in InspectorValue works incorrect
96022        if comma is assigned as decimal separator. Windows with Russian locale.
96023        https://bugs.webkit.org/show_bug.cgi?id=42755
96024
96025        * inspector/InspectorValues.cpp:
96026        (WebCore::InspectorBasicValue::writeJSON):
96027
960282010-07-20  Simon Fraser  <simon.fraser@apple.com>
96029
96030        Reviewed by Dan Bernstein.
96031
96032        CSS rotation transform can cause elements with certain styles to vanish during rotation.
96033        https://bugs.webkit.org/show_bug.cgi?id=42579
96034        
96035        Remove some untested, broken code that, as far as I can tell, could never get hit.
96036        Use the correct rect for the PaintInfo so that zero-sized elements with overflow:hidden
96037        but a border paint correctly.
96038
96039        Test: compositing/overflow/zero-size-overflow.html
96040
96041        * rendering/RenderLayerBacking.cpp:
96042        (WebCore::RenderLayerBacking::paintIntoLayer):
96043
960442010-07-21  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
96045
96046        Reviewed by Laszlo Gombos.
96047
96048        [QT] Leak and few more fixes to qt port of geolocation
96049        https://bugs.webkit.org/show_bug.cgi?id=42753
96050
96051        Fixes memory leak and default values set to attributes. 
96052        
96053        Memory leak fix no new test case added. 
96054
96055        * platform/qt/GeolocationServiceQt.cpp: Added.
96056        (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
96057        (WebCore::GeolocationServiceQt::positionUpdated):
96058
960592010-07-21  Kristian Amlie <kristian.amlie@nokia.com>
96060
96061        Reviewed by Kenneth Rohde Christiansen.
96062
96063        Added automatic sqlite extraction for Symbian to QtWebKit.
96064
96065        Also added sqlite detection in case sqlite is not present in the SDK.
96066        This is possible if WebKit is compiled standalone.
96067
96068        The inclusion part is a consequence of commit c578c6c1d6d in the Qt
96069        repository. It will not work on Qt versions < 4.7.1, but that is ok,
96070        since the only build system it will affect is marked as experimental
96071        in the whole 4.7 series.
96072
96073        * WebCore.pro:
96074
960752010-07-21  Adam Barth  <abarth@webkit.org>
96076
96077        Reviewed by Eric Seidel.
96078
96079        Associate elements with the active form
96080        https://bugs.webkit.org/show_bug.cgi?id=42728
96081
96082        This patch fixes fast/forms/formmove3.html.  The test still doesn't
96083        pass due to some render tree differences, but it works as intended now.
96084
96085        To fix this test, I needed to deviate from the spec slight.  Minefield
96086        seems to have the same deviation:
96087          - http://www.w3.org/Bugs/Public/show_bug.cgi?id=10216
96088
96089        * html/HTMLConstructionSite.cpp:
96090        (WebCore::HTMLConstructionSite::takeForm):
96091        (WebCore::HTMLConstructionSite::setForm):
96092        (WebCore::HTMLConstructionSite::createHTMLElement):
96093        * html/HTMLConstructionSite.h:
96094        (WebCore::HTMLConstructionSite::form):
96095        * html/HTMLTreeBuilder.cpp:
96096        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
96097
960982010-07-21  Adam Barth  <abarth@webkit.org>
96099
96100        Reviewed by Eric Seidel.
96101
96102        The adoption agency doesn't properly attach()
96103        https://bugs.webkit.org/show_bug.cgi?id=42727
96104
96105        The adoption agency is transliterated rather directly from the spec,
96106        but it misses some of the WebKit-specific machinations, such as
96107        attaching to the render tree.
96108
96109        The algorithm, as written, is a minor layer violation.  I've added to
96110        the problem by calling attach() from HTMLTreeBuilder (even though
96111        that's the job of the HTMLConstructionSite).  We'll need to clean up
96112        the layering a bit at some point.
96113
96114        This patch half fixes fast/forms/formmove3.html.  Hopefully I'll finish
96115        fixing it in the next patch.
96116
96117        * html/HTMLConstructionSite.cpp:
96118        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
96119        * html/HTMLTreeBuilder.cpp:
96120        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
96121
961222010-07-21  Adam Barth  <abarth@webkit.org>
96123
96124        Reviewed by Eric Seidel.
96125
96126        <input> elements with no type attribute should be foster parented
96127        https://bugs.webkit.org/show_bug.cgi?id=42725
96128
96129        Fix spec transcription error.
96130
96131        * html/HTMLTreeBuilder.cpp:
96132        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
96133
961342010-07-21  Adam Barth  <abarth@webkit.org>
96135
96136        Reviewed by Eric Seidel.
96137
96138        Fix fast/css/last-child-style-sharing.html
96139        https://bugs.webkit.org/show_bug.cgi?id=42731
96140
96141        Prior to this patch, we weren't calling finishParsingChildren on the
96142        body element.  We need a more systematic way of catching these bugs.
96143
96144        * html/HTMLElementStack.cpp:
96145        (WebCore::HTMLElementStack::popAll):
96146        * html/HTMLElementStack.h:
96147        * html/HTMLTreeBuilder.cpp:
96148        (WebCore::HTMLTreeBuilder::processEndOfFile):
96149
961502010-07-21  Hans Wennborg  <hans@chromium.org>
96151
96152        Reviewed by Steve Block.
96153
96154        Runtime feature switch for device orientation
96155        https://bugs.webkit.org/show_bug.cgi?id=42265
96156
96157        Add a runtime feature switch that decides whether device orientation
96158        events are available or not. Defaults to true.
96159
96160        * WebCore.vcproj/WebCoreCommon.vsprops: Add bindings/generic to include path.
96161        * bindings/generic/RuntimeEnabledFeatures.cpp:
96162        * bindings/generic/RuntimeEnabledFeatures.h:
96163        (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
96164        (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
96165        (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
96166        (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
96167        * page/DOMWindow.cpp:
96168        (WebCore::DOMWindow::addEventListener):
96169        (WebCore::DOMWindow::removeEventListener):
96170        (WebCore::DOMWindow::removeAllEventListeners):
96171        * page/DOMWindow.idl:
96172        * page/Page.cpp:
96173        (WebCore::Page::Page):
96174
961752010-07-21  Zoltan Herczeg  <zherczeg@webkit.org>
96176
96177        Reviewed Nikolas Zimmermann.
96178
96179        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
96180        https://bugs.webkit.org/show_bug.cgi?id=42244
96181
96182        The implementation was done by Nikolas Zimmermann before, but
96183        there was no tests for it. The patch also implements the simple
96184        setFilterRes method.
96185
96186        Tests: svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr.html
96187               svg/dynamic-updates/SVGFilterElement-dom-filterUnits-attr.html
96188               svg/dynamic-updates/SVGFilterElement-dom-height-attr.html
96189               svg/dynamic-updates/SVGFilterElement-dom-primitiveUnits-attr.html
96190               svg/dynamic-updates/SVGFilterElement-dom-width-attr.html
96191               svg/dynamic-updates/SVGFilterElement-dom-x-attr.html
96192               svg/dynamic-updates/SVGFilterElement-dom-y-attr.html
96193               svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html
96194               svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html
96195               svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html
96196               svg/dynamic-updates/SVGFilterElement-svgdom-filterUnits-prop.html
96197               svg/dynamic-updates/SVGFilterElement-svgdom-height-prop.html
96198               svg/dynamic-updates/SVGFilterElement-svgdom-primitiveUnits-prop.html
96199               svg/dynamic-updates/SVGFilterElement-svgdom-width-prop.html
96200               svg/dynamic-updates/SVGFilterElement-svgdom-x-prop.html
96201               svg/dynamic-updates/SVGFilterElement-svgdom-y-prop.html
96202
96203        * svg/SVGFilterElement.cpp:
96204        (WebCore::SVGFilterElement::setFilterRes):
96205        (WebCore::SVGFilterElement::svgAttributeChanged):
96206        (WebCore::SVGFilterElement::childrenChanged):
96207        * svg/SVGFilterElement.h:
96208
962092010-07-21  Ben Murdoch  <benm@google.com>
96210
96211        Unreviewed, build fix.
96212
96213        Forgot to update the role of HitTestRequest.h in
96214        the Xcode project after landing patch from
96215        https://bugs.webkit.org/show_bug.cgi?id=39493
96216
96217        * WebCore.xcodeproj/project.pbxproj: Make HitTestRequest.h
96218            private so it can be included in WebKit by EventHandler.h
96219            which is already private..
96220
962212010-07-20  Ben Murdoch  <benm@google.com>
96222
96223        Reviewed by Steve Block.
96224
96225        Touch events do not affect the :active CSS state
96226        https://bugs.webkit.org/show_bug.cgi?id=39493
96227
96228        Test: fast/events/touch/touch-active-state.html
96229
96230        * WebCore.exp.in: Update exports for new signature of
96231            hitTestResultAtPoint.
96232        * WebCore.order: ditto.
96233        * page/EventHandler.cpp:
96234        (WebCore::EventHandler::EventHandler):
96235        (WebCore::EventHandler::hitTestResultAtPoint): Pass the type
96236            of the hit test to perform as a parameter with a default
96237            value rather than harcoding it in the function body.
96238        (WebCore::EventHandler::handleMouseMoveEvent): Do not modiify
96239            the active element during a mouse move if the user is
96240            touching the screen.
96241        (WebCore::EventHandler::handleTouchEvent): Set the correct
96242            type of hit test to perform depending on the type of the
96243            touch event we are handling.
96244        * page/EventHandler.h: Update the signature of hitTestResultAtPoint.
96245
962462010-07-20  Yury Semikhatsky  <yurys@chromium.org>
96247
96248        Reviewed by Pavel Feldman.
96249
96250        console.assert should include stack trace with line numbers.
96251        https://bugs.webkit.org/show_bug.cgi?id=22556
96252
96253        Test: inspector/console-assert.html
96254
96255        * bindings/v8/ScriptCallStack.cpp:
96256        (WebCore::getTopFrameLocation):
96257        (WebCore::toScriptCallFramesVector):
96258        (WebCore::ScriptCallStack::create):
96259        (WebCore::ScriptCallStack::ScriptCallStack):
96260        * bindings/v8/ScriptCallStack.h:
96261        * bindings/v8/ScriptController.cpp:
96262        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
96263        * bindings/v8/custom/V8ConsoleCustom.cpp:
96264        (WebCore::V8Console::traceCallback):
96265        (WebCore::V8Console::assertCallback):
96266        * inspector/ConsoleMessage.cpp:
96267        (WebCore::ConsoleMessage::ConsoleMessage):
96268        * inspector/InspectorController.cpp:
96269        (WebCore::InspectorController::addMessageToConsole):
96270        * inspector/front-end/ConsoleView.js:
96271        (WebInspector.ConsoleMessage.prototype._formatMessage):
96272        (WebInspector.ConsoleMessage.prototype.toMessageElement):
96273        * page/Console.cpp:
96274        (WebCore::Console::lastWMLErrorMessage):
96275        * page/Console.idl:
96276
962772010-07-20  Rafael Antognolli  <antognolli@profusion.mobi>
96278
96279        Reviewed by Kent Tamura.
96280
96281        [EFL] Use log functions instead of fprintf
96282        https://bugs.webkit.org/show_bug.cgi?id=42576
96283
96284        Use LOG and LOG_ERROR instead of fprintf.
96285
96286        No new tests, no new functionality.
96287
96288        * platform/efl/WidgetEfl.cpp:
96289        (WebCore::Widget::applyFallbackCursor):
96290
962912010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
96292
96293        Reviewed by Yury Semikhatsky.
96294
96295        WebInspector: the bindings generation helper script can be
96296        simplified a bit. Chromium.
96297        https://bugs.webkit.org/show_bug.cgi?id=42523
96298
96299        * WebCore.gyp/WebCore.gyp:
96300        * WebCore.gyp/scripts/rule_binding.py:
96301        * bindings/scripts/CodeGenerator.pm:
96302        * bindings/scripts/CodeGeneratorCPP.pm:
96303        * bindings/scripts/CodeGeneratorJS.pm:
96304        * bindings/scripts/CodeGeneratorObjC.pm:
96305        * bindings/scripts/CodeGeneratorV8.pm:
96306        * bindings/scripts/generate-bindings.pl:
96307        * inspector/CodeGeneratorInspector.pm:
96308
963092010-07-20  Steve Falkenburg  <sfalken@apple.com>
96310
96311        Re-save vsprops file after no-op edit in Visual Studio
96312        to fix manual edit issues.
96313
96314        * WebCore.vcproj/WebCoreCommon.vsprops:
96315
963162010-07-20  Steve Falkenburg  <sfalken@apple.com>
96317
96318        Re-save vcproj file after no-op edit in Visual Studio
96319        to fix manual edit issues.
96320
96321        * WebCore.vcproj/WebCore.vcproj:
96322
963232010-07-20  Adam Barth  <abarth@webkit.org>
96324
96325        Reviewed by Eric Seidel.
96326
96327        Include attributes when reconstructing elements in HTML5 tree builder
96328        https://bugs.webkit.org/show_bug.cgi?id=42594
96329
96330        Remove FIXME now that we have a test.
96331
96332        * html/HTMLConstructionSite.cpp:
96333        (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):
96334
963352010-07-20  Sam Weinig  <sam@webkit.org>
96336
96337        Reviewed by Brady Eidson.
96338
96339        Patch for https://bugs.webkit.org/show_bug.cgi?id=42719
96340        Make Acid2 pass in WebKit2
96341
96342        * WebCore.exp.in: Update exported functions.
96343
963442010-07-20  Gavin Peters  <gavinp@chromium.org>
96345
96346        Reviewed by Adam Barth.
96347
96348        prefetch categorization is exactly wrong
96349        https://bugs.webkit.org/show_bug.cgi?id=42651
96350
96351        While I was in the area, I saw that CachedResource::schedule() was dead, so I have removed it.
96352
96353        Test: fast/dom/HTMLLinkElement/onload-completion-test.html
96354
96355        * loader/CachedCSSStyleSheet.h:
96356        * loader/CachedFont.h:
96357        * loader/CachedImage.h:
96358        * loader/CachedResource.cpp:
96359        * loader/CachedResource.h:
96360        (WebCore::CachedResource::isPrefetch):
96361        * loader/CachedScript.h:
96362        * loader/CachedXBLDocument.h:
96363        * loader/CachedXSLStyleSheet.h:
96364
963652010-07-20  James Hawkins  <jhawkins@chromium.org>
96366
96367        Reviewed by Darin Fisher.
96368
96369        Expose the form submission trigger on the HTMLFormElement object. This
96370        is used to verify that the user submitted the form instead of JS when
96371        saving form data in Chrome AutoFill.
96372        https://bugs.webkit.org/show_bug.cgi?id=42479
96373
96374        No new tests as this is only used by the Chromium WebKit API.
96375
96376        * html/HTMLFormElement.cpp:
96377        (WebCore::HTMLFormElement::HTMLFormElement):
96378        (WebCore::HTMLFormElement::submit):
96379        (WebCore::HTMLFormElement::reset):
96380        (WebCore::HTMLFormElement::submissionTrigger):
96381        * html/HTMLFormElement.h:
96382
963832010-07-20  Adam Barth  <abarth@webkit.org>
96384
96385        Unreviewed.
96386
96387        Fix fast/dom/title-content-write-set.html for HTML5 tree builder
96388        https://bugs.webkit.org/show_bug.cgi?id=42668
96389
96390        Address some late-breaking review comments.
96391
96392        * dom/CharacterData.cpp:
96393        (WebCore::CharacterData::appendDataCommon):
96394        (WebCore::CharacterData::parserAppendData):
96395        (WebCore::CharacterData::appendData):
96396        (WebCore::CharacterData::insertData):
96397        (WebCore::CharacterData::replaceData):
96398        * dom/CharacterData.h:
96399
964002010-07-20  Daniel Erat  <derat@chromium.org>
96401
96402        Reviewed by Ojan Vafai.
96403
96404        Subpixel rendering always disabled for Chromium Linux
96405        https://bugs.webkit.org/show_bug.cgi?id=42220
96406
96407        Explicitly initialize global Chromium Linux isSkiaSubpixelGlyphs
96408        flag to false for clarity.
96409
96410        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
96411
964122010-07-20  Adam Barth  <abarth@webkit.org>
96413
96414        Reviewed by Darin Adler.
96415
96416        Fix fast/dom/title-content-write-set.html for HTML5 tree builder
96417        https://bugs.webkit.org/show_bug.cgi?id=42668
96418
96419        When I split parserAppendData from appendData, it was tempting to cut
96420        the function at dispatchModifiedEvent, but that's not quite right.  We
96421        still need to notify the parent that it's children have changed.
96422
96423        * dom/CharacterData.cpp:
96424        (WebCore::CharacterData::appendDataCommon):
96425        (WebCore::CharacterData::parserAppendData):
96426        (WebCore::CharacterData::appendData):
96427        * dom/CharacterData.h:
96428
964292010-07-20  Chris Fleizach  <cfleizach@apple.com>
96430
96431        Reviewed by Beth Dakin.
96432
96433        CrashTracer: [USER] 300 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 573
96434        https://bugs.webkit.org/show_bug.cgi?id=42652
96435
96436        When a table cell accesses its parent table, we should not use getOrCreate, because creating an AXTable inspects its render tree state
96437        which may be out of date, leading to a crash.
96438        By using only get(), it implies that the AXTable must be created before AXTableCells. This should
96439        always be the case when AT clients access a table.
96440
96441        Test: accessibility/updating-attribute-in-table-causes-crash.html
96442
96443        * accessibility/AccessibilityTableCell.cpp:
96444        (WebCore::AccessibilityTableCell::parentTable):
96445
964462010-07-20  Abhishek Arya  <inferno@chromium.org>
96447
96448        Reviewed by David Hyatt.
96449
96450        Check the node is a text node before doing the static cast
96451        for editing commands.
96452        https://bugs.webkit.org/show_bug.cgi?id=42655
96453
96454        Test: editing/execCommand/editing-nontext-node-crash.xhtml
96455
96456        * editing/DeleteSelectionCommand.cpp:
96457        (WebCore::DeleteSelectionCommand::fixupWhitespace):
96458        * editing/InsertLineBreakCommand.cpp:
96459        (WebCore::InsertLineBreakCommand::doApply):
96460        * editing/InsertParagraphSeparatorCommand.cpp:
96461        (WebCore::InsertParagraphSeparatorCommand::doApply):
96462
964632010-07-20  Leo Yang  <leo.yang@torchmobile.com.cn>
96464
96465        Reviewed by David Hyatt.
96466
96467        Don't merge Anonymous block whose first child is inline run-in.
96468        Make run-in recalculate its style after its renderer is destroyed.
96469        https://bugs.webkit.org/show_bug.cgi?id=41375.
96470
96471        Test: fast/runin/crash-when-reparent-sibling.html
96472
96473        * rendering/RenderBlock.cpp:
96474        (WebCore::canMergeContiguousAnonymousBlocks):
96475        * rendering/RenderObjectChildList.cpp:
96476        (WebCore::RenderObjectChildList::destroyLeftoverChildren):
96477
964782010-07-20  Steve Block  <steveblock@google.com>
96479
96480        Unreviewed Qt test fix.
96481
96482        Qt should not use PREEMPT_GEOLOCATION_PERMISSION until Bug 42027 is fixed.
96483        https://bugs.webkit.org/show_bug.cgi?id=42068
96484
96485        No new tests, test fix only.
96486
96487        * WebCore.pro:
96488
964892010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
96490
96491        Unreviewed, rolling out r63764.
96492        http://trac.webkit.org/changeset/63764
96493        https://bugs.webkit.org/show_bug.cgi?id=42658
96494
96495        have broken Chromium linux build (Requested by loislo on
96496        #webkit).
96497
96498        * WebCore.gyp/WebCore.gyp:
96499        * WebCore.gyp/scripts/rule_binding.py:
96500        * bindings/scripts/CodeGenerator.pm:
96501        * bindings/scripts/CodeGeneratorCPP.pm:
96502        * bindings/scripts/CodeGeneratorJS.pm:
96503        * bindings/scripts/CodeGeneratorObjC.pm:
96504        * bindings/scripts/CodeGeneratorV8.pm:
96505        * bindings/scripts/generate-bindings.pl:
96506        * inspector/CodeGeneratorInspector.pm:
96507
965082010-07-20  Alexey Proskuryakov  <ap@apple.com>
96509
96510        Reviewed by Brady Eidson.
96511
96512        https://bugs.webkit.org/show_bug.cgi?id=41531
96513        Asynchronous cross origin XMLHttpRequest doesn't expose 401 response when withCredentials is false
96514
96515        This doesn't match Firefox, but it matches our sync case, XHR2 spec and common sense.
96516
96517        Test: http/tests/xmlhttprequest/cross-origin-no-authorization.html (updated results).
96518
96519        * loader/DocumentThreadableLoader.cpp:
96520        (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Instead of canceling
96521        the request, continue without credentials - if the platform has a necessary method on
96522        ResourceHandle.
96523
96524        * loader/SubresourceLoader.cpp:
96525        (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Don't ask resource loader
96526        client for credentials if subresource loader client already took care of those.
96527
96528        * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::hasAuthenticationChallenge):
96529        * platform/network/ResourceHandle.h:
96530        Added an accessor to check whether ResourceHandle is currently waiting for credentials.
96531
965322010-07-20  Leandro Pereira  <leandro@profusion.mobi>
96533
96534        [EFL] Unreviewed build fix.
96535
96536        Build SVGPathBuilder, SVGPathParser and SVGPathSegListBuilder.
96537        Add websockets include directory.
96538
96539        The EFL port doesn't yet support automated tests.
96540
96541        * CMakeLists.txt:
96542
965432010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
96544
96545        Reviewed by Yury Semikhatsky.
96546
96547        WebInspector: the bindings generation helper script can be
96548        simplified a bit. Chromium.
96549        https://bugs.webkit.org/show_bug.cgi?id=42523
96550
96551        * WebCore.gyp/WebCore.gyp:
96552        * WebCore.gyp/scripts/rule_binding.py:
96553        * bindings/scripts/CodeGenerator.pm:
96554        * bindings/scripts/CodeGeneratorCPP.pm:
96555        * bindings/scripts/CodeGeneratorJS.pm:
96556        * bindings/scripts/CodeGeneratorObjC.pm:
96557        * bindings/scripts/CodeGeneratorV8.pm:
96558        * bindings/scripts/generate-bindings.pl:
96559        * inspector/CodeGeneratorInspector.pm:
96560
965612010-07-20  Joseph Pecoraro  <joepeck@webkit.org>
96562
96563        Reviewed by Geoffrey Garen.
96564
96565        WebScriptObject Should Allow Safely Checking For Key Existence
96566        https://bugs.webkit.org/show_bug.cgi?id=42613
96567
96568        Test: platform/mac/fast/objc/webScriptObject-hasWebScriptKey.html
96569
96570        Add private API "hasWebScriptKey" to check for key existence in
96571        a WebScriptObject. Like JavaScript's `in` syntax. This is intended
96572        to be made public eventually.
96573
96574        * bindings/objc/WebScriptObject.mm:
96575        (-[WebScriptObject hasWebScriptKey:]):
96576        * bindings/objc/WebScriptObjectPrivate.h:
96577
965782010-07-20  Adam Barth  <abarth@webkit.org>
96579
96580        Reviewed by Eric Seidel.
96581
96582        HTML5 tree builder needs to call dispatchDocumentElementAvailable
96583        https://bugs.webkit.org/show_bug.cgi?id=42654
96584
96585        This patch fixes the follout LayoutTests with --html5-treebuilder:
96586          - userscripts/script-not-run-for-fragments.html
96587          - userscripts/script-run-at-start.html
96588
96589        * html/HTMLConstructionSite.cpp:
96590        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
96591        (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
96592        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
96593        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
96594        * html/HTMLConstructionSite.h:
96595        * html/HTMLTreeBuilder.cpp:
96596        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
96597
965982010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
96599
96600        Reviewed by Steve Block.
96601
96602        Need to be able to configure Geolocation policy regarding user permissions
96603        https://bugs.webkit.org/show_bug.cgi?id=42068
96604
96605        Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
96606        acquires user permission first before starting location service
96607
96608        This change does not introduce any change in behavior for any platform. So there are no new tests
96609        added.
96610
96611        * WebCore.pro:
96612        * page/Geolocation.cpp:
96613        (WebCore::Geolocation::startRequest):
96614        (WebCore::Geolocation::setIsAllowed):
96615        (WebCore::Geolocation::startUpdating):
96616        * page/Geolocation.h:
96617
966182010-07-20  Adam Barth  <abarth@webkit.org>
96619
96620        Reviewed by Darin Adler.
96621
96622        HTML5 tree builder should restore form state
96623        https://bugs.webkit.org/show_bug.cgi?id=42644
96624
96625        We need to tell self-closing tags that we're done parsing their
96626        children.  This patch fixes the following LayoutTests when run with
96627        --html5-treebuilder:
96628
96629          fast/forms/button-state-restore.html
96630          fast/forms/state-restore-to-non-autocomplete-form.html
96631          fast/forms/state-restore-to-non-edited-controls.html
96632          fast/history/saves-state-after-fragment-nav.html
96633          http/tests/navigation/restore-form-state-https.html
96634
96635        * html/HTMLConstructionSite.cpp:
96636        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
96637
966382010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
96639
96640        Unreviewed, rolling out r63750.
96641        http://trac.webkit.org/changeset/63750
96642        https://bugs.webkit.org/show_bug.cgi?id=42648
96643
96644        This revision breaks the windows builds (Requested by
96645        hwennborg on #webkit).
96646
96647        * bindings/generic/RuntimeEnabledFeatures.cpp:
96648        * bindings/generic/RuntimeEnabledFeatures.h:
96649        * page/DOMWindow.cpp:
96650        (WebCore::DOMWindow::addEventListener):
96651        (WebCore::DOMWindow::removeEventListener):
96652        (WebCore::DOMWindow::removeAllEventListeners):
96653        * page/DOMWindow.idl:
96654        * page/Page.cpp:
96655        (WebCore::Page::Page):
96656
966572010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
96658
96659        Reviewed by Pavel Feldman.
96660
96661        WebInspector: It is possible to show full call stack instead of top frame for Caller
96662        and Call Site properties in Timeline panel.
96663        https://bugs.webkit.org/show_bug.cgi?id=42620
96664
96665        * English.lproj/localizedStrings.js:
96666        * inspector/front-end/TimelinePanel.js:
96667        (WebInspector.TimelinePanel.FormattedRecord):
96668        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
96669        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
96670        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
96671        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
96672        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
96673        * inspector/front-end/inspector.css:
96674        (.timeline-details):
96675        (.timeline-function-name):
96676        (.timeline-stacktrace-title):
96677
966782010-07-20  Leon Clarke  <leonclarke@google.com>
96679
96680        Reviewed by Pavel Feldman.
96681
96682        Make things compile again when the inspector is disabled, following
96683        recent inspector improvements.
96684        https://bugs.webkit.org/show_bug.cgi?id=42632
96685
96686        No new tests. Fixing a build break.
96687
96688
96689        * bindings/v8/ScriptCallStack.cpp:
96690        (WebCore::ScriptCallStack::stackTrace):
96691        * inspector/InspectorController.h:
96692        (WebCore::InspectorController::didInsertDOMNode):
96693        (WebCore::InspectorController::didRemoveDOMNode):
96694        (WebCore::InspectorController::didModifyDOMAttr):
96695        * inspector/InspectorDOMAgent.h:
96696        * loader/appcache/ApplicationCacheGroup.cpp:
96697
966982010-07-20  Anton Muhin  <antonm@chromium.org>
96699
96700        Reviewed by Adam Barth.
96701
96702        [v8] Allow handles to be disposed and WebKit objects to be dereferenced even if their map is already destroyed.
96703        https://bugs.webkit.org/show_bug.cgi?id=42634
96704
96705        Currently DOMDataStore could be destroyed even if it has some mappings (it gets destroyed
96706        when its isolated context gets GCed).  However in this case, handles allocated for
96707        such objects would never be disposed as we require presence of mapping from wrapped
96708        WebKit object to handle being collected in the map and now map is gone.  That leads to
96709        zombie objects in both WebKit (wrapped WebKit object doesn't get dereferenced) and V8
96710        (both handle and V8 wrapper object could not be destroyed).
96711
96712        See http://code.google.com/p/chromium/issues/detail?id=47125 for further discussion.
96713
96714        * bindings/v8/DOMData.h:
96715        (WebCore::DOMData::handleWeakObject):
96716        * bindings/v8/DOMDataStore.cpp:
96717        (WebCore::DOMDataStore::weakNodeCallback):
96718        * bindings/v8/V8DOMMap.h:
96719        (WebCore::WeakReferenceMap::~WeakReferenceMap):
96720
967212010-07-20  Hans Wennborg  <hans@chromium.org>
96722
96723        Reviewed by Steve Block.
96724
96725        Runtime feature switch for device orientation
96726        https://bugs.webkit.org/show_bug.cgi?id=42265
96727
96728        Add a runtime feature switch that decides whether device orientation
96729        events are available or not. Defaults to true.
96730
96731        * bindings/generic/RuntimeEnabledFeatures.cpp:
96732        * bindings/generic/RuntimeEnabledFeatures.h:
96733        (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
96734        (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
96735        (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
96736        (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
96737        * page/DOMWindow.cpp:
96738        (WebCore::DOMWindow::addEventListener):
96739        (WebCore::DOMWindow::removeEventListener):
96740        (WebCore::DOMWindow::removeAllEventListeners):
96741        * page/DOMWindow.idl:
96742        * page/Page.cpp:
96743        (WebCore::Page::Page):
96744
967452010-07-20  Hayato Ito  <hayato@chromium.org>
96746
96747        Reviewed by Darin Adler.
96748
96749        Fixed a crash when deeply nested CSS selector is used.
96750        https://bugs.webkit.org/show_bug.cgi?id=41129
96751
96752        This patch deletes CSSSelectors iteratively so that it doesn't cause stack overflow.
96753
96754        Test: fast/css/css-selector-deeply-nested.html
96755
96756        * css/CSSSelector.cpp:
96757        (WebCore::CSSSelectorBag::~CSSSelectorBag):
96758        (WebCore::CSSSelectorBag::isEmpty):
96759        (WebCore::CSSSelectorBag::append):
96760        (WebCore::CSSSelectorBag::takeAny):
96761        (WebCore::CSSSelector::~CSSSelector):
96762        (WebCore::CSSSelector::specificity):
96763        * css/CSSSelector.h:
96764
967652010-07-20  Yury Semikhatsky  <yurys@chromium.org>
96766
96767        Reviewed by Pavel Feldman.
96768
96769        [v8] Web Inspector: inspected page renderer crashes when inspected page has JS syntax error
96770        https://bugs.webkit.org/show_bug.cgi?id=42642
96771
96772        * bindings/v8/V8ConsoleMessage.cpp:
96773        (WebCore::V8ConsoleMessage::handler):
96774
967752010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
96776
96777        Unreviewed, rolling out r63742.
96778        http://trac.webkit.org/changeset/63742
96779        https://bugs.webkit.org/show_bug.cgi?id=42641
96780
96781        Broke Leopard Intel build. (Requested by bbandix on #webkit).
96782
96783        * WebCore.pro:
96784        * page/Geolocation.cpp:
96785        (WebCore::Geolocation::startRequest):
96786        (WebCore::Geolocation::setIsAllowed):
96787        (WebCore::Geolocation::startUpdating):
96788        * page/Geolocation.h:
96789
967902010-07-20  Adam Roben  <aroben@apple.com>
96791
96792        Windows build fix
96793
96794        * WebCore.vcproj/WebCore.vcproj: Fixed case of "Name" attribute.
96795
967962010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
96797
96798        Reviewed by Steve Block.
96799
96800        Need to be able to configure Geolocation policy regarding user permissions
96801        https://bugs.webkit.org/show_bug.cgi?id=42068
96802
96803        Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
96804        acquires user permission first before starting location service
96805
96806        This change does not introduce any change in behavior for any platform. So there are no new tests
96807        added.
96808
96809        * WebCore.pro:
96810        * page/Geolocation.cpp:
96811        (WebCore::Geolocation::startRequest):
96812        (WebCore::Geolocation::setIsAllowed):
96813        (WebCore::Geolocation::startUpdating):
96814        * page/Geolocation.h:
96815
968162010-07-20  Alexander Pavlov  <apavlov@chromium.org>
96817
96818        Reviewed by Pavel Feldman.
96819
96820        Inspector: Resources Search Should Search Only Filtered Resources
96821        https://bugs.webkit.org/show_bug.cgi?id=28290
96822
96823        * inspector/front-end/AbstractTimelinePanel.js:
96824        (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
96825        * inspector/front-end/ResourcesPanel.js:
96826        (WebInspector.ResourcesPanel.prototype.get searchableViews):
96827        * inspector/front-end/inspector.js:
96828        (WebInspector.performSearch):
96829        (WebInspector.doPerformSearch):
96830
968312010-07-20  Alexander Pavlov  <apavlov@chromium.org>
96832
96833        Reviewed by Pavel Feldman.
96834
96835        Web Inspector: Incorrect absolute URLs in tooltips of links in the ElementsTreeOutline
96836        https://bugs.webkit.org/show_bug.cgi?id=42626
96837
96838        * inspector/front-end/ElementsTreeOutline.js:
96839        (WebInspector.ElementsTreeElement.prototype._attributeHTML):
96840
968412010-07-20  Shinichiro Hamaji  <hamaji@chromium.org>
96842
96843        Unreviewed comment fix. The comment in IDL should be //, not # .
96844
96845        Code generator: ensure generated constants match their corresponding enums.
96846        https://bugs.webkit.org/show_bug.cgi?id=42250
96847
96848        * dom/OverflowEvent.idl:
96849
968502010-07-20  Hans Wennborg  <hans@chromium.org>
96851
96852        Reviewed by Steve Block.
96853
96854        Add WebCore/bindings/generic/RuntimeEnabledFeatures.cpp to build files
96855        https://bugs.webkit.org/show_bug.cgi?id=42380
96856
96857        RuntimeEnabledFeatures.cpp and .h were moved from bindings/v8 to
96858        bindings/generic a while a go (in r54593), but need to
96859        be added to the build in order to be used.
96860
96861        No new functionality so no new tests.
96862
96863        * Android.mk:
96864        * CMakeLists.txt:
96865        * GNUmakefile.am:
96866        * WebCore.pro:
96867        * WebCore.vcproj/WebCore.vcproj:
96868        * WebCore.xcodeproj/project.pbxproj:
96869        * websockets/WebSocket.cpp: Remove #if USE(V8), as RuntimeEnabledFeatures.cpp is no longer V8-only.
96870        * websockets/WebSocket.h: Ditto.
96871
968722010-07-20  Tony Chang  <tony@chromium.org>
96873
96874        Reviewed by Kent Tamura.
96875
96876        clean up style in ClipboardWin and PasteboardWin
96877        https://bugs.webkit.org/show_bug.cgi?id=42609
96878
96879        No new tests since this is just a style cleanup.
96880
96881        * platform/win/ClipboardUtilitiesWin.cpp:
96882        (WebCore::createGlobalData):
96883        (WebCore::markupToCFHTML):
96884        (WebCore::getURL):
96885        (WebCore::getPlainText):
96886        (WebCore::getTextHTML):
96887        (WebCore::fragmentFromFilenames):
96888        (WebCore::containsFilenames):
96889        (WebCore::fragmentFromCFHTML):
96890        (WebCore::fragmentFromHTML):
96891        * platform/win/ClipboardUtilitiesWin.h:
96892        * platform/win/ClipboardWin.cpp:
96893        (WebCore::pathRemoveBadFSCharacters):
96894        (WebCore::createGlobalHDropContent):
96895        (WebCore::createGlobalUrlFileDescriptor):
96896        (WebCore::writeURL):
96897        (WebCore::ClipboardWin::clearData):
96898        (WebCore::ClipboardWin::clearAllData):
96899        (WebCore::ClipboardWin::getData):
96900        (WebCore::ClipboardWin::types):
96901        (WebCore::ClipboardWin::declareAndWriteDragImage):
96902        (WebCore::ClipboardWin::writeRange):
96903        * platform/win/ClipboardWin.h:
96904        (WebCore::ClipboardWin::create):
96905        (WebCore::ClipboardWin::dataObject):
96906        * platform/win/PasteboardWin.cpp:
96907        (WebCore::PasteboardOwnerWndProc):
96908        (WebCore::Pasteboard::writeSelection):
96909        (WebCore::Pasteboard::writeURL):
96910        (WebCore::Pasteboard::plainText):
96911        (WebCore::Pasteboard::documentFragment):
96912
969132010-07-20  Yury Semikhatsky  <yurys@chromium.org>
96914
96915        Reviewed by Pavel Feldman.
96916
96917        Web Inspector: jump to source is broken for call frames logged by console.trace
96918        https://bugs.webkit.org/show_bug.cgi?id=42619
96919
96920        * inspector/front-end/ConsoleView.js:
96921        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
96922        * inspector/front-end/treeoutline.js: allow passing HTML element as a title.
96923        (TreeElement.prototype.set title):
96924        (TreeElement.prototype.set shouldRefreshChildren):
96925        (TreeElement.prototype._setListItemNodeContent):
96926        (TreeElement.prototype._attach):
96927
969282010-07-20  Tony Chang  <tony@chromium.org>
96929
96930        Reviewed by Dan Bernstein.
96931
96932        [chromium] crash in Position::getInlineBoxAndOffset
96933        https://bugs.webkit.org/show_bug.cgi?id=42202
96934
96935        Test: editing/selection/firstRect-crash.html
96936        Manual test: win/contextmenu-key2.html
96937
96938        * page/EventHandler.cpp: Code no longer needed
96939        * page/Frame.cpp:
96940        (WebCore::Frame::firstRectForRange): Normalize Positions to VisiblePositions because
96941            Positions may be pointing to nodes that have no renderer.  If there's no renderer,
96942            getInlineBoxAndOffset will crash.
96943
969442010-07-20  Adam Barth  <abarth@webkit.org>
96945
96946        Reviewed by Darin Adler.
96947
96948        Foster parenting depends on the current element at insertion time
96949        https://bugs.webkit.org/show_bug.cgi?id=42599
96950
96951        We need to consider the current element at insertion-time when deciding
96952        whether to redirect insertion to the foster parent.  Previously, we
96953        were considering the current element *both* at insertion-time and at
96954        the time we created the guard.
96955
96956        * html/HTMLConstructionSite.h:
96957        (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
96958        * html/HTMLTreeBuilder.cpp:
96959        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
96960        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
96961        (WebCore::HTMLTreeBuilder::defaultForInTableText):
96962
969632010-07-20  Matthew Delaney  <mdelaney@apple.com>
96964
96965        Reviewed by Kenneth Rohde Christiansen.
96966
96967        Failing 2d.path.stroke.prune.curve philip canvas test
96968        https://bugs.webkit.org/show_bug.cgi?id=42190
96969
96970        * html/canvas/CanvasRenderingContext2D.cpp:
96971        (WebCore::CanvasRenderingContext2D::closePath): Added check to make sure there's a non-trivial path to close. Since there is currently no way to check if the current point is the start point, or similarly if there is only 1 point in the current subpath (since these are both sufficient conditions for a trivial subpath), then checking that the bounding rectangle has both zero width and height proves also to be a sufficient condition for a trivial path.
96972        (WebCore::CanvasRenderingContext2D::quadraticCurveTo): Added in simple bounds as per the spec.
96973        (WebCore::CanvasRenderingContext2D::bezierCurveTo): Added in simple bounds as per the spec.
96974        * platform/graphics/cg/PathCG.cpp:
96975        (WebCore::Path::closeSubpath): Moved the check for an empty path up on level to make it platform independent and remove redundancy.
96976
969772010-07-19  Victoria Kirst  <vrk@google.com>
96978
96979        Reviewed by David Levin.
96980
96981        Added a simple implementation of VideoLayerChromium. Uses the
96982        LayerChromium::updateTextureRect() to send video frames to the
96983        GPU.
96984        https://bugs.webkit.org/show_bug.cgi?id=42234
96985
96986        * WebCore.gypi: Added include for VideoLayerChromium.
96987        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
96988        (WebCore::GraphicsLayerChromium::setContentsToMedia): Implemented
96989        setContentsToMedia, though it does not seem to trigger a repaint
96990        correctly.
96991        * platform/graphics/chromium/GraphicsLayerChromium.h:
96992        * platform/graphics/chromium/VideoLayerChromium.cpp: Added.
96993        (WebCore::VideoLayerChromium::create):
96994        (WebCore::VideoLayerChromium::VideoLayerChromium):
96995        (WebCore::VideoLayerChromium::updateTextureContents):
96996        * platform/graphics/chromium/VideoLayerChromium.h: Added.
96997        (WebCore::VideoLayerChromium::drawsContent):
96998
969992010-07-19  Dirk Schulze  <krit@webkit.org>
97000
97001        Reviewed by Nikolas Zimmermann.
97002
97003        SVG CleanUp of SVGPathData parsing
97004        https://bugs.webkit.org/show_bug.cgi?id=41410
97005
97006        Cleanup the parsing code for SVG Paths. Move classes out of the convoluted SVGParserUtilities.cpp
97007        in their own files. Make use of WebCore specific objects in parsing code like FloatPoint, AffineTransform,
97008        etc. instead of using home-brewn solutions.
97009        The SVGPathParser parses a path data string and delivers the parsed segments and values to the SVGPathConsumer.
97010        SVGPathConsumer is the base class for SVGPathBuilder and SVGPathSegListBuilder, that either build the platform
97011        Path object or a SVGPathSegList out of the segments.
97012        We're now directly parsing floats instead of truncating precision to float afterwards.
97013
97014        SVG Path with an arc with radius of 0 does not render
97015        https://bugs.webkit.org/show_bug.cgi?id=40448
97016
97017        If one of the radii on the elliptic arc are zero, we should draw a line from the starting point to
97018        the end point according to the spec. Fixed this bug with this patch, because an is zero check and 
97019        an DRT check was neccessary with the current clean-up.
97020        Extended svg/dom/path-parser.xhml to check the correct behavior.
97021
97022        * Android.mk:
97023        * GNUmakefile.am:
97024        * WebCore.gypi:
97025        * WebCore.pro:
97026        * WebCore.vcproj/WebCore.vcproj:
97027        * WebCore.xcodeproj/project.pbxproj:
97028        * platform/graphics/FloatPoint.h:
97029        (WebCore::FloatPoint::move): Follow WebKit style and use multiple lines for the function.
97030        (WebCore::FloatPoint::scale): Scale FloatPoint.
97031        (WebCore::operator+=):
97032        (WebCore::operator+): Add two FloatPoints and give back the sum as FloatPoint.
97033        * svg/SVGAllInOne.cpp: Added new created files.
97034        * svg/SVGAnimateElement.cpp:
97035        (WebCore::SVGAnimateElement::calculateFromAndToValues): Use new PathParser to create a PathSegList.
97036        * svg/SVGAnimateMotionElement.cpp:
97037        (WebCore::SVGAnimateMotionElement::parseMappedAttribute): Use new PathParser to create a Path.
97038        * svg/SVGGlyphElement.cpp:
97039        (WebCore::parsePathData): Use new PathParser to create a Path.
97040        * svg/SVGParserUtilities.cpp:
97041        (WebCore::parseArcFlag): Removed parseArcFlag(double&), we parse in float now.
97042        * svg/SVGParserUtilities.h: Removed path parsing code and a lot of unneccessary includes.
97043        * svg/SVGPathBuilder.cpp: Added.
97044        (WebCore::SVGPathBuilder::SVGPathBuilder):
97045        (WebCore::SVGPathBuilder::build): Builds a normalized Path.
97046        (WebCore::SVGPathBuilder::moveTo):
97047        (WebCore::SVGPathBuilder::lineTo):
97048        (WebCore::SVGPathBuilder::curveToCubic):
97049        (WebCore::SVGPathBuilder::closePath):
97050        * svg/SVGPathBuilder.h: Added. We just create normalized Paths, so this functions should never be reached.
97051        (WebCore::SVGPathBuilder::lineToHorizontal):
97052        (WebCore::SVGPathBuilder::lineToVertical):
97053        (WebCore::SVGPathBuilder::curveToCubicSmooth):
97054        (WebCore::SVGPathBuilder::curveToQuadratic):
97055        (WebCore::SVGPathBuilder::curveToQuadraticSmooth):
97056        (WebCore::SVGPathBuilder::arcTo):
97057        * svg/SVGPathConsumer.h: Added. Base class of SVGPathBuilder and SVGPathSegListBuilder.
97058        (WebCore::):
97059        (WebCore::SVGPathConsumer::SVGPathConsumer):
97060        (WebCore::SVGPathConsumer::~SVGPathConsumer):
97061        * svg/SVGPathElement.cpp:
97062        (WebCore::SVGPathElement::parseMappedAttribute): Use new PathParser to create a PathSegList.
97063        * svg/SVGPathParser.cpp: Added.
97064        (WebCore::SVGPathParser::SVGPathParser):
97065        (WebCore::SVGPathParser::~SVGPathParser):
97066        (WebCore::SVGPathParser::parseClosePathSegment):
97067        (WebCore::SVGPathParser::parseMoveToSegment):
97068        (WebCore::SVGPathParser::parseLineToSegment):
97069        (WebCore::SVGPathParser::parseLineToHorizontalSegment):
97070        (WebCore::SVGPathParser::parseLineToVerticalSegment):
97071        (WebCore::SVGPathParser::parseCurveToCubicSegment):
97072        (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
97073        (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
97074        (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
97075        (WebCore::SVGPathParser::parseArcToSegment):
97076        (WebCore::SVGPathParser::parsePathDataString):
97077        (WebCore::SVGPathParser::decomposeArcToCubic): Normalizes an arc to multiple cubic curves.
97078        * svg/SVGPathParser.h: Added.
97079        * svg/SVGPathSegListBuilder.cpp: Added.
97080        (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
97081        (WebCore::SVGPathSegListBuilder::build):
97082        (WebCore::SVGPathSegListBuilder::moveTo):
97083        (WebCore::SVGPathSegListBuilder::lineTo):
97084        (WebCore::SVGPathSegListBuilder::lineToHorizontal):
97085        (WebCore::SVGPathSegListBuilder::lineToVertical):
97086        (WebCore::SVGPathSegListBuilder::curveToCubic):
97087        (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
97088        (WebCore::SVGPathSegListBuilder::curveToQuadratic):
97089        (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
97090        (WebCore::SVGPathSegListBuilder::arcTo):
97091        (WebCore::SVGPathSegListBuilder::closePath):
97092        * svg/SVGPathSegListBuilder.h: Added.
97093
970942010-07-15  Yuzo Fujishima  <yuzo@google.com>
97095
97096        Reviewed by Dan Bernstein.
97097
97098        Fix for Bug 42342 - Font download error for an @font-face rule invalidates other @font-face rules for the same font-family
97099        https://bugs.webkit.org/show_bug.cgi?id=42342
97100
97101        Test: fast/css/font-face-download-error.html
97102
97103        * css/CSSSegmentedFontFace.cpp:
97104        (WebCore::CSSSegmentedFontFace::isValid): Valid if at least one font
97105        face is valid.
97106        (WebCore::CSSSegmentedFontFace::getFontData): Check validity for each
97107        font face.
97108        * css/CSSSegmentedFontFace.h: Make isValid private.
97109
971102010-07-19  Kent Tamura  <tkent@chromium.org>
97111
97112        Reviewed by Shinichiro Hamaji.
97113
97114        [Chromium] Fix style errors of RenderThemeChromiumWin.cpp
97115        https://bugs.webkit.org/show_bug.cgi?id=42568
97116
97117        * rendering/RenderThemeChromiumWin.cpp:
97118        (WebCore::):
97119        (WebCore::getNonClientMetrics):
97120        (WebCore::systemFontSize):
97121        (WebCore::pointsToPixels):
97122        (WebCore::querySystemBlinkInterval):
97123        (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
97124        (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
97125        (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
97126        (WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor):
97127        (WebCore::RenderThemeChromiumWin::paintButton):
97128        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
97129        (WebCore::RenderThemeChromiumWin::paintMenuList):
97130        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
97131        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
97132
971332010-07-19  Steve Falkenburg  <sfalken@apple.com>
97134
97135        (Hopefully the last) Windows build fix.
97136        
97137        Version of CoreServices.h in WebKit Support Libraries uses
97138        pragma once, unlike the version I have locally. Switch based
97139        on __COLORSYNCDEPRECATED__ instead.
97140
97141        * WebCorePrefix.h:
97142
971432010-07-19  Steve Falkenburg  <sfalken@apple.com>
97144
97145        Windows build fix.
97146
97147        * WebCorePrefix.h:
97148
971492010-07-19  Steve Falkenburg  <sfalken@apple.com>
97150
97151        Build fix.
97152
97153        * WebCorePrefix.h:
97154
971552010-07-19  Steve Falkenburg  <sfalken@apple.com>
97156
97157        Build fix.
97158
97159        * WebCorePrefix.h:
97160
971612010-07-19  Steve Falkenburg  <sfalken@apple.com>
97162
97163        Windows Build fixes for new ColorSync API.
97164        We support both new and old APIs, since the newer headers aren't in the tree yet.
97165
97166        * WebCorePrefix.h: Removed include of CoreServices.h. Included via ColorSyncPriv.h instead, since header may not be present.
97167        * platform/graphics/cg/ColorCG.cpp:
97168        (WebCore::createCGColor): Conditionally use new ColorSync API.
97169        * platform/graphics/opentype/OpenTypeUtilities.cpp: Define Fixed if CoreServices.h doesn't.
97170        * platform/graphics/win/GraphicsLayerCACF.cpp:
97171        (WebCore::GraphicsLayerCACF::updateLayerDrawsContent): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
97172        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Include AssertMacros.h.
97173        * platform/network/cf/ResourceErrorCF.cpp:
97174        (WebCore::ResourceError::operator CFErrorRef): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
97175
971762010-07-19  Tony Gentilcore  <tonyg@chromium.org>
97177
97178        Reviewed by Dimitri Glazkov.
97179
97180        Only set unloadEventEnd when the unload event is actually fired
97181        https://bugs.webkit.org/show_bug.cgi?id=42607
97182
97183        r63689 introduced this ASSERT and it began failing on Qt and Mac debug.
97184        For some reason, it did not fail on Windows (which is where I was
97185        testing). The ASSERT was disabled in r63699.
97186
97187        Test: page-cache related layout tests don't crash in debug mode on Mac.
97188
97189        * loader/FrameLoader.cpp:
97190        (WebCore::FrameLoader::stopLoading):
97191
971922010-07-19  Andreas Kling  <andreas.kling@nokia.com>
97193
97194        Reviewed by Kenneth Rohde Christiansen.
97195
97196        [Qt] Don't unnecessarily copy QPainterPath in fillPath() and strokePath()
97197        https://bugs.webkit.org/show_bug.cgi?id=42513
97198
97199        Avoid making unnecessary deep-copies of QPainterPaths that will
97200        be discarded after use.
97201
97202        * platform/graphics/qt/GraphicsContextQt.cpp:
97203        (WebCore::GraphicsContext::fillPath):
97204        (WebCore::GraphicsContext::strokePath):
97205
972062010-07-19  Kenneth Russell  <kbr@google.com>
97207
97208        Reviewed by Nate Chapin.
97209
97210        WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
97211        https://bugs.webkit.org/show_bug.cgi?id=34719
97212
97213        Fixed compiler warning introduced by original patch. No new tests;
97214        covered by existing tests.
97215
97216        * platform/graphics/mac/GraphicsContext3DMac.mm:
97217        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
97218
972192010-07-19  Anders Carlsson  <andersca@apple.com>
97220
97221        Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig.
97222
97223        Handle NP_ASFILE and NP_ASFILEONLY transfer modes
97224        https://bugs.webkit.org/show_bug.cgi?id=42587
97225
97226        * WebCore.exp.in:
97227        Export functions from FileSystem.h
97228        
97229        * platform/mac/FileSystemMac.mm:
97230        (WebCore::openTemporaryFile):
97231        Try to create a temporary file using mkstemp.
97232
972332010-07-19  Anders Carlsson  <andersca@apple.com>
97234
97235        Reviewed by Sam Weinig.
97236
97237        Implement NPN_PostURLNotify
97238        https://bugs.webkit.org/show_bug.cgi?id=42602
97239
97240        Export symbols needed by WebKit2.
97241
97242        * WebCore.exp.in:
97243
972442010-07-19  Tony Gentilcore  <tonyg@chromium.org>
97245
97246        Unreviewed build fix.
97247
97248        Remove overzealous ASSERT from r63689
97249        https://bugs.webkit.org/show_bug.cgi?id=42606
97250
97251        No new tests because no new functionality.
97252
97253        * loader/FrameLoader.cpp:
97254        (WebCore::FrameLoader::stopLoading):
97255
972562010-07-19  Joseph Pecoraro  <joepeck@webkit.org>
97257
97258        Reviewed by Mark Rowe.
97259
97260        Web Inspector: Do Not Copy *.re2js Inspector Resources in Xcode Build Phase
97261        https://bugs.webkit.org/show_bug.cgi?id=42601
97262
97263        Remove *.re2js files after copying them over in the Build Phase. We do
97264        the same to remove the WebKit.qrc file.
97265
97266        * WebCore.xcodeproj/project.pbxproj:
97267
972682010-07-17  Tony Gentilcore  <tonyg@chromium.org>
97269
97270        Reviewed by Darin Fisher.
97271
97272        [Web Timing] Move times to DocumentLoader and fix bugs in mark points
97273        https://bugs.webkit.org/show_bug.cgi?id=42512
97274
97275        Test: fast/dom/webtiming-navigate-within-document.html
97276
97277        * loader/DocumentLoader.h: Move the FrameLoadTimeline (now call DocumentLoadTiming) to the DocumentLoader.
97278        (WebCore::DocumentLoader::documentLoadTiming):
97279        * loader/FrameLoader.cpp:
97280        (WebCore::FrameLoader::stopLoading): Set unloadEventEnd on the provisional DocumentLoader. Add some ASSERTs to tighten things up.
97281        (WebCore::FrameLoader::loadWithDocumentLoader): This was not the right place to set navigationStart. Setting it here caused it to be set before the unload form prompt and caused it to be reset when navigating within the document.
97282        (WebCore::FrameLoader::finishedLoading): Set responseEnd on the active DocumentLoader.
97283        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): This is the right place for navigationStart as defined by the spec.
97284        * loader/FrameLoader.h: Get rid of FrameLoadTimeline.
97285        * loader/FrameLoaderTypes.h: Rename FrameLoadTimeline to DocumentLoadTiming. It is even more apparent this doesn't belong in this file now. I am planning to submit a patch moving it out ASAP, but didn't want to muddy this patch with all those build files.
97286        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
97287        * loader/MainResourceLoader.cpp:
97288        (WebCore::MainResourceLoader::willSendRequest): Move fetchStart out of this method to load(), and rewrite setting of redirectStart, redirectEnd, and redirectCount to be more readable.
97289        (WebCore::MainResourceLoader::load): Set fetchStart slightly earlier here and tighten it up with some ASSERTs.
97290        * page/DOMWindow.cpp:
97291        (WebCore::DOMWindow::dispatchLoadEvent): Set loadEventStart and loadEventEnd on the DocumentLoader.
97292        * page/Navigation.cpp:
97293        (WebCore::Navigation::redirectCount): Retrieve redirectCount from the DocumentLoader.
97294        * page/Timing.cpp:
97295        (WebCore::getPossiblySkewedTimeInKnownRange): The skew problem turned out to be due to the fact that chromium's currentTime() implementation only syncs to the system time every 60 seconds. So absolute times across threads may be skewed slightly. I resolved this temporarily by clipping the time from another thread into a known bound. A better long term solution is probably to add a currentTimeFromSystemTime() method and call that for web timing marks.
97296        (WebCore::Timing::navigationStart):
97297        (WebCore::Timing::unloadEventEnd):
97298        (WebCore::Timing::redirectStart):
97299        (WebCore::Timing::redirectEnd):
97300        (WebCore::Timing::fetchStart):
97301        (WebCore::Timing::domainLookupStart):
97302        (WebCore::Timing::domainLookupEnd):
97303        (WebCore::Timing::connectStart):
97304        (WebCore::Timing::connectEnd):
97305        (WebCore::Timing::requestStart):
97306        (WebCore::Timing::requestEnd):
97307        (WebCore::Timing::responseStart):
97308        (WebCore::Timing::responseEnd):
97309        (WebCore::Timing::loadEventStart):
97310        (WebCore::Timing::loadEventEnd):
97311        (WebCore::Timing::documentLoader):
97312        (WebCore::Timing::documentLoadTiming):
97313        (WebCore::Timing::resourceLoadTiming):
97314        (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Ensure requestTime is in the range of fetchStart to responseEnd.
97315        * page/Timing.h:
97316
973172010-07-19  Chris Marrin  <cmarrin@apple.com>
97318
97319        Reviewed by Darin Adler.
97320
97321        https://bugs.webkit.org/show_bug.cgi?id=42118
97322        Disable WebGL on Leopard for now. 
97323
97324        LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
97325        GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
97326        SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
97327        software OpenGL driver on machines without this support.
97328
97329        * Configurations/FeatureDefines.xcconfig:
97330
973312010-07-19  Eric Carlson  <eric.carlson@apple.com>
97332
97333        Reviewed by Sam Weinig.
97334
97335        Remove HTML5 media element 'load' event
97336        https://bugs.webkit.org/show_bug.cgi?id=30464
97337        <rdar://problem/5650561>
97338
97339        * html/HTMLMediaElement.cpp:
97340        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_completelyLoaded.
97341        (WebCore::HTMLMediaElement::parseMappedAttribute): Don't deal with 'load' event.
97342        (WebCore::HTMLMediaElement::prepareForLoad): Set m_completelyLoaded to false.
97343        (WebCore::HTMLMediaElement::setNetworkState): Don't post 'load' event.
97344        (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if m_networkState != NETWORK_LOADING.
97345        (WebCore::HTMLMediaElement::userCancelledLoad): No more NETWORK_LOADED state.
97346        * html/HTMLMediaElement.h:
97347        (WebCore::HTMLMediaElement::):
97348        * html/HTMLMediaElement.idl: Remove NETWORK_LOADING.
97349
973502010-07-19  Alexey Proskuryakov  <ap@apple.com>
97351
97352        Reviewed by Darin Adler.
97353
97354        https://bugs.webkit.org/show_bug.cgi?id=40996
97355        Progress event should not be fired during synchronous XMLHttpRequest
97356
97357        https://bugs.webkit.org/show_bug.cgi?id=17502
97358        Assertion failure when trying to restart a sync XMLHttpRequest as an async one from onreadystatechange
97359
97360        Tests: http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events.html
97361               http/tests/xmlhttprequest/xmlhttprequest-sync-vs-async-assertion-failure.html
97362
97363        * xml/XMLHttpRequest.cpp:
97364        (WebCore::XMLHttpRequest::callReadyStateChangeListener): We now only dispatch readystatechange
97365        event for synchronous requests in states UNSENT, OPENED and DONE. I'm not sure what exactly
97366        the spec draft says about readystatechange for sync requests, but this seems to be the most
97367        logical and backwards compatible behavior.
97368        (WebCore::XMLHttpRequest::didReceiveData): Don't dispatch progress events for sync requests.
97369        Note that we already don't dispatch upload progress events for those.
97370
973712010-07-19  Dan Bernstein  <mitz@apple.com>
97372
97373        Reviewed by Simon Fraser.
97374
97375        <rdar://problem/7232109> Unpainted white area appears at the edge of the page when body has bg color
97376        https://bugs.webkit.org/show_bug.cgi?id=34913
97377
97378        Tests: fast/repaint/view-background-from-body-1.html
97379               fast/repaint/view-background-from-body-2.html
97380
97381        * rendering/RenderBox.cpp:
97382        (WebCore::RenderBox::styleWillChange): If this is the body renderer and its current style is
97383        null, repaint the view, similarly to how the view is repainted for any repaint-or-higher
97384        style changes.
97385        * rendering/RenderObjectChildList.cpp:
97386        (WebCore::RenderObjectChildList::removeChildNode): If the removed child is the body renderer,
97387        repaint the view, in case the body’s background was propagated to the view.
97388
973892010-07-19  Adam Roben  <aroben@apple.com>
97390
97391        Fix an assertion when a plugin returns -1 from NPP_Write
97392
97393        We were forgetting to call setDefersLoading(false) before destroying
97394        the PluginStream. In the process of destroying the stream, someone
97395        would call setDefersLoading(true), and we would assert because we were
97396        already deferring loads.
97397
97398        Fixes <http://webkit.org/b/42563> Assertion failure in
97399        ResourceHandle::setDefersLoading when running
97400        plugins/return-negative-one-from-write.html on Windows
97401
97402        Reviewed by Anders Carlsson.
97403
97404        * plugins/PluginStream.cpp:
97405        (WebCore::PluginStream::deliverData): Call setDefersLoading(false)
97406        before destroying the stream, to match the setDefersLoading(true) call
97407        earlier in this function. (We already call setDefersLoading(false) in
97408        the non-error case later on.)
97409
974102010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>
97411
97412        Reviewed by Antonio Gomes.
97413
97414        [EFL] Fix some EFL theme issues
97415        https://bugs.webkit.org/show_bug.cgi?id=42569
97416
97417        Keep a pointer to theme filename and check for it correctly.
97418        Reduce the scope of some variables.
97419        Don't test for platformWidget() since we are not using it.
97420
97421        No new tests, no new functionality.
97422
97423        * platform/efl/WidgetEfl.cpp:
97424        (WebCore::Widget::applyCursor):
97425        (WebCore::Widget::setCursor):
97426
974272010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>
97428
97429        Reviewed by Antonio Gomes.
97430
97431        [EFL] Add ifdef to compile code just on presence of Ecore_X
97432        https://bugs.webkit.org/show_bug.cgi?id=42567
97433
97434        No new tests since there's no new functionality.
97435
97436        * platform/efl/WidgetEfl.cpp:
97437        (WebCore::Widget::setEvasObject):
97438        Add #ifdef HAVE_ECORE_X to it.
97439
974402010-07-19  Yury Semikhatsky  <yurys@chromium.org>
97441
97442        Reviewed by Pavel Feldman.
97443
97444        Web Inspector: add/removeStyleClass shouldn't increase number of spaces between class names.
97445        https://bugs.webkit.org/show_bug.cgi?id=42485
97446
97447        * inspector/front-end/utilities.js:
97448        (Element.prototype.removeStyleClass):
97449
974502010-07-19  Yury Semikhatsky  <yurys@chromium.org>
97451
97452        Reviewed by Pavel Feldman.
97453
97454        Web Inspector: show stack trace for uncaught exceptions when Web Inspector is open.
97455        https://bugs.webkit.org/show_bug.cgi?id=42560
97456
97457        * bindings/js/ScriptController.cpp:
97458        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
97459        * bindings/js/ScriptController.h:
97460        * bindings/v8/ScriptController.cpp:
97461        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
97462        * bindings/v8/ScriptController.h:
97463        * bindings/v8/V8ConsoleMessage.cpp:
97464        (WebCore::V8ConsoleMessage::dispatchNow):
97465        (WebCore::V8ConsoleMessage::handler):
97466        * bindings/v8/V8ConsoleMessage.h:
97467        * inspector/ConsoleMessage.cpp:
97468        (WebCore::ConsoleMessage::ConsoleMessage):
97469        * inspector/ConsoleMessage.h:
97470        * inspector/InspectorController.cpp:
97471        (WebCore::InspectorController::addMessageToConsole):
97472        (WebCore::InspectorController::startGroup):
97473        (WebCore::InspectorController::connectFrontend):
97474        (WebCore::InspectorController::disconnectFrontend):
97475        * inspector/InspectorController.h:
97476        * inspector/front-end/ConsoleView.js:
97477        (WebInspector.ConsoleMessage.prototype._formatMessage):
97478        (WebInspector.ConsoleMessage.prototype.toMessageElement):
97479        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
97480        (WebInspector.ConsoleMessage.prototype._addMessageHeader):
97481        (WebInspector.ConsoleMessage.prototype.toString):
97482        * inspector/front-end/inspector.css:
97483        (.console-message.repeated-message > ol.stack-trace):
97484        (.section .properties ol, .event-properties ol, .stack-trace ol, ol.stack-trace):
97485        (ol.stack-trace):
97486        (.section .properties ol.expanded, .event-properties ol.expanded, .stack-trace ol, ol.stack-trace):
97487        * page/Console.cpp:
97488        (WebCore::Console::addMessage):
97489        * page/Console.h:
97490        (WebCore::):
97491
974922010-07-19  Robin Burchell  <robin.burchell@collabora.co.uk>
97493
97494        Reviewed by Antonio Gomes
97495
97496        [Qt] Use memcpy() instead of qMemCopy()
97497        This is supposed to be more efficient, as the compiler is able to
97498        optimise more.
97499
97500        Additionally,  qMemCopy() is only strictly supposed to be used in
97501        headers (see Qt's src/corelib/qglobal.h for reference)
97502        See: https://bugs.webkit.org/show_bug.cgi?id=42392
97503
97504        * bridge/qt/qt_runtime.cpp:
97505        (JSC::Bindings::convertQVariantToValue):
97506
975072010-07-14  Andreas Kling  <andreas.kling@nokia.com>
97508
97509        Reviewed by Kenneth Rohde Christiansen.
97510
97511        Canvas: Rename operator==(CanvasStyle,CanvasStyle) since it isn't a proper equality check
97512        https://bugs.webkit.org/show_bug.cgi?id=42284
97513
97514        New name is isEquivalentColor(CanvasStyle).
97515
97516        * html/canvas/CanvasRenderingContext2D.cpp:
97517        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
97518        (WebCore::CanvasRenderingContext2D::setFillStyle):
97519        * html/canvas/CanvasStyle.cpp:
97520        (WebCore::CanvasStyle::isEquivalentColor):
97521        * html/canvas/CanvasStyle.h:
97522
975232010-07-19  Andreas Kling  <andreas.kling@nokia.com>
97524
97525        Reviewed by Kenneth Rohde Christiansen.
97526
97527        [Qt] Canvas: Wrong internal positioning of drawImage() shadows
97528        https://bugs.webkit.org/show_bug.cgi?id=42510
97529
97530        * platform/graphics/qt/ImageQt.cpp:
97531        (WebCore::BitmapImage::draw):
97532        * platform/graphics/qt/StillImageQt.cpp:
97533        (WebCore::StillImage::draw):
97534
975352010-07-19  Andreas Kling  <andreas.kling@nokia.com>
97536
97537        Reviewed by Kenneth Rohde Christiansen.
97538
97539        [Qt] Render shadow when drawing one canvas onto another
97540        https://bugs.webkit.org/show_bug.cgi?id=42508
97541
97542        * platform/graphics/qt/StillImageQt.cpp:
97543        (WebCore::StillImage::draw):
97544
975452010-07-19  Andreas Kling  <andreas.kling@nokia.com>
97546
97547        Reviewed by Kenneth Rohde Christiansen.
97548
97549        [Qt] Some composition modes fail when color has alpha zero
97550        https://bugs.webkit.org/show_bug.cgi?id=36973
97551
97552        Remove erroneous optimization that ignored painting calls when
97553        the stroke/fill color had an alpha value of zero.
97554
97555        * platform/graphics/qt/GraphicsContextQt.cpp:
97556        (WebCore::GraphicsContext::drawLine):
97557        (WebCore::GraphicsContext::strokeArc):
97558        (WebCore::GraphicsContext::fillPath):
97559        (WebCore::GraphicsContext::strokePath):
97560        (WebCore::GraphicsContext::fillRect):
97561        (WebCore::GraphicsContext::fillRoundedRect):
97562
975632010-07-19  Andreas Kling  <andreas.kling@nokia.com>
97564
97565        Reviewed by Kenneth Rohde Christiansen.
97566
97567        CSS3 background: Number of layers should be determined by background-image element count
97568        https://bugs.webkit.org/show_bug.cgi?id=41201
97569
97570        Manual test: css3-background-layer-count.html
97571
97572        Spec link:
97573        http://www.w3.org/TR/css3-background/#layering
97574
97575        * manual-tests/css3-background-layer-count.html: Added.
97576        * rendering/style/FillLayer.cpp:
97577        (WebCore::FillLayer::fillUnsetProperties): Don't repeat
97578        image properties, they determine the total number of layers.
97579        (WebCore::FillLayer::cullEmptyLayers): Change culling logic
97580        to discard all layers after the first one without an image set.
97581        * rendering/style/RenderStyle.h:
97582        (WebCore::InheritedFlags::adjustBackgroundLayers): Call
97583        fillUnsetProperties() before cullEmptyLayers()
97584        (WebCore::InheritedFlags::adjustMaskLayers): Ditto.
97585
975862010-07-19  Andreas Kling  <andreas.kling@nokia.com>
97587
97588        Reviewed by Kenneth Rohde Christiansen.
97589
97590        [Qt] Avoid QImage::pixel() in getImageData()
97591        https://bugs.webkit.org/show_bug.cgi?id=42463
97592
97593        * platform/graphics/qt/ImageBufferQt.cpp:
97594        (WebCore::getImageData): Use QImage::scanLine() instead
97595        of fetching data pixel-by-pixel.
97596
975972010-07-19  Yury Semikhatsky  <yurys@chromium.org>
97598
97599        Reviewed by Pavel Feldman.
97600
97601        Web Inspector: hide "toggle debugger" button when debugger is always enabled
97602        https://bugs.webkit.org/show_bug.cgi?id=42558
97603
97604        * inspector/front-end/ScriptsPanel.js:
97605        (WebInspector.ScriptsPanel):
97606
976072010-07-19  Hans Wennborg  <hans@chromium.org>
97608
97609        Reviewed by Steve Block.
97610
97611        Explicitly declare DeviceOrientationEvent destructor and define it in the .cpp file
97612        https://bugs.webkit.org/show_bug.cgi?id=42466
97613
97614        (Original problem at https://bugs.webkit.org/show_bug.cgi?id=42447)
97615
97616        No new functionality so no new tests.
97617
97618        * dom/DeviceOrientationEvent.cpp:
97619        (WebCore::DeviceOrientationEvent::~DeviceOrientationEvent):
97620        Move here to avoid needing to have the full declaration of
97621        DeviceOrientation in DeviceOrientationEvent.h.
97622        * dom/DeviceOrientationEvent.h:
97623
976242010-07-18  Anders Carlsson  <andersca@apple.com>
97625
97626        Fix Build.
97627
97628        * rendering/RenderThemeMac.mm:
97629        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
97630
976312010-07-18  Anders Carlsson  <andersca@apple.com>
97632
97633        Reviewed by Dan Bernstein.
97634
97635        Always set the current NSGraphicsContext before calling drawWithFrame
97636        https://bugs.webkit.org/show_bug.cgi?id=42542
97637
97638        * rendering/RenderThemeMac.mm:
97639        (WebCore::RenderThemeMac::paintMeter):
97640        (WebCore::RenderThemeMac::paintSearchField):
97641        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
97642        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
97643        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
97644
976452010-07-18  Anders Carlsson  <andersca@apple.com>
97646
97647        Reviewed by Sam Weinig.
97648
97649        Move PluginWidget to WebKit
97650        https://bugs.webkit.org/show_bug.cgi?id=42530
97651
97652        Rename the PluginWidget class to PluginViewBase and make it an abstract base class.
97653        
97654        This is a stopgap measure until we have a single PluginView class that we can use everywhere.
97655
97656        * WebCore.exp.in:
97657        Remove PluginWidget symbols.
97658
97659        * WebCore.xcodeproj/project.pbxproj:
97660        Update.
97661
97662        * platform/Widget.h:
97663        (WebCore::Widget::isPluginViewBase):
97664        Return false.
97665
97666        * plugins/PluginViewBase.h: Added.
97667        (WebCore::PluginViewBase::platformLayer):
97668        Always return 0 here now.
97669
97670        (WebCore::PluginViewBase::isPluginViewBase):
97671        Return true.
97672
97673        * plugins/PluginWidget.h: Removed.
97674        * plugins/mac/PluginWidgetMac.mm: Removed.
97675        * rendering/RenderEmbeddedObject.cpp:
97676        (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
97677        Cast to PluginWidgetBase instead.
97678        
97679        * rendering/RenderLayerBacking.cpp:
97680        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
97681        Cast to PluginWidgetBase instead.
97682
976832010-07-18  Dean Jackson  <dino@apple.com>
97684
97685        Unreviewed.
97686
97687        Remove the unwanted extra line that Xcode
97688        added in my last commit.
97689
97690        * WebCore.xcodeproj/project.pbxproj:
97691
976922010-07-18  Dean Jackson  <dino@apple.com>
97693
97694        Reviewed by Simon Fraser.
97695
97696        https://bugs.webkit.org/show_bug.cgi?id=41259
97697        Interacting with a <select> element within a transformed and clipped
97698        container scrolls the container
97699
97700        The Node::getRect and ContainerNode::getRect functions were not
97701        transform-aware. This fixes both, and has a test to make sure
97702        we're not breaking any existing scrollToView code. This means
97703        that a <select> popup will appear in the correct place if it
97704        is within a transformed and scrolled container.
97705
97706        Test: fast/transforms/scrollIntoView-transformed.html
97707
97708        * dom/ContainerNode.cpp:
97709        (WebCore::ContainerNode::getUpperLeftCorner):
97710        (WebCore::ContainerNode::getLowerRightCorner):
97711        - make sure we call localToAbsolute in the right order
97712        (after we've done a local move) and pass in the flags to
97713        indicate it should look for transforms.
97714        * dom/Node.cpp:
97715        (WebCore::Node::getRect):
97716        - make sure localToAbsolute gets told to look for transforms.
97717
977182010-07-18  Anders Carlsson  <andersca@apple.com>
97719
97720        Reviewed by Sam Weinig.
97721
97722        Add NPJSObjectMap class
97723        https://bugs.webkit.org/show_bug.cgi?id=42524
97724
97725        Export ScriptController functions.
97726
97727        * WebCore.exp.in:
97728
977292010-07-18  Anders Carlsson  <andersca@apple.com>
97730
97731        Reviewed by Dan Bernstein.
97732
97733        Implement some NPRuntime related NPN_ functions
97734        https://bugs.webkit.org/show_bug.cgi?id=42518
97735
97736        * WebCore.exp.in:
97737        Export IdentifierRep functions.
97738
977392010-07-17  TJ Lee  <tjlee0909@gmail.com>
97740
97741        Reviewed by Timothy Hatcher.
97742
97743        HTMLLinkElement ignores dnsPrefetchingEnabled setting
97744        https://bugs.webkit.org/show_bug.cgi?id=42500
97745
97746        Changed the HTML Link tag to check that the browser
97747        has DNS-prefetching enabled before calling ResourceHandle::prepareForURL.
97748
97749        There are no test cases for this patch because it was unclear how to test
97750        this using a layout test. A possible test case would be to
97751        clear the DNS cache on the client's machine before loading a page with
97752        <link rel="dns-prefetch" href="SomeSiteThatsNotTheCurrentOne.com"> and
97753        then check the number of DNS cache entries.
97754
97755        * html/HTMLLinkElement.cpp:
97756        (WebCore::HTMLLinkElement::process):
97757
977582010-07-16  Maciej Stachowiak  <mjs@apple.com>
97759
97760        Reviewed by Sam Weinig.
97761
97762        Asynchronous policy checks make FrameLoader think it is done loading prematurely
97763        https://bugs.webkit.org/show_bug.cgi?id=42489
97764
97765        This caused many (~100) layout tsts to fail under WebKit2.
97766
97767        * loader/SubframeLoader.cpp:
97768        (WebCore::SubframeLoader::loadSubframe): Right after loading a new subframe,
97769        if m_complete is true, do not consider it done if it has a provisional loader.
97770        This will happen in the case where the policy check is asynchronous.
97771        * loader/FrameLoader.cpp:
97772        (WebCore::FrameLoader::subframeIsLoading): For similar reasons,
97773        consider a subframe to be loading if it has a policy decision pending.
97774
977752010-07-15  Qi Zhang  <qi.2.zhang@nokia.com>
97776
97777        Reviewed by Kenneth Rohde Christiansen.
97778
97779        [Qt] Failure on http://philip.html5.org/tests/canvas/suite/tests/2d.shadow.alpha.5.html
97780        https://bugs.webkit.org/show_bug.cgi?id=38400
97781
97782        FillRect with shadow need take alpha information from fillstyle
97783
97784        * platform/graphics/qt/GraphicsContextQt.cpp:
97785        (WebCore::GraphicsContext::fillRect):
97786
977872010-07-17  Nikita Vasilyev  <me@elv1s.ru>
97788
97789        Reviewed by Pavel Feldman.
97790
97791        Web Inspector: [REGRESSION] Edit long CSS attributes works incorrect
97792        https://bugs.webkit.org/show_bug.cgi?id=42476
97793
97794        * inspector/front-end/inspector.css:
97795        (.editing):
97796
977972010-07-16  Andreas Kling  <andreas.kling@nokia.com>
97798
97799        Reviewed by Sam Weinig.
97800
97801        Failing 2d.path.arcTo.ensuresubpath.* philip canvas tests
97802        https://bugs.webkit.org/show_bug.cgi?id=42186
97803
97804        Move code from Qt's Path::addArcTo() up to CanvasRenderingContext2D.
97805
97806        * html/canvas/CanvasRenderingContext2D.cpp:
97807        (WebCore::CanvasRenderingContext2D::arcTo): Behave as moveTo(x1,y1)
97808        if the current path is empty.
97809        * platform/graphics/qt/PathQt.cpp:
97810        (WebCore::Path::addArcTo): Remove now-redundant code.
97811
978122010-07-16  Andreas Kling  <andreas.kling@nokia.com>
97813
97814        Reviewed by Oliver Hunt.
97815
97816        QtWebkit creates an unnecessary deep copy of images when canvas drawing is done
97817        A https://bugs.webkit.org/show_bug.cgi?id=32530
97818
97819        Solve this by adding ImageBuffer::imageForRendering() which returns an image
97820        that can be used for rendering now, but isn't a copy to be kept around.
97821
97822        * platform/graphics/ImageBuffer.h:
97823        (WebCore::ImageBuffer::imageForRendering):
97824        * platform/graphics/qt/ImageBufferQt.cpp:
97825        (WebCore::ImageBuffer::imageForRendering): Added to provide an image that can
97826        be used for rendering now, but may change in the future.
97827        * platform/graphics/qt/StillImageQt.cpp:
97828        (WebCore::StillImage::StillImage):
97829        (WebCore::StillImage::~StillImage):
97830        (WebCore::StillImage::size):
97831        (WebCore::StillImage::nativeImageForCurrentFrame):
97832        (WebCore::StillImage::draw):
97833        * platform/graphics/qt/StillImageQt.h:
97834        (WebCore::StillImage::createForRendering): Added for use in
97835        ImageBuffer::imageForRendering(), provides a thin wrapper around a QPixmap*.
97836        * html/HTMLCanvasElement.cpp:
97837        (WebCore::HTMLCanvasElement::paint): Paint with ImageBuffer::imageForRendering()
97838
978392010-07-16  Andreas Kling  <andreas.kling@nokia.com>
97840
97841        Reviewed by Oliver Hunt.
97842
97843        [Qt] Remove redundant logic in Path::addArcTo()
97844        https://bugs.webkit.org/show_bug.cgi?id=42494
97845
97846        Bounds checking for arcTo() is now done in cross-platform code
97847        thanks to <http://trac.webkit.org/changeset/63599>
97848
97849        * platform/graphics/qt/PathQt.cpp:
97850        (WebCore::Path::addArcTo):
97851
978522010-07-16  Zhe Su  <suzhe@chromium.org>
97853
97854        Reviewed by Darin Adler.
97855
97856        REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
97857        https://bugs.webkit.org/show_bug.cgi?id=42253
97858
97859        This patch just reverts the change to WebCore/page/FocusController.cpp
97860        made in changeset 61484, and add a new method named
97861        willSetInputMethodState in EditorClient interface, which gets called
97862        in FocusController just before changing the focused node.
97863
97864        No new tests, because no new functionality.
97865
97866        * loader/EmptyClients.h:
97867        (WebCore::EmptyEditorClient::willSetInputMethodState):
97868        * page/EditorClient.h:
97869        * page/FocusController.cpp:
97870        (WebCore::FocusController::setFocusedNode):
97871
978722010-07-16  Matthew Delaney  <mdelaney@apple.com>
97873
97874        Reviewed by Sam Weinig.
97875
97876        Failing 2d.path.stroke.prune.arc philip canvas test
97877        https://bugs.webkit.org/show_bug.cgi?id=42188
97878
97879        * html/canvas/CanvasRenderingContext2D.cpp: 
97880        Note, updated parameter names to match spec.
97881        (WebCore::CanvasRenderingContext2D::lineTo): Pulled bound checking code out of lower code to have checks for all platforms.
97882        (WebCore::CanvasRenderingContext2D::arcTo): Bound checking per the spec for arcTo parameters. Updated parameter names to match spec.
97883        * platform/graphics/Path.h: Added in new method to expose the current position.
97884        * platform/graphics/cairo/PathCairo.cpp:
97885        (WebCore::Path::currentPoint): Added in likely correct implementation for this call with a FIXME just in case.
97886        * platform/graphics/cg/PathCG.cpp:
97887        (WebCore::Path::currentPoint): Added in support for this call.
97888        * platform/graphics/haiku/PathHaiku.cpp:
97889        (WebCore::Path::currentPoint): Added in stub for this call.
97890        * platform/graphics/openvg/PathOpenVG.cpp:
97891        (WebCore::Path::currentPoint): Added in likely implementation for this call with a FIXME just in case.
97892        * platform/graphics/qt/PathQt.cpp:
97893        (WebCore::Path::currentPoint): Added in implementation for this call courtesy of Andrea Kling.
97894        * platform/graphics/skia/PathSkia.cpp:
97895        (WebCore::Path::currentPoint): Added in stub for this call.
97896        * platform/graphics/wince/PathWince.cpp:
97897        (WebCore::Path::currentPoint): Added in stub for this call.
97898        * platform/graphics/wx/PathWx.cpp:
97899        (WebCore::Path::currentPoint): Added in stub for this call.
97900
979012010-07-16  Sheriff Bot  <webkit.review.bot@gmail.com>
97902
97903        Unreviewed, rolling out r63593.
97904        http://trac.webkit.org/changeset/63593
97905        https://bugs.webkit.org/show_bug.cgi?id=42487
97906
97907        Broke a few chromium pixel tests (Requested by tony^work on
97908        #webkit).
97909
97910        * platform/graphics/skia/GraphicsContextSkia.cpp:
97911        (WebCore::GraphicsContext::drawConvexPolygon):
97912        (WebCore::GraphicsContext::drawEllipse):
97913        (WebCore::GraphicsContext::drawLine):
97914        (WebCore::GraphicsContext::strokeArc):
97915        (WebCore::GraphicsContext::strokePath):
97916        (WebCore::GraphicsContext::strokeRect):
97917
979182010-07-16  Dan Bernstein  <mitz@apple.com>
97919
97920        Reviewed by Sam Weinig.
97921
97922        Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
97923        https://bugs.webkit.org/show_bug.cgi?id=29355
97924
97925        * WebCore.exp.in: Updated.
97926        * platform/graphics/Font.cpp:
97927        (WebCore::Font::Font): Added a font smoothing mode parameter to the constructor.
97928        Set the font smoothing mode in the font description.
97929        * platform/graphics/Font.h:
97930
979312010-07-16  Satish Sampath  <satish@chromium.org>
97932
97933        Reviewed by Anders Carlsson.
97934
97935        Add speech attribute to IDL for enabling access from JS.
97936        https://bugs.webkit.org/show_bug.cgi?id=42483
97937
97938        No tests added, this change is a pre-requisite for future layout tests.
97939
97940        * html/HTMLInputElement.cpp:
97941        (WebCore::HTMLInputElement::parseMappedAttribute): Update the renderer when speech attribute changes.
97942        * html/HTMLInputElement.idl: Added the speech attribute to IDL.
97943
979442010-07-16  Fady Samuel  <fsamuel@chromium.org>
97945
97946        Reviewed by David Levin.
97947        
97948        Avoids adding stroke when stroke-width is zero.
97949
97950        SVG - stroke-width:0 bug with stroke other than "none"
97951        https://bugs.webkit.org/show_bug.cgi?id=42387
97952
97953        Test: svg/stroke/path-zero-strokewidth-test.svg
97954
97955        * platform/graphics/skia/GraphicsContextSkia.cpp:
97956        (WebCore::GraphicsContext::drawConvexPolygon):
97957        (WebCore::GraphicsContext::drawEllipse):
97958        (WebCore::GraphicsContext::drawLine):
97959        (WebCore::GraphicsContext::strokeArc):
97960        (WebCore::GraphicsContext::strokePath):
97961        (WebCore::GraphicsContext::strokeRect):
97962
979632010-07-16  Kent Tamura  <tkent@chromium.org>
97964
97965        Unreviewed, build fix.
97966
97967        * rendering/RenderThemeChromiumWin.cpp:
97968        (WebCore::RenderThemeChromiumWin::getThemeData): Fix a typo.
97969
979702010-07-16  Kent Tamura  <tkent@chromium.org>
97971
97972        Reviewed by Darin Fisher.
97973
97974        [Chromium] <input type=number> UI implementation for Windows
97975        https://bugs.webkit.org/show_bug.cgi?id=42259
97976
97977        No additional tests.  Existing tests cover this change and we'll
97978        update expectations.
97979
97980        * platform/chromium/ChromiumBridge.h: Add paintSpinButton().
97981        * rendering/RenderThemeChromiumWin.cpp:
97982        (WebCore::RenderThemeChromiumWin::determineState):
97983         Add ControlSubPart parameter and add support for spin buttons.
97984        (WebCore::RenderThemeChromiumWin::determineClassicState): ditto.
97985        (WebCore::RenderThemeChromiumWin::getThemeData): ditto.
97986        (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle): Added.
97987        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): Added.
97988        * rendering/RenderThemeChromiumWin.h:
97989          Declare ControlSubpart, and add it to some functions.
97990
979912010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
97992
97993        Reviewed by Antonio Gomes.
97994
97995        [EFL] Use function provided by EFL for system beep
97996        https://bugs.webkit.org/show_bug.cgi?id=42481
97997
97998        EFL port does not support automated tests, yet.
97999
98000        * platform/efl/SoundEfl.cpp:
98001        (WebCore::systemBeep):
98002
980032010-07-16  Sarah Strong  <sarah.e.strong@gmail.com>
98004
98005        Reviewed by Gustavo Noronha Silva.
98006
98007        [GTK] Clipboard data is lost on exit
98008        https://bugs.webkit.org/show_bug.cgi?id=27411
98009
98010        No new tests. To manually test the bug fixed by this patch:
98011        1) Open an application that uses a webkit webview on a GNOME-based system
98012        2) Copy some text from that application
98013        3) Optional: paste it to another application. This should work properly with and without this patch.
98014        4) Exit the application completely.
98015        5) Paste:
98016                  Without this patch, you cannot because your clipboard is empty.
98017                  With this patch, pasting succeeds.
98018        I have not included an automated test because of the difficulty of testing behaviour after application exit.
98019
980202010-07-16  Kent Tamura  <tkent@chromium.org>
98021
98022        Reviewed by Darin Fisher.
98023
98024        Keyboard operations for <input type=number>
98025        https://bugs.webkit.org/show_bug.cgi?id=42076
98026
98027        - The up arrow key works as stepUp().
98028        - The down arrow key works as stepDown().
98029        - Reject characters other than + - 0-9 . e E
98030
98031        Test: fast/forms/input-number-keyoperation.html
98032
98033        * html/HTMLInputElement.cpp:
98034        (WebCore::HTMLInputElement::defaultEventHandler):
98035         Add up/down arrow keys support, and call handleBeforeTextInsertedEvent().
98036        (WebCore::isNumberCharacter):
98037        (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
98038         For type=number, remove unacceptable characters.
98039        * html/HTMLInputElement.h:
98040
980412010-07-16  Kent Tamura  <tkent@chromium.org>
98042
98043        Reviewed by Darin Fisher.
98044
98045        Improve hover state handling for spin buttons
98046        https://bugs.webkit.org/show_bug.cgi?id=42260
98047
98048        Background:
98049        When we move the mouse cursor to a node from the outside of the node,
98050        the following steps are executed.
98051         1. setHovered(true) is called.
98052         2. The node is repainted for the hover state.
98053         3. 'mousemove' event is dispatched for the node.
98054        For a spin-button, RenderTheme::paint{Inner,Outer}SpinButton() is
98055        called before the event handler of the spin-button. So we can't
98056        detect which of the up part or the down part is hovered correctly.
98057
98058        Solution:
98059        The hover state of a spin-button is one of three states;
98060        Indeterminate, Up, and Down. The state is Indeterminate since
98061        setHovered(true) is called and until 'mousemove' event is
98062        dispatched.
98063
98064        No new tests because there are no implementation of spin-buttons
98065        with hovered state yet.
98066
98067        * rendering/RenderTheme.cpp:
98068        (WebCore::RenderTheme::isSpinUpButtonPartPressed):
98069        (WebCore::RenderTheme::isHovered):
98070         Return false if the node is a spin-button and the state is Indeterminate.
98071        (WebCore::RenderTheme::isSpinUpButtonPartHovered):
98072        * rendering/TextControlInnerElements.cpp:
98073        (WebCore::SpinButtonElement::SpinButtonElement):
98074         Initialize m_upDownState.
98075        (WebCore::SpinButtonElement::defaultEventHandler):
98076        (WebCore::SpinButtonElement::setHovered):
98077         Set the state to Indeterminate.
98078        * rendering/TextControlInnerElements.h:
98079        (WebCore::SpinButtonElement::upDownState):
98080
980812010-07-16  Dan Bernstein  <mitz@apple.com>
98082
98083        Reviewed by Simon Fraser.
98084
98085        <rdar://problem/7527532> Crash beneath setSelection() during detach()
98086        https://bugs.webkit.org/show_bug.cgi?id=42020
98087
98088        No test because I am unable to reproduce the crash.
98089
98090        * rendering/RenderView.cpp:
98091        (WebCore::RenderView::setSelection): In the clearSelection() case, where the repaint mode is
98092        RepaintNewMinusOld, avoid making RenderBlockSelectionInfo instances, and thereby avoid calling
98093        localToAbsolute() during detach().
98094
980952010-07-16  Anders Carlsson  <andersca@apple.com>
98096
98097        Fix release build.
98098
98099        * storage/Database.cpp:
98100        (WebCore::DerefContextTask::performTask):
98101
981022010-07-16  Simon Fraser  <simon.fraser@apple.com>
98103
98104        Reviewed by Sam Weinig.
98105
98106        Safari pegs CPU and drops frames on http://neography.com/experiment/circles/solarsystem/ (CSS animations)
98107        https://bugs.webkit.org/show_bug.cgi?id=41409
98108        
98109        AnimationController::isAnimatingPropertyOnRenderer() really asked whether an accelerated animation
98110        or transition was running. This prevented us from falling into compositing layers for animation
98111        on platforms, like Windows, that don't have accelerated animations.
98112        
98113        Fix by making things more explicit: we now have two methods, isRunningAnimationOnRenderer()
98114        and isRunningAcceleratedAnimationOnRenderer().
98115        
98116        Changes are more extensive because I flipped the sense of 'm_fallbackAnimating', which is
98117        now 'm_isAccelerated', for clarity.
98118
98119        Test: compositing/animation/animation-compositing.html
98120
98121        * page/animation/AnimationBase.cpp:
98122        (WebCore::AnimationBase::AnimationBase): m_fallbackAnimating -> m_isAccelerated
98123        (WebCore::AnimationBase::blendProperties): Ditto.
98124        (WebCore::AnimationBase::updateStateMachine): Ditto.
98125        * page/animation/AnimationBase.h:
98126        (WebCore::AnimationBase::isAnimatingProperty): Takes new acceleratedOnly parameter
98127        which causes the method to only return true if the animation is accelerated.
98128        (WebCore::AnimationBase::isAccelerated): Changed from isFallbackAnimating.
98129
98130        * page/animation/AnimationController.cpp:
98131        (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
98132        (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
98133        (WebCore::AnimationController::isRunningAnimationOnRenderer):
98134        (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
98135
98136        * page/animation/CompositeAnimation.h:
98137        * page/animation/AnimationController.h: Rename isAnimatingPropertyOnRenderer(), add
98138        isRunningAcceleratedAnimationOnRenderer().
98139        * page/animation/AnimationControllerPrivate.h: Ditto.
98140        * page/animation/CompositeAnimation.cpp:
98141        (WebCore::CompositeAnimation::updateTransitions): !isFallbackAnimating() -> isAccelerated().
98142        (WebCore::CompositeAnimation::isAnimatingProperty): Pass acceleratedOnly down.
98143
98144        * page/animation/ImplicitAnimation.cpp:
98145        (WebCore::ImplicitAnimation::timeToNextService): !isFallbackAnimating() -> isAccelerated().
98146
98147        * page/animation/KeyframeAnimation.cpp:
98148        (WebCore::KeyframeAnimation::timeToNextService): isFallbackAnimating() -> !isAccelerated().
98149
98150        * rendering/RenderLayerBacking.cpp:
98151        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Avoid touching the transform or
98152        opacity if an accelerated animation is running.
98153
98154        * rendering/RenderLayerCompositor.cpp:
98155        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Make compositing layers
98156        if an animation of transform or opacity is running.
98157
981582010-07-16  Simon Fraser  <simon.fraser@apple.com>
98159
98160        Reviewed by Sam Weinig.
98161
98162        Assertion when turning Accelerated Compositing off on a composited page
98163        https://bugs.webkit.org/show_bug.cgi?id=42408
98164
98165        When accelerated compositing is turned off, check m_hasAcceleratedCompositing
98166        before saying that the root layer will be composited. Fixes an assertion.
98167
98168        * rendering/RenderLayerCompositor.cpp:
98169        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
98170
981712010-07-16  Antonio Gomes  <tonikitoo@webkit.org>
98172
98173        Reviewed by Simon Fraser.
98174
98175        Spatial navigation: do not consider outline for focusable element boundaries
98176        https://bugs.webkit.org/show_bug.cgi?id=42474
98177
98178        Test: fast/events/spatial-navigation/snav-zero-margin-content.html
98179
98180        Currently in WebCore::renderRectRelativeToRootDocument function, we are calling
98181        RenderObject::absoluteClippedOverflowRect to obtain the rect boundary of a given
98182        renderer/element. This method deals with outline, which is out of elements boundary.
98183        It makes spatial navigation to fail on common sites like google.gom: "Web, Images, Map, etc"
98184        are inaccessible.
98185
98186        Patch replaces RenderObject::absoluteClippedOverflowRect by Node::getRect,
98187        which returns only the absolute bounding box rect of the Element.
98188
98189        * page/SpatialNavigation.cpp:
98190        (WebCore::renderRectRelativeToRootDocument):
98191        (WebCore::checkNegativeCoordsForNode):
98192
981932010-07-15  Antonio Gomes  <tonikitoo@webkit.org>
98194
98195        Reviewed by Gustavo Noronha.
98196
98197        [Qt] Remove unnecessary WebKit headers inclusion from WebCore files
98198        https://bugs.webkit.org/show_bug.cgi?id=42416
98199
98200        There are some places in WebCore unnecessarily including WebKit headers.
98201
98202        Cleaning up only, no testing needed.
98203
98204        * platform/network/qt/ResourceHandleQt.cpp:
98205        * platform/qt/RenderThemeQt.cpp:
98206        * platform/qt/WidgetQt.cpp:
98207
982082010-07-16  Dan Bernstein  <mitz@apple.com>
98209
98210        Reviewed by Anders Carlsson.
98211
98212        Refinement of r63556: moved the tab width computation back to Font, but added a
98213        SimpleFontData parameter.
98214
98215        * platform/graphics/Font.h:
98216        (WebCore::Font::tabWidth):
98217        * platform/graphics/WidthIterator.cpp:
98218        (WebCore::WidthIterator::advance):
98219        * platform/graphics/mac/ComplexTextController.cpp:
98220        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
98221
982222010-07-16  Tony Gentilcore  <tonyg@chromium.org>
98223
98224        Reviewed by Pavel Feldman.
98225
98226        Fix unit error in calculating timings from ResourceLoadTiming API
98227        https://bugs.webkit.org/show_bug.cgi?id=42473
98228
98229        The start and end offsets are already in milliseconds so they should not be multiplied by 1000.0 like requestTime.
98230
98231        No new tests because, for a yet unknown reason, the ResourceLoadTiming API is not populated in the chromium test shell like it is in full chromium. This means the test that would have caught this bug (fast/dom/webtiming.html) currently has its expectation set to FAIL.
98232
98233        * page/Timing.cpp:
98234        (WebCore::Timing::domainLookupStart):
98235        (WebCore::Timing::domainLookupEnd):
98236        (WebCore::Timing::connectStart):
98237        (WebCore::Timing::connectEnd):
98238        (WebCore::Timing::requestStart):
98239        (WebCore::Timing::requestEnd):
98240        (WebCore::Timing::responseStart):
98241
982422010-07-16  Anders Carlsson  <andersca@apple.com>
98243
98244        Reviewed by Sam Weinig.
98245
98246        clang++ build fixes for JavaScriptCore and WebCore
98247        https://bugs.webkit.org/show_bug.cgi?id=42478
98248
98249        * platform/network/Credential.cpp:
98250        (WebCore::Credential::type):
98251        * platform/network/Credential.h:
98252        Remove const qualifier on Credential::type since it doesn't have an effect on the type.
98253
982542010-07-16  Anders Carlsson  <andersca@apple.com>
98255
98256        Reviewed by David Levin.
98257
98258        Really add WARN_UNUSED_RESULT to leakRef
98259        https://bugs.webkit.org/show_bug.cgi?id=42464
98260
98261        Get rid of a call to releaseRef here by passing the ScriptExecutionContext
98262        reference through to the DerefContextTask.
98263
98264        * storage/Database.cpp:
98265        (WebCore::DerefContextTask::create):
98266        (WebCore::DerefContextTask::performTask):
98267        (WebCore::DerefContextTask::DerefContextTask):
98268        (WebCore::Database::~Database):
98269
982702010-07-16  Ilya Tikhonovsky  <loislo@chromium.org>
98271
98272        Reviewed by Yury Semikhatsky.
98273
98274        WebInspector: The current implementation of generator is not ready
98275        for generation Backend part of Inspector interface. The full patch
98276        with Backend is quite big and I've split it.
98277        https://bugs.webkit.org/show_bug.cgi?id=42462
98278
98279        * inspector/CodeGeneratorInspector.pm:
98280        * inspector/Inspector.idl:
98281        * inspector/InspectorValues.cpp:
98282        (WebCore::InspectorArray::get):
98283        * inspector/InspectorValues.h:
98284        (WebCore::InspectorArray::length):
98285
982862010-07-15  Rob Buis  <rwlbuis@gmail.com>
98287
98288        Reviewed by Darin Adler.
98289
98290        An empty value for xml:lang isn't considered
98291        https://bugs.webkit.org/show_bug.cgi?id=42042
98292
98293        Allow :lang selector to match empty values for xml:lang and
98294        lang attributes.
98295
98296        Test: fast/css/lang-selector-empty-attribute.xhtml
98297
98298        * css/CSSStyleSelector.cpp:
98299        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
98300
983012010-07-16  Alexander Pavlov  <apavlov@chromium.org>
98302
98303        Reviewed by Pavel Feldman.
98304
98305        Web Inspector: Shift-Enter does not do a reverse search. It searches forward.
98306        https://bugs.webkit.org/show_bug.cgi?id=42459
98307
98308        * inspector/front-end/inspector.js:
98309        (WebInspector.performSearch):
98310
983112010-07-16  Pavel Feldman  <pfeldman@chromium.org>
98312
98313        Reviewed by Yury Semikhatsky.
98314
98315        Web Inspector: do not include SSL time into Waiting time.
98316
98317        https://bugs.webkit.org/show_bug.cgi?id=42458
98318
98319        * inspector/front-end/ResourcesPanel.js:
98320        (WebInspector.ResourcesPanel.prototype._showPopover):
98321
983222010-07-16  Dan Bernstein  <mitz@apple.com>
98323
98324        Reviewed by Anders Carlsson.
98325
98326        <rdar://problem/8198266> white-space: pre text containing tabs is not laid out correctly when the font lacks a space glyph
98327        https://bugs.webkit.org/show_bug.cgi?id=42437
98328
98329        No test because none of the fonts available to DumpRenderTree are missing a space glyph.
98330
98331        Changed the tab width computation to use the width of the space glyph from the font that has
98332        a space glyph, which may be a fallback font if the primary font lacks a space glyph.
98333
98334        * platform/graphics/Font.h: Removed Font::tabWidth().
98335        * platform/graphics/WidthIterator.cpp:
98336        (WebCore::WidthIterator::advance):
98337        * platform/graphics/mac/ComplexTextController.cpp:
98338        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
98339
983402010-07-16  Yury Semikhatsky  <yurys@chromium.org>
98341
98342        Unreviewed. Chromium build fix. Add missing include.
98343
98344        * inspector/ConsoleMessage.h:
98345
983462010-07-16  Andreas Kling  <andreas.kling@nokia.com>
98347
98348        Reviewed by Antonio Gomes.
98349
98350        [Qt] Path: Avoid creating a new GraphicsContext in strokeContains() and strokeBoundingRect()
98351        https://bugs.webkit.org/show_bug.cgi?id=42456
98352
98353        * platform/graphics/qt/PathQt.cpp:
98354        (WebCore::scratchContext): Added, provides a scratch GraphicsContext.
98355        (WebCore::Path::strokeContains): Use the scratch context instead
98356        of creating a new GraphicsContext.
98357        (WebCore::Path::strokeBoundingRect): Ditto.
98358
983592010-07-16  Pavel Podivilov  <podivilov@chromium.org>
98360
98361        Reviewed by Yury Semikhatsky.
98362
98363        [V8] V8Proxy::retrieve may return null if javascript is disabled. Add a check
98364        to avoid crashes in inspected page.
98365        https://bugs.webkit.org/show_bug.cgi?id=42065
98366
98367        * bindings/v8/ScriptDebugServer.cpp:
98368        (WebCore::ScriptDebugServer::addListener):
98369
983702010-07-16  Pavel Feldman  <pfeldman@chromium.org>
98371
98372        Reviewed by Yury Semikhatsky.
98373
98374        Web Inspector: add SSL time label into the resources popover.
98375
98376        https://bugs.webkit.org/show_bug.cgi?id=42458
98377
98378        * English.lproj/localizedStrings.js:
98379        * inspector/InspectorResource.cpp:
98380        (WebCore::InspectorResource::buildObjectForTiming):
98381        * inspector/front-end/ResourcesPanel.js:
98382        (WebInspector.ResourcesPanel.prototype._showPopover):
98383
983842010-07-16  Pavel Feldman  <pfeldman@chromium.org>
98385
98386        Reviewed by Yury Semikhatsky.
98387
98388        Web Inspector: disable AppCache in chromium.
98389
98390        https://bugs.webkit.org/show_bug.cgi?id=41858
98391
98392        * inspector/front-end/Settings.js:
98393        * inspector/front-end/StoragePanel.js:
98394        (WebInspector.StoragePanel):
98395        (WebInspector.StoragePanel.prototype.reset):
98396        (WebInspector.StoragePanel.prototype.addApplicationCache):
98397
983982010-07-16  Yury Semikhatsky  <yurys@chromium.org>
98399
98400        Reviewed by Pavel Feldman.
98401
98402        console.trace should show file and line number for each function in the stack
98403        https://bugs.webkit.org/show_bug.cgi?id=21180
98404
98405        Test: inspector/console-trace.html
98406
98407        * bindings/js/ScriptCallStack.cpp:
98408        (WebCore::ScriptCallStack::initialize):
98409        * bindings/v8/ScriptCallFrame.cpp:
98410        (WebCore::ScriptCallFrame::ScriptCallFrame):
98411        * bindings/v8/ScriptCallFrame.h:
98412        * bindings/v8/ScriptCallStack.cpp:
98413        (WebCore::getFrameLocation):
98414        (WebCore::toScriptCallFrame):
98415        (WebCore::ScriptCallStack::create):
98416        (WebCore::ScriptCallStack::ScriptCallStack):
98417        (WebCore::ScriptCallStack::at):
98418        (WebCore::ScriptCallStack::size):
98419        * bindings/v8/ScriptCallStack.h:
98420        * bindings/v8/custom/V8ConsoleCustom.cpp:
98421        (WebCore::V8Console::traceCallback):
98422        * inspector/ConsoleMessage.cpp:
98423        (WebCore::ConsoleMessage::CallFrame::CallFrame):
98424        (WebCore::ConsoleMessage::CallFrame::isEqual):
98425        (WebCore::ConsoleMessage::CallFrame::createFrontendObject):
98426        (WebCore::ConsoleMessage::ConsoleMessage):
98427        (WebCore::ConsoleMessage::addToFrontend):
98428        (WebCore::ConsoleMessage::isEqual):
98429        * inspector/ConsoleMessage.h:
98430        * inspector/front-end/ConsoleView.js:
98431        (WebInspector.ConsoleMessage.prototype._formatMessage):
98432        (WebInspector.ConsoleMessage.prototype._createStackTraceElement):
98433        (WebInspector.ConsoleMessage.prototype._createSourceUrlLink):
98434        * inspector/front-end/inspector.css:
98435        (.console-message.expandable > .console-message-text::before):
98436        (.console-message.expandable.collapsed > .console-message-text::before):
98437        (.console-message.expandable.collapsed > ol.stack-trace):
98438        (.console-message > ol.stack-trace):
98439        (.console-message.repeated-message > ol.stack-trace):
98440        (.console-message.repeated-message > ol.stack-trace.trace-message):
98441        * page/Console.idl:
98442
984432010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
98444
98445        Reviewed by Antonio Gomes.
98446
98447        [EFL] Build with MathML enabled. Fix build when MathML is enabled and
98448        make it the default.
98449        https://bugs.webkit.org/show_bug.cgi?id=42453
98450
98451        EFL port does not support automated tests, yet.
98452
98453        * CMakeLists.txt: add missing source file and sort.
98454
984552010-07-16  Hans Wennborg  <hans@chromium.org>
98456
98457        Reviewed by Steve Block.
98458
98459        DeviceOrientationEvent.h should not forward-declare DeviceOrientation
98460        https://bugs.webkit.org/show_bug.cgi?id=42447
98461
98462        When destructing m_orientation, DeviceOrientation cannot be an incomplete type.
98463
98464        * dom/DeviceOrientationEvent.h:
98465
984662010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>
98467
98468        Reviewed by Dirk Schulze.
98469
98470        gradientTransform + objectBoundingBox is wrong
98471        https://bugs.webkit.org/show_bug.cgi?id=42446
98472
98473        gradientTransform + gradientUnits="objectBoundingBox" is wrong. Reverse multiplication order of both transforms.
98474
98475        * rendering/RenderSVGResourceGradient.cpp: s/multiply/multLeft/
98476
984772010-07-16  Mikhail Naganov  <mnaganov@chromium.org>
98478
98479        Reviewed by Pavel Feldman.
98480
98481        Make JS memory stats available via 'Performance' object (Web Timing).
98482        This statistics is populated only if 'WebKitMemoryInfoEnabled'
98483        preference is set.
98484
98485        'console.memory' is kept until Web Timing object becomes visible by
98486        default (currently it is hidden under compile-time flag).  These stats
98487        are guarded with the same preference.
98488
98489        https://bugs.webkit.org/show_bug.cgi?id=41617
98490
98491        * bindings/js/JSConsoleCustom.cpp:
98492        * bindings/v8/custom/V8ConsoleCustom.cpp:
98493        * page/Console.cpp:
98494        (WebCore::Console::disconnectFrame):
98495        (WebCore::Console::memory):
98496        * page/Console.h:
98497        * page/Console.idl:
98498        * page/MemoryInfo.cpp:
98499        (WebCore::MemoryInfo::MemoryInfo):
98500        * page/MemoryInfo.h:
98501        (WebCore::MemoryInfo::create):
98502        * page/Performance.cpp:
98503        (WebCore::Performance::disconnectFrame):
98504        (WebCore::Performance::memory):
98505        * page/Performance.h:
98506        * page/Performance.idl:
98507        * page/Settings.cpp:
98508        (WebCore::Settings::Settings):
98509        * page/Settings.h:
98510        (WebCore::Settings::setMemoryInfoEnabled):
98511        (WebCore::Settings::memoryInfoEnabled):
98512
985132010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>
98514
98515        Reviewed by Dirk Schulze.
98516
98517        Convolution computation causes bad alpha channel values
98518        https://bugs.webkit.org/show_bug.cgi?id=42273
98519
98520        Unbreak the convolve matrix filter, fixing svg/W3C-SVG-1.1/filters-conv-01-f.svg.
98521
98522        1) Fix clamping the rgb values:
98523        "image->set(pixel++, clampRGBAValue(totals[0], maxAlpha));" totals[0] -> totals[i].
98524
98525        2) Don't apply the divisior divison and bias addition multiple times, accumulated!
98526    
98527        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
98528        (WebCore::setDestinationPixels): Fix two evil bugs, breaking feConvolveMatrix.
98529
985302010-07-16  Nikolas Zimmermann  <nzimmermann@rim.com>
98531
98532        Reviewed by Dirk Schulze.
98533
98534        relative positioning does not work for radialGradient after window resize
98535        https://bugs.webkit.org/show_bug.cgi?id=41249
98536
98537        Redesign the way resources are invalidated. No longer utilize the DOM tree, specifically SVGStyledElement::svgAttributeChanged(), to invalidate
98538        all resources in the ancestor chain (including itself) when any attribute changes. rect.setAttribute("foo", "bar") should never invalidate the
98539        resources. Also the old approach didn't work correctly if the root layout changed (eg. window size change) - we failed to invalidate the resources,
98540        thus leading to wrong renderings.
98541
98542        Instead of calling setNeedsLayout(true) from the SVG*Element classes, call RenderSVGResource::markForLayoutAndParentResourceInvalidation(), which
98543        does the same thing and invalidates all resources in the ancestor chain (removing the cached results from the HashMaps). This only happens from
98544        the various svgAttributeChanged() methods, if we know which attribute changed, and what action has to be taken.
98545
98546        All SVG renderers now invalidate their own resources on layout() if the layout changed (selfNeedsLayout()=true). The resources will be recreated
98547        and cached during the following paint() call.
98548
98549        Tests: svg/custom/marker-child-changes-css.svg
98550               svg/custom/relative-sized-content-with-resources.xhtml
98551
98552        * rendering/RenderForeignObject.cpp:
98553        (WebCore::RenderForeignObject::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
98554        * rendering/RenderPath.cpp:
98555        (WebCore::RenderPath::layout): Ditto.
98556        * rendering/RenderSVGContainer.cpp:
98557        (WebCore::RenderSVGContainer::layout): Ditto.
98558        * rendering/RenderSVGImage.cpp:
98559        (WebCore::RenderSVGImage::layout): Ditto.
98560        * rendering/RenderSVGModelObject.cpp:
98561        (WebCore::RenderSVGModelObject::styleDidChange): Added, to invalidate resources on CSS changes, covered by new svg/custom/marker-child-changes-css.svg test.
98562        * rendering/RenderSVGModelObject.h:
98563        * rendering/RenderSVGResource.cpp:
98564        (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation): Add new "needsBoundaries" parameter, calling setNeedsBoundaries() on the target render object,
98565                                                                            simplifying all RenderSVGResource* code.
98566        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): New static method used from DOM tree to invalidate all cached resources in the ancestor chain
98567                                                                                  for a render object. Also marks the renderer for layout, if needed. 
98568        * rendering/RenderSVGResource.h:
98569        * rendering/RenderSVGResourceClipper.cpp: Simplify code, remove no longer needed hacks, as invalidation is now carried out by render tree.
98570        (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): Add m_invalidationBlocked hack, to avoid invalidations, while we're mutating the render styles (which is a hack!).
98571        (WebCore::RenderSVGResourceClipper::invalidateClients): Don't do anything if m_invalidationBlocked=true.
98572        (WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
98573        (WebCore::RenderSVGResourceClipper::createClipData): Set m_invalidationBlocked before mutating render styles, as they are restored immediately after creating the clip image.
98574        (WebCore::RenderSVGResourceClipper::resourceBoundingBox): Remove no longer needed hack to initialize ClipperData earlier than applyResource() would do.
98575        * rendering/RenderSVGResourceClipper.h:
98576        * rendering/RenderSVGResourceFilter.cpp:
98577        (WebCore::RenderSVGResourceFilter::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
98578        (WebCore::RenderSVGResourceFilter::invalidateClient): Remove wrong assertion.
98579        * rendering/RenderSVGResourceGradient.cpp:
98580        (WebCore::RenderSVGResourceGradient::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
98581        (WebCore::RenderSVGResourceGradient::invalidateClient): Remove wrong assertion.
98582        * rendering/RenderSVGResourceMarker.cpp:
98583        (WebCore::RenderSVGResourceMarker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
98584        (WebCore::RenderSVGResourceMarker::invalidateClient): Remove wrong assertion.
98585        * rendering/RenderSVGResourceMasker.cpp:
98586        (WebCore::RenderSVGResourceMasker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
98587        (WebCore::RenderSVGResourceMasker::invalidateClient): Remove wrong assertion.
98588        (WebCore::RenderSVGResourceMasker::resourceBoundingBox): Remove no longer needed hack to initializer MaskerData earlier than applyResource() would do.
98589        * rendering/RenderSVGResourcePattern.cpp:
98590        (WebCore::RenderSVGResourcePattern::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
98591        (WebCore::RenderSVGResourcePattern::invalidateClient): Remove wrong assertion.
98592        * rendering/RenderSVGText.cpp:
98593        (WebCore::RenderSVGText::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
98594        * svg/SVGAnimateMotionElement.cpp:
98595        (WebCore::SVGAnimateMotionElement::applyResultsToTarget): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
98596        * svg/SVGAnimateTransformElement.cpp:
98597        (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto.
98598        * svg/SVGCircleElement.cpp:
98599        (WebCore::SVGCircleElement::svgAttributeChanged): Ditto.
98600        * svg/SVGEllipseElement.cpp:
98601        (WebCore::SVGEllipseElement::svgAttributeChanged): Ditto.
98602        * svg/SVGFEImageElement.cpp:
98603        (WebCore::SVGFEImageElement::notifyFinished): Ditto.
98604        * svg/SVGForeignObjectElement.cpp:
98605        (WebCore::SVGForeignObjectElement::svgAttributeChanged): Ditto.
98606        * svg/SVGGElement.cpp:
98607        (WebCore::SVGGElement::svgAttributeChanged): Ditto.
98608        * svg/SVGImageElement.cpp:
98609        (WebCore::SVGImageElement::svgAttributeChanged): Ditto.
98610        * svg/SVGLineElement.cpp:
98611        (WebCore::SVGLineElement::svgAttributeChanged): Ditto.
98612        * svg/SVGPathElement.cpp:
98613        (WebCore::SVGPathElement::svgAttributeChanged): Ditto.
98614        * svg/SVGPolyElement.cpp:
98615        (WebCore::SVGPolyElement::svgAttributeChanged): Ditto.
98616        * svg/SVGRectElement.cpp:
98617        (WebCore::SVGRectElement::svgAttributeChanged): Ditto.
98618        * svg/SVGSVGElement.cpp:
98619        (WebCore::SVGSVGElement::setCurrentScale): Ditto.
98620        (WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
98621        (WebCore::SVGSVGElement::inheritViewAttributes): Ditto.
98622        * svg/SVGStopElement.cpp:
98623        (WebCore::SVGStopElement::SVGStopElement): Changed m_offset initialization from 0.0f to 0.
98624        (WebCore::SVGStopElement::svgAttributeChanged): Add missing implementation, calling RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) on offsetAttr changes.
98625        * svg/SVGStopElement.h:
98626        * svg/SVGStyledElement.cpp:
98627        (WebCore::SVGStyledElement::svgAttributeChanged): Don't call invalidateResourceInAncestorChain() on every attribute change, do it in all classes inheriting from us,
98628                                                          for specific attributes. Also stop calling RenderSVGResource::invalidateAllResourcesOfRenderer(), all handled in the render tree now.
98629        (WebCore::SVGStyledElement::invalidateResourceClients): Early exit, if document is still parsing.
98630        * svg/SVGStyledElement.h:
98631        * svg/SVGTRefElement.cpp:
98632        (WebCore::SVGTRefElement::svgAttributeChanged): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
98633        * svg/SVGTextElement.cpp:
98634        (WebCore::SVGTextElement::svgAttributeChanged): Ditto.
98635        * svg/SVGTextPathElement.cpp:
98636        (WebCore::SVGTextPathElement::svgAttributeChanged): Ditto.
98637        * svg/SVGTextPositioningElement.cpp:
98638        (WebCore::SVGTextPositioningElement::svgAttributeChanged): Ditto.
98639        * svg/SVGUseElement.cpp:
98640        (WebCore::SVGUseElement::svgAttributeChanged): Ditto.
98641        (WebCore::SVGUseElement::updateContainerSizes): Ditto.
98642        (WebCore::SVGUseElement::updateContainerOffsets): Ditto.
98643
986442010-07-16  Cosmin Truta  <ctruta@chromium.org>
98645
98646        Reviewed by Eric Seidel.
98647
98648        Some SVGs with empty <g> elements crash Chromium on Linux
98649        https://bugs.webkit.org/show_bug.cgi?id=41175
98650
98651        Avoid painting of zero-sized image buffers. Skia can't handle it.
98652
98653        Test: svg/filters/filter-empty-g.svg
98654
98655        * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
98656        (ImageBuffer::ImageBuffer):
98657
986582010-07-16  Nate Chapin  <japhet@chromium.org>
98659
98660        Reviewed by Darin Fisher.
98661
98662        Regression in r63100: Don't clear m_loadType in
98663        FrameLoader::handledOnloadEvents, as it is used
98664        to make some decisions after the load has actually
98665        completed.
98666
98667        Tickling this bug requires manipulation
98668        via the API (layout tests don't appear to traverse
98669        the correct codepath), so no layout test.
98670
98671        https://bugs.webkit.org/show_bug.cgi?id=42298
98672
98673        * loader/FrameLoader.cpp:
98674        (WebCore::FrameLoader::handledOnloadEvents): Don't reset m_loadType.
98675        (WebCore::FrameLoader::addExtraFieldsToRequest): Set subresource cache
98676           policy in one place and don't depend on m_loadType.
98677
986782010-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
98679
98680        Reviewed by Darin Adler.
98681
98682        Printing test results differ between machines, we should use ImageDiff instead
98683        https://bugs.webkit.org/show_bug.cgi?id=20011
98684
98685        Added spoolAllPagesWithBoundaries into PrintContext.
98686
98687        Test: printing/setPrinting.html
98688
98689        * WebCore.base.exp:
98690        * page/PrintContext.cpp:
98691        (WebCore::PrintContext::spoolAllPagesWithBoundaries):
98692        * page/PrintContext.h:
98693
986942010-07-15  Kent Tamura  <tkent@chromium.org>
98695
98696        Unreviewed, small style fixes.
98697
98698        * platform/chromium/ThemeChromiumMac.mm:
98699        (WebCore::ThemeChromiumMac::inflateControlPaintRect):
98700        * platform/mac/ThemeMac.mm:
98701        (WebCore::ThemeMac::inflateControlPaintRect):
98702
987032010-07-15  Adam Barth  <abarth@webkit.org>
98704
98705        Reviewed by Eric Seidel.
98706
98707        Update LegacyHTMLTreeBuilder to insert whitespace between </head> and <body>
98708        https://bugs.webkit.org/show_bug.cgi?id=42431
98709
98710        Insert these whitespace text nodes into the HTML element between <head>
98711        and <body>, as required by HTML5.  Previously, we just dropped them on
98712        the floor.
98713
98714        * html/LegacyHTMLTreeBuilder.cpp:
98715        (WebCore::LegacyHTMLTreeBuilder::handleError):
98716
987172010-07-15  Victor Wang  <victorw@chromium.org>
98718
98719        Reviewed by David Levin.
98720
98721        [chromium] update KURLGoogle decodeURLEscapeSequences to
98722        use googleurl public api so it does not access functions in
98723        url_canon_internal. This is for chromium multi-dll build.
98724
98725        https://bugs.webkit.org/show_bug.cgi?id=42177
98726
98727        Test: (unittest) WebKit\chromium\tests\KURLTest.cpp
98728
98729        * platform/KURLGoogle.cpp:
98730        (WebCore::decodeURLEscapeSequences):
98731
987322010-07-15  Kent Tamura  <tkent@chromium.org>
98733
98734        Reviewed by Eric Seidel.
98735
98736        [Chromium] Update ThemeChromiumMac.mm for the recent changes of ThemeMac.mm
98737        https://bugs.webkit.org/show_bug.cgi?id=41932
98738
98739        Sync with ThemeMac.mm r61760.
98740        This change doesn't contain r54299, r57603, r57734, r57741, and
98741        r58533 because they conflict with Chromium change for
98742        FlippedView().
98743
98744        * platform/chromium/ThemeChromiumMac.mm:
98745        (WebCore::sizeFromNSControlSize):
98746        (WebCore::sizeFromFont):
98747        (WebCore::controlSizeFromPixelSize):
98748        (WebCore::setControlSize):
98749        (WebCore::convertControlStatesToThemeDrawState):
98750        (WebCore::stepperSizes):
98751        (WebCore::stepperControlSizeForFont):
98752        (WebCore::paintStepper):
98753        (WebCore::ThemeChromiumMac::controlSize):
98754        (WebCore::ThemeChromiumMac::minimumControlSize):
98755        (WebCore::ThemeChromiumMac::inflateControlPaintRect):
98756        (WebCore::ThemeChromiumMac::paint):
98757
987582010-07-15  MORITA Hajime  <morrita@google.com>
98759
98760        Reviewed by David Levin.
98761
98762        [Chromium][Win] Crashes with <keygen> with huge padding.
98763        https://bugs.webkit.org/show_bug.cgi?id=41737
98764
98765        When we try to draw a large region, TransparencyWin can fail to
98766        allocate a temporal buffer for composition.  This change adds a
98767        fallback path to ThemePainter to handle the buffer allocation
98768        failure.
98769
98770        ThemePainter is no longer a subclass of TransparencyWin.  It has
98771        a TransparencyWin as a member.
98772
98773        Test: fast/forms/large-parts.html
98774
98775        * rendering/RenderThemeChromiumWin.cpp:
98776        (WebCore::ThemePainter): Added a fallback path.
98777
987782010-07-15  Yuzo Fujishima  <yuzo@google.com>
98779
98780        Reviewed by Darin Adler.
98781
98782        Fix for Bug 42362 - CSSSegmentedFontFace::isLoaded() const is not used anywhere
98783        Remove the method.
98784        https://bugs.webkit.org/show_bug.cgi?id=42362
98785
98786        No new tests because of no behavior changes.
98787
98788        * css/CSSSegmentedFontFace.cpp:
98789        * css/CSSSegmentedFontFace.h:
98790
987912010-07-15  Erik Arvidsson  <arv@chromium.org>
98792
98793        Reviewed by David Levin.
98794
98795        Add directional property enums to the switch in applyProperty
98796        https://bugs.webkit.org/show_bug.cgi?id=42438
98797
98798        Build fix for chromium mac.
98799
98800        * css/CSSStyleSelector.cpp:
98801        (WebCore::CSSStyleSelector::applyProperty):
98802
988032010-07-13  Zhenyao Mo  <zmo@google.com>
98804
98805        Reviewed by Nate Chapin.
98806
98807        bufferData and bufferSubData generate wrong error when null buffer is bound
98808        https://bugs.webkit.org/show_bug.cgi?id=42125
98809
98810        * html/canvas/WebGLRenderingContext.cpp:
98811        (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataParameters().
98812        (WebCore::WebGLRenderingContext::bufferSubData): Ditto.
98813        (WebCore::WebGLRenderingContext::validateBufferDataParameters): Parameters validation for buffer{Sub}Data().
98814        * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataParameters().
98815
988162010-07-15  Jay Civelli  <jcivelli@chromium.org>
98817
98818        Reviewed by David Levin.
98819
98820        [chromium] Making the popup label color visible when the item is
98821        selected.
98822        https://bugs.webkit.org/show_bug.cgi?id=42271
98823
98824        * platform/chromium/PopupMenuChromium.cpp:
98825        (WebCore::PopupListBox::paintRow): paint the label text with a
98826        different color when it is selected. 
98827
988282010-07-13  Zhenyao Mo  <zmo@google.com>
98829
98830        Reviewed by Nate Chapin.
98831
98832        WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
98833        https://bugs.webkit.org/show_bug.cgi?id=34719
98834
98835        Tests: fast/canvas/webgl/canvas-test.html
98836               fast/canvas/webgl/gl-pixelstorei.html
98837
98838        * html/HTMLCanvasElement.cpp:
98839        (WebCore::HTMLCanvasElement::makeRenderingResultsAvailable): Paint the WebGL rendering results to canvas if it's 3d.
98840        (WebCore::HTMLCanvasElement::toDataURL): Paint the WebGL rendering results to canvas if it's 3d.
98841        * html/canvas/CanvasRenderingContext2D.cpp:
98842        (WebCore::CanvasRenderingContext2D::drawImage): Paint the WebGL rendering results to canvas if it's 3d before drawing.
98843        * html/canvas/WebGLRenderingContext.cpp:
98844        (WebCore::WebGLRenderingContext::markContextChanged): Mark it always for canvas2d.drawImage purpose.
98845        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): Paint the WebGL rendering results to canvas if it's dirty.
98846        * html/canvas/WebGLRenderingContext.h: Declare paintRenderingResultsToCanvas().
98847        * platform/graphics/GraphicsContext3D.h: Declare paintRenderingResultsToCanvas() & paintToCanvas().
98848        * platform/graphics/cg/GraphicsContext3DCG.cpp:
98849        (WebCore::GraphicsContext3D::paintToCanvas): Paint the rendered image pixels to the canvas.
98850        * platform/graphics/mac/GraphicsContext3DMac.mm:
98851        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().
98852        * platform/graphics/qt/GraphicsContext3DQt.cpp:
98853        (WebCore::GraphicsContext3D::beginPaint): Just call paintRenderingResultsToCanvas().
98854        (WebCore::GraphicsContext3D::endPaint):
98855        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().
98856
988572010-07-15  Nico Weber  <thakis@chromium.org>
98858
98859        Reviewed by Ojan Vafai.
98860
98861        chromium/skia: Fix canvas.toDataURL in the presence of transparency
98862        https://bugs.webkit.org/show_bug.cgi?id=42214
98863
98864        The problem was that SkBitmaps contain premultiplied data, but pnglib
98865        doesn't expect premultiplied data. Now, the encoder unpremultiplies
98866        data before sending it to pnglib.
98867
98868        Patch partially by deanm.
98869
98870        Covered by fast/canvas/toDataURL-alpha.html.
98871
98872        * platform/image-encoders/skia/PNGImageEncoder.cpp:
98873        (WebCore::preMultipliedBGRAtoRGBA):
98874        (WebCore::encodeImpl):
98875        (WebCore::PNGImageEncoder::encode):
98876
988772010-07-15  Alex Nicolaou  <anicolao@chromium.org>
98878
98879        Reviewed by Eric Seidel.
98880
98881        Convolution computation causes bad alpha channel values
98882        https://bugs.webkit.org/show_bug.cgi?id=42273
98883
98884        Fixed by clamping colour channel values to the alpha value so that 
98885        r <= a, g <= a, and b <= a after the convolution is applied. See
98886        the bug for why I believe the SVG specification needs to be updated. 
98887        Test must be drawn to crash. 100x100 green rectangle is used to 
98888        indicate pass to minimize the chance of regression.
98889
98890        Test: svg/custom/convolution-crash.svg
98891
98892        * platform/graphics/skia/SkiaUtils.cpp:
98893        (WebCore::SkPMColorToColor):
98894        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
98895        (WebCore::clampRGBAValue):
98896        (WebCore::setDestinationPixels):
98897        (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
98898        (WebCore::FEConvolveMatrix::fastSetOuterPixels):
98899
989002010-07-15  Dumitru Daniliuc  <dumi@chromium.org>
98901
98902        Unreviewed, Chromium-specific changes that I forgot to make in r63278.
98903
98904        1. DatabaseTrackerChromium::getMaxSizeForDatabase() is called on
98905        the context thread by sync DBs.
98906        2. Forgot to change V8SQLTransactionSyncCustom to return the
98907        result set when executeSql() is called.
98908
98909        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
98910        (WebCore::V8SQLTransactionSync::executeSqlCallback):
98911        * storage/chromium/DatabaseTrackerChromium.cpp:
98912        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
98913
989142010-07-15  Martin Robinson  <mrobinson@igalia.com>
98915
98916        Reviewed by Oliver Hunt.
98917
98918        [GTK] Simplify the distribution step
98919        https://bugs.webkit.org/show_bug.cgi?id=42414
98920
98921        No new tests as this is just a build change.
98922
98923        * GNUmakefile.am: Modify EXTRA_DIST directly and make sure the list
98924        of files is sorted. Also handle distributing the IDL files from the
98925        WebCore source tree.
98926
989272010-07-15  Eric Seidel  <eric@webkit.org>
98928
98929        Reviewed by Adam Barth.
98930
98931        LegacyHTMLTreeBuilder should insert an implicit <colgroup> before inserting <col> to match HTML5
98932        https://bugs.webkit.org/show_bug.cgi?id=42346
98933
98934        This turned out to be an easy fix.
98935
98936        This is covered by lots of layout tests.  I believe
98937        all of the changed results to be progressions.
98938
98939        This change had no measurable effect on the parser benchmark.
98940
98941        * html/LegacyHTMLTreeBuilder.cpp:
98942        (WebCore::LegacyHTMLTreeBuilder::colCreateErrorCheck):
98943        (WebCore::LegacyHTMLTreeBuilder::getNode):
98944        * html/LegacyHTMLTreeBuilder.h:
98945
989462010-07-15  Sam Weinig  <sam@webkit.org>
98947
98948        Reviewed by Oliver Hunt.
98949
98950        Patch for https://bugs.webkit.org/show_bug.cgi?id=42410
98951        Many leaking DatasetDOMStringMaps seen on buildbot
98952
98953        * dom/NodeRareData.h:
98954        (WebCore::NodeRareData::~NodeRareData): Add a virtual destructor so
98955        that the ElementRareData's destructor will be called when this is deleted
98956        from the Node's destructor.
98957
989582010-07-15  Chris Fleizach  <cfleizach@apple.com>
98959
98960        Reviewed by Darin Adler.
98961
98962        AX: Crash when table has empty thead tag
98963        https://bugs.webkit.org/show_bug.cgi?id=42391
98964
98965        Test: accessibility/table-with-empty-thead-causes-crash.html
98966
98967        * accessibility/AccessibilityTableColumn.cpp:
98968        (WebCore::AccessibilityTableColumn::headerObjectForSection):
98969
989702010-07-15  Anders Carlsson  <andersca@apple.com>
98971
98972        Reviewed by Sam Weinig.
98973
98974        Start loading plug-in streams
98975        https://bugs.webkit.org/show_bug.cgi?id=42407
98976
98977        Export some ResourceRequestBase getters.
98978
98979        * WebCore.exp.in:
98980
989812010-07-15  Kenneth Russell  <kbr@google.com>
98982
98983        Reviewed by Nate Chapin.
98984
98985        Query of NUM_COMPRESSED_TEXTURE_FORMATS must be handled by WebGL
98986        https://bugs.webkit.org/show_bug.cgi?id=42401
98987
98988        No new tests; covered by gl-get-calls.html.
98989
98990        * html/canvas/WebGLRenderingContext.cpp:
98991        (WebCore::WebGLRenderingContext::getParameter):
98992         - Return 0 for getParameter(NUM_COMPRESSED_TEXTURE_FORMATS).
98993
989942010-07-07  John Gregg  <johnnyg@google.com>
98995
98996        Reviewed by Jian Li.
98997
98998        Experimental directory upload feature.
98999        https://bugs.webkit.org/show_bug.cgi?id=40872
99000
99001        This patch adds a new HTML attribute webkitdirectory which applies to 
99002        <input type="file"> tags and allows the user to specify a folder
99003        which is recursively enumerated so that all the files in that folder
99004        are added to the file list.
99005
99006        The files chosen in that way have a .webkitRelativePath attribute which contains
99007        the relative path starting from the chosen folder.  The relative path is
99008        also appended to each item in the FormData when uploaded.
99009
99010        All the code is behind an ENABLE_DIRECTORY_UPLOAD flag.
99011
99012        Test: fast/forms/input-file-directory-upload.html
99013
99014        * html/Blob.cpp:
99015        (WebCore::Blob::Blob):
99016        * html/Blob.h:
99017        * html/File.cpp:
99018        (WebCore::File::File):
99019        (WebCore::File::Init):
99020        (WebCore::File::webkitRelativePath):
99021        * html/File.h:
99022        (WebCore::File::create):
99023        * html/File.idl:
99024        * html/HTMLAttributeNames.in: add webkitdirectory attribute
99025        * html/HTMLInputElement.cpp:
99026        (WebCore::HTMLInputElement::setFileListFromRenderer):
99027        (WebCore::HTMLInputElement::webkitdirectory):
99028        * html/HTMLInputElement.h:
99029        * html/HTMLInputElement.idl:
99030        * platform/BlobItem.cpp:
99031        (WebCore::FileBlobItem::create):
99032        (WebCore::FileBlobItem::FileBlobItem):
99033        * platform/BlobItem.h:
99034        (WebCore::FileBlobItem::relativePath):
99035        * platform/FileChooser.h:
99036        (WebCore::FileChooser::allowsDirectoryUpload):
99037        * platform/network/FormData.cpp:
99038        (WebCore::FormData::appendKeyValuePairItems):
99039        * rendering/RenderFileUploadControl.cpp:
99040        (WebCore::RenderFileUploadControl::allowsMultipleFiles):
99041        (WebCore::RenderFileUploadControl::allowsDirectoryUpload):
99042        * rendering/RenderFileUploadControl.h:
99043
990442010-07-15  Simon Fraser  <simon.fraser@apple.com>
99045
99046        Reviewed by Dan Bernstein.
99047
99048        Avoid creating huge compositing layers for elements that project outside the viewport
99049        https://bugs.webkit.org/show_bug.cgi?id=42338
99050
99051        The logic that computed the bounds of compositing layers naively used the
99052        union of the bounds of descendant, non-composited RenderLayers, without regard
99053        to what is actually visible. This could result in huge layers for page with
99054        elements are large negative offsets, or with large negative text-indent (both
99055        common).
99056        
99057        For elements without transforms on them or in their ancestor chain, and when
99058        no 3d transforms or hardware-accelerated animations are used, can clip compositing
99059        layers to the size of the document, or based on CSS overflow and clip.
99060
99061        Tests: compositing/geometry/limit-layer-bounds-clipping-ancestor.html
99062               compositing/geometry/limit-layer-bounds-fixed-positioned.html
99063               compositing/geometry/limit-layer-bounds-overflow-repaint.html
99064               compositing/geometry/limit-layer-bounds-positioned-transition.html
99065               compositing/geometry/limit-layer-bounds-positioned.html
99066               compositing/geometry/limit-layer-bounds-transformed-overflow.html
99067               compositing/geometry/limit-layer-bounds-transformed.html
99068
99069        * rendering/RenderLayerBacking.cpp:
99070        (WebCore::enclosingOverflowClipAncestor):  Walk up the RenderLayer tree
99071        looking for an ancestor that has overflow, or to the root. Along the way, check for
99072        transformed elements.
99073        (WebCore::RenderLayerBacking::updateCompositedBounds):  If we're in "consult
99074        overlap" mode, and we don't have transforms, then constrain the bounds
99075        of composited layers by the RenderView's layoutOverflowRect(), or by the
99076        enclosing layer with overflow.
99077        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If the offset from the renderer changes,
99078        we need to repaint the layer.
99079
990802010-07-15  Alex Nicolaou  <anicolao@chromium.org>
99081
99082        Reviewed by Dirk Schulze.
99083
99084        https://bugs.webkit.org/show_bug.cgi?id=42228
99085        
99086        SVG Masks were in the wrong colour space for non-CG graphics layers,
99087        because for those cases ImageBuffer needs to be explicitly told to
99088        convert the pixels. This change adds a test that demonstrates the
99089        problem and the conversion call to make the mask LinearRGB.
99090
99091        Test: svg/custom/mask-colorspace.svg
99092
99093        * rendering/RenderSVGResourceMasker.cpp:
99094        (WebCore::RenderSVGResourceMasker::createMaskImage):
99095
990962010-07-15  Daniel Bates  <dbates@rim.com>
99097
99098        Reviewed by Darin Adler.
99099
99100        [Mac] Implement LayoutTestController::markerTextForListItem()
99101        https://bugs.webkit.org/show_bug.cgi?id=37929
99102
99103        Export symbols for WebCore::markerTextForListItem() and WebCore::toElement().
99104
99105        * WebCore.exp.in:
99106
991072010-07-15  Andreas Kling  <andreas.kling@nokia.com>
99108
99109        Rubber-stamped by Kenneth Rohde Christiansen.
99110
99111        [Qt] Remove an unused variable in BitmapImage::draw()
99112
99113        * platform/graphics/qt/ImageQt.cpp:
99114        (WebCore::BitmapImage::draw): Remove selfSize.
99115
991162010-07-15  Yury Semikhatsky  <yurys@chromium.org>
99117
99118        Reviewed by Pavel Feldman.
99119
99120        Web Inspector: pass all parameters to WebInspector.addConsoleMessage as a single payload object
99121        https://bugs.webkit.org/show_bug.cgi?id=42345
99122
99123        This refactoring is covered by existing console tests.
99124
99125        * bindings/js/ScriptArray.cpp:
99126        (WebCore::ScriptArray::set):
99127        * bindings/js/ScriptArray.h:
99128        (WebCore::ScriptArray::ScriptArray):
99129        (WebCore::ScriptArray::jsArray):
99130        * bindings/v8/ScriptArray.cpp:
99131        (WebCore::ScriptArray::set):
99132        * bindings/v8/ScriptArray.h:
99133        (WebCore::ScriptArray::ScriptArray):
99134        (WebCore::ScriptArray::~ScriptArray):
99135        * inspector/ConsoleMessage.cpp:
99136        (WebCore::ConsoleMessage::addToFrontend):
99137        * inspector/InspectorFrontend.cpp:
99138        (WebCore::InspectorFrontend::addConsoleMessage):
99139        * inspector/InspectorFrontend.h:
99140        * inspector/front-end/ConsoleView.js:
99141        (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
99142        (WebInspector.ConsoleMessage):
99143        (WebInspector.ConsoleMessage.createTextMessage):
99144        (WebInspector.ConsoleCommandResult):
99145        * inspector/front-end/ElementsPanel.js:
99146        (WebInspector.ElementsPanel.prototype.generateStylesheet):
99147        * inspector/front-end/InjectedScriptAccess.js:
99148        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback):
99149        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
99150        (InjectedScriptAccess._installHandler):
99151        * inspector/front-end/Resource.js:
99152        (WebInspector.Resource.prototype._checkWarning):
99153        * inspector/front-end/inspector.js:
99154        (WebInspector.updateConsoleMessageExpiredCount):
99155        (WebInspector.addConsoleMessage):
99156        (WebInspector.log.logMessage):
99157        (WebInspector.log):
99158
991592010-07-14  Tony Gentilcore  <tonyg@chromium.org>
99160
99161        Reviewed by Darin Fisher.
99162
99163        Backfill DNS and connect times rather than exposing hard zeros
99164        https://bugs.webkit.org/show_bug.cgi?id=42303
99165
99166        There are several cases where domain lookup is not performed and/or a new connection is not established. Previously in these cases, we exposed a "0" to the API. Now, we instead "backfill" with the most recent mark's time.
99167
99168        Also, previously, I was using the ResourceLoadTiming API incorrectly. Each mark is an integer representing offset in milliseconds from requestTime. So all values need to be added to requestTime.
99169
99170        No new test because existing test expectations are set to FAIL because disable disabled by default. The expected results of existings tests change as expected when enabled.
99171
99172        * page/Timing.cpp:
99173        (WebCore::toIntegerMilliseconds): Move to file static instead of class static because it might generate more optimal code. Also, instead of converting negative doubles to zero, ASSERT that they are >= 0. This is because we no longer expose hard zeros for DNS and connect, so we want to be sure that the -1s returned by the API are properly handled.
99174        (WebCore::Timing::domainLookupStart):
99175        (WebCore::Timing::domainLookupEnd):
99176        (WebCore::Timing::connectStart):
99177        (WebCore::Timing::connectEnd):
99178        (WebCore::Timing::requestStart):
99179        (WebCore::Timing::requestEnd):
99180        (WebCore::Timing::responseStart):
99181        * page/Timing.h:
99182
991832010-07-15  Pavel Feldman  <pfeldman@chromium.org>
99184
99185        Reviewed by Yury Semikhatsky.
99186
99187        Web Inspector: differentiate between blocking and connecting timers.
99188
99189        https://bugs.webkit.org/show_bug.cgi?id=42372
99190
99191        * inspector/InspectorResource.cpp:
99192        (WebCore::InspectorResource::InspectorResource):
99193        (WebCore::InspectorResource::updateResponse):
99194        (WebCore::InspectorResource::updateScriptObject):
99195        (WebCore::InspectorResource::buildObjectForTiming):
99196        * inspector/InspectorResource.h:
99197        * inspector/front-end/Resource.js:
99198        (WebInspector.Resource.prototype.get cached):
99199        (WebInspector.Resource.prototype.set cached):
99200        * inspector/front-end/ResourcesPanel.js:
99201        (WebInspector.ResourcesPanel.prototype._showPopover):
99202        (WebInspector.ResourceGraph):
99203        (WebInspector.ResourceGraph.prototype.refresh):
99204        (WebInspector.ResourceGraph.prototype._cachedChanged):
99205        * inspector/front-end/inspector.js:
99206        (WebInspector.updateResource):
99207        * loader/FrameLoader.cpp:
99208        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
99209        * loader/FrameLoader.h:
99210        * platform/network/ResourceResponseBase.cpp:
99211        (WebCore::ResourceResponseBase::ResourceResponseBase):
99212        (WebCore::ResourceResponseBase::connectionReused):
99213        (WebCore::ResourceResponseBase::setConnectionID):
99214        * platform/network/ResourceResponseBase.h:
99215
992162010-07-15  MORITA Hajime  <morrita@google.com>
99217
99218        Text layout is wrong with a SVG Font that lacks <missing-glyph> element
99219        https://bugs.webkit.org/show_bug.cgi?id=42352
99220
99221        floatWidthOfSubStringUsingSVGFont() calculated a wrong value for a
99222        sub-run, and a fallback to system font triggers such a computation.
99223        This change made floatWidthOfSubStringUsingSVGFont() to deal with
99224        sub-runs.
99225        
99226        Test: svg/custom/svg-fonts-without-missing-glyph.xhtml
99227
99228        * svg/SVGFont.cpp:
99229        (WebCore::floatWidthOfSubStringUsingSVGFont):
99230
992312010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>
99232
99233        Reviewed by Dirk Schulze.
99234
99235        Cycle detection needs to include shadow tree
99236        https://bugs.webkit.org/show_bug.cgi?id=42360
99237
99238        Search for cycles in shadow tree fragments as well. Extended the svg/custom/recursion-* tests. No more crashes in any of them.
99239
99240        * rendering/RenderSVGResourceContainer.h:
99241        (WebCore::RenderSVGResourceContainer::containsCyclicReference):
99242        * rendering/RenderSVGShadowTreeRootContainer.cpp: Implemented here, not inline, so that clients don't need to include SVGShadowTreeElements.h
99243        (WebCore::RenderSVGShadowTreeRootContainer::rootElement): Expose helper function, that returns the shadow tree root element as Node*.
99244        * rendering/RenderSVGShadowTreeRootContainer.h:
99245
992462010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>
99247
99248        Reviewed by Dirk Schulze.
99249
99250        clipPath is missing cycle detection
99251        https://bugs.webkit.org/show_bug.cgi?id=42350
99252
99253        Detect cyclic clipper resources, and ignore them on rendering. Early exit in applyResource just like the pattern/mask resources do.
99254
99255        * rendering/RenderSVGResourceClipper.cpp:
99256        (WebCore::RenderSVGResourceClipper::applyResource):
99257        (WebCore::RenderSVGResourceClipper::hitTestClipContent):
99258        (WebCore::RenderSVGResourceClipper::childElementReferencesResource):
99259        * rendering/RenderSVGResourceClipper.h:
99260
992612010-07-15  Mark Rowe  <mrowe@apple.com>
99262
99263        Reviewed by Maciej Stachowiak.
99264
99265        Fix a leak of Vector instances seen on the build bot.
99266
99267        * rendering/RenderObject.cpp:
99268        (WebCore::RenderObject::drawBoxSideFromPath): Don't unnecessarily heap allocate then leak the DashArray.
99269
992702010-07-15  Mark Rowe  <mrowe@apple.com>
99271
99272        Update the sorting in the Xcode project files.
99273
99274        * WebCore.xcodeproj/project.pbxproj:
99275
992762010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>
99277
99278        Reviewed by Eric Seidel.
99279
99280        SVG patterns and masks should not be able to reference themselves
99281        https://bugs.webkit.org/show_bug.cgi?id=32171
99282
99283        Pattern still had an issue, when using constructs like:
99284        <pattern id="pattern1" xlink:href="#pattern2"/>
99285        <pattern id="pattern2"><rect fill="url(#pattern1)"/></pattern>
99286
99287        Extended test svg/custom/recursive-pattern.svg to cover this situation.
99288
99289        * rendering/RenderSVGResourcePattern.cpp:
99290        (WebCore::RenderSVGResourcePattern::applyResource): Don't perform the cycle check against node()...
99291        (WebCore::RenderSVGResourcePattern::createTileImage): .. but against the "patternContentElement" which respect the xlink:href chaining.
99292
992932010-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>
99294
99295        Reviewed by Adam Barth.
99296
99297        Pixel test failure in moving-shadow-on-path.html and moving-shadow-on-container.html
99298        https://bugs.webkit.org/show_bug.cgi?id=42249
99299
99300        Partly revert <http://trac.webkit.org/changeset/63307>. The RenderSVGRoot change caused a pixel test regression in two fast/repaint tests.
99301
99302        * rendering/RenderSVGRoot.cpp:
99303        (WebCore::RenderSVGRoot::layout): Include selfNeedsLayout() check in LayoutStateRepainter argument.
99304
993052010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>
99306
99307        Unreviewed, rolling out r63352.
99308        http://trac.webkit.org/changeset/63352
99309        https://bugs.webkit.org/show_bug.cgi?id=42341
99310
99311        Broke plugin-initiate-popup-window.html and plugin-javascript-
99312        access.html on snow leopard (Requested by abarth on #webkit).
99313
99314        * bindings/v8/NPV8Object.cpp:
99315        (_NPN_EvaluateHelper):
99316
993172010-07-14  Eric Seidel  <eric@webkit.org>
99318
99319        Reviewed by Adam Barth.
99320
99321        Make the LegacyHTMLTreeBuilder coalesce text nodes
99322        https://bugs.webkit.org/show_bug.cgi?id=42314
99323
99324        This is slightly tricky as we're side-stepping the old
99325        parsers insertion logic in the cases where we know we can
99326        safely merge text into an existing text node instead of
99327        inserting a new one.
99328
99329        This affects lots of tests (which will need to change for
99330        the HTML5 TreeBuilder anyway) and causes the LegacyHTMLTreeBuilder
99331        to now pass a bunch more subtests in html5lib/runner.html.
99332
99333        The parser benchmark thinks that this is a small speedup.
99334        I think I happen to have been lucky enough to get the right
99335        cache alignment, and that this is likely a wash.
99336
99337        * html/LegacyHTMLTreeBuilder.cpp:
99338        (WebCore::LegacyHTMLTreeBuilder::parseToken):
99339
993402010-07-14  Evan Stade  <estade@chromium.org>
99341
99342        Reviewed by Kent Tamura.
99343
99344        [chromium] Linux scrollbar steppers are "clickable" even when disabled
99345        https://bugs.webkit.org/show_bug.cgi?id=42231
99346
99347        Not tested by layout tests.
99348
99349        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
99350        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
99351
993522010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>
99353
99354        Unreviewed, rolling out r63389.
99355        http://trac.webkit.org/changeset/63389
99356        https://bugs.webkit.org/show_bug.cgi?id=42311
99357
99358        It broke the Chromium Linux build. (Requested by dave_levin on
99359        #webkit).
99360
99361        * platform/KURLGoogle.cpp:
99362        (WebCore::decodeURLEscapeSequences):
99363
993642010-07-13  Mirko Damiani  <mirko@develer.com>
99365
99366        Reviewed by Simon Hausmann.
99367
99368        [Qt] CSS border style not cleared for SVG object
99369        https://bugs.webkit.org/show_bug.cgi?id=42150
99370
99371        For tests and description see:
99372        https://bugs.webkit.org/show_bug.cgi?id=25738
99373
99374        * platform/graphics/qt/GraphicsContextQt.cpp:
99375        (WebCore::GraphicsContext::setLineDash):
99376
993772010-07-14  Adam Barth  <abarth@webkit.org>
99378
99379        Reviewed by Eric Seidel.
99380
99381        HTMLTreeBuilder shouldn't crash during fast/parser/remove-parser-current-node.html
99382        https://bugs.webkit.org/show_bug.cgi?id=42312
99383
99384        We were crashing because of an ASSERT I added to the attach logic in
99385        the HTMLConstructionSite.  I knew this ASSERT was wrong when I added
99386        it, I just wanted to make sure we had test coverage of those cases.
99387        Turns out we do!  :)
99388
99389        * html/HTMLConstructionSite.cpp:
99390        (WebCore::HTMLConstructionSite::attach):
99391        (WebCore::HTMLConstructionSite::attachAtSite):
99392
993932010-07-14  Victor Wang  <victorw@chromium.org>
99394
99395        Reviewed by Darin Fisher.
99396
99397        [chromium] update KURLGoogle decodeURLEscapeSequences to
99398        use googleurl public api so it does not access functions in
99399        url_canon_internal. This is for chromium multi-dll build.
99400
99401        https://bugs.webkit.org/show_bug.cgi?id=42177
99402
99403        Test: (unittest) WebKit\chromium\tests\KURLTest.cpp
99404
99405        * platform/KURLGoogle.cpp:
99406        (WebCore::decodeURLEscapeSequences):
99407
994082010-07-14  Adam Barth  <abarth@webkit.org>
99409
99410        Reviewed by Eric Seidel.
99411
99412        Avoid extra memcpy of character tokens
99413        https://bugs.webkit.org/show_bug.cgi?id=42002
99414
99415        Eric tells me this patch makes the new tree builder 1% faster than the
99416        old tree builder on our parser benchmark.
99417
99418        * html/HTMLToken.h:
99419        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
99420        (WebCore::AtomicHTMLToken::characters):
99421        * html/HTMLTreeBuilder.cpp:
99422        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
99423        (WebCore::convertToOldStyle):
99424        (WebCore::HTMLTreeBuilder::processFakeCharacters):
99425
994262010-07-14  Eric Seidel  <eric@webkit.org>
99427
99428        Reviewed by Adam Barth.
99429
99430        HTMLTreeBuilder foster parents when it should not
99431        https://bugs.webkit.org/show_bug.cgi?id=42235
99432
99433        Regarding foster parenting of nodes inside tables:
99434        "Process the token using the rules for the "in body" insertion mode,
99435        except that if the current node is a table, tbody, tfoot, thead, or
99436        tr element, then, whenever a node would be inserted into the current
99437        node, it must instead be foster parented."
99438
99439        We were forgetting the "when the current node is" part of that check
99440        and always foster parenting, even if we had just inserted another
99441        element (which would have just changed the current node).
99442
99443        This was covered by multiple tests in html5lib/runner.html
99444        but I wrote a reduction (one which I included) as it makes it
99445        easier to see what's going on.
99446
99447        * html/HTMLConstructionSite.cpp:
99448        (WebCore::HTMLNames::causesFosterParenting):
99449        (WebCore::HTMLConstructionSite::attach):
99450        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
99451        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
99452        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
99453        (WebCore::HTMLConstructionSite::insertTextNode):
99454        (WebCore::HTMLConstructionSite::shouldFosterParent):
99455        * html/HTMLConstructionSite.h:
99456        * html/HTMLTreeBuilder.cpp:
99457        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
99458
994592010-07-14  Brady Eidson  <beidson@apple.com>
99460
99461        Reviewed by Mark Rowe.
99462
99463        <rdar://problem/8131355> Apps load stale versions of pages when initial load happens via back/forward navigation.
99464
99465        No test case is added because DumpRenderTree is not able to test the scenario where the initial load in a WebView
99466        occurs via a back/forward navigation.
99467
99468        * loader/FrameLoader.cpp:
99469        (WebCore::FrameLoader::navigateToDifferentDocument): When the first load in a page is a back/forward navigation, we
99470          shouldn't try to prefer cached data but should do revalidation by default.
99471        (WebCore::FrameLoader::addExtraFieldsToRequest): Ditto.
99472
994732010-07-14  James Robinson  <jamesr@chromium.org>
99474
99475        Reviewed by Darin Fisher.
99476
99477        Breaks all dependencies on Page from platform/ and cleans up GLES2Context lifetime
99478        https://bugs.webkit.org/show_bug.cgi?id=42203
99479
99480        Rather than constructing a GLES2Context from a Page, pass the LayerRendererChromium
99481        a GLES2Context in from the constructor.  This way the platform/ directory can remain
99482        ignorant of Page and friends.  Also adds functions on ChromeClientChromium to request
99483        onscreen and offscreen GLES2Contexts for callers in WebCore that need them.
99484
99485        * page/chromium/ChromeClientChromium.h:
99486        * platform/chromium/GLES2Context.h:
99487        * platform/graphics/chromium/LayerRendererChromium.cpp:
99488        (WebCore::LayerRendererChromium::create):
99489        (WebCore::LayerRendererChromium::LayerRendererChromium):
99490        * platform/graphics/chromium/LayerRendererChromium.h:
99491
994922010-07-14  Andreas Kling  <andreas.kling@nokia.com>
99493
99494        Reviewed by Darin Adler.
99495
99496        Add functions to extract individual RGBA32 components
99497        https://bugs.webkit.org/show_bug.cgi?id=42305
99498
99499        * html/canvas/CanvasRenderingContext2D.cpp:
99500        (WebCore::CanvasRenderingContext2D::willDraw): Use alphaChannel()
99501        * platform/graphics/Color.h:
99502        (WebCore::redChannel):
99503        (WebCore::greenChannel):
99504        (WebCore::blueChannel):
99505        (WebCore::alphaChannel):
99506        (WebCore::Color::red):
99507        (WebCore::Color::green):
99508        (WebCore::Color::blue):
99509        (WebCore::Color::alpha):
99510
995112010-07-14  Alexey Proskuryakov  <ap@apple.com>
99512
99513        Not reviewed.
99514
99515        https://bugs.webkit.org/show_bug.cgi?id=42201
99516        Use ResourceHandle object for synchronous loading
99517
99518        * platform/network/mac/ResourceHandleMac.mm:
99519        (WebCore::ResourceHandle::loadResourceSynchronously): Fix an obvious typo.
99520
995212010-07-14  Alexey Proskuryakov  <ap@apple.com>
99522
99523        Reviewed by Brady Eidson.
99524
99525        https://bugs.webkit.org/show_bug.cgi?id=42201
99526        Use ResourceHandle object for synchronous loading
99527
99528        Fix a Tiger test failure.
99529
99530        Setting NSURLRequest properties has been moved to createNSURLConnection to share code between
99531        sync and async cases, but on Tiger, we don't call this function.
99532
99533        There is more refactoring needed to make this nice, and we need to figure out if some of
99534        request-tweaking code in createNSURLConnection needs to run on every redirect, as it happens
99535        with CFNetwork version.
99536
99537        * platform/network/mac/ResourceHandleMac.mm:
99538        (WebCore::ResourceHandle::loadResourceSynchronously): Set main document for cookies, which is
99539        the only thing we've been missing.
99540
995412010-07-14  Mark Rowe  <mrowe@apple.com>
99542
99543        Rubber-stamped by Dan Bernstein.
99544
99545        * WebCore.xcodeproj/project.pbxproj: Silence rsync.
99546
995472010-07-14  Darin Adler  <darin@apple.com>
99548
99549        Reviewed by Gavin Barraclough.
99550
99551        Fix warning seen with newer gcc (on Qt buildbot).
99552
99553        * html/HTMLTreeBuilder.cpp:
99554        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
99555        Add parentheses around && expression.
99556
995572010-07-14  Adam Barth  <abarth@webkit.org>
99558
99559        Reviewed by Eric Seidel.
99560
99561        Avoid extra memcpy of character tokens
99562        https://bugs.webkit.org/show_bug.cgi?id=42002
99563
99564        This patch is just some cleanup to make fixing this bug easier.
99565
99566        * html/HTMLTreeBuilder.cpp:
99567        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
99568        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::~ExternalCharacterTokenBuffer):
99569        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::isEmpty):
99570        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
99571        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
99572        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining):
99573        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
99574        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace):
99575        (WebCore::HTMLTreeBuilder::processDoctypeToken):
99576        (WebCore::HTMLTreeBuilder::processStartTag):
99577        (WebCore::HTMLTreeBuilder::processEndTag):
99578        (WebCore::HTMLTreeBuilder::processComment):
99579        (WebCore::HTMLTreeBuilder::processCharacter):
99580        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
99581        (WebCore::HTMLTreeBuilder::processEndOfFile):
99582        (WebCore::HTMLTreeBuilder::defaultForInitial):
99583        (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
99584        (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
99585        (WebCore::HTMLTreeBuilder::defaultForInHead):
99586        (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
99587        (WebCore::HTMLTreeBuilder::defaultForAfterHead):
99588        (WebCore::HTMLTreeBuilder::defaultForInTableText):
99589        * html/HTMLTreeBuilder.h:
99590
995912010-07-14  Andreas Kling  <andreas.kling@nokia.com>
99592
99593        Reviewed by Darin Adler.
99594
99595        Canvas: Don't add shadow rect to dirty region when shadow alpha is 0
99596        https://bugs.webkit.org/show_bug.cgi?id=42300
99597
99598        * html/canvas/CanvasRenderingContext2D.cpp:
99599        (WebCore::CanvasRenderingContext2D::willDraw):
99600
996012010-07-14  Kevin Ollivier  <kevino@theolliviers.com>
99602
99603        [CURL] Build fix after request -> firstRequest rename.
99604
99605        * platform/network/curl/FormDataStreamCurl.cpp:
99606        (WebCore::FormDataStream::read):
99607        (WebCore::FormDataStream::hasMoreElements):
99608        * platform/network/curl/ResourceHandleManager.cpp:
99609        (WebCore::headerCallback):
99610        (WebCore::ResourceHandleManager::setupPOST):
99611        (WebCore::parseDataUrl):
99612        (WebCore::ResourceHandleManager::dispatchSynchronousJob):
99613        (WebCore::ResourceHandleManager::startJob):
99614        (WebCore::ResourceHandleManager::initializeHandle):
99615
996162010-07-14  Simon Fraser  <simon.fraser@apple.com>
99617
99618        Reviewed by John Sullivan.
99619
99620        <rdar://problem/8186963> Expose information about compositing layers.
99621
99622        Expose information about the types of compositing layers via RenderLayerBacking::compositingLayerType().
99623
99624        * WebCore.exp.in: Export WebCore::SpaceSplitStringData::createVector().
99625        * WebCore.xcodeproj/project.pbxproj: Make RenderLayerBacking.h a Private header for use by WebKit.
99626        * platform/graphics/GraphicsLayer.h: Add hasContentsLayer() and usingTiledLayer() methods.
99627        (WebCore::GraphicsLayer::hasContentsLayer):
99628        (WebCore::GraphicsLayer::usingTiledLayer):
99629        * platform/graphics/mac/GraphicsLayerCA.h:
99630        (WebCore::GraphicsLayerCA::hasContentsLayer): Return true if we have a contents layer.
99631        * rendering/RenderLayerBacking.cpp:
99632        (WebCore::RenderLayerBacking::compositingLayerType): Return information about the type of composited layer.
99633        * rendering/RenderLayerBacking.h:
99634
996352010-07-14  Darin Adler  <darin@apple.com>
99636
99637        Reviewed by Sam Weinig.
99638
99639        TreeWalker::previousSibling calls firstChild instead of lastChild when handling FILTER_SKIP
99640        https://bugs.webkit.org/show_bug.cgi?id=42008
99641
99642        TreeWalker::previousNode does not handle FILTER_REJECT when processing lastChild
99643        https://bugs.webkit.org/show_bug.cgi?id=42010
99644
99645        Tests: fast/dom/TreeWalker/previousNodeLastChildReject.html
99646               fast/dom/TreeWalker/previousSiblingLastChildSkip.html
99647
99648        * dom/TreeWalker.cpp:
99649        (WebCore::TreeWalker::previousSibling): Call lastChild instead of firstChild.
99650        (WebCore::TreeWalker::previousNode): Fix handling of FILTER_REJECT by exiting
99651        the lastChild loop when we encounter it.
99652
996532010-07-14  Sam Weinig  <sam@webkit.org>
99654
99655        Reviewed by Brady Eidson.
99656
99657        Fix crashing layout test on snowleopard.
99658
99659        * platform/mac/CursorMac.mm:
99660        (WebCore::Cursor::ensurePlatformCursor): Make sure to retain the cursor.
99661
996622010-07-14  Chris Fleizach  <cfleizach@apple.com>
99663
99664        Reviewed by Darin Adler.
99665
99666        AX: aria-checked not recognized on image map radio buttons
99667        https://bugs.webkit.org/show_bug.cgi?id=42055
99668
99669        Moves some code from AccessibilityRenderObject to AccessibilityObject so that
99670        elements that do not have render objects, but do have Nodes (like image map links 
99671        and list box options) can still make use of certain aria attributes.
99672
99673        Test: platform/mac/accessibility/image-map-link-used-as-radiobutton.html
99674
99675        * accessibility/AccessibilityImageMapLink.cpp:
99676        (WebCore::AccessibilityImageMapLink::roleValue):
99677        (WebCore::AccessibilityImageMapLink::accessibilityDescription):
99678        (WebCore::AccessibilityImageMapLink::title):
99679           Make imageMap use standard AccessibilityObject methods for getAttribute()
99680        * accessibility/AccessibilityImageMapLink.h:
99681        (WebCore::AccessibilityImageMapLink::node):
99682        * accessibility/AccessibilityListBoxOption.cpp:
99683        (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
99684        (WebCore::AccessibilityListBoxOption::stringValue):
99685        * accessibility/AccessibilityListBoxOption.h:
99686        (WebCore::AccessibilityListBoxOption::node):
99687       * accessibility/AccessibilityObject.cpp:
99688        (WebCore::AccessibilityObject::language):
99689             Language method doesn't need a node() anymore, it can use the node from AccessibilityObject.
99690        (WebCore::renderListItemContainerForNode):
99691        (WebCore::AccessibilityObject::getAttribute):
99692        (WebCore::AccessibilityObject::intValue):
99693           Move intValue into AccessibilityObject.
99694        (WebCore::AccessibilityObject::hasIntValue):
99695        * accessibility/AccessibilityObject.h:
99696        (WebCore::AccessibilityObject::isCheckbox):
99697        (WebCore::AccessibilityObject::isRadioButton):
99698        (WebCore::AccessibilityObject::isCheckboxOrRadio):
99699           Consolidate what defines a checkbox and radio button into AccessibilityObject.
99700        (WebCore::AccessibilityObject::node):
99701        (WebCore::AccessibilityObject::headingLevel):
99702       (WebCore::AccessibilityObject::isDetached):
99703        * accessibility/AccessibilityRenderObject.cpp:
99704        (WebCore::AccessibilityRenderObject::isPasswordField):
99705        (WebCore::AccessibilityRenderObject::headingLevel):
99706        (WebCore::AccessibilityRenderObject::selectedTabItem):
99707        (WebCore::AccessibilityRenderObject::hierarchicalLevel):
99708        (WebCore::AccessibilityRenderObject::node):
99709        (WebCore::AccessibilityRenderObject::intValue):
99710        * accessibility/AccessibilityRenderObject.h:
99711        * rendering/RenderMenuList.cpp:
99712        (WebCore::RenderMenuList::itemAccessibilityText):
99713            Stop using AccessibilityObjects getAttribute (no reason to use it really).
99714
997152010-07-14  Dan Bernstein  <mitz@apple.com>
99716
99717        Reviewed by Simon Fraser.
99718
99719        <rdar://problem/7759909> Certain text runs measure 1 pixel wider when measured as a whole than when measured piecewise
99720        https://bugs.webkit.org/show_bug.cgi?id=42279
99721
99722        No test because the issue cannot be reproduced with standard fonts.
99723
99724        Word- and run-rounding works by advancing ahead to the nearest integral width. As the total
99725        width accumulated becomes large, the float type’s low precision results in accumulated rounding
99726        error, sometimes crossing an integer. Consequently, word-rounding makes different decisions when
99727        measuring a multi-word run than when measuring its words individually. To work around this,
99728        word- and run-rounding are applied only to the width accumulated since the last rounding
99729        character.
99730
99731        * platform/graphics/WidthIterator.cpp:
99732        (WebCore::WidthIterator::advance):
99733        * platform/graphics/mac/ComplexTextController.cpp:
99734        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
99735
997362010-07-14  Tony Gentilcore  <tonyg@chromium.org>
99737
99738        Reviewed by Darin Adler.
99739
99740        Fix enum value names for Navigation.{idl|h}
99741        https://bugs.webkit.org/show_bug.cgi?id=42282
99742
99743        This is necessary after https://bugs.webkit.org/show_bug.cgi?id=42250.
99744
99745        No new tests because no new functionality.
99746
99747        * page/Navigation.cpp:
99748        (WebCore::Navigation::type):
99749        * page/Navigation.h:
99750        (WebCore::Navigation::):
99751
997522010-07-14  Johnny Ding  <jnd@chromium.org>
99753
99754        Reviewed by Adam Barth.
99755
99756        https://bugs.webkit.org/show_bug.cgi?id=41292
99757        Set right UserGestureIndicator to indicate whether the NPN_Evaluate allows popup window or not.
99758
99759        Test: plugins/plugin-initiate-popup-window.html
99760
99761        * bindings/v8/NPV8Object.cpp:
99762        (_NPN_EvaluateHelper):
99763
997642010-07-14  Chris Fleizach  <cfleizach@apple.com>
99765
99766        Reviewed by Darin Adler.
99767
99768        Bug 42117 - AX: Data table heuristics: consider assuming data table for 'zebra-striped' rows
99769        https://bugs.webkit.org/show_bug.cgi?id=42117
99770
99771        Test: platform/mac/accessibility/table-with-zebra-rows.html
99772
99773        * accessibility/AccessibilityTable.cpp:
99774        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
99775
997762010-07-14  Chris Fleizach  <cfleizach@apple.com>
99777
99778        Reviewed by Darin Adler.
99779
99780        AX: VoiceOver cannot navigate this page because Safari is taking too long
99781        https://bugs.webkit.org/show_bug.cgi?id=42219
99782
99783        No tests. Existing tests cover change.
99784
99785        * accessibility/AccessibilityRenderObject.cpp:
99786        (WebCore::AccessibilityRenderObject::boundingBoxRect):
99787
997882010-07-14  Andreas Kling  <andreas.kling@nokia.com>
99789
99790        Reviewed by Darin Adler.
99791
99792        Canvas: Fast-path for assigning the same color string as before to fillStyle or strokeStyle
99793        https://bugs.webkit.org/show_bug.cgi?id=42272
99794
99795        Always route assignment of color strings via setFillColor() or setStrokeColor()
99796        where we can check it against the previous value and return early if it's the same.
99797
99798        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
99799        (WebCore::toHTMLCanvasStyle):
99800        (WebCore::JSCanvasRenderingContext2D::strokeStyle):
99801        (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
99802        (WebCore::JSCanvasRenderingContext2D::setFillStyle):
99803        * html/canvas/CanvasRenderingContext2D.cpp:
99804        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
99805        (WebCore::CanvasRenderingContext2D::setFillStyle):
99806        (WebCore::CanvasRenderingContext2D::setStrokeColor):
99807        (WebCore::CanvasRenderingContext2D::setFillColor):
99808        * html/canvas/CanvasRenderingContext2D.h:
99809
998102010-07-14  Kinuko Yasuda  <kinuko@chromium.org>
99811
99812        Reviewed by Jian Li.
99813
99814        Separate line-ending conversion code from BlobItem
99815        https://bugs.webkit.org/show_bug.cgi?id=40932
99816
99817        Add common line-ending normalization code under platform/text.
99818        No new tests as it doesn't change any functionality.
99819
99820        * CMakeLists.txt:
99821        * GNUmakefile.am:
99822        * WebCore.gypi:
99823        * WebCore.pro:
99824        * WebCore.vcproj/WebCore.vcproj:
99825        * WebCore.xcodeproj/project.pbxproj:
99826        * html/BlobBuilder.cpp:
99827        (WebCore::BlobBuilder::appendString):
99828        * html/FormDataList.cpp:
99829        (WebCore::FormDataList::appendString):
99830        * platform/BlobItem.cpp:
99831        * platform/BlobItem.h:
99832        * platform/text/LineEnding.cpp: Added.
99833        * platform/text/LineEnding.h: Added.
99834
998352010-07-14  Erik Arvidsson  <arv@chromium.org>
99836
99837        Reviewed by Darin Adler.
99838
99839        Implement border-start and border-end properties
99840        https://bugs.webkit.org/show_bug.cgi?id=41782
99841
99842        Test: fast/css/border-start-end.html
99843
99844        * css/CSSComputedStyleDeclaration.cpp:
99845        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
99846        * css/CSSParser.cpp:
99847        (WebCore::CSSParser::parseValue):
99848        * css/CSSProperty.cpp:
99849        (WebCore::CSSProperty::resolveDirectionAwareProperty):
99850        * css/CSSPropertyNames.in:
99851        * inspector/front-end/SourceCSSTokenizer.js:
99852        (WebInspector.SourceCSSTokenizer):
99853
998542010-07-14  Alexey Proskuryakov  <ap@apple.com>
99855
99856        Tiger and Gtk build fixes.
99857
99858        https://bugs.webkit.org/show_bug.cgi?id=42201
99859        Use ResourceHandle object for synchronous loading
99860
99861        * platform/network/mac/ResourceHandleMac.mm:
99862        (WebCore::ResourceHandle::createNSURLConnection):
99863        (WebCore::ResourceHandle::loadResourceSynchronously):
99864        * platform/network/soup/ResourceHandleSoup.cpp:
99865        (WebCore::startHttp):
99866
998672010-07-14  Sam Weinig  <sam@webkit.org>
99868
99869        Reviewed by Darin Adler.
99870
99871        Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
99872        Make changing Cursors work in WebKit2.
99873
99874        - Converted Mac and Windows Cursor implementations to lazily
99875          create the platform cursor.
99876        - Add HostWindow function to set the cursor and use it from Widget::setCursor.
99877        - Rework Windows cursor code to use fewer global variables.
99878
99879        * WebCore.exp.in: Updated
99880        * loader/EmptyClients.h:
99881        (WebCore::EmptyChromeClient::setCursor): 
99882        (WebCore::EmptyChromeClient::setLastSetCursorToCurrentCursor):
99883        Added empty implementations.
99884
99885        * page/Chrome.cpp:
99886        (WebCore::Chrome::setCursor):
99887        * page/Chrome.h:
99888        * page/ChromeClient.h:
99889        Change existing setCursor() function to take a Cursor instead of a
99890        PlatformCursorHandle. Added setLastSetCursorToCurrentCursor.
99891
99892        * platform/Cursor.cpp:
99893        * platform/Cursor.h:
99894        Added Cursor Type and the option of lazily creating the native cursor
99895        (used on Mac and Windows for now).
99896
99897        * platform/HostWindow.h:
99898        Add setCursor.
99899
99900        * platform/mac/CursorMac.mm:
99901        (WebCore::createCustomCursor): This no longer needs to call determineHotSpot
99902        as that is done when on construction of the cursor now and the hotSpot passed
99903        in is correct.
99904        (WebCore::Cursor::ensurePlatformCursor):
99905        (WebCore::Cursor::Cursor):
99906        (WebCore::Cursor::~Cursor):
99907        (WebCore::Cursor::operator=):
99908        (WebCore::Cursor::platformCursor):
99909        Convert to lazily creating the native cursor on the first request and
99910        storing the type.
99911
99912        * platform/mac/WidgetMac.mm:
99913        (WebCore::Widget::setCursor):
99914        Use HostWindow::setCursor to set the cursor. This in turn will call the
99915        ChromeClient.
99916
99917        * platform/win/CursorWin.cpp:
99918        (WebCore::createSharedCursor):
99919        (WebCore::loadSharedCursor):
99920        (WebCore::loadCursorByName):
99921        (WebCore::Cursor::ensurePlatformCursor):
99922        (WebCore::SharedCursor::~SharedCursor):
99923        (WebCore::Cursor::Cursor):
99924        (WebCore::Cursor::~Cursor):
99925        (WebCore::Cursor::operator=):
99926        (WebCore::Cursor::platformCursor):
99927        Convert to lazily creating the native cursor on the first request and
99928        storing the type.
99929
99930        * platform/win/WidgetWin.cpp:
99931        (WebCore::Widget::setCursor):
99932        Use HostWindow::setCursor to set the cursor. This in turn will call the
99933        ChromeClient.
99934
99935        * plugins/win/PluginViewWin.cpp:
99936        (WebCore::PluginView::handleMouseEvent):
99937        Use the new setLastSetCursorToCurrentCursor client function to ensure
99938        the cursor is properly updated when over a plugin.
99939
99940        * platform/chromium/CursorChromium.cpp:
99941        * platform/efl/CursorEfl.cpp:
99942        * platform/gtk/CursorGtk.cpp:
99943        * platform/haiku/CursorHaiku.cpp:
99944        * platform/wince/CursorWince.cpp:
99945        * platform/wx/CursorWx.cpp:
99946        * platform/qt/CursorQt.cpp:
99947        Change m_impl -> m_platformCursor.
99948
999492010-07-13  Eric Seidel  <eric@webkit.org>
99950
99951        Reviewed by Adam Barth.
99952
99953        reconstructActiveFormElements should reconstruct attributes as well
99954        https://bugs.webkit.org/show_bug.cgi?id=42222
99955
99956        The case in question is "<p><b foo='bar'></p>text</b>".
99957        When the "b" is re-opened to wrap the text it should include
99958        any attributes from the original (now closed) tag name.
99959
99960        There are also similar cases for the Adoption Agency algorithm, but since
99961        the html5lib test suite did not cover those (and it wasn't immediately
99962        obvious to me how to test those) I've saved fixing that bug for a
99963        later patch.  For now I've just made the adoption agency use
99964        HTMLConstructionSite::createHTMLElementFromElementRecord so the
99965        FIXME can be in one place instead of two.
99966
99967        In order to cleanly support createHTMLElementFromSavedElement
99968        I re-factored "attachToCurrent" out from createHTMLElementAndAttachToCurrent
99969        and changed all callers to use attachToCurrent(createHTMLElement(token)).
99970
99971        This is covered by two existing tests in html5lib/runner.html
99972        and I wrote two more.  One to cover the basic case that we now pass
99973        and a second to cover an evil edge case which we do not.
99974
99975        * html/HTMLConstructionSite.cpp:
99976        (WebCore::HTMLConstructionSite::attachToCurrent):
99977        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
99978        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
99979        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
99980        (WebCore::HTMLConstructionSite::insertHTMLElement):
99981        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
99982        (WebCore::HTMLConstructionSite::insertScriptElement):
99983        (WebCore::HTMLConstructionSite::insertForeignElement):
99984        (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):
99985        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
99986        (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
99987        * html/HTMLConstructionSite.h:
99988        * html/HTMLTreeBuilder.cpp:
99989        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
99990
999912010-07-13  Alexey Proskuryakov  <ap@apple.com>
99992
99993        Reviewed by Darin Adler.
99994
99995        https://bugs.webkit.org/show_bug.cgi?id=42201
99996        Use ResourceHandle object for synchronous loading
99997
99998        * platform/network/ResourceHandle.cpp:
99999        (WebCore::ResourceHandle::ResourceHandle): Moved common tasks from create() to constructor.
100000        (WebCore::ResourceHandle::firstRequest): Renamed from request(). This is not changed with
100001        redirect, so the old name was quite confusing.
100002
100003        * platform/network/ResourceHandle.h: Made createNSURLConnection() a member function, since
100004        it now needs access to both ResourceHandle and ResourceHandleInternal. Added createCFURLConnection().
100005
100006        * platform/network/ResourceHandleInternal.h:
100007        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Renamed m_request to m_firstRequest.
100008
100009        * platform/network/mac/ResourceHandleMac.mm:
100010        (WebCoreSynchronousLoaderClient): Replaced an Objective C delegate class with a ResourceHandleClient
100011        subclass. This allows for much better code sharing, with common logic is in ResourceHandle.
100012        (WebCore::ResourceHandle::createNSURLConnection): Factored out more code that is common
100013        between sync and async parts.
100014        (WebCore::ResourceHandle::start): Ditto.
100015        (WebCore::ResourceHandle::cancel): Updated for firstRequest() renaming.
100016        (WebCore::ResourceHandle::loadResourceSynchronously): Use ResourceHandle and ResourceHandleClient,
100017        like a good loader.
100018        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Updated for firstRequest() renaming.
100019        (WebCore::ResourceHandle::receivedCredential): Ditto.
100020        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Ditto.
100021        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Ditto.
100022        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): Ditto.
100023        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): Ditto.
100024
100025        * platform/network/cf/ResourceHandleCFNet.cpp:
100026        (WebCore::WebCoreSynchronousLoaderClient::create):
100027        (WebCore::WebCoreSynchronousLoaderClient::setAllowStoredCredentials):
100028        (WebCore::WebCoreSynchronousLoaderClient::isDone):
100029        (WebCore::WebCoreSynchronousLoaderClient::data):
100030        (WebCore::WebCoreSynchronousLoaderClient::WebCoreSynchronousLoaderClient):
100031        (WebCore::willSendRequest):
100032        (WebCore::didReceiveResponse):
100033        (WebCore::didReceiveData):
100034        (WebCore::shouldUseCredentialStorageCallback):
100035        (WebCore::didFinishLoading):
100036        (WebCore::didFail):
100037        (WebCore::didReceiveChallenge):
100038        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
100039        (WebCore::ResourceHandle::~ResourceHandle):
100040        (WebCore::ResourceHandle::createCFURLConnection):
100041        (WebCore::ResourceHandle::start):
100042        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
100043        (WebCore::ResourceHandle::receivedCredential):
100044        (WebCore::ResourceHandle::loadResourceSynchronously):
100045        (WebCore::WebCoreSynchronousLoaderClient::willSendRequest):
100046        (WebCore::WebCoreSynchronousLoaderClient::didReceiveResponse):
100047        (WebCore::WebCoreSynchronousLoaderClient::didReceiveData):
100048        (WebCore::WebCoreSynchronousLoaderClient::didFinishLoading):
100049        (WebCore::WebCoreSynchronousLoaderClient::didFail):
100050        (WebCore::WebCoreSynchronousLoaderClient::didReceiveAuthenticationChallenge):
100051        (WebCore::WebCoreSynchronousLoaderClient::shouldUseCredentialStorage):
100052        Same changes for CFNetwork version. Now it's a more direct copy/paste than before, some
100053        day we'll share the code.
100054
100055        * loader/MainResourceLoader.cpp:
100056        (WebCore::MainResourceLoader::continueAfterContentPolicy):
100057        * loader/appcache/ApplicationCacheGroup.cpp:
100058        (WebCore::ApplicationCacheGroup::createResourceHandle):
100059        (WebCore::ApplicationCacheGroup::didReceiveResponse):
100060        (WebCore::ApplicationCacheGroup::didFinishLoading):
100061        (WebCore::ApplicationCacheGroup::didFail):
100062        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
100063        * loader/icon/IconLoader.cpp:
100064        (WebCore::IconLoader::didReceiveResponse):
100065        (WebCore::IconLoader::didFail):
100066        (WebCore::IconLoader::didFinishLoading):
100067        * platform/network/curl/ResourceHandleManager.cpp:
100068        (WebCore::headerCallback):
100069        * platform/network/qt/QNetworkReplyHandler.cpp:
100070        (WebCore::QNetworkReplyHandler::start):
100071        * platform/network/qt/ResourceHandleQt.cpp:
100072        (WebCore::ResourceHandle::start):
100073        (WebCore::ResourceHandle::loadResourceSynchronously):
100074        * platform/network/soup/ResourceHandleSoup.cpp:
100075        (WebCore::startHttp):
100076        Updated for request() -> firstRequest renaming.
100077
1000782010-07-14  Marcus Bulach  <bulach@chromium.org>
100079
100080        Reviewed by Jeremy Orlow.
100081
100082        Code generator: ensure generated constants match their corresponding enums.
100083        https://bugs.webkit.org/show_bug.cgi?id=42250
100084
100085        Specific interfaces can use DontCheckEnums attribute to avoid generating the compile-time check.
100086
100087        Tests: updated bindings tests. Generated code should compile.
100088
100089        * bindings/scripts/CodeGenerator.pm:
100090        * bindings/scripts/CodeGeneratorJS.pm:
100091        * bindings/scripts/CodeGeneratorV8.pm:
100092        * bindings/scripts/test/CPP/WebDOMTestObj.h:
100093        (WebDOMTestObj::):
100094        * bindings/scripts/test/JS/JSTestObj.cpp:
100095        (WebCore::):
100096        (WebCore::JSTestObjPrototype::getOwnPropertySlot):
100097        (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
100098        (WebCore::jsTestObjCONST_VALUE_0):
100099        (WebCore::jsTestObjCONST_VALUE_1):
100100        (WebCore::jsTestObjCONST_VALUE_2):
100101        (WebCore::jsTestObjCONST_VALUE_4):
100102        (WebCore::jsTestObjCONST_VALUE_8):
100103        * bindings/scripts/test/JS/JSTestObj.h:
100104        * bindings/scripts/test/ObjC/DOMTestObj.h:
100105        * bindings/scripts/test/TestObj.idl:
100106        * bindings/scripts/test/V8/V8TestObj.cpp:
100107        (WebCore::):
100108        (WebCore::ConfigureV8TestObjTemplate):
100109        * css/WebKitCSSTransformValue.idl:
100110        * dom/DOMCoreException.idl:
100111        * dom/EventException.idl:
100112        * dom/Node.idl:
100113        * dom/OverflowEvent.idl:
100114        * dom/RangeException.idl:
100115        * html/FileError.idl:
100116        * html/FileReader.idl:
100117        * html/canvas/Float32Array.idl:
100118        * html/canvas/Int16Array.idl:
100119        * html/canvas/Int32Array.idl:
100120        * html/canvas/Int8Array.idl:
100121        * html/canvas/Uint16Array.idl:
100122        * html/canvas/Uint32Array.idl:
100123        * html/canvas/Uint8Array.idl:
100124        * html/canvas/WebGLRenderingContext.idl:
100125        * inspector/JavaScriptCallFrame.idl:
100126        * loader/appcache/DOMApplicationCache.idl:
100127        * storage/SQLException.idl:
100128        * svg/SVGComponentTransferFunctionElement.idl:
100129        * svg/SVGException.idl:
100130        * svg/SVGFEBlendElement.idl:
100131        * svg/SVGFEColorMatrixElement.idl:
100132        * svg/SVGFECompositeElement.idl:
100133        * svg/SVGFEConvolveMatrixElement.idl:
100134        * svg/SVGFEDisplacementMapElement.idl:
100135        * svg/SVGFEMorphologyElement.idl:
100136        * svg/SVGFETurbulenceElement.idl:
100137        * svg/SVGGradientElement.idl:
100138        * xml/XMLHttpRequestException.idl:
100139        * xml/XPathException.idl:
100140
1001412010-07-14  Andreas Kling  <andreas.kling@nokia.com>
100142
100143        Reviewed by Ojan Vafai.
100144
100145        Unbreak fast/canvas/gradient-add-second-start-end-stop.html
100146
100147        Assigning the same CanvasGradient or CanvasPattern to fillStyle
100148        or strokeStyle may not be a no-op since the object could have been
100149        modified since it was last set.
100150
100151        Regressed with <http://trac.webkit.org/changeset/63327>
100152
100153        * html/canvas/CanvasStyle.cpp:
100154        (WebCore::operator==):
100155
1001562010-07-14  Andreas Kling  <andreas.kling@nokia.com>
100157
100158        Reviewed by Darin Adler.
100159
100160        Canvas: Make assigning the same fillStyle or strokeStyle a fast no-op
100161        https://bugs.webkit.org/show_bug.cgi?id=42267
100162
100163        Avoid calling into GraphicsContext when setting a style to its current value.
100164
100165        * html/canvas/CanvasRenderingContext2D.cpp:
100166        (WebCore::CanvasRenderingContext2D::setStrokeStyle): Return early if the
100167        new style is the same as the current one.
100168        (WebCore::CanvasRenderingContext2D::setFillStyle): Same.
100169        * html/canvas/CanvasStyle.cpp:
100170        (WebCore::operator==): Added operator==(CanvasStyle, CanvasStyle)
100171        * html/canvas/CanvasStyle.h:
100172
1001732010-07-14  Tony Gentilcore  <tonyg@chromium.org>
100174
100175        Reviewed by Darin Fisher.
100176
100177        Implement Web Timing redirectStart, redirectEnd, redirectCount
100178        https://bugs.webkit.org/show_bug.cgi?id=42018
100179
100180        Tests: http/tests/misc/webtiming-one-redirect.php
100181               http/tests/misc/webtiming-two-redirects.php
100182
100183        * loader/FrameLoaderTypes.h:
100184        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
100185        * loader/MainResourceLoader.cpp:
100186        (WebCore::MainResourceLoader::willSendRequest): This method is called for each request (including server redirects). fetchStart is updated to the current time on each invocation so that it represents fetching of the final document and doesn't include redirect time. For each redirect, redirectCount is incremented and redirectStart to redirectEnd measures the cumulative fetch time for all redirects.
100187        * page/Navigation.cpp:
100188        (WebCore::Navigation::redirectCount): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-count
100189        * page/Timing.cpp:
100190        (WebCore::Timing::redirectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-start
100191        (WebCore::Timing::redirectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-end
100192        * page/Timing.h:
100193        * page/Timing.idl:
100194
1001952010-07-14  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
100196
100197        Reviewed by Antonio Gomes.
100198
100199        Generate MathML files with CMake even if MathML is disabled. This
100200        fixes EFL build after r63274.
100201        https://bugs.webkit.org/show_bug.cgi?id=42263
100202
100203        No new functionality, so no new tests.
100204
100205        * CMakeLists.txt:
100206
1002072010-07-14  Martin Robinson  <mrobinson@igalia.com>
100208
100209        Reviewed by Xan Lopez.
100210
100211        [GTK] Get rid of libWebCoreJS
100212        https://bugs.webkit.org/show_bug.cgi?id=42083
100213
100214        Remove the need to build libWebCoreJS.
100215
100216        * GNUmakefile.am: List all auto-generated source files for libWebCoreJS
100217        instead of relying on make to build libWebCoreJS. This is a more autotools-
100218        -friendly approach.
100219
1002202010-07-14  Eric Carlson  <eric.carlson@apple.com>
100221
100222        One more unreviewed build fix for r63319.
100223
100224        * html/TimeRanges.cpp:
100225        (TimeRanges::nearest):
100226
1002272010-07-14  Alexander Pavlov  <apavlov@chromium.org>
100228
100229        Reviewed by Pavel Feldman.
100230
100231        Web Inspector: Enable toggling of the "Inspect Element" mode from the browser
100232        https://bugs.webkit.org/show_bug.cgi?id=42169
100233
100234        * inspector/front-end/ElementsPanel.js:
100235        (WebInspector.ElementsPanel):
100236        (WebInspector.ElementsPanel.prototype.handleShortcut):
100237        (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
100238        * inspector/front-end/inspector.js:
100239        (WebInspector.toggleSearchingForNode):
100240
1002412010-07-14  Eric Carlson  <eric.carlson@apple.com>
100242
100243        Unreviewed, build fix for r63319.
100244
100245        * html/TimeRanges.cpp:
100246        (TimeRanges::nearest): Include math.h and use narrowPrecisionToFloat.
100247
1002482010-07-14  Eric Carlson  <eric.carlson@apple.com>
100249
100250        Reviewed by Darin Adler.
100251
100252        Update media element's seeking logic
100253        https://bugs.webkit.org/show_bug.cgi?id=42178
100254        <rdar://problem/8185817>
100255
100256        * html/HTMLMediaElement.cpp:
100257        (WebCore::HTMLMediaElement::seek): When asked to seek to an unbuffered time, seek to the 
100258        nearest time instead of generating an exception. Re-order the logic to match spec text.
100259
100260        * html/TimeRanges.cpp:
100261        (TimeRanges::nearest): New, return the value closest to the specified time.
100262        * html/TimeRanges.h:
100263
1002642010-07-14  Hans Wennborg  <hans@chromium.org>
100265
100266        Reviewed by Steve Block.
100267
100268        Rename DeviceOrientationController::onOrientationChange to didChangeDeviceOrientation
100269        https://bugs.webkit.org/show_bug.cgi?id=42257
100270
100271        According to convention, we should avoid "on" in favor of "did" in function names.
100272
100273        * dom/DeviceOrientationController.cpp:
100274        (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
100275        * dom/DeviceOrientationController.h:
100276
1002772010-07-14  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
100278
100279        Reviewed by Kent Tamura.
100280
100281        Notify browser about popup being deleted. In EFL and BREW ports, the
100282        WebCore::Popup object was being deleted leaving the popup in browser
100283        alive. Popups can be deleted in two ways: either from browser to webcore or
100284        from webcore to browser. The first path was ok. The problem was when the
100285        user changed the page with a popup still opened. This would trigger the
100286        second path and would cause WebCore::Popup to be deleted without
100287        notifying browser.
100288        https://bugs.webkit.org/show_bug.cgi?id=41877
100289
100290        No new functionality so no new tests.
100291
100292        * platform/brew/PopupMenuBrew.cpp:
100293        (WebCore::PopupMenu::~PopupMenu): call hide() when object is
100294        destroyed.
100295        * platform/efl/PopupMenuEfl.cpp:
100296        (WebCore::PopupMenu::~PopupMenu): ditto.
100297
1002982010-07-14  Satish Sampath  <satish@chromium.org>
100299
100300        Reviewed by Kent Tamura.
100301
100302        Invoke speech recognition when user clicks on the speech button of input elements.
100303        http://bugs.webkit.org/show_bug.cgi?id=42047
100304
100305        No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.
100306
100307        * rendering/TextControlInnerElements.cpp:
100308        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
100309        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Added click handling.
100310        (WebCore::InputFieldSpeechButtonElement::speechInput):
100311        (WebCore::InputFieldSpeechButtonElement::recordingComplete): Callback to indicate recording progress.
100312        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Callback to receive recognized text.
100313        (WebCore::InputFieldSpeechButtonElement::detach):
100314        * rendering/TextControlInnerElements.h:
100315
1003162010-07-14  Sheriff Bot  <webkit.review.bot@gmail.com>
100317
100318        Unreviewed, rolling out r63305.
100319        http://trac.webkit.org/changeset/63305
100320        https://bugs.webkit.org/show_bug.cgi?id=42256
100321
100322        "debugger-breakpoints-not-activated-on-reload.html fails on
100323        GTK" (Requested by yurys on #webkit).
100324
100325        * inspector/front-end/ScriptView.js:
100326        (WebInspector.ScriptView.prototype._addBreakpoint):
100327        * inspector/front-end/ScriptsPanel.js:
100328        (WebInspector.ScriptsPanel):
100329        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
100330        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
100331        (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
100332        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
100333        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
100334        * inspector/front-end/SourceView.js:
100335        (WebInspector.SourceView.prototype._addBreakpoint):
100336
1003372010-07-14  Steve Block  <steveblock@google.com>
100338
100339        Reviewed by Jeremy Orlow.
100340
100341        Provide implementation of DeviceOrientationController and hook into DOMWindow
100342        https://bugs.webkit.org/show_bug.cgi?id=39588
100343
100344        Added DeviceOrientationController::addListener() and removeListener()
100345        to start and stop the client and added calls from DomWindow. Implemented
100346        DeviceOrientationController::onDeviceOrientationChange() to fire a
100347        DeviceOrientationEvent on the window object.
100348
100349        No new tests yet, pending LayoutTestController methods for mock DeviceOrientation.
100350
100351        * dom/DeviceOrientationClient.h:
100352        * dom/DeviceOrientationController.cpp:
100353        (WebCore::DeviceOrientation::addListener):
100354        (WebCore::DeviceOrientation::removeListener):
100355        (WebCore::DeviceOrientation::removeAllListeners):
100356        (WebCore::DeviceOrientationController::onDeviceOrientationChange):
100357        * dom/DeviceOrientationController.h:
100358        * page/DOMWindow.cpp:
100359        (WebCore::DOMWindow::addEventListener):
100360        (WebCore::DOMWindow::removeEventListener):
100361        (WebCore::DOMWindow::removeAllEventListeners):
100362
1003632010-07-14  Yury Semikhatsky  <yurys@chromium.org>
100364
100365        Reviewed by Pavel Feldman.
100366
100367        Web Inspector: remove v8 debugger code that doesn't use ScriptDebugServer
100368        https://bugs.webkit.org/show_bug.cgi?id=42164
100369
100370        * bindings/v8/ScriptDebugServer.cpp:
100371        (WebCore::retrieveFrame):
100372        (WebCore::ScriptDebugServer::addListener):
100373        (WebCore::ScriptDebugServer::setBreakpoint):
100374        (WebCore::ScriptDebugServer::removeBreakpoint):
100375        (WebCore::ScriptDebugServer::clearBreakpoints):
100376        (WebCore::ScriptDebugServer::setBreakpointsActivated):
100377        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
100378        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
100379        (WebCore::ScriptDebugServer::continueProgram):
100380        (WebCore::ScriptDebugServer::stepIntoStatement):
100381        (WebCore::ScriptDebugServer::stepOverStatement):
100382        (WebCore::ScriptDebugServer::stepOutOfFunction):
100383        (WebCore::ScriptDebugServer::editScriptSource):
100384        (WebCore::ScriptDebugServer::handleV8DebugEvent):
100385        * bindings/v8/ScriptDebugServer.h:
100386
1003872010-07-14  Ilya Tikhonovsky  <loislo@chromium.org>
100388
100389        Reviewed by Yury Semikhatsky.
100390
100391        WebInspector: Clean-up InspectorBackend code. In the next changes
100392        InspectorBackend content will be generated by scripts. As far as
100393        generator is very simple thing all nontrivial function should be
100394        moved to InspectorController and DOMAgent.
100395        https://bugs.webkit.org/show_bug.cgi?id=42171
100396
100397        * bindings/js/ScriptDebugServer.cpp:
100398        (WebCore::ScriptDebugServer::pause):
100399        * bindings/js/ScriptDebugServer.h:
100400        (WebCore::ScriptDebugServer::activateBreakpoints):
100401        (WebCore::ScriptDebugServer::deactivateBreakpoints):
100402        * bindings/v8/ScriptDebugServer.h:
100403        (WebCore::ScriptDebugServer::activateBreakpoints):
100404        (WebCore::ScriptDebugServer::deactivateBreakpoints):
100405        (WebCore::ScriptDebugServer::pause):
100406        * inspector/Inspector.idl:
100407        * inspector/InspectorBackend.cpp:
100408        (WebCore::InspectorBackend::saveApplicationSettings):
100409        (WebCore::InspectorBackend::saveSessionSettings):
100410        (WebCore::InspectorBackend::enableSearchingForNode):
100411        (WebCore::InspectorBackend::disableSearchingForNode):
100412        (WebCore::InspectorBackend::enableMonitoringXHR):
100413        (WebCore::InspectorBackend::disableMonitoringXHR):
100414        (WebCore::InspectorBackend::getResourceContent):
100415        (WebCore::InspectorBackend::reloadPage):
100416        (WebCore::InspectorBackend::activateBreakpoints):
100417        (WebCore::InspectorBackend::deactivateBreakpoints):
100418        (WebCore::InspectorBackend::pause):
100419        (WebCore::InspectorBackend::resume):
100420        (WebCore::InspectorBackend::stepOverStatement):
100421        (WebCore::InspectorBackend::stepIntoStatement):
100422        (WebCore::InspectorBackend::stepOutOfFunction):
100423        (WebCore::InspectorBackend::setPauseOnExceptionsState):
100424        (WebCore::InspectorBackend::copyNode):
100425        (WebCore::InspectorBackend::pushNodeByPathToFrontend):
100426        (WebCore::InspectorBackend::highlightDOMNode):
100427        (WebCore::InspectorBackend::hideDOMNodeHighlight):
100428        * inspector/InspectorBackend.h:
100429        * inspector/InspectorBackend.idl:
100430        * inspector/InspectorController.cpp:
100431        (WebCore::InspectorController::saveApplicationSettings):
100432        (WebCore::InspectorController::saveSessionSettings):
100433        (WebCore::InspectorController::highlightDOMNode):
100434        (WebCore::InspectorController::resume):
100435        (WebCore::InspectorController::setPauseOnExceptionsState):
100436        (WebCore::InspectorController::getResourceContent):
100437        (WebCore::InspectorController::reloadPage):
100438        * inspector/InspectorController.h:
100439        (WebCore::InspectorController::hideDOMNodeHighlight):
100440        (WebCore::InspectorController::startProfiling):
100441        (WebCore::InspectorController::stopProfiling):
100442        (WebCore::InspectorController::enableSearchingForNode):
100443        (WebCore::InspectorController::disableSearchingForNode):
100444        (WebCore::InspectorController::enableMonitoringXHR):
100445        (WebCore::InspectorController::disableMonitoringXHR):
100446        * inspector/InspectorDOMAgent.cpp:
100447        (WebCore::InspectorDOMAgent::copyNode):
100448        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
100449        * inspector/InspectorDOMAgent.h:
100450        * inspector/front-end/InspectorBackendStub.js:
100451        (.WebInspector.InspectorBackendStub.prototype.pause):
100452        (.WebInspector.InspectorBackendStub.prototype.resume):
100453        (.WebInspector.InspectorBackendStub.prototype.stepIntoStatement):
100454        (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunction):
100455        (.WebInspector.InspectorBackendStub.prototype.stepOverStatement):
100456        * inspector/front-end/ScriptsPanel.js:
100457        (WebInspector.ScriptsPanel.prototype._togglePause):
100458        (WebInspector.ScriptsPanel.prototype._stepOverClicked):
100459        (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
100460        (WebInspector.ScriptsPanel.prototype._stepOutClicked):
100461        * loader/FrameLoader.cpp:
100462        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
100463
1004642010-07-14  Joone Hur  <joone@kldp.org>
100465
100466        Reviewed by Jian Li.
100467
100468        [GTK] Enabling File Reader/Writer APIs
100469        https://bugs.webkit.org/show_bug.cgi?id=40209
100470
100471        The layout test fast/files will be enabled after eventSender.beginDragWithFiles is implemented for GTK.
100472
100473        * platform/gtk/FileSystemGtk.cpp:
100474        (WebCore::openFile): Added.
100475        (WebCore::readFromFile): Added.
100476
1004772010-07-14  Nikolas Zimmermann  <nzimmermann@rim.com>
100478
100479        Reviewed by Dirk Schulze.
100480
100481        Inconsistent LayoutRepainter usage in the SVG renderers
100482        https://bugs.webkit.org/show_bug.cgi?id=42245
100483
100484        Unify LayoutRepainter usage in the SVG renders, as RenderBlock does it, always use:
100485        LayoutRepainter repainter(*this, m_everHadLayout && checkForRepaintDuringLayout());
100486        instead of including selfWillPaint / selfNeedsLayout checks. This improves layout test
100487        performance by 8s on my machine with a debug build (from 76.72s -> 68.59s, averaged over 5 runs)
100488
100489        * rendering/RenderForeignObject.cpp:
100490        (WebCore::RenderForeignObject::layout):
100491        * rendering/RenderPath.cpp:
100492        (WebCore::RenderPath::layout):
100493        * rendering/RenderSVGContainer.cpp:
100494        (WebCore::RenderSVGContainer::layout):
100495        * rendering/RenderSVGImage.cpp:
100496        (WebCore::RenderSVGImage::layout):
100497        * rendering/RenderSVGRoot.cpp:
100498        (WebCore::RenderSVGRoot::layout):
100499        * rendering/RenderSVGText.cpp:
100500        (WebCore::RenderSVGText::layout):
100501
1005022010-07-14  Kent Tamura  <tkent@chromium.org>
100503
100504        Unreviewed, build fix for r63300.
100505
100506        * rendering/RenderSVGResourceContainer.h:
100507        (WebCore::RenderSVGResourceContainer::containsCyclicReference):
100508
1005092010-07-14  Pavel Podivilov  <podivilov@chromium.org>
100510
100511        Reviewed by Yury Semikhatsky.
100512
100513        Web Inspector: do not activate all breakpoints on page reload
100514        https://bugs.webkit.org/show_bug.cgi?id=41461
100515
100516        Test: inspector/debugger-breakpoints-not-activated-on-reload.html
100517
100518        * inspector/front-end/ScriptView.js:
100519        (WebInspector.ScriptView.prototype._addBreakpoint):
100520        * inspector/front-end/ScriptsPanel.js:
100521        (WebInspector.ScriptsPanel):
100522        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
100523        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
100524        * inspector/front-end/SourceView.js:
100525        (WebInspector.SourceView.prototype._addBreakpoint):
100526
1005272010-07-14  Yury Semikhatsky  <yurys@chromium.org>
100528
100529        Reviewed by Pavel Feldman.
100530
100531        Web Inspector: use OwnPtr to manage ConsoleMessages in InspectorController
100532        https://bugs.webkit.org/show_bug.cgi?id=42243
100533
100534        * inspector/InspectorController.cpp:
100535        (WebCore::InspectorController::~InspectorController):
100536        (WebCore::InspectorController::addConsoleMessage):
100537        (WebCore::InspectorController::clearConsoleMessages):
100538        * inspector/InspectorController.h:
100539        (WebCore::InspectorController::consoleMessages):
100540
1005412010-07-14  Nikolas Zimmermann  <nzimmermann@rim.com>
100542
100543        Reviewed by Eric Seidel.
100544
100545        SVG patterns and masks should not be able to reference themselves
100546        https://bugs.webkit.org/show_bug.cgi?id=32171
100547
100548        Don't apply pattern/mask resources, if they contain cyclic references. Gradients/Filters are not affected.
100549        Clippers are already correcly handling this on their own, as well as markers (all which require subtle quirks, covered by existing tests).
100550
100551        Tests: svg/custom/recursive-filter.svg
100552               svg/custom/recursive-gradient.svg
100553               svg/custom/recursive-mask.svg
100554               svg/custom/recursive-pattern.svg
100555
100556        * rendering/RenderSVGResourceContainer.h:
100557        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop using idForStyleResolution(), but use getIdAttribute(), no functional change though.
100558        (WebCore::RenderSVGResourceContainer::idChanged): Ditto.
100559        (WebCore::RenderSVGResourceContainer::childElementReferencesResource): To be implemented by classes inheriting from us. Defaults to false.
100560        (WebCore::RenderSVGResourceContainer::containsCyclicReference): Check whether this resource contains contains a child which references ourselves.
100561        * rendering/RenderSVGResourceMasker.cpp:
100562        (WebCore::RenderSVGResourceMasker::childElementReferencesResource): Check whether the masker child specifies mask=".." with the same URI than ourselves.
100563        (WebCore::RenderSVGResourceMasker::applyResource): Early exit if we contain a cylic reference.
100564        * rendering/RenderSVGResourceMasker.h:
100565        * rendering/RenderSVGResourcePattern.cpp:
100566        (WebCore::RenderSVGResourcePattern::childElementReferencesResource): Check whether the masker child specifies fill=".." with the same URI than ourselves.
100567        (WebCore::RenderSVGResourcePattern::applyResource): Early exit if we contain a cylic reference.
100568        * rendering/RenderSVGResourcePattern.h:
100569        * svg/SVGPaint.cpp:
100570        (WebCore::SVGPaint::matchesTargetURI): Add new helper function comparing a SVGPaint URI with a given reference id.
100571        * svg/SVGPaint.h:
100572
1005732010-07-14  Eric Seidel  <eric@webkit.org>
100574
100575        Reviewed by Nikolas Zimmermann.
100576
100577        Selection dumping code should not dump body's offset in the document
100578        https://bugs.webkit.org/show_bug.cgi?id=42238
100579
100580        This requires updating the results of many layout tests,
100581        but has no functional change.
100582
100583        * rendering/RenderTreeAsText.cpp:
100584        (WebCore::nodePosition):
100585
1005862010-07-14  Kent Tamura  <tkent@chromium.org>
100587
100588        Reviewed by Darin Fisher.
100589
100590        <input type=number> UI: inner spin button layout
100591        https://bugs.webkit.org/show_bug.cgi?id=41924
100592
100593        Add layout/event/style code for the inner spin button, which is
100594        going to be used for Windows implementation.
100595        No new tests because no ports implement the inner spin button yet.
100596
100597        * rendering/RenderTextControlSingleLine.cpp:
100598          Introduce m_innerSpinButton.
100599        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
100600          Detach m_innerSpinButton.
100601        (WebCore::RenderTextControlSingleLine::layout):
100602          Set position and size of m_innerSpinButton.
100603        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
100604          Handle m_innerSpinButton.
100605        (WebCore::RenderTextControlSingleLine::forwardEvent):
100606          Handle m_innerSpinButton.
100607        (WebCore::RenderTextControlSingleLine::textBlockWidth):
100608          Shorten the text block width by m_innerSpinButton width.
100609        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
100610          Add m_innerSpinButton width.
100611        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
100612          Handle m_innerSpinButton.
100613        (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
100614          Make style for m_innerSpinButton with INNER_SPIN_BUTTON pseudo class.
100615        * rendering/RenderTextControlSingleLine.h:
100616
1006172010-07-14  Kent Tamura  <tkent@chromium.org>
100618
100619        Reviewed by Darin Fisher.
100620
100621        <input type=number> UI: Support disabled/readonly states
100622        https://bugs.webkit.org/show_bug.cgi?id=38568
100623
100624        Implement isEnabledFormControl() and isReadOnlyFormControl() of
100625        SpinButtonElement. They returns the states of the parent <input> element.
100626        The existing isEnabledFormControl() had a bug. It didn't have 'const'
100627        modifier.
100628
100629        Test: fast/forms/input-appearance-spinbutton-disabled-readonly.html
100630
100631        * rendering/TextControlInnerElements.cpp:
100632        (WebCore::SpinButtonElement::defaultEventHandler):
100633         - If the input element is disabled or read-only, don't process events.
100634         - Protect 'input' object from destruction during focus().
100635         - Fix a hit-test issue. We don't need to add renderBox()->y() because
100636           'local' is relative to the RenderBox.
100637         - Some code cleanup
100638        * rendering/TextControlInnerElements.h:
100639        (WebCore::SpinButtonElement::isEnabledFormControl):
100640        (WebCore::SpinButtonElement::isReadOnlyFormControl):
100641
1006422010-07-13  Simon Fraser  <simon.fraser@apple.com>
100643
100644        Reviewed by Dan Bernstein.
100645
100646        Page flashes to mostly white towards the end of loading
100647        https://bugs.webkit.org/show_bug.cgi?id=42230
100648        
100649        We constrain the size of huge composited layers. When doing so, we
100650        need to use the constained size to set the position as well
100651        as the dimensions, to ensure the layer appears in the correct place.
100652
100653        Test: compositing/tiling/constrained-layer-size.html
100654
100655        * platform/graphics/mac/GraphicsLayerCA.mm:
100656        (WebCore::GraphicsLayerCA::updateLayerPosition):
100657
1006582010-07-13  Kent Tamura  <tkent@chromium.org>
100659
100660        Reviewed by Darin Fisher.
100661
100662        [Chromium] Linux implementation of <input type=number> UI
100663        https://bugs.webkit.org/show_bug.cgi?id=41925
100664
100665        - Move the code for scrollbar steppers from ScrollbarThemeChromiumLinux
100666          to PlatformThemeChromiumGtk.
100667        - Move the code for scrollbar colors from RenderThemeChromiumLinux
100668          to PlatformThemeChromiumGtk.
100669
100670        * WebCore.gypi:
100671        * platform/chromium/PlatformThemeChromiumGtk.cpp: Added.
100672        (WebCore::PlatformThemeChromiumGtk::setScrollbarColors): Moved from RenderThemeChromiumLinux.
100673        (WebCore::clamp): Moved from ScrollbarThemeChromiumLinux.
100674        (WebCore::PlatformThemeChromiumGtk::saturateAndBrighten): ditto.
100675        (WebCore::PlatformThemeChromiumGtk::outlineColor): ditto.
100676        (WebCore::PlatformThemeChromiumGtk::paintArrowButton): ditto.
100677        * platform/chromium/PlatformThemeChromiumGtk.h: Added.
100678        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
100679        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
100680        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
100681         Move the main part of the code to PlatformThemeChromiumGtk.
100682        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
100683        * rendering/RenderThemeChromiumLinux.cpp:
100684        (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle): Added.
100685        (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton): Added.
100686        * rendering/RenderThemeChromiumLinux.h:
100687
1006882010-07-13  Dumitru Daniliuc  <dumi@chromium.org>
100689
100690        Reviewed by Darin Fisher
100691
100692        Implementing DatabaseSync::transaction() and DatabaseSync::changeVersion().
100693        https://bugs.webkit.org/show_bug.cgi?id=40607
100694
100695        Tests: fast/workers/storage/change-version-handle-reuse-sync.html
100696               fast/workers/storage/change-version-sync.html
100697               fast/workers/storage/empty-statement-sync.html
100698               fast/workers/storage/execute-sql-args-sync.html
100699               fast/workers/storage/executesql-accepts-only-one-statement-sync.html
100700               fast/workers/storage/multiple-transactions-on-different-handles-sync.html
100701               fast/workers/storage/open-database-creation-callback-sync.html
100702               fast/workers/storage/open-database-empty-version-sync.html
100703               fast/workers/storage/open-database-inputs-sync.html
100704               fast/workers/storage/open-database-set-empty-version-sync.html
100705               fast/workers/storage/open-database-while-transaction-in-progress-sync.html
100706               fast/workers/storage/sql-data-types-sync.html
100707               fast/workers/storage/sql-exception-codes-sync.html
100708               fast/workers/storage/test-authorizer-sync.html
100709               fast/workers/storage/transaction-in-transaction-sync.html
100710
100711        * CMakeLists.txt:
100712        * GNUmakefile.am:
100713        * WebCore.gypi:
100714        * WebCore.pro:
100715        * WebCore.vcproj/WebCore.vcproj:
100716        * WebCore.xcodeproj/project.pbxproj:
100717        * storage/AbstractDatabase.cpp:
100718        (WebCore::AbstractDatabase::maximumSize):
100719        (WebCore::AbstractDatabase::incrementalVacuumIfNeeded):
100720        * storage/AbstractDatabase.h:
100721        (WebCore::AbstractDatabase::sqliteDatabase):
100722        * storage/ChangeVersionWrapper.cpp:
100723        (WebCore::ChangeVersionWrapper::performPreflight):
100724        (WebCore::ChangeVersionWrapper::performPostflight):
100725        * storage/Database.cpp:
100726        (WebCore::Database::performGetTableNames):
100727        * storage/Database.h:
100728        * storage/DatabaseAuthorizer.cpp:
100729        (WebCore::DatabaseAuthorizer::createVTable):
100730        (WebCore::DatabaseAuthorizer::dropVTable):
100731        * storage/DatabaseCallback.h:
100732        * storage/DatabaseSync.cpp:
100733        (WebCore::ChangeVersionPreflightStep::create):
100734        (WebCore::ChangeVersionPreflightStep::performStep):
100735        (WebCore::ChangeVersionPreflightStep::ChangeVersionPreflightStep):
100736        (WebCore::ChangeVersionPostflightStep::create):
100737        (WebCore::ChangeVersionPostflightStep::performStep):
100738        (WebCore::ChangeVersionPostflightStep::ChangeVersionPostflightStep):
100739        (WebCore::DatabaseSync::changeVersion):
100740        (WebCore::DatabaseSync::transaction):
100741        (WebCore::DatabaseSync::runTransaction):
100742        * storage/DatabaseSync.h:
100743        * storage/DatabaseTracker.cpp:
100744        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
100745        * storage/SQLError.h:
100746        * storage/SQLResultSet.cpp:
100747        * storage/SQLResultSet.h:
100748        * storage/SQLStatementCallback.h:
100749        * storage/SQLStatementErrorCallback.h:
100750        * storage/SQLStatementSync.cpp: Copied from WebCore/storage/SQLStatement.cpp.
100751        (WebCore::SQLStatementSync::SQLStatementSync):
100752        (WebCore::SQLStatementSync::execute):
100753        * storage/SQLStatementSync.h: Added.
100754        * storage/SQLTransaction.cpp:
100755        (WebCore::SQLTransaction::runCurrentStatement):
100756        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
100757        (WebCore::SQLTransaction::postflightAndCommit):
100758        * storage/SQLTransaction.h:
100759        * storage/SQLTransactionCallback.h:
100760        * storage/SQLTransactionClient.cpp:
100761        (WebCore::SQLTransactionClient::didCommitWriteTransaction):
100762        (WebCore::SQLTransactionClient::didExecuteStatement):
100763        (WebCore::SQLTransactionClient::didExceedQuota):
100764        * storage/SQLTransactionClient.h:
100765        * storage/SQLTransactionErrorCallback.h:
100766        * storage/SQLTransactionSync.cpp:
100767        (WebCore::transactionClient):
100768        (WebCore::SQLTransactionSync::create):
100769        (WebCore::SQLTransactionSync::SQLTransactionSync):
100770        (WebCore::SQLTransactionSync::~SQLTransactionSync):
100771        (WebCore::SQLTransactionSync::executeSQL):
100772        (WebCore::SQLTransactionSync::begin):
100773        (WebCore::SQLTransactionSync::execute):
100774        (WebCore::SQLTransactionSync::commit):
100775        (WebCore::SQLTransactionSync::rollback):
100776        * storage/SQLTransactionSync.h:
100777        (WebCore::SQLTransactionSync::SQLTransactionSyncOptionalStep::~SQLTransactionSyncOptionalStep):
100778        * storage/SQLTransactionSyncCallback.h:
100779        * storage/chromium/SQLTransactionClientChromium.cpp:
100780        (WebCore::SQLTransactionClient::didCommitWriteTransaction):
100781        (WebCore::SQLTransactionClient::didExecuteStatement):
100782        (WebCore::SQLTransactionClient::didExceedQuota):
100783
1007842010-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
100785
100786        Unreviewed, rolling out r63162.
100787        http://trac.webkit.org/changeset/63162
100788        https://bugs.webkit.org/show_bug.cgi?id=42224
100789
100790        This is no longer needed (Requested by olliej_ on #webkit).
100791
100792        * bindings/v8/ScriptSourceCode.h:
100793        (WebCore::ScriptSourceCode::ScriptSourceCode):
100794
1007952010-07-13  Eric Seidel  <eric@webkit.org>
100796
100797        Reviewed by Adam Barth.
100798
100799        Fix my misreading of "clear to the last marker" in the HTML5 spec
100800        https://bugs.webkit.org/show_bug.cgi?id=42199
100801
100802        * html/HTMLFormattingElementList.cpp:
100803        (WebCore::HTMLFormattingElementList::clearToLastMarker):
100804        * html/HTMLFormattingElementList.h:
100805        * html/HTMLTreeBuilder.cpp:
100806        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
100807        (WebCore::HTMLTreeBuilder::processEndOfFile):
100808
1008092010-07-13  Oliver Hunt  <oliver@apple.com>
100810
100811        Reviewed by Gavin Barraclough.
100812
100813        ES5 requires BOMs to be treated as whitespace
100814        https://bugs.webkit.org/show_bug.cgi?id=42218
100815
100816        Remove BOM handling logic from WebCore Script objects.
100817
100818        * bindings/js/StringSourceProvider.h:
100819        (WebCore::StringSourceProvider::StringSourceProvider):
100820        * loader/CachedScript.cpp:
100821        (WebCore::CachedScript::CachedScript):
100822        (WebCore::CachedScript::script):
100823        * loader/CachedScript.h:
100824
1008252010-07-13  Andreas Kling  <andreas.kling@nokia.com>
100826
100827        Reviewed by Darin Adler.
100828
100829        Canvas: rect(x,y,w,h) should move to (x,y) even if w=0 and h=0
100830        https://bugs.webkit.org/show_bug.cgi?id=42211
100831
100832        * html/canvas/CanvasRenderingContext2D.cpp:
100833        (WebCore::CanvasRenderingContext2D::rect):
100834
1008352010-07-13  Simon Fraser  <simon.fraser@apple.com>
100836
100837        Reviewed by Dan Bernstein.
100838
100839        Show IDs and classnames in layer tree dumps
100840        https://bugs.webkit.org/show_bug.cgi?id=42213
100841
100842        When dumping the layer tree via showLayerTree(), include id and class attributes for
100843        ease of debugging.
100844        
100845        No tests, since this is debug-only code.
100846
100847        * rendering/RenderLayer.cpp:
100848        (showLayerTree):
100849        * rendering/RenderTreeAsText.cpp:
100850        (WebCore::RenderTreeAsText::writeRenderObject):
100851        * rendering/RenderTreeAsText.h:
100852        (WebCore::):
100853
1008542010-07-13  Simon Fraser  <simon.fraser@apple.com>
100855
100856        Build fix: fix WebCore exports by editing the .in file, rather than the generated file.
100857
100858        * WebCore.exp.in:
100859
1008602010-07-13  Alexey Proskuryakov  <ap@apple.com>
100861
100862        Reviewed by Darin Adler.
100863
100864        https://bugs.webkit.org/show_bug.cgi?id=42216
100865        ResourceRequest::doUpdateResourceRequest() crashes if client denied request
100866
100867        This is covered by many regression tests with patch for bug 42201 applied (because it makes
100868        us also use this code path for sync requests, and those currently have more strict limitations).
100869
100870        * platform/network/cf/ResourceRequestCFNet.cpp:
100871        (WebCore::ResourceRequest::doUpdateResourceRequest): Added a null check.
100872
1008732010-07-13  Eric Seidel  <eric@webkit.org>
100874
100875        Reviewed by Adam Barth.
100876
100877        Make our end tag in-foreign-content mode spec bug workarounds more closely match minefield
100878        https://bugs.webkit.org/show_bug.cgi?id=42187
100879
100880        I do not expect these work-arounds to be permanent.  Hixie has promised to
100881        addresses the feedback to the parser sections of HTML5 soon.
100882        I added these hacks to make our hacks more-closely match Minefield's hacks
100883        and thus have us "pass" a few more html5lib runner tests.
100884
100885        We now pass all of the html5lib foreign content tests
100886        (thus we'll likely need to write more).
100887
100888        Tested by html5lib/runner.html
100889
100890        * html/HTMLElementStack.cpp:
100891        (WebCore::HTMLElementStack::contains):
100892        * html/HTMLElementStack.h:
100893        * html/HTMLTreeBuilder.cpp:
100894        (WebCore::HTMLTreeBuilder::processEndTag):
100895
1008962010-07-12  Tony Gentilcore  <tonyg@chromium.org>
100897
100898        Reviewed by Darin Fisher.
100899
100900        Wire network times from ResourceLoadTiming to performance.timing
100901        https://bugs.webkit.org/show_bug.cgi?id=41824
100902
100903        * page/Timing.cpp:
100904        (WebCore::Timing::domainLookupStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupstart
100905        (WebCore::Timing::domainLookupEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupend
100906        (WebCore::Timing::connectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-start
100907        (WebCore::Timing::connectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-end
100908        (WebCore::Timing::requestStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-start
100909        (WebCore::Timing::requestEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-end
100910        (WebCore::Timing::responseStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-response-start
100911        (WebCore::Timing::resourceLoadTiming):
100912        * page/Timing.h:
100913        * page/Timing.idl:
100914
1009152010-07-13  Anders Carlsson  <andersca@apple.com>
100916
100917        Reviewed by Sam Weinig.
100918
100919        Add support for loading javascript: URLs
100920        https://bugs.webkit.org/show_bug.cgi?id=42221
100921
100922        * WebCore.exp.in:
100923        Export protocolIsJavaScript and ScriptValue::getString.
100924
1009252010-07-13  Anders Carlsson  <andersca@apple.com>
100926
100927        Reviewed by Sam Weinig.
100928
100929        Add support for URL frame loading using NPN_GetURLNotify
100930        https://bugs.webkit.org/show_bug.cgi?id=42192
100931
100932        * WebCore.exp.in:
100933        Export ResourceRequestBase::setHTTPMethod and ResourceRequestBase::setURL.
100934
1009352010-07-04  Zhenyao Mo  <zmo@google.com>
100936
100937        Reviewed by Darin Fisher.
100938
100939        Need to track texture completeness
100940        https://bugs.webkit.org/show_bug.cgi?id=41381
100941
100942        Test: fast/canvas/webgl/texture-complete.html
100943
100944        * html/canvas/WebGLRenderingContext.cpp:
100945        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init max texture level.
100946        (WebCore::WebGLRenderingContext::bindTexture): Pass max texture level to setTarget().
100947        (WebCore::WebGLRenderingContext::copyTexImage2D): Cache full texture info rather than partial.
100948        (WebCore::WebGLRenderingContext::generateMipmap): Ditto.
100949        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
100950        (WebCore::WebGLRenderingContext::validateTexFuncParameters): Also validate level.
100951        * html/canvas/WebGLRenderingContext.h: Add max texture level.
100952        * html/canvas/WebGLTexture.cpp: Update the class to fully cache texture information and track NPOT and COMPLETE states.
100953        (WebCore::WebGLTexture::WebGLTexture):
100954        (WebCore::WebGLTexture::setTarget): Check whether the texture is initialized or has been deleted.
100955        (WebCore::WebGLTexture::setParameteri): Ditto.
100956        (WebCore::WebGLTexture::setParameterf): Ditto.
100957        (WebCore::WebGLTexture::setLevelInfo): Set texture info.
100958        (WebCore::WebGLTexture::generateMipmapLevelInfo): Generate texture info for all levels after generateMipmaps() is called.
100959        (WebCore::WebGLTexture::getInternalFormat): Return internal format on texture face 0 level 0.
100960        (WebCore::WebGLTexture::isNPOT): Check whether the texture is initialized or has been deleted.
100961        (WebCore::WebGLTexture::needToUseBlackTexture): Ditto.
100962        (WebCore::WebGLTexture::_deleteObject):
100963        (WebCore::WebGLTexture::mapTargetToIndex): Map target to index.
100964        (WebCore::WebGLTexture::canGenerateMipmaps): Check whether Mipmaps can be generated.
100965        (WebCore::WebGLTexture::computeLevelCount): Compute texture level count from width/height.
100966        (WebCore::WebGLTexture::update): Update NPOT/COMPLETE states.
100967        * html/canvas/WebGLTexture.h: Ditto.
100968        (WebCore::WebGLTexture::LevelInfo::LevelInfo): Add data structure to fully cache texture info.
100969        (WebCore::WebGLTexture::LevelInfo::setInfo): Set information.
100970
1009712010-07-13  Andreas Kling  <andreas.kling@nokia.com>
100972
100973        Reviewed by Darin Adler.
100974
100975        Canvas: drawImage() with wrong 'image' argument type should always throw TypeError
100976        https://bugs.webkit.org/show_bug.cgi?id=42160
100977
100978        Test: canvas/philip/tests/2d.drawImage.wrongtype.html
100979
100980        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
100981        (WebCore::JSCanvasRenderingContext2D::drawImage): Throw TypeError instead of
100982        TYPE_MISMATCH_ERR if 'image' argument is not an image, canvas or video element.
100983
1009842010-07-13  Aaron Boodman  <aa@chromium.org>
100985
100986        Reviewed by Timothy Hatcher.
100987
100988        Don't reset per-document user style caches when user styles are updated in
100989        Chromium.
100990
100991        https://bugs.webkit.org/show_bug.cgi?id=42003
100992
100993        * page/PageGroup.cpp:
100994        (WebCore::PageGroup::addUserStyleSheetToWorld):
100995        (WebCore::PageGroup::removeUserStyleSheetFromWorld):
100996        (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
100997        (WebCore::PageGroup::removeAllUserContent):
100998        (WebCore::PageGroup::resetUserStyleCacheInAllFrames):
100999        * page/PageGroup.h:
101000
1010012010-07-13  Eric Carlson  <eric.carlson@apple.com>
101002
101003        Reviewed by Dan Bernstein.
101004
101005        On Leopard, media element can't handle audio/mp4 MIME type in source tag
101006        https://bugs.webkit.org/show_bug.cgi?id=29326
101007
101008        Test: media/media-can-play-mpeg-audio.html
101009
101010        * platform/MIMETypeRegistry.cpp:
101011        (WebCore::TypeExtensionPair::): Add "audio/mp4", "m4a" to mappings table.
101012
1010132010-07-13  Tony Gentilcore  <tonyg@chromium.org>
101014
101015        Reviewed by Darin Fisher.
101016
101017        Implement performance.timing.fetchStart
101018        https://bugs.webkit.org/show_bug.cgi?id=41816
101019
101020        See: http://dev.w3.org/2006/webapi/WebTiming/#nt-fetch-start
101021
101022        * loader/MainResourceLoader.cpp:
101023        (WebCore::MainResourceLoader::willSendRequest): Record the fetchStart time for each request for the main resource. This means it is called for each server redirect, overwritting the previous value. In https://bugs.webkit.org/show_bug.cgi?id=42018, this will be modified such that if a previous value exists, it is stored as the redirect time.
101024        * loader/FrameLoaderTypes.h:
101025        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
101026        * page/Timing.cpp:
101027        (WebCore::Timing::fetchStart):
101028        * page/Timing.h:
101029        * page/Timing.idl:
101030
1010312010-07-13  Satish Sampath  <satish@chromium.org>
101032
101033        Reviewed by Steve Block.
101034
101035        Speech input plumbing in webcore
101036        https://bugs.webkit.org/show_bug.cgi?id=41518
101037
101038        Adds the following:
101039        - a SpeechInput class to be used by the speech enabled HTML elements
101040        - a SpeechInputListener interface to be implemented by the speech enabled HTML elements
101041        - a SpeechInputClient interface (defined in WebCore, implemented by WebKit) for WebCore to call into WebKit.
101042          This is available as a member of WebCore::Page, set by the platforms which support speech input.
101043        - a SpeechInputClientListener interface for WebCore to receive events from WebKit
101044
101045        No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.
101046
101047        * Android.mk:
101048        * GNUmakefile.am:
101049        * WebCore.gypi:
101050        * WebCore.pro:
101051        * WebCore.vcproj/WebCore.vcproj:
101052        * WebCore.xcodeproj/project.pbxproj:
101053        * page/Page.cpp:
101054        (WebCore::Page::Page):
101055        * page/Page.h: Added SpeechInputClient member variable and associated methods.
101056        (WebCore::Page::setSpeechInputClient):
101057        (WebCore::Page::speechInputClient):
101058        * page/SpeechInput.cpp: Added new class to provide speech API services to HTML elements.
101059        (WebCore::SpeechInput::SpeechInput):
101060        (WebCore::SpeechInput::recordingComplete):
101061        (WebCore::SpeechInput::setRecognitionResult):
101062        (WebCore::SpeechInput::startRecognition):
101063        * page/SpeechInput.h: Added.
101064        (WebCore::SpeechInput::~SpeechInput):
101065        (WebCore::SpeechInput::client):
101066        * page/SpeechInputListener.h: Added.
101067        (WebCore::SpeechInputListener::~SpeechInputListener):
101068        * page/SpeechInputClient.h: Added new interface implemented by WebKit to bubble up speech API requests to the embedder.
101069        (WebCore::SpeechInputClient::~SpeechInputClient):
101070        * page/SpeechInputClientListener.h: Added.
101071        (WebCore::SpeechInputClientListener::~SpeechInputClientListener):
101072
1010732010-07-13  Richard Moore <rich@kde.org>, Robert Hogan  <robert@webkit.org>
101074
101075        Reviewed by Simon Hausmann.
101076
101077        [Qt] MIME handling in qtwebkit network layer case-sensitivity
101078
101079        https://bugs.webkit.org/show_bug.cgi?id=28654
101080
101081        Like other platforms, Qt needs to convert MIME types to lower case
101082        so they will be handled by WebCore.
101083
101084        * platform/network/qt/QNetworkReplyHandler.cpp:
101085        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
101086
1010872010-07-13  James Robinson  <jamesr@chromium.org>
101088
101089        Reviewed by Simon Fraser.
101090
101091        REGRESSION(55056) debug builds ASSERT falsely on pages with animations
101092        https://bugs.webkit.org/show_bug.cgi?id=42175
101093
101094        Revision 55065 added some repaint box precomputation and some debug ASSERT()ions
101095        to ensure the precomputed values were valid.  However, if animations are enabled and
101096        not hardware accelerated, the repaint box dimensions become time-dependent and the
101097        ASSERT()s can trigger.  This can make it impossible to interactively debug pages
101098        like google maps.
101099
101100        https://bugs.webkit.org/show_bug.cgi?id=37048 is another example of an assertion
101101        failing due to time dependent animation values.
101102
101103        * rendering/RenderObject.cpp:
101104        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
101105
1011062010-07-13  Zhenyao Mo  <zmo@google.com>
101107
101108        Reviewed by Darin Fisher.
101109
101110        Implement bufferData and bufferSubData with ArrayBuffer as input
101111        https://bugs.webkit.org/show_bug.cgi?id=41884
101112
101113        Test: fast/canvas/webgl/buffer-data-array-buffer.html
101114
101115        * html/canvas/WebGLBuffer.cpp: Implement associateBufferData & associateBufferSubData with ArrayBuffer as input.
101116        (WebCore::WebGLBuffer::associateBufferData):
101117        (WebCore::WebGLBuffer::associateBufferSubData):
101118        * html/canvas/WebGLBuffer.h: Ditto.
101119        * html/canvas/WebGLRenderingContext.cpp: Implement bufferData and bufferSubData with ArrayBuffer as input.
101120        (WebCore::WebGLRenderingContext::bufferData):
101121        (WebCore::WebGLRenderingContext::bufferSubData):
101122        * html/canvas/WebGLRenderingContext.h: Ditto.
101123        * html/canvas/WebGLRenderingContext.idl: Ditto.
101124        * platform/graphics/GraphicsContext3D.h: Ditto.
101125        * platform/graphics/mac/GraphicsContext3DMac.mm: Ditto.
101126        (WebCore::GraphicsContext3D::bufferData):
101127        (WebCore::GraphicsContext3D::bufferSubData):
101128
1011292010-07-13  Tony Gentilcore  <tonyg@chromium.org>
101130
101131        Reviewed by Darin Fisher.
101132
101133        Implement performance.timing.responseEnd
101134        https://bugs.webkit.org/show_bug.cgi?id=42006
101135
101136        See: http://dev.w3.org/2006/webapi/WebTiming/#nt-response-end
101137
101138        * loader/FrameLoader.cpp:
101139        (WebCore::FrameLoader::finishedLoading):
101140        * loader/FrameLoaderTypes.h:
101141        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
101142        * page/Timing.cpp:
101143        (WebCore::Timing::responseEnd):
101144        * page/Timing.h:
101145        * page/Timing.idl:
101146
1011472010-07-13  W. James MacLean <wjmaclean@chromium.org>
101148
101149        Reviewed by Darin Fisher
101150
101151        Bug 41962 Limit html canvas element dimensions to 32767 for Skia platform
101152        https://bugs.webkit.org/show_bug.cgi?id=41962
101153
101154        Test: fast/canvas/canvas-skia-excessive-size.html
101155
101156        * WebCore/html/HTMLCanvasElement.cpp
101157        (WebCore::HTMLCanvasElement::convertLogicalToDevice):
101158
1011592010-07-10  Zhenyao Mo  <zmo@google.com>
101160
101161        Reviewed by Darin Fisher.
101162
101163        Need to emulate MAX_VARYING_VECTORS/MAX_FRAGMENT_UNIFORM_VECTORs/MAX_VERTEX_UNIFORM_VECTORS for glGet
101164        https://bugs.webkit.org/show_bug.cgi?id=42032
101165
101166        * platform/graphics/mac/GraphicsContext3DMac.mm:
101167        (WebCore::GraphicsContext3D::getIntegerv): Emulate the enums.
101168
1011692010-07-13  Philippe Normand  <pnormand@igalia.com>
101170
101171        Reviewed by Eric Carlson.
101172
101173        [GTK] video playback position query flood when mouse over the video element
101174        https://bugs.webkit.org/show_bug.cgi?id=35333
101175
101176        Don't trigger a position query only to know which play/pause
101177        button to display. Instead use the media-control button display
101178        type to select the image to paint.
101179
101180        * platform/gtk/RenderThemeGtk.cpp:
101181        (WebCore::RenderThemeGtk::paintMediaPlayButton):
101182
1011832010-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
101184
101185        Unreviewed, rolling out r63192.
101186        http://trac.webkit.org/changeset/63192
101187        https://bugs.webkit.org/show_bug.cgi?id=42173
101188
101189        Broke fast/backgrounds/size/contain-and-cover.html (Requested
101190        by kling on #webkit).
101191
101192        * manual-tests/css3-background-layer-count.html: Removed.
101193        * rendering/style/FillLayer.cpp:
101194        (WebCore::FillLayer::cullEmptyLayers):
101195
1011962010-07-13  Marcus Bulach  <bulach@chromium.org>
101197
101198        Reviewed by Jeremy Orlow.
101199
101200        Removes cycles caused by "m_this" members in a few IndexedDB classes.
101201        https://bugs.webkit.org/show_bug.cgi?id=42161
101202
101203        Adds IDBAny::create for the various types.
101204        No functionality change, just cleaning up.
101205
101206        * storage/IDBAny.cpp:
101207        (WebCore::createIDBAny):
101208        (WebCore::IDBAny::create):
101209        * storage/IDBAny.h:
101210        * storage/IDBDatabaseRequest.cpp:
101211        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
101212        (WebCore::IDBDatabaseRequest::createObjectStore):
101213        (WebCore::IDBDatabaseRequest::removeObjectStore):
101214        * storage/IDBDatabaseRequest.h:
101215        * storage/IDBKeyRange.cpp:
101216        (WebCore::IDBKeyRange::IDBKeyRange):
101217        * storage/IDBKeyRange.h:
101218        (WebCore::IDBKeyRange::left):
101219        (WebCore::IDBKeyRange::right):
101220        * storage/IDBObjectStoreRequest.cpp:
101221        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
101222        (WebCore::IDBObjectStoreRequest::get):
101223        (WebCore::IDBObjectStoreRequest::add):
101224        (WebCore::IDBObjectStoreRequest::put):
101225        (WebCore::IDBObjectStoreRequest::remove):
101226        (WebCore::IDBObjectStoreRequest::createIndex):
101227        (WebCore::IDBObjectStoreRequest::removeIndex):
101228        * storage/IDBObjectStoreRequest.h:
101229        * storage/IndexedDatabaseRequest.cpp:
101230        (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
101231        (WebCore::IndexedDatabaseRequest::open):
101232        * storage/IndexedDatabaseRequest.h:
101233
1012342010-07-13  Antti Koivisto  <koivisto@iki.fi>
101235
101236        Reviewed by Kenneth Rohde Christiansen.
101237
101238        [Qt] Land the initial build system for WebKit2
101239        https://bugs.webkit.org/show_bug.cgi?id=41604
101240
101241        The build is enabled by passing --qmakearg="CONFIG+=webkit2" to build-webkit
101242
101243        * WebCore.pri:
101244        * WebCore.pro:
101245
1012462010-07-13  Leon Clarke  <leonclarke@google.com>
101247
101248        Reviewed by Pavel Feldman.
101249
101250        Don't access objects after deleting them, following
101251        the addition of link prefetching. Also remove a forward declaration
101252        of the now-nonexistent CachedLinkPrefetch class.
101253        https://bugs.webkit.org/show_bug.cgi?id=3652
101254
101255        No new tests. Correcting aspects of the prefetch change that shouldn't
101256        have affected functionality.
101257
101258        * html/HTMLLinkElement.h:
101259        * loader/loader.cpp:
101260        (WebCore::Loader::Host::cancelPendingRequests):
101261
1012622010-07-13  Andras Becsi  <abecsi@webkit.org>
101263
101264        Reviewed by Simon Hausmann.
101265
101266        [Qt] Fix the case of a linker option to lowercase to be able to
101267        cross compile QtWebKit for Windows on Linux.
101268
101269        No new tests needed.
101270
101271        * WebCore.pro:
101272
1012732010-07-12  Ilya Tikhonovsky  <loislo@chromium.org>
101274
101275        Reviewed by Yury Semikhatsky.
101276
101277        WebInspector: Next iteration of Inspector code generator.
101278        The InspectorFrontend2 was replaced by slightly modified version of
101279        InspectorBackend file (Inspector.idl). At the end all the interface
101280        between WebInspector and inspected page will be specified by this file
101281        and generated by CodeGeneratorInspector (InspectorFrontend.cpp,
101282        InspectorBackend.cpp and InspectorBackend.js).
101283        https://bugs.webkit.org/show_bug.cgi?id=42104
101284
101285        * DerivedSources.make:
101286        * GNUmakefile.am:
101287        * WebCore.gyp/WebCore.gyp:
101288        * WebCore.gyp/scripts/rule_binding.py:
101289        * WebCore.gypi:
101290        * WebCore.pri:
101291        * WebCore.xcodeproj/project.pbxproj:
101292        * bindings/scripts/IDLParser.pm:
101293        * bindings/scripts/IDLStructure.pm:
101294        * bindings/scripts/generate-bindings.pl:
101295        * inspector/CodeGeneratorInspector.pm:
101296        * inspector/Inspector.idl: Added.
101297        * inspector/InspectorCSSStore.cpp:
101298        (WebCore::InspectorCSSStore::inspectorStyleSheet):
101299        * inspector/InspectorController.cpp:
101300        (WebCore::InspectorController::connectFrontend):
101301        (WebCore::InspectorController::startTimelineProfiler):
101302        * inspector/InspectorController.h:
101303        (WebCore::InspectorController::remoteInspectorFrontend):
101304        * inspector/InspectorDOMAgent.cpp:
101305        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
101306        * inspector/InspectorDOMAgent.h:
101307        (WebCore::InspectorDOMAgent::create):
101308        * inspector/InspectorFrontend2.idl: Removed.
101309        * inspector/InspectorTimelineAgent.cpp:
101310        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
101311        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
101312        * inspector/InspectorTimelineAgent.h:
101313
1013142010-07-12  Steve Block  <steveblock@google.com>
101315
101316        Reviewed by Jeremy Orlow.
101317
101318        DeviceOrientationEvent should use optional properties
101319        https://bugs.webkit.org/show_bug.cgi?id=41607
101320
101321        This change adds a new DeviceOrientation class which takes care of which of the
101322        optional properties are present. DeviceOrientationEvent owns an instance of
101323        DeviceOrientation, rather than owning the properties directly.
101324        DeviceOrientationEvent now requires custom bindings.
101325
101326        Test: fast/dom/DeviceOrientation/optional-event-properties.html
101327
101328        * Android.mk:
101329        * Android.jscbindings.mk:
101330        * Android.v8bindings.mk:
101331        * CMakeLists.txt:
101332        * GNUmakefile.am:
101333        * WebCore.gypi:
101334        * WebCore.pro:
101335        * WebCore.vcproj/WebCore.vcproj:
101336        * WebCore.xcodeproj/project.pbxproj:
101337        * bindings/js/JSBindingsAllInOne.cpp:
101338        * bindings/js/JSDeviceOrientationEventCustom.cpp: Added.
101339        (WebCore::JSDeviceOrientationEvent::alpha):
101340        (WebCore::JSDeviceOrientationEvent::beta):
101341        (WebCore::JSDeviceOrientationEvent::gamma):
101342        (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
101343        * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp: Added.
101344        (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
101345        (WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
101346        (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
101347        (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
101348        * dom/DeviceOrientation.cpp: Added.
101349        * dom/DeviceOrientation.h: Added.
101350        (WebCore::DeviceOrientation::create):
101351        (WebCore::DeviceOrientation::canProvideAlpha):
101352        (WebCore::DeviceOrientation::alpha):
101353        (WebCore::DeviceOrientation::canProvideBeta):
101354        (WebCore::DeviceOrientation::beta):
101355        (WebCore::DeviceOrientation::canProvideGamma):
101356        (WebCore::DeviceOrientation::gamma):
101357        (WebCore::DeviceOrientation::DeviceOrientation):
101358        * dom/DeviceOrientationEvent.cpp:
101359        (WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
101360        (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
101361        * dom/DeviceOrientationEvent.h:
101362        (WebCore::DeviceOrientationEvent::create):
101363        (WebCore::DeviceOrientationEvent::orientation):
101364        * dom/DeviceOrientationEvent.idl:
101365
1013662010-07-13  Andreas Kling  <andreas.kling@nokia.com>
101367
101368        Reviewed by Antti Koivisto.
101369
101370        CSS3 background: Number of layers should be determined by background-image element count
101371        https://bugs.webkit.org/show_bug.cgi?id=41201
101372
101373        Change FillLayer culling logic to discard all layers
101374        after the first one without an image set.
101375
101376        Manual test: css3-background-layer-count.html
101377
101378        * manual-tests/css3-background-layer-count.html: Added.
101379        * rendering/style/FillLayer.cpp:
101380        (WebCore::FillLayer::cullEmptyLayers):
101381
1013822010-07-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
101383
101384        Reviewed by Darin Adler.
101385
101386        Prevent assertion/duplicate loads for non-deferred subtitute-data loads
101387
101388        https://bugs.webkit.org/show_bug.cgi?id=30879
101389
101390        MainResourceLoader uses the member m_initialRequest to store requests for future
101391        deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
101392        have to clear this request so that subsequent entries into the loader will not
101393        start yet another load.
101394
101395        This can happen as a result of a PageGroupLoadDeferrer going out of scope when
101396        returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
101397        but only in the case of using both substitute-data and non-deferred main resource
101398        load together. That's why two new DRT functions were added:
101399
101400         * queueLoadHTMLString()
101401         * setDeferMainResourceLoad()
101402
101403        The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
101404        and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
101405        added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.
101406
101407        Test: fast/loader/non-deferred-substitute-load.html
101408
101409        * loader/MainResourceLoader.cpp:
101410        (WebCore::MainResourceLoader::handleDataLoadNow):
101411
1014122010-07-13  Yoshiki Hayashi  <yhayashi@google.com>
101413
101414        Reviewed by Kent Tamura.
101415
101416        Make sure correct Nodes are passed to childrenChanged so that
101417        :last-child gets properly applied when fragment is inserted.
101418        https://bugs.webkit.org/show_bug.cgi?id=37944
101419
101420        Test: fast/css/last-child-innerhtml.html
101421
101422        * dom/ContainerNode.cpp:
101423        (WebCore::ContainerNode::replaceChild):
101424        (WebCore::ContainerNode::appendChild):
101425
1014262010-07-13  Ryosuke Niwa  <rniwa@webkit.org>
101427
101428        Reviewed by Kent Tamura.
101429
101430        InsertListCommand's modifyRange and doApply should be merged
101431        https://bugs.webkit.org/show_bug.cgi?id=41403
101432
101433        Isolated the code in doApply to insert and remove lists for single paragraph into doApplyForSingleParagraph.
101434        Merged the code in modifyRange into doApply and cleaned up.
101435
101436        No test is added since this is a clean up.
101437
101438        * editing/InsertListCommand.cpp:
101439        (WebCore::InsertListCommand::InsertListCommand): m_forceCreateList is no longer initialized
101440        (WebCore::InsertListCommand::doApply): Isolated the code to insert/remove lists in doApplyForSingleParagraph
101441        (WebCore::InsertListCommand::doApplyForSingleParagraph): Insert/remove lists for single paragraph
101442        * editing/InsertListCommand.h: Added doApplyForSingleParagraph and removed m_forceCreateList
101443
1014442010-07-12  Eric Seidel  <eric@webkit.org>
101445
101446        Reviewed by Adam Barth.
101447
101448        Fix typo in "close the cell" which caused assertion
101449        https://bugs.webkit.org/show_bug.cgi?id=42138
101450
101451        * html/HTMLTreeBuilder.cpp:
101452        (WebCore::HTMLTreeBuilder::closeTheCell):
101453
1014542010-07-12  Eric Seidel  <eric@webkit.org>
101455
101456        Reviewed by Adam Barth.
101457
101458        Fix line number handling in HTMLTreeBuilder to fix a zillion layout tests
101459        https://bugs.webkit.org/show_bug.cgi?id=42143
101460
101461        Covered by a zillion layout tests.
101462
101463        * html/HTMLTreeBuilder.cpp:
101464        (WebCore::HTMLTreeBuilder::processEndTag):
101465        (WebCore::HTMLTreeBuilder::processScriptStartTag):
101466
1014672010-07-12  Jay Civelli  <jcivelli@chromium.org>
101468
101469        Reviewed by Kent Tamura.
101470
101471        Adding right aligned text called labels to PopupMenus.
101472        https://bugs.webkit.org/show_bug.cgi?id=41964
101473
101474        * platform/PopupMenuClient.h:
101475        * platform/chromium/PopupMenuChromium.cpp:
101476        (WebCore::PopupListBox::paintRow):
101477        * rendering/RenderMenuList.cpp:
101478        (WebCore::RenderMenuList::itemLabel):
101479        * rendering/RenderMenuList.h:
101480        * rendering/RenderTextControlSingleLine.cpp:
101481        (WebCore::RenderTextControlSingleLine::itemLabel):
101482        * rendering/RenderTextControlSingleLine.h:
101483
1014842010-07-12  Mihnea Ovidenea  <mihnea@adobe.com>
101485
101486        Reviewed by Dirk Schulze.
101487
101488        [Cairo] Incorrect Test for Text Fill
101489        https://bugs.webkit.org/show_bug.cgi?id=42123
101490
101491        Correct test used for text shadow.  It currently checks for
101492        equality with cTextFill.  However, this test fails if the
101493        text drawing mode is set to 'cTextFill | cTextStroke'.  Fix
101494        is to modify the test to be like other Cairo uses of the
101495        text drawing mode, and check for the cTextFill bit being
101496        set, not for equality with the bit.
101497
101498        * platform/graphics/cairo/FontCairo.cpp:
101499        (WebCore::Font::drawGlyphs):
101500
1015012010-07-12  Eric Seidel  <eric@webkit.org>
101502
101503        Reviewed by Sam Weinig.
101504
101505        Fix a typo in the adoption agency causing test failures
101506        https://bugs.webkit.org/show_bug.cgi?id=42133
101507
101508        The new behavior actually differs from old webkit.
101509        <p><b><p>TEST
101510        was not bold in the old parser, but is bold now.
101511        This matches Minefield and the HTML5 spec.
101512
101513        Covered by two tests in html5lib/runner.html.
101514
101515        * html/HTMLTreeBuilder.cpp:
101516        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
101517
1015182010-07-12  Pavel Feldman  <pfeldman@chromium.org>
101519
101520        Reviewed by Joseph Pecoraro.
101521
101522        Web Inspector: provide starts and ends for network phases instead of duration.
101523
101524        https://bugs.webkit.org/show_bug.cgi?id=42091
101525
101526        * inspector/InspectorResource.cpp:
101527        (WebCore::InspectorResource::updateResponse):
101528        (WebCore::InspectorResource::updateScriptObject):
101529        (WebCore::InspectorResource::buildObjectForTiming):
101530        * platform/network/ResourceLoadTiming.h:
101531        (WebCore::ResourceLoadTiming::deepCopy):
101532        (WebCore::ResourceLoadTiming::operator==):
101533        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
101534        * platform/network/ResourceResponseBase.cpp:
101535        (WebCore::ResourceResponseBase::ResourceResponseBase):
101536        (WebCore::ResourceResponseBase::wasCached):
101537        (WebCore::ResourceResponseBase::setWasCached):
101538        * platform/network/ResourceResponseBase.h:
101539
1015402010-07-12  Adam Barth  <abarth@webkit.org>
101541
101542        Reviewed by Eric Seidel.
101543
101544        HTML5 Parser: document.write after onload blows away document
101545        https://bugs.webkit.org/show_bug.cgi?id=40745
101546
101547        Rather than blowing away the document when we get a document.write call
101548        after the document is closed, we new ignore the write.  This
101549        technically violates the spec (which requires us to blow away the
101550        document), but blowing away the document breaks too many web sites.
101551
101552        Rather than this patch, we could go back to our old behavior (which was
101553        to append the bytes just before EOF), but implementing this approach
101554        (suggested by Henri) will let us gather data about whether his approach
101555        is workable.
101556
101557        See also: http://www.w3.org/Bugs/Public/show_bug.cgi?id=9767
101558
101559        * dom/Document.cpp:
101560        (WebCore::Document::write):
101561        * html/HTMLDocumentParser.cpp:
101562        (WebCore::HTMLDocumentParser::insert):
101563
1015642010-07-12  Tony Gentilcore  <tonyg@chromium.org>
101565
101566        Reviewed by Oliver Hunt.
101567
101568        Strip BOMs from source before passing to V8
101569        https://bugs.webkit.org/show_bug.cgi?id=42102
101570
101571        This extra copy may carry a performance penalty. We should investigate
101572        whether this allows any simplification in v8/scanner.cc:SkipJavaScriptWhiteSpace().
101573
101574        No new tests because no new functionality.
101575
101576        * bindings/v8/ScriptSourceCode.h:
101577        (WebCore::ScriptSourceCode::ScriptSourceCode):
101578
1015792010-07-12  Gustavo Noronha Silva  <gns@gnome.org>
101580
101581        Unreviewed. make distcheck fix.
101582
101583        * GNUmakefile.am:
101584
1015852010-07-12  Yuta Kitamura  <yutak@chromium.org>
101586
101587        Reviewed by Alexey Proskuryakov.
101588
101589        Fix crash caused by unintentional deletion of worker bridge and channel.
101590
101591        WebSocket: Crash caused by calling close() within onmessage handler
101592        https://bugs.webkit.org/show_bug.cgi?id=41507
101593
101594        Test: websocket/tests/workers/close-in-onmessage-crash.html
101595
101596        * websockets/WebSocket.cpp:
101597        (WebCore::WebSocket::close): bufferedAmount() may call WebSocket::didClose(),
101598        which causes m_channel to get freed.
101599        * websockets/WorkerThreadableWebSocketChannel.cpp:
101600        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Add reference to
101601        the bridge because waitForMethodCompletion() may dereference the bridge.
101602        (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount): Ditto.
101603        (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
101604        The root cause is a call to WorkerRunLoop::runInMode in this function.
101605        It may call WebSocket::didClose() even inside WebSocket::close(), which frees
101606        everything including the worker bridge and the channel.
101607
1016082010-07-12  Adam Barth  <abarth@webkit.org>
101609
101610        Reviewed by Eric Seidel.
101611
101612        REGRESSION (HTML5 parser?): Impossible to get past the CAPTCHA on postcode.royalmail.com
101613        https://bugs.webkit.org/show_bug.cgi?id=41797
101614
101615        Once we resume parsing after script execution, we want to clear the
101616        preload scanner so we don't scan any bytes it might have accumulated.
101617
101618        Test: http/tests/loading/preload-slow-loading.php
101619
101620        * html/HTMLDocumentParser.cpp:
101621        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
101622
1016232010-07-12  Albert J. Wong  <ajwong@chromium.org>
101624
101625        Reviewed by Jian Li.
101626
101627        Adding directional property enums back into
101628        CSSComputedStyleDeclaration::getPropertyCSSValue().
101629
101630        https://bugs.webkit.org/show_bug.cgi?id=42122
101631
101632        The four directional -webkit- properties --  CSSPropertyWebkitMarginEnd,
101633        CSSPropertyWebkitMarginStart, CSSPropertyWebkitPaddingEnd, and
101634        CSSPropertyWebkitPaddingStart -- are resolved into other css
101635        properties before the swtich statement via a call to
101636        CSSProperty::resolveDirectionAwareProperty().  Thus, they are never
101637        seen by the switch statement.  However, if you leave out a potential
101638        enum value from the switch, gcc will generate a warning if -Wall is
101639        specified.  This warning breaks the Chromium build.  To avoid this,
101640        we add in the enum values and ASSERT_NOT_REACHED() if they are hit.
101641
101642
101643        * css/CSSComputedStyleDeclaration.cpp:
101644        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
101645
1016462010-07-12  Chris Fleizach  <cfleizach@apple.com>
101647
101648        Reviewed by Darin Adler.
101649
101650        AX converts AtomicStrings to .string() more than needed
101651        https://bugs.webkit.org/show_bug.cgi?id=42056
101652
101653        No behavior change. No new tests.
101654
101655        * accessibility/AccessibilityRenderObject.cpp:
101656        (WebCore::AccessibilityRenderObject::isPressed):
101657        (WebCore::siblingWithAriaRole):
101658        (WebCore::AccessibilityRenderObject::intValue):
101659        (WebCore::AccessibilityRenderObject::accessibilityDescription):
101660        (WebCore::AccessibilityRenderObject::hasTextAlternative):
101661        (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
101662        (WebCore::AccessibilityRenderObject::supportsARIADropping):
101663        (WebCore::AccessibilityRenderObject::supportsARIADragging):
101664        (WebCore::AccessibilityRenderObject::determineARIADropEffects):
101665        (WebCore::AccessibilityRenderObject::isExpanded):
101666        (WebCore::AccessibilityRenderObject::isRequired):
101667        (WebCore::AccessibilityRenderObject::isSelected):
101668        (WebCore::AccessibilityRenderObject::supportsARIAOwns):
101669        (WebCore::AccessibilityRenderObject::isEnabled):
101670        (WebCore::AccessibilityRenderObject::activeDescendant):
101671        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
101672        (WebCore::AccessibilityRenderObject::orientation):
101673        (WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
101674        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
101675
1016762010-07-12  Tony Chang  <tony@chromium.org>
101677
101678        Reviewed by David Hyatt.
101679
101680        crash in FrameView::detachCustomScrollbars
101681        https://bugs.webkit.org/show_bug.cgi?id=41196
101682
101683        Test: scrollbars/hidden-iframe-scrollbar-crash.html
101684
101685        * page/FrameView.cpp:
101686        (WebCore::FrameView::detachCustomScrollbars):
101687
1016882010-07-12  Eric Seidel  <eric@webkit.org>
101689
101690        Reviewed by Adam Barth.
101691
101692        HTML tags should break out of foreign content
101693        https://bugs.webkit.org/show_bug.cgi?id=42106
101694
101695        Implement another paragraph of the spec to pass another
101696        bunch of foreign content tests.
101697
101698        This fixes a bunch of tests in html5lib/runner.html.
101699        After this change we only have 4 remaining foreign content failures.
101700
101701        * html/HTMLTreeBuilder.cpp:
101702        (WebCore::HTMLTreeBuilder::processStartTag):
101703
1017042010-07-12  Zhenyao Mo  <zmo@google.com>
101705
101706        Reviewed by Darin Fisher.
101707
101708        Bring bufferData and clear to GLES2 compliant
101709        https://bugs.webkit.org/show_bug.cgi?id=41574
101710
101711        * html/canvas/WebGLRenderingContext.cpp:
101712        (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataUsage().
101713        (WebCore::WebGLRenderingContext::clear): Check mask.
101714        (WebCore::WebGLRenderingContext::validateBufferDataUsage): Check usage.
101715        * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataUsage.
101716
1017172010-07-12  Eric Seidel  <eric@webkit.org>
101718
101719        Unreviewed.  Attempt to fix Chromium Windows build.
101720
101721        Always generate SVGNames and MathMLNames for all ports (to support HTML5)
101722        https://bugs.webkit.org/show_bug.cgi?id=42050
101723
101724        Another way to fix this might be to mark all the .in files with
101725        svn:eol=native.  But fixing the perl to be more robust against
101726        stray whitespace seems to be a better long-term fix.
101727
101728        No functional change, thus no tests.
101729
101730        * bindings/scripts/InFilesParser.pm:
101731
1017322010-07-12  Andreas Kling  <andreas.kling@nokia.com>
101733
101734        Reviewed by Kenneth Rohde Christiansen.
101735
101736        Remove dependency on PlatformString.h in Color.h
101737        https://bugs.webkit.org/show_bug.cgi?id=42109
101738
101739        * platform/graphics/Color.cpp:
101740        * platform/graphics/Color.h:
101741
1017422010-07-12  Eric Seidel  <eric@webkit.org>
101743
101744        Unreviewed, build fix.
101745
101746        Update HTMLTreeBuilder now that MathMLNames is always generated
101747        https://bugs.webkit.org/show_bug.cgi?id=42059
101748
101749        Fix the Windows project file to build MathMLNames.*.
101750        Also added MathMLElementFactory.* which is a NOOP now, but will
101751        prevent folks from breaking the build when they turn MathML on.
101752
101753        * WebCore.vcproj/WebCore.vcproj:
101754
1017552010-07-12  Eric Carlson  <eric.carlson@apple.com>
101756
101757        Reviewed by Darin Adler.
101758
101759        Update media element's handling of empty 'src' attribute
101760        https://bugs.webkit.org/show_bug.cgi?id=42001
101761
101762        * html/HTMLMediaElement.cpp:
101763        (WebCore::HTMLMediaElement::src): Return getNonEmptyURLAttribute().
101764        (WebCore::HTMLMediaElement::selectMediaResource): Call noneSupported() for empty 'src'.
101765        (WebCore::HTMLMediaElement::selectNextSourceChild): Use getNonEmptyURLAttribute() to convert 
101766        'src' to URL instead of document()->completeURL(). Don't consider a <source> with an empty 'src'. 
101767
101768        * html/HTMLMediaElement.idl: Add 'NonEmpty' option to 'src' attribute.
101769
101770        * html/HTMLSourceElement.cpp:
101771        (WebCore::HTMLSourceElement::src): Return getNonEmptyURLAttribute().
101772        (WebCore::HTMLSourceElement::isURLAttribute): New, 'src' is a URL attribute.
101773        * html/HTMLSourceElement.h:
101774
101775        * html/HTMLSourceElement.idl: Add 'NonEmpty' option to 'src' attribute.
101776
101777        * html/HTMLVideoElement.cpp:
101778        (WebCore::HTMLVideoElement::parseMappedAttribute): Use getNonEmptyURLAttribute() to convert 
101779        'poster' to URL instead of document()->completeURL().
101780
101781        * html/HTMLVideoElement.idl:  Add 'NonEmpty' option to 'poster' attribute.
101782
1017832010-07-12  Martin Robinson  <mrobinson@igalia.com>
101784
101785        Reviewed by Xan Lopez.
101786
101787        [GTK] make dist is broken because of missing headers and other miscellaneous reasons
101788        https://bugs.webkit.org/show_bug.cgi?id=42107
101789
101790        * GNUmakefile.am: Remove InspectorFrontend2.idl from the list of IDL files, so
101791        that it is not built into libWebCoreJS. Add missing header to the source list.
101792        Make sure to distribute the new file: WebCore/inspector/CodeGeneratorInspector.pm.
101793
1017942010-07-12  Eric Seidel  <eric@webkit.org>
101795
101796        Reviewed by Adam Barth.
101797
101798        HTMLTreeBuilder needs to support mixing SVG and MathML content
101799        https://bugs.webkit.org/show_bug.cgi?id=42096
101800
101801        This is just a direct transcription of another paragraph of the
101802        HTML5 spec.
101803
101804        This improved a couple results in html5lib/runner.html, but more
101805        work to do yet to pass all the foreign content tests.
101806
101807        * html/HTMLTreeBuilder.cpp:
101808        (WebCore::HTMLTreeBuilder::processStartTag):
101809        (WebCore::HTMLTreeBuilder::processEndTag):
101810        (WebCore::HTMLTreeBuilder::processUsingSecondaryInsertionModeAndAdjustInsertionMode):
101811        * html/HTMLTreeBuilder.h:
101812        * mathml/mathtags.in:
101813
1018142010-07-12  Eric Seidel  <eric@webkit.org>
101815
101816        Reviewed by Adam Barth.
101817
101818        Update HTMLTreeBuilder now that MathMLNames is always generated
101819        https://bugs.webkit.org/show_bug.cgi?id=42059
101820
101821        Fix the HTMLTreeBuilder MathML code path to compile and remove
101822        the MathML and SVG guards now that SVGNames and MathMLNames are
101823        always compiled into ever port after:
101824        https://bugs.webkit.org/show_bug.cgi?id=42050
101825
101826        This fixed a whole bunch of libhtml5 tests now that we have the
101827        mathml code paths enabled.
101828
101829        * html/HTMLTreeBuilder.cpp:
101830        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
101831        (WebCore::HTMLTreeBuilder::processStartTag):
101832        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
101833        (WebCore::HTMLTreeBuilder::processEndTag):
101834        * page/Frame.cpp:
101835        (WebCore::Frame::Frame):
101836         - Always init SVGNames and MathML names.
101837
1018382010-07-12  Simon Fraser  <simon.fraser@apple.com>
101839
101840        Reviewed by Dan Bernstein.
101841
101842        Don't go into compositing mode for 0x0 plugins
101843        https://bugs.webkit.org/show_bug.cgi?id=34009
101844        
101845        Don't use compositing for small (0-height or width, or 1x1) plugins, or iframes whose
101846        height or width is zero.
101847        
101848        Previously we made all compositing decisions inside styleChanged(). However,
101849        now that plugin and iframe compositing behavior depends on renderer size, we have
101850        to wait until layout before deciding whether to composite these. This behavior
101851        change is controlled by the m_compositingDependsOnGeometry flag. When set,
101852        updateCompositingLayers() always does a hierarchy update.
101853
101854        Tests: compositing/iframes/iframe-size-from-zero.html
101855               compositing/iframes/iframe-size-to-zero.html
101856               compositing/plugins/1x1-composited-plugin.html
101857               compositing/plugins/large-to-small-composited-plugin.html
101858               compositing/plugins/small-to-large-composited-plugin.html
101859
101860        * page/FrameView.cpp:
101861        (WebCore::FrameView::updateCompositingLayers): No longer bail if usesCompositing() is false; we
101862        have to always enter updateCompositingLayers().
101863        (WebCore::FrameView::repaintFixedElementsAfterScrolling): Ditto
101864        (WebCore::FrameView::enterCompositingMode): Remove bogus return of a void.
101865
101866        * rendering/RenderLayerCompositor.h: Add m_compositingDependsOnGeometry.
101867        * rendering/RenderLayerCompositor.cpp:
101868        (WebCore::RenderLayerCompositor::RenderLayerCompositor): Initialize m_compositingDependsOnGeometry to false.
101869        (WebCore::RenderLayerCompositor::updateCompositingLayers): If m_compositingDependsOnGeometry is true,
101870        we always need to run through the layer hierarchy looking for things which need to be composited, even if
101871        we're not (yet) in compositing mode.
101872        
101873        (WebCore::RenderLayerCompositor::computeCompositingRequirements): Because we can enter compositing mode
101874        on the fly inside updateCompositingLayers() now, the state of willBeComposited needs to be updated
101875        when processing the root layer, for the case where the compositing mode changes.
101876        
101877        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Set the m_compositingDependsOnGeometry
101878        flag if we see a potentially-composited plugin. Once we have layout information, only composite the plugin
101879        if height * width > 1.
101880        
101881        (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Set the m_compositingDependsOnGeometry
101882        flag if we see a potentially-composited iframe. Once we have layout information, only composite the plugin
101883        if height or width is greater than zero.
101884
1018852010-07-12  Simon Fraser  <simon.fraser@apple.com>
101886
101887        Reviewed by Dan Bernstein.
101888
101889        Need to do a layout when RenderLayers come and go because of compositing
101890        https://bugs.webkit.org/show_bug.cgi?id=42108
101891        
101892        If we create or destroy RenderLayers for reasons other than style changes
101893        (e.g. because of composited iframes or plugins), then we need to ensure
101894        that we do a layout.
101895
101896        Test: compositing/iframes/layout-on-compositing-change.html
101897
101898        * rendering/RenderObject.cpp:
101899        (WebCore::RenderObject::adjustStyleDifference):
101900
1019012010-07-11  Eric Seidel  <eric@webkit.org>
101902
101903        Reviewed by Darin Adler.
101904
101905        Always generate SVGNames and MathMLNames for all ports (to support HTML5)
101906        https://bugs.webkit.org/show_bug.cgi?id=42050
101907
101908        Historically, FOONames has only been generate when ENABLE(FOO) is defined.
101909        However, for HTML5 parser support, we need to have access to the SVG
101910        and MathML tag names regardless of whether we the engine is configured
101911        to render SVG or MathML content.
101912
101913        This change enables generation of SVGNames and MathMLNames on all ports and
101914        makes it so that ports can include FOOElementFactory.* regardless of whether
101915        ENABLE(FOO) is defined (and have it do the right thing).
101916
101917        No functional change (yet) so no tests.
101918
101919        * DerivedSources.make:
101920        * GNUmakefile.am:
101921        * WebCore.gyp/WebCore.gyp:
101922        * WebCore.pri:
101923        * dom/make_names.pl:
101924
1019252010-07-10  Eric Seidel  <eric@webkit.org>
101926
101927        Reviewed by Adam Barth.
101928
101929        make_names.pl should always generate all names in Names.* files
101930        https://bugs.webkit.org/show_bug.cgi?id=42023
101931
101932        Only the *ElementFactory files need to have conditional contents
101933        based on enabled features.  WebCore should always have all known
101934        names for SVG, MathML, XML, XLink, HTML, etc. generated in the
101935        various *Names files, even if features are disabled.
101936
101937        make_names.pl is kinda a big hack at this point.  I tried to clean
101938        up a little as I went.  The way I made *Names include all names was to
101939        read the .in files twice, once using the preprocessor and once without.
101940
101941        * dom/make_names.pl:
101942
1019432010-07-12  Andreas Kling  <andreas.kling@nokia.com>
101944
101945        Reviewed by Oliver Hunt.
101946
101947        Canvas: Move fillRect() save/restore into GraphicsContext implementations
101948        https://bugs.webkit.org/show_bug.cgi?id=42088
101949
101950        Saving the platform painter state is an expensive operation,
101951        so don't do it in fillRect() for platforms that don't need it. (CG, Qt)
101952
101953        * html/canvas/CanvasRenderingContext2D.cpp:
101954        (WebCore::CanvasRenderingContext2D::fillRect):
101955        * platform/graphics/cairo/GraphicsContextCairo.cpp:
101956        (WebCore::GraphicsContext::fillRect):
101957        * platform/graphics/skia/GraphicsContextSkia.cpp:
101958        (WebCore::GraphicsContext::fillRect):
101959        * platform/graphics/wince/GraphicsContextWince.cpp:
101960        (WebCore::GraphicsContext::fillRect):
101961        * platform/graphics/wx/GraphicsContextWx.cpp:
101962        (WebCore::GraphicsContext::fillRect):
101963
1019642010-07-12  Nate Chapin  <japhet@chromium.org>
101965
101966        Reviewed by Darin Fisher.
101967
101968        Ensure that a cache policy that forces validation is cleared once
101969        the load event is fired, rather than only doing so at the next
101970        navigation. This leads to a lot of unnecessary load on AJAX-y
101971        websites.
101972
101973        https://bugs.webkit.org/show_bug.cgi?id=41813
101974
101975        Test: http/tests/xmlhttprequest/cache-headers-after-reload.html
101976
101977        * loader/FrameLoader.cpp:
101978        (WebCore::FrameLoader::handledOnloadEvents): Reset m_loadType to FrameLoadTypeStandard.
101979        (WebCore::FrameLoader::addExtraFieldsToRequest): Only respect the original request's cache policy if the
101980            DocumentLoader is still loading, and handle the other cache policy settings that were scattered around the loader.
101981        (WebCore::FrameLoader::loadResourceSynchronously): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest.
101982        * loader/SubresourceLoader.cpp:
101983        (WebCore::SubresourceLoader::create): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest.
101984
1019852010-07-12  Andreas Kling  <andreas.kling@nokia.com>
101986
101987        Reviewed by Oliver Hunt.
101988
101989        CSS color parsing optimizations
101990        https://bugs.webkit.org/show_bug.cgi?id=42073
101991
101992        - Avoid instantiating a CSSParser in parseColor() unless necessary.
101993        - Fixed hex color fast-path to support strings starting with '#'.
101994        - Avoid allocating a new string for the value part of a '#' color.
101995
101996        * css/CSSParser.cpp:
101997        (WebCore::CSSParser::parseColor):
101998        * platform/graphics/Color.cpp:
101999        (WebCore::Color::parseHexColor):
102000        (WebCore::Color::Color):
102001        * platform/graphics/Color.h:
102002
1020032010-07-09  Alexey Proskuryakov  <ap@apple.com>
102004
102005        Reviewed by Darin Adler.
102006
102007        https://bugs.webkit.org/show_bug.cgi?id=13075
102008        XMLHttpRequest with failed authentication should set status to 401
102009
102010        https://bugs.webkit.org/show_bug.cgi?id=6871
102011        <rdar://problem/3363403> 401 error page is never shown
102012
102013        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::receivedCredential):
102014        Added a comment explaining why we handle empty credentials differently here.
102015
102016        * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::receivedCredential):
102017        Bring this code in sync with Mac.
102018
1020192010-07-12  Anders Carlsson  <andersca@apple.com>
102020
102021        Reviewed by Adam Roben.
102022
102023        Add a PluginController class, use it for invalidation and getting the user agent
102024        https://bugs.webkit.org/show_bug.cgi?id=42084
102025
102026        * WebCore.exp.in:
102027        Export Widget::convertToContainingWindow.
102028
1020292010-07-12  Andreas Kling  <andreas.kling@nokia.com>
102030
102031        Reviewed by Simon Hausmann.
102032
102033        [Qt] Dragging within webkit with a drag created via Javascript ends up misinterpreting the data
102034        https://bugs.webkit.org/show_bug.cgi?id=41457
102035
102036        Treat non-special-cased mime-types as Unicode strings in ClipboardQt's getData()
102037        Fixes corruption when retrieving data that was set with anything other than text/plain
102038
102039        Also use QMimeData::setHtml() when applicable to be consistent with PasteboardQt.
102040
102041        * platform/qt/ClipboardQt.cpp:
102042        (WebCore::isHtmlMimeType):
102043        (WebCore::ClipboardQt::getData):
102044        (WebCore::ClipboardQt::setData):
102045
1020462010-07-12  Steve Block  <steveblock@google.com>
102047
102048        Reviewed by Jeremy Orlow.
102049
102050        add ANDROID to STORE_FONT_CUSTOM_PLATFORM_DATA
102051        https://bugs.webkit.org/show_bug.cgi?id=32273
102052
102053        Tested by existing tests, just adding ANDROID to the list of platforms that use this feature.
102054
102055        * loader/CachedFont.cpp:
102056
1020572010-07-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
102058
102059        Unreviewed.
102060
102061        [EFL] Move ScriptConcotrollerEfl.cpp from CMakeLists.txt to
102062        CMakeListsEfl.txt.
102063
102064        * CMakeLists.txt:
102065        * CMakeListsEfl.txt:
102066
1020672010-07-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
102068
102069        Unreviewed build fix after r60050.
102070
102071        * CMakeLists.txt: Add WebCore/bindings to the include path.
102072
1020732010-07-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
102074
102075        Reviewed by Xan Lopez.
102076
102077        [GTK] Crashes when going back with page cache in unknown circunstances
102078        https://bugs.webkit.org/show_bug.cgi?id=41710
102079
102080        Could not yet find a way to reproduce this in a layout test. The
102081        issue is document being NULL, so this NULL-check should be enough
102082        to get rid of the crash. We are working on trying to find a better
102083        solution for these null cases, like attaching the document earlier
102084        when openning a cached page.
102085
102086        * page/EventHandler.cpp:
102087        (WebCore::EventHandler::sendScrollEvent):
102088
1020892010-07-12  Alexander Pavlov  <apavlov@chromium.org>
102090
102091        Reviewed by Yury Semikhatsky.
102092
102093        [Chromium] Crash when stepping on a breakpoint while debugging Web Inspector
102094        https://bugs.webkit.org/show_bug.cgi?id=41958
102095
102096        * page/PageGroupLoadDeferrer.cpp:
102097        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
102098        * page/PageGroupLoadDeferrer.h:
102099
1021002010-07-12  François Sausset  <sausset@gmail.com>
102101
102102        Reviewed by Kenneth Rohde Christiansen.
102103
102104        Make the mathsize MathML attribute handle values in em, px, pt,...
102105        https://bugs.webkit.org/show_bug.cgi?id=42067
102106
102107        Test: mathml/presentation/attributes.xhtml
102108
102109        * css/mathml.css:
102110        (math[mathsize="small"], mstyle[mathsize="small"], mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"], mtext[mathsize="small"], mspace[mathsize="small"], ms[mathsize="small"]):
102111        (math[mathsize="normal"], mstyle[mathsize="normal"], mo[mathsize="normal"], mn[mathsize="normal"], mi[mathsize="normal"], mtext[mathsize="normal"], mspace[mathsize="normal"], ms[mathsize="normal"]):
102112        (math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="big"], mi[mathsize="big"], mtext[mathsize="big"], mspace[mathsize="big"], ms[mathsize="big"]):
102113        * mathml/MathMLElement.cpp:
102114        (WebCore::MathMLElement::parseMappedAttribute):
102115
1021162010-07-12  Xan Lopez  <xlopez@igalia.com>
102117
102118        Reviewed by Gustavo Noronha.
102119
102120        Fix compilation with sealed GTK+.
102121
102122        * platform/gtk/GtkVersioning.h:
102123        * platform/gtk/PasteboardHelper.cpp:
102124        (WebCore::PasteboardHelper::fillDataObjectFromDropData):
102125
1021262010-07-12  François Sausset  <sausset@gmail.com>
102127
102128        Reviewed by Kenneth Rohde Christiansen.
102129
102130        Fix a bug preventing msqrt and mfrac to use style color to draw themselves.
102131        In mfrac, the fraction bar is now using the color defined by the element style instead of black.
102132        In msqrt, the radical was always drawn in black due to a colorSpace problem.
102133        https://bugs.webkit.org/show_bug.cgi?id=41889
102134
102135        Test: mathml/presentation/roots.xhtml
102136        Test: mathml/presentation/fractions.xhtml
102137
102138        * mathml/RenderMathMLFraction.cpp:
102139        (WebCore::RenderMathMLFraction::paint):
102140        * mathml/RenderMathMLSquareRoot.cpp:
102141        (WebCore::RenderMathMLSquareRoot::paint):
102142
1021432010-07-12  Andreas Kling  <andreas.kling@nokia.com>
102144
102145        Reviewed by Antti Koivisto.
102146
102147        Canvas: arc() with startAngle == endAngle shouldn't add to the path
102148        https://bugs.webkit.org/show_bug.cgi?id=41420
102149
102150        Spec link:
102151        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-stroke
102152
102153        * html/canvas/CanvasRenderingContext2D.cpp:
102154        (WebCore::CanvasRenderingContext2D::arc):
102155
1021562010-07-12  Shinichiro Hamaji  <hamaji@chromium.org>
102157
102158        Reviewed by Ojan Vafai.
102159
102160        Update padding on Windows?
102161        https://bugs.webkit.org/show_bug.cgi?id=38016
102162
102163        Remove internal padding and add 1px vertical padding for Windows.
102164
102165        * css/themeWin.css:
102166        (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
102167        * rendering/RenderButton.cpp:
102168        (WebCore::RenderButton::setupInnerStyle):
102169        * rendering/RenderTheme.h:
102170        * rendering/RenderThemeWin.cpp:
102171        * rendering/RenderThemeWin.h:
102172        * rendering/RenderThemeWince.cpp:
102173        * rendering/RenderThemeWince.h:
102174
1021752010-07-12  Pavel Feldman  <pfeldman@chromium.org>
102176
102177        Not reviewed. Chromium tests fix.
102178
102179        [Chromium, V8] r63057 regressed url tests.
102180
102181        https://bugs.webkit.org/show_bug.cgi?id=42063
102182
102183        * bindings/scripts/CodeGeneratorV8.pm:
102184
1021852010-07-12  Steve Block  <steveblock@google.com>
102186
102187        Reviewed by Alexey Proskuryakov.
102188
102189        XPath substring function does not correctly handle non-positive values for the position argument
102190        https://bugs.webkit.org/show_bug.cgi?id=41913
102191
102192        This patch changes the behavior of the XPath evaluate function when a non-positive
102193        position argument is supplied and no length argument is supplied. In this case,
102194        we reset the position to 1. This follows the spec and matches the current behaviour
102195        when a length argument is supplied.
102196
102197        Test: fast/xpath/substring-non-positive-postion.html
102198
102199        * xml/XPathFunctions.cpp:
102200        (WebCore::XPath::FunSubstring::evaluate):
102201
1022022010-06-27  Jeremy Orlow  <jorlow@chromium.org>
102203
102204        Reviewed by Dumitru Daniliuc.
102205
102206        Implement IDBObjectStore.get/set/remove
102207        https://bugs.webkit.org/show_bug.cgi?id=41250
102208
102209        Implement these functions in IDBObjectStore,
102210        add plumbing, teach IDBAny/Callbacks how to deal
102211        with IDBKey, and a few small bits of cleanup.
102212
102213        Test: Modified existing test to provide basic coverage.
102214              Will add much more extensive layout test coverage
102215              in future patches.
102216
102217        * Android.derived.jscbindings.mk:
102218        * Android.derived.v8bindings.mk:
102219        * Android.jscbindings.mk:
102220        * Android.mk:
102221        * Android.v8bindings.mk:
102222        * CMakeLists.txt:
102223        * WebCore.gypi:
102224        * WebCore.pri:
102225        * WebCore.pro:
102226        * WebCore.vcproj/WebCore.vcproj:
102227        * WebCore.xcodeproj/project.pbxproj:
102228        * bindings/js/JSIDBAnyCustom.cpp:
102229        (WebCore::toJS):
102230        * bindings/v8/custom/V8IDBAnyCustom.cpp:
102231        (WebCore::toV8):
102232        * storage/IDBAny.cpp:
102233        (WebCore::IDBAny::idbKey):
102234        (WebCore::IDBAny::set):
102235        * storage/IDBAny.h:
102236        (WebCore::IDBAny::):
102237        * storage/IDBAny.idl:
102238        * storage/IDBCallbacks.h:
102239        * storage/IDBDatabaseRequest.h:
102240        * storage/IDBDatabaseRequest.idl:
102241        * storage/IDBKeyRange.h:
102242        * storage/IDBObjectStore.h:
102243        (WebCore::IDBObjectStore::):
102244        * storage/IDBObjectStoreImpl.cpp:
102245        (WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
102246        (WebCore::IDBObjectStoreImpl::get):
102247        (WebCore::IDBObjectStoreImpl::set):
102248        (WebCore::IDBObjectStoreImpl::remove):
102249        * storage/IDBObjectStoreImpl.h:
102250        * storage/IDBObjectStoreRequest.cpp:
102251        (WebCore::IDBObjectStoreRequest::get):
102252        (WebCore::IDBObjectStoreRequest::add):
102253        (WebCore::IDBObjectStoreRequest::modify):
102254        (WebCore::IDBObjectStoreRequest::addOrModify):
102255        (WebCore::IDBObjectStoreRequest::remove):
102256        * storage/IDBObjectStoreRequest.h:
102257        * storage/IDBObjectStoreRequest.idl:
102258        * storage/IDBRequest.cpp:
102259        (WebCore::IDBRequest::onSuccess):
102260        * storage/IDBRequest.h:
102261
1022622010-07-11  Maciej Stachowiak  <mjs@apple.com>
102263
102264        Reviewed by Dan Bernstein.
102265
102266        Implement animation-related methods for WebKitTestRunner
102267        https://bugs.webkit.org/show_bug.cgi?id=42053
102268
102269        * WebCore.exp.in: Export Document::getElementById for WebKit2's benefit.
102270
1022712010-07-11  Adam Barth  <abarth@webkit.org>
102272
102273        Rubber-stamped by Eric Seidel
102274
102275        Add a complete list of the HTML5 entities in JSON format.
102276
102277        * html/HTMLEntityNames.json: Added.
102278
1022792010-07-11  Martin Robinson  <mrobinson@igalia.com>
102280
102281        Reviewed by Xan Lopez.
102282
102283        [GTK] WebKitWebView should support drops
102284        https://bugs.webkit.org/show_bug.cgi?id=39843
102285
102286        Add support for dropping content onto GTK+ WebViews.
102287
102288        No new tests, as the DRT does not support simulating drops yet.
102289
102290        * platform/gtk/ClipboardUtilitiesGtk.cpp:
102291        (WebCore::dragOperationToGdkDragAction): Added.
102292        (WebCore::gdkDragActionToDragOperation): Properly detect DragOperationEvery.
102293        * platform/gtk/ClipboardUtilitiesGtk.h: Add declaration for dragOperationToGdkDragAction.
102294        * platform/gtk/PasteboardHelper.cpp:
102295        Add new target atom and rename the markup target type to match the others.
102296        Add a method which fills a data object from drop data.
102297        (WebCore::PasteboardHelper::initializeTargetList): Add support for new atoms.
102298        (WebCore::selectionDataToUTF8String): Added this helper.
102299        (WebCore::PasteboardHelper::getClipboardContents): Use the selectionDataToUTF8String helper.
102300        (WebCore::PasteboardHelper::targetListForDataObject): Change to reflect markup atom rename.
102301        (WebCore::PasteboardHelper::fillDataObjectFromDropData): Added.
102302        (WebCore::PasteboardHelper::dropAtoms): Added.
102303        * platform/gtk/PasteboardHelper.h: Add declarations of new methods.
102304
1023052010-07-10  Darin Adler  <darin@apple.com>
102306
102307        Reviewed by Anders Carlsson.
102308
102309        Enhance content attribute reflection for URL attributes, including adding a non-empty option
102310        https://bugs.webkit.org/show_bug.cgi?id=42040
102311
102312        Test: fast/dom/URL-attribute-reflection.html
102313
102314        Changed syntax from [ReflectURL] to [Reflect,URL] and also added support for
102315        a new option, NonEmpty, which implements the non-empty URL concept from the
102316        HTML5 specification.
102317
102318        * bindings/scripts/CodeGenerator.pm: Changed code to expect the Reflect and URL
102319        extended attributes to come in separately. The URL one simply means "the string
102320        of this attribute is a URL", since we don't have a distinct type for URL. Also
102321        added a new NonEmpty extended attribute.
102322
102323        * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded code to handle ReflectURL.
102324        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
102325
102326        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated for new added test cases
102327        and the fix I made to the reflectedCustomURLAttr test.
102328        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
102329        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
102330        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
102331        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
102332        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
102333        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
102334        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
102335        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. Also, for some reason the V8
102336        bindig writes out the keywords into the generated file as comments, so the keyword
102337        change had a direct efffect on the output file.
102338
102339        * bindings/scripts/test/TestObj.idl: Changed the test cases for ReflectURL to use
102340        the new syntax. Added test cases for NonEmpty. Fixed the name of
102341        reflectedNonEmptyURLAttr, which accidentally was repeating reflectedURLAttr
102342        instead; never noticed because we never compile the test output.
102343
102344        * dom/Element.cpp:
102345        (WebCore::Element::getNonEmptyURLAttribute): Added. For use by NonEmpty and also
102346        by any code that wants to implement the non-empty URL content attribute semantic.
102347        * dom/Element.h: Ditto.
102348
102349        * html/HTMLAnchorElement.idl: Use Reflect,URL instead of ReflectURL.
102350        * html/HTMLAreaElement.idl: Ditto.
102351        * html/HTMLFrameElement.idl: Ditto.
102352        * html/HTMLImageElement.idl: Ditto.
102353        * html/HTMLInputElement.idl: Ditto.
102354        * html/HTMLLinkElement.idl: Ditto.
102355        * html/HTMLMediaElement.idl: Ditto.
102356        * html/HTMLObjectElement.idl: Ditto.
102357        * html/HTMLScriptElement.idl: Ditto.
102358        * html/HTMLVideoElement.idl: Ditto.
102359
1023602010-07-10  Tony Gentilcore  <tonyg@chromium.org>
102361
102362        Reviewed by Darin Adler.
102363
102364        Add missing derrived sources to Xcode project
102365        https://bugs.webkit.org/show_bug.cgi?id=42034
102366
102367        This allows --web-timing to work with build-webkit on OSX with JSC.
102368        This should have been done in bug 41442.
102369
102370        No new tests because no new functionality.
102371
102372        * WebCore.xcodeproj/project.pbxproj:
102373
1023742010-07-10  Anders Carlsson  <andersca@apple.com>
102375
102376        Reviewed by Sam Weinig.
102377
102378        Don't initialize plug-ins until allowed by the page
102379        https://bugs.webkit.org/show_bug.cgi?id=42033
102380
102381        * WebCore.exp.in:
102382        Export Document::addMediaCanStartListener and Document::removeMediaCanStartListener.
102383
1023842010-07-10  Sam Weinig  <sam@webkit.org>
102385
102386        Reviewed by Anders Carlsson.
102387
102388        Patch for https://bugs.webkit.org/show_bug.cgi?id=42021
102389        isEqualNode should work for DocumentType nodes
102390
102391        Test: fast/dom/Node/isEqualNode.html
102392
102393        * dom/Node.cpp:
102394        (WebCore::Node::isEqualNode): Add DocumentType logic from the DOM3 spec.
102395
1023962010-07-10  Daniel Bates  <dbates@rim.com>
102397
102398        Reviewed by Adam Barth.
102399
102400        Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h
102401        https://bugs.webkit.org/show_bug.cgi?id=39339
102402
102403        Moved the enum ReasonForCallingCanExecuteScripts, which was
102404        defined in both the JSC and V8 ScriptController.h file, into
102405        a shared file called ScriptControllerBase.h.
102406
102407        No functionality was changed, so no new tests.
102408
102409        * GNUmakefile.am: Added file bindings/ScriptControllerBase.h.
102410        * WebCore.gypi: Ditto.
102411        * WebCore.pro: Ditto.
102412        * WebCore.vcproj/WebCore.vcproj: Ditto.
102413        * WebCore.vcproj/WebCoreCommon.vsprops: Ditto.
102414        * WebCore.xcodeproj/project.pbxproj: Ditto.
102415        * bindings/ScriptControllerBase.h: Added.
102416        (WebCore::):
102417        * bindings/js/ScriptController.h: #include ScriptControllerBase.h
102418        * bindings/v8/ScriptController.h: Ditto.
102419
1024202010-07-10  Dan Bernstein  <mitz@apple.com>
102421
102422        Reviewed by Anders Carlsson.
102423
102424        <rdar://problem/8153214> Continuation outlines in layers do not paint correctly
102425
102426        Test: fast/inline/continuation-outlines-with-layers-2.html
102427
102428        Continuation outlines are normally painted by the containing block. However, when the
102429        block and the inline are not enclosed by the same self-painting layer, the inline has to
102430        paint its own outlines. This was handled correctly only for the case where the inline had
102431        its own self-painting layer, but not when an ancestor inline had the self-painting layer.
102432
102433        * rendering/InlineFlowBox.cpp:
102434        (WebCore::InlineFlowBox::paint): Instead of testing for having a self-painting layer, test
102435        whether any intermediate box between the inline and the containing block has a self-painting
102436        layer.
102437        * rendering/RenderBlock.cpp:
102438        (WebCore::RenderBlock::paintObject): Ditto.
102439        * rendering/RenderObject.cpp:
102440        (WebCore::RenderObject::enclosingBoxModelObject): Added this utility method.
102441        * rendering/RenderObject.h:
102442
1024432010-07-10  François Sausset  <sausset@gmail.com>
102444
102445        Reviewed by Kenneth Rohde Christiansen.
102446
102447        Build fix: syntax and typo issues
102448        https://bugs.webkit.org/show_bug.cgi?id=41859
102449
102450        * html/HTMLTreeBuilder.cpp:
102451        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
102452        (WebCore::HTMLTreeBuilder::processStartTag):
102453
1024542010-07-10  Eric Seidel  <eric@webkit.org>
102455
102456        Reviewed by Adam Barth.
102457
102458        HTMLTreeBuilder needs adjustForeignAttributes support
102459        https://bugs.webkit.org/show_bug.cgi?id=42022
102460
102461        To add adjust foreign attributes support I had to add an
102462        AtomicString (prefixed name) to QualifiedName hash.  Once I had
102463        done that, I decided it would be best for the other "adjust" functions
102464        to share the same hash logic, so I moved them to using the same
102465        AtomicString -> QualifiedName hash as well.
102466
102467        Tested by html5lib/runner.html
102468
102469        * dom/Attribute.h:
102470        (WebCore::Attribute::parserSetName):
102471        * html/HTMLTreeBuilder.cpp:
102472
1024732010-07-10  Rob Buis  <rwlbuis@gmail.com>
102474
102475        Reviewed by Darin Adler.
102476
102477        https://bugs.webkit.org/show_bug.cgi?id=41978
102478        Remove namespace prefixes from idl files
102479
102480        No new tests, idl syntax fixes.
102481
102482        * css/CSSImportRule.idl:
102483        * css/CSSMediaRule.idl:
102484        * css/CSSStyleSheet.idl:
102485        * css/CSSVariablesRule.idl:
102486        * svg/SVGAnimatedString.idl:
102487        * svg/SVGColor.idl:
102488        * svg/SVGDocument.idl:
102489        * svg/SVGLangSpace.idl:
102490        * svg/SVGSVGElement.idl:
102491        * svg/SVGStringList.idl:
102492        * svg/SVGStylable.idl:
102493        * svg/SVGStyleElement.idl:
102494        * svg/SVGTests.idl:
102495        * svg/SVGZoomEvent.idl:
102496        * xml/XPathEvaluator.idl:
102497
1024982010-07-10  Dumitru Daniliuc  <dumi@chromium.org>
102499
102500        Unreviewed, GTK build fix.
102501
102502        * bindings/gobject/GObjectEventListener.h:
102503
1025042010-07-10  Dumitru Daniliuc  <dumi@chromium.org>
102505
102506        Reviewed by Darin Adler.
102507
102508        Remove unnecessary includes in header files in WebCore/dom.
102509        https://bugs.webkit.org/show_bug.cgi?id=41941
102510
102511        * css/StyleMedia.h:
102512        * dom/BeforeLoadEvent.h:
102513        * dom/CustomEvent.h:
102514        * dom/DOMStringMap.h:
102515        * dom/DeviceOrientationEvent.h:
102516        * dom/EventListener.h:
102517        * dom/MessagePort.h:
102518        * dom/Node.cpp:
102519        * dom/NodeFilter.h:
102520        * dom/NodeRareData.h:
102521        * dom/RegisteredEventListener.h:
102522        * dom/SelectorNodeList.cpp:
102523        * dom/SelectorNodeList.h:
102524        * dom/StyleElement.h:
102525        * dom/Traversal.h:
102526
1025272010-07-09  Tony Chang  <tony@chromium.org>
102528
102529        Reviewed by Ojan Vafai.
102530
102531        crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting pre
102532        https://bugs.webkit.org/show_bug.cgi?id=38231
102533
102534        Test: editing/execCommand/indent-pre.html
102535
102536        * editing/IndentOutdentCommand.cpp:
102537        (WebCore::countParagraphs):
102538        (WebCore::IndentOutdentCommand::indentRegion): Split text nodes into one node per paragraph
102539                                                       so moveParagraph doesn't get confused.
102540        (WebCore::IndentOutdentCommand::splitTextNodes):
102541        * editing/IndentOutdentCommand.h:
102542
1025432010-07-09  Erik Arvidsson  <arv@chromium.org>
102544
102545        Reviewed by Darin Adler.
102546
102547        Computed style is not implemented for padding-start, padding-end, margin-start, margin-end
102548        https://bugs.webkit.org/show_bug.cgi?id=41496
102549
102550        * css/CSSComputedStyleDeclaration.cpp:
102551        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
102552        * css/CSSProperty.cpp:
102553        (WebCore::CSSProperty::resolveDirectionAwareProperty): This function resolves the property ID for a direction aware property.
102554        * css/CSSProperty.h:
102555        * css/CSSStyleSelector.cpp: Use helper function.
102556        (WebCore::CSSStyleSelector::applyProperty):
102557
1025582010-07-09  Adam Barth  <abarth@webkit.org>
102559
102560        Reviewed by Eric Seidel.
102561
102562        HTML5 tree builder should pass some LayoutTests
102563        https://bugs.webkit.org/show_bug.cgi?id=41991
102564
102565        Before this patch, we weren't attaching text nodes to the render tree,
102566        which turns out to be important.  :)
102567
102568        This patch fixes more than 10,000 LayoutTests.
102569
102570        * html/HTMLConstructionSite.cpp:
102571        (WebCore::HTMLConstructionSite::attach):
102572        (WebCore::HTMLConstructionSite::attachAtSite):
102573
1025742010-07-09  Patrick Gansterer  <paroga@paroga.com>
102575
102576        Reviewed by Darin Adler.
102577
102578        [WINCE] Buildfix for TextEncodingRegistry
102579        https://bugs.webkit.org/show_bug.cgi?id=41992
102580
102581        Renamed TextCodecWince to TextCodecWinCE.
102582
102583        * platform/text/TextEncodingRegistry.cpp:
102584        (WebCore::buildBaseTextCodecMaps):
102585        (WebCore::extendTextCodecMaps):
102586
1025872010-07-09  Leon Clarke  <leonclarke@google.com>
102588
102589        Reviewed by Adam Barth.
102590
102591        add support for link prefetching
102592        https://bugs.webkit.org/show_bug.cgi?id=3652
102593
102594        Test: fast/dom/HTMLLinkElement/prefetch.html
102595
102596        * Configurations/FeatureDefines.xcconfig:
102597        * html/HTMLLinkElement.cpp:
102598        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
102599        (WebCore::HTMLLinkElement::process):
102600        * html/HTMLLinkElement.h:
102601        (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
102602        * loader/Cache.cpp:
102603        (WebCore::createResource):
102604        * loader/CachedResource.cpp:
102605        (WebCore::CachedResource::data):
102606        (WebCore::CachedResource::didAddClient):
102607        * loader/CachedResource.h:
102608        (WebCore::CachedResource::):
102609        (WebCore::CachedResource::error):
102610        (WebCore::CachedResource::isPrefetch):
102611        (WebCore::CachedResource::schedule):
102612        * loader/CachedScript.cpp:
102613        * loader/CachedScript.h:
102614        * loader/DocLoader.cpp:
102615        (WebCore::DocLoader::requestLinkPrefetch):
102616        (WebCore::DocLoader::canRequest):
102617        (WebCore::DocLoader::incrementRequestCount):
102618        (WebCore::DocLoader::decrementRequestCount):
102619        * loader/DocLoader.h:
102620        * loader/loader.cpp:
102621        (WebCore::cachedResourceTypeToTargetType):
102622        (WebCore::Loader::determinePriority):
102623        (WebCore::Loader::load):
102624        (WebCore::Loader::Host::servePendingRequests):
102625        (WebCore::Loader::Host::didFinishLoading):
102626        (WebCore::Loader::Host::didFail):
102627        (WebCore::Loader::Host::didReceiveResponse):
102628        (WebCore::Loader::Host::cancelPendingRequests):
102629        * loader/loader.h:
102630        (WebCore::Loader::):
102631        * platform/network/ResourceRequestBase.h:
102632        (WebCore::ResourceRequestBase::):
102633
1026342010-07-09  James Robinson  <jamesr@chromium.org>
102635
102636        Unreviewed build fix.  Add #include to pick up ExceptionCode values for config (like Qt) where it's not picked up indirectly.
102637
102638        * html/HTMLCanvasElement.cpp:
102639
1026402010-07-09  James Robinson  <jamesr@chromium.org>
102641
102642        Reviewed by Darin Adler.
102643
102644        Removes CanvasSurface and moves all of its functionality to HTMLCanvasElement.
102645        https://bugs.webkit.org/show_bug.cgi?id=42005
102646
102647        http://trac.webkit.org/changeset/55201 introduced a new base class for HTMLCanvasElement called CanvasSurface.
102648        The intention was that this would allow for code sharing with the then-proposed OffscreenCanvas.  However,
102649        there is no OffscreenCanvas and there's unlikely to be one soon.  Additionally CanvasSurface breaks
102650        encapsulation pretty badly by doing "static_cast<HTMLCanvasElement* const>(this)".  Until an abstraction is
102651        really needed we should just use HTMLCanvasElement when we want to talk about a canvas.
102652
102653        This patch moves all of CanvasSurface's functionality back up to HTMLCanvasElement and reorders the header
102654        to be a bit more logical.
102655
102656        Refactor with no behavior change, thus no new tests.
102657
102658        * CMakeLists.txt:
102659        * GNUmakefile.am:
102660        * WebCore.gypi:
102661        * WebCore.pro:
102662        * WebCore.vcproj/WebCore.vcproj:
102663        * WebCore.xcodeproj/project.pbxproj:
102664        * dom/CanvasSurface.cpp: Removed.
102665        * dom/CanvasSurface.h: Removed.
102666        * html/HTMLCanvasElement.cpp:
102667        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
102668        (WebCore::HTMLCanvasElement::willDraw):
102669        (WebCore::HTMLCanvasElement::setSurfaceSize):
102670        (WebCore::HTMLCanvasElement::toDataURL):
102671        (WebCore::HTMLCanvasElement::convertLogicalToDevice):
102672        (WebCore::HTMLCanvasElement::securityOrigin):
102673        (WebCore::HTMLCanvasElement::styleSelector):
102674        (WebCore::HTMLCanvasElement::createImageBuffer):
102675        (WebCore::HTMLCanvasElement::drawingContext):
102676        (WebCore::HTMLCanvasElement::buffer):
102677        (WebCore::HTMLCanvasElement::baseTransform):
102678        * html/HTMLCanvasElement.h:
102679        (WebCore::HTMLCanvasElement::setObserver):
102680        (WebCore::HTMLCanvasElement::width):
102681        (WebCore::HTMLCanvasElement::height):
102682        (WebCore::HTMLCanvasElement::size):
102683        (WebCore::HTMLCanvasElement::toDataURL):
102684        (WebCore::HTMLCanvasElement::setOriginTainted):
102685        (WebCore::HTMLCanvasElement::originClean):
102686        (WebCore::HTMLCanvasElement::hasCreatedImageBuffer):
102687
1026882010-07-09  Simon Fraser  <simon.fraser@apple.com>
102689
102690        Reviewed by Darin Adler.
102691
102692        Calling layoutTestController.layerTreeAsText() should update layout
102693        https://bugs.webkit.org/show_bug.cgi?id=41818
102694        
102695        Need to call updateLayout() before we check for any layers, not after,
102696        since layout will update compositing, and may create layers.
102697
102698        * page/Frame.cpp:
102699        (WebCore::Frame::layerTreeAsText):
102700
1027012010-07-09  Kenneth Russell  <kbr@google.com>
102702
102703        Reviewed by Nate Chapin.
102704
102705        bufferSubData causes crash in WebGLBuffer::associateBufferSubData
102706        https://bugs.webkit.org/show_bug.cgi?id=42004
102707
102708        Test: fast/canvas/webgl/index-validation-crash-with-buffer-sub-data.html
102709
102710        * html/canvas/WebGLBuffer.cpp:
102711        (WebCore::WebGLBuffer::associateBufferData):
102712         - Allocate m_elementArrayBuffer for entry point taking only size.
102713           Guard against allocation failures of m_elementArrayBuffer.
102714        (WebCore::WebGLBuffer::associateBufferSubData):
102715         - Guard against any possibility of crashes due to m_elementArrayBuffer being NULL.
102716
1027172010-07-09  Dumitru Daniliuc  <dumi@chromium.org>
102718
102719        Unreviewed, but pre-approved by Eric Seidel.
102720
102721        Remove unnecessary includes in header files in WebCore/css.
102722        https://bugs.webkit.org/show_bug.cgi?id=41941
102723
102724        * css/CSSComputedStyleDeclaration.h:
102725        * css/CSSFontFaceSource.cpp:
102726        (WebCore::CSSFontFaceSource::getFontData):
102727        * css/CSSFontFaceSource.h:
102728        * css/CSSPrimitiveValueMappings.h:
102729        * css/StyleMedia.h:
102730
1027312010-07-09  Eric Seidel  <eric@webkit.org>
102732
102733        Reviewed by Adam Barth.
102734
102735        Get rid of manual case maps in HTMLTreeBuilder
102736        https://bugs.webkit.org/show_bug.cgi?id=42000
102737
102738        No functional change, thus no tests.
102739
102740        * html/HTMLTreeBuilder.cpp:
102741
1027422010-07-09  Tony Gentilcore  <tonyg@chromium.org>
102743
102744        Reviewed by Dimitri Glazkov.
102745
102746        Implement performance.timing.navigationStart
102747        https://bugs.webkit.org/show_bug.cgi?id=41815
102748
102749        See: http://dev.w3.org/2006/webapi/WebTiming/#nt-navigation-start
102750
102751        * loader/FrameLoader.cpp:
102752        (WebCore::FrameLoader::loadWithDocumentLoader):
102753        * loader/FrameLoaderTypes.h:
102754        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
102755        * page/Timing.cpp:
102756        (WebCore::Timing::navigationStart):
102757
1027582010-07-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
102759
102760        Reviewed by Kenneth Rohde Christiansen.
102761
102762        [Qt] GraphicsLayerQt must have syncCompositingStateForThisLayerOnly() implemented
102763        https://bugs.webkit.org/show_bug.cgi?id=41954
102764
102765        Add GraphicsLayerQt::syncCompositingStateForThisLayerOnly, a non-recursive
102766        implementation of GraphicsLayerQt::syncCompositingState and which targets
102767        the current layer only.
102768
102769        * platform/graphics/qt/GraphicsLayerQt.cpp:
102770        (WebCore::GraphicsLayerQt::syncCompositingStateForThisLayerOnly):
102771        * platform/graphics/qt/GraphicsLayerQt.h:
102772
1027732010-07-09  David Kozub  <zub@linux.fjfi.cvut.cz>
102774
102775        Reviewed by Darin Adler.
102776
102777        Fix build by adding missing html/TimeRanges.idl to CMakeLists.txt.
102778
102779        https://bugs.webkit.org/show_bug.cgi?id=41945
102780
102781        No functional changes, thus no tests.
102782
102783        * CMakeLists.txt:
102784
1027852010-07-09  Eric Seidel  <eric@webkit.org>
102786
102787        Reviewed by Adam Barth.
102788
102789        Fix SVG tag name casing for HTMLTreeBuilder
102790        https://bugs.webkit.org/show_bug.cgi?id=41998
102791
102792        Tested by html5lib/runner.html
102793
102794        * html/HTMLTreeBuilder.cpp:
102795        (WebCore::):
102796
1027972010-07-09  Eric Seidel  <eric@webkit.org>
102798
102799        Reviewed by Adam Barth.
102800
102801        Implement SVG attribute case mapping for HTMLTreeBuilder
102802        https://bugs.webkit.org/show_bug.cgi?id=41949
102803
102804        Tested by html5lib/runner.html.
102805
102806        * html/HTMLTreeBuilder.cpp:
102807
1028082010-07-09  Andy Estes  <aestes@apple.com>
102809
102810        Reviewed by Adele Peterson.
102811
102812        Remove the workaround for a Core Animation bug on platforms where the
102813        bug has been fixed.
102814        https://bugs.webkit.org/show_bug.cgi?id=41927
102815        <rdar://problem/7920153>
102816
102817        * platform/graphics/mac/GraphicsLayerCA.mm:
102818        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Add
102819        a compile-time check for platforms that have a Core Animation bug that
102820        needs working around.
102821
1028222010-07-08  Tony Gentilcore  <tonyg@chromium.org>
102823
102824        Reviewed by Nate Chapin.
102825
102826        Implement unloadEventEnd, loadEventStart, and loadEventEnd for Web Timing
102827        https://bugs.webkit.org/show_bug.cgi?id=41332
102828
102829        Test: fast/dom/webtiming.html
102830
102831        * loader/FrameLoader.cpp:
102832        (WebCore::FrameLoader::stopLoading):
102833        (WebCore::FrameLoader::loadWithDocumentLoader):
102834        * loader/FrameLoader.h:
102835        (WebCore::FrameLoader::frameLoadTimeline):
102836        * loader/FrameLoaderTypes.h:
102837        (WebCore::FrameLoadTimeline::FrameLoadTimeline):
102838        * page/DOMWindow.cpp:
102839        (WebCore::DOMWindow::dispatchLoadEvent):
102840        * page/Timing.cpp:
102841        (WebCore::Timing::navigationStart):
102842        (WebCore::Timing::unloadEventEnd):
102843        (WebCore::Timing::loadEventStart):
102844        (WebCore::Timing::loadEventEnd):
102845        * page/Timing.h:
102846        * page/Timing.idl:
102847
1028482010-07-09  Dumitru Daniliuc  <dumi@chromium.org>
102849
102850        Unreviewed, but pre-approved by Eric Seidel.
102851
102852        Remove all unnecessary includes from the header files in WebCore/accessibility/.
102853        https://bugs.webkit.org/show_bug.cgi?id=41941
102854
102855        * accessibility/AXObjectCache.h:
102856        * accessibility/AccessibilityListBox.cpp:
102857        * accessibility/AccessibilityListBox.h:
102858        * accessibility/AccessibilityMenuList.h:
102859        * accessibility/mac/AccessibilityObjectWrapper.h:
102860
1028612010-07-09  Patrick Gansterer  <paroga@paroga.com>
102862
102863        Reviewed by Kent Tamura.
102864
102865        [WINCE] Buildfix for EventHandlerWin
102866        https://bugs.webkit.org/show_bug.cgi?id=41909
102867
102868        Use Clipboard.h instead of ClipboardWin.h on WinCE.
102869
102870        * page/win/EventHandlerWin.cpp:
102871
1028722010-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
102873
102874        Unreviewed, rolling out r62946.
102875        http://trac.webkit.org/changeset/62946
102876        https://bugs.webkit.org/show_bug.cgi?id=41965
102877
102878        AppCache inspector support should be enabled in WebKit ToT.
102879        (Requested by pfeldman_ on #webkit).
102880
102881        * inspector/front-end/StoragePanel.js:
102882        (WebInspector.StoragePanel):
102883        (WebInspector.StoragePanel.prototype.reset):
102884        (WebInspector.StoragePanel.prototype.addApplicationCache):
102885
1028862010-07-09  François Sausset  <sausset@gmail.com>
102887
102888        Reviewed by Kenneth Rohde Christiansen.
102889
102890        Implement MathML mathcolor & mathbackground attributes
102891        https://bugs.webkit.org/show_bug.cgi?id=41895
102892
102893        Test: mathml/presentation/attributes.xhtml
102894
102895        * dom/MappedAttributeEntry.h:
102896        (WebCore::):
102897        * mathml/MathMLElement.cpp:
102898        (WebCore::MathMLElement::MathMLElement):
102899        (WebCore::MathMLElement::mapToEntry):
102900        (WebCore::MathMLElement::parseMappedAttribute):
102901        * mathml/MathMLElement.h:
102902        * mathml/mathattrs.in:
102903
1029042010-07-09  Xiaomei Ji  <xji@chromium.org>
102905
102906        Reviewed by David Levin.
102907
102908        Fix characters with unicode-bidi-mirror property are not correctly
102909        mirrored in Linux.
102910        https://bugs.webkit.org/show_bug.cgi?id=41305
102911
102912        Since harfbuzz does not do mirroring, chromium should iterate each
102913        character in the string and mirror it if needed before passing the
102914        string to harfbuzz for shaping.
102915
102916        Test: fast/text/international/bidi-mirror-he-ar.html
102917
102918        * platform/graphics/chromium/FontLinux.cpp:
102919        (WebCore::TextRunWalker::TextRunWalker):
102920        (WebCore::TextRunWalker::~TextRunWalker):
102921        (WebCore::TextRunWalker::mirrorCharacters):
102922
102923
1029242010-07-09  Anders Carlsson  <andersca@apple.com>
102925
102926        Reviewed by Simon Fraser.
102927
102928        Instantiate Netscape plug-ins, pass geometry information to Plugin
102929        https://bugs.webkit.org/show_bug.cgi?id=41960
102930
102931        * WebCore.exp.in:
102932        Export ScrollView::contentsToWindow.
102933
1029342010-07-09  Patrick Gansterer  <paroga@paroga.com>
102935
102936        Reviewed by Kent Tamura.
102937
102938        [WINCE] Buildfix for FrameWince after r47440
102939        https://bugs.webkit.org/show_bug.cgi?id=41904
102940
102941        * page/wince/FrameWince.cpp: Added property svn:eol-style.
102942        (WebCore::computePageRectsForFrame):
102943        (WebCore::imageFromSelection):
102944
1029452010-07-09  Vitaly Repeshko  <vitalyr@chromium.org>
102946
102947        Reviewed by Pavel Feldman.
102948
102949        [v8] Call JS gc in a fresh context to avoid retaining the current one.
102950        https://bugs.webkit.org/show_bug.cgi?id=41963
102951        http://crbug.com/46571
102952
102953        * bindings/v8/ScriptController.cpp:
102954        (WebCore::ScriptController::collectGarbage):
102955
1029562010-07-09  Kenneth Russell  <kbr@google.com>
102957
102958        Reviewed by Dimitri Glazkov.
102959
102960        Crash with uniform array test
102961        https://bugs.webkit.org/show_bug.cgi?id=36028
102962
102963        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
102964        (WebCore::vertexAttribAndUniformHelperf):
102965        (WebCore::uniformHelperi):
102966        (WebCore::uniformMatrixHelper):
102967         - Fixed type tests and casting of incoming arrays.
102968        * html/canvas/WebGLRenderingContext.cpp:
102969        (WebCore::WebGLRenderingContext::getUniform):
102970         - Fixed crash when null WebGLUniform is passed to getUniform.
102971
1029722010-07-09  Chris Fleizach  <cfleizach@apple.com>
102973
102974        Reviewed by Darin Adler.
102975
102976        AX:  text editing not spoken by VO on web view contenteditable textbox
102977        https://bugs.webkit.org/show_bug.cgi?id=41912
102978
102979        Test: platform/mac/accessibility/selection-value-changes-for-aria-textbox.html
102980
102981        * accessibility/AccessibilityRenderObject.cpp:
102982        (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
102983
1029842010-07-09  Michael Nordman  <michaeln@google.com>
102985
102986        Reviewed by Dumitru Daniliuc.
102987
102988        Use class ProgressEvent when raising appcache related progress events and
102989        set the 'total', 'loaded', and 'lengthComputable' attributes.
102990        Also raise the final progress event with the 'total' and 'loaded' attribute
102991        values are equal to one another to keep pace with the spec for this feature.
102992        https://bugs.webkit.org/show_bug.cgi?id=37602
102993
102994        Test: http/tests/appcache/progress-counter.html
102995
102996        * loader/appcache/ApplicationCacheGroup.cpp:
102997        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
102998        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
102999        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
103000        (WebCore::ApplicationCacheGroup::startLoadingEntry):
103001        (WebCore::CallCacheListenerTask::create):
103002        (WebCore::CallCacheListenerTask::performTask):
103003        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
103004        (WebCore::ApplicationCacheGroup::postListenerTask):
103005        * loader/appcache/ApplicationCacheGroup.h:
103006        (WebCore::ApplicationCacheGroup::postListenerTask):
103007        * loader/appcache/ApplicationCacheHost.cpp:
103008        (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
103009        (WebCore::ApplicationCacheHost::stopDeferringEvents):
103010        (WebCore::ApplicationCacheHost::dispatchDOMEvent):
103011        * loader/appcache/ApplicationCacheHost.h:
103012        (WebCore::ApplicationCacheHost::DeferredEvent::DeferredEvent):
103013
1030142010-07-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
103015
103016        Reviewed by Gustavo Noronha Silva.
103017
103018        Bug 41340 - [GStreamer] Subtle race condition during seeks
103019        https://bugs.webkit.org/show_bug.cgi?id=41340
103020
103021        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
103022        (webKitWebSrcStop):
103023        (webKitWebSrcNeedDataMainCb):
103024        (webKitWebSrcNeedDataCb):
103025        (webKitWebSrcEnoughDataMainCb):
103026        (webKitWebSrcEnoughDataCb):
103027        (webKitWebSrcSeekDataCb):
103028        (StreamingClient::didFinishLoading):
103029        Fix two subtle race conditions that can happen during seeks:
103030        - The timeout callback could be called before the callback ID is
103031          assigned to the instance private data. This causes the ID to
103032          be set after the callback has finished and breaks all future
103033          processing.
103034        - The source must not go EOS while a seek is pending because
103035          this confuses appsrc due to the different threads involved here.
103036
1030372010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>
103038
103039        Reviewed by Tor Arne Vestbø.
103040
103041        [Qt] Removed hard-coded enabled default of video support
103042
103043        Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.
103044
103045        * WebCore.pri:
103046
1030472010-07-09  Ben Murdoch  <benm@google.com>
103048
103049        Reviewed by Steve Block.
103050
103051        [Arm] Missing NaN check in XPath substring function
103052        https://bugs.webkit.org/show_bug.cgi?id=41862
103053
103054        Test: fast/xpath/substring-nan-position.html
103055
103056        * xml/XPathFunctions.cpp:
103057        (WebCore::XPath::FunSubstring::evaluate): Add an isnan()
103058            to the value returned from evaluating the position
103059            argument and early out and return the empty string.
103060
1030612010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>
103062
103063        Reviewed by Tor Arne Vestbø.
103064
103065        [Qt] Prospective build fix.
103066
103067        Moved the media element detection from WebCore.pro into WebCore.pri, where
103068        all the features are detected. This is also used by build-webkit to determine
103069        the defaults, which may be the reason for the build breakage.
103070
103071        * WebCore.pri:
103072        * WebCore.pro:
103073
1030742010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>
103075
103076        Reviewed by Tor Arne Vestbø.
103077
103078        [Qt] Re-enable support for QtMultimediaKit as backend for the media elements
103079
103080        Experimental support is re-enabled if QtMobility is available and the Qt
103081        version is 4.7 or above.
103082
103083        * WebCore.pro:
103084        * platform/graphics/MediaPlayer.cpp:
103085        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
103086        (WebCore::MediaPlayerPrivate::supportsType): Adapt to latest QtMultimediaKit API changes.
103087        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
103088        (WebCore::MediaPlayerPrivate::totalBytes):
103089
1030902010-07-09  Pavel Feldman  <pfeldman@chromium.org>
103091
103092        Reviewed by Yury Semikhatsky.
103093
103094        Web Inspector: do not show default tooltip when detailed network info is available.
103095
103096        https://bugs.webkit.org/show_bug.cgi?id=41957
103097
103098        * English.lproj/localizedStrings.js:
103099        * inspector/front-end/ResourcesPanel.js:
103100        (WebInspector.ResourcesPanel):
103101        (WebInspector.ResourcesPanel.prototype.reset):
103102        (WebInspector.ResourcesPanel.prototype.showResource):
103103        (WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
103104        (WebInspector.ResourcesPanel.prototype._showPopover):
103105        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
103106
1031072010-07-09  François Sausset  <sausset@gmail.com>
103108
103109        Reviewed by Beth Dakin.
103110
103111        Correct the default font variant of mtext (regular instead of italic).
103112        https://bugs.webkit.org/show_bug.cgi?id=41626
103113
103114        Add test to be sure that only <mi> elements use italic fonts by default.
103115        Update test with fractions to take into account the correct behaviour of mtext (regular instead of italic).
103116
103117        * css/mathml.css:
103118        (mi):
103119
1031202010-07-09  Tony Gentilcore  <tonyg@chromium.org>
103121
103122        Reviewed by Dimitri Glazkov.
103123
103124        Implement performance.navigation.type
103125        https://bugs.webkit.org/show_bug.cgi?id=41564
103126
103127        Tests: fast/dom/navigation-type-back-forward.html
103128               fast/dom/navigation-type-navigate.html
103129               fast/dom/navigation-type-reload.html
103130
103131        * page/Navigation.cpp:
103132        (WebCore::Navigation::type):
103133        * page/Navigation.h:
103134        (WebCore::Navigation::):
103135        * page/Navigation.idl:
103136
1031372010-07-09  Pavel Feldman  <pfeldman@chromium.org>
103138
103139        Reviewed by Yury Semikhatsky.
103140
103141        Web Inspector: hide AppCache until implemented.
103142
103143        https://bugs.webkit.org/show_bug.cgi?id=41858
103144
103145        * inspector/front-end/StoragePanel.js:
103146        (WebInspector.StoragePanel):
103147        (WebInspector.StoragePanel.prototype.reset):
103148        (WebInspector.StoragePanel.prototype.addApplicationCache):
103149
1031502010-07-09  François Sausset  <sausset@gmail.com>
103151
103152        Reviewed by Kenneth Rohde Christiansen.
103153
103154        Set the good default behaviour for the columalign attribute on MathML mtable element
103155        https://bugs.webkit.org/show_bug.cgi?id=41631
103156
103157        Test update: mathml/tables.xhtml
103158
103159        * css/mathml.css:
103160        (math):
103161
1031622010-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
103163
103164        Unreviewed, rolling out r62937.
103165        http://trac.webkit.org/changeset/62937
103166        https://bugs.webkit.org/show_bug.cgi?id=41955
103167
103168        Crashes SnowLeopard leaks and Windows debug bot in fast/xsl
103169        /xslt-relative-path.xml, with assertion in
103170        XSLTProcessorLibxslt.cpp:264 (Requested by WildFox on
103171        #webkit).
103172
103173        * xml/XSLTProcessor.h:
103174        (WebCore::XSLTProcessor::XSLTProcessor):
103175        * xml/XSLTProcessorLibxslt.cpp:
103176        (WebCore::docLoaderFunc):
103177        (WebCore::setXSLTLoadCallBack):
103178        (WebCore::xsltStylesheetPointer):
103179        (WebCore::XSLTProcessor::transformToString):
103180
1031812010-07-09  Yael Aharon  <yael.aharon@nokia.com>
103182
103183        Reviewed by Laszlo Gombos.
103184
103185        NotificationPresenter needs a cancelRequestPermission API
103186        https://bugs.webkit.org/show_bug.cgi?id=41783
103187
103188        Updated NotificationPresenter API, to use ScriptExecutionContext instead of origin.
103189        Added new API NotificationPresenter::cancelRequestsForPermision
103190        The new API will be implemented and a test will be added in a followup patch.
103191
103192        * notifications/Notification.cpp:
103193        (WebCore::Notification::Notification):
103194        * notifications/NotificationCenter.cpp:
103195        (WebCore::NotificationCenter::checkPermission):
103196        (WebCore::NotificationCenter::requestPermission):
103197        (WebCore::NotificationCenter::disconnectFrame):
103198        * notifications/NotificationCenter.h:
103199        * notifications/NotificationPresenter.h:
103200
1032012010-07-09  Andreas Wictor  <andreas.wictor@xcerion.com>
103202
103203        Reviewed by Alexey Proskuryakov.
103204
103205        Remove global variables from XSLTProcessorLibxslt.cpp
103206        https://bugs.webkit.org/show_bug.cgi?id=41348
103207
103208        Remove the globalProcessor and globalDocLoader global variables
103209        by using the _private field that exists on most libxml structs.
103210
103211        No new tests, existing tests covers this.
103212
103213        * xml/XSLTProcessor.h:
103214        (WebCore::XSLTProcessor::sourceNode):
103215        (WebCore::XSLTProcessor::XSLTProcessor):
103216        * xml/XSLTProcessorLibxslt.cpp:
103217        (WebCore::registeredXSLTProcessors):
103218        (WebCore::registeredXSLStyleSheets):
103219        (WebCore::docLoaderFunc):
103220        (WebCore::clearSavedStyleSheetPointers):
103221        (WebCore::xsltStylesheetPointer):
103222        (WebCore::XSLTProcessor::transformToString):
103223
1032242010-07-09  Adam Barth  <abarth@webkit.org>
103225
103226        Unreviewed build fix.
103227
103228        We recently taught the HTMLTokenizer to recognize self-closing tags,
103229        <http://trac.webkit.org/changeset/62926>, but that confused the
103230        LegacyHTMLTreeBuilder.  It turns out that it's much happier if we never
103231        say a tag is self-closing.
103232
103233        * html/HTMLTreeBuilder.cpp:
103234        (WebCore::convertToOldStyle):
103235
1032362010-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>
103237
103238        Reviewed by Rob Buis.
103239
103240        svg/custom/use-instanceRoot-event-bubbling.xhtml test crashes
103241        https://bugs.webkit.org/show_bug.cgi?id=41931
103242
103243        Be careful to not mutate (marking it for recreation) the shadow tree, while building it.
103244        The recent change that cloneNode() properly synchronizes the style/SVG attributes caused this problem.
103245
103246        Fixes crash seen on the buildbots in svg/custom/use-instanceRoot-event-bubbling.xhtml.
103247
103248        * svg/SVGUseElement.cpp:
103249        (WebCore::SVGUseElement::SVGUseElement):
103250        (WebCore::SVGUseElement::recalcStyle):
103251        (WebCore::SVGUseElement::buildShadowAndInstanceTree):
103252        (WebCore::SVGUseElement::invalidateShadowTree):
103253        * svg/SVGUseElement.h:
103254        (WebCore::SVGUseElement::setUpdatesBlocked):
103255
1032562010-07-09  Adam Barth  <abarth@webkit.org>
103257
103258        Reviewed by Eric Seidel.
103259
103260        Skip leading newlines in <textarea>
103261        https://bugs.webkit.org/show_bug.cgi?id=41947
103262
103263        We would have caught this earlier with the ASSERT.
103264
103265        * html/HTMLTokenizer.cpp:
103266        (WebCore::HTMLTokenizer::nextToken):
103267
1032682010-07-08  Pavel Feldman  <pfeldman@chromium.org>
103269
103270        Reviewed by Yury Semikhatsky.
103271
103272        Web Inspector: Provide detailed network info in the resources panel.
103273
103274        https://bugs.webkit.org/show_bug.cgi?id=40227
103275
103276        * English.lproj/localizedStrings.js:
103277        * inspector/InspectorController.cpp:
103278        (WebCore::InspectorController::willSendRequest):
103279        (WebCore::InspectorController::didReceiveResponse):
103280        * inspector/InspectorController.h:
103281        * inspector/InspectorResource.cpp:
103282        (WebCore::InspectorResource::InspectorResource):
103283        (WebCore::InspectorResource::updateResponse):
103284        (WebCore::InspectorResource::updateScriptObject):
103285        (WebCore::InspectorResource::buildObjectForTiming):
103286        * inspector/InspectorResource.h:
103287        * inspector/front-end/ResourcesPanel.js:
103288        (WebInspector.ResourcesPanel):
103289        (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
103290        (WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
103291        (WebInspector.ResourcesPanel.prototype._showPopover):
103292        (WebInspector.ResourcesPanel.prototype.hide):
103293        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
103294        (WebInspector.ResourceGraph):
103295        * inspector/front-end/inspector.js:
103296        (WebInspector.updateResource):
103297        * platform/network/ResourceLoadTiming.h:
103298        (WebCore::ResourceLoadTiming::create):
103299        (WebCore::ResourceLoadTiming::deepCopy):
103300        (WebCore::ResourceLoadTiming::operator==):
103301        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
103302        * platform/network/ResourceRequestBase.h:
103303        (WebCore::ResourceRequestBase::reportLoadTiming):
103304        (WebCore::ResourceRequestBase::setReportLoadTiming):
103305        (WebCore::ResourceRequestBase::ResourceRequestBase):
103306        * platform/network/ResourceResponseBase.cpp:
103307        (WebCore::ResourceResponseBase::connectionID):
103308        (WebCore::ResourceResponseBase::setConnectionID):
103309        * platform/network/ResourceResponseBase.h:
103310
1033112010-07-09  Eric Seidel  <eric@webkit.org>
103312
103313        Reviewed by Adam Barth.
103314
103315        Implement self closing start tag state in the tokenizer
103316        https://bugs.webkit.org/show_bug.cgi?id=41946
103317
103318        Amazingly we got this far w/o needing self closing.
103319        The LegacyHTMLTreeBuilder clearly uses the self-closing
103320        state, but the fact that we never exposed it seems to
103321        not have caused any test failures.  Sad.
103322
103323        The new HTMLTreeBuilder only needs the self closing state
103324        for foreign content mode (and a few parse error cases).
103325
103326        * html/HTMLToken.h:
103327        (WebCore::HTMLToken::setSelfClosing):
103328        * html/HTMLTokenizer.cpp:
103329        (WebCore::HTMLTokenizer::nextToken):
103330        * html/HTMLTreeBuilder.cpp:
103331        (WebCore::):
103332
1033332010-07-09  Eric Seidel  <eric@webkit.org>
103334
103335        Reviewed by Adam Barth.
103336
103337        Add basic "in foreign content" support to the TreeBuilder
103338        https://bugs.webkit.org/show_bug.cgi?id=41943
103339
103340        This is covered by numerous tests in html5lib/runner.html.
103341
103342        "in foreign content" mode requires us to be able to process
103343        tokens using the "secondary insertion mode".  We have to set
103344        a fake insertion mode to do that, so much of this code is enabling
103345        setting of fake insertion modes, and then later restoration of the
103346        insertion mode after execution.
103347
103348        There is a lot more of foreign content mode to implement, but this is
103349        a good start resulting in huge test progressions.
103350
103351        * html/HTMLConstructionSite.cpp:
103352        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
103353         - Use createHTMLElementAndAttachToCurrent instead of copy/paste code.
103354         - No need to include HTMLElementFactory in this file.
103355        * html/HTMLConstructionSite.h:
103356         - RedirectToFosterParentGuard does not need to be a friend class.
103357        * html/HTMLElementStack.cpp:
103358        (WebCore::HTMLElementStack::isOnlyHTMLElementsInScope):
103359        * html/HTMLElementStack.h:
103360        * html/HTMLTreeBuilder.cpp:
103361        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
103362        (WebCore::):
103363        * html/HTMLTreeBuilder.h:
103364        (WebCore::HTMLTreeBuilder::setInsertionMode):
103365        (WebCore::HTMLTreeBuilder::isFakeInsertionMode):
103366        (WebCore::HTMLTreeBuilder::setFakeInsertionMode):
103367
1033682010-07-09  Adam Barth  <abarth@webkit.org>
103369
103370        Reviewed by Eric Seidel.
103371
103372        Coalesce text nodes when foster parenting
103373        https://bugs.webkit.org/show_bug.cgi?id=41921
103374
103375        Introduces the notion of an AttachmentSite to the overall
103376        HTMLConstructionSite.  Maybe we should rename HTMLConstructionSite to
103377        HTMLConstructionArea since we construct things all over the tree?  :)
103378
103379        There's something wrong in the internal layering in this class, but I
103380        can't quite see what it is.  I added a FIXME for the some of the
103381        symptoms.
103382
103383        * html/HTMLConstructionSite.cpp:
103384        (WebCore::HTMLConstructionSite::attach):
103385        (WebCore::HTMLConstructionSite::attachAtSite):
103386        (WebCore::HTMLConstructionSite::insertTextNode):
103387        (WebCore::HTMLConstructionSite::findFosterSite):
103388        (WebCore::HTMLConstructionSite::fosterParent):
103389        * html/HTMLConstructionSite.h:
103390
1033912010-07-08  Nikolas Zimmermann  <nzimmermann@rim.com>
103392
103393        Reviewed by Dirk Schulze.
103394
103395        RenderSVGRoot does not include border/padding while repainting
103396        https://bugs.webkit.org/show_bug.cgi?id=41854
103397
103398        RenderSVGRoot does not include border/padding in the repaint rect.
103399        clippedOverflowRectForRepaint() was missing. Affects all DRT results,
103400        as <svg> now gets properly sized.
103401
103402        Test: svg/custom/repaint-moving-svg-and-div.xhtml
103403
103404        * rendering/RenderSVGRoot.cpp:
103405        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
103406        (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
103407        * rendering/RenderSVGRoot.h:
103408
1034092010-07-09  Albert J. Wong  <ajwong@chromium.org>
103410
103411        Reviewed by Nikolas Zimmermann.
103412
103413        Add RuntimeEnabledFeatures::timeRangesEnabled() required by r62880
103414
103415        https://bugs.webkit.org/show_bug.cgi?id=41935
103416
103417        * bindings/generic/RuntimeEnabledFeatures.cpp:
103418        (WebCore::RuntimeEnabledFeatures::timeRangesEnabled):
103419                Add in timeRangesEnabled() implementation.
103420        * bindings/generic/RuntimeEnabledFeatures.h:
103421                Add in timeRangesEnabled() declaration.
103422
103423
1034242010-07-09  Eric Seidel  <eric@webkit.org>
103425
103426        Reviewed by Adam Barth.
103427
103428        Add setInsertionMode setter in preparation for "in foreign content" mode
103429        https://bugs.webkit.org/show_bug.cgi?id=41942
103430
103431        "in foreign content" mode needs to be able to use a fake
103432        insertion mode for processing.  We need to be able to save the
103433        original insertion mode, set a fake one, and then restore the original
103434        if it wasn't changed.  To detect changes, we need all callsites to
103435        use a setInsertionMode accessor instead of m_insertionMode =
103436
103437        No functional changes, thus no tests.
103438
103439        * html/HTMLTreeBuilder.cpp:
103440        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
103441        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
103442        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
103443        (WebCore::HTMLTreeBuilder::processStartTag):
103444        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
103445        (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
103446        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
103447        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
103448        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
103449        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
103450        (WebCore::HTMLTreeBuilder::processEndTag):
103451        (WebCore::HTMLTreeBuilder::processCharacter):
103452        (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
103453        (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
103454        (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
103455        (WebCore::HTMLTreeBuilder::processScriptStartTag):
103456
1034572010-07-09  Eric Seidel  <eric@webkit.org>
103458
103459        Reviewed by Adam Barth.
103460
103461        Add insertForeignElement in preparation for adding "in foreign content" support
103462        https://bugs.webkit.org/show_bug.cgi?id=41940
103463
103464        No functional changes, thus no tests.
103465
103466        * html/HTMLConstructionSite.cpp:
103467        (WebCore::HTMLConstructionSite::insertForeignElement):
103468        (WebCore::HTMLConstructionSite::createElement):
103469        (WebCore::HTMLConstructionSite::createHTMLElement):
103470        * html/HTMLConstructionSite.h:
103471
1034722010-07-09  Adam Barth  <abarth@webkit.org>
103473
103474        Reviewed by Eric Seidel.
103475
103476        Implementing pending table characters
103477        https://bugs.webkit.org/show_bug.cgi?id=41916
103478
103479        This turned out to not be as scary as I thought it would be.
103480
103481        * html/HTMLTreeBuilder.cpp:
103482        (WebCore::HTMLTreeBuilder::processDoctypeToken):
103483        (WebCore::HTMLTreeBuilder::processStartTag):
103484        (WebCore::HTMLTreeBuilder::processEndTag):
103485        (WebCore::HTMLTreeBuilder::processComment):
103486        (WebCore::HTMLTreeBuilder::processCharacter):
103487        (WebCore::HTMLTreeBuilder::processEndOfFile):
103488        (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
103489        * html/HTMLTreeBuilder.h:
103490
1034912010-07-08  Adam Barth  <abarth@webkit.org>
103492
103493        Reviewed by Eric Seidel.
103494
103495        Handle whitespace correctly
103496        https://bugs.webkit.org/show_bug.cgi?id=41907
103497
103498        This patch introduces an extra memcpy in the character token pipeline.
103499        I'll remove the memcpy in a future patch.
103500
103501        * html/HTMLConstructionSite.cpp:
103502        (WebCore::HTMLConstructionSite::insertTextNode):
103503        * html/HTMLConstructionSite.h:
103504        * html/HTMLTreeBuilder.cpp:
103505        (WebCore::HTMLTreeBuilder::processCharacter):
103506        * html/HTMLTreeBuilder.h:
103507
1035082010-07-09  Eric Seidel  <eric@webkit.org>
103509
103510        Reviewed by Adam Barth.
103511
103512        Move more mode handling into functions for later re-use
103513        https://bugs.webkit.org/show_bug.cgi?id=41939
103514
103515        No functional changes, thus no tests.
103516
103517        * html/HTMLTreeBuilder.cpp:
103518        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
103519        (WebCore::HTMLTreeBuilder::processEndTagForInRow):
103520        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
103521        (WebCore::HTMLTreeBuilder::processEndTag):
103522        * html/HTMLTreeBuilder.h:
103523
1035242010-07-09  Eric Seidel  <eric@webkit.org>
103525
103526        Reviewed by Adam Barth.
103527
103528        Add new popUntilPopped functions to clean up code
103529        https://bugs.webkit.org/show_bug.cgi?id=41936
103530
103531        Pretty self explanatory.  Much awesome code reduction.
103532
103533        No functional changes, thus no tests.
103534
103535        * html/HTMLElementStack.cpp:
103536        (WebCore::HTMLElementStack::popUntilPopped):
103537        * html/HTMLElementStack.h:
103538        * html/HTMLTreeBuilder.cpp:
103539        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
103540        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
103541        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
103542        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
103543        (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
103544        (WebCore::HTMLTreeBuilder::processEndTag):
103545
1035462010-07-09  Eric Seidel  <eric@webkit.org>
103547
103548        Unreviewed.  Just renaming (discussed with Adam Barth).
103549
103550        Rename createElement* to createHTMLElement* to better reflect
103551        behavior.  This is in preparation for adding foreign content support.
103552
103553        * html/HTMLConstructionSite.cpp:
103554        (WebCore::HTMLConstructionSite::createHTMLElementAndAttachToCurrent):
103555        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
103556        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
103557        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
103558        (WebCore::HTMLConstructionSite::insertHTMLElement):
103559        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
103560        (WebCore::HTMLConstructionSite::createHTMLElement):
103561        * html/HTMLConstructionSite.h:
103562        * html/HTMLTreeBuilder.cpp:
103563        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
103564
1035652010-07-09  Eric Seidel  <eric@webkit.org>
103566
103567        Unreviewed.  Just renaming (discussed with Adam Barth).
103568
103569        Rename insertElement to insertHTMLElement and
103570        insertSelfClosingElement to insertSelfClosingHTMLElement
103571        to better reflect what they actually do.  This is in preparation
103572        for adding foreign content support.
103573
103574        * html/HTMLConstructionSite.cpp:
103575        (WebCore::HTMLConstructionSite::insertHTMLElement):
103576        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
103577        (WebCore::HTMLConstructionSite::insertFormattingElement):
103578        (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
103579        (WebCore::HTMLConstructionSite::fosterParent):
103580        * html/HTMLConstructionSite.h:
103581        * html/HTMLTreeBuilder.cpp:
103582        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
103583        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
103584        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
103585        (WebCore::HTMLTreeBuilder::processStartTag):
103586        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
103587        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
103588        (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
103589        (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
103590
1035912010-07-08  Rob Buis  <rwlbuis@gmail.com>
103592
103593        Reviewed by Eric Seidel.
103594
103595        Implement SVGSVGElement.getElementById
103596        https://bugs.webkit.org/show_bug.cgi?id=41655
103597
103598        Implement getElementById for SVGSVGElement by trying to
103599        reuse Document.getElementById. If that fails to find an
103600        SVG element in the document fragent do a subtree search.
103601
103602        Test: svg/custom/svg-getelementid.xhtml
103603
103604        * svg/SVGSVGElement.cpp:
103605        (WebCore::SVGSVGElement::getElementById):
103606        * svg/SVGSVGElement.h:
103607        * svg/SVGSVGElement.idl:
103608
1036092010-07-08  Eric Seidel  <eric@webkit.org>
103610
103611        Reviewed by Adam Barth.
103612
103613        Unwrap a few || blocks for easier readability
103614        https://bugs.webkit.org/show_bug.cgi?id=41838
103615
103616        No functional change, thus no tests.
103617
103618        * html/HTMLTreeBuilder.cpp:
103619        (WebCore::HTMLTreeBuilder::adjustedLexerState):
103620        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
103621        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
103622        (WebCore::HTMLTreeBuilder::processStartTag):
103623        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
103624        (WebCore::HTMLTreeBuilder::processEndTag):
103625        (WebCore::HTMLTreeBuilder::processComment):
103626        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
103627
1036282010-07-08  Sam Magnuson  <smagnuson@netflix.com>
103629
103630        Reviewed by Simon Hausmann.
103631
103632        [Qt] for debugging purposes nice I'm contributing back my FPS
103633        counter in the AnimationQtBase
103634        https://bugs.webkit.org/show_bug.cgi?id=40381
103635
103636        Simply start a timer and count frames in the AnimationQtBase and
103637        spit out the FPS count at the end of a single animation.
103638
103639        No new tests: this is a simple debugging aid.
103640
103641        * platform/graphics/qt/GraphicsLayerQt.cpp:
103642        (WebCore::AnimationQt::updateState):
103643        (WebCore::AnimationQt::updateCurrentTime):
103644        (WebCore::TransformAnimationQt::updateState):
103645        (WebCore::OpacityAnimationQt::updateState):
103646
1036472010-07-08  Sam Magnuson  <smagnuson@netflix.com>
103648
103649        Reviewed by Simon Hausmann.
103650
103651        [Qt] instance objects created for QObjects are somtimes GC'd
103652        https://bugs.webkit.org/show_bug.cgi?id=40352
103653
103654        In markAggregate loop over all the current fields and for any that
103655        still have a dynamic property or a child, mark them as
103656        well. Otherwise the proxy instance will go away and the JS that
103657        was bound to it will be lost.
103658
103659        * bridge/qt/qt_instance.cpp:
103660        (JSC::Bindings::QtInstance::getQtInstance):
103661        (JSC::Bindings::QtInstance::removeCachedMethod):
103662        (JSC::Bindings::QtInstance::markAggregate):
103663        (JSC::Bindings::QtInstance::getPropertyNames):
103664
1036652010-07-08  Ilya Tikhonovsky  <loislo@chromium.org>
103666
103667        Reviewed by Pavel Feldman.
103668
103669        WebInspector: migrate InspectorDOMAgent to the generated version of
103670        InspectorFrontend interface. This is the next step on the way to
103671        Remote Debugging.
103672
103673        * bindings/js/ScriptEventListener.cpp:
103674        (WebCore::eventListenerHandlerBody):
103675        (WebCore::eventListenerHandlerLocation):
103676        * bindings/js/ScriptEventListener.h:
103677        * bindings/v8/ScriptEventListener.cpp:
103678        (WebCore::eventListenerHandlerBody):
103679        (WebCore::eventListenerHandlerLocation):
103680        * bindings/v8/ScriptEventListener.h:
103681        * inspector/CodeGeneratorInspector.pm:
103682        * inspector/InspectorCSSStore.cpp:
103683        (WebCore::InspectorCSSStore::inspectorStyleSheet):
103684        * inspector/InspectorController.cpp:
103685        (WebCore::InspectorController::connectFrontend):
103686        * inspector/InspectorController.h:
103687        (WebCore::InspectorController::inspectorFrontend2):
103688        * inspector/InspectorDOMAgent.cpp:
103689        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
103690        (WebCore::InspectorDOMAgent::setDocument):
103691        (WebCore::InspectorDOMAgent::handleEvent):
103692        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
103693        (WebCore::InspectorDOMAgent::getEventListenersForNode):
103694        (WebCore::InspectorDOMAgent::buildObjectForNode):
103695        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
103696        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
103697        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
103698        (WebCore::InspectorDOMAgent::didInsertDOMNode):
103699        (WebCore::InspectorDOMAgent::getStyles):
103700        (WebCore::InspectorDOMAgent::getAllStyles):
103701        (WebCore::InspectorDOMAgent::getStyleSheet):
103702        (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
103703        (WebCore::InspectorDOMAgent::getInlineStyle):
103704        (WebCore::InspectorDOMAgent::getComputedStyle):
103705        (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
103706        (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
103707        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
103708        (WebCore::InspectorDOMAgent::applyStyleText):
103709        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
103710        (WebCore::InspectorDOMAgent::setRuleSelector):
103711        (WebCore::InspectorDOMAgent::addRule):
103712        (WebCore::InspectorDOMAgent::buildObjectForStyle):
103713        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
103714        (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
103715        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
103716        (WebCore::InspectorDOMAgent::buildObjectForRule):
103717        (WebCore::InspectorDOMAgent::toArray):
103718        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
103719        * inspector/InspectorDOMAgent.h:
103720        (WebCore::InspectorDOMAgent::create):
103721        * inspector/InspectorFrontend.cpp:
103722        * inspector/InspectorFrontend.h:
103723        * inspector/InspectorFrontend2.idl:
103724        * inspector/front-end/inspector.js:
103725        (WebInspector.dispatchMessageFromBackend):
103726
1037272010-07-08  Simon Fraser  <simon.fraser@apple.com>
103728
103729        Reviewed by Darin Adler.
103730
103731        compositing/iframes/iframe-resize.html displays incorrectly after the resize
103732        https://bugs.webkit.org/show_bug.cgi?id=41794
103733        
103734        The clip and scroll layers of a composited iframe's RenderLayerCompositor are updated from
103735        from updateGraphicsLayerGeometry(), but this is too early to get the correct layoutWidth and
103736        layoutHeight from the FrameView which happen later in layout. So when a widget size changes,
103737        call updateAfterWidgetResize() directly on the RenderLayerBacking (if any).
103738
103739        * rendering/RenderLayerBacking.cpp:
103740        (WebCore::RenderLayerBacking::updateAfterWidgetResize): New method that updates the clip
103741        and scroll layers of the iframe's content RenderLayerCompositor.
103742        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call updateAfterWidgetResize()
103743        * rendering/RenderLayerBacking.h: Add updateAfterWidgetResize().
103744        * rendering/RenderWidget.cpp:
103745        (WebCore::RenderWidget::setWidgetGeometry): Call updateAfterWidgetResize().
103746
1037472010-07-08  Simon Fraser  <simon.fraser@apple.com>
103748
103749        Reviewed by Dan Bernstein.
103750
103751        Calling layoutTestController.layerTreeAsText() should update layout
103752        https://bugs.webkit.org/show_bug.cgi?id=41818
103753
103754        Call updateLayout() on the document before obtaining the layer tree.
103755        This will update compositing layers.
103756        
103757        * page/Frame.cpp:
103758        (WebCore::Frame::layerTreeAsText):
103759
1037602010-07-08  Adam Barth  <abarth@webkit.org>
103761
103762        Reviewed by Eric Seidel.
103763
103764        Get my head wrapped around processCharacter
103765        https://bugs.webkit.org/show_bug.cgi?id=41812
103766
103767        The bulk of the patch is just stubbing out functions to document what
103768        the spec tells us to do.  I'll implement these functions in subsequent
103769        patches.
103770
103771        * html/HTMLConstructionSite.h:
103772        (WebCore::HTMLConstructionSite::insertLeadingWhitespace):
103773        (WebCore::HTMLConstructionSite::insertLeadingWhitespaceWithActiveFormattingElements):
103774        * html/HTMLTreeBuilder.cpp:
103775        (WebCore::HTMLTreeBuilder::processCharacter):
103776        * html/HTMLTreeBuilder.h:
103777        (WebCore::HTMLTreeBuilder::skipLeadingWhitespace):
103778
1037792010-07-08  Tony Chang  <tony@chromium.org>
103780
103781        Reviewed by Ojan Vafai.
103782
103783        WebCore::InsertLineBreakCommand::shouldUseBreakElement ReadAV@NULL
103784        https://bugs.webkit.org/show_bug.cgi?id=30116
103785        Fixing the crash causes text insertions on hidden elements to get ignored
103786        (not a new bug).  This is https://bugs.webkit.org/show_bug.cgi?id=40342
103787
103788        Test: editing/inserting/return-key-in-hidden-textarea.html
103789
103790        * editing/InsertLineBreakCommand.cpp:
103791        (WebCore::InsertLineBreakCommand::doApply):
103792        * editing/InsertParagraphSeparatorCommand.cpp:
103793        (WebCore::InsertParagraphSeparatorCommand::doApply):
103794
1037952010-07-08  Sam Weinig  <sam@webkit.org>
103796
103797        Reviewed by Oliver Hunt.
103798
103799        Fix for https://bugs.webkit.org/show_bug.cgi?id=41923
103800        TimeRanges should expose a JS constructor
103801
103802        * html/TimeRanges.idl: Remove [OmitConstructor].
103803        * page/DOMWindow.idl: Add constructor.
103804
1038052010-07-08  Erik Arvidsson  <arv@chromium.org>
103806
103807        Reviewed by Ojan Vafai.
103808
103809        Add missing padding-end and margin-end CSS properties.
103810        https://bugs.webkit.org/show_bug.cgi?id=25761
103811
103812        Tests: fast/css/margin-start-end.html
103813               fast/css/padding-start-end.html
103814
103815        * css/CSSComputedStyleDeclaration.cpp:
103816        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
103817        * css/CSSParser.cpp:
103818        (WebCore::CSSParser::parseValue):
103819        * css/CSSPropertyNames.in:
103820        * css/CSSStyleSelector.cpp:
103821        (WebCore::CSSStyleSelector::applyProperty):
103822        * inspector/front-end/SourceCSSTokenizer.js:
103823        (WebInspector.SourceCSSTokenizer):
103824
1038252010-07-08  Aaron Boodman  <aa@chromium.org>
103826
103827        Reviewed by Timothy Hatcher.
103828
103829        Add the ability for user scripts and user styles to affect just the top frame.
103830
103831        https://bugs.webkit.org/show_bug.cgi?id=41529
103832
103833        Tests: userscripts/user-script-all-frames.html
103834               userscripts/user-script-top-frame-only.html
103835               userscripts/user-style-all-frames.html
103836               userscripts/user-style-top-frame-only.html
103837
103838        * WebCore.base.exp: Update PageGroup method signatures.
103839        * dom/Document.cpp:
103840        (WebCore::Document::pageGroupUserSheets): Check allFrames before injecting.
103841        * page/Frame.cpp:
103842        (WebCore::Frame::injectUserScriptsForWorld): Ditto.
103843        * page/PageGroup.cpp:
103844        (WebCore::PageGroup::addUserScriptToWorld):
103845        (WebCore::PageGroup::addUserStyleSheetToWorld):
103846        * page/PageGroup.h:
103847        * page/UserScript.h:
103848        (WebCore::UserScript::UserScript):
103849        (WebCore::UserScript::injectedFrames):
103850        * page/UserScriptTypes.h:
103851        (WebCore::):
103852        * page/UserStyleSheet.h:
103853        (WebCore::UserStyleSheet::UserStyleSheet):
103854        (WebCore::UserStyleSheet::injectedFrames):
103855
1038562010-07-08  Adele Peterson  <adele@apple.com>
103857
103858        Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.
103859
103860        Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
103861        <rdar://problem/8158561> Missing plug-in indicator should have a pressed state
103862
103863        Test: plugins/clicking-missing-plugin-fires-delegate.html
103864
103865        * html/HTMLPlugInElement.cpp:
103866        (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize m_isCapturingMouseEvents.
103867        (WebCore::HTMLPlugInElement::detach): If we're still capturing when getting detached, clear the capturing node on the EventHandler.
103868        (WebCore::HTMLPlugInElement::defaultEventHandler): Call handleMissingPluginIndicatorEvent when the missing plugin indicator is showing.
103869        * html/HTMLPlugInElement.h:
103870        (WebCore::HTMLPlugInElement::isCapturingMouseEvents):
103871        (WebCore::HTMLPlugInElement::setIsCapturingMouseEvents):
103872        * page/ChromeClient.h:
103873        (WebCore::ChromeClient::shouldMissingPluginMessageBeButton): Added default implementation.
103874        * rendering/RenderEmbeddedObject.cpp:
103875        (WebCore::replacementTextRoundedRectPressedColor):
103876        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
103877        (WebCore::RenderEmbeddedObject::setMissingPluginIndicatorIsPressed): Added.  Causes a repaint when the state changes.
103878        (WebCore::RenderEmbeddedObject::paintReplaced): Call getReplacementTextGeometry.
103879        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Factored this out so it can be used in paintReplaced and in isInMissingPluginIndicator.
103880        (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Hit test to see if the mouse event is in the missing plugin indicator.
103881        (WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent): Capture mouse events as needed and track the pressed appearance.
103882        * rendering/RenderEmbeddedObject.h:
103883
1038842010-07-08  James Robinson  <jamesr@google.com>
103885
103886        Reviewed by Darin Fisher.
103887
103888        Allow resizing and getting the texture id from an offscreen GLES2Context
103889        https://bugs.webkit.org/show_bug.cgi?id=41828
103890
103891        When using an offscreen GLES2Context the caller needs to be able to resize the backing store
103892        managed by the embedder and get access to a texture id to pass to the compositor.  WebGL
103893        does these actions in an indirect way, it will be refactored to use this path.
103894
103895        * platform/chromium/GLES2Context.h:
103896
1038972010-07-02  Ojan Vafai  <ojan@chromium.org>
103898
103899        Reviewed by Adam Barth.
103900
103901        Crash in RenderObject::containingBlock when clearing selection in a display:none node.
103902        https://bugs.webkit.org/show_bug.cgi?id=41523
103903
103904        updateStyleIfNeeded before clearing the selection in the RenderView. Otherwise,
103905        m_selectionStart and m_selectionEnd in RenderView point to garbage object.
103906        This fixes the crash because updateStyleIfNeeded clears the selection before
103907        clobbering nodes that contain the selection.
103908
103909        Test: editing/selection/crash-on-clear-selection.html
103910
103911        * editing/SelectionController.cpp:
103912        (WebCore::SelectionController::updateAppearance):
103913
1039142010-07-08  Brent Fulgham  <bfulgham@webkit.org>
103915
103916        Reviewed by Xan Lopez.
103917
103918        Correct a mistake in calculating squiggle extents.  The entire
103919        quantity was being divided by two, rather than just the unitWidth.
103920        This error caused the squiggle to be about half the expected length.
103921
103922        * platform/graphics/cairo/DrawErrorUnderline.h:
103923        (drawErrorUnderline):
103924
1039252010-07-08  John Abd-El-Malek  <jam@chromium.org>
103926
103927        Reviewed by Darin Fisher.
103928
103929        [V8] Navigation policy doesn't play nicely with pepper plugins
103930        https://bugs.webkit.org/show_bug.cgi?id=41864
103931
103932        * bindings/v8/V8Utilities.cpp:
103933        (WebCore::callingOrEnteredFrame):
103934        (WebCore::shouldAllowNavigation):
103935        (WebCore::navigateIfAllowed):
103936
1039372010-07-08  Jon Honeycutt  <jhoneycutt@apple.com>
103938
103939        Missing plug-ins may cause an assertion failure.
103940        https://bugs.webkit.org/show_bug.cgi?id=41900
103941
103942        Reviewed by Adele Peterson.
103943
103944        Test: plugins/missing-plugin.html
103945
103946        * plugins/PluginView.cpp:
103947        (WebCore::PluginView::~PluginView):
103948        Check whether m_instance is null before trying to remove it from the
103949        map. Trying to remove a null instance results in an assertion failure.
103950        (WebCore::PluginView::PluginView):
103951        Initialize m_instance to 0, because there is an early return that may
103952        skip its being assigned its proper value.
103953
1039542010-07-08  Darin Adler  <darin@apple.com>
103955
103956        Reviewed by Oliver Hunt.
103957
103958        Fix a test failure seen only on the Leopard bot.
103959
103960        * bindings/js/JSSharedWorkerCustom.cpp:
103961        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
103962        If SharedWorker::create returns an exception, don't try to create a wrapper
103963        for its return value, which can be 0.
103964
1039652010-07-08  Albert J. Wong  <ajwong@chromium.org>
103966
103967        Not reviewed, build break fix for chromium.
103968
103969        A new MediaControlElementType enum was added which caused a warning in
103970        the Chromium build.
103971
103972        * rendering/RenderMediaControlsChromium.cpp:
103973        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
103974            Add MediaVolumeSliderMuteButton enumartion entry.
103975
1039762010-07-08  Dmitry Titov  <dimich@chromium.org>
103977
103978        Reviewed by David Levin.
103979
103980        Remove IDL declarations and stubs for navigator.registerProtocolHandler and navigator.registerContentHandler.
103981        https://bugs.webkit.org/show_bug.cgi?id=41878
103982
103983        This is practically a rollback of http://trac.webkit.org/changeset/50477.
103984
103985        * page/Chrome.cpp:
103986        * page/Chrome.h:
103987        * page/ChromeClient.h:
103988        * page/Navigator.cpp:
103989        * page/Navigator.h:
103990        * page/Navigator.idl:
103991
1039922010-07-08  Xan Lopez  <xlopez@igalia.com>
103993
103994        Reviewed by Darin Adler.
103995
103996        Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
103997        https://bugs.webkit.org/show_bug.cgi?id=41823
103998
103999        Create the ResourceHandle manually for now instead of calling
104000        ::create, since that methods does a few extra checks that make us
104001        fail a couple of HTTP tests.
104002
104003        * platform/network/soup/ResourceHandleSoup.cpp:
104004        (WebCore::):
104005
1040062010-07-08  Alexey Proskuryakov  <ap@apple.com>
104007
104008        Reviewed by David Levin.
104009
104010        https://bugs.webkit.org/show_bug.cgi?id=41886
104011        Shorten access control failure explanation messages
104012
104013        * loader/CrossOriginAccessControl.cpp:
104014        (WebCore::passesAccessControlCheck):
104015        * loader/CrossOriginPreflightResultCache.cpp:
104016        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
104017        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
104018        Removed "response header field" parts from error text - it's long, but doesn't add much
104019        to header field name.
104020
104021        * platform/network/ResourceErrorBase.cpp:
104022        * platform/network/ResourceErrorBase.h:
104023        * xml/XMLHttpRequest.cpp:
104024        (WebCore::XMLHttpRequest::didFail):
104025        * loader/DocumentThreadableLoader.cpp:
104026        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
104027        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
104028        (WebCore::DocumentThreadableLoader::didReceiveResponse):
104029        (WebCore::DocumentThreadableLoader::preflightFailure):
104030        Renamed the constant for domain. WebCore shouldn't be creating errors observable by WebKit
104031        clients, because it can't create a platform error, and cannot load a localized string.
104032        We don't treat cross origin access check failures as true loading failures, so we don't tell
104033        clients about these.
104034
1040352010-07-08  Eric Carlson  <eric.carlson@apple.com>
104036
104037        Reviewed by Dan Bernstein.
104038
104039        Mac OS X media controls should have a way to adjust volume incrementally
104040        https://bugs.webkit.org/show_bug.cgi?id=41718
104041        <rdar://problem/5679472>
104042
104043        * css/CSSPrimitiveValueMappings.h:
104044        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle MediaVolumeSliderMuteButtonPart.
104045
104046        * css/CSSSelector.cpp: 
104047        (WebCore::CSSSelector::pseudoId): Handle PseudoMediaControlsVolumeSliderMuteButton.
104048        (WebCore::nameToPseudoTypeMap): Define mediaControlsVolumeSliderMuteButton.
104049        (WebCore::CSSSelector::extractPseudoType): Handle PseudoMediaControlsVolumeSliderMuteButton.
104050
104051        * css/CSSSelector.h:
104052        (WebCore::CSSSelector::): Define PseudoMediaControlsVolumeSliderMuteButton.
104053
104054        * css/CSSValueKeywords.in: Define media-volume-slider-mute-button.
104055
104056        * css/mediaControls.css: 
104057        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): New.
104058
104059        * css/mediaControlsQuickTime.css:
104060        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): Add "overflow: visible" 
104061        so volume slider pop-up will be visible.
104062
104063        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): Make 
104064        mute button 14x12 instead of 15x14 so it matches the size in the volume slider.
104065
104066        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
104067        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
104068        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): 
104069        New.
104070
104071        * platform/ThemeTypes.h: Define MediaVolumeSliderMuteButtonPart.
104072
104073        * rendering/MediaControlElements.cpp:
104074        (WebCore::MediaControlInputElement::MediaControlInputElement): Handle MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.
104075        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Add ButtonLocation 
104076        parameter both mute buttons can be created.
104077        (WebCore::MediaControlMuteButtonElement::create): Ditto.
104078
104079        * rendering/MediaControlElements.h: Define MediaVolumeSliderMuteButton and ButtonLocation.
104080
104081        * rendering/RenderMedia.cpp: 
104082        (WebCore::RenderMedia::styleDidChange): Update volume slider mute button.
104083        (WebCore::RenderMedia::createMuteButton): Pass ButtonLocation parameter to MediaControlMuteButtonElement::create.
104084        (WebCore::RenderMedia::createVolumeSliderMuteButton): New.
104085        (WebCore::RenderMedia::updateControls): Deal with volume slider mute button.
104086        (WebCore::RenderMedia::updateVolumeSliderContainer): Don't assume all ports want to position
104087        the volume slider in the same place, call new volumeSliderOffsetFromMuteButton theme function.
104088        (WebCore::RenderMedia::forwardEvent): Handle volume slider mute button.
104089        * rendering/RenderMedia.h:
104090
104091        * rendering/RenderTheme.cpp: 
104092        (WebCore::RenderTheme::paint): Handle MediaVolumeSliderMuteButtonPart.
104093        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): New, return location previously hard
104094        coded in RenderMedia::updateVolumeSliderContainer.
104095        * rendering/RenderTheme.h:
104096
104097        * rendering/RenderThemeMac.h:
104098        * rendering/RenderThemeMac.mm:
104099        (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Deal with the volume slider thumb.
104100        (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): New, call the WKSI paint function 
104101        for this button.
104102        (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto.
104103        (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto.
104104        (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Draw the volume slider parts when
104105        using the new controller UI for a movie that has audio.
104106        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): New, position the volume slider 
104107        directly above the mute button.
104108
104109        * rendering/style/RenderStyleConstants.h: Define MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.
104110
1041112010-07-08  Antonio Gomes  <tonikitoo@webkit.org>
104112
104113        Unreviewed complementary fix for r62815
104114
104115        One last time change made me blind to a "!" in a if statment.
104116
104117        * editing/EditorCommand.cpp:
104118        (WebCore::executeToggleStyle):
104119
1041202010-07-07  Ojan Vafai  <ojan@chromium.org>
104121
104122        Reviewed by Darin Adler.
104123
104124        Regression: Selection anchor + focus swap when arrow keys after setBaseAndExtent
104125        https://bugs.webkit.org/show_bug.cgi?id=32605
104126
104127        Only have selections be non-directional when they are set via the mouse.
104128        Otherwise, all selections are directional.
104129
104130        Test: editing/selection/extend-forward-after-set-base-and-extent.html
104131
104132        * WebCore.base.exp:
104133        * editing/SelectionController.cpp:
104134        (WebCore::SelectionController::setSelection):
104135        * editing/SelectionController.h:
104136        (WebCore::SelectionController::setSelection):
104137        * page/EventHandler.cpp:
104138        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
104139        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
104140        (WebCore::EventHandler::handleMousePressEventTripleClick):
104141        (WebCore::EventHandler::handleMousePressEventSingleClick):
104142        (WebCore::EventHandler::updateSelectionForMouseDrag):
104143
1041442010-07-08  Antonio Gomes  <tonikitoo@webkit.org>
104145
104146        Reviewed by Ojan Vafai.
104147
104148        Refactor platform dependent editing behavior code out of Settings (part II)
104149        https://bugs.webkit.org/show_bug.cgi?id=39854
104150
104151        Mac port is currently the only port relying on a style to be present on the start
104152        of a selection to consider the style as applied or not. All other ports
104153        have to have the style present in all text node of the selection for such.
104154
104155        Patch makes situations that depend on this check like this to be controlled by
104156        the EditingBehavior class.
104157
104158        Refactoring, so no new tests needed.
104159
104160        * editing/EditingBehavior.h:
104161        (WebCore::EditingBehavior::shouldToggleStyleBasedOnStartOfSelection):
104162        * editing/EditorCommand.cpp:
104163        (WebCore::executeToggleStyle):
104164
1041652010-07-08  Anders Carlsson  <andersca@apple.com>
104166
104167        Reviewed by Sam Weinig.
104168
104169        Add stubbed out PluginView class
104170        https://bugs.webkit.org/show_bug.cgi?id=41879
104171
104172        Export functions needed by WebKit2.
104173
104174        * WebCore.exp.in:
104175
1041762010-07-08  Ben Murdoch  <benm@google.com>
104177
104178        Reviewed by Pavel Feldman.
104179
104180        Fix build break in V8ConsoleCustom.cpp
104181        https://bugs.webkit.org/show_bug.cgi?id=40825
104182
104183        No new tests as just fixing a build break.
104184
104185        * bindings/v8/custom/V8ConsoleCustom.cpp: Guard profilesAccessorGetter
104186            appropriately.
104187
1041882010-07-08  Sam Weinig  <sam@webkit.org>
104189
104190        Reviewed by Anders Carlsson.
104191
104192        Pass Page to BackForwardControllerClient::createBackForwardList since it
104193        may be called before implementations of BackForwardControllerClient have
104194        access to a Page.
104195
104196        * history/BackForwardController.cpp:
104197        (WebCore::BackForwardController::BackForwardController):
104198        * history/BackForwardControllerClient.h:
104199
1042002010-07-08  Sheriff Bot  <webkit.review.bot@gmail.com>
104201
104202        Unreviewed, rolling out r62778.
104203        http://trac.webkit.org/changeset/62778
104204        https://bugs.webkit.org/show_bug.cgi?id=41866
104205
104206        Broke svg/W3C-SVG-1.1/text-intro-05-t.svg in debug (Requested
104207        by pfeldman on #webkit).
104208
104209        * platform/graphics/chromium/FontLinux.cpp:
104210        (WebCore::TextRunWalker::TextRunWalker):
104211        (WebCore::TextRunWalker::~TextRunWalker):
104212
1042132010-07-08  Vitaly Repeshko  <vitalyr@chromium.org>
104214
104215        Reviewed by Pavel Feldman.
104216
104217        Fix adoptRef usage violation in IDBObjectStoreRequest
104218        https://bugs.webkit.org/show_bug.cgi?id=41869
104219
104220        * storage/IDBObjectStoreRequest.cpp:
104221        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
104222
1042232010-07-08  Sam Weinig  <sam@webkit.org>
104224
104225        Another chromium build fix.
104226
104227        * history/BackForwardListChromium.cpp:
104228        (WebCore::BackForwardListImpl::goBack):
104229        (WebCore::BackForwardListImpl::goForward):
104230        (WebCore::BackForwardListImpl::backListWithLimit):
104231        (WebCore::BackForwardListImpl::forwardListWithLimit):
104232        (WebCore::BackForwardListImpl::containsItem):
104233        (WebCore::BackForwardListImpl::removeItem):
104234
1042352010-07-08  Sam Weinig  <sam@webkit.org>
104236
104237        Fix Chromium build.
104238
104239        * WebCore.gyp/WebCore.gyp:
104240
1042412010-07-08  Sam Weinig  <sam@webkit.org>
104242
104243        Reviewed by Anders Carlsson.
104244
104245        Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
104246        Convert BackForwardList to an abstract base class and add BackForwardListImpl
104247        as the concrete implementation of it.
104248
104249        * CMakeLists.txt:
104250        * GNUmakefile.am:
104251        * WebCore.exp.in:
104252        * WebCore.gypi:
104253        * WebCore.pro:
104254        * WebCore.vcproj/WebCore.vcproj:
104255        * WebCore.xcodeproj/project.pbxproj:
104256        * history/BackForwardController.cpp:
104257        (WebCore::BackForwardController::BackForwardController):
104258        * history/BackForwardController.h:
104259        * history/BackForwardList.cpp: Removed.
104260        * history/BackForwardList.h:
104261        (WebCore::BackForwardList::~BackForwardList):
104262        (WebCore::BackForwardList::isBackForwardListImpl):
104263        (WebCore::BackForwardList::BackForwardList):
104264        * history/BackForwardListChromium.cpp:
104265        * history/BackForwardListImpl.cpp: Copied from WebCore/history/BackForwardList.cpp.
104266        * history/BackForwardListImpl.h: Copied from WebCore/history/BackForwardList.h.
104267        (WebCore::BackForwardListImpl::isBackForwardListImpl):
104268
1042692010-07-08  Vitaly Repeshko  <vitalyr@chromium.org>
104270
104271        Reviewed by Pavel Feldman.
104272
104273        Fix adoptRef usage violations (mostly in chromium)
104274        https://bugs.webkit.org/show_bug.cgi?id=41863
104275
104276        * bindings/v8/V8DOMWrapper.cpp:
104277        (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
104278        * bindings/v8/V8NodeFilterCondition.h:
104279        (WebCore::V8NodeFilterCondition::create):
104280        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
104281        (WebCore::getNamedItems):
104282        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
104283        (WebCore::getNamedItems):
104284        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
104285        (WebCore::V8HTMLFormElement::namedPropertyGetter):
104286        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
104287        (WebCore::V8HTMLSelectElement::namedPropertyGetter):
104288        * bindings/v8/custom/V8NamedNodesCollection.h:
104289        (WebCore::V8NamedNodesCollection::create):
104290        (WebCore::V8NamedNodesCollection::V8NamedNodesCollection):
104291        * storage/IDBDatabaseRequest.cpp:
104292        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
104293        * storage/IndexedDatabaseRequest.cpp:
104294        (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
104295
1042962010-07-08  Xan Lopez  <xlopez@igalia.com>
104297
104298        Reviewed by Gustavo Noronha.
104299
104300        Silence a few noisy build rules.
104301
104302        * GNUmakefile.am:
104303
1043042010-07-08  Andreas Kling  <andreas.kling@nokia.com>
104305
104306        Reviewed by Simon Hausmann.
104307
104308        [Qt] Canvas putImageData() resets painter state
104309        https://bugs.webkit.org/show_bug.cgi?id=41827
104310
104311        Use drawImage() to copy pixels in putImageData() instead of QPixmap::operator=
104312
104313        Test: fast/canvas/canvas-state-intact-after-putImageData.html
104314
104315        * platform/graphics/qt/ImageBufferQt.cpp:
104316        (WebCore::putImageData):
104317
1043182010-07-08  Andrey Kosyakov  <caseq@chromium.org>
104319
104320        Reviewed by Pavel Feldman.
104321
104322        Web Inspector: Do not invoke shortcuts popup upon bare '?' if it's typed
104323        into an input field.
104324        https://bugs.webkit.org/show_bug.cgi?id=41760
104325
104326        * inspector/front-end/inspector.js:
104327        (WebInspector.documentKeyDown):
104328
1043292010-07-08  Patrick Gansterer  <paroga@paroga.com>
104330
104331        Reviewed by Kent Tamura.
104332
104333        [WINCE] Buildfix for EventHandler
104334        https://bugs.webkit.org/show_bug.cgi?id=41829
104335
104336        SM_MENUDROPALIGNMENT isn't supported on WinCE.
104337
104338        * page/EventHandler.cpp:
104339        (WebCore::EventHandler::sendContextMenuEventForKey):
104340
1043412010-07-08  Xiaomei Ji  <xji@chromium.org>
104342
104343        Reviewed by David Levin.
104344
104345        Fix characters with unicode-bidi-mirror property are not correctly
104346        mirrored in Linux.
104347        https://bugs.webkit.org/show_bug.cgi?id=41305
104348
104349        Since harfbuzz does not do mirroring, chromium should iterate each
104350        character in the string and mirror it if needed before passing the
104351        string to harfbuzz for shaping.
104352
104353        Test: fast/text/international/bidi-mirror-he-ar.html
104354
104355        * platform/graphics/chromium/FontLinux.cpp:
104356        (WebCore::TextRunWalker::TextRunWalker):
104357        (WebCore::TextRunWalker::~TextRunWalker):
104358
1043592010-07-08  Nikolas Zimmermann  <nzimmermann@rim.com>
104360
104361        Reviewed by Rob Buis & Dirk Schulze.
104362
104363        SVG text transformed incorrectly when a transform and gradient applied
104364        https://bugs.webkit.org/show_bug.cgi?id=41563
104365
104366        When rendering filled/stroked text with a gradient, RenderSVGResourceGradient creates a mask image,
104367        renders the text into the image, and then clips the current context against that image buffer,
104368        and filling a rect afterwards. This happened in the wrong coordinate space so far. Don't actually
104369        try to compute the right transformation matrix (which failed), but extract it directly from the
104370        GraphicsContext and apply this transformation to the mask image context.
104371
104372        Fixes pixellation in svg/batik/text/textEffect3.svg and makes the new test svg/custom/text-rotated-gradient.svg pass.
104373        Only affects CoreGraphics platforms.
104374
104375        Test: svg/custom/text-rotated-gradient.svg
104376
104377        * rendering/RenderSVGResourceGradient.cpp:
104378        (WebCore::absoluteTransformFromContext):
104379        (WebCore::createMaskAndSwapContextForTextGradient):
104380        (WebCore::clipToTextMask):
104381
1043822010-07-07  Alexander Pavlov  <apavlov@chromium.org>
104383
104384        Reviewed by Darin Fisher.
104385
104386        [Chromium] Crash when re-entering message loop
104387        https://bugs.webkit.org/show_bug.cgi?id=41697
104388
104389        A Chromium-specific test case will be submitted into Chromium shortly.
104390
104391        * page/PageGroupLoadDeferrer.cpp:
104392        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
104393        * page/PageGroupLoadDeferrer.h:
104394        (WebCore::PageGroupLoadDeferrer::nextDeferrer):
104395
1043962010-07-07  Yury Semikhatsky  <yurys@chromium.org>
104397
104398        Reviewed by Pavel Feldman.
104399
104400        Web Inspector: skip breakpoints when script is already paused
104401        https://bugs.webkit.org/show_bug.cgi?id=41768
104402
104403        Test: inspector/debugger-no-nested-pause.html
104404
104405        * bindings/v8/ScriptDebugServer.cpp:
104406        (WebCore::ScriptDebugServer::handleV8DebugEvent):
104407
1044082010-07-08  Eric Seidel  <eric@webkit.org>
104409
104410        Reviewed by Adam Barth.
104411
104412        WebCore/benchmarks/parser/html-parser.html spends a lot of time in deprecatedParseURL
104413        https://bugs.webkit.org/show_bug.cgi?id=41807
104414
104415        Wow.  This was an awful bug.  We were always taking the slow case
104416        every time we parsed a URL.  This is about a 10% speedup on our
104417        parsing benchmark, and might cause as much as a 1% speedup for Apple's
104418        PLT (even though I can't run that).
104419
104420        We still spend a lot of time in deprecatedParseURL.  We might consider
104421        inlining it if its being kept around much longer.
104422
104423        No behavioral change, just fixing a broken optimization.
104424
104425        * css/CSSHelper.cpp:
104426        (WebCore::deprecatedParseURL):
104427         - We only need to strip characters <= '\r', not >.
104428
1044292010-07-08  Yury Semikhatsky  <yurys@chromium.org>
104430
104431        Reviewed by Pavel Feldman.
104432
104433        Web Inspector: factor out common part of debugger tests
104434        https://bugs.webkit.org/show_bug.cgi?id=41836
104435
104436        * bindings/js/ScriptDebugServer.cpp:
104437        (WebCore::ScriptDebugServer::recompileAllJSFunctions): postpone script recompilation if JS stack is not empty.
104438
1044392010-07-08  Patrick Gansterer  <paroga@paroga.com>
104440
104441        Reviewed by Kent Tamura.
104442
104443        Buildfix for !ENABLE(SVG_ANIMATION) after r51567.
104444        https://bugs.webkit.org/show_bug.cgi?id=41803
104445
104446        * svg/SVGDocumentExtensions.cpp:
104447        (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
104448
1044492010-07-07  Pavel Podivilov  <podivilov@chromium.org>
104450
104451        Reviewed by Nate Chapin.
104452
104453        [V8] Fix document wrapper memory leak in bindings.
104454        https://bugs.webkit.org/show_bug.cgi?id=41771
104455
104456        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
104457        (WebCore::V8HTMLDocument::WrapInShadowObject): Do not create static persistent handle
104458        to shadowConstructor because it keeps the first context alive forever.
104459
1044602010-07-07  Andreas Kling  <andreas.kling@nokia.com>
104461
104462        Reviewed by Tor Arne Vestbø.
104463
104464        [Qt] Enable smooth pixmap transforms by default
104465        https://bugs.webkit.org/show_bug.cgi?id=41774
104466
104467        * platform/graphics/qt/GraphicsContextQt.cpp:
104468        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
104469        (WebCore::GraphicsContext::setImageInterpolationQuality):
104470
1044712010-07-07  Jesus Sanchez-Palencia  <jesus@webkit.org>
104472
104473        Reviewed by Antti Koivisto.
104474
104475        [Qt] Missing include to build QtWebKit with WebKit2 in MediaPlayerPrivatePhonon.cpp
104476        https://bugs.webkit.org/show_bug.cgi?id=41767
104477
104478        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add Logging.h include
104479
1044802010-07-07  Pavel Podivilov  <podivilov@chromium.org>
104481
104482        Reviewed by Yury Semikhatsky.
104483
104484        Web Inspector: Move v8-related script offset conversion to DebuggerScript.js
104485        https://bugs.webkit.org/show_bug.cgi?id=41755
104486
104487        * bindings/v8/ScriptDebugServer.cpp:
104488        (WebCore::ScriptDebugServer::dispatchDidParseSource):
104489
1044902010-07-07  Nicolas Weber  <thakis@chromium.org>
104491
104492        Reviewed by Dimitri Glazkov.
104493        https://bugs.webkit.org/show_bug.cgi?id=41580
104494
104495        Fix rendering of radial gradients in skia if both points of the
104496        gradient are the same and r0 > 0.
104497
104498        Test: fast/gradients/radial-centered.html
104499
104500        * platform/graphics/skia/GradientSkia.cpp:
104501        (WebCore::Gradient::platformGradient):
104502
1045032010-06-18  MORITA Hajime  <morrita@google.com>
104504
104505        Reviewed by Ojan Vafai.
104506
104507        https://bugs.webkit.org/show_bug.cgi?id=26526
104508        Add support for input events (oninput) to contentEditable elements
104509        
104510        Made a default event handler on the Node to dispatch an input event when
104511        webkitEditableContentChanged arrived.
104512        
104513        Test: fast/events/event-input-contentEditable.html
104514
104515        * dom/Node.cpp:
104516        (WebCore::Node::defaultEventHandler):
104517
1045182010-07-07  Darin Adler  <darin@apple.com>
104519
104520        Reviewed by Anders Carlsson.
104521
104522        Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
104523        https://bugs.webkit.org/show_bug.cgi?id=41823
104524
104525        * platform/network/android/ResourceHandleAndroid.cpp:
104526        (WebCore::ResourceHandle::loadResourceSynchronously): Use adoptRef and new instead
104527        of allocating an object on the stack.
104528        * platform/network/curl/ResourceHandleCurl.cpp:
104529        (WebCore::ResourceHandle::loadResourceSynchronously): Ditto.
104530        * platform/network/qt/ResourceHandleQt.cpp:
104531        (WebCore::ResourceHandle::loadResourceSynchronously): Ditto.
104532
104533        * platform/network/soup/ResourceHandleSoup.cpp:
104534        (WebCore::ResourceHandle::loadResourceSynchronously): Use create instead of
104535        allocating an object on the stack.
104536
1045372010-07-07  Joseph Pecoraro  <joepeck@webkit.org>
104538
104539        Rubber-stamped by Pavel Feldman.
104540
104541        Web Inspector: All RefPtr arguments and return values should be changed to PassRefPtr according to common practice.
104542        https://bugs.webkit.org/show_bug.cgi?id=41759
104543
104544        * inspector/CodeGeneratorInspector.pm:
104545
1045462010-07-07  Chris Fleizach  <cfleizach@apple.com>
104547
104548        Reviewed by Darin Adler.
104549
104550        AX: TextArea should return AXSelectedTextRange of 0,0 if the cursor is not in the text area
104551        https://bugs.webkit.org/show_bug.cgi?id=41810
104552
104553        Test: platform/mac/accessibility/selected-text-range-for-empty-textarea.html
104554
104555        * accessibility/mac/AccessibilityObjectWrapper.mm:
104556        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
104557
1045582010-07-07  Chris Fleizach  <cfleizach@apple.com>
104559
104560        Reviewed by Beth Dakin.
104561
104562        AX: Data table heuristics: assume data table if at least one row or column of TH cells exist
104563        https://bugs.webkit.org/show_bug.cgi?id=41806
104564
104565        Test: platform/mac/accessibility/table-with-row-col-of-headers.html
104566
104567        * accessibility/AccessibilityTable.cpp:
104568        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
104569
1045702010-07-07  Mark Rowe  <mrowe@apple.com>
104571
104572        Fix the build.
104573
104574        Xcode decided to change the reference type from "Relative to Build Product" to "Relative to Group"
104575        when I moved the file between folders. That's incredibly confusing so I'll file a bug against Xcode.
104576
104577        * WebCore.xcodeproj/project.pbxproj:
104578
1045792010-07-07  Mark Rowe  <mrowe@apple.com>
104580
104581        Fix the MathML build.
104582
104583        * html/HTMLTreeBuilder.cpp:
104584        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Fix a typo in a variable name.
104585
1045862010-07-07  James Hawkins  <jhawkins@chromium.org>
104587
104588        Reviewed by Dimitri Glazkov.
104589
104590        Move setSuggestedValue() and suggestedValue() back to public as it's
104591        now used by WebInputElement.
104592        https://bugs.webkit.org/show_bug.cgi?id=41785
104593
104594        No new tests, as the method is only being used by Chromium's WebKit
104595        API.
104596
104597        * html/HTMLInputElement.h:
104598
1045992010-07-07  Mark Rowe  <mrowe@apple.com>
104600
104601        Rubber-stamped by Sam Weinig.
104602
104603        Clean up the project file slightly.
104604
104605        Remove obsolete .exp files, add the new .exp.in file, and move ExportFileGenerator.cpp in to the Exports collection.
104606
104607        * WebCore.xcodeproj/project.pbxproj:
104608
1046092010-07-07  James Robinson  <jamesr@chromium.org> and Vincent Scheib <schieb@chromium.org>
104610
104611        Reviewed by Dimitri Glazkov.
104612
104613        WebCore::GLES2Context should allow creating onscreen and offscreen contexts
104614        https://bugs.webkit.org/show_bug.cgi?id=41492
104615
104616        You should be able to create a GLES2Context for rendering both on screen
104617        and off screen (to a texture).  Chromium's layer renderer (used for compositing)
104618        does the former.  Currently WebGL does the latter by side stepping the
104619        WebCore::GLES2Context API completely.  Longer term it should move over to using this.
104620
104621        * platform/chromium/GLES2Context.h:
104622        * platform/graphics/chromium/LayerRendererChromium.cpp:
104623        (WebCore::LayerRendererChromium::initGL):
104624
1046252010-07-07  Simon Fraser  <simon.fraser@apple.com>
104626
104627        Reviewed by Dan Bernstein.
104628
104629        Document::ownerElement() should return an HTMLFrameOwnerElement
104630        https://bugs.webkit.org/show_bug.cgi?id=41789
104631
104632        Change return type of RenderLayerCompositor::enclosingIFrameElement() to
104633        HTMLFrameOwnerElement*. No behavioral changes.
104634
104635        * rendering/RenderLayerCompositor.cpp:
104636        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
104637        (WebCore::RenderLayerCompositor::enclosingIFrameElement):
104638        * rendering/RenderLayerCompositor.h:
104639
1046402010-07-07  Adam Barth  <abarth@webkit.org>
104641
104642        Reviewed by Sam Weinig.
104643
104644        Add reverseFind to Vector and deploy in HTML5 parser
104645        https://bugs.webkit.org/show_bug.cgi?id=41778
104646
104647        This patch moves reverseFind from begin an
104648        HTMLFormattingElementList-specific concept to begin a general Vector
104649        concept.  Also, instead of using Entry as the type for operator==, we
104650        now use elements directly.  The old code compiled because the Entry
104651        constructor wasn't explicit, which means we were churning refs on every
104652        comparison!
104653
104654        * html/HTMLFormattingElementList.cpp:
104655        (WebCore::HTMLFormattingElementList::find):
104656        (WebCore::HTMLFormattingElementList::bookmarkFor):
104657        (WebCore::HTMLFormattingElementList::insertAt):
104658        (WebCore::HTMLFormattingElementList::remove):
104659        * html/HTMLFormattingElementList.h:
104660        (WebCore::HTMLFormattingElementList::Entry::operator==):
104661        (WebCore::HTMLFormattingElementList::Entry::operator!=):
104662
1046632010-07-07  Darin Adler  <darin@apple.com>
104664
104665        Reviewed by Adam Barth.
104666
104667        Turn on adoptRef assertion for RefCounted
104668        https://bugs.webkit.org/show_bug.cgi?id=41547
104669
104670        The WebCore part of this fixes all the assertions I saw in testing.
104671
104672        * html/FileReader.cpp:
104673        (WebCore::FileReader::readAsBinaryString): Added null checks.
104674        Callers from JavaScript can pass the wrong type, which becomes null.
104675        (WebCore::FileReader::readAsText): Ditto.
104676        (WebCore::FileReader::readAsDataURL): Ditto.
104677
104678        * html/FileStreamClient.h: Removed unneeded include.
104679
104680        * html/FileStreamProxy.cpp:
104681        (WebCore::FileStreamProxy::FileStreamProxy): Made inline and moved
104682        some of the code, including the ref, into the create function.
104683        (WebCore::FileStreamProxy::create): Moved some of the code from
104684        the constructor here. It's safe to ref once the object has been
104685        created and adopted.
104686
104687        * html/FileStreamProxy.h: Changed create function to no longer be
104688        inlined. Also removed an unneeded include.
104689
104690        * page/EventSource.cpp:
104691        (WebCore::EventSource::EventSource): Made inline, changed arguments
104692        and moved code that involves the need to ref this object into the
104693        create function. Also moved failure handling out there since it's
104694        cleaner to have a function that fails than a constructor. For
104695        example, the function can return 0.
104696        (WebCore::EventSource::create): Moved some of the code from the
104697        constructor here.
104698
104699        * page/EventSource.h: Removed unneeded includes. Made the
104700        creation function non-inline. Changed the arguments to the constructor.
104701
104702        * storage/StorageAreaSync.cpp:
104703        (WebCore::StorageAreaSync::StorageAreaSync): Made inline. Moved
104704        code that requires ref'ing this object out to the create function.
104705        (WebCore::StorageAreaSync::create): Moved some of the code from the
104706        constructor here.
104707
104708        * storage/StorageAreaSync.h: Removed unneeded includes. Changed
104709        the type of one of the constructor arguments from String to
104710        const String&.
104711
104712        * workers/SharedWorker.cpp:
104713        (WebCore::SharedWorker::SharedWorker): Made inline. Moved most of
104714        the setup code out of here into the create function.
104715        (WebCore::SharedWorker::create): Moved the code here.
104716
104717        * workers/SharedWorker.h: Removed unneeded includes. Made the
104718        create function non-inline. Marked the toSharedWorker override private
104719        to catch people doing an unnecessary virtual function call if they
104720        already have a SharedWorker*.
104721
104722        * workers/Worker.cpp:
104723        (WebCore::Worker::Worker): Made inline. Moved most of the setup code
104724        out of here into the create function.
104725        (WebCore::Worker::create): Moved the code here.
104726
104727        * workers/Worker.h: Made the create function non-inline. Changed
104728        the arguments to the constructor.
104729
1047302010-07-07  Chris Fleizach  <cfleizach@apple.com>
104731
104732        Reviewed by Beth Dakin.
104733
104734        AX: when a node's role changes, the AX tree might need to be updated
104735        https://bugs.webkit.org/show_bug.cgi?id=41784
104736
104737        Test: platform/mac/accessibility/update-children-when-aria-role-changes.html
104738
104739        * accessibility/AccessibilityRenderObject.cpp:
104740        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
104741        (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
104742
1047432010-07-07  Chris Fleizach  <cfleizach@apple.com>
104744
104745        Reviewed by Beth Dakin.
104746
104747        AX: when an element uses role="text" but no aria-label, it should default to textUnderElement()
104748        https://bugs.webkit.org/show_bug.cgi?id=41780
104749
104750        Test: platform/mac/accessibility/static-text-role-uses-text-under-element.html
104751
104752        * accessibility/AccessibilityRenderObject.cpp:
104753        (WebCore::AccessibilityRenderObject::stringValue):
104754           Fallback to textUnderElement() if text() does not return any explicitly set text.
104755        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 
104756           Remove erroneous check to ignore text elements that didn't have a explicit text value.
104757
1047582010-07-07  Simon Fraser  <simon.fraser@apple.com>
104759
104760        Reviewed by Darin Adler.
104761
104762        Document::ownerElement() should return an HTMLFrameOwnerElement
104763        https://bugs.webkit.org/show_bug.cgi?id=41789
104764
104765        Change the return type of Document::ownerElement() to an HTMLFrameOwnerElement, for better
104766        type checking. No behavioral changes.
104767
104768        * accessibility/mac/AccessibilityObjectWrapper.mm:
104769        * dom/Document.cpp:
104770        (WebCore::Document::ownerElement):
104771        * dom/Document.h:
104772        * editing/SelectionController.cpp:
104773        * rendering/RenderBoxModelObject.cpp:
104774        * rendering/RenderLayer.cpp:
104775        * rendering/RenderView.cpp:
104776
1047772010-07-07  Simon Fraser  <simon.fraser@apple.com>
104778
104779        Reviewed by Dan Bernstein.
104780
104781        REGRESSION: GMail becomes blank after closing other tabs
104782        https://bugs.webkit.org/show_bug.cgi?id=40421
104783
104784        RenderLayerCompositor's attach/detachRootPlatformLayer methods use
104785        setNeedsStyleRecalc() in order to trigger acclerated compositing layers
104786        to be hooked together across iframe boundaries. However, it was possible
104787        for these to get called while inside of Document::recalcStyle(), which
104788        is bad because it can cause the recalc to fail to get processed.
104789        
104790        Fix this by using the existing queuePostAttachCallback() functionality
104791        to delay the call to setNeedsStyleRecalc() if post-attach callbacks 
104792        are suspended (indicating that we're inside recalcStyle()).
104793        
104794        No new tests because I wasn't able to make a test that shows the problem.
104795
104796        * dom/ContainerNode.h: Make queuePostAttachCallback() public.
104797        * dom/ContainerNode.cpp:
104798        (WebCore::ContainerNode::postAttachCallbacksAreSuspended): Added; returns
104799        whether s_attachDepth is non-zero.
104800
104801        * rendering/RenderLayerCompositor.cpp:
104802        (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call scheduleNeedsStyleRecalc()
104803        instead of setNeedsStyleRecalc().
104804        (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto.
104805        (WebCore::needsStyleRecalcCallback): Here we call setNeedsStyleRecalc().
104806        (WebCore::RenderLayerCompositor::scheduleNeedsStyleRecalc):
104807        (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
104808        * rendering/RenderLayerCompositor.h: Add scheduleNeedsStyleRecalc().
104809
1048102010-07-06  Simon Fraser  <simon.fraser@apple.com>
104811
104812        Reviewed by Dan Bernstein.
104813
104814        Incorrect compositing order with negative z-index
104815        https://bugs.webkit.org/show_bug.cgi?id=38959
104816        
104817        When painting the contents of compositing layers whose phase is "GraphicsLayerPaintBackground"
104818        (indicating that they are used for the background of elements with negative z-index children),
104819        we need to paint the non-composited negative-z-order descendants at the end of the background phase, so
104820        they appear behind composited negative-z-order descendants.
104821
104822        Test: compositing/z-order/negative-z-index.html
104823
104824        * rendering/RenderLayerBacking.cpp:
104825        (WebCore::RenderLayerBacking::paintIntoLayer):
104826
1048272010-07-06  Simon Fraser  <simon.fraser@apple.com>
104828
104829        Reviewed by Dan Bernstein.
104830
104831        Incorrect compositing order with negative z-index
104832        https://bugs.webkit.org/show_bug.cgi?id=38959
104833
104834        Prerequisite: adopt new paintList() method that was added when painting compositing layer contents.
104835        No behavioral changes.
104836
104837        * rendering/RenderLayerBacking.cpp:
104838        (WebCore::RenderLayerBacking::paintIntoLayer):
104839
1048402010-07-07  Adam Barth  <abarth@webkit.org>
104841
104842        Unreviewed.
104843
104844        Fix ASSERT in Eric's previous patch.  I think he tested his patch in
104845        Release and not Debug.
104846
104847        * html/HTMLFormattingElementList.h:
104848        (WebCore::HTMLFormattingElementList::Entry::Entry):
104849        (WebCore::HTMLFormattingElementList::findIndex):
104850
1048512010-07-07  Eric Seidel  <eric@webkit.org>
104852
104853        Reviewed by Adam Barth.
104854
104855        Grease the TreeBuilder's lightning
104856        https://bugs.webkit.org/show_bug.cgi?id=41756
104857
104858        Brings the new TreeBuilder from 7s to 3s on the parser benchmark.
104859        This makes performance comparable to the old parser.
104860
104861        We have not begun to fight!  There is so much fat left on these bones.
104862
104863        * html/HTMLFormattingElementList.cpp:
104864        (WebCore::HTMLFormattingElementList::find):
104865        (WebCore::HTMLFormattingElementList::bookmarkFor):
104866        (WebCore::HTMLFormattingElementList::insertAt):
104867        (WebCore::HTMLFormattingElementList::remove):
104868        * html/HTMLFormattingElementList.h:
104869        (WebCore::HTMLFormattingElementList::findIndex):
104870
1048712010-07-07  Eric Seidel  <eric@webkit.org>
104872
104873        Reviewed by Adam Barth.
104874
104875        HTMLTreeBuilder is way too slow
104876        https://bugs.webkit.org/show_bug.cgi?id=41754
104877
104878        This takes us from 14s to 7s on our parsing benchmark.
104879        That's still much slower than the old tree builder, but there
104880        is a huge amount of fat left to trim.
104881
104882        Vector<T> wasn't able to inline all the Entry functions when
104883        they were buried in the cpp.  Turns out the active formatting elements
104884        list is very hot.
104885
104886        I'm not sure Vector<T> is going to be the right data structure for us
104887        in the end, but it has done alright for bring-up.
104888
104889        * html/HTMLFormattingElementList.cpp:
104890        * html/HTMLFormattingElementList.h:
104891        (WebCore::HTMLFormattingElementList::Entry::Entry):
104892        (WebCore::HTMLFormattingElementList::Entry::~Entry):
104893        (WebCore::HTMLFormattingElementList::Entry::isMarker):
104894        (WebCore::HTMLFormattingElementList::Entry::element):
104895        (WebCore::HTMLFormattingElementList::Entry::replaceElement):
104896        (WebCore::HTMLFormattingElementList::Entry::operator==):
104897        (WebCore::HTMLFormattingElementList::Entry::operator!=):
104898
1048992010-07-06  Darin Adler  <darin@apple.com>
104900
104901        Reviewed by Adam Barth.
104902
104903        More OwnPtr work, including making clear set the pointer to 0 before deletion
104904        https://bugs.webkit.org/show_bug.cgi?id=41727
104905
104906        * WebCore.exp.in: Updated.
104907
104908        * css/CSSSelector.h:
104909        (WebCore::CSSSelector::RareData::RareData): Use adoptPtr.
104910        (WebCore::CSSSelector::createRareData): Ditto.
104911        * dom/SpaceSplitString.h:
104912        (WebCore::SpaceSplitString::SpaceSplitString): Ditto.
104913        (WebCore::SpaceSplitString::set): Ditto.
104914        * history/CachedFrame.cpp:
104915        (WebCore::CachedFrame::CachedFrame): Ditto.
104916        (WebCore::CachedFrame::setCachedFramePlatformData): Ditto.
104917
104918        * history/CachedFrame.h: Use PassOwnPtr.
104919
104920        * loader/appcache/ApplicationCacheGroup.cpp:
104921        (WebCore::CallCacheListenerTask::create): Use adoptPtr.
104922        * loader/appcache/ApplicationCacheStorage.cpp:
104923        (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
104924        * platform/PurgeableBuffer.h:
104925        (WebCore::PurgeableBuffer::create): Ditto.
104926        * platform/graphics/GlyphMetricsMap.h:
104927        (WebCore::::locatePageSlowCase): Ditto.
104928        * platform/graphics/GraphicsLayer.h:
104929        (WebCore::AnimationValue::AnimationValue): Ditto.
104930        (WebCore::TransformAnimationValue::TransformAnimationValue): Ditto.
104931        * platform/graphics/MediaPlayer.h:
104932        (WebCore::MediaPlayer::create): Ditto.
104933        * platform/graphics/SimpleFontData.h:
104934        (WebCore::SimpleFontData::boundsForGlyph): Ditto.
104935        * platform/mac/PurgeableBufferMac.cpp:
104936        (WebCore::PurgeableBuffer::create): Ditto.
104937        * rendering/InlineFlowBox.h:
104938        (WebCore::InlineFlowBox::setHorizontalOverflowPositions): Ditto.
104939        (WebCore::InlineFlowBox::setVerticalOverflowPositions): Ditto.
104940        * rendering/RootInlineBox.h:
104941        (WebCore::RootInlineBox::floats): Ditto.
104942        * rendering/style/RenderStyle.h:
104943        (WebCore::InheritedFlags::inheritAnimations): Ditto.
104944        (WebCore::InheritedFlags::inheritTransitions): Ditto.
104945
104946        * rendering/style/SVGRenderStyleDefs.h: Use PassOwnPtr.
104947
1049482010-07-07  Sam Weinig  <sam@webkit.org>
104949
104950        Reviewed by Anders Carlsson.
104951
104952        Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
104953        Add basic piping for BackForwardControllerClient.
104954
104955        * WebCore.exp.in:
104956        * WebCore.xcodeproj/project.pbxproj:
104957        * history/BackForwardController.cpp:
104958        (WebCore::BackForwardController::BackForwardController):
104959        * history/BackForwardControllerClient.h:
104960        * page/Page.cpp:
104961        (WebCore::Page::Page):
104962        * page/Page.h:
104963        * svg/graphics/SVGImage.cpp:
104964        (WebCore::SVGImage::dataChanged):
104965
1049662010-07-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
104967
104968        Unreviewed build fix after r62577.
104969
104970        [EFL] build fix after r62577
104971        https://bugs.webkit.org/show_bug.cgi?id=41764
104972
104973        No new functionality so no new tests.
104974
1049752010-07-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
104976
104977        Reviewed by Xan Lopez.
104978
104979        [GTK] Scrollbars sometimes go dead and stop scrolling the view
104980        https://bugs.webkit.org/show_bug.cgi?id=41711
104981
104982        Rework the setGtkAdjustment function slightly, make it have an
104983        early return, and be more readable.
104984
104985        * platform/gtk/ScrollViewGtk.cpp:
104986        (WebCore::ScrollView::setGtkAdjustments):
104987
1049882010-07-07  Kristian Monsen  <kristianm@google.com>
104989
104990        Reviewed by Steve Block.
104991
104992        Updating Android to use the UserGestureIndicator class instead of Android specific code.
104993        The rest of the changes are in parts of the Android port which are yet to be upstreamed.
104994
104995        No change in behavior, so no new test.
104996
104997        * platform/network/android/ResourceRequest.h:
104998        (WebCore::ResourceRequest::ResourceRequest):
104999        (WebCore::ResourceRequest::doUpdateResourceRequest):
105000
1050012010-07-07  Andy Estes  <aestes@apple.com>
105002
105003        Reviewed by Adam Barth.
105004
105005        Allow a beforeload listener to prevent loading of images in <object> tags.
105006        https://bugs.webkit.org/show_bug.cgi?id=41027
105007        <rdar://problem/8120596>
105008
105009        Tests: fast/dom/beforeload/image-object-before-load-innerHTML.html
105010               fast/dom/beforeload/image-object-before-load.html
105011
105012        * html/HTMLObjectElement.cpp:
105013        (WebCore::HTMLObjectElement::attach): Do not call
105014        RenderImage::setCachedImage() at the end of attach(). Instead, allow
105015        this to happen conditionally after beforeload is dispatched.
105016        * loader/ImageLoader.cpp:
105017        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): Render fallback
105018        content if an object's load was cancelled.
105019
1050202010-07-06  Nikolas Zimmermann  <nzimmermann@rim.com>
105021
105022        Reviewed by Dirk Schulze.
105023
105024        <use> on <font-face> causes crashes, if SVGUseElement gets detached
105025        https://bugs.webkit.org/show_bug.cgi?id=41621
105026
105027        Do not call removeFromMappedElementSheet() from the SVGFontFaceElement destructor,
105028        as that can potentially cause the element to be reattached while destructing.
105029
105030        In order to fix the crash in the testcase, the order of calling the base-class detach
105031        method in SVGUseElement and the instance/shadow tree destruction has to be reversed,
105032        matching the order in removedFromDocument().
105033
105034        Test: svg/custom/use-font-face-crash.svg
105035
105036        * svg/SVGFontFaceElement.cpp:
105037        (WebCore::SVGFontFaceElement::~SVGFontFaceElement): Remove removeFromMappedElementSheet() call.
105038        * svg/SVGUseElement.cpp:
105039        (WebCore::SVGUseElement::detach): Reverse order of calling base-class detach method and instance/shadow tree destruction.
105040
1050412010-07-07  Steve Block  <steveblock@google.com>
105042
105043        Reviewed by Adam Barth.
105044
105045        document.createEvent() should support DeviceOrientationEvent
105046        https://bugs.webkit.org/show_bug.cgi?id=41618
105047
105048        Tests: fast/dom/DeviceOrientation/create-event.html
105049
105050        * dom/Document.cpp:
105051        (WebCore::Document::createEvent):
105052
1050532010-07-07  Yury Semikhatsky  <yurys@chromium.org>
105054
105055        Reviewed by Pavel Feldman.
105056
105057        Web Inspector: show functions from internal browser scripts on the call stack if they
105058        are there.
105059        https://bugs.webkit.org/show_bug.cgi?id=41762
105060
105061        * English.lproj/localizedStrings.js:
105062        * inspector/front-end/CallStackSidebarPane.js:
105063        (WebInspector.CallStackSidebarPane.prototype.update):
105064
1050652010-07-07  Ilya Tikhonovsky  <loislo@chromium.org>
105066
105067        Reviewed by Pavel Feldman.
105068
105069        Web Inspector: All RefPtr arguments and return values should be
105070        changed to PassRefPtr whenever it is possible according to common practice.
105071        https://bugs.webkit.org/show_bug.cgi?id=41759
105072
105073        * inspector/CodeGeneratorInspector.pm:
105074        * inspector/InspectorTimelineAgent.cpp:
105075        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
105076        (WebCore::InspectorTimelineAgent::didInstallTimer):
105077        (WebCore::InspectorTimelineAgent::didRemoveTimer):
105078        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
105079        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
105080        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
105081        (WebCore::InspectorTimelineAgent::didMarkTimeline):
105082        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
105083        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
105084        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
105085        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
105086        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
105087        * inspector/InspectorTimelineAgent.h:
105088        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
105089        * inspector/TimelineRecordFactory.cpp:
105090        (WebCore::TimelineRecordFactory::createGenericRecord):
105091        (WebCore::TimelineRecordFactory::createGCEventData):
105092        (WebCore::TimelineRecordFactory::createFunctionCallData):
105093        (WebCore::TimelineRecordFactory::createEventDispatchData):
105094        (WebCore::TimelineRecordFactory::createGenericTimerData):
105095        (WebCore::TimelineRecordFactory::createTimerInstallData):
105096        (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
105097        (WebCore::TimelineRecordFactory::createXHRLoadData):
105098        (WebCore::TimelineRecordFactory::createEvaluateScriptData):
105099        (WebCore::TimelineRecordFactory::createMarkTimelineData):
105100        (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
105101        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
105102        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
105103        (WebCore::TimelineRecordFactory::createResourceFinishData):
105104        (WebCore::TimelineRecordFactory::createReceiveResourceData):
105105        (WebCore::TimelineRecordFactory::createPaintData):
105106        (WebCore::TimelineRecordFactory::createParseHTMLData):
105107        * inspector/TimelineRecordFactory.h:
105108
1051092010-07-07  Antti Koivisto  <koivisto@iki.fi>
105110
105111        Reviewed by Kenneth Rohde Christiansen.
105112        
105113        [Qt] Initial WebKit2 implementation
105114        https://bugs.webkit.org/show_bug.cgi?id=40233
105115
105116        Export some event conversion functions needed for WebKit2.
105117
105118        * platform/PlatformKeyboardEvent.h:
105119        * platform/qt/PlatformKeyboardEventQt.cpp:
105120        (WebCore::keyIdentifierForQtKeyCode):
105121        (WebCore::windowsKeyCodeForKeyEvent):
105122
1051232010-07-06  Steve Block  <steveblock@google.com>
105124
105125        Reviewed by Adam Barth.
105126
105127        DeviceOrientationEventConstructor should be exposed at window.DeviceOrientationEvent
105128        https://bugs.webkit.org/show_bug.cgi?id=41685
105129
105130        Test: fast/dom/Window/window-properties-device-orientation.html
105131              fast/dom/DeviceOrientation/window-property.txt
105132
105133        * page/DOMWindow.idl:
105134
1051352010-07-07  Sheriff Bot  <webkit.review.bot@gmail.com>
105136
105137        Unreviewed, rolling out r62645.
105138        http://trac.webkit.org/changeset/62645
105139        https://bugs.webkit.org/show_bug.cgi?id=41757
105140
105141        "Broken inspector tests on several platforms" (Requested by
105142        eseidel on #webkit).
105143
105144        * inspector/front-end/ScriptView.js:
105145        (WebInspector.ScriptView.prototype._addBreakpoint):
105146        * inspector/front-end/ScriptsPanel.js:
105147        (WebInspector.ScriptsPanel):
105148        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
105149        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
105150        (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
105151        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
105152        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
105153        * inspector/front-end/SourceView.js:
105154        (WebInspector.SourceView.prototype._addBreakpoint):
105155
1051562010-07-07  Steve Block  <steveblock@google.com>
105157
105158        Reviewed by Adam Barth.
105159
105160        JavaInstanceV8 needs to push a local reference frame to avoid table overflow.
105161        https://bugs.webkit.org/show_bug.cgi?id=41516
105162
105163        This change is required to help prevent the Java virtual machine from
105164        running out of local references. The Java virtual machine supports only
105165        a limited number of local references. Normally, local references are
105166        cleared when the native method returns.
105167
105168        This change adds calls to PushLocalFrame() and PopLocalFrame() around
105169        each invocation of a method on JavaInstance. These calls instruct the
105170        virtual machine to clear local references when the frame is popped.
105171        This means that in the case where many calls to JavaInstance methods
105172        are made within the same native call, local references are cleared as
105173        soon as they are no longer needed, thus conserving references.
105174
105175        This change mirrors exactly JavaInstanceJSC.
105176
105177        No new tests.
105178
105179        * bridge/jni/v8/JavaInstanceV8.cpp:
105180        (JavaInstance::virtualBegin):
105181        (JavaInstance::virtualEnd):
105182        * bridge/jni/v8/JavaInstanceV8.h:
105183
1051842010-07-06  Yury Semikhatsky  <yurys@chromium.org>
105185
105186        Reviewed by Pavel Feldman.
105187
105188        Inspector should remember the size of sidebars set by the user
105189        https://bugs.webkit.org/show_bug.cgi?id=19207
105190
105191        * inspector/front-end/AbstractTimelinePanel.js:
105192        (WebInspector.AbstractTimelinePanel):
105193        * inspector/front-end/AuditsPanel.js:
105194        (WebInspector.AuditsPanel):
105195        * inspector/front-end/ConsolePanel.js:
105196        (WebInspector.ConsolePanel):
105197        * inspector/front-end/ElementsPanel.js:
105198        (WebInspector.ElementsPanel.prototype.rightSidebarResizerDragEnd):
105199        * inspector/front-end/Panel.js:
105200        (WebInspector.Panel):
105201        (WebInspector.Panel.prototype.get toolbarItemClass):
105202        (WebInspector.Panel.prototype.show):
105203        (WebInspector.Panel.prototype.createSidebar):
105204        (WebInspector.Panel.prototype.get _sidebarWidthSettingName):
105205        (WebInspector.Panel.prototype._endSidebarDragging):
105206        (WebInspector.Panel.prototype.updateSidebarWidth):
105207        (WebInspector.Panel.prototype.restoreSidebarWidth):
105208        (WebInspector.Panel.prototype.saveSidebarWidth):
105209        * inspector/front-end/ProfilesPanel.js:
105210        (WebInspector.ProfilesPanel):
105211        * inspector/front-end/ResourcesPanel.js:
105212        (WebInspector.ResourcesPanel):
105213        (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
105214        * inspector/front-end/ScriptsPanel.js:
105215        (WebInspector.ScriptsPanel):
105216        (WebInspector.ScriptsPanel.prototype._endSidebarResizeDrag):
105217        (WebInspector.ScriptsPanel.prototype._sidebarResizeDrag):
105218        (WebInspector.ScriptsPanel.prototype.setSidebarWidth):
105219        * inspector/front-end/Settings.js:
105220        (WebInspector.populateApplicationSettings):
105221        * inspector/front-end/StoragePanel.js:
105222        (WebInspector.StoragePanel):
105223        * inspector/front-end/TimelinePanel.js:
105224        (WebInspector.TimelinePanel):
105225
1052262010-07-05  Steve Block  <steveblock@google.com>
105227
105228        Reviewed by Adam Barth.
105229
105230        DeviceOrientation should be renamed to DeviceOrientationController
105231        https://bugs.webkit.org/show_bug.cgi?id=41608
105232
105233        No new tests, renaming only.
105234
105235        * Android.mk:
105236        * CMakeLists.txt:
105237        * GNUmakefile.am:
105238        * WebCore.gypi:
105239        * WebCore.pro:
105240        * WebCore.vcproj/WebCore.vcproj:
105241        * WebCore.xcodeproj/project.pbxproj:
105242        * dom/DeviceOrientation.cpp: Removed.
105243        * dom/DeviceOrientation.h: Removed.
105244        * dom/DeviceOrientationController.cpp: Copied from WebCore/dom/DeviceOrientation.cpp.
105245        (WebCore::DeviceOrientationController::DeviceOrientationController):
105246        (WebCore::DeviceOrientationController::onDeviceOrientationChange):
105247        * dom/DeviceOrientationController.h: Copied from WebCore/dom/DeviceOrientation.h.
105248        * page/Page.cpp:
105249        (WebCore::Page::Page):
105250        * page/Page.h:
105251        (WebCore::Page::deviceOrientationController):
105252
1052532010-07-07  Pavel Podivilov  <podivilov@chromium.org>
105254
105255        Reviewed by Yury Semikhatsky.
105256
105257        Web Inspector: do not activate all breakpoints on page reload
105258        https://bugs.webkit.org/show_bug.cgi?id=41461
105259
105260        Test: inspector/debugger-breakpoints-not-activated-on-reload.html
105261
105262        * inspector/front-end/ScriptView.js:
105263        (WebInspector.ScriptView.prototype._addBreakpoint):
105264        * inspector/front-end/ScriptsPanel.js:
105265        (WebInspector.ScriptsPanel):
105266        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
105267        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
105268        * inspector/front-end/SourceView.js:
105269        (WebInspector.SourceView.prototype._addBreakpoint):
105270
1052712010-07-07  Nikolas Zimmermann  <nzimmermann@rim.com>
105272
105273        Not reviewed. Rollout r62633 - test crashes after some last-minute modifications.
105274
105275        * svg/SVGFontFaceElement.cpp:
105276        (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
105277
1052782010-07-07  Eric Seidel  <eric@webkit.org>
105279
105280        Reviewed by Adam Barth.
105281
105282        Fix </html> handling in before head mode
105283        https://bugs.webkit.org/show_bug.cgi?id=41752
105284
105285        Covered by html5lib/runner.html.
105286
105287        * html/HTMLTreeBuilder.cpp:
105288        (WebCore::HTMLTreeBuilder::processEndTag):
105289
1052902010-07-07  Eric Seidel  <eric@webkit.org>
105291
105292        Reviewed by Adam Barth.
105293
105294        </div> pops too many <div> elements in body
105295        https://bugs.webkit.org/show_bug.cgi?id=41751
105296
105297        Another missing return!
105298
105299        While tracking this down I added some debugging code to both the
105300        open elements stack and the active formatting elements list.
105301
105302        I also unwrapped a very long || chain to make it more readable.
105303
105304        * html/HTMLElementStack.cpp:
105305        (WebCore::HTMLElementStack::show):
105306        * html/HTMLElementStack.h:
105307        * html/HTMLFormattingElementList.cpp:
105308        (WebCore::HTMLFormattingElementList::show):
105309        * html/HTMLFormattingElementList.h:
105310        * html/HTMLTreeBuilder.cpp:
105311        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
105312
1053132010-07-06  Eric Seidel  <eric@webkit.org>
105314
105315        Reviewed by Adam Barth.
105316
105317        HTMLTreeBuilder needs to handle <table><input>
105318        https://bugs.webkit.org/show_bug.cgi?id=41744
105319
105320        * html/HTMLTreeBuilder.cpp:
105321        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
105322
1053232010-07-06  Eric Seidel  <eric@webkit.org>
105324
105325        Reviewed by Adam Barth.
105326
105327        Teach HTMLTreeBuilder how to handle <button><button>
105328        https://bugs.webkit.org/show_bug.cgi?id=41743
105329
105330        * html/HTMLTreeBuilder.cpp:
105331        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105332
1053332010-07-06  Eric Seidel  <eric@webkit.org>
105334
105335        Reviewed by Adam Barth.
105336
105337        Teach TreeBuilder how to handle <form><form>
105338        https://bugs.webkit.org/show_bug.cgi?id=41741
105339
105340        * html/HTMLTreeBuilder.cpp:
105341        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105342
1053432010-07-06  Eric Seidel  <eric@webkit.org>
105344
105345        Reviewed by Adam Barth.
105346
105347        <table> should auto-close <p> when not in quirks mode
105348        https://bugs.webkit.org/show_bug.cgi?id=41740
105349
105350        This is already covered by multiple tests in html5lib/runner.html
105351
105352        * html/HTMLTreeBuilder.cpp:
105353        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105354
1053552010-07-06  Eric Seidel  <eric@webkit.org>
105356
105357        Reviewed by Adam Barth.
105358
105359        Make "in body" character handling reconstruct active formatting elements
105360        https://bugs.webkit.org/show_bug.cgi?id=41739
105361
105362        This fixes a bunch of tests, and due to some other bug in our
105363        formatting code, regresses two.  I'll fix that bug in a separate
105364        patch.
105365
105366        * html/HTMLTreeBuilder.cpp:
105367        (WebCore::HTMLTreeBuilder::processCharacter):
105368
1053692010-07-06  Nikolas Zimmermann  <nzimmermann@rim.com>
105370
105371        Reviewed by Darin Adler.
105372
105373        <use> on <font-face> causes crashes, if SVGUseElement gets detached
105374        https://bugs.webkit.org/show_bug.cgi?id=41621
105375
105376        Do not call removeFromMappedElementSheet() from the destructor, as the call to document()->updateStyleSelector() that can potentially
105377        cause the element to be reattached while destructing. It's not needed at all, because removedFromDocument() is called before destruction,
105378        which already calls removeFromMappedElementSheet() - at this point it's still safe to update the style selector.
105379
105380        The crash is reproducable when using <use> on <font-face>.
105381
105382        Test: svg/custom/use-font-face-crash.svg
105383
105384        * svg/SVGFontFaceElement.cpp:
105385        (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
105386
1053872010-07-07  Hayato Ito  <hayato@chromium.org>
105388
105389        Reviewed by Darin Adler.
105390
105391        Rolling out 'page-break-inside:avoid' part of the r54929.
105392        Rebased the related layout tests, which are now expected to fail, as well.
105393
105394        https://bugs.webkit.org/show_bug.cgi?id=41532
105395
105396        * rendering/RenderBlock.cpp:
105397        (WebCore::RenderBlock::paintChildren):
105398
1053992010-07-07  Mark Rowe  <mrowe@apple.com>
105400
105401        Fix failures in a handful of Java-related tests.
105402
105403        * WebCore.exp.in: Remove an extraneous ENABLE_ from an #if so that the condition
105404        evalutes to true when we expect it to.
105405
1054062010-07-06  Pavel Feldman  <pfeldman@chromium.org>
105407
105408        Reviewed by Joseph Pecoraro.
105409
105410        Web Inspector: provide line numbers for inline styles.
105411
105412        https://bugs.webkit.org/show_bug.cgi?id=41691
105413
105414        Test: inspector/styles-source-lines-inline.html
105415
105416        * css/CSSParser.cpp:
105417        (WebCore::CSSParser::parseSheet):
105418        * css/CSSParser.h:
105419        * css/CSSStyleSheet.cpp:
105420        (WebCore::CSSStyleSheet::parseString):
105421        (WebCore::CSSStyleSheet::parseStringAtLine):
105422        * css/CSSStyleSheet.h:
105423        * dom/StyleElement.cpp:
105424        (WebCore::StyleElement::process):
105425        (WebCore::StyleElement::createSheet):
105426        * dom/StyleElement.h:
105427        * html/HTMLStyleElement.cpp:
105428        (WebCore::HTMLStyleElement::HTMLStyleElement):
105429        (WebCore::HTMLStyleElement::finishParsingChildren):
105430        * html/HTMLStyleElement.h:
105431        * inspector/InspectorCSSStore.cpp:
105432        (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
105433        * inspector/InspectorDOMAgent.cpp:
105434        (WebCore::InspectorDOMAgent::buildObjectForRule):
105435        * inspector/front-end/DOMAgent.js:
105436        (WebInspector.CSSStyleDeclaration.parseRule):
105437        * inspector/front-end/StylesSidebarPane.js:
105438        (WebInspector.StylePropertiesSection.else.linkifyUncopyable):
105439        (WebInspector.StylePropertiesSection):
105440
1054412010-07-06  Dan Bernstein  <mitz@apple.com>
105442
105443        Reviewed by Jon Honeycutt.
105444
105445        <rdar://problem/8163651> Wrong value type being supplied for kCTTypesetterOptionForcedEmbeddingLevel key
105446
105447        No change in behavior, so no new test.
105448
105449        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
105450        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Use CFNumber instances
105451        as the values of the kCTTypesetterOptionForcedEmbeddingLevel key, instead of CFBooleans.
105452
1054532010-07-06  Mark Rowe  <mrowe@apple.com>
105454
105455        Fix production builds on Mac OS X.
105456
105457        * DerivedSources.make: Don't try and generate the export file during the installhdrs build phase.
105458        It's not useful until much later in the build process, and it's not possible to generate it until
105459        after the tool has been compiled anyway.
105460        * WebCore.xcodeproj/project.pbxproj: Tweak how the ICU and forwarding headers are copied so that it
105461        works in production builds once more.
105462
1054632010-07-06  Steve Falkenburg  <sfalken@apple.com>
105464
105465        Reviewed by Simon Fraser.
105466
105467        Expose URL matching from WebUserContentURLPattern
105468        https://bugs.webkit.org/show_bug.cgi?id=41726
105469        <rdar://problem/7910144>
105470
105471        * WebCore.exp.in: Export UserContentURLPattern::matches for use in WebKit.
105472
1054732010-07-06  Eric Seidel  <eric@webkit.org>
105474
105475        Reviewed by Adam Barth.
105476
105477        Fix <nobr><nobr> case in HTMLTreeBuilder
105478        https://bugs.webkit.org/show_bug.cgi?id=41735
105479
105480        We were both not handling <nobr> correctly, as well as
105481        never hitting the <nobr> case because our formatting
105482        elements check was overzealous.
105483
105484        * html/HTMLTreeBuilder.cpp:
105485        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105486
1054872010-07-06  Adam Barth  <abarth@webkit.org>
105488
105489        Reviewed by Eric Seidel.
105490
105491        Implement start table tag in table mode
105492        https://bugs.webkit.org/show_bug.cgi?id=41736
105493
105494        * html/HTMLTreeBuilder.cpp:
105495        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
105496        (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
105497        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
105498        * html/HTMLTreeBuilder.h:
105499
1055002010-07-06  Adam Barth  <abarth@webkit.org>
105501
105502        Reviewed by Eric Seidel.
105503
105504        Implement "act as if the banana has been peeled" (for lack of a better term)
105505        https://bugs.webkit.org/show_bug.cgi?id=41734
105506
105507        The spec has a tricky passage that says "whenever a node would be
105508        inserted into the current node, it must instead be foster parented."
105509        This patch attempts to implement that requirement.
105510
105511        * html/HTMLConstructionSite.cpp:
105512        (WebCore::HTMLConstructionSite::attach):
105513        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
105514        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
105515        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
105516        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
105517        (WebCore::HTMLConstructionSite::insertScriptElement):
105518        (WebCore::HTMLConstructionSite::fosterParent):
105519        * html/HTMLConstructionSite.h:
105520        (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
105521        (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::~RedirectToFosterParentGuard):
105522        * html/HTMLTreeBuilder.cpp:
105523        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
105524        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
105525        * html/HTMLTreeBuilder.h:
105526
1055272010-07-06  Eric Seidel  <eric@webkit.org>
105528
105529        Reviewed by Adam Barth.
105530
105531        Fix </optgroup> in "in select" mode
105532        https://bugs.webkit.org/show_bug.cgi?id=41733
105533
105534        I had to add a oneBelowTop() accessor.
105535        I added some ASSERTs after looking at the fragment case
105536        documentation.  I'm now convinced that top() and oneBeforeTop()
105537        should never be NULL, so we just ASSERT they aren't.
105538
105539        This is a very obscure corner of the HTML spec, but at least
105540        we have a test for it.  This makes one more html5lib test pass.
105541
105542        * html/HTMLConstructionSite.h:
105543        (WebCore::HTMLConstructionSite::oneBelowTop):
105544        * html/HTMLElementStack.cpp:
105545        (WebCore::HTMLElementStack::topRecord):
105546        (WebCore::HTMLElementStack::top):
105547        (WebCore::HTMLElementStack::oneBelowTop):
105548        * html/HTMLElementStack.h:
105549        * html/HTMLTreeBuilder.cpp:
105550        (WebCore::HTMLTreeBuilder::processEndTag):
105551
1055522010-07-06  Eric Seidel  <eric@webkit.org>
105553
105554        Reviewed by Adam Barth.
105555
105556        Fix "in row" "Anything else" handling of end tags
105557        https://bugs.webkit.org/show_bug.cgi?id=41731
105558
105559        I also fixed </br> handling to follow the spec more closely
105560        since it implementation was old and didn't use all our
105561        new processFake* hotness.
105562
105563        This is already covered by 3 tests, however we don't
105564        pass them yet, due to lack of table foster parenting
105565        code (which Adam is working on as we speak).
105566
105567        * html/HTMLTreeBuilder.cpp:
105568        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
105569        (WebCore::HTMLTreeBuilder::processEndTag):
105570
1055712010-07-06  Mark Rowe  <mrowe@apple.com>
105572
105573        Fix clean builds on Mac OS X.
105574
105575        Since "Copy Forwarding and ICU Headers" was split in to a separate target
105576        from the WebCore framework it no longer had automatica access to the
105577        PRIVATE_HEADERS_FOLDER_PATH variable. This caused it to copy the header
105578        files in to the wrong location. Fix that by giving PRIVATE_HEADERS_FOLDER_PATH
105579        its correct value and ensuring that the path exists.
105580
105581        * WebCore.xcodeproj/project.pbxproj:
105582
1055832010-07-06  Sam Weinig  <sam@webkit.org>
105584
105585        Fix Gtk build.
105586
105587        * GNUmakefile.am:
105588
1055892010-07-06  Mark Rowe  <mrowe@apple.com>
105590
105591        Tiger build fix.
105592
105593        Don't use WebCore's LDFLAGS when building WebCoreExportFileGenerator.
105594
105595        * WebCore.xcodeproj/project.pbxproj:
105596
1055972010-07-06  Eric Seidel  <eric@webkit.org>
105598
105599        Reviewed by Adam Barth.
105600
105601        "In cell" does not correctly handle <td><tr> or <td><td>
105602        https://bugs.webkit.org/show_bug.cgi?id=41729
105603
105604        This change is mostly cleanup to try and prevent forgetting
105605        tag name checks in the future by using inlines to reduce
105606        copy/paste code.
105607
105608        3 little bugs in InCellMode:
105609         - Missing trTag from the long or statement (reason for the cleanup)
105610         - Used || instead of &&
105611         - Forgot to reprocess the tag after closeTheCell()
105612
105613        * html/HTMLTreeBuilder.cpp:
105614        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105615        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
105616        (WebCore::HTMLTreeBuilder::processStartTag):
105617        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
105618        (WebCore::HTMLTreeBuilder::processEndTag):
105619
1056202010-07-06  Adam Barth  <abarth@webkit.org>
105621
105622        Reviewed by Eric Seidel.
105623
105624        Move fosterParent to HTMLConstructionSite
105625        https://bugs.webkit.org/show_bug.cgi?id=41728
105626
105627        This paves the way for handling the default case of InTableMode
105628        properly.
105629
105630        * html/HTMLConstructionSite.cpp:
105631        (WebCore::HTMLConstructionSite::fosterParent):
105632        * html/HTMLConstructionSite.h:
105633        * html/HTMLTreeBuilder.cpp:
105634        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
105635
1056362010-07-06  Adam Barth  <abarth@webkit.org>
105637
105638        Rubber-stamped by Eric Seidel.
105639
105640        Move HTMLConstructionSite to its own file.  No behavior change.
105641
105642        * Android.mk:
105643        * CMakeLists.txt:
105644        * GNUmakefile.am:
105645        * WebCore.gypi:
105646        * WebCore.pro:
105647        * WebCore.vcproj/WebCore.vcproj:
105648        * WebCore.xcodeproj/project.pbxproj:
105649        * html/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp.
105650        (WebCore::HTMLNames::hasImpliedEndTag):
105651        (WebCore::HTMLConstructionSite::attach):
105652        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
105653        (WebCore::HTMLConstructionSite::~HTMLConstructionSite):
105654        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
105655        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
105656        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
105657        (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
105658        * html/HTMLConstructionSite.h: Copied from WebCore/html/HTMLTreeBuilder.h.
105659        * html/HTMLTreeBuilder.cpp:
105660        * html/HTMLTreeBuilder.h:
105661
1056622010-07-06  Mark Rowe  <mrowe@apple.com>
105663
105664        Build fix.
105665
105666        The path to the generated file needs to be relative to the built product directory,
105667        not to the project file.
105668
105669        * WebCore.xcodeproj/project.pbxproj:
105670
1056712010-07-06  Mark Rowe  <mrowe@apple.com>
105672
105673        Reviewed by Darin Adler.
105674
105675        <http://webkit.org/b/41725> REGRESSION(r62283): No longer possible to build for Tiger from SnowLeopard due to export file shenanigans
105676
105677        Change how the exports file is generated. Rather than having the logic for which symbols
105678        to include be encoded in a Makefile that concatenated separate files, the logic is now
105679        encoded as #if's in the base exports file. This ensures that the exact same preprocessor
105680        settings are used when determining which symbols to export as when compiling the code that
105681        defines the symbols.
105682
105683        * DerivedSources.make: Remove logic that determines which export files to concatenate.
105684        Replace with an invocation of WebCoreExportFileGenerator.
105685        * WebCore.3DRendering.exp: Removed.
105686        * WebCore.AcceleratedCompositing.exp: Removed.
105687        * WebCore.ClientBasedGeolocation.exp: Removed.
105688        * WebCore.ContextMenus.exp: Removed.
105689        * WebCore.DashboardSupport.exp: Removed.
105690        * WebCore.DragSupport.exp: Removed.
105691        * WebCore.Geolocation.exp: Removed.
105692        * WebCore.Inspector.exp: Removed.
105693        * WebCore.JNI.exp: Removed.
105694        * WebCore.NPAPI.exp: Removed.
105695        * WebCore.OrientationEvents.exp: Removed.
105696        * WebCore.PluginHostProcess.exp: Removed.
105697        * WebCore.ProtectionSpaceAuthCallback.exp: Removed.
105698        * WebCore.SVG.Animation.exp: Removed.
105699        * WebCore.SVG.Filters.exp: Removed.
105700        * WebCore.SVG.ForeignObject.exp: Removed.
105701        * WebCore.SVG.exp: Removed.
105702        * WebCore.Tiger.exp: Removed.
105703        * WebCore.Video.exp: Removed.
105704        * WebCore.VideoProxy.exp: Removed.
105705        * WebCore.exp.in: Renamed from WebCore/WebCore.base.exp. Merge the individual .exp
105706        files in, wrapping the appropriate parts with the necessary #if's.
105707        * WebCore.xcodeproj/project.pbxproj:
105708        * make-exports-file-generator: Added.
105709
1057102010-07-06  Sam Weinig  <sam@webkit.org>
105711
105712        Reviewed by Anders Carlsson.
105713
105714        Patch for https://bugs.webkit.org/show_bug.cgi?id=41723
105715        Add BackForwardController class
105716
105717        - Add BackForwardController which currently only forwards to the existing
105718          BackForwardList implementation. This is a first step toward allowing
105719          for a proxying BackForwardList implementation.
105720
105721        * CMakeLists.txt:
105722        * GNUmakefile.am:
105723        * WebCore.base.exp:
105724        * WebCore.gypi:
105725        * WebCore.pro:
105726        * WebCore.vcproj/WebCore.vcproj:
105727        * WebCore.xcodeproj/project.pbxproj:
105728        * history/BackForwardController.cpp: Added.
105729        (WebCore::BackForwardController::BackForwardController):
105730        (WebCore::BackForwardController::~BackForwardController):
105731        * history/BackForwardController.h: Added.
105732        (WebCore::BackForwardController::client):
105733        (WebCore::BackForwardController::list):
105734        * history/BackForwardControllerClient.h: Added.
105735        (WebCore::BackForwardControllerClient::~BackForwardControllerClient):
105736        * page/Page.cpp:
105737        (WebCore::Page::Page):
105738        (WebCore::Page::~Page):
105739        (WebCore::Page::backForwardList):
105740        (WebCore::Page::goBack):
105741        (WebCore::Page::goForward):
105742        (WebCore::Page::canGoBackOrForward):
105743        (WebCore::Page::goBackOrForward):
105744        (WebCore::Page::getHistoryLength):
105745        * page/Page.h:
105746
1057472010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
105748
105749        Unreviewed.
105750
105751        Fixes regression on API test by disabling the scrollbars before
105752        configuring the adjustments.
105753
105754        * platform/gtk/ScrollViewGtk.cpp:
105755        (WebCore::ScrollView::setGtkAdjustments):
105756
1057572010-07-06  Eric Seidel  <eric@webkit.org>
105758
105759        Reviewed by Adam Barth.
105760
105761        Add support for <li>, <dd> and <dt> nested tag closing
105762        https://bugs.webkit.org/show_bug.cgi?id=41720
105763
105764        li, dd, and dt have nearly identical logic in HTML5, so I
105765        attempted to make them share as much code as possible.
105766
105767        This fixes a bunch of subtests for html5lib/runner.html
105768
105769        * html/HTMLTreeBuilder.cpp:
105770        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
105771        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105772        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
105773        (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
105774        * html/HTMLTreeBuilder.h:
105775
1057762010-07-06  Adam Barth  <abarth@webkit.org>
105777
105778        Reviewed by Eric Seidel.
105779
105780        Factor HTMLConstructionSite out of HTMLTreeBuilder
105781        https://bugs.webkit.org/show_bug.cgi?id=41716
105782
105783        The HTMLContructionSite is the model object on which the
105784        HTMLTreeBuilder (a controller) acts.
105785
105786        No behavior change.  I'll move this class into its own file in a
105787        followup patch.
105788
105789        * html/HTMLFormattingElementList.h:
105790        (WebCore::HTMLFormattingElementList::at):
105791        * html/HTMLTreeBuilder.cpp:
105792        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
105793        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
105794        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
105795        (WebCore::HTMLTreeBuilder::processDoctypeToken):
105796        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
105797        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
105798        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
105799        (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
105800        (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
105801        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
105802        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105803        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
105804        (WebCore::HTMLTreeBuilder::closeTheCell):
105805        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
105806        (WebCore::HTMLTreeBuilder::processStartTag):
105807        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
105808        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
105809        (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
105810        (WebCore::HTMLTreeBuilder::findFosterParentFor):
105811        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
105812        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
105813        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
105814        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
105815        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
105816        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
105817        (WebCore::HTMLTreeBuilder::processEndTag):
105818        (WebCore::HTMLTreeBuilder::processComment):
105819        (WebCore::HTMLTreeBuilder::processCharacter):
105820        (WebCore::HTMLTreeBuilder::processEndOfFile):
105821        (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
105822        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
105823        (WebCore::HTMLConstructionSite::insertDoctype):
105824        (WebCore::HTMLConstructionSite::insertComment):
105825        (WebCore::HTMLConstructionSite::insertCommentOnDocument):
105826        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
105827        (WebCore::HTMLConstructionSite::createElementAndAttachToCurrent):
105828        (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
105829        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
105830        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
105831        (WebCore::HTMLConstructionSite::insertElement):
105832        (WebCore::HTMLConstructionSite::insertSelfClosingElement):
105833        (WebCore::HTMLConstructionSite::insertFormattingElement):
105834        (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
105835        (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
105836        (WebCore::HTMLConstructionSite::insertScriptElement):
105837        (WebCore::HTMLTreeBuilder::processScriptStartTag):
105838        (WebCore::HTMLConstructionSite::insertTextNode):
105839        (WebCore::HTMLConstructionSite::createElement):
105840        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
105841        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
105842        (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
105843        (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
105844        * html/HTMLTreeBuilder.h:
105845        (WebCore::HTMLConstructionSite::currentElement):
105846        (WebCore::HTMLConstructionSite::openElements):
105847        (WebCore::HTMLConstructionSite::activeFormattingElements):
105848        (WebCore::HTMLConstructionSite::head):
105849        (WebCore::HTMLConstructionSite::form):
105850        (WebCore::HTMLConstructionSite::releaseForm):
105851        (WebCore::HTMLConstructionSite::setForm):
105852        (WebCore::HTMLConstructionSite::fragmentScriptingPermission):
105853        (WebCore::HTMLConstructionSite::attach):
105854
1058552010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
105856
105857        Reviewed by Xan Lopez.
105858
105859        [GTK] Scrollbars sometimes go dead and stop scrolling the view
105860        https://bugs.webkit.org/show_bug.cgi?id=41711
105861
105862        Fixes GtkScrolledWindow scrollbars not actually scrolling the page
105863        in certain conditions. No tests because it is hard to reproduce,
105864        and depends on interaction with a widget that is outside of the
105865        WebView, which is tricky.
105866
105867        * platform/gtk/ScrollViewGtk.cpp:
105868        (WebCore::ScrollView::setGtkAdjustments):
105869
1058702010-07-06  Darin Adler  <darin@apple.com>
105871
105872        Reviewed by Geoffrey Garen.
105873
105874        Simplify access to element attribute map, removing unneeded functions
105875        https://bugs.webkit.org/show_bug.cgi?id=41703
105876
105877        * css/CSSStyleSelector.cpp:
105878        (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the
105879        attributeMap function instead of the mappedAttributes function.
105880        (WebCore::CSSStyleSelector::styleForElement): Ditto.
105881
105882        * dom/Element.cpp:
105883        (WebCore::Element::~Element): Renamed namedAttrMap to m_attributeMap.
105884        (WebCore::Element::removeAttribute): Ditto.
105885        (WebCore::Element::getAttribute): Ditto.
105886        (WebCore::Element::setAttribute): Ditto.
105887        (WebCore::Element::setAttributeMap): Ditto.
105888        (WebCore::Element::hasAttributes): Ditto.
105889        (WebCore::Element::createAttributeMap): Ditto.
105890        (WebCore::Element::insertedIntoDocument): Ditto.
105891        (WebCore::Element::removedFromDocument): Ditto.
105892        (WebCore::Element::getURLAttribute): Ditto.
105893
105894        * dom/Element.h: Removed unneeded virtual attributes function.
105895        Made read-only argument to attributes function default to false.
105896        (Later, we'll eliminate this.) Renamed namedAttrMap to m_attributeMap
105897        and made it private instead of protected.
105898
105899        * dom/StyledElement.cpp:
105900        (WebCore::StyledElement::attributeChanged): Use attributeMap function
105901        instead of namedAttrMap data member or mappedAttributes function.
105902        (WebCore::StyledElement::classAttributeChanged): Ditto.
105903        (WebCore::StyledElement::parseMappedAttribute): Ditto.
105904
105905        * dom/StyledElement.h: Removed mappedAttributes function and changed
105906        callers to use attributeMap function instead.
105907
105908        * html/HTMLInputElement.cpp:
105909        (WebCore::HTMLInputElement::setInputType): Use attributeMap instead of
105910        mappedAttributes.
105911        * svg/SVGStyledElement.cpp:
105912        (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
105913
1059142010-07-06  Anders Carlsson  <andersca@apple.com>
105915
105916        Reviewed by Sam Weinig.
105917
105918        Add a build rule that removes the old generated Obj-C bindings for PluginArray and MimeTypeArray.
105919
105920        * DerivedSources.make:
105921
1059222010-07-06  Adam Barth  <abarth@webkit.org>
105923
105924        Unreviewed.
105925
105926        Make the remaining insertion modes explicit.
105927
105928        * html/HTMLTreeBuilder.cpp:
105929        (WebCore::HTMLTreeBuilder::processStartTag):
105930        (WebCore::HTMLTreeBuilder::processEndTag):
105931        (WebCore::HTMLTreeBuilder::processCharacter):
105932        (WebCore::HTMLTreeBuilder::processEndOfFile):
105933
1059342010-07-06  Alexey Proskuryakov  <ap@apple.com>
105935
105936        Not reviewed, fixing a simple copy/paste mistake.
105937
105938        https://bugs.webkit.org/show_bug.cgi?id=41156
105939        Cross origin XMLHttpRequest should log the reason why connection failed
105940
105941        Covered by xmlhttprequest/access-control-basic-non-simple-deny-cached.html
105942
105943        * loader/CrossOriginPreflightResultCache.cpp:
105944        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): Fix incorrectly
105945        copy/pasted header field name.
105946
1059472010-07-06  Xan Lopez  <xlopez@igalia.com>
105948
105949        GTK+ fixes for the DOM plug-in renaming Apocalypse.
105950
105951        * GNUmakefile.am:
105952
1059532010-07-06  Anders Carlsson  <andersca@apple.com>
105954
105955        Yet another Windows build fix.
105956
105957        * DerivedSources.cpp:
105958
1059592010-07-06  Anders Carlsson  <andersca@apple.com>
105960
105961        Fix Windows build.
105962
105963        * WebCore.vcproj/WebCore.vcproj:
105964
1059652010-07-06  Anders Carlsson  <andersca@apple.com>
105966
105967        More build fixes.
105968
105969        * WebCore.gypi:
105970        * WebCore.pro:
105971
1059722010-07-06  Anders Carlsson  <andersca@apple.com>
105973
105974        Try to fix Qt build.
105975
105976        * WebCore.pro:
105977
1059782010-07-06  Anders Carlsson  <andersca@apple.com>
105979
105980        Attempt to fix GTK+ build.
105981
105982        * GNUmakefile.am:
105983
1059842010-07-06  Adam Barth  <abarth@webkit.org>
105985
105986        Address reviewer comments from https://bugs.webkit.org/show_bug.cgi?id=41671
105987
105988        Deploy isTableBodyContextTag where possible.  No behavior change.
105989
105990        * html/HTMLTreeBuilder.cpp:
105991        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
105992        (WebCore::HTMLTreeBuilder::processStartTag):
105993        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
105994        (WebCore::HTMLTreeBuilder::processEndTag):
105995
1059962010-07-06  Anders Carlsson  <andersca@apple.com>
105997
105998        Build fixes.
105999
106000        * WebCore.gypi:
106001        * bindings/js/JSBindingsAllInOne.cpp:
106002
1060032010-07-06  Anders Carlsson  <andersca@apple.com>
106004
106005        Reviewed by Sam Weinig.
106006
106007        DOM plug-in related renames
106008        https://bugs.webkit.org/show_bug.cgi?id=41709
106009
106010        This is in preparation for using "Plugin" for something other than a DOM object.
106011
106012        MimeType => DOMMimeType
106013        MimeTypeArray => DOMMimeTypeArray
106014        Plugin => DOMPlugin
106015        PluginArray => DOMPluginArray
106016
106017        * CMakeLists.txt:
106018        * DerivedSources.make:
106019        * GNUmakefile.am:
106020        * WebCore.pri:
106021        * WebCore.vcproj/WebCore.vcproj:
106022        * WebCore.xcodeproj/project.pbxproj:
106023        * bindings/js/JSDOMMimeTypeArrayCustom.cpp: Added.
106024        (WebCore::JSDOMMimeTypeArray::canGetItemsForName):
106025        (WebCore::JSDOMMimeTypeArray::nameGetter):
106026        * bindings/js/JSDOMPluginArrayCustom.cpp: Added.
106027        (WebCore::JSDOMPluginArray::canGetItemsForName):
106028        (WebCore::JSDOMPluginArray::nameGetter):
106029        * bindings/js/JSDOMPluginCustom.cpp: Added.
106030        (WebCore::JSDOMPlugin::canGetItemsForName):
106031        (WebCore::JSDOMPlugin::nameGetter):
106032        * bindings/js/JSMimeTypeArrayCustom.cpp: Removed.
106033        * bindings/js/JSPluginArrayCustom.cpp: Removed.
106034        * bindings/js/JSPluginCustom.cpp: Removed.
106035        * bindings/scripts/CodeGeneratorJS.pm:
106036        * page/DOMWindow.idl:
106037        * page/Navigator.cpp:
106038        (WebCore::Navigator::plugins):
106039        (WebCore::Navigator::mimeTypes):
106040        * page/Navigator.h:
106041        * page/Navigator.idl:
106042        * plugins/DOMMimeType.cpp: Added.
106043        (WebCore::DOMMimeType::DOMMimeType):
106044        (WebCore::DOMMimeType::~DOMMimeType):
106045        (WebCore::DOMMimeType::type):
106046        (WebCore::DOMMimeType::suffixes):
106047        (WebCore::DOMMimeType::description):
106048        (WebCore::DOMMimeType::enabledPlugin):
106049        * plugins/DOMMimeType.h: Added.
106050        (WebCore::DOMMimeType::create):
106051        (WebCore::DOMMimeType::mimeClassInfo):
106052        * plugins/DOMMimeType.idl: Added.
106053        * plugins/DOMMimeTypeArray.cpp: Added.
106054        (WebCore::DOMMimeTypeArray::DOMMimeTypeArray):
106055        (WebCore::DOMMimeTypeArray::~DOMMimeTypeArray):
106056        (WebCore::DOMMimeTypeArray::length):
106057        (WebCore::DOMMimeTypeArray::item):
106058        (WebCore::DOMMimeTypeArray::canGetItemsForName):
106059        (WebCore::DOMMimeTypeArray::namedItem):
106060        (WebCore::DOMMimeTypeArray::getPluginData):
106061        * plugins/DOMMimeTypeArray.h: Added.
106062        (WebCore::DOMMimeTypeArray::create):
106063        (WebCore::DOMMimeTypeArray::disconnectFrame):
106064        * plugins/DOMMimeTypeArray.idl: Added.
106065        * plugins/DOMPlugin.cpp: Added.
106066        (WebCore::DOMPlugin::DOMPlugin):
106067        (WebCore::DOMPlugin::~DOMPlugin):
106068        (WebCore::DOMPlugin::name):
106069        (WebCore::DOMPlugin::filename):
106070        (WebCore::DOMPlugin::description):
106071        (WebCore::DOMPlugin::length):
106072        (WebCore::DOMPlugin::item):
106073        (WebCore::DOMPlugin::canGetItemsForName):
106074        (WebCore::DOMPlugin::namedItem):
106075        * plugins/DOMPlugin.h: Added.
106076        (WebCore::DOMPlugin::create):
106077        (WebCore::DOMPlugin::pluginInfo):
106078        * plugins/DOMPlugin.idl: Added.
106079        * plugins/DOMPluginArray.cpp: Added.
106080        (WebCore::DOMPluginArray::DOMPluginArray):
106081        (WebCore::DOMPluginArray::~DOMPluginArray):
106082        (WebCore::DOMPluginArray::length):
106083        (WebCore::DOMPluginArray::item):
106084        (WebCore::DOMPluginArray::canGetItemsForName):
106085        (WebCore::DOMPluginArray::namedItem):
106086        (WebCore::DOMPluginArray::refresh):
106087        (WebCore::DOMPluginArray::pluginData):
106088        * plugins/DOMPluginArray.h: Added.
106089        (WebCore::DOMPluginArray::create):
106090        (WebCore::DOMPluginArray::disconnectFrame):
106091        * plugins/DOMPluginArray.idl: Added.
106092        * plugins/MimeType.cpp: Removed.
106093        * plugins/MimeType.h: Removed.
106094        * plugins/MimeType.idl: Removed.
106095        * plugins/MimeTypeArray.cpp: Removed.
106096        * plugins/MimeTypeArray.h: Removed.
106097        * plugins/MimeTypeArray.idl: Removed.
106098        * plugins/Plugin.cpp: Removed.
106099        * plugins/Plugin.h: Removed.
106100        * plugins/Plugin.idl: Removed.
106101        * plugins/PluginArray.cpp: Removed.
106102        * plugins/PluginArray.h: Removed.
106103        * plugins/PluginArray.idl: Removed.
106104
1061052010-07-06  Alexey Proskuryakov  <ap@apple.com>
106106
106107        Reviewed by Darin Adler.
106108
106109        https://bugs.webkit.org/show_bug.cgi?id=41156
106110        Cross origin XMLHttpRequest should log the reason why connection failed
106111
106112        Covered by multiple existing tests.
106113
106114        * loader/CrossOriginAccessControl.cpp:
106115        (WebCore::passesAccessControlCheck):
106116        * loader/CrossOriginAccessControl.h:
106117        * loader/CrossOriginPreflightResultCache.cpp:
106118        (WebCore::CrossOriginPreflightResultCacheItem::parse):
106119        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
106120        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
106121        (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
106122        * loader/CrossOriginPreflightResultCache.h:
106123        Functions that check requests now take a string argument for error explanation.
106124
106125        * loader/DocumentThreadableLoader.cpp:
106126        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Make an informative error
106127        if crossOriginRequestPolicy is DenyCrossOriginRequests. This doesn't currently go anywhere,
106128        since XMLHttpRequest is the only client that logs from didFail(), and it of course supports
106129        cross origin requests.
106130        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Make an informative
106131        error when trying to e.g. send a cross origin XMLHttpRequest to ftp://.
106132        (WebCore::DocumentThreadableLoader::didReceiveResponse): Pass error explanation from cross
106133        origin access control code.
106134        (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.
106135
106136        * loader/DocumentThreadableLoader.h: preflightFailure() now takes arguments.
106137
106138        * platform/network/ResourceErrorBase.cpp:
106139        * platform/network/ResourceErrorBase.h:
106140        Added a constant for WebKit error domain.
106141
106142        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFail): Report the error to console.
106143        One day we'll be able to also provide script file and line number here, so it's best to
106144        pass error all the way down to XHR for reporting.
106145
1061462010-07-06  Pavel Podivilov  <podivilov@chromium.org>
106147
106148        Reviewed by Pavel Feldman.
106149
106150        Web Inspector: convert script offset to webkit format in v8 ScriptDebugServer
106151        https://bugs.webkit.org/show_bug.cgi?id=41696
106152
106153        * bindings/v8/ScriptDebugServer.cpp:
106154        (WebCore::ScriptDebugServer::dispatchDidParseSource):
106155
1061562010-07-06  Adam Barth  <abarth@webkit.org>
106157
106158        Reviewed by Eric Seidel.
106159
106160        Implement InTableBodyMode
106161        https://bugs.webkit.org/show_bug.cgi?id=41671
106162
106163        In the process of implementing this patch, Eric and I discussed some of
106164        the high-level organization of the HTMLTreeBuilder class.  We'd like to
106165        split it up into smaller pieces.  In the meantime, I've reordered some
106166        of the declarations in the header to make the relations between the
106167        different kinds of functions clearer.
106168
106169        * html/HTMLElementStack.cpp:
106170        * html/HTMLTreeBuilder.cpp:
106171        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
106172        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
106173        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
106174        (WebCore::HTMLTreeBuilder::processStartTag):
106175        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
106176        (WebCore::HTMLTreeBuilder::processEndTag):
106177        (WebCore::HTMLTreeBuilder::processCharacter):
106178        (WebCore::HTMLTreeBuilder::processEndOfFile):
106179        * html/HTMLTreeBuilder.h:
106180
1061812010-07-06  Leandro Pereira  <leandro@profusion.mobi>
106182
106183        Unreviewed build fix.
106184
106185        [EFL] Generate code for RemoteInspector.
106186
106187        * CMakeLists.txt:
106188
1061892010-07-06  Varun Jain  <varunjain@chromium.org>
106190
106191        Reviewed by Oliver Hunt.
106192
106193        Implementing CURVE_TO_CUBIC specification for SVG Path Segments. Currently,
106194        curves specified in relative cordinates such as using createCurvetoCubicRel()
106195        javascript function are not displayed.
106196
106197        SVG CurvetoCubic Path not implemented for relative cordinates
106198        https://bugs.webkit.org/show_bug.cgi?id=41294
106199
106200        Test: svg/custom/svg-curve-with-relative-cordinates.html
106201
106202        * svg/SVGPathSegList.cpp:
106203        (WebCore::SVGPathSegList::toPathData):
106204
1062052010-07-06  Alexey Proskuryakov  <ap@apple.com>
106206
106207        Roll out patch for https://bugs.webkit.org/show_bug.cgi?id=41348 "Remove global variables
106208        from XSLTProcessorLibxslt.cpp", as it causes crashes on buildbot.
106209
106210        * xml/XSLTProcessor.h:
106211        (WebCore::XSLTProcessor::xslStylesheet):
106212        (WebCore::XSLTProcessor::XSLTProcessor):
106213        * xml/XSLTProcessorLibxslt.cpp:
106214        (WebCore::docLoaderFunc):
106215        (WebCore::setXSLTLoadCallBack):
106216        (WebCore::xsltStylesheetPointer):
106217        (WebCore::XSLTProcessor::transformToString):
106218
1062192010-07-06  Eric Seidel  <eric@webkit.org>
106220
106221        Reviewed by Adam Barth.
106222
106223        Add processing for "in cell" mode and end tag processing for "in row"
106224        https://bugs.webkit.org/show_bug.cgi?id=41688
106225
106226        I added several new table tests, not all of which pass yet.
106227        Remaining failures exist due to lack of full "in table body" mode
106228        support, which Adam has an outstanding patch for.
106229        I believe all of the various branches added by this change are
106230        covered now by our tests.
106231
106232        * html/HTMLElementStack.cpp:
106233         - Added QualifiedName versions of inScope functions.
106234           Using tagName.localName() is wrong for non-HTML elements,
106235           in preparation for supporting foreign content we should centralize
106236           our handling of QualifiedName in these functions instead of
106237           sprinkling more .localName() calls around the code.
106238        (WebCore::HTMLElementStack::inScope):
106239        (WebCore::HTMLElementStack::inListItemScope):
106240        (WebCore::HTMLElementStack::inTableScope):
106241        * html/HTMLElementStack.h:
106242        * html/HTMLFormattingElementList.cpp:
106243        (WebCore::HTMLFormattingElementList::Entry::operator==):
106244        (WebCore::HTMLFormattingElementList::Entry::operator!=):
106245         - Calling element() on markers will assert, so use m_element.
106246        * html/HTMLTreeBuilder.cpp:
106247        (WebCore::HTMLTreeBuilder::closeTheCell):
106248         - Implemented per the spec.
106249        (WebCore::HTMLTreeBuilder::processStartTag):
106250         - Use isTableBodyContextTag where possible.
106251         - Add InCellMode.
106252        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
106253         - Use isTableBodyContextTag where possible.
106254        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
106255         - This code is needed from at least two callsites.
106256        (WebCore::HTMLTreeBuilder::processEndTag):
106257         - Add InCellMode and InRowMode
106258        (WebCore::HTMLTreeBuilder::processCharacter):
106259        (WebCore::HTMLTreeBuilder::processEndOfFile):
106260        * html/HTMLTreeBuilder.h:
106261
1062622010-07-06  Eric Seidel  <eric@webkit.org>
106263
106264        Reviewed by Adam Barth.
106265
106266        Make <a> auto-close any parent <a> tag
106267        https://bugs.webkit.org/show_bug.cgi?id=41684
106268
106269        I first fixed <a> to auto-close surrounding <a> tags.
106270        That caused about 3 more test passes and one new test failure.
106271        The test failure was due to <marque> not adding a marker
106272        to the active formatting elements.
106273
106274        So I made a one-line change to fix <marque>.  However that hit an
106275        ASSERT due to a bug in indexOfFirstUnopenFormattingElement.
106276        Fixing indexOfFirstUnopenFormattingElement fixed another bunch of
106277        Adoption Agency related tests (clearly this was the second typo
106278        which was causing all the adoption agency failures).
106279        
106280        However fixing <marque> and indexOfFirstUnopenFormattingElement,
106281        added yet another failure due to missing support for </p>
106282        automatically adding an implicit <p> tag.  Fixing </p> finally
106283        got the tests to a stable (all improving) state.
106284
106285        In the end, these 4 minor (and very well tested) tweaks fixed a total
106286        of 9 subtests in html5lib/runner.html.
106287        Another subtest progressed, but did not fully pass due to missing
106288        <table> foster-parenting support.
106289
106290        * html/HTMLTreeBuilder.cpp:
106291        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
106292        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
106293        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
106294
1062952010-07-02  Philippe Normand  <pnormand@igalia.com>
106296
106297        Reviewed by Xan Lopez
106298
106299        [GStreamer] can't seek past maxTimeLoaded value
106300        https://bugs.webkit.org/show_bug.cgi?id=40526
106301
106302        Extended the seekable range to the whole media. This allows video
106303        played with progressive download to be seeked past the current
106304        buffered position.
106305
106306        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
106307        (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
106308        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
106309
1063102010-07-06  Andreas Wictor  <andreas.wictor@xcerion.com>
106311
106312        Reviewed by Alexey Proskuryakov.
106313
106314        Remove global variables from XSLTProcessorLibxslt.cpp
106315        https://bugs.webkit.org/show_bug.cgi?id=41348
106316
106317        Remove the globalProcessor and globalDocLoader global variables
106318        by using the _private field that exists on most libxml structs.
106319
106320        No new tests, existing tests covers this.
106321
106322        * xml/XSLTProcessor.h:
106323        (WebCore::XSLTProcessor::sourceNode):
106324        (WebCore::XSLTProcessor::XSLTProcessor):
106325        * xml/XSLTProcessorLibxslt.cpp:
106326        (WebCore::registredXSLTProcessors):
106327        (WebCore::registredXSLStyleSheets):
106328        (WebCore::docLoaderFunc):
106329        (WebCore::xsltStylesheetPointer):
106330        (WebCore::XSLTProcessor::transformToString):
106331
1063322010-07-06  Darin Adler  <darin@apple.com>
106333
106334        Fix Cairo build.
106335
106336        * platform/graphics/cairo/GraphicsContextCairo.cpp:
106337        (WebCore::GraphicsContext::createPlatformShadow): Removed unnneded release
106338        in code that passes a PassOwnPtr to another PassOwnPtr.
106339
1063402010-07-06  Darin Adler  <darin@apple.com>
106341
106342        Fix Chromium build.
106343
106344        * platform/graphics/skia/SkiaUtils.cpp:
106345        (WebCore::scratchContext): Use leakPtr instead of release.
106346
1063472010-07-06  Martin Robinson  <mrobinson@igalia.com>
106348
106349        Unreviewed.
106350
106351        Build fix after r62549.
106352
106353        * GNUmakefile.am: Generate RemoteInspector files by manually listing
106354        them instead of building them into libWebCoreJS.la.
106355
1063562010-07-06  Darin Adler  <darin@apple.com>
106357
106358        Reviewed by Adam Barth.
106359
106360        Add adoptPtr and leakPtr functions for OwnPtr and PassOwnPtr
106361        https://bugs.webkit.org/show_bug.cgi?id=41320
106362
106363        Made code changes required because of the change to the release function.
106364        The equivalent to the old release function is now named leakPtr and
106365        should be used sparingly. The new release function returns a PassOwnPtr.
106366
106367        * css/CSSFontFaceSource.cpp:
106368        (WebCore::CSSFontFaceSource::getFontData): Changed code to call
106369        leakPtr instead of release.
106370        * css/CSSParser.cpp:
106371        (WebCore::CSSParser::addProperty): Ditto.
106372
106373        * css/CSSSegmentedFontFace.cpp:
106374        (WebCore::CSSSegmentedFontFace::getFontData): Removed unneeded type
106375        casting. Not sure why this changed the type to FontData* and then
106376        casted back to SimpleFontData*.
106377
106378        * css/MediaQuery.cpp:
106379        (WebCore::MediaQuery::MediaQuery): Removed call to release on a
106380        PassOwnPtr, since the data member is now an OwnPtr.
106381        (WebCore::MediaQuery::~MediaQuery): Removed now-unneeded delete.
106382        * css/MediaQuery.h: Changed m_expressions to be an OwnPtr.
106383
106384        * html/HTMLToken.h:
106385        (WebCore::AtomicHTMLToken::AtomicHTMLToken): Use assignment instead
106386        of the set function since there are no raw pointers involved.
106387        * loader/CachedResource.cpp:
106388        (WebCore::CachedResource::makePurgeable): Ditto.
106389
106390        * loader/CrossOriginPreflightResultCache.cpp:
106391        (WebCore::CrossOriginPreflightResultCache::appendEntry): Use
106392        leakPtr instead of release, and also add FIXME about deleting the
106393        old value if the original and URL are already in the map. I
106394        believe dealing with this FIXME may fix a storage leak.
106395
106396        * loader/CrossOriginPreflightResultCache.h: Change the argument
106397        to be PassOwnPtr instead of a raw pointer, since this function
106398        does take ownership.
106399
106400        * loader/DocumentThreadableLoader.cpp:
106401        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
106402        Use assignment instead of the set function since there are no raw
106403        pointers involved.
106404        * loader/FrameLoader.cpp:
106405        (WebCore::FrameLoader::startIconLoader): Ditto.
106406        * loader/TextResourceDecoder.cpp:
106407        (WebCore::TextResourceDecoder::decode): Ditto.
106408        (WebCore::TextResourceDecoder::flush): Ditto.
106409
106410        * page/DOMTimer.cpp:
106411        (WebCore::DOMTimer::fired): Use OwnPtr instead of an explicit
106412        delete.
106413
106414        * platform/CrossThreadCopier.h: Removed explicit code that tried
106415        to copy PassOwnPtr in a complicated way. It did nothing different
106416        from just returning the PassOwnPtr. This presumably was done because
106417        PassRefPtr has issues when copied cross-thread, but there are no
106418        similar issues for PassOwnPtr. Someone with more experience than I
106419        might be able to remove the specialization altogether, because
106420        CrossThreadCopierPassThrough does the right thing in this case.
106421
106422        * platform/SharedBuffer.cpp:
106423        (WebCore::SharedBuffer::adoptPurgeableBuffer): Changed argument to
106424        be a PassOwnPtr.
106425        (WebCore::SharedBuffer::releasePurgeableBuffer): Changed result to
106426        be a PassOwnPtr.
106427        * platform/SharedBuffer.h: Updated for changes above.
106428
106429        * rendering/RenderSVGResourceFilter.cpp:
106430        (WebCore::RenderSVGResourceFilter::applyResource): Changed one site
106431        to use assignment instead of the set function since there are no raw
106432        pointers involved. Changed another site to use leakPtr instead
106433        of release.
106434
106435        * rendering/RenderSVGResourceGradient.cpp:
106436        (WebCore::createMaskAndSwapContextForTextGradient): Use assignment
106437        instead of the set function since there are no raw pointers involved.
106438
106439        * rendering/style/RenderStyle.cpp:
106440        (WebCore::RenderStyle::setContent): Use leakPtr instead of release.
106441        (WebCore::RenderStyle::setBoxShadow): Ditto.
106442
106443        * workers/DefaultSharedWorkerRepository.cpp:
106444        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
106445        Removed unneeded call to release function in a code path that passes
106446        a PassOwnPtr to a function that takes a PassOwnPtr.
106447
106448        * workers/WorkerContext.cpp:
106449        (WebCore::WorkerContext::setTimeout): Changed argument type to PassOwnPtr.
106450        (WebCore::WorkerContext::setInterval): Ditto.
106451        * workers/WorkerContext.h: Updated for changes above.
106452
106453        * workers/WorkerMessagingProxy.cpp:
106454        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
106455        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
106456        Removed unneeded call to release function in code paths that pass
106457        a PassOwnPtr to a function that takes a PassOwnPtr.
106458
1064592010-07-06  Ilya Tikhonovsky  <loislo@chromium.org>
106460
106461        Reviewed by Yury Semikhatsky.
106462
106463        WebInspector: generator part of the patch for bug 40675.
106464        On the way to Remote Debugging we want to support JSON serialization
106465        on both sides of WebInspector transport.
106466        As far as InspectorFrontend class is a simple proxy to WebInspector
106467        it would be better to generate it from an IDL file.
106468        We have generator infrastructure for binding and will reuse it for
106469        new generator.
106470        https://bugs.webkit.org/show_bug.cgi?id=41692
106471
106472
106473        * CMakeLists.txt:
106474        * DerivedSources.make:
106475        * GNUmakefile.am:
106476        * WebCore.gyp/WebCore.gyp:
106477        * WebCore.gyp/scripts/rule_binding.py:
106478        * WebCore.gypi:
106479        * WebCore.pri:
106480        * WebCore.vcproj/WebCore.vcproj:
106481        * WebCore.xcodeproj/project.pbxproj:
106482        * bindings/scripts/CodeGenerator.pm:
106483        * bindings/scripts/IDLParser.pm:
106484        * bindings/scripts/generate-bindings.pl:
106485        * inspector/CodeGeneratorInspector.pm: Added.
106486        * inspector/InspectorController.cpp:
106487        (WebCore::InspectorController::connectFrontend):
106488        (WebCore::InspectorController::startTimelineProfiler):
106489        * inspector/InspectorController.h:
106490        * inspector/InspectorFrontend.cpp:
106491        * inspector/InspectorFrontend.h:
106492        * inspector/InspectorFrontend2.idl: Added.
106493        * inspector/InspectorTimelineAgent.cpp:
106494        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
106495        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
106496        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
106497        * inspector/InspectorTimelineAgent.h:
106498
1064992010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
106500
106501        Rubber-stamped by Xan Lopez.
106502
106503        [GTK] Crashes when going back with page cache in unknown circunstances
106504        https://bugs.webkit.org/show_bug.cgi?id=41710
106505
106506        Also NULL-check document, in hopes of fixing this hard to
106507        reproduce crash that we are getting reported quite a bit.
106508
106509        * page/FrameView.cpp:
106510        (WebCore::FrameView::windowClipRect):
106511
1065122010-07-05  Ilya Tikhonovsky  <loislo@chromium.org>
106513
106514        Reviewed by Yury Semikhatsky.
106515
106516        Web Inspector: On the way to Remote Debuging we want to support JSON
106517        serialization on both sides of WebInspector transport. As far as
106518        InspectorFrontend class is a simple proxy to WebInspector it would
106519        be better to generate it from an IDL file. We have generator
106520        infostructure for binding and will reuse it for new generator.
106521        https://bugs.webkit.org/show_bug.cgi?id=40675
106522
106523        * bindings/js/ScriptCallStack.cpp:
106524        (WebCore::ScriptCallStack::stackTrace):
106525        * bindings/js/ScriptCallStack.h:
106526        * bindings/v8/ScriptCallStack.cpp:
106527        (WebCore::ScriptCallStack::stackTrace):
106528        * bindings/v8/ScriptCallStack.h:
106529        * inspector/InspectorFrontend.cpp:
106530        (WebCore::InspectorFrontend::addRecordToTimeline):
106531        * inspector/InspectorFrontend.h:
106532        * inspector/InspectorTimelineAgent.cpp:
106533        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
106534        (WebCore::InspectorTimelineAgent::willCallFunction):
106535        (WebCore::InspectorTimelineAgent::willDispatchEvent):
106536        (WebCore::InspectorTimelineAgent::willLayout):
106537        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
106538        (WebCore::InspectorTimelineAgent::willPaint):
106539        (WebCore::InspectorTimelineAgent::willWriteHTML):
106540        (WebCore::InspectorTimelineAgent::didWriteHTML):
106541        (WebCore::InspectorTimelineAgent::didInstallTimer):
106542        (WebCore::InspectorTimelineAgent::didRemoveTimer):
106543        (WebCore::InspectorTimelineAgent::willFireTimer):
106544        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
106545        (WebCore::InspectorTimelineAgent::willLoadXHR):
106546        (WebCore::InspectorTimelineAgent::willEvaluateScript):
106547        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
106548        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
106549        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
106550        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
106551        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
106552        (WebCore::InspectorTimelineAgent::didMarkTimeline):
106553        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
106554        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
106555        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
106556        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
106557        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
106558        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
106559        * inspector/InspectorTimelineAgent.h:
106560        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
106561        * inspector/TimelineRecordFactory.cpp:
106562        (WebCore::TimelineRecordFactory::createGenericRecord):
106563        (WebCore::TimelineRecordFactory::createGCEventData):
106564        (WebCore::TimelineRecordFactory::createFunctionCallData):
106565        (WebCore::TimelineRecordFactory::createEventDispatchData):
106566        (WebCore::TimelineRecordFactory::createGenericTimerData):
106567        (WebCore::TimelineRecordFactory::createTimerInstallData):
106568        (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
106569        (WebCore::TimelineRecordFactory::createXHRLoadData):
106570        (WebCore::TimelineRecordFactory::createEvaluateScriptData):
106571        (WebCore::TimelineRecordFactory::createMarkTimelineData):
106572        (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
106573        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
106574        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
106575        (WebCore::TimelineRecordFactory::createResourceFinishData):
106576        (WebCore::TimelineRecordFactory::createReceiveResourceData):
106577        (WebCore::TimelineRecordFactory::createPaintData):
106578        (WebCore::TimelineRecordFactory::createParseHTMLData):
106579        * inspector/TimelineRecordFactory.h:
106580
1065812010-07-06  Adam Barth  <abarth@webkit.org>
106582
106583        Reviewed by Eric Seidel.
106584
106585        Implement InColgroupMode
106586        https://bugs.webkit.org/show_bug.cgi?id=41663
106587
106588        * html/HTMLTreeBuilder.cpp:
106589        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
106590        (WebCore::HTMLTreeBuilder::processStartTag):
106591        (WebCore::HTMLTreeBuilder::processEndTag):
106592        (WebCore::HTMLTreeBuilder::processCharacter):
106593        (WebCore::HTMLTreeBuilder::processEndOfFile):
106594        * html/HTMLTreeBuilder.h:
106595
1065962010-07-06  Eric Seidel  <eric@webkit.org>
106597
106598        Reviewed by Adam Barth.
106599
106600        Implement bookmarking for HTML5 Adoption Agency algorithm
106601        https://bugs.webkit.org/show_bug.cgi?id=41659
106602
106603        Was easier than I expected it to be.
106604        Fixes a bunch of html5lib/runner.html tests.
106605
106606        * html/HTMLFormattingElementList.cpp:
106607        (WebCore::HTMLFormattingElementList::bookmarkFor):
106608        (WebCore::HTMLFormattingElementList::insertAt):
106609        * html/HTMLFormattingElementList.h:
106610        (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
106611        (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
106612        (WebCore::HTMLFormattingElementList::Bookmark::elementBefore):
106613        (WebCore::HTMLFormattingElementList::Bookmark::elementAfter):
106614        * html/HTMLTreeBuilder.cpp:
106615        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
106616
1066172010-07-06  Adam Barth  <abarth@webkit.org>
106618
106619        Reviewed by Eric Seidel.
106620
106621        Implement more of InTableMode
106622        https://bugs.webkit.org/show_bug.cgi?id=41652
106623
106624        By the time we got around to landing this patch, it turns out to be
106625        just a bit of cleanup (the functional changes where landed already.)
106626
106627        * html/HTMLTreeBuilder.cpp:
106628        (WebCore::HTMLTreeBuilder::processCharacter):
106629        (WebCore::HTMLTreeBuilder::processEndOfFile):
106630
1066312010-07-06  Sheriff Bot  <webkit.review.bot@gmail.com>
106632
106633        Unreviewed, rolling out r62529.
106634        http://trac.webkit.org/changeset/62529
106635        https://bugs.webkit.org/show_bug.cgi?id=41661
106636
106637        http/tests/inspector/resource-har-conversion.html is broken
106638        (Requested by yutak on #webkit).
106639
106640        * inspector/InspectorController.cpp:
106641        (WebCore::InspectorController::addResource):
106642        (WebCore::InspectorController::removeResource):
106643        * inspector/InspectorController.h:
106644        * inspector/InspectorResource.cpp:
106645        (WebCore::InspectorResource::InspectorResource):
106646        (WebCore::InspectorResource::updateScriptObject):
106647        (WebCore::InspectorResource::cachedResource):
106648        (WebCore::InspectorResource::type):
106649        (WebCore::InspectorResource::resourceData):
106650        * inspector/InspectorResource.h:
106651        (WebCore::InspectorResource::):
106652        (WebCore::InspectorResource::create):
106653        * inspector/front-end/Resource.js:
106654        (WebInspector.Resource.Type.toString):
106655        (WebInspector.Resource.prototype.set type):
106656        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
106657        * inspector/front-end/ResourceView.js:
106658        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
106659        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
106660        (WebInspector.ResourceView.prototype._refreshHeaders):
106661        * inspector/front-end/inspector.css:
106662        (.resources-category-scripts, .resources-category-xhr, .resources-category-fonts, .resources-category-other):
106663        * inspector/front-end/inspector.js:
106664        (WebInspector.loaded):
106665        (WebInspector.updateResource):
106666        * websockets/WebSocketChannel.cpp:
106667        (WebCore::WebSocketChannel::WebSocketChannel):
106668        (WebCore::WebSocketChannel::disconnect):
106669        (WebCore::WebSocketChannel::didOpen):
106670        (WebCore::WebSocketChannel::didClose):
106671        (WebCore::WebSocketChannel::processBuffer):
106672        * websockets/WebSocketChannel.h:
106673
1066742010-07-06  Adam Barth  <abarth@webkit.org>
106675
106676        Reviewed by Eric Seidel.
106677
106678        Implement InCaptionMode
106679        https://bugs.webkit.org/show_bug.cgi?id=41660
106680
106681        Implementing this mode also turned up a subtle bug in the adoption
106682        agency code.
106683
106684        * html/HTMLTreeBuilder.cpp:
106685        (WebCore::HTMLTreeBuilder::processStartTag):
106686        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
106687        (WebCore::HTMLTreeBuilder::processEndTag):
106688        (WebCore::HTMLTreeBuilder::processCharacter):
106689        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
106690            - We're supposed to reutrn the first *unopened* formatting element.
106691              The old code returned the first *opened* formatting element.
106692        * html/HTMLTreeBuilder.h:
106693
1066942010-07-06  Adam Barth  <abarth@webkit.org>
106695
106696        Reviewed by Eric Seidel.
106697
106698        Implement defaut cases for InTableMode
106699        https://bugs.webkit.org/show_bug.cgi?id=41656
106700
106701        * html/HTMLTreeBuilder.cpp:
106702        (WebCore::HTMLTreeBuilder::processStartTag):
106703        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
106704        (WebCore::HTMLTreeBuilder::processEndTag):
106705        * html/HTMLTreeBuilder.h:
106706
1067072010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>
106708
106709        Reviewed by Dirk Schulze.
106710
106711        SVGRenderContainer forces too many kids to relayout
106712        https://bugs.webkit.org/show_bug.cgi?id=15391
106713
106714        Fixing a long-standing performance issue. We should only ever need to relayout container children when the parent bounds change.
106715        The bounds of a container can only change, if the outermost RenderSVGRoot container uses relative length values and its size changes.
106716        This can either happen when the window resizes for standalone SVG documents, or if an enclosing RenderBox changes width/height values.
106717
106718        Only relayout container children if the container has selfNeedsLayout() true, or if the parent bounds change.
106719        Lively Kernel doesn't do any relayouts anymore, except if you change the Safari window size, this is a great progression.
106720
106721        * rendering/RenderPath.cpp:
106722        (WebCore::RenderPath::layout): No need to special case Path updates, if the element uses relative lengths. SVGRenderSupport now handles this case.
106723        * rendering/RenderSVGContainer.cpp:
106724        (WebCore::RenderSVGContainer::layout): Fix some style issues.
106725        * rendering/RenderSVGContainer.h:
106726        (WebCore::RenderSVGContainer::setDrawsContents): Inlined for speed.
106727        (WebCore::RenderSVGContainer::drawsContents): Ditto.
106728        * rendering/RenderSVGRoot.cpp:
106729        (WebCore::RenderSVGRoot::RenderSVGRoot): Initialize m_isLayoutSizeChanged to false.
106730        (WebCore::RenderSVGRoot::layout): Set m_isLayoutSizeChanged=true when the RenderSVGRoot size changes during layout.
106731        (WebCore::RenderSVGRoot::calcViewport): Remove hasRelativeLengths() special case.
106732        * rendering/RenderSVGRoot.h:
106733        (WebCore::RenderSVGRoot::isLayoutSizeChanged): New function, which returns true during layout() if the outermost <svg> size changes.
106734        * rendering/RenderSVGViewportContainer.cpp:
106735        (WebCore::RenderSVGViewportContainer::calcViewport): Cleanup code, and remove obsolete hasRelativeLengths() special case.
106736        * rendering/SVGRenderSupport.cpp:
106737        (WebCore::svgRootTreeObject): Added helper function, that returns the RenderSVGRoot for a given RenderObject.
106738        (WebCore::SVGRenderSupport::layoutChildren): Remove FIXME, only relayout container children, if the parent bounds change and the child uses relative lengths.
106739        * svg/SVGStyledElement.cpp:
106740        (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Implemented this function. Keeps track of relative lengths elements, so that the
106741                                                                       hasRelativeLengths() information is always up2date.
106742        * svg/SVGStyledElement.h:
106743        (WebCore::SVGStyledElement::hasRelativeLengths): Don't call the virtual selfHasRelativeLengths() information, just return wheter m_elementsWithRelativeLengths is not empty.
106744
1067452010-07-05  Yuzo Fujishima  <yuzo@google.com>
106746
106747        Reviewed by Dan Bernstein.
106748
106749        Fix for Bug 41509 - Ranges for @font-face unicode-range must be separated by commas
106750        https://bugs.webkit.org/show_bug.cgi?id=41509
106751
106752        Test: fast/css/font-face-multiple-ranges-for-unicode-range.html
106753
106754        * css/CSSParser.cpp:
106755        (WebCore::CSSParser::parseFontFaceUnicodeRange):
106756
1067572010-07-05  Yuta Kitamura  <yutak@chromium.org>
106758
106759        Reviewed by Pavel Feldman.
106760
106761        Add WebSocket resource type to Web Inspector.
106762
106763        When a new WebSocket connection is established, a line for that connection
106764        will appear in Web Inspector's Resources tab. If the resource name is
106765        clicked, the details of handshake request and response will be shown.
106766
106767        Web Inspector: WebSocket in Resources tab
106768        https://bugs.webkit.org/show_bug.cgi?id=40768
106769
106770        * inspector/InspectorController.cpp:
106771        (WebCore::InspectorController::addResource): WebSocket resource does not
106772        have an associated loader, thus frame might be null. Need to check it.
106773        (WebCore::InspectorController::removeResource): Ditto.
106774        (WebCore::InspectorController::didCreateWebSocket):
106775        (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
106776        (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
106777        (WebCore::InspectorController::didCloseWebSocket):
106778        * inspector/InspectorController.h:
106779        * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
106780        because WebSocket does not have a loader and we need to allow null for
106781        these variables.
106782        (WebCore::createReadableStringFromBinary):
106783        (WebCore::InspectorResource::InspectorResource):
106784        (WebCore::InspectorResource::create): Factory function of
106785        regular (non-WebSocket) resources.
106786        (WebCore::InspectorResource::createWebSocket): Factory function of
106787        WebSocket resources.
106788        (WebCore::InspectorResource::updateWebSocketRequest):
106789        (WebCore::InspectorResource::updateWebSocketResponse):
106790        (WebCore::InspectorResource::updateScriptObject):
106791        (WebCore::InspectorResource::cachedResource):
106792        (WebCore::InspectorResource::type):
106793        (WebCore::InspectorResource::resourceData):
106794        * inspector/InspectorResource.h:
106795        (WebCore::InspectorResource::):
106796        (WebCore::InspectorResource::markWebSocket):
106797        * inspector/front-end/Resource.js:
106798        (WebInspector.Resource.Type.toString):
106799        (WebInspector.Resource.prototype.set type):
106800        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
106801        * inspector/front-end/ResourceView.js:
106802        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
106803        (WebInspector.ResourceView.prototype._refreshResponseHeaders):
106804        (WebInspector.ResourceView.prototype._refreshHeaders):
106805        * inspector/front-end/inspector.css:
106806        (.resources-category-websockets, .resources-category-other):
106807        (.resources-category-websockets .resources-graph-bar):
106808        (.resources-category-websockets.resource-cached .resources-graph-bar):
106809        * inspector/front-end/inspector.js:
106810        (WebInspector.loaded):
106811        (WebInspector.updateResource):
106812        * websockets/WebSocketChannel.cpp:
106813        (WebCore::WebSocketChannel::WebSocketChannel):
106814        (WebCore::WebSocketChannel::disconnect):
106815        (WebCore::WebSocketChannel::didOpen):
106816        (WebCore::WebSocketChannel::didClose):
106817        (WebCore::WebSocketChannel::processBuffer):
106818        (WebCore::WebSocketChannel::identifier):
106819        * websockets/WebSocketChannel.h:
106820
1068212010-07-05  Yury Semikhatsky  <yurys@chromium.org>
106822
106823        Unreviewed. Fix Chromium build.
106824
106825        * inspector/InspectorApplicationCacheAgent.cpp:
106826        (WebCore::InspectorApplicationCacheAgent::fillResourceList):
106827        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
106828
1068292010-07-05  Adam Barth  <abarth@webkit.org>
106830
106831        Unreviewed.
106832
106833        Move processStartTagForInBody to its own function.
106834
106835        * html/HTMLTreeBuilder.cpp:
106836        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
106837        (WebCore::HTMLTreeBuilder::processStartTag):
106838        * html/HTMLTreeBuilder.cpp.orig: Added.
106839        * html/HTMLTreeBuilder.h:
106840
1068412010-07-05  Eric Seidel  <eric@webkit.org>
106842
106843        Reviewed by Adam Barth.
106844
106845        Fix one more notImplemented in h1-h6 start tag handling
106846        https://bugs.webkit.org/show_bug.cgi?id=41654
106847
106848        * html/HTMLTreeBuilder.cpp:
106849        (WebCore::HTMLTreeBuilder::processStartTag):
106850
1068512010-07-05  Eric Seidel  <eric@webkit.org>
106852
106853        Unreviewed.  Just fixing proess to process.
106854        Clearly Adam and I can't spell.  Thankfully MikeSmith can.
106855
106856        Add <isindex> support, per HTML5
106857        https://bugs.webkit.org/show_bug.cgi?id=41650
106858
106859        * html/HTMLTreeBuilder.cpp:
106860        (WebCore::HTMLTreeBuilder::processFakeStartTag):
106861        (WebCore::HTMLTreeBuilder::processFakeEndTag):
106862        (WebCore::HTMLTreeBuilder::processIsindexStartTagForBody):
106863        (WebCore::HTMLTreeBuilder::processStartTag):
106864        * html/HTMLTreeBuilder.h:
106865
1068662010-07-05  Eric Seidel  <eric@webkit.org>
106867
106868        Reviewed by Adam Barth.
106869
106870        Add <isindex> support, per HTML5
106871        https://bugs.webkit.org/show_bug.cgi?id=41650
106872
106873        Covered by html5lib/runner.html including a new
106874        isindex.dat test suite.
106875
106876        * html/HTMLToken.h:
106877        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
106878         - Support passing attributes to the constructor.
106879        (WebCore::AtomicHTMLToken::name):
106880        (WebCore::AtomicHTMLToken::setName):
106881        (WebCore::AtomicHTMLToken::getAttributeItem):
106882        (WebCore::AtomicHTMLToken::attributes):
106883        (WebCore::AtomicHTMLToken::takeAtributes):
106884         - Reduces ref-churn, and makes it possible for callers
106885           to modify attributes w/o affecting future uses of the attributes.
106886        (WebCore::AtomicHTMLToken::usesName):
106887         - Used by ASSERTS.
106888        (WebCore::AtomicHTMLToken::usesAttributes):
106889         - Used by ASSERTS.
106890        * html/HTMLTreeBuilder.cpp:
106891        (WebCore::convertToOldStyle):
106892         - Can't be const, now that we use takeAttributes()
106893        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
106894        (WebCore::HTMLTreeBuilder::proesssFakeStartTag):
106895         - New function.  I'm not sure this is the perfect design
106896          (I'd kinda like AtomicHTMLToken to be copyable so we can
106897           have create functions for it), but this makes the callsites
106898           using fake tokens much more readable.
106899        (WebCore::HTMLTreeBuilder::proesssFakeEndTag):
106900        (WebCore::HTMLTreeBuilder::processFakeCharacters):
106901        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
106902        (WebCore::HTMLTreeBuilder::processIsindexStartTagForBody):
106903        (WebCore::HTMLTreeBuilder::processStartTag):
106904        (WebCore::HTMLTreeBuilder::insertScriptElement):
106905         - Use takeAttributes() for less ref-churn.
106906        (WebCore::HTMLTreeBuilder::createElement): ditto
106907        (WebCore::HTMLTreeBuilder::finished):
106908         - Remove bogus use of AtomicHTMLToken constructor which
106909           wasn't even being used now that we support emitting EOF tokens
106910           from the Tokenizer directly.
106911        * html/HTMLTreeBuilder.h:
106912
1069132010-07-05  Adam Barth  <abarth@webkit.org>
106914
106915        Reviewed by Eric Seidel.
106916
106917        ASSERT that we're processing the correct type of token
106918        https://bugs.webkit.org/show_bug.cgi?id=41647
106919
106920        Making these asserts work required a small (non-observable) tweak to
106921        some old code.
106922
106923        * html/HTMLTreeBuilder.cpp:
106924        (WebCore::HTMLTreeBuilder::processDoctypeToken):
106925        (WebCore::HTMLTreeBuilder::processStartTag):
106926        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
106927        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
106928        (WebCore::HTMLTreeBuilder::processEndTag):
106929        (WebCore::HTMLTreeBuilder::processComment):
106930        (WebCore::HTMLTreeBuilder::processCharacter):
106931        (WebCore::HTMLTreeBuilder::processEndOfFile):
106932        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
106933
1069342010-07-05  Adam Barth  <abarth@webkit.org>
106935
106936        Reviewed by Eric Seidel.
106937
106938        Implement in select in table
106939        https://bugs.webkit.org/show_bug.cgi?id=41646
106940
106941        This mode is mostly a fall-through to the InSelectMode.
106942
106943        * html/HTMLTreeBuilder.cpp:
106944        (WebCore::HTMLTreeBuilder::processStartTag):
106945        (WebCore::HTMLTreeBuilder::processEndTag):
106946        (WebCore::HTMLTreeBuilder::processCharacter):
106947        (WebCore::HTMLTreeBuilder::processEndOfFile):
106948
1069492010-07-05  Adam Barth  <abarth@webkit.org>
106950
106951        Reviewed by Eric Seidel.
106952
106953        Implement basic text node coalescing
106954        https://bugs.webkit.org/show_bug.cgi?id=41623
106955
106956        This patch isn't the end-all, be-all of text node coalescing, but it's
106957        a good start.
106958
106959        * dom/CharacterData.cpp:
106960        (WebCore::CharacterData::parserAppendData):
106961        (WebCore::CharacterData::appendData):
106962        * dom/CharacterData.h:
106963            - Added a new method to dance around mutation events.
106964        * html/HTMLTreeBuilder.cpp:
106965        (WebCore::HTMLTreeBuilder::insertTextNode):
106966
1069672010-07-05  Adam Barth  <abarth@webkit.org>
106968
106969        Reviewed by Eric Seidel.
106970
106971        Implement InSelectMode
106972        https://bugs.webkit.org/show_bug.cgi?id=41627
106973
106974        * html/HTMLTreeBuilder.cpp:
106975        (WebCore::HTMLTreeBuilder::processStartTag):
106976        (WebCore::HTMLTreeBuilder::processEndTag):
106977        (WebCore::HTMLTreeBuilder::processCharacter):
106978        (WebCore::HTMLTreeBuilder::processEndOfFile):
106979
1069802010-07-05  Fady Samuel  <fsamuel@chromium.org>
106981
106982        Reviewed by Darin Adler.
106983
106984        Fixed a svg crash when setting class of an svg ellipse object.
106985
106986        Altering the CSS class of an attached SVG element causes WebKit to crash
106987        https://bugs.webkit.org/show_bug.cgi?id=40857
106988
106989        Test: svg/css/svg-ellipse-render-crash.html
106990
106991        * dom/StyledElement.cpp:
106992        (WebCore::StyledElement::classAttributeChanged):
106993
1069942010-07-05  Dan Bernstein  <mitz@apple.com>
106995
106996        Reviewed by Sam Weinig.
106997
106998        Reproducible crash with Optimize Legibility extension
106999        https://bugs.webkit.org/show_bug.cgi?id=41585
107000
107001        Test: fast/css/text-rendering-priority.html
107002
107003        Moved the text-rendering CSS property to the “high priority” group, because applying it
107004        during style selection invalidates the font.
107005
107006        * css/CSSPropertyNames.in: Moved text-rendering to the “high priority” section at the top.
107007        * css/CSSStyleSelector.cpp:
107008        (WebCore::CSSStyleSelector::applyDeclarations): Updated compile-time assertion.
107009
1070102010-07-05  Dan Bernstein  <mitz@apple.com>
107011
107012        Reviewed by Sam Weinig.
107013
107014        optimizeLegibility doesn't play nice with fonts that do not have a space glyph
107015        https://bugs.webkit.org/show_bug.cgi?id=41599
107016
107017        No test because none of the fonts available to DumpRenderTree are missing a space glyph.
107018
107019        * rendering/RenderBlockLineLayout.cpp:
107020        (WebCore::RenderBlock::findNextLineBreak): When the font does not map the space character
107021        to a glyph, a fallback font is used for space. Therefore, wordTrailingSpaceWidth must be
107022        initialized with the width of a space as measured by the Font rather than with the cached
107023        space width.
107024
1070252010-07-05  Eric Seidel  <eric@webkit.org>
107026
107027        Reviewed by Adam Barth.
107028
107029        Implement HTML5's "reset insertion mode appropriately"
107030        https://bugs.webkit.org/show_bug.cgi?id=41628
107031
107032        This has some minimal testing.  One from my previous
107033        </table> patch, and a few from the main suite.
107034
107035        Mostly resetInsertionModeAppropriately isn't used yet
107036        but we're about to add a bunch of states which do use it
107037        and our test coverage will expand further as we do.
107038
107039        * html/HTMLTreeBuilder.cpp:
107040        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
107041        (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
107042        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
107043        * html/HTMLTreeBuilder.h:
107044
1070452010-07-04  Eric Seidel  <eric@webkit.org>
107046
107047        Reviewed by Adam Barth.
107048
107049        Add </table> support for "in table" insertion mode
107050        https://bugs.webkit.org/show_bug.cgi?id=41591
107051
107052        resetInsertionModeAppropriately isn't implemented yet, however
107053        I've added a test for the usage I added.
107054
107055        * html/HTMLTreeBuilder.cpp:
107056        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
107057        (WebCore::HTMLTreeBuilder::processEndTag):
107058        * html/HTMLTreeBuilder.h:
107059
1070602010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
107061
107062        Unreviewed build fix for r62503.
107063
107064        Chromium missing method. Filed bug 41632 to track.
107065
107066        * loader/appcache/ApplicationCacheHost.h:
107067        (WebCore::ApplicationCacheHost::applicationCache):
107068
1070692010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
107070
107071        Unreviewed build fix for r62503.
107072
107073        Missed GTK's build file.
107074
107075        * GNUmakefile.am:
107076
1070772010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
107078
107079        Unreviewed build fix for r62503.
107080
107081        Pass a blank ResourceResponse instead of passing 0.
107082
107083        * loader/appcache/ApplicationCacheGroup.cpp:
107084        (WebCore::ApplicationCacheGroup::createResourceHandle):
107085
1070862010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
107087
107088        Unreviewed build fix for r62503.
107089
107090        Forward declare ApplicationCache for Chromium.
107091
107092        * loader/appcache/ApplicationCacheHost.h:
107093
1070942010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
107095
107096        Reviewed by Pavel Feldman.
107097
107098        WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
107099        https://bugs.webkit.org/show_bug.cgi?id=24529
107100
107101        Parts of this patch were written by Kavita Kanetkar <kkanetkar@chromium.org>.
107102
107103        Part 2: Pulling ApplicationCache Resources to Display in the Inspector.
107104
107105          The InspectorApplicationCacheAgent gathers the information it
107106          needs and forwards it on to the inspector.
107107
107108        * inspector/InspectorApplicationCacheAgent.cpp:
107109        (WebCore::InspectorApplicationCacheAgent::fillResourceList): get information about the resources.
107110        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): gathers all the information from the ApplicationCacheHost.
107111        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
107112        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
107113        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
107114        * inspector/InspectorApplicationCacheAgent.h: defines structures to hold information about caches and resources.
107115        (WebCore::InspectorApplicationCacheAgent::ApplicationCacheInfo::ApplicationCacheInfo):
107116        (WebCore::InspectorApplicationCacheAgent::ResourceInfo::ResourceInfo):
107117        (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
107118        * loader/appcache/ApplicationCacheHost.h:
107119        (WebCore::ApplicationCacheHost::applicationCacheForInspector): new convention, public cache accessor for the inspector.
107120        (WebCore::ApplicationCacheHost::documentLoader): added const.
107121
107122          The User Interface uses a DataGrid, like Cookies.
107123
107124        * inspector/front-end/ApplicationCacheItemsView.js:
107125        (WebInspector.ApplicationCacheItemsView.prototype._update):
107126        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
107127        (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
107128        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.numberCompare):
107129        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.localeCompare):
107130        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
107131
107132          The usual frontend pull workflow, except this goes through
107133          InspectorApplicationCacheAgent instead of InspectorController.
107134
107135        * inspector/InspectorBackend.cpp:
107136        (WebCore::InspectorBackend::getApplicationCaches):
107137        (WebCore::InspectorBackend::inspectorApplicationCacheAgent):
107138        * inspector/InspectorBackend.h:
107139        * inspector/InspectorBackend.idl:
107140        * inspector/InspectorFrontend.cpp:
107141        (WebCore::InspectorFrontend::didGetApplicationCaches):
107142        * inspector/InspectorFrontend.h:
107143        * inspector/front-end/DOMAgent.js:
107144        (WebInspector.DOMNode.prototype.hasChildNodes): style fix.
107145        (WebInspector.DOMAgent.prototype.nodeForId): style fix.
107146        (WebInspector.ApplicationCache.getApplicationCachesAsync): pull.
107147        (WebInspector.Cookies.getCookiesAsync):
107148        * inspector/front-end/StoragePanel.js:
107149        (WebInspector.StoragePanel.prototype.updateManifest):
107150        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect):
107151        * inspector/front-end/inspector.js:
107152        (WebInspector.updateResource):
107153        (WebInspector._addAppCacheDomain):
107154        (WebInspector.reset):
107155
107156          Miscellaneous. Localized Strings and fixes.
107157
107158        * English.lproj/localizedStrings.js: "Type", "%s (%s)"
107159        * inspector/InspectorController.cpp:
107160        (WebCore::InspectorController::deleteCookie):
107161        * inspector/InspectorController.h:
107162
1071632010-07-04  Joseph Pecoraro  <joepeck@webkit.org>
107164
107165        Reviewed by Pavel Feldman.
107166
107167        WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
107168        https://bugs.webkit.org/show_bug.cgi?id=24529
107169
107170        Part 1: Backend -> Frontend Messages. ApplicationCache Status and Connectivity Status.
107171
107172        This patch adds an InspectorApplicationCacheAgent to monitor application
107173        cache changes, starts a UI in the Storage panel, handles the boilerplate
107174        of adding new files.
107175
107176          Added an agent to encapsulate and handle the application cache logic.
107177          This is similar to the timeline agent.
107178
107179        * inspector/InspectorApplicationCacheAgent.cpp: Added.
107180        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
107181        (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
107182        (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
107183        (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
107184        (WebCore::InspectorApplicationCacheAgent::updateNetworkState):
107185        * inspector/InspectorApplicationCacheAgent.h: Added.
107186
107187          InspectorController owns an InspectorApplicationCacheAgent. This
107188          handles its lifetime management.
107189
107190        * inspector/InspectorController.cpp:
107191        (WebCore::InspectorController::~InspectorController):
107192        (WebCore::InspectorController::connectFrontend): create the agent with a frontend.
107193        (WebCore::InspectorController::disconnectFrontend): remove the agent when closing.
107194        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
107195        * inspector/InspectorController.h:
107196
107197          User Interface for ApplicationCache in the StoragePanel. This follows
107198          very closely to Cookies, it will have a sortable table of items. The
107199          status bar contains connectivity and application cache status
107200          indicators which update when backend messages are received. There
107201          are some stubs which the next part will implement.
107202
107203        * inspector/front-end/ApplicationCacheItemsView.js: Added.
107204        (WebInspector.ApplicationCacheItemsView):
107205        (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems): refresh, delete, connectivity, application cache status.
107206        (WebInspector.ApplicationCacheItemsView.prototype.show):
107207        (WebInspector.ApplicationCacheItemsView.prototype.hide):
107208        (WebInspector.ApplicationCacheItemsView.prototype.updateStatus): this is the application cache status indicator.
107209        (WebInspector.ApplicationCacheItemsView.prototype.updateNetworkState): this is the online/offline connectivity indicator.
107210        (WebInspector.ApplicationCacheItemsView.prototype._update):
107211        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
107212        (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
107213        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
107214        (WebInspector.ApplicationCacheItemsView.prototype.resize):
107215        (WebInspector.ApplicationCacheItemsView.prototype._deleteButtonClicked):
107216        (WebInspector.ApplicationCacheItemsView.prototype._deleteCallback):
107217        (WebInspector.ApplicationCacheItemsView.prototype._refreshButtonClicked):
107218
107219          The usual dispatch flow from the backend, to the frontend, to the
107220          panel, and then to the visible view. Some slight refactoring to
107221          eliminate duplicated code.
107222
107223        * inspector/InspectorFrontend.cpp:
107224        (WebCore::InspectorFrontend::updateDOMStorage):
107225        (WebCore::InspectorFrontend::didGetApplicationCaches):
107226        (WebCore::InspectorFrontend::updateApplicationCacheStatus):
107227        * inspector/InspectorFrontend.h:
107228        * inspector/front-end/StoragePanel.js:
107229        (WebInspector.StoragePanel):
107230        (WebInspector.StoragePanel.prototype.reset):
107231        (WebInspector.StoragePanel.prototype.addApplicationCache):
107232        (WebInspector.StoragePanel.prototype.showDatabase):
107233        (WebInspector.StoragePanel.prototype.showDOMStorage):
107234        (WebInspector.StoragePanel.prototype.showCookies):
107235        (WebInspector.StoragePanel.prototype.showApplicationCache):
107236        (WebInspector.StoragePanel.prototype._genericViewSetup):
107237        (WebInspector.StoragePanel.prototype.updateApplicationCacheStatus):
107238        (WebInspector.StoragePanel.prototype.updateNetworkState):
107239        (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
107240        (WebInspector.ApplicationCacheSidebarTreeElement):
107241        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect):
107242        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.get mainTitle):
107243        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.set mainTitle):
107244        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.get subtitle):
107245        (WebInspector.ApplicationCacheSidebarTreeElement.prototype.set subtitle):
107246        * inspector/front-end/inspector.js:
107247        (WebInspector.dispatch.delayDispatch):
107248        (WebInspector.dispatch):
107249        (WebInspector._addAppCacheDomain):
107250        (WebInspector.addDOMStorage):
107251        (WebInspector.updateDOMStorage):
107252
107253          Notify the InspectorApplicationCacheAgent on application cache changes
107254          or specifics. Notify the InspectorController on generic resource events.
107255          That is because ApplicationCacheController is a ResourceClient and needs
107256          to trigger the resource events normally handled by ResourceLoader.
107257
107258        * loader/appcache/ApplicationCacheGroup.cpp:
107259        (WebCore::inspectorUpdateApplicationCacheStatus): helper method to prevent duplicated code.
107260        (WebCore::ApplicationCacheGroup::setNewestCache): status change.
107261        (WebCore::ApplicationCacheGroup::makeObsolete): status change.
107262        (WebCore::ApplicationCacheGroup::update): status change.
107263        (WebCore::ApplicationCacheGroup::createResourceHandle): resource event.
107264        (WebCore::ApplicationCacheGroup::willSendRequest): resource event.
107265        (WebCore::ApplicationCacheGroup::didReceiveResponse): resource event.
107266        (WebCore::ApplicationCacheGroup::didReceiveData): resource event.
107267        (WebCore::ApplicationCacheGroup::didFinishLoading): resource event.
107268        (WebCore::ApplicationCacheGroup::didFail): resource event.
107269        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): resource event.
107270        (WebCore::ApplicationCacheGroup::manifestNotFound): status change.
107271        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): status change.
107272        (WebCore::ApplicationCacheGroup::setUpdateStatus): single access point for status changes.
107273        * loader/appcache/ApplicationCacheGroup.h:
107274        * page/Page.cpp:
107275        (WebCore::networkStateChanged): connectivity status change.
107276
107277          Final inspector details to add the new file, style new elements,
107278          images, and localized strings.
107279
107280        * inspector/front-end/inspector.css:
107281        (.application-cache-sidebar-tree-item .icon):
107282        (.timeline-records-counter, .storage-application-cache-status, .storage-application-cache-connectivity):
107283        (.storage-application-cache-status-icon, .storage-application-cache-connectivity-icon):
107284        (.status-bar-divider):
107285        (.storage-application-cache-status, .storage-application-cache-connectivity):
107286        * inspector/front-end/inspector.html:
107287        * inspector/front-end/Images/applicationCache.png: Added.
107288        * English.lproj/localizedStrings.js: "APPLICATION CACHE", "No Application Cache information available.", "Online", "Offline"
107289
107290          Updated build files.
107291
107292        * CMakeLists.txt:
107293        * WebCore.gypi:
107294        * WebCore.pro:
107295        * WebCore.vcproj/WebCore.vcproj:
107296        * WebCore.xcodeproj/project.pbxproj:
107297        * inspector/front-end/WebKit.qrc:
107298
1072992010-07-05  Eric Seidel  <eric@webkit.org>
107300
107301        Reviewed by Adam Barth.
107302
107303        Add basic <col> support to the treebuilder
107304        https://bugs.webkit.org/show_bug.cgi?id=41590
107305
107306        * html/HTMLTreeBuilder.cpp:
107307        (WebCore::HTMLTreeBuilder::processStartTag):
107308
1073092010-07-05  Eric Seidel  <eric@webkit.org>
107310
107311        Reviewed by Adam Barth.
107312
107313        Add basic "in row" mode to support <td> and <th> insertion
107314        https://bugs.webkit.org/show_bug.cgi?id=41588
107315
107316        Also fixed <td> or <th> as a direct child of <table>.
107317
107318        Most of this was covered by html5lib/runner.html tests,
107319        but I had to add a new tables01.dat to cover the <th> cases.
107320
107321        * html/HTMLElementStack.cpp:
107322        (WebCore::HTMLNames::isTableRowScopeMarker):
107323        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
107324        * html/HTMLElementStack.h:
107325        * html/HTMLTreeBuilder.cpp:
107326        (WebCore::HTMLTreeBuilder::processStartTag):
107327
1073282010-07-05  Eric Seidel  <eric@webkit.org>
107329
107330        Reviewed by Adam Barth.
107331
107332        Finish implementing "any other end tag" for "in body" mode
107333        https://bugs.webkit.org/show_bug.cgi?id=41582
107334
107335        I believe I found a "bug" in the HTML5 spec when writing this:
107336        http://www.w3.org/Bugs/Public/show_bug.cgi?id=10080
107337
107338        * html/HTMLTreeBuilder.cpp:
107339        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
107340        (WebCore::HTMLTreeBuilder::processEndTag):
107341        * html/HTMLTreeBuilder.h:
107342
1073432010-07-05  Martin Robinson  <mrobinson@igalia.com>
107344
107345        Unreviewed.
107346
107347        Add a missing slash to the list of generated sources. This
107348        was missing from a previous build fix.
107349
107350        * GNUmakefile.am:
107351
1073522010-07-05  Pavel Feldman  <pfeldman@chromium.org>
107353
107354        Reviewed by Joseph Pecoraro.
107355
107356        Web Inspector: preserve scroll positions in source frame when switching between panes.
107357
107358        https://bugs.webkit.org/show_bug.cgi?id=41620
107359
107360        * inspector/front-end/ScriptsPanel.js:
107361        (WebInspector.ScriptsPanel.prototype.hide):
107362        * inspector/front-end/SourceFrame.js:
107363        (WebInspector.SourceFrame.prototype.set visible):
107364        * inspector/front-end/SourceView.js:
107365        (WebInspector.SourceView.prototype.hide):
107366
1073672010-07-05  Rob Buis  <rwlbuis@gmail.com>
107368
107369        Reviewed by Dirk Schulze.
107370
107371        IE SVG test fails
107372        https://bugs.webkit.org/show_bug.cgi?id=41619
107373
107374        Make SVGSVGElement.createSVGTransform create a SVGTransform with the
107375        right type, thereby fixing the IE test.
107376
107377        Test: svg/custom/svg-createsvgtransform-type.html
107378
107379        * svg/SVGSVGElement.cpp:
107380        (WebCore::SVGSVGElement::createSVGTransform):
107381
1073822010-07-05  Pavel Feldman  <pfeldman@chromium.org>
107383
107384        Reviewed by Yury Semikhatsky.
107385
107386        Web Inspector: computed style pane is not updated when styles pane is collapsed.
107387
107388        https://bugs.webkit.org/show_bug.cgi?id=41615
107389
107390        * inspector/front-end/ElementsPanel.js:
107391        (WebInspector.ElementsPanel.prototype.updateStyles):
107392
1073932010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>
107394
107395        Reviewed by Dirk Schulze.
107396
107397        Logic to track whether elements are using relative lengths is incomplete
107398        https://bugs.webkit.org/show_bug.cgi?id=41566
107399
107400        Add logic to all SVG elements which create renderes to expose a method
107401        "bool selfHasRelativeLengths()", that returns whether the element uses relative
107402        lengths (eg. <rect x="50%"...). This will be used soon to avoid relayouts of
107403        container children, when the bounds have not changed.
107404
107405        A new method SVGStyledElement::updateRelativeLengthsInformation() is added,
107406        which is called from the various svgAttributeChanged() methods and insertedIntoDocument/removedFromDocument.
107407        It will be implemented in a follow-up patch. This patch does not affect any test behaviour related
107408        to relayouting. As SVGFilterElement finally got a proper svgAttributeChanged() method, it now
107409        properly invalidates clients on attribute changes - covered by a new test.
107410
107411        Tests: svg/custom/relative-sized-inner-svg.xhtml
107412               svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml
107413               svg/filters/filter-width-update.svg
107414 
107415        * rendering/RenderPath.cpp:
107416        (WebCore::RenderPath::layout): Rename hasRelativeValues to hasRelativeLengths.
107417        * rendering/RenderSVGRoot.cpp:
107418        (WebCore::RenderSVGRoot::layout): Ditto.
107419        (WebCore::RenderSVGRoot::calcViewport): Ditto.
107420        * rendering/RenderSVGViewportContainer.cpp:
107421        (WebCore::RenderSVGViewportContainer::calcViewport): Ditto
107422        * rendering/SVGRenderSupport.cpp:
107423        (WebCore::SVGRenderSupport::layoutChildren): Ditto.
107424        * svg/SVGCircleElement.cpp:
107425        (WebCore::SVGCircleElement::svgAttributeChanged): Call updateRelativeLengthsInformation() if any attribute which may contain relative lengths changes.
107426        (WebCore::SVGCircleElement::selfHasRelativeLengths): Ditto. Same for all other SVG*Elements below.
107427        * svg/SVGCircleElement.h:
107428        * svg/SVGEllipseElement.cpp:
107429        (WebCore::SVGEllipseElement::svgAttributeChanged):
107430        (WebCore::SVGEllipseElement::selfHasRelativeLengths):
107431        * svg/SVGEllipseElement.h:
107432        * svg/SVGFilterElement.cpp:
107433        (WebCore::SVGFilterElement::svgAttributeChanged):
107434        (WebCore::SVGFilterElement::selfHasRelativeLengths):
107435        * svg/SVGFilterElement.h:
107436        * svg/SVGForeignObjectElement.cpp:
107437        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
107438        (WebCore::SVGForeignObjectElement::selfHasRelativeLengths):
107439        * svg/SVGForeignObjectElement.h:
107440        * svg/SVGImageElement.cpp:
107441        (WebCore::SVGImageElement::svgAttributeChanged):
107442        (WebCore::SVGImageElement::selfHasRelativeLengths):
107443        * svg/SVGImageElement.h:
107444        * svg/SVGLineElement.cpp:
107445        (WebCore::SVGLineElement::svgAttributeChanged):
107446        (WebCore::SVGLineElement::selfHasRelativeLengths):
107447        * svg/SVGLineElement.h:
107448        * svg/SVGLinearGradientElement.cpp:
107449        (WebCore::SVGLinearGradientElement::svgAttributeChanged):
107450        (WebCore::SVGLinearGradientElement::selfHasRelativeLengths):
107451        * svg/SVGLinearGradientElement.h:
107452        * svg/SVGMarkerElement.cpp:
107453        (WebCore::SVGMarkerElement::svgAttributeChanged):
107454        (WebCore::SVGMarkerElement::selfHasRelativeLengths):
107455        * svg/SVGMarkerElement.h:
107456        * svg/SVGMaskElement.cpp:
107457        (WebCore::SVGMaskElement::svgAttributeChanged):
107458        (WebCore::SVGMaskElement::selfHasRelativeLengths):
107459        * svg/SVGMaskElement.h:
107460        * svg/SVGPatternElement.cpp:
107461        (WebCore::SVGPatternElement::svgAttributeChanged):
107462        (WebCore::SVGPatternElement::selfHasRelativeLengths):
107463        * svg/SVGPatternElement.h:
107464        * svg/SVGRadialGradientElement.cpp:
107465        (WebCore::SVGRadialGradientElement::svgAttributeChanged):
107466        (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
107467        * svg/SVGRadialGradientElement.h:
107468        * svg/SVGRectElement.cpp:
107469        (WebCore::SVGRectElement::svgAttributeChanged):
107470        (WebCore::SVGRectElement::selfHasRelativeLengths):
107471        * svg/SVGRectElement.h:
107472        * svg/SVGSVGElement.cpp:
107473        (WebCore::SVGSVGElement::svgAttributeChanged):
107474        (WebCore::SVGSVGElement::selfHasRelativeLengths):
107475        * svg/SVGSVGElement.h:
107476        * svg/SVGStyledElement.cpp:
107477        (WebCore::SVGStyledElement::insertedIntoDocument): Call updateRelativeLengthsInformation().
107478        (WebCore::SVGStyledElement::removedFromDocument): Ditto.
107479        (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Not implemented so far. Will land in a follow-up patch, together with the render tree changes.
107480        * svg/SVGStyledElement.h:
107481        (WebCore::SVGStyledElement::hasRelativeLengths): Devirtualized. For now, just call selfHasRelativeLengths() - this will change in a follow-up patch.
107482        (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
107483        (WebCore::SVGStyledElement::selfHasRelativeLengths): Renamed from hasRelativeValues().
107484        * svg/SVGSymbolElement.cpp:
107485        (WebCore::SVGSymbolElement::svgAttributeChanged):
107486        (WebCore::SVGSymbolElement::selfHasRelativeLengths):
107487        * svg/SVGSymbolElement.h:
107488        * svg/SVGTextContentElement.cpp:
107489        (WebCore::SVGTextContentElement::selfHasRelativeLengths):
107490        * svg/SVGTextContentElement.h:
107491        * svg/SVGTextPathElement.cpp:
107492        (WebCore::SVGTextPathElement::svgAttributeChanged):
107493        (WebCore::SVGTextPathElement::insertedIntoDocument): Call right base class' method. Skipped one in the hierachy before.
107494        (WebCore::SVGTextPathElement::selfHasRelativeLengths):
107495        * svg/SVGTextPathElement.h:
107496        * svg/SVGTextPositioningElement.cpp:
107497        (WebCore::SVGTextPositioningElement::svgAttributeChanged):
107498        (WebCore::listContainsRelativeValue): New helper funtion that checks wheter a SVGLengthList contains relative lengths.
107499        (WebCore::SVGTextPositioningElement::selfHasRelativeLengths):
107500        * svg/SVGTextPositioningElement.h:
107501        * svg/SVGUseElement.cpp:
107502        (WebCore::SVGUseElement::insertedIntoDocument): Call right base class' method. Skipped on in the hierachy before.
107503        (WebCore::SVGUseElement::removedFromDocument): Ditto.
107504        (WebCore::SVGUseElement::svgAttributeChanged):
107505        (WebCore::SVGUseElement::buildShadowAndInstanceTree): Call updateRelativeLengthsInformation() after building the shadow tree.
107506        (WebCore::SVGUseElement::selfHasRelativeLengths): Same as all other methods, except that it includes the shadow tree root element.
107507        * svg/SVGUseElement.h:
107508
1075092010-07-05  Pavel Feldman  <pfeldman@chromium.org>
107510
107511        Reviewed by Yury Semikhatsky.
107512
107513        Web Inspector: Problem with copying a code from Scripts panel.
107514
107515        https://bugs.webkit.org/show_bug.cgi?id=40432
107516
107517        * inspector/front-end/TextViewer.js:
107518        (WebInspector.TextViewer.prototype._getSelection):
107519        (WebInspector.TextViewer.prototype._selectionToPosition):
107520
1075212010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>
107522
107523        Reviewed by Dirk Schulze / Darin Adler.
107524
107525        Node.cloneNode does not work on SVG nodes
107526        https://bugs.webkit.org/show_bug.cgi?id=41421
107527
107528        Be sure to synchronize animated SVG properties before checking whether NamedNodeMap exists.
107529        When creating a SVG element from JS, and setting all attributes via SVG DOM, and not using setAttribute
107530        the NamedNodeMap does not exist. When cloning such an element, be sure to synchronize SVG <-> XML DOM
107531        attributes before attempting to clone, otherwhise the SVG animated properties are lost while cloning.
107532
107533        Test: svg/custom/clone-element-with-animated-svg-properties.html
107534
107535        * dom/Element.cpp:
107536        (WebCore::Element::cloneElementWithoutChildren):
107537
1075382010-07-05  Antti Koivisto  <koivisto@iki.fi>
107539
107540        Revert unplanned project file change.
107541
107542        * WebCore.pri:
107543        * WebCore.pro:
107544
1075452010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>
107546
107547        Reviewed by Darin Adler.
107548
107549        Memory corruption with SVG <use> element
107550        https://bugs.webkit.org/show_bug.cgi?id=40994
107551
107552        Fix race condition in svgAttributeChanged. Never call svgAttributeChanged() from attributeChanged()
107553        when we're synchronizing SVG attributes. It leads to either unnecessary extra work being done or
107554        crashes. Especially together with <polyline>/<polygon> which always synchronize the SVGAnimatedPoints
107555        datastructure with the points attribute, no matter if there are changes are not. This should be
107556        furhter optimized, but this fix is sane and fixes the root of the evil races.
107557
107558        Test: svg/custom/use-property-synchronization-crash.svg
107559
107560        * svg/SVGElement.cpp:
107561        (WebCore::SVGElement::attributeChanged):
107562
1075632010-07-05  Yury Semikhatsky  <yurys@chromium.org>
107564
107565        Reviewed by Pavel Feldman.
107566
107567        [v8] Web Inspector: remove v8-specific code dealing with getOwnPropertyNames from InjectedScript.js
107568        https://bugs.webkit.org/show_bug.cgi?id=41595
107569
107570        * inspector/front-end/InjectedScript.js:
107571        (injectedScriptConstructor):
107572
1075732010-07-04  Rob Buis  <rwlbuis@gmail.com>
107574
107575        Reviewed by Dirk Schulze.
107576
107577        SVG polygons should draw polygons up to the first parsing error
107578        https://bugs.webkit.org/show_bug.cgi?id=41140
107579
107580        Render polygons up until the first parsing error.
107581
107582        Test: svg/custom/poly-parsing-error.html
107583
107584        * svg/SVGPolyElement.cpp:
107585        (WebCore::SVGPolyElement::parseMappedAttribute):
107586
1075872010-07-04  Alice Liu  <alice.liu@apple.com>
107588
107589        Reviewed by Dan Bernstein.
107590
107591        Crash reading past end of block in UniscribeController::shapeAndPlaceItem
107592        https://bugs.webkit.org/show_bug.cgi?id=41554
107593
107594        Test: platform/win/fast/text/uniscribe-item-boundary-crash.html
107595
107596        * platform/graphics/win/UniscribeController.cpp:
107597        (WebCore::UniscribeController::shapeAndPlaceItem):
107598        Don't look one past the end of str. Instead look to the next item, if applicable.
107599
1076002010-07-04  Eric Seidel  <eric@webkit.org>
107601
107602        Reviewed by Adam Barth.
107603
107604        Add basic "in table body" mode to support <tr> insertion
107605        https://bugs.webkit.org/show_bug.cgi?id=41587
107606
107607        This also adds a (currently untestable?)
107608        popUntilTableBodyScopeMarker code path.
107609        Any tags which would be between a tbody a <tr> would end up
107610        foster parented outside the <table>.  I think the spec was
107611        just being over-cautious with popUntilTableBodyScopeMarker.
107612
107613        * html/HTMLElementStack.cpp:
107614        (WebCore::HTMLNames::isTableScopeMarker):
107615        (WebCore::HTMLNames::isTableBodyScopeMarker):
107616        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
107617        * html/HTMLElementStack.h:
107618        * html/HTMLTreeBuilder.cpp:
107619        (WebCore::HTMLTreeBuilder::processStartTag):
107620        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
107621
1076222010-07-04  Anders Carlsson  <andersca@apple.com>
107623
107624        Fix Windows build.
107625
107626        * WebCore.vcproj/WebCore.vcproj:
107627
1076282010-07-04  Eric Seidel  <eric@webkit.org>
107629
107630        Reviewed by Adam Barth.
107631
107632        HTMLTreeBuilder needs an adoption agency
107633        https://bugs.webkit.org/show_bug.cgi?id=41453
107634
107635        Fix Qt Minimal build.  SVGNames.h should always
107636        be generated, even when SVG is off, however that's
107637        not how things currently work.
107638
107639        * html/HTMLTreeBuilder.cpp:
107640
1076412010-07-04  Eric Seidel  <eric@webkit.org>
107642
107643        Reviewed by Adam Barth.
107644
107645        Add a very basic InTable insertion mode
107646        https://bugs.webkit.org/show_bug.cgi?id=41581
107647
107648        There is still a bunch of low-hanging fruit left for this
107649        mode, but even this most-basic support lets us pass 6 more tests. :)
107650
107651        It's a progression, ship it! :)
107652
107653        * html/HTMLElementStack.cpp:
107654        (WebCore::HTMLNames::isScopeMarker):
107655        (WebCore::HTMLNames::isListItemScopeMarker):
107656        (WebCore::HTMLNames::isTableScopeMarker):
107657        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
107658        * html/HTMLElementStack.h:
107659        * html/HTMLFormattingElementList.cpp:
107660        (WebCore::HTMLFormattingElementList::appendMarker):
107661        * html/HTMLFormattingElementList.h:
107662        * html/HTMLTreeBuilder.cpp:
107663        (WebCore::HTMLTreeBuilder::processStartTag):
107664        * html/HTMLTreeBuilder.h:
107665
1076662010-07-01  Eric Seidel  <eric@webkit.org>
107667
107668        Reviewed by Adam Barth.
107669
107670        HTMLTreeBuilder needs an adoption agency
107671        https://bugs.webkit.org/show_bug.cgi?id=41453
107672
107673        This changes some test results, but only makes the simplest
107674        adoption agency cases pass.  I think the code is likely
107675        very close, but further iteration to make this change larger
107676        seems counter-productive.  I recommend we check in this
107677        progression and work from here.
107678
107679        * dom/ContainerNode.cpp:
107680        (WebCore::ContainerNode::addChildCommon):
107681         - Make sure callers don't assume this will reparent.
107682        (WebCore::ContainerNode::parserAddChild):
107683         - Update comment to document lack of reparenting behavior.
107684        * html/HTMLElementStack.cpp:
107685        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
107686        (WebCore::HTMLElementStack::ElementRecord::~ElementRecord):
107687        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
107688        (WebCore::HTMLElementStack::ElementRecord::isAbove):
107689         - Added for debugging.
107690        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
107691        (WebCore::HTMLElementStack::insertAbove):
107692         - Needed for the adoption agency.
107693        (WebCore::HTMLElementStack::topRecord):
107694        (WebCore::HTMLElementStack::bottom):
107695        (WebCore::HTMLElementStack::removeHTMLHeadElement):
107696        (WebCore::HTMLElementStack::remove):
107697        (WebCore::HTMLElementStack::find):
107698        (WebCore::HTMLElementStack::topmost):
107699        (WebCore::HTMLElementStack::contains):
107700        (WebCore::HTMLElementStack::htmlElement):
107701        (WebCore::HTMLElementStack::headElement):
107702        (WebCore::HTMLElementStack::bodyElement):
107703        (WebCore::HTMLElementStack::pushCommon):
107704        (WebCore::HTMLElementStack::removeNonTopCommon):
107705         - Fix the name to match top/bottom.
107706        * html/HTMLElementStack.h:
107707        (WebCore::HTMLElementStack::ElementRecord::element):
107708        (WebCore::HTMLElementStack::ElementRecord::next):
107709        (WebCore::HTMLElementStack::ElementRecord::releaseNext):
107710        (WebCore::HTMLElementStack::ElementRecord::setNext):
107711        * html/HTMLFormattingElementList.cpp:
107712        (WebCore::HTMLFormattingElementList::closestElementInScopeWithName):
107713        (WebCore::HTMLFormattingElementList::contains):
107714        (WebCore::HTMLFormattingElementList::find):
107715        (WebCore::HTMLFormattingElementList::remove):
107716        * html/HTMLFormattingElementList.h:
107717        (WebCore::HTMLFormattingElementList::isEmpty):
107718        (WebCore::HTMLFormattingElementList::size):
107719        * html/HTMLTreeBuilder.cpp:
107720        (WebCore::HTMLTreeBuilder::processStartTag):
107721        (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
107722         - Part of the Adoption Agency algorithm.
107723        (WebCore::HTMLTreeBuilder::findFosterParentFor):
107724         - Used to move mis-nested content out of tables.
107725           This doesn't seem to work quite right yet.
107726        (WebCore::HTMLTreeBuilder::reparentChildren):
107727        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
107728         - The ridiculously long/complicated adoption agency algorithm from HTML5.
107729        (WebCore::HTMLTreeBuilder::processEndTag):
107730        * html/HTMLTreeBuilder.h:
107731
1077322010-07-04  Justin Schuh  <jschuh@chromium.org>
107733
107734        Reviewed by Darin Adler.
107735
107736        Remove custom src bindings for HTMLFrameElement and HTMLIFrameElement
107737        https://bugs.webkit.org/show_bug.cgi?id=41578
107738
107739        Remove bindings obsoleted by: http://trac.webkit.org/changeset/59866
107740        No new tests because behavior is not changed.
107741
107742        * Android.jscbindings.mk:
107743        * Android.v8bindings.mk:
107744        * CMakeLists.txt:
107745        * GNUmakefile.am:
107746        * WebCore.gypi:
107747        * WebCore.pro:
107748        * WebCore.vcproj/WebCore.vcproj:
107749        * WebCore.xcodeproj/project.pbxproj:
107750        * bindings/js/JSBindingsAllInOne.cpp:
107751        * bindings/js/JSHTMLFrameElementCustom.cpp:
107752        * bindings/js/JSHTMLIFrameElementCustom.cpp: Removed.
107753        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
107754        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Removed.
107755        * html/HTMLFrameElement.idl:
107756        * html/HTMLIFrameElement.idl:
107757
1077582010-07-03  Adam Barth  <abarth@webkit.org>
107759
107760        Reviewed by Maciej Stachowiak.
107761
107762        Implement AfterAfterFramesetMode
107763        https://bugs.webkit.org/show_bug.cgi?id=41561
107764
107765        This mode is almost unobservable.  The main way to observe it seems to
107766        be seeing where comment nodes get attached to the DOM.
107767
107768        * html/HTMLTreeBuilder.cpp:
107769        (WebCore::HTMLTreeBuilder::processStartTag):
107770        (WebCore::HTMLTreeBuilder::processEndTag):
107771        (WebCore::HTMLTreeBuilder::processComment):
107772        (WebCore::HTMLTreeBuilder::processCharacter):
107773        (WebCore::HTMLTreeBuilder::processEndOfFile):
107774
1077752010-07-03  Zhenyao Mo  <zmo@google.com>
107776
107777        Reviewed by Dimitri Glazkov.
107778
107779        WebGLRenderingContext::vertexAttrib* leads to possible out-of-range vector member visit
107780        https://bugs.webkit.org/show_bug.cgi?id=41572
107781
107782        * html/canvas/WebGLRenderingContext.cpp: Fix the out-of-range vector member visit, also refactor the code.
107783        (WebCore::WebGLRenderingContext::vertexAttrib1f):
107784        (WebCore::WebGLRenderingContext::vertexAttrib1fv):
107785        (WebCore::WebGLRenderingContext::vertexAttrib2f):
107786        (WebCore::WebGLRenderingContext::vertexAttrib2fv):
107787        (WebCore::WebGLRenderingContext::vertexAttrib3f):
107788        (WebCore::WebGLRenderingContext::vertexAttrib3fv):
107789        (WebCore::WebGLRenderingContext::vertexAttrib4f):
107790        (WebCore::WebGLRenderingContext::vertexAttrib4fv):
107791        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
107792        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
107793        * html/canvas/WebGLRenderingContext.h: Helper function declaration.
107794
1077952010-07-03  Jeremy Orlow  <jorlow@chromium.org>
107796
107797        Ugh.  Have to put the destructor in the .h file since the .ccp isn't compiled yet.
107798
107799        * storage/IDBKey.h:
107800        (WebCore::IDBKey::~IDBKey):
107801
1078022010-07-03  Jeremy Orlow  <jorlow@chromium.org>
107803
107804        Build fix.  Forgot destructor.
107805
107806        * storage/IDBKey.cpp:
107807        (WebCore::IDBKey::~IDBKey):
107808
1078092010-06-26  Jeremy Orlow  <jorlow@chromium.org>
107810
107811        Reviewed by Dumitru Daniliuc.
107812
107813        Support for keys and in-memory storage for IndexedDB
107814        https://bugs.webkit.org/show_bug.cgi?id=41252
107815
107816        It'll take some time to get data persistence working for IndexedDB,
107817        so until then, we'll just store everything in an in memory tree.
107818        The tree uses WTF::AVLTree and is a template so that it can be used by
107819        object stores (IDBKey -> SerializedScriptValue) and indexes (IDBKey ->
107820        IDBKey).  This class will be used in a subsequent patch.
107821
107822        Also add an IDBKey type that represents one of these keys.  We use a
107823        custom toJS function in a way similar to IDBAny to convert from WebCore
107824        to a JS value.  For converting the other way, we have to teach the code
107825        generators what to do (unfortunately).  This is done in a way similar
107826        to serialized script value.  Unlike serialized script value, IDBKey is
107827        in WebCore and only a helper function is JS engine specific.
107828
107829        This code is not accessable from layout tests.  (Will fix in
107830        https://bugs.webkit.org/show_bug.cgi?id=41250)  The bindings tests
107831        show us that the generated bindings are what we expect.
107832
107833        * ForwardingHeaders/wtf/AVLTree.h: Added.
107834        * bindings/js/IDBBindingUtilities.cpp: Added.
107835        (WebCore::createIDBKeyFromValue):
107836        * bindings/js/IDBBindingUtilities.h: Added.
107837        * bindings/js/JSIDBKeyCustom.cpp: Added.
107838        (WebCore::toJS):
107839        * bindings/scripts/CodeGeneratorJS.pm:
107840        * bindings/scripts/CodeGeneratorV8.pm:
107841        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
107842        (WebDOMTestObj::idbKey):
107843        * bindings/scripts/test/CPP/WebDOMTestObj.h:
107844        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
107845        (webkit_dom_test_obj_idb_key):
107846        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
107847        * bindings/scripts/test/JS/JSTestObj.cpp:
107848        (WebCore::):
107849        (WebCore::jsTestObjPrototypeFunctionIdbKey):
107850        * bindings/scripts/test/JS/JSTestObj.h:
107851        * bindings/scripts/test/ObjC/DOMTestObj.h:
107852        * bindings/scripts/test/ObjC/DOMTestObj.mm:
107853        (-[DOMTestObj idbKey:]):
107854        * bindings/scripts/test/TestObj.idl:
107855        * bindings/scripts/test/V8/V8TestObj.cpp:
107856        (WebCore::TestObjInternal::idbKeyCallback):
107857        (WebCore::):
107858        * bindings/v8/IDBBindingUtilities.cpp: Added.
107859        (WebCore::createIDBKeyFromValue):
107860        * bindings/v8/IDBBindingUtilities.h: Added.
107861        * bindings/v8/custom/V8IDBKeyCustom.cpp: Added.
107862        (WebCore::toV8):
107863        * storage/IDBCallbacks.h:
107864        * storage/IDBKey.cpp: Added.
107865        (WebCore::IDBKey::IDBKey):
107866        (WebCore::IDBKey::~IDBKey):
107867        * storage/IDBKey.h: Added.
107868        (WebCore::IDBKey::create):
107869        (WebCore::IDBKey::):
107870        (WebCore::IDBKey::type):
107871        (WebCore::IDBKey::string):
107872        (WebCore::IDBKey::number):
107873        * storage/IDBKey.idl: Added.
107874        * storage/IDBKeyTree.h: Added.
107875        (WebCore::IDBKeyTree::create):
107876        (WebCore::IDBKeyTree::AVLTreeAbstractor::get_less):
107877        (WebCore::IDBKeyTree::AVLTreeAbstractor::set_less):
107878        (WebCore::IDBKeyTree::AVLTreeAbstractor::get_greater):
107879        (WebCore::IDBKeyTree::AVLTreeAbstractor::set_greater):
107880        (WebCore::IDBKeyTree::AVLTreeAbstractor::get_balance_factor):
107881        (WebCore::IDBKeyTree::AVLTreeAbstractor::set_balance_factor):
107882        (WebCore::IDBKeyTree::AVLTreeAbstractor::null):
107883        (WebCore::IDBKeyTree::AVLTreeAbstractor::compare_key_node):
107884        (WebCore::IDBKeyTree::AVLTreeAbstractor::compare_node_node):
107885        (WebCore::::IDBKeyTree):
107886        (WebCore::::~IDBKeyTree):
107887        (WebCore::::AVLTreeAbstractor::compare_key_key):
107888        (WebCore::::get):
107889        (WebCore::::insert):
107890        (WebCore::::remove):
107891
1078922010-07-03  Jon Honeycutt  <jhoneycutt@apple.com>
107893
107894        The missing plug-in indicator should be clickable
107895
107896        https://bugs.webkit.org/show_bug.cgi?id=41550
107897        <rdar://problem/8132162>
107898
107899        From an original patch by Kevin Decker.
107900
107901        Reviewed by Darin Adler.
107902
107903        * html/HTMLPlugInElement.cpp:
107904        (WebCore::HTMLPlugInElement::defaultEventHandler):
107905        If the renderer is a RenderEmbeddedWidget showing the missing plug-in
107906        indicator, and the event is a click even, call the ChromeClient's
107907        missingPluginButtonClicked() function.
107908
107909        * page/ChromeClient.h:
107910        (WebCore::ChromeClient::missingPluginButtonClicked):
107911        Declare missingPluginButtonClicked(), and stub the default
107912        implementation.
107913
107914        * rendering/RenderEmbeddedObject.cpp:
107915        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
107916        Initialize m_showsMissingPluginIndicator.
107917        (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator):
107918        Assert that we're not currently showing any replacement text. Set
107919        m_showsMissingPluginIndicator after setting the replacement text.
107920        (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator):
107921        Add the same assert as above.
107922
107923        * rendering/RenderEmbeddedObject.h:
107924        (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator):
107925        Getter for m_showsMissingPluginIndicator.
107926
1079272010-07-02  Oliver Hunt  <oliver@apple.com>
107928
107929        Reviewed by Geoffrey Garen.
107930
107931        Move BOM handling out of the lexer and parser
107932        https://bugs.webkit.org/show_bug.cgi?id=41539
107933
107934        Update WebCore to ensure that SourceProviders don't
107935        produce strings with BOMs in them.
107936
107937        * bindings/js/ScriptSourceProvider.h:
107938        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
107939        * bindings/js/StringSourceProvider.h:
107940        (WebCore::StringSourceProvider::StringSourceProvider):
107941        * loader/CachedScript.cpp:
107942        (WebCore::CachedScript::CachedScript):
107943        (WebCore::CachedScript::script):
107944        * loader/CachedScript.h:
107945        (WebCore::CachedScript::):
107946          CachedScript now stores decoded data with the BOMs stripped,
107947          and caches the presence of BOMs across memory purges.
107948
1079492010-07-03  Xan Lopez  <xlopez@igalia.com>
107950
107951        Include DerivedSources/WebCore before DerivedSources/
107952
107953        Recently DerivedSources generation was changed, with some files no
107954        longer being generated in the toplevel DerivedSources
107955        directory. Since that directory is first in the -I flags the build
107956        can be broken in some cases by including old files unless a 'make
107957        clean' is done. Change the -I order to fix the build in the 32 bit
107958        Release bot.
107959
107960        * GNUmakefile.am:
107961
1079622010-07-03  Erik Arvidsson  <arv@chromium.org>
107963
107964        Reviewed by Ojan Vafai.
107965
107966        Fix issue where a contextmenu event was reporting the wrong target if
107967        the context menu was shown due to pressing the context menu key
107968        (or Shift+F10).
107969        
107970        Split sendContextMenuForEvent into one case for keyboard events and use
107971        that when the contextmenu event should be dispatched due to a keypress.
107972
107973        For the keboard case we now use the focused node as the target for the
107974        event and use the clipped rect to determine the position of the menu.
107975        
107976        https://bugs.webkit.org/show_bug.cgi?id=38129
107977
107978        Use manual test since DRT does not handle context menu keys.
107979
107980        * manual-tests/win/contextmenu-key.html: Added.
107981        * page/EventHandler.cpp:
107982        (WebCore::EventHandler::sendContextMenuEvent):
107983        (WebCore::EventHandler::sendContextMenuEventForKey):
107984        * page/EventHandler.h:
107985
1079862010-07-03  Dirk Schulze  <krit@webkit.org>
107987
107988        Unreviewed sort of Xcode project file.
107989
107990        * WebCore.xcodeproj/project.pbxproj:
107991
1079922010-07-03  Kwang Yul Seo  <skyul@company100.net>
107993
107994        Reviewed by Kent Tamura.
107995
107996        [BREWMP] Port Widget
107997        https://bugs.webkit.org/show_bug.cgi?id=41538
107998
107999        Make Widget a dummy class. WebKit Brew MP uses the full screen mode
108000        and does not use the window system introduced in Brew MP.
108001
108002        * platform/Widget.h:
108003        * platform/brew/WidgetBrew.cpp: Added.
108004        (WebCore::Widget::Widget):
108005        (WebCore::Widget::~Widget):
108006        (WebCore::Widget::frameRect):
108007        (WebCore::Widget::setFrameRect):
108008        (WebCore::Widget::setFocus):
108009        (WebCore::Widget::setCursor):
108010        (WebCore::Widget::show):
108011        (WebCore::Widget::hide):
108012        (WebCore::Widget::paint):
108013        (WebCore::Widget::setIsSelected):
108014
1080152010-07-03  Adam Barth  <abarth@webkit.org>
108016
108017        Reviewed by Eric Seidel.
108018
108019        Implement AfterFramesetMode
108020        https://bugs.webkit.org/show_bug.cgi?id=41560
108021
108022        * html/HTMLTreeBuilder.cpp:
108023        (WebCore::HTMLTreeBuilder::processStartTag):
108024        (WebCore::HTMLTreeBuilder::processEndTag):
108025        (WebCore::HTMLTreeBuilder::processCharacter):
108026        (WebCore::HTMLTreeBuilder::processEndOfFile):
108027
1080282010-07-02  Adam Barth  <abarth@webkit.org>
108029
108030        Reviewed by Eric Seidel.
108031
108032        Implement InFramesetMode
108033        https://bugs.webkit.org/show_bug.cgi?id=41559
108034
108035        Pretty straighforward.  We still don't handle character tokens
108036        correctly.
108037
108038        * html/HTMLTreeBuilder.cpp:
108039        (WebCore::HTMLTreeBuilder::processStartTag):
108040        (WebCore::HTMLTreeBuilder::processEndTag):
108041        (WebCore::HTMLTreeBuilder::processCharacter):
108042        (WebCore::HTMLTreeBuilder::processEndOfFile):
108043
1080442010-07-02  Adam Barth  <abarth@webkit.org>
108045
108046        Reviewed by Eric Seidel.
108047
108048        Handle <frameset> InBody
108049        https://bugs.webkit.org/show_bug.cgi?id=41558
108050
108051        Handling the <frameset> tag in the InBody mode is somewhat delicate.
108052
108053        * html/HTMLElementStack.cpp:
108054        (WebCore::HTMLElementStack::popHTMLBodyElement):
108055        (WebCore::HTMLElementStack::popUntil):
108056        (WebCore::HTMLElementStack::popCommon):
108057        * html/HTMLElementStack.h:
108058        * html/HTMLTreeBuilder.cpp:
108059        (WebCore::HTMLTreeBuilder::processStartTag):
108060
1080612010-07-02  Adam Barth  <abarth@webkit.org>
108062
108063        Reviewed by Eric Seidel.
108064
108065        Special handling of <rp> and <rt> tags
108066        https://bugs.webkit.org/show_bug.cgi?id=41557
108067
108068        So sayeth the spec.
108069
108070        * html/HTMLTreeBuilder.cpp:
108071        (WebCore::HTMLTreeBuilder::processStartTag):
108072
1080732010-07-02  Adam Barth  <abarth@webkit.org>
108074
108075        Reviewed by Eric Seidel.
108076
108077        Implement special optgroup processing
108078        https://bugs.webkit.org/show_bug.cgi?id=41556
108079
108080        * html/HTMLTreeBuilder.cpp:
108081        (WebCore::HTMLTreeBuilder::processStartTag):
108082
1080832010-07-02  Adam Barth  <abarth@webkit.org>
108084
108085        Reviewed by Eric Seidel.
108086
108087        Handle <image> in new parser
108088        https://bugs.webkit.org/show_bug.cgi?id=41555
108089
108090        This patch is kind of goofy but apparently how the world works.
108091
108092        * html/HTMLToken.h:
108093        (WebCore::AtomicHTMLToken::setName):
108094        * html/HTMLTreeBuilder.cpp:
108095        (WebCore::HTMLTreeBuilder::processStartTag):
108096
1080972010-07-02  Kwang Yul Seo  <skyul@company100.net>
108098
108099        Reviewed by Alexey Proskuryakov.
108100
108101        Remove extra semicolon at the end of HTMLTreeBuilder::attach
108102        https://bugs.webkit.org/show_bug.cgi?id=41546
108103
108104        This is not critical, but the extra semicolon at the end of HTMLTreeBuilder::attach
108105        causes a warning in RVCT.
108106
108107        * html/HTMLTreeBuilder.h:
108108        (WebCore::HTMLTreeBuilder::attach):
108109
1081102010-07-02  Tony Gentilcore  <tonyg@chromium.org>
108111
108112        Reviewed by Darin Adler.
108113
108114        Performance::disconnectFrame() needs to disconnect its children
108115        https://bugs.webkit.org/show_bug.cgi?id=41533
108116
108117        No new tests because no new functionality.
108118
108119        * page/Performance.cpp:
108120        (WebCore::Performance::disconnectFrame):
108121
1081222010-07-02  Luiz Agostini  <luiz.agostini@openbossa.org>
108123
108124        Reviewed by Sam Weinig.
108125
108126        Checking if WTF_USE_JSC is defined before redefining it in config.h
108127        https://bugs.webkit.org/show_bug.cgi?id=41530
108128
108129        * config.h:
108130
1081312010-07-02  Tony Gentilcore  <tonyg@chromium.org>
108132
108133        Reviewed by Dimitri Glazkov.
108134
108135        Add vendor prefix to window.performance
108136        https://bugs.webkit.org/show_bug.cgi?id=41525
108137
108138        No new tests because window.performance tests not landed yet.
108139
108140        * page/DOMWindow.cpp:
108141        (WebCore::DOMWindow::webkitPerformance):
108142        * page/DOMWindow.h:
108143        (WebCore::DOMWindow::optionalWebkitPerformance):
108144        * page/DOMWindow.idl:
108145
1081462010-07-02  Zoltan Herczeg  <zherczeg@webkit.org>
108147
108148        Reviewed by Oliver Hunt.
108149
108150        Minor fix: Diffuse constant is float (not integer)
108151        https://bugs.webkit.org/show_bug.cgi?id=10412
108152
108153        * svg/SVGFEDiffuseLightingElement.cpp:
108154        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
108155
1081562010-07-02  Martin Robinson  <mrobinson@igalia.com>
108157
108158        Unreviewed.
108159
108160        Build fix for GTK+. Try to force a rebuild of the HTMLNames.h
108161        file first by touching HTMLTagNames.in.
108162
108163        * html/HTMLTagNames.in:
108164
1081652010-07-02  Andreas Kling  <andreas.kling@nokia.com>
108166
108167        Reviewed by Oliver Hunt.
108168
108169        RGB colors should be clamped to the 0-255 range
108170        https://bugs.webkit.org/show_bug.cgi?id=39482
108171
108172        Spec link:
108173        http://www.whatwg.org/specs/web-apps/current-work/#colors
108174
108175        Test: fast/canvas/canvas-color-clamping.html
108176
108177        * css/CSSParser.cpp:
108178        (WebCore::parseColorInt):
108179        (WebCore::CSSParser::parseColor):
108180        (WebCore::parseColorIntFromValue):
108181        (WebCore::CSSParser::parseColorParameters):
108182
1081832010-07-02  Sheriff Bot  <webkit.review.bot@gmail.com>
108184
108185        Unreviewed, rolling out r62410.
108186        http://trac.webkit.org/changeset/62410
108187        https://bugs.webkit.org/show_bug.cgi?id=41549
108188
108189        accursed last minute changes (Requested by olliej on #webkit).
108190
108191        * bindings/js/ScriptSourceProvider.h:
108192        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
108193        * bindings/js/StringSourceProvider.h:
108194        (WebCore::StringSourceProvider::StringSourceProvider):
108195        * loader/CachedScript.cpp:
108196        (WebCore::CachedScript::CachedScript):
108197        (WebCore::CachedScript::script):
108198        * loader/CachedScript.h:
108199
1082002010-07-02  Martin Robinson  <mrobinson@igalia.com>
108201
108202        Unreviewed.
108203
108204        Further Build fix for GTK+. Also include HTMLElementFactory.h in
108205        the list of dependencies.
108206
108207        * GNUmakefile.am:
108208
1082092010-07-02  Martin Robinson  <mrobinson@igalia.com>
108210
108211        Unreviewed.
108212
108213        Build fix for GTK+. *Names.{cpp,h} targets should now include the
108214        header files. Also adds the header files to the generated sources list.
108215
108216        * GNUmakefile.am:
108217
1082182010-07-02  Dumitru Daniliuc  <dumi@chromium.org>
108219
108220        Reviewed by Darin Fisher.
108221
108222        DB clean up.
108223        https://bugs.webkit.org/show_bug.cgi?id=41404
108224
108225        1. Made all DatabaseTasks internal classes of Database and made
108226           the Database methods called by those tasks private.
108227        2. Removed the Database::stop{ed}() methods.
108228        3. Removed the code that kept track of open databases from
108229           ScriptExecutionContext (no longer needed).
108230        4. Made minor changes to Database::closeImmediately() to make it
108231           possible for DatabaseThread to call that method instead of
108232           close().
108233        5. Minor fix to DatabaseTracker: addOpenDatabase() should call
108234           OriginQuotaManager::addDatabase() if the origin quota manager
108235           is not tracking this origin.
108236        6. Removed Database::performPolicyChecks(). We already update the
108237           DB size after each transaction, and we enforce a max size for
108238           the DB at the beginning of each transaction.
108239
108240        * dom/ScriptExecutionContext.cpp:
108241        (WebCore::ScriptExecutionContext::stopDatabases):
108242        * dom/ScriptExecutionContext.h:
108243        (WebCore::ScriptExecutionContext::hasOpenDatabases):
108244        * storage/Database.cpp:
108245        (WebCore::Database::openDatabase):
108246        (WebCore::Database::Database):
108247        (WebCore::Database::markAsDeletedAndClose):
108248        (WebCore::Database::close):
108249        (WebCore::Database::closeImmediately):
108250        * storage/Database.h:
108251        * storage/DatabaseTask.cpp:
108252        (WebCore::DatabaseTask::performTask):
108253        (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
108254        (WebCore::Database::DatabaseOpenTask::doPerformTask):
108255        (WebCore::Database::DatabaseOpenTask::debugTaskName):
108256        (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
108257        (WebCore::Database::DatabaseCloseTask::doPerformTask):
108258        (WebCore::Database::DatabaseCloseTask::debugTaskName):
108259        (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
108260        (WebCore::Database::DatabaseTransactionTask::doPerformTask):
108261        (WebCore::Database::DatabaseTransactionTask::debugTaskName):
108262        (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
108263        (WebCore::Database::DatabaseTableNamesTask::doPerformTask):
108264        (WebCore::Database::DatabaseTableNamesTask::debugTaskName):
108265        * storage/DatabaseTask.h:
108266        (WebCore::Database::DatabaseOpenTask::create):
108267        (WebCore::Database::DatabaseCloseTask::create):
108268        (WebCore::Database::DatabaseTransactionTask::create):
108269        (WebCore::Database::DatabaseTableNamesTask::create):
108270        * storage/DatabaseThread.cpp:
108271        (WebCore::DatabaseThread::databaseThread):
108272        * storage/DatabaseTracker.cpp:
108273        (WebCore::DatabaseTracker::addOpenDatabase):
108274        * storage/SQLTransaction.cpp:
108275        (WebCore::SQLTransaction::executeSQL):
108276        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
108277
1082782010-07-02  Oliver Hunt  <oliver@apple.com>
108279
108280        Reviewed by Geoffrey Garen.
108281
108282        Move BOM handling out of the lexer and parser
108283        https://bugs.webkit.org/show_bug.cgi?id=41539
108284
108285        Update WebCore to ensure that SourceProviders don't
108286        produce strings with BOMs in them.
108287
108288        * bindings/js/ScriptSourceProvider.h:
108289        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
108290        * bindings/js/StringSourceProvider.h:
108291        (WebCore::StringSourceProvider::StringSourceProvider):
108292        * loader/CachedScript.cpp:
108293        (WebCore::CachedScript::CachedScript):
108294        (WebCore::CachedScript::script):
108295        * loader/CachedScript.h:
108296        (WebCore::CachedScript::):
108297          CachedScript now stores decoded data with the BOMs stripped,
108298          and caches the presence of BOMs across memory purges.
108299
1083002010-07-02  Sam Weinig  <sam@webkit.org>
108301
108302        Add missing symbol to exports file.
108303
108304        * WebCore.base.exp:
108305
1083062010-07-02  Abhishek Arya  <inferno@chromium.org>
108307
108308        Reviewed by Darin Fisher.
108309
108310        Remove the extra setFailed() call in JPEG decoder to prevent
108311        re-using an already freed object.
108312        https://bugs.webkit.org/show_bug.cgi?id=41487
108313
108314        Test: fast/images/large-size-image-crash.html
108315
108316        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
108317        (WebCore::JPEGImageReader::decode):
108318
1083192010-07-02  Peter Beverloo  <peter@lvp-media.com>
108320
108321        Reviewed by Maciej Stachowiak.
108322
108323        Add the HTML5 <mark> element. Text content of the element will have
108324        a yellow background color and black text.
108325
108326        Test: fast/html/mark-element.html
108327        Tests for <p> closing, phrasing child content and residual style.
108328
108329        * css/html.css:
108330        (mark):
108331        * html/HTMLElement.cpp:
108332        (WebCore::inlineTagList):
108333        * html/HTMLTagNames.in:
108334        * html/LegacyHTMLTreeBuilder.cpp:
108335        (WebCore::LegacyHTMLTreeBuilder::getNode):
108336        (WebCore::LegacyHTMLTreeBuilder::isInline):
108337        (WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag):
108338
1083392010-07-02  Zhenyao Mo  <zmo@google.com>
108340
108341        Reviewed by Dimitri Glazkov.
108342
108343        Fix issues in boundary situations for WebGLRenderingContext::drawArrays/drawElements
108344        https://bugs.webkit.org/show_bug.cgi?id=41473
108345
108346        * WebCore.gypi: Add CheckedInt.h.
108347        * WebCore.xcodeproj/project.pbxproj: Add CheckedInt.h.
108348        * html/canvas/CheckedInt.h: Added support of safe integer operations.
108349        (mozilla::CheckedInt_internal::integer_type_manually_recorded_info::):
108350        (mozilla::CheckedInt_internal::is_unsupported_type::):
108351        (mozilla::CheckedInt_internal::):
108352        (mozilla::CheckedInt_internal::integer_traits::):
108353        (mozilla::CheckedInt_internal::integer_traits::min):
108354        (mozilla::CheckedInt_internal::integer_traits::max):
108355        (mozilla::CheckedInt_internal::has_sign_bit):
108356        (mozilla::CheckedInt_internal::binary_complement):
108357        (mozilla::CheckedInt_internal::is_in_range):
108358        (mozilla::CheckedInt_internal::is_add_valid):
108359        (mozilla::CheckedInt_internal::is_sub_valid):
108360        (mozilla::CheckedInt_internal::is_mul_valid):
108361        (mozilla::CheckedInt_internal::is_div_valid):
108362        (mozilla::CheckedInt::CheckedInt):
108363        (mozilla::CheckedInt::value):
108364        (mozilla::CheckedInt::valid):
108365        (mozilla::CheckedInt::operator -):
108366        (mozilla::CheckedInt::operator ==):
108367        (mozilla::CheckedInt::operator !=):
108368        (mozilla::operator /):
108369        (mozilla::cast_to_CheckedInt_impl::run):
108370        (mozilla::):
108371        (mozilla::cast_to_CheckedInt):
108372        (mozilla::operator ==):
108373        * html/canvas/WebGLRenderingContext.cpp:
108374        (WebCore::WebGLRenderingContext::validateIndexArrayConservative): Fix a bug against 0-size buffer situation.
108375        (WebCore::WebGLRenderingContext::drawArrays): Deal with overflows and count==0 situation.
108376        (WebCore::WebGLRenderingContext::drawElements): Deal with count==0 situation.
108377
1083782010-07-02  Zhenyao Mo  <zmo@google.com>
108379
108380        Reviewed by Dimitri Glazkov.
108381
108382        linkProgram should fail when vertex/fragment shaders are not both present
108383        https://bugs.webkit.org/show_bug.cgi?id=41380
108384
108385        Test: fast/canvas/webgl/program-test.html
108386
108387        * html/canvas/WebGLProgram.cpp: Add flag for link failure due to missing shaders.
108388        (WebCore::WebGLProgram::WebGLProgram):
108389        * html/canvas/WebGLProgram.h: Add interface for linkFailure flag.
108390        (WebCore::WebGLProgram::isLinkFailureFlagSet):
108391        (WebCore::WebGLProgram::setLinkFailureFlag):
108392        * html/canvas/WebGLRenderingContext.cpp:
108393        (WebCore::WebGLRenderingContext::getProgramParameter): Intercept when linkFailureFlag is set.
108394        (WebCore::WebGLRenderingContext::linkProgram): Check if there are missing shaders and don't link if yes.
108395        * html/canvas/WebGLShader.cpp: Cache shader type.
108396        (WebCore::WebGLShader::WebGLShader):
108397        * html/canvas/WebGLShader.h: Ditto.
108398        (WebCore::WebGLShader::getType):
108399
1084002010-07-02  Qi Zhang  <qi.2.zhang@nokia.com>
108401
108402        Reviewed by Laszlo Gombos.
108403
108404        [Qt]  Failed on http://philip.html5.org/tests/canvas/suite/tests/2d.drawImage.negativesource.html
108405
108406        Support negative width and height in canvas image draw
108407
108408        * platform/graphics/FloatRect.h:
108409        * platform/graphics/qt/FloatRectQt.cpp:
108410        (WebCore::FloatRect::normalized):
108411        * platform/graphics/qt/ImageQt.cpp:
108412        (WebCore::BitmapImage::draw):
108413
1084142010-06-24  Dimitri Glazkov  <dglazkov@chromium.org>
108415
108416        Reviewed by Alexey Proskuryakov.
108417
108418        REGRESSION: Enter does not trigger submit of forms when focus is on select.
108419        https://bugs.webkit.org/show_bug.cgi?id=39532
108420
108421        Restore behavior where hitting "Enter" on a select element attempts to submit
108422        form implicitly.
108423
108424        * dom/SelectElement.cpp:
108425        (WebCore::SelectElement::menuListDefaultEventHandler): Added htmlForm argument,
108426            and attempting to submit implicitly.
108427        (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
108428        (WebCore::SelectElement::defaultEventHandler): Plumbed through htmlForm argument.
108429        * dom/SelectElement.h: Added htmlForm argument to method declaration.
108430        * html/HTMLSelectElement.cpp:
108431        (WebCore::HTMLSelectElement::defaultEventHandler): Changed to provide submitting form
108432            as the argument.
108433
1084342010-07-02  Kent Tamura  <tkent@chromium.org>
108435
108436        Reviewed by Darin Fisher.
108437
108438        [Chromium] Support indeterminate checkbox for Linux, and a small fix for Windows
108439        https://bugs.webkit.org/show_bug.cgi?id=41508
108440
108441        * rendering/RenderThemeChromiumSkia.cpp:
108442        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
108443          Use dedicated images for indeterminate states.
108444        * rendering/RenderThemeChromiumWin.cpp:
108445        (WebCore::RenderThemeChromiumWin::determineClassicState):
108446          Do not use DFCS_CHECKED in a case of indeterminate state in
108447          order to have consistent appearance of indeterminate checkbox.
108448
1084492010-07-02  Brent Fulgham  <bfulgham@webkit.org>
108450
108451        Reviewed by Gustavo Noronha Silva.
108452
108453        Fixes https://bugs.webkit.org/show_bug.cgi?id=41323.
108454        Provides an implementation of the 'squiggle' used for
108455        bad grammar or spelling, based on the Pango logic used
108456        by the GTK builds.
108457
108458        No new tests. Covered by LayoutTests/editing/spelling
108459
108460        * WebCore.vcproj/WebCore.vcproj: Add new file holding underline
108461        implementation, set to build only for WinCairo port.
108462        * platform/graphics/cairo/DrawErrorUnderline.cpp: Added.
108463        (drawErrorUnderline): New file containing the squiggle drawing
108464        logic based on the Pango implementation.  Placed in its own file
108465        to isolate licenses.
108466        * platform/graphics/cairo/GraphicsContextCairo.cpp:
108467        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
108468        Have WinCairo build call new 'drawErrorUnderline' implementation.
108469
1084702010-07-02  Martin Robinson  <mrobinson@igalia.com>
108471
108472        Reviewed by Gustavo Noronha Silva.
108473
108474        [GTK] Separate DerivedSources per-project
108475        https://bugs.webkit.org/show_bug.cgi?id=41109
108476
108477        Generate WebCore derived sources in <builddir>/DerivedSources/WebCore.
108478
108479        * GNUmakefile.am:
108480
1084812010-07-02  Zhenyao Mo  <zmo@google.com>
108482
108483        Reviewed by Dimitri Glazkov.
108484
108485        Implement OpenGL ES 2.0 semantics for vertex attribute 0
108486        https://bugs.webkit.org/show_bug.cgi?id=41300
108487
108488        Test: fast/canvas/webgl/gl-bind-attrib-location-test.html
108489              fast/canvas/webgl/gl-vertex-attrib.html
108490
108491        * html/canvas/WebGLProgram.cpp:
108492        (WebCore::WebGLProgram::numActiveAttribLocations): const.
108493        (WebCore::WebGLProgram::getActiveAttribLocation): const.
108494        (WebCore::WebGLProgram::isUsingVertexAttrib0): Determine whether vertex attrib 0 is used by the program.
108495        * html/canvas/WebGLProgram.h: Declare isUsingVertexAttrib0.
108496        * html/canvas/WebGLRenderingContext.cpp:
108497        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with vertex attrib 0.
108498        (WebCore::WebGLRenderingContext::disableVertexAttribArray): Ditto.
108499        (WebCore::WebGLRenderingContext::drawArrays): Ditto.
108500        (WebCore::WebGLRenderingContext::drawElements): Ditto.
108501        (WebCore::WebGLRenderingContext::getVertexAttrib): Use cached value instead of calling glGetVertexAtrtrib.
108502        (WebCore::WebGLRenderingContext::vertexAttrib1f): Validate input, deal with vertex attrib 0.
108503        (WebCore::WebGLRenderingContext::vertexAttrib1fv): Ditto.
108504        (WebCore::WebGLRenderingContext::vertexAttrib2f): Ditto.
108505        (WebCore::WebGLRenderingContext::vertexAttrib2fv): Ditto.
108506        (WebCore::WebGLRenderingContext::vertexAttrib3f): Ditto.
108507        (WebCore::WebGLRenderingContext::vertexAttrib3fv): Ditto.
108508        (WebCore::WebGLRenderingContext::vertexAttrib4f): Ditto.
108509        (WebCore::WebGLRenderingContext::vertexAttrib4fv): Ditto.
108510        (WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto.
108511        (WebCore::WebGLRenderingContext::handleNPOTTextures): Move isGLES2Compliant() to caller.
108512        (WebCore::WebGLRenderingContext::vertexAttribImpl): Helper for vertexAttribNfv.
108513        (WebCore::WebGLRenderingContext::initVertexAttrib0): Initialize vertex attrib 0.
108514        (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Simulate vertex attrib 0.
108515        (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation): Restore states after simulating vertex attrib 0.
108516        * html/canvas/WebGLRenderingContext.h:
108517        (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState): Tracking full vertex attrib states.
108518        (WebCore::WebGLRenderingContext::VertexAttribState::initValue): Init value to [0,0,0,1].
108519
1085202010-07-02  Zhenyao Mo  <zmo@google.com>
108521
108522        Reviewed by Dimitri Glazkov.
108523
108524        Need to validate the size of the incoming arrays for uniform* functions
108525        https://bugs.webkit.org/show_bug.cgi?id=41383
108526
108527        * html/canvas/WebGLRenderingContext.cpp: Validate input array size.
108528        (WebCore::WebGLRenderingContext::uniform1fv):
108529        (WebCore::WebGLRenderingContext::uniform1iv):
108530        (WebCore::WebGLRenderingContext::uniform2fv):
108531        (WebCore::WebGLRenderingContext::uniform2iv):
108532        (WebCore::WebGLRenderingContext::uniform3fv):
108533        (WebCore::WebGLRenderingContext::uniform3iv):
108534        (WebCore::WebGLRenderingContext::uniform4fv):
108535        (WebCore::WebGLRenderingContext::uniform4iv):
108536        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
108537        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
108538        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
108539        (WebCore::WebGLRenderingContext::validateUniformParameters):
108540        (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
108541        * html/canvas/WebGLRenderingContext.h: Add helper functions.
108542
1085432010-07-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
108544
108545        Reviewed by Simon Hausmann.
108546
108547        [Qt] Canvas arcTo() should draw straight line to p1 if p0, p1 and p2 are collinear
108548
108549        The implementation of PathQt's addArcTo() was not float-safe and also had
108550        a case where it drew an 'infinite' line, which is not part of the spec.
108551
108552        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arcto
108553
108554        We now use qFuzzyCompare() in both cases. The method isPointOnPathBorder()
108555        also had the same problem, and was refactored a bit in the process of fixing
108556        the bug.
108557
108558        Initial patch by Andreas Kling.
108559
108560        https://bugs.webkit.org/show_bug.cgi?id=41412
108561
108562        * platform/graphics/qt/PathQt.cpp:
108563
1085642010-07-02  Yury Semikhatsky  <yurys@chromium.org>
108565
108566        Reviewed by Pavel Feldman.
108567
108568        [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
108569        https://bugs.webkit.org/show_bug.cgi?id=41511
108570
108571        Tests: fast/events/popup-blocked-from-fake-user-gesture.html
108572               http/tests/inspector/change-iframe-src.html
108573
108574        * bindings/v8/ScriptController.cpp:
108575        (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
108576        from the call stack. Get event directly from hidden property to avoid unnecessary checks.
108577        * bindings/v8/V8AbstractEventListener.cpp:
108578        (WebCore::V8AbstractEventListener::invokeEventHandler):
108579        * bindings/v8/V8HiddenPropertyName.h:
108580        * bindings/v8/custom/V8DOMWindowCustom.cpp:
108581        (WebCore::V8DOMWindow::eventAccessorGetter):
108582        (WebCore::V8DOMWindow::eventAccessorSetter):
108583
1085842010-07-02  Adam Barth  <abarth@webkit.org>
108585
108586        Reviewed by Eric Seidel.
108587
108588        Fix tokenization of <!----->
108589        https://bugs.webkit.org/show_bug.cgi?id=41505
108590
108591        I noticed this error when browsing through the HTML5lib failures.
108592        We're adding an extra character to the comment token, contrary to what
108593        the spec says to do.
108594
108595        * html/HTMLTokenizer.cpp:
108596        (WebCore::HTMLTokenizer::nextToken):
108597
1085982010-07-02  Adam Barth  <abarth@webkit.org>
108599
108600        Reviewed by Eric Seidel.
108601
108602        Implement processFakePEndTagIfPInScope
108603        https://bugs.webkit.org/show_bug.cgi?id=41503
108604
108605        This is a common idiom because <p> likes to close itself.
108606
108607        * html/HTMLTreeBuilder.cpp:
108608        (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
108609        (WebCore::HTMLTreeBuilder::processStartTag):
108610        * html/HTMLTreeBuilder.h:
108611
1086122010-07-02  Adam Barth  <abarth@webkit.org>
108613
108614        Reviewed by Eric Seidel.
108615
108616        Implement AfterAfterBodyMode
108617        https://bugs.webkit.org/show_bug.cgi?id=41501
108618
108619        In implementing this mode, I noticed a bug in the character processing
108620        of the AfterBodyMode, which I fixed by adding a break statement.  Also,
108621        to get one of the new tests to pass, I needed to implement one
108622        notImplemented() in the InBody insertion mode.  Yay for testing.
108623
108624        * html/HTMLTreeBuilder.cpp:
108625        (WebCore::HTMLTreeBuilder::processStartTag):
108626        (WebCore::HTMLTreeBuilder::processEndTag):
108627        (WebCore::HTMLTreeBuilder::processComment):
108628        (WebCore::HTMLTreeBuilder::processCharacter):
108629        (WebCore::HTMLTreeBuilder::processEndOfFile):
108630
1086312010-07-02  Sheriff Bot  <webkit.review.bot@gmail.com>
108632
108633        Unreviewed, rolling out r62371.
108634        http://trac.webkit.org/changeset/62371
108635        https://bugs.webkit.org/show_bug.cgi?id=41515
108636
108637        "Breaks media/controls-drag-timebar.html on 32-Bit Release"
108638        (Requested by philn-tp on #webkit).
108639
108640        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
108641        (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
108642        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
108643
1086442010-06-28  Philippe Normand  <pnormand@igalia.com>
108645
108646        Reviewed by Xan Lopez.
108647
108648        [GStreamer] can't seek past maxTimeLoaded value
108649        https://bugs.webkit.org/show_bug.cgi?id=40526
108650
108651        Extended the seekable range to the whole media. This allows video
108652        played with progressive download to be seeked past the current
108653        buffered position.
108654
108655        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
108656        (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
108657        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
108658
1086592010-07-02  Adam Barth  <abarth@webkit.org>
108660
108661        Reviewed by Eric Seidel.
108662
108663        Implement AfterBodyMode for HTML5 tree builder
108664        https://bugs.webkit.org/show_bug.cgi?id=41500
108665
108666        In the coarse of implementing this state, I ran into an ASSERT in how
108667        </br> tags where handled, which I fixed.  Technically, that could be a
108668        separate patch, but it seemed harmless to include it here (with tests).
108669
108670        * html/HTMLTreeBuilder.cpp:
108671        (WebCore::HTMLTreeBuilder::processStartTag):
108672        (WebCore::HTMLTreeBuilder::processEndTag):
108673        (WebCore::HTMLTreeBuilder::processComment):
108674        (WebCore::HTMLTreeBuilder::processCharacter):
108675        (WebCore::HTMLTreeBuilder::processEndOfFile):
108676        (WebCore::HTMLTreeBuilder::insertCommentOnHTMLHtmlElement):
108677        * html/HTMLTreeBuilder.h:
108678
1086792010-07-02  Adam Barth  <abarth@webkit.org>
108680
108681        Reviewed by Eric Seidel.
108682
108683        Handle <base> and friends in AfterHeadMode
108684        https://bugs.webkit.org/show_bug.cgi?id=41502
108685
108686        Implement notImplemented() per spec.
108687
108688        * html/HTMLTreeBuilder.cpp:
108689        (WebCore::HTMLTreeBuilder::processStartTag):
108690
1086912010-07-01  Oliver Hunt  <oliver@apple.com>
108692
108693        Build fix
108694
108695        * dom/Document.h:
108696
1086972010-07-01  Oliver Hunt  <oliver@apple.com>
108698
108699        Reviewed by Maciej Stachowiak.
108700
108701        Add a FixedArray template to encapsulate fixed length arrays
108702        https://bugs.webkit.org/show_bug.cgi?id=41506
108703
108704        Add forwarding header, and replace a few fixed length arrays
108705        with the new FixedArray type.
108706
108707        * ForwardingHeaders/wtf/FixedArray.h: Added.
108708        * dom/Document.h:
108709        * platform/graphics/GlyphMetricsMap.h:
108710
1087112010-07-01  Simon Fraser  <simon.fraser@apple.com>
108712
108713        No review.
108714
108715        Fix a link warning in 32-bit by not explicitly exporting WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly().
108716
108717        * WebCore.AcceleratedCompositing.exp:
108718
1087192010-07-01  Tony Gentilcore  <tonyg@chromium.org>
108720
108721        Reviewed by Dimitri Glazkov.
108722
108723        Add window.performance.navigation namespace
108724        https://bugs.webkit.org/show_bug.cgi?id=41442
108725
108726        Adds window.performance.navigation namespace consisting of ".type"
108727        and ".redirectCount". As part of this change, I renmaed "NavigationTiming"
108728        to just "Timing" to avoid confusion.
108729
108730        No new tests because tests will be added in a subsequent patch when
108731        functionality is added.
108732
108733        * Android.mk:
108734        * CMakeLists.txt:
108735        * DerivedSources.cpp:
108736        * DerivedSources.make:
108737        * GNUmakefile.am:
108738        * WebCore.gypi:
108739        * WebCore.pri:
108740        * WebCore.pro:
108741        * WebCore.vcproj/WebCore.vcproj:
108742        * WebCore.xcodeproj/project.pbxproj:
108743        * page/Navigation.cpp: Added.
108744        (WebCore::Navigation::Navigation):
108745        (WebCore::Navigation::frame):
108746        (WebCore::Navigation::disconnectFrame):
108747        (WebCore::Navigation::type):
108748        (WebCore::Navigation::redirectCount):
108749        * page/Navigation.h: Added.
108750        (WebCore::Navigation::create):
108751        * page/Navigation.idl: Added.
108752        * page/NavigationTiming.cpp: Removed.
108753        * page/NavigationTiming.h: Removed.
108754        * page/NavigationTiming.idl: Removed.
108755        * page/Performance.cpp:
108756        (WebCore::Performance::navigation):
108757        (WebCore::Performance::timing):
108758        * page/Performance.h:
108759        * page/Performance.idl:
108760        * page/Timing.cpp: Added.
108761        (WebCore::Timing::Timing):
108762        (WebCore::Timing::frame):
108763        (WebCore::Timing::disconnectFrame):
108764        (WebCore::Timing::navigationStart):
108765        * page/Timing.h: Added.
108766        (WebCore::Timing::create):
108767        * page/Timing.idl: Added.
108768
1087692010-07-01  Daniel Cheng  <dcheng@chromium.org>
108770
108771        Reviewed by Jian Li.
108772
108773        [chromium] Dragging a link triggers an assert when accessing event.dataTransfer.types
108774        https://bugs.webkit.org/show_bug.cgi?id=41493
108775
108776        ClipboardChromium::writeURL violates ClipboardChromium's assumption that uriList will always
108777        be non-empty if url is valid.
108778
108779        No new tests.
108780
108781        * platform/chromium/ClipboardChromium.cpp:
108782        (WebCore::ClipboardChromium::writeURL):
108783
1087842010-07-01  Andreas Kling  <andreas.kling@nokia.com>
108785
108786        Reviewed by Tor Arne Vestbø.
108787
108788        [Qt] Clamp color stops passed to QGradient to 1.0
108789        [https://bugs.webkit.org/show_bug.cgi?id=41484
108790
108791        Fixes an issue where color stops would be silently dropped from radial gradients.
108792
108793        * platform/graphics/qt/GradientQt.cpp:
108794        (WebCore::Gradient::platformGradient):
108795
1087962010-07-01  Eric Seidel  <eric@webkit.org>
108797
108798        Reviewed by Adam Barth.
108799
108800        HTMLTokenizer should ASSERT that it never emits a null character
108801        https://bugs.webkit.org/show_bug.cgi?id=41448
108802
108803        No functional change, thus no tests.  These ASSERTs would have
108804        caught the coding error which caused the trouble in bug 41436
108805        (which was fixed by bug 41439).
108806
108807        * html/HTMLToken.h:
108808        (WebCore::HTMLToken::beginStartTag):
108809        (WebCore::HTMLToken::beginCharacter):
108810        (WebCore::HTMLToken::beginDOCTYPE):
108811        (WebCore::HTMLToken::appendToName):
108812        (WebCore::HTMLToken::appendToComment):
108813        (WebCore::HTMLToken::appendToAttributeName):
108814        (WebCore::HTMLToken::appendToAttributeValue):
108815        (WebCore::HTMLToken::appendToPublicIdentifier):
108816        (WebCore::HTMLToken::appendToSystemIdentifier):
108817
1088182010-07-01  Andreas Kling  <andreas.kling@nokia.com>
108819
108820        Reviewed by Tor Arne Vestbø.
108821
108822        Canvas: Don't paint with empty radial gradients
108823        https://bugs.webkit.org/show_bug.cgi?id=41190
108824
108825        If a radial gradient has x0==x1 && y0==y1 && r0==r1, don't paint with it.
108826
108827        * html/canvas/CanvasRenderingContext2D.cpp:
108828        (WebCore::CanvasRenderingContext2D::fillRect):
108829        * platform/graphics/Gradient.h:
108830        (WebCore::Gradient::isZeroSize):
108831
1088322010-07-01  Tony Gentilcore  <tonyg@chromium.org>
108833
108834        Reviewed by Adam Barth.
108835
108836        Add interface for network platform to pass up timing information
108837        https://bugs.webkit.org/show_bug.cgi?id=41437
108838
108839        The Web Timing feature requires the network platform to expose detailed
108840        timing information for the main resource. This patch adds that data to
108841        the ResourceResponseBase. Since the 82 bytes of information is only
108842        needed for the main resource, it is a RefPtr to avoid using the memory
108843        for other resource types.
108844
108845        No new tests because no new functionality.
108846
108847        * GNUmakefile.am:
108848        * WebCore.gypi:
108849        * WebCore.pro:
108850        * WebCore.vcproj/WebCore.vcproj:
108851        * WebCore.xcodeproj/project.pbxproj:
108852        * platform/network/ResourceLoadTiming.h: Added.
108853        (WebCore::ResourceLoadTiming::create):
108854        (WebCore::ResourceLoadTiming::deepCopy):
108855        (WebCore::ResourceLoadTiming::operator==):
108856        (WebCore::ResourceLoadTiming::operator!=):
108857        (WebCore::ResourceLoadTiming::ResourceLoadTiming):
108858        * platform/network/ResourceResponseBase.cpp:
108859        (WebCore::ResourceResponseBase::adopt):
108860        (WebCore::ResourceResponseBase::copyData):
108861        (WebCore::ResourceResponseBase::resourceLoadTiming):
108862        (WebCore::ResourceResponseBase::setResourceLoadTiming):
108863        (WebCore::ResourceResponseBase::compare):
108864        * platform/network/ResourceResponseBase.h:
108865
1088662010-07-01  Sheriff Bot  <webkit.review.bot@gmail.com>
108867
108868        Unreviewed, rolling out r62321.
108869        http://trac.webkit.org/changeset/62321
108870        https://bugs.webkit.org/show_bug.cgi?id=41494
108871
108872        Broke the non-win builds. (Requested by dumi on #webkit).
108873
108874        * dom/ScriptExecutionContext.cpp:
108875        (WebCore::ScriptExecutionContext::addOpenDatabase):
108876        (WebCore::ScriptExecutionContext::removeOpenDatabase):
108877        (WebCore::ScriptExecutionContext::stopDatabases):
108878        * dom/ScriptExecutionContext.h:
108879        * storage/Database.cpp:
108880        (WebCore::Database::openDatabase):
108881        (WebCore::Database::Database):
108882        (WebCore::Database::markAsDeletedAndClose):
108883        (WebCore::ContextRemoveOpenDatabaseTask::create):
108884        (WebCore::ContextRemoveOpenDatabaseTask::performTask):
108885        (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask):
108886        (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask):
108887        (WebCore::Database::close):
108888        (WebCore::Database::closeImmediately):
108889        (WebCore::Database::stop):
108890        (WebCore::Database::performPolicyChecks):
108891        * storage/Database.h:
108892        (WebCore::Database::):
108893        (WebCore::Database::stopped):
108894        * storage/DatabaseTask.cpp:
108895        (WebCore::DatabaseTask::performTask):
108896        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
108897        (WebCore::DatabaseOpenTask::doPerformTask):
108898        (WebCore::DatabaseOpenTask::debugTaskName):
108899        (WebCore::DatabaseCloseTask::DatabaseCloseTask):
108900        (WebCore::DatabaseCloseTask::doPerformTask):
108901        (WebCore::DatabaseCloseTask::debugTaskName):
108902        (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
108903        (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
108904        (WebCore::DatabaseTransactionTask::doPerformTask):
108905        (WebCore::DatabaseTransactionTask::debugTaskName):
108906        (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
108907        (WebCore::DatabaseTableNamesTask::doPerformTask):
108908        (WebCore::DatabaseTableNamesTask::debugTaskName):
108909        * storage/DatabaseTask.h:
108910        (WebCore::DatabaseOpenTask::create):
108911        (WebCore::DatabaseCloseTask::create):
108912        (WebCore::DatabaseTransactionTask::create):
108913        (WebCore::DatabaseTableNamesTask::create):
108914        * storage/DatabaseThread.cpp:
108915        (WebCore::DatabaseThread::databaseThread):
108916        * storage/DatabaseTracker.cpp:
108917        (WebCore::DatabaseTracker::addOpenDatabase):
108918        * storage/SQLTransaction.cpp:
108919        (WebCore::SQLTransaction::executeSQL):
108920        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
108921
1089222010-07-01  Xan Lopez  <xlopez@igalia.com>
108923
108924        Reviewed by Gustavo Noronha.
108925
108926        [GTK] Stop using GdkRegion in 3.x mode
108927        https://bugs.webkit.org/show_bug.cgi?id=41463
108928
108929        Make us compile without using GdkRegion, since it's gone from GTK+
108930        3.x.
108931
108932        * platform/graphics/IntRect.h:
108933        * platform/graphics/cairo/GraphicsContextCairo.cpp:
108934        (WebCore::GraphicsContext::drawFocusRing):
108935        * platform/graphics/gtk/FontGtk.cpp:
108936        (WebCore::cairo_region_shrink):
108937        (WebCore::Font::drawComplexText):
108938        * platform/gtk/GtkPluginWidget.cpp:
108939        (WebCore::GtkPluginWidget::paint):
108940        * platform/gtk/RenderThemeGtk.h:
108941        * platform/gtk/ScrollbarGtk.cpp:
108942        (ScrollbarGtk::paint):
108943
1089442010-06-30  Dumitru Daniliuc  <dumi@chromium.org>
108945
108946        Reviewed by Darin Fisher.
108947
108948        DB clean up.
108949        https://bugs.webkit.org/show_bug.cgi?id=41404
108950
108951        1. Made all DatabaseTasks internal classes of Database and made
108952           the Database methods called by those tasks private.
108953        2. Removed the Database::stop{ed}() methods.
108954        3. Removed the code that kept track of open databases from
108955           ScriptExecutionContext (no longer needed).
108956        4. Made minor changes to Database::closeImmediately() to make it
108957           possible for DatabaseThread to call that method instead of
108958           close().
108959        5. Minor fix to DatabaseTracker: addOpenDatabase() should call
108960           OriginQuotaManager::addDatabase() if the origin quota manager
108961           is not tracking this origin.
108962        6. Removed Database::performPolicyChecks(). We already update the
108963           DB size after each transaction, and we enforce a max size for
108964           the DB at the beginning of each transaction.
108965
108966        * dom/ScriptExecutionContext.cpp:
108967        (WebCore::ScriptExecutionContext::stopDatabases):
108968        * dom/ScriptExecutionContext.h:
108969        (WebCore::ScriptExecutionContext::hasOpenDatabases):
108970        * storage/Database.cpp:
108971        (WebCore::Database::openDatabase):
108972        (WebCore::Database::Database):
108973        (WebCore::Database::markAsDeletedAndClose):
108974        (WebCore::Database::close):
108975        (WebCore::Database::closeImmediately):
108976        * storage/Database.h:
108977        * storage/DatabaseTask.cpp:
108978        (WebCore::DatabaseTask::performTask):
108979        (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
108980        (WebCore::Database::DatabaseOpenTask::doPerformTask):
108981        (WebCore::Database::DatabaseOpenTask::debugTaskName):
108982        (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
108983        (WebCore::Database::DatabaseCloseTask::doPerformTask):
108984        (WebCore::Database::DatabaseCloseTask::debugTaskName):
108985        (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
108986        (WebCore::Database::DatabaseTransactionTask::doPerformTask):
108987        (WebCore::Database::DatabaseTransactionTask::debugTaskName):
108988        (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
108989        (WebCore::Database::DatabaseTableNamesTask::doPerformTask):
108990        (WebCore::Database::DatabaseTableNamesTask::debugTaskName):
108991        * storage/DatabaseTask.h:
108992        (WebCore::Database::DatabaseOpenTask::create):
108993        (WebCore::Database::DatabaseCloseTask::create):
108994        (WebCore::Database::DatabaseTransactionTask::create):
108995        (WebCore::Database::DatabaseTableNamesTask::create):
108996        * storage/DatabaseThread.cpp:
108997        (WebCore::DatabaseThread::databaseThread):
108998        * storage/DatabaseTracker.cpp:
108999        (WebCore::DatabaseTracker::addOpenDatabase):
109000        * storage/SQLTransaction.cpp:
109001        (WebCore::SQLTransaction::executeSQL):
109002        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
109003
1090042010-07-01  Kent Tamura  <tkent@chromium.org>
109005
109006        Reviewed by Darin Fisher.
109007
109008        [Chromium] Support indeterminate checkbox for Windows
109009        https://bugs.webkit.org/show_bug.cgi?id=41444
109010
109011        * rendering/RenderThemeChromiumWin.cpp:
109012        (WebCore::RenderThemeChromiumWin::determineState):
109013         Check isIndeterminate() and set an appropriate flag value.
109014
1090152010-07-01  Alexey Proskuryakov  <ap@apple.com>
109016
109017        Reviewed by Dan Bernstein.
109018
109019        https://bugs.webkit.org/show_bug.cgi?id=41488
109020        <rdar://problem/7487420> Crash in SubresourceLoader::create when load is initiated from plug-in destructor
109021
109022        Test: plugins/js-from-destroy.html
109023
109024        * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create): Null check active
109025        document loader.
109026
1090272010-07-01  Andy Estes  <aestes@apple.com>
109028
109029        Reviewed by Darin Adler.
109030
109031        <rdar://problem/8113003> Correctly fire beforeload events for images
109032        added to the DOM using .innerHTML.
109033        https://bugs.webkit.org/show_bug.cgi?id=40919
109034
109035        Test: fast/dom/beforeload/image-before-load-innerHTML.html
109036
109037        * html/LegacyHTMLDocumentParser.cpp:
109038        (WebCore::LegacyHTMLDocumentParser::write): Do not fire synchronous
109039        image beforeload events immediately after parsing a document fragment.
109040        Let the events fire later, giving the fragment time to potentially be
109041        inserted into the document.
109042
1090432010-07-01  Andreas Kling  <andreas.kling@nokia.com>
109044
109045        Reviewed by Tor Arne Vestbø.
109046
109047        Canvas: bezierCurveTo() and quadraticCurveTo() must ensure subpaths
109048        https://bugs.webkit.org/show_bug.cgi?id=41192
109049
109050        If the current path is empty, bezierCurveTo() and quadraticCurveTo() will now
109051        move to the (first) control point before adding the curve.
109052
109053        Spec links:
109054        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-beziercurveto
109055        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-quadraticcurveto
109056
109057        * html/canvas/CanvasRenderingContext2D.cpp:
109058        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
109059        (WebCore::CanvasRenderingContext2D::bezierCurveTo):
109060
1090612010-07-01  Andreas Kling  <andreas.kling@nokia.com>
109062
109063        Reviewed by Darin Adler.
109064
109065        Canvas element cannot have negative width or height (HTML5 spec 4.8.11)
109066        https://bugs.webkit.org/show_bug.cgi?id=39149
109067
109068        If assigned a negative value, it should default to 300 for width and 150 for height.
109069
109070        Spec link:
109071        http://www.whatwg.org/specs/web-apps/current-work/#attr-canvas-width
109072
109073        Test: fast/canvas/canvas-negative-size.html
109074
109075        * html/HTMLCanvasElement.cpp:
109076        (WebCore::HTMLCanvasElement::reset):
109077
1090782010-07-01  Darin Adler  <darin@apple.com>
109079
109080        Reviewed by Steve Falkenburg.
109081
109082        Turn on adoptRef assertion for TreeShared.
109083
109084        * platform/TreeShared.h: Remove LOOSE_TREE_SHARED and all the ifdefs.
109085        Actually, I used LOOSE_REF_COUNTED by accident in a few places, but
109086        removing them all now.
109087
109088        * rendering/ShadowElement.cpp:
109089        (WebCore::ShadowBlockElement::create): Added adoptRef. This was a
109090        storage leak before, probably recently introduced r61324.
109091        (WebCore::ShadowInputElement::create): Ditto.
109092
1090932010-07-01  Xan Lopez  <xlopez@igalia.com>
109094
109095        Reviewed by Gustavo Noronha.
109096
109097        Only include the geolocation IDL in the GObject DOM bindings set
109098        if geolocation is enabled.
109099
109100        * GNUmakefile.am:
109101
1091022010-07-01  Timothy Hatcher  <timothy@apple.com>
109103
109104        Provide a WebView preference to disable DNS prefetching.
109105
109106        https://bugs.webkit.org/show_bug.cgi?id=28825
109107        rdar://problem/7181249
109108
109109        Reviewed by Darin Adler.
109110
109111        * WebCore.base.exp: Added Settings::setDNSPrefetchingEnabled.
109112        * dom/Document.cpp:
109113        (WebCore::Document::initDNSPrefetch): Check settings->dnsPrefetchingEnabled().
109114        * page/Settings.cpp:
109115        (WebCore::Settings::Settings): Set m_dnsPrefetchingEnabled to true.
109116        (WebCore::Settings::setDNSPrefetchingEnabled): Added. Set m_dnsPrefetchingEnabled.
109117        * page/Settings.h:
109118        (WebCore::Settings::dnsPrefetchingEnabled): Added. Return m_dnsPrefetchingEnabled.
109119
1091202010-07-01  Simon Fraser  <simon.fraser@apple.com>
109121
109122        Reviewed by Darin Adler.
109123
109124        Get accelerated compositing working with webkit2
109125        https://bugs.webkit.org/show_bug.cgi?id=41084
109126
109127        Step 2: add a  method, syncCompositingStateForThisLayerOnly(), to GraphicsLayer to commit
109128        batched changes non-recursively. This allows us to use GraphicsLayer in places where we
109129        don't want to kick off a recursive commit of the entire tree.
109130
109131        * platform/graphics/GraphicsLayer.h:
109132        (WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly):
109133        * platform/graphics/mac/GraphicsLayerCA.h:
109134        * platform/graphics/mac/GraphicsLayerCA.mm:
109135        (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly):
109136        * WebCore.AcceleratedCompositing.exp: Export the new method for use in WebKit2.
109137
1091382010-07-01  Simon Fraser  <simon.fraser@apple.com>
109139
109140        Reviewed by Sam Weinig.
109141
109142        Get accelerated compositing working with webkit2
109143        https://bugs.webkit.org/show_bug.cgi?id=41084
109144
109145        Step 1: add a new .exp file for WebCore, which exports symbols only when USE(ACCELERATED_COMPOSITING)
109146        is defined.
109147        
109148        Also export WebCore::FloatSize::FloatSize(WebCore::IntSize const&) from WebCore.
109149
109150        * DerivedSources.make:
109151        * WebCore.AcceleratedCompositing.exp: Added.
109152        * WebCore.base.exp:
109153        * WebCore.xcodeproj/project.pbxproj:
109154
1091552010-07-01  Alexey Proskuryakov  <ap@apple.com>
109156
109157        Reviewed by Darin Adler.
109158
109159        <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
109160        REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction
109161
109162        Test: plugins/write-xssauditor-from-destroy.html
109163
109164        Fix specific known cases that also crash in same process case. I don't know if there is
109165        any rule for when documentLoader should be checked for being null, it looks like a mess.
109166
109167        * loader/FrameLoader.cpp:
109168        (WebCore::FrameLoader::referrer):
109169        * page/XSSAuditor.cpp:
109170        (WebCore::XSSAuditor::findInRequest):
109171
1091722010-07-01  Andreas Kling  <andreas.kling@nokia.com>
109173
109174        Reviewed by Darin Adler.
109175
109176        The HTML5 canvas 2d.drawImage.zerocanvas test does not pass
109177        https://bugs.webkit.org/show_bug.cgi?id=40271
109178
109179        Throw INVALID_STATE_ERR when attempting to draw a canvas with zero width or height.
109180
109181        Spec link:
109182        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage
109183
109184        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
109185        (WebCore::JSCanvasRenderingContext2D::drawImage): Call setDOMException after drawImage(canvas, x, y)
109186        * html/canvas/CanvasRenderingContext2D.cpp:
109187        (WebCore::CanvasRenderingContext2D::drawImage):
109188
1091892010-07-01  Andreas Kling  <andreas.kling@nokia.com>
109190
109191        Reviewed by Oliver Hunt.
109192
109193        [Qt] Canvas: clip() should use non-zero winding rule
109194        https://bugs.webkit.org/show_bug.cgi?id=41466
109195
109196        Use non-zero winding number rule when clipping a GraphicsContext from canvas.
109197        Fixes appearance of the "pill" in the web inspector.
109198
109199        * platform/graphics/qt/GraphicsContextQt.cpp:
109200        (WebCore::GraphicsContext::canvasClip):
109201
1092022010-07-01  Sheriff Bot  <webkit.review.bot@gmail.com>
109203
109204        Unreviewed, rolling out r62246.
109205        http://trac.webkit.org/changeset/62246
109206        https://bugs.webkit.org/show_bug.cgi?id=41470
109207
109208        "Worker tests are broken in Chromium" (Requested by yurys on
109209        #webkit).
109210
109211        * bindings/v8/ScriptController.cpp:
109212        (WebCore::ScriptController::processingUserGesture):
109213        * bindings/v8/V8AbstractEventListener.cpp:
109214        (WebCore::V8AbstractEventListener::invokeEventHandler):
109215        * bindings/v8/V8HiddenPropertyName.h:
109216        * bindings/v8/custom/V8DOMWindowCustom.cpp:
109217        (WebCore::V8DOMWindow::eventAccessorGetter):
109218        (WebCore::V8DOMWindow::eventAccessorSetter):
109219
1092202010-07-01  Andreas Kling  <andreas.kling@nokia.com>
109221
109222        Reviewed by Tor Arne Vestbø.
109223
109224        Canvas: Exception erroneously thrown for drawImage() when image.complete=false
109225        https://bugs.webkit.org/show_bug.cgi?id=33968
109226
109227        Do nothing in drawImage() if called with an image whose 'complete'
109228        attribute is false, or a video whose readyState is either HAVE_NOTHING
109229        or HAVE_METADATA.
109230
109231        Spec link:
109232        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage
109233
109234        Test: fast/canvas/canvas-drawImage-incomplete.html
109235
109236        * html/canvas/CanvasRenderingContext2D.cpp:
109237        (WebCore::CanvasRenderingContext2D::drawImage):
109238
1092392010-07-01  Justin Schuh  <jschuh@chromium.org>
109240
109241        Reviewed by Dan Bernstein.
109242
109243        Prevent crash on counter destruction
109244        https://bugs.webkit.org/show_bug.cgi?id=40032
109245
109246        Added counter destruction to RenderWidget::destroy()
109247
109248        Test: fast/css/counters/destroy-counter-crash.html
109249
109250        * rendering/RenderWidget.cpp:
109251        (WebCore::RenderWidget::destroy):
109252
1092532010-07-01  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
109254
109255        Unreviewed build fix after r62215.
109256
109257        No new functionality, so no new tests.
109258
109259        * CMakeLists.txt: Add missing files and re-sort.
109260
1092612010-07-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
109262
109263        Reviewed by Kenneth Rohde Christiansen.
109264
109265        [Qt] Remove an unneeded assert.
109266
109267        This assert is triggered for example while showing the falling leaves demo.
109268        GraphicsLayerQtImpl::toGraphicsLayerQtImpl asserts that its input
109269        pointer is null. Looking at the uses of this method it seems like
109270        it is expected to return null if a null pointer is given to it.
109271
109272        * platform/graphics/qt/GraphicsLayerQt.cpp:
109273        (WebCore::toGraphicsLayerQtImpl):
109274
1092752010-06-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
109276
109277        Reviewed by Simon Hausmann.
109278
109279        [Qt] Fix qmake vcproj generation for QtWebKit.
109280
109281        qmake use TARGET=/LIBS+= -lTARGET to create dependencies
109282        between projects in a subdir template.
109283
109284        Since when compiling outside of Qt we hijack the target name of
109285        QtWebKit to add the configuration and version suffix to the binary
109286        filename, qmake can't establish the WebCore project as a dependency
109287        to QtTestBrowser.
109288
109289        This patch makes sure that the target is not hijacked on the
109290        first of the three passes where the dependencies are determined.
109291
109292        * WebCore.pro:
109293
1092942010-07-01  Nikolas Zimmermann  <nzimmermann@rim.com>
109295
109296        Reviewed by Dirk Schulze.
109297
109298        SVGRenderStyle::diff() is missing
109299        https://bugs.webkit.org/show_bug.cgi?id=41455
109300
109301        Don't just return StyleDifferenceLayout when two SVGRenderStyle objects differ.
109302        Figure out when to repaint, and as last resort do a relayout.
109303
109304        Lively Kernel doesn't do any relayouts anymore, same for lots of demos in the IE9 testcenter.
109305
109306        * rendering/style/RenderStyle.cpp:
109307        (WebCore::RenderStyle::diff):
109308        * rendering/style/SVGRenderStyle.cpp:
109309        (WebCore::SVGRenderStyle::diff):
109310        * rendering/style/SVGRenderStyle.h:
109311
1093122010-07-01  Antti Koivisto  <koivisto@iki.fi>
109313
109314        Revert accidental commit.
109315
109316        * platform/network/qt/ResourceRequestQt.cpp:
109317        (WebCore::ResourceRequest::toNetworkRequest):
109318
1093192010-07-01  Patrick Gansterer  <paroga@paroga.com>
109320
109321        Reviewed by Nikolas Zimmermann.
109322
109323        Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
109324        https://bugs.webkit.org/show_bug.cgi?id=40984
109325
109326        * rendering/SVGRenderSupport.cpp:
109327        (WebCore::SVGRenderSupport::finishRenderSVGContent):
109328
1093292010-07-04  Patrick Gansterer  <paroga@paroga.com>
109330
109331        Reviewed by Dirk Schulze.
109332
109333        Buildfix for !ENABLE(FILTERS) after r62238.
109334        https://bugs.webkit.org/show_bug.cgi?id=41456
109335
109336        * rendering/SVGRenderSupport.cpp:
109337        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
109338
1093392010-07-01  MORITA Hajime  <morrita@google.com>
109340
109341        Unreviewed build fix.
109342
109343        * rendering/RenderInputSpeech.cpp:
109344        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
109345        * rendering/RenderInputSpeech.h:
109346        * rendering/RenderTheme.cpp:
109347        (WebCore::RenderTheme::paintInputFieldSpeechButton):
109348        * rendering/RenderTheme.h:
109349
1093502010-07-01  Satish Sampath  <satish@chromium.org>
109351
109352        Reviewed by Kent Tamura.
109353
109354        Rendering the speech button in input elements.
109355        https://bugs.webkit.org/show_bug.cgi?id=40984
109356
109357        The button currently has only one state and rendered as an image on all platforms. Subsequent
109358        patches will add user input handling and more states + rendering code to the button. The
109359        button's appearance can be customized by individual ports in their RenderTheme implementation
109360        if required.
109361
109362        Tests: platform/mac/fast/forms/input-appearance-numberandspeech.html
109363               platform/mac/fast/forms/input-appearance-searchandspeech.html
109364               platform/mac/fast/forms/input-appearance-speechbutton.html
109365
109366        * GNUmakefile.am:
109367        * Resources/inputSpeech.png: Added.
109368        * Resources/inputSpeech.tiff: Added. Used by the Mac implementation.
109369        * WebCore.gypi:
109370        * WebCore.pro:
109371        * WebCore.qrc:
109372        * WebCore.xcodeproj/project.pbxproj:
109373        * platform/graphics/qt/ImageQt.cpp:
109374        (loadResourcePixmap): Load the speech button images for Qt port.
109375        * rendering/RenderInputSpeech.cpp: Added.
109376        (WebCore::RenderInputSpeech::adjustInputFieldSpeechButtonStyle): Sets the button's dimensions.
109377        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
109378        * rendering/RenderInputSpeech.h: Added.
109379        * rendering/RenderTextControlSingleLine.cpp:
109380        (WebCore::RenderTextControlSingleLine::layout):
109381        (WebCore::RenderTextControlSingleLine::forwardEvent):
109382        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Create the speech button.
109383        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
109384        * rendering/RenderTheme.cpp:
109385        (WebCore::RenderTheme::adjustStyle):
109386        (WebCore::RenderTheme::paint):
109387        (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
109388        (WebCore::RenderTheme::paintInputFieldSpeechButton):
109389        * rendering/RenderTheme.h:
109390        * rendering/RenderThemeMac.mm:
109391        (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Get cancel button to render to the left of
109392        speech button when enabled.
109393
1093942010-07-01  Mario Sanchez Prada  <msanchez@igalia.com>
109395
109396        Reviewed by Xan Lopez.
109397
109398        [GTK] Extra nullcheck needed at SelectionControllerGtk.cpp
109399        https://bugs.webkit.org/show_bug.cgi?id=41447
109400
109401        Extra null check added.
109402
109403        * editing/gtk/SelectionControllerGtk.cpp:
109404        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
109405
1094062010-07-01  Yury Semikhatsky  <yurys@chromium.org>
109407
109408        Reviewed by Adam Barth.
109409
109410        [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
109411        https://bugs.webkit.org/show_bug.cgi?id=41350
109412
109413        Tests: fast/events/popup-blocked-from-fake-user-gesture.html
109414               http/tests/inspector/change-iframe-src.html
109415
109416        * bindings/v8/ScriptController.cpp:
109417        (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
109418        from the call stack. Get event directly from hidden property to avoid unnecessary checks.
109419        * bindings/v8/V8AbstractEventListener.cpp:
109420        (WebCore::V8AbstractEventListener::invokeEventHandler):
109421        * bindings/v8/V8HiddenPropertyName.h:
109422        * bindings/v8/custom/V8DOMWindowCustom.cpp:
109423        (WebCore::V8DOMWindow::eventAccessorGetter):
109424        (WebCore::V8DOMWindow::eventAccessorSetter):
109425
1094262010-07-01  Nikolas Zimmermann  <nzimmermann@rim.com>
109427
109428        Reviewed by Dirk Schulze.
109429
109430        RenderSVGContainer/RenderSVGRoot report wrong strokeBoundingBox()
109431        https://bugs.webkit.org/show_bug.cgi?id=41450
109432
109433        strokeBoundingBox() was reporting the repaintRectInLocalCoordinates() for children of a container,
109434        instead of the actual strokeBoundingBox(). Only visible in WebInspector when looking at a container
109435        which has a resource applied and contains a children which also has a resource applied.
109436
109437        Doesn't affect any test results.
109438
109439        * rendering/RenderSVGContainer.cpp:
109440        (WebCore::RenderSVGContainer::objectBoundingBox):
109441        (WebCore::RenderSVGContainer::strokeBoundingBox):
109442        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
109443        * rendering/RenderSVGRoot.cpp:
109444        (WebCore::RenderSVGRoot::objectBoundingBox): Deinlined this functions, it's virtual so there's no gain.
109445        (WebCore::RenderSVGRoot::strokeBoundingBox): Ditto.
109446        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
109447        * rendering/RenderSVGRoot.h:
109448        * rendering/SVGRenderSupport.cpp:
109449        (WebCore::SVGRenderSupport::computeContainerBoundingBox):
109450        * rendering/SVGRenderSupport.h: Add enum controlling the mode of container bounding box mode calculation.
109451
1094522010-07-01  Zoltan Herczeg  <zherczeg@webkit.org>
109453
109454        Reviewed by Nikolas Zimmermann.
109455
109456        Implementing feConvolveMatrix svg filter
109457        https://bugs.webkit.org/show_bug.cgi?id=5861
109458
109459        The implementation is optimized for speed, and uses
109460        multiple algorithms for different parts of the image.
109461        See SVGFEConvolveMatrixElement.cpp for a detailed
109462        description.
109463
109464        * svg/SVGFEConvolveMatrixElement.cpp:
109465        (WebCore::SVGFEConvolveMatrixElement::build):
109466        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
109467        (WebCore::clampRGBAValue):
109468        (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
109469        (WebCore::FEConvolveMatrix::getPixelValue):
109470        (WebCore::FEConvolveMatrix::fastSetOuterPixels):
109471        (WebCore::FEConvolveMatrix::setInteriorPixels):
109472        (WebCore::FEConvolveMatrix::setOuterPixels):
109473        (WebCore::FEConvolveMatrix::apply):
109474        * svg/graphics/filters/SVGFEConvolveMatrix.h:
109475        (WebCore::FEConvolveMatrix::uniteChildEffectSubregions):
109476
1094772010-07-01  Adam Barth  <abarth@webkit.org>
109478
109479        Reviewed by Eric Seidel.
109480
109481        Abstract 'a'-'z' checks into a function
109482        https://bugs.webkit.org/show_bug.cgi?id=41438
109483
109484        Hopefully this version is more readable.
109485
109486        * html/HTMLTokenizer.cpp:
109487        (WebCore::HTMLTokenizer::nextToken):
109488
1094892010-07-01  Adam Barth  <abarth@webkit.org>
109490
109491        Reviewed by Eric Seidel.
109492
109493        Parameter names in frame src URLs parsed incorrectly if resembles HTML entity code followed by underscore
109494        https://bugs.webkit.org/show_bug.cgi?id=41345
109495
109496        Apparently whether an HTML entity requires a trailing semicolon varies
109497        depending on the entity.  The full table is in the spec:
109498
109499        http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html#named-character-references
109500
109501        I believe branch added in this patch is accurate.  At some point, I'll
109502        add a full test suite for all the named entities.
109503
109504        * html/HTMLEntityParser.cpp:
109505        (WebCore::consumeHTMLEntity):
109506
1095072010-07-01  Eric Seidel  <eric@webkit.org>
109508
109509        Unreviewed.  Fix paste-o in Gtk build file.
109510
109511        Split out HTMLFormattingElementList into its own file
109512        https://bugs.webkit.org/show_bug.cgi?id=41440
109513
109514        * GNUmakefile.am:
109515
1095162010-07-01  Nikolas Zimmermann  <nzimmermann@rim.com>
109517
109518        Reviewed by Eric Seidel & Dirk Schulze.
109519
109520        Performance regression for setting content of <text> in SVG
109521        https://bugs.webkit.org/show_bug.cgi?id=36564
109522
109523        Dramatically reducing the number of repaintRectInLocalCoordinates() calls needed while painting.
109524        Do not pass the repaintRect to prepareToRenderSVGContent, only calculate it if opacity < 1 or -webkit-svg-shadow is set.
109525        Most noticeable is that RenderSVGRoot had to visit all children, before actually painting, just to calculate the repaint rect.
109526        And as RenderSVGRoot never carries shadow or opacity it was completly useless.
109527
109528        RenderSVGContainer also called repaintRectInLocalCoordinates, but the result is only needed when painting outlines, which is a rare case.
109529        These modifications fix the performance regression and the number of repaintRectInLocalCoordinate calls for the complex example in
109530        the bug report with 500 runs shrinks from 1.7 million calls to less than 105.000.
109531
109532        50 runs without the patch: ~ 520.8ms
109533        50 runs with the patch   : ~ 501.8ms
109534
109535        The test calls setTimeout(0) 50 times, that already accounts for the 500ms. So setting the content of a <text>
109536        element withs clippers applied, is very cheap now.
109537
109538        Also remove the need to pass in a filter argument to prepareToRenderSVGContent/finishRenderSVGContent, it can easily be grabbed
109539        of the cache - just like all other resources are handled, simplifying the code.
109540
109541        * rendering/RenderPath.cpp:
109542        (WebCore::RenderPath::paint):
109543        * rendering/RenderSVGContainer.cpp:
109544        (WebCore::RenderSVGContainer::paint):
109545        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
109546        * rendering/RenderSVGImage.cpp:
109547        (WebCore::RenderSVGImage::paint):
109548        * rendering/RenderSVGRoot.cpp:
109549        (WebCore::RenderSVGRoot::paint):
109550        * rendering/SVGInlineFlowBox.cpp:
109551        (WebCore::SVGInlineFlowBox::paint):
109552        * rendering/SVGRenderSupport.cpp:
109553        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
109554        (WebCore::SVGRenderSupport::finishRenderSVGContent):
109555        * rendering/SVGRenderSupport.h:
109556        * rendering/SVGRootInlineBox.cpp:
109557        (WebCore::SVGRootInlineBox::paint):
109558
1095592010-07-01  Eric Seidel  <eric@webkit.org>
109560
109561        Reviewed by Adam Barth.
109562
109563        Split out HTMLFormattingElementList into its own file
109564        https://bugs.webkit.org/show_bug.cgi?id=41440
109565
109566        No functional changes, thus no tests.
109567
109568        * Android.mk:
109569        * CMakeLists.txt:
109570        * GNUmakefile.am:
109571        * WebCore.gypi:
109572        * WebCore.pro:
109573        * WebCore.vcproj/WebCore.vcproj:
109574        * WebCore.xcodeproj/project.pbxproj:
109575        * html/HTMLTreeBuilder.cpp:
109576        (WebCore::HTMLTreeBuilder::processEndTag):
109577        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
109578        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
109579        * html/HTMLTreeBuilder.h:
109580
1095812010-07-01  Adam Barth  <abarth@webkit.org>
109582
109583        Reviewed by Eric Seidel.
109584
109585        BogusCommentState should come in from the cold
109586        https://bugs.webkit.org/show_bug.cgi?id=41439
109587
109588        The BogusCommentState has always been wrong.  The proximate issue is
109589        that it didn't handle resuming correctly when parsing a partial input
109590        stream.  Now that we have EOF working properly, we can actually
109591        implement this state correctly.
109592
109593        We need to distinguish when we enter this state from when we continue
109594        in this state.  We could do that with a branch for each character, but
109595        it seemed easier to split the state in two, even though that leaves us
109596        with one more state in our tokenizer than we have in the HTML5 spec.
109597
109598        * html/HTMLTokenizer.cpp:
109599        (WebCore::HTMLTokenizer::nextToken):
109600        * html/HTMLTokenizer.h:
109601        (WebCore::HTMLTokenizer::):
109602
1096032010-06-30  Adam Barth  <abarth@webkit.org>
109604
109605        Reviewed by Eric Seidel.
109606
109607        HTMLTokenizer's whitespace checks are very redundant
109608        https://bugs.webkit.org/show_bug.cgi?id=41434
109609
109610        This patch adds isTokenizerWhitespace, which replaces a lot of
109611        redundant logic in nextToken.
109612
109613        * html/HTMLTokenizer.cpp:
109614        (WebCore::HTMLTokenizer::nextToken):
109615
1096162010-06-30  Andreas Kling  <andreas.kling@nokia.com>
109617
109618        Reviewed by Kenneth Rohde Christiansen.
109619
109620        [Qt] Crash when uploading document to Google Docs
109621        https://bugs.webkit.org/show_bug.cgi?id=40795
109622
109623        Fix bug where the local file wasn't opened (for POSTing)
109624        if it were the first element in the form.
109625
109626        * platform/network/qt/QNetworkReplyHandler.cpp:
109627        (WebCore::FormDataIODevice::FormDataIODevice):
109628        (WebCore::FormDataIODevice::moveToNextElement):
109629        (WebCore::FormDataIODevice::openFileForCurrentElement):
109630        * platform/network/qt/QNetworkReplyHandler.h:
109631
1096322010-06-30  Eric Seidel  <eric@webkit.org>
109633
109634        Reviewed by Adam Barth.
109635
109636        Implement generateImpliedEndTags and deploy to steps which were blocked on it
109637        https://bugs.webkit.org/show_bug.cgi?id=41432
109638
109639        This fixes one subtest in html5lib/runner.html and positively
109640        effects a couple others.
109641
109642        More code sharing will be needed here.  For the moment
109643        we're using copy/paste code, but that will soon be shared.
109644
109645        * html/HTMLTreeBuilder.cpp:
109646        (WebCore::HTMLTreeBuilder::processEndTag):
109647        (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
109648        (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
109649        * html/HTMLTreeBuilder.h:
109650
1096512010-06-30  Csaba Osztrogonác  <ossy@webkit.org>
109652
109653        Unreviewed buildfix after r62196 and r62214.
109654
109655        * html/HTMLElementStack.cpp: Put !ENABLE(SVG) guard instead of 
109656        !ENABLE(SVG_FOREIGN_OBJECT) around include of SVGNames.h.
109657
1096582010-06-30  Sam Weinig  <sam@webkit.org>
109659
109660        Really fix the windows build.
109661
109662        * bindings/js/JSBindingsAllInOne.cpp:
109663
1096642010-06-30  Sam Weinig  <sam@webkit.org>
109665
109666        Another Chromium build fix.
109667
109668        * page/DOMWindow.idl:
109669
1096702010-06-30  Sam Weinig  <sam@webkit.org>
109671
109672        Fix Chromium build.
109673
109674        * WebCore.gyp/WebCore.gyp:
109675
1096762010-06-30  Sam Weinig  <sam@webkit.org>
109677
109678        Fix Windows build.
109679
109680        * bindings/js/JSBindingsAllInOne.cpp:
109681
1096822010-06-30  Sam Weinig  <sam@webkit.org>
109683
109684        Fix Gtk build.
109685
109686        * GNUmakefile.am:
109687
1096882010-06-29  Sam Weinig  <sam@webkit.org>
109689
109690        Reviewed by Dan Bernstein.
109691
109692        Patch for https://bugs.webkit.org/show_bug.cgi?id=41146
109693        <rdar://problem/8126069>
109694        Implement the .dataset DOM property
109695
109696        Tests: fast/dom/dataset-xhtml.xhtml
109697               fast/dom/dataset.html
109698
109699        * DerivedSources.cpp:
109700        * DerivedSources.make:
109701        * GNUmakefile.am:
109702        * WebCore.gypi:
109703        * WebCore.pro:
109704        * WebCore.vcproj/WebCore.vcproj:
109705        * WebCore.xcodeproj/project.pbxproj:
109706        * bindings/js/JSDOMStringMapCustom.cpp: Added.
109707        (WebCore::JSDOMStringMap::canGetItemsForName):
109708        (WebCore::JSDOMStringMap::nameGetter):
109709        (WebCore::JSDOMStringMap::getOwnPropertyNames):
109710        (WebCore::JSDOMStringMap::deleteProperty):
109711        (WebCore::JSDOMStringMap::putDelegate):
109712        * bindings/js/JSDOMStringMapCustom.h: Added.
109713        * dom/DOMStringMap.cpp: Added.
109714        (WebCore::DOMStringMap::~DOMStringMap):
109715        * dom/DOMStringMap.h: Added.
109716        (WebCore::DOMStringMap::DOMStringMap):
109717        * dom/DOMStringMap.idl: Added.
109718        * dom/DatasetDOMStringMap.cpp: Added.
109719        (WebCore::isValidAttributeName):
109720        (WebCore::convertAttributeNameToPropertyName):
109721        (WebCore::propertyNameMatchesAttributeName):
109722        (WebCore::isValidPropertyName):
109723        (WebCore::convertPropertyNameToAttributeName):
109724        (WebCore::DatasetDOMStringMap::ref):
109725        (WebCore::DatasetDOMStringMap::deref):
109726        (WebCore::DatasetDOMStringMap::getNames):
109727        (WebCore::DatasetDOMStringMap::item):
109728        (WebCore::DatasetDOMStringMap::contains):
109729        (WebCore::DatasetDOMStringMap::setItem):
109730        (WebCore::DatasetDOMStringMap::deleteItem):
109731        * dom/DatasetDOMStringMap.h: Added.
109732        (WebCore::DatasetDOMStringMap::create):
109733        (WebCore::DatasetDOMStringMap::DatasetDOMStringMap):
109734        * dom/Element.cpp:
109735        (WebCore::Element::dataset):
109736        * dom/Element.h:
109737        * dom/Element.idl:
109738        * dom/ElementRareData.h:
109739        * page/DOMWindow.idl:
109740
1097412010-06-30  Darin Adler  <darin@apple.com>
109742
109743        More Qt build fix.
109744
109745        * html/HTMLElementStack.cpp: Put !ENABLE(SVG_FOREIGN_OBJECT) around
109746        include of SVGNames.h too.
109747
1097482010-06-30  Darin Adler  <darin@apple.com>
109749
109750        Reviewed by Adam Barth.
109751
109752        Add assertion, off by default, for when you forget to do adoptRef
109753        https://bugs.webkit.org/show_bug.cgi?id=41422
109754
109755        * platform/TreeShared.h: Added code to require adoption and assert if
109756        you don't call adoptRef. For now, it is turned off because of the
109757        LOOSE_TREE_SHARED define in this header. Later we can turn it on
109758        once we get everything working without asserting. Note also that it
109759        only works for objects with an initial reference count of 1.
109760
1097612010-06-30  Patrick Gansterer  <paroga@paroga.com>
109762
109763        Reviewed by Darin Adler.
109764
109765        Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
109766        https://bugs.webkit.org/show_bug.cgi?id=41429
109767
109768        * html/HTMLElementStack.cpp:
109769
1097702010-06-30  Eric Seidel  <eric@webkit.org>
109771
109772        Reviewed by Adam Barth.
109773
109774        Add new popUntil(tagName) function and deploy
109775        https://bugs.webkit.org/show_bug.cgi?id=41405
109776
109777        Add a new popUntil function to share some common code
109778        between states.  There is more code to share here, but this
109779        is a start.
109780
109781        I also filled in a couple similar states to these with the
109782        hope of sharing more code, but decided to wait for a later
109783        patch.
109784
109785        No test changes, since this code doesn't do enough yet to
109786        pass any more subtests.  Lack of generateImpliedEndTags is the main
109787        blocking issue.
109788
109789        * html/HTMLElementStack.cpp:
109790        (WebCore::HTMLElementStack::popUntil):
109791        * html/HTMLElementStack.h:
109792        * html/HTMLTreeBuilder.cpp:
109793        (WebCore::HTMLTreeBuilder::processEndTag):
109794
1097952010-06-30  Xan Lopez  <xlopez@igalia.com>
109796
109797        Reviewed by Gustavo Noronha.
109798
109799        [GTK] Unit test for DOM insertion methods
109800        https://bugs.webkit.org/show_bug.cgi?id=40495
109801
109802        Fix typo in custom function detection method.
109803
109804        * bindings/scripts/CodeGeneratorGObject.pm:
109805
1098062010-06-30  Eric Seidel  <eric@webkit.org>
109807
109808        Reviewed by Adam Barth.
109809
109810        Implement HTML5 "in scope" algorithm and attempt to use it
109811        https://bugs.webkit.org/show_bug.cgi?id=41402
109812
109813        Implemented the 4 needed "in scope" functions for HTML5.
109814        3 for the different sets of scope markers, and one for
109815        doing exact element comparisons instead of tag name searches.
109816
109817        I deployed inScope("body") for </body> and </html> in InBody.
109818
109819        Adds two new (expected) failures, since we're now
109820        switching out of InBody to AfterBody when seeing
109821        </html>.  We don't implement AfterBody yet, so
109822        the rest of the content after </html> is ignored.
109823
109824        * html/HTMLElementStack.cpp:
109825        (WebCore::inScopeCommon):
109826        (WebCore::HTMLElementStack::inScope):
109827        (WebCore::HTMLElementStack::inListItemScope):
109828        (WebCore::HTMLElementStack::inTableScope):
109829        * html/HTMLElementStack.h:
109830        * html/HTMLTreeBuilder.cpp:
109831        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
109832        (WebCore::HTMLTreeBuilder::processEndTag):
109833        * html/HTMLTreeBuilder.h:
109834
1098352010-06-30  Eric Seidel  <eric@webkit.org>
109836
109837        Reviewed by Adam Barth.
109838
109839        Split HTMLElementStack out into its own file
109840        https://bugs.webkit.org/show_bug.cgi?id=41399
109841
109842        No functional change, thus no tests.
109843
109844        * Android.mk:
109845        * CMakeLists.txt:
109846        * GNUmakefile.am:
109847        * WebCore.gypi:
109848        * WebCore.pro:
109849        * WebCore.vcproj/WebCore.vcproj:
109850        * WebCore.xcodeproj/project.pbxproj:
109851        * html/HTMLElementStack.cpp: Added.
109852        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
109853        (WebCore::HTMLElementStack::ElementRecord::element):
109854        (WebCore::HTMLElementStack::ElementRecord::next):
109855        (WebCore::HTMLElementStack::ElementRecord::releaseNext):
109856        (WebCore::HTMLElementStack::ElementRecord::setNext):
109857        (WebCore::HTMLElementStack::HTMLElementStack):
109858        (WebCore::HTMLElementStack::~HTMLElementStack):
109859        (WebCore::HTMLElementStack::popHTMLHeadElement):
109860        (WebCore::HTMLElementStack::pop):
109861        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
109862        (WebCore::HTMLElementStack::pushHTMLHeadElement):
109863        (WebCore::HTMLElementStack::pushHTMLBodyElement):
109864        (WebCore::HTMLElementStack::push):
109865        (WebCore::HTMLElementStack::top):
109866        (WebCore::HTMLElementStack::removeHTMLHeadElement):
109867        (WebCore::HTMLElementStack::remove):
109868        (WebCore::HTMLElementStack::contains):
109869        (WebCore::HTMLElementStack::inScope):
109870        (WebCore::HTMLElementStack::htmlElement):
109871        (WebCore::HTMLElementStack::headElement):
109872        (WebCore::HTMLElementStack::bodyElement):
109873        (WebCore::HTMLElementStack::pushCommon):
109874        (WebCore::HTMLElementStack::popCommon):
109875        (WebCore::HTMLElementStack::removeNonFirstCommon):
109876        * html/HTMLElementStack.h: Added.
109877        * html/HTMLTreeBuilder.h:
109878
1098792010-06-30  Kenneth Russell  <kbr@google.com>
109880
109881        Reviewed by Oliver Hunt.
109882
109883        WebCore::WebGLArrayInternal::lengthAttrGetter ReadAV@NULL (b1a3e1a3e9d01f17fd493d68eeb2742f)
109884        https://bugs.webkit.org/show_bug.cgi?id=38040
109885
109886        Changed custom ArrayBufferView constructors to create a
109887        fully-initialized, zero-length array when called with zero
109888        arguments. This is the simplest fix which works identically in
109889        both the JSC and V8 bindings.
109890
109891        Test: fast/canvas/webgl/array-buffer-view-crash.html
109892
109893        * bindings/js/JSArrayBufferViewHelper.h:
109894        (WebCore::constructArrayBufferView):
109895        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
109896        (WebCore::constructWebGLArray):
109897
1098982010-06-30  Victor Wang  <victorw@chromium.org>
109899
109900        Reviewed by Darin Fisher.
109901
109902        [chromium] update webcore gyp to use v8 dll for chromium multi dll build.
109903
109904        https://bugs.webkit.org/show_bug.cgi?id=41376
109905
109906        * WebCore.gyp/WebCore.gyp:
109907
1099082010-06-30  Jeremy Moskovich  <jeremy@chromium.org>
109909
109910        Reviewed by Dimitri Glazkov.
109911
109912        [Chromium] Add OOP font loading to FontPlatformDataChromiumMac.
109913
109914        On OS X, with font management software installed. Fonts
109915        can reside in an arbitrary path on disk which is blocked by
109916        Chromium's sandbox.
109917
109918        This change adds hooks to FontPlaformData which allow cross-process
109919        font loading in case of need.
109920
109921        https://bugs.webkit.org/show_bug.cgi?id=41148
109922
109923        Not possible to test - requires sandboxing which DRT doesn't support.
109924
109925        * WebCore.gypi:
109926        * platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Added.
109927        (WebCore::FontPlatformData::FontPlatformData):
109928        (WebCore::FontPlatformData::~FontPlatformData):
109929        (WebCore::FontPlatformData::operator=):
109930        (WebCore::FontPlatformData::setFont):
109931        (WebCore::FontPlatformData::roundsGlyphAdvances):
109932        (WebCore::FontPlatformData::allowsLigatures):
109933        (WebCore::FontPlatformData::description):
109934
1099352010-06-30  Jeremy Moskovich  <jeremy@chromium.org>
109936
109937        Reviewed by Dan Bernstein.
109938
109939        Minor tweaks to FontPlatformDataMac & SimpleFontDataMac.mm
109940
109941        * Avoid an extra FontPlatformData copy in SimpleFontDataMac.mm
109942        * Fix a typo in FontPlatformDataMac.mm
109943
109944        https://bugs.webkit.org/show_bug.cgi?id=41152
109945
109946        No behavior changes so no new tests.
109947
109948        * platform/graphics/mac/FontPlatformDataMac.mm:
109949        (WebCore::FontPlatformData::description):
109950        * platform/graphics/mac/SimpleFontDataMac.mm:
109951        (WebCore::copyFontTableForTag):
109952
1099532010-06-30  Andreas Kling  <andreas.kling@nokia.com>
109954
109955        Reviewed by Kenneth Rohde Christiansen.
109956
109957        [Qt] Make "disallow multiple calls to SetWindow" on windowed plugins a quirk
109958        https://bugs.webkit.org/show_bug.cgi?id=41407
109959
109960        Only disallow calling SetWindow more than once if we're using Flash 9 or older.
109961        This fixes resizing of YouTube videos via the player's own button.
109962
109963        Removed copy-pasted logic in PluginViewGtk since the issue only exists
109964        when running Flash with a non-Gtk toolkit.
109965
109966        * plugins/PluginPackage.cpp:
109967        (WebCore::PluginPackage::determineQuirks):
109968        * plugins/PluginQuirkSet.h:
109969        (WebCore::):
109970        * plugins/gtk/PluginViewGtk.cpp:
109971        (WebCore::PluginView::setNPWindowIfNeeded): Remove unnecessary logic copy-pasted from PluginViewQt.
109972        * plugins/qt/PluginViewQt.cpp:
109973        (WebCore::PluginView::setNPWindowIfNeeded):
109974
1099752010-06-30  Andreas Kling  <andreas.kling@nokia.com>
109976
109977        Reviewed by Antti Koivisto.
109978
109979        [Qt, Gtk, Symbian] Mind the semantics of NPRect for windowed plugin clip rects
109980        https://bugs.webkit.org/show_bug.cgi?id=41406
109981
109982        NPRect has right/bottom instead of width/height.
109983        This was fixed in PluginViewMac with http://trac.webkit.org/changeset/45815
109984
109985        * plugins/gtk/PluginViewGtk.cpp:
109986        (WebCore::PluginView::setNPWindowIfNeeded):
109987        * plugins/qt/PluginViewQt.cpp:
109988        (WebCore::PluginView::setNPWindowIfNeeded):
109989        * plugins/symbian/PluginViewSymbian.cpp:
109990        (WebCore::PluginView::setNPWindowIfNeeded):
109991
1099922010-06-30  Antonio Gomes  <tonikitoo@webkit.org>
109993
109994        Reviewed by Simon Fraser.
109995
109996        Spatial Navigation: make elements in inner frames nested more than 1 level deep focusable
109997        https://bugs.webkit.org/show_bug.cgi?id=41160
109998
109999        Patch addresses the problem of spatial navigation not work properly with nested
110000        inner frames by adding the isNodeDeepDescendantOfDocument method. It recursively checks
110001        if a give node is descendant of a given document or any parent of it.
110002
110003        Test: fast/events/spatial-navigation/snav-iframe-nested.html
110004
110005        * page/FocusController.cpp:
110006        (WebCore::FocusController::deepFindFocusableNodeInDirection):
110007        * page/SpatialNavigation.cpp:
110008        (WebCore::isNodeDeepDescendantOfDocument):
110009        * page/SpatialNavigation.h:
110010
1100112010-06-30  Adam Barth  <abarth@webkit.org>
110012
110013        Reviewed by Eric Seidel.
110014
110015        HTMLTokenizer should use fewer macros
110016        https://bugs.webkit.org/show_bug.cgi?id=41397
110017
110018        Macros are sadness.  Inline functions are the new hotness.
110019
110020        * html/HTMLTokenizer.cpp:
110021        (WebCore::HTMLTokenizer::processEntity):
110022        (WebCore::HTMLTokenizer::emitAndResumeIn):
110023        (WebCore::HTMLTokenizer::emitAndReconsumeIn):
110024        (WebCore::HTMLTokenizer::emitEndOfFile):
110025        (WebCore::HTMLTokenizer::flushBufferedEndTag):
110026        (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
110027        (WebCore::HTMLTokenizer::nextToken):
110028        (WebCore::HTMLTokenizer::bufferCharacter):
110029        (WebCore::HTMLTokenizer::bufferCodePoint):
110030        (WebCore::HTMLTokenizer::bufferParseError):
110031        (WebCore::HTMLTokenizer::bufferCurrentToken):
110032        (WebCore::HTMLTokenizer::bufferEndOfFile):
110033        * html/HTMLTokenizer.h:
110034
1100352010-06-30  Justin Schuh  <jschuh@chromium.org>
110036
110037        Reviewed by Adam Barth.
110038
110039        Remove dead binding code
110040        https://bugs.webkit.org/show_bug.cgi?id=41388
110041
110042        Removed BindingElement because it was obsoleted by r59866.
110043
110044        * WebCore.gypi:
110045        * bindings/generic/BindingElement.h: Removed.
110046        * bindings/v8/SerializedScriptValue.cpp:
110047        * bindings/v8/V8Binding.h:
110048        * bindings/v8/custom/V8DatabaseCustom.cpp:
110049        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
110050        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
110051        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
110052
1100532010-06-30  Eric Seidel  <eric@webkit.org>
110054
110055        Reviewed by Adam Barth.
110056
110057        HTMLTokenizer needs EndOfFile support
110058        https://bugs.webkit.org/show_bug.cgi?id=41344
110059
110060        EndOfFile support uncovered a bug in our implementation of finish().
110061        finish() may be called more than once if the first call does not
110062        result in end() being called (and parsing thus actually stopping).
110063
110064        SegmentedString::close() should have ASSERTed that it was not already
110065        closed when close() is called.  I've added such an assert now.
110066
110067        * html/HTMLDocumentParser.cpp:
110068        (WebCore::HTMLDocumentParser::finish):
110069        * platform/text/SegmentedString.cpp:
110070        (WebCore::SegmentedString::close):
110071        * platform/text/SegmentedString.h:
110072
1100732010-06-29  Eric Seidel  <eric@webkit.org>
110074
110075        Reviewed by Adam Barth.
110076
110077        HTMLTokenizer needs EndOfFile support
110078        https://bugs.webkit.org/show_bug.cgi?id=41344
110079
110080        We're using \0 as the EndOfFile marker as HTML5 replaces
110081        all other \0 with \0xFFFD.  Added some special case logic
110082        to InputStreamPreprocessor::peek not to replace \0 when
110083        its being used at the end of a stream.
110084
110085        This fixed 60 subtests in html5lib/runner.html.
110086
110087        There are still at least two states (BogusCommentState and
110088        CDATASectionState) which do not have proper EOF support.
110089
110090        * html/HTMLDocumentParser.cpp:
110091        (WebCore::HTMLDocumentParser::finish):
110092        (WebCore::HTMLDocumentParser::finishWasCalled):
110093        * html/HTMLInputStream.h:
110094        (WebCore::HTMLInputStream::markEndOfFile):
110095        (WebCore::HTMLInputStream::haveSeenEndOfFile):
110096        * html/HTMLToken.h:
110097        (WebCore::HTMLToken::makeEndOfFile):
110098        * html/HTMLTokenizer.cpp:
110099        (WebCore::HTMLTokenizer::nextToken):
110100        (WebCore::HTMLTokenizer::emitEndOfFile):
110101        * html/HTMLTokenizer.h:
110102        (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
110103        (WebCore::HTMLTokenizer::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
110104        * html/HTMLTreeBuilder.cpp:
110105        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
110106
1101072010-06-28  Eric Seidel  <eric@webkit.org>
110108
110109        Reviewed by Adam Barth.
110110
110111        Teach HTML5TreeBuilder how to merge attributes from extra html/body elements
110112        https://bugs.webkit.org/show_bug.cgi?id=41337
110113
110114        Had to teach ElementStack to store pointers to html, head, and body
110115        elements.
110116
110117        This fixed a few tests in LayoutTests/html5lib.
110118
110119        * html/HTMLTreeBuilder.cpp:
110120        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
110121        (WebCore::HTMLTreeBuilder::mergeAttributesFromTokenIntoElement):
110122        (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
110123        (WebCore::HTMLTreeBuilder::processStartTag):
110124        (WebCore::HTMLTreeBuilder::processEndTag):
110125        (WebCore::HTMLTreeBuilder::createElementAndAttachToCurrent):
110126        (WebCore::HTMLTreeBuilder::insertHTMLHtmlElement):
110127        (WebCore::HTMLTreeBuilder::insertHTMLHeadElement):
110128        (WebCore::HTMLTreeBuilder::insertHTMLBodyElement):
110129        (WebCore::HTMLTreeBuilder::insertElement):
110130        (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
110131        (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
110132        * html/HTMLTreeBuilder.h:
110133        (WebCore::HTMLTreeBuilder::ElementStack::ElementStack):
110134        (WebCore::HTMLTreeBuilder::ElementStack::popHTMLHeadElement):
110135        (WebCore::HTMLTreeBuilder::ElementStack::pop):
110136        (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHtmlElement):
110137        (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHeadElement):
110138        (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLBodyElement):
110139        (WebCore::HTMLTreeBuilder::ElementStack::push):
110140        (WebCore::HTMLTreeBuilder::ElementStack::removeHTMLHeadElement):
110141        (WebCore::HTMLTreeBuilder::ElementStack::remove):
110142        (WebCore::HTMLTreeBuilder::ElementStack::htmlElement):
110143        (WebCore::HTMLTreeBuilder::ElementStack::headElement):
110144        (WebCore::HTMLTreeBuilder::ElementStack::bodyElement):
110145        (WebCore::HTMLTreeBuilder::ElementStack::pushCommon):
110146        (WebCore::HTMLTreeBuilder::ElementStack::popCommon):
110147        (WebCore::HTMLTreeBuilder::ElementStack::removeNonFirstCommon):
110148
1101492010-06-30  José Millán Soto  <jmillan@igalia.com>
110150
110151        Reviewed by Xan Lopez.
110152
110153        [Gtk] Text attributes not exposed
110154        https://bugs.webkit.org/show_bug.cgi?id=25528
110155
110156        Implemented the get_run_attributes and get_default_attributes
110157        functions for the ATK_TEXT role.
110158
110159        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
110160        (getAttributeSetForAccessibilityObject):
110161        (compareAttribute):
110162        (attributeSetDifference):
110163        (accessibilityObjectLength):
110164        (getAccessibilityObjectForOffset):
110165        (getRunAttributesFromAccesibilityObject):
110166        (webkit_accessible_text_get_run_attributes):
110167        (webkit_accessible_text_get_default_attributes):
110168
1101692010-06-30  Yuta Kitamura  <yutak@chromium.org>
110170
110171        Reviewed by Alexey Proskuryakov.
110172
110173        Fix Sec-WebSocketKey{1,2} headers.
110174
110175        According to WebSocket specification, a value of Sec-WebSocketKey{1,2} header
110176        should not start or end with a space.
110177
110178        WebSocket: Malformed handshake headers in a worker due to rand_s failing
110179        https://bugs.webkit.org/show_bug.cgi?id=41327
110180
110181        No new tests. ASSERT should catch the problem.
110182
110183        * websockets/WebSocketHandshake.cpp:
110184        (WebCore::generateSecWebSocketKey):
110185
1101862010-06-30  Yuzo Fujishima  <yuzo@google.com>
110187
110188        Reviewed by Dan Bernstein.
110189
110190        Fix for Bug 41339 - unicode-range property only with a descending range
110191        causes a crash
110192
110193        https://bugs.webkit.org/show_bug.cgi?id=41339
110194
110195        Test: fast/css/font-face-descending-unicode-range.html
110196
110197        * css/CSSParser.cpp:
110198        (WebCore::CSSParser::parseFontFaceUnicodeRange):
110199
1102002010-06-29  Abhinav Mithal <abhinav.mithal@nokia.com>
110201
110202        Reviewed by Laszlo Gombos.
110203
110204        [Qt] [Symbian] Fix doube-deallocation while destroying PluginContainerSymbian
110205        https://bugs.webkit.org/show_bug.cgi?id=37303
110206
110207        * plugins/symbian/PluginViewSymbian.cpp:
110208        (WebCore::PluginView::platformDestroy):
110209
1102102010-06-29  Zhenyao Mo  <zmo@google.com>
110211
110212        Reviewed by Dimitri Glazkov.
110213
110214        Implement getAttachedShaders
110215        https://bugs.webkit.org/show_bug.cgi?id=31172
110216
110217        * bindings/js/JSWebGLRenderingContextCustom.cpp: JS binding for getAttachedShaders().
110218        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
110219        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: V8 binding for getAttachedShaders().
110220        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
110221        * html/canvas/WebGLRenderingContext.cpp:
110222        (WebCore::WebGLRenderingContext::getAttachedShaders): Implementation of getAttachedShaders().
110223        (WebCore::WebGLRenderingContext::findShader): Helper function to find a shader object from its name.
110224        * html/canvas/WebGLRenderingContext.h: Declaration of getAttachedShaders().
110225        * html/canvas/WebGLRenderingContext.idl: Ditto.
110226        * platform/graphics/GraphicsContext3D.h: Ditto.
110227        * platform/graphics/mac/GraphicsContext3DMac.mm:
110228        (WebCore::GraphicsContext3D::getAttachedShaders): Implementation of getAttachedShaders().
110229
1102302010-06-29  MORITA Hajime  <morrita@google.com>
110231
110232        Reviewed by Kent Tamura.
110233
110234        REGRESSION: [Chromium] <progress> appearance on windows looks not good
110235        https://bugs.webkit.org/show_bug.cgi?id=41343
110236        
110237        RenderThemeChromiumWin::paintProgressBar() should return false,
110238        which indicates the widget is painted.
110239        
110240        Test: fast/dom/HTMLProgressElement/progress-element.html
110241              * rebaselined with a wrong expectation.
110242
110243        * rendering/RenderThemeChromiumWin.cpp:
110244        (WebCore::RenderThemeChromiumWin::paintProgressBar):
110245
1102462010-06-29  Kinuko Yasuda  <kinuko@chromium.org>
110247
110248        Reviewed by Jian Li.
110249
110250        Fix http/tests/local/blob/send-data-blob.html on Windows
110251        https://bugs.webkit.org/show_bug.cgi?id=41228
110252
110253        Fix a regression bug in the line-conversion code.
110254        Rewrite the line-conversion function with simpler functions to
110255        make it less error prone.
110256
110257        No new tests as this is for bug fixes.
110258
110259        * platform/BlobItem.cpp:
110260        (WebCore::StringBlobItem::convertToCString):
110261
1102622010-06-29  Dumitru Daniliuc  <dumi@chromium.org>
110263
110264        Reviewed by Darin Fisher.
110265
110266        Implementing DatabaseSync::openDatabaseSync().
110267        https://bugs.webkit.org/show_bug.cgi?id=40607
110268
110269        1. Moved some common code from Database to AbstractDatabase.
110270        2. Made performOpenAndVerify() virtual, since DatabaseSync doesn't
110271           need to interact with DatabaseThread.
110272        3. Removed the m_creationCallback field, since it's only needed in
110273           the openDatabase{Sync} methods.
110274
110275        * storage/AbstractDatabase.cpp:
110276        (WebCore::retrieveTextResultFromDatabase):
110277        (WebCore::setTextValueInDatabase):
110278        (WebCore::guidMutex):
110279        (WebCore::guidToVersionMap):
110280        (WebCore::updateGuidVersionMap):
110281        (WebCore::guidToDatabaseMap):
110282        (WebCore::guidForOriginAndName):
110283        (WebCore::AbstractDatabase::databaseInfoTableName):
110284        (WebCore::AbstractDatabase::AbstractDatabase):
110285        (WebCore::AbstractDatabase::closeDatabase):
110286        (WebCore::AbstractDatabase::version):
110287        (WebCore::AbstractDatabase::performOpenAndVerify):
110288        (WebCore::AbstractDatabase::scriptExecutionContext):
110289        (WebCore::AbstractDatabase::securityOrigin):
110290        (WebCore::AbstractDatabase::stringIdentifier):
110291        (WebCore::AbstractDatabase::displayName):
110292        (WebCore::AbstractDatabase::estimatedSize):
110293        (WebCore::AbstractDatabase::fileName):
110294        (WebCore::AbstractDatabase::databaseVersionKey):
110295        (WebCore::AbstractDatabase::getVersionFromDatabase):
110296        (WebCore::AbstractDatabase::setVersionInDatabase):
110297        (WebCore::AbstractDatabase::versionMatchesExpected):
110298        (WebCore::AbstractDatabase::setExpectedVersion):
110299        (WebCore::AbstractDatabase::disableAuthorizer):
110300        (WebCore::AbstractDatabase::enableAuthorizer):
110301        (WebCore::AbstractDatabase::setAuthorizerReadOnly):
110302        (WebCore::AbstractDatabase::lastActionChangedDatabase):
110303        (WebCore::AbstractDatabase::lastActionWasInsert):
110304        (WebCore::AbstractDatabase::resetDeletes):
110305        (WebCore::AbstractDatabase::hadDeletes):
110306        (WebCore::AbstractDatabase::resetAuthorizer):
110307        * storage/AbstractDatabase.h:
110308        (WebCore::AbstractDatabase::opened):
110309        (WebCore::AbstractDatabase::isNew):
110310        (WebCore::AbstractDatabase::databaseDebugName):
110311        * storage/Database.cpp:
110312        (WebCore::DatabaseCreationCallbackTask::create):
110313        (WebCore::DatabaseCreationCallbackTask::performTask):
110314        (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
110315        (WebCore::Database::openDatabase):
110316        (WebCore::Database::Database):
110317        (WebCore::Database::version):
110318        (WebCore::Database::openAndVerifyVersion):
110319        (WebCore::Database::close):
110320        (WebCore::Database::stop):
110321        (WebCore::Database::performOpenAndVerify):
110322        * storage/Database.h:
110323        (WebCore::Database::sqliteDatabase):
110324        * storage/DatabaseAuthorizer.cpp:
110325        (WebCore::DatabaseAuthorizer::create):
110326        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
110327        (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
110328        * storage/DatabaseAuthorizer.h:
110329        * storage/DatabaseSync.cpp:
110330        (WebCore::DatabaseSync::openDatabaseSync):
110331        (WebCore::DatabaseSync::DatabaseSync):
110332        (WebCore::DatabaseSync::~DatabaseSync):
110333        (WebCore::DatabaseSync::markAsDeletedAndClose):
110334        (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
110335        (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
110336        (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
110337        (WebCore::DatabaseSync::closeImmediately):
110338        * storage/DatabaseSync.h:
110339        * storage/DatabaseTask.cpp:
110340        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
110341        (WebCore::DatabaseOpenTask::doPerformTask):
110342        * storage/DatabaseTask.h:
110343        (WebCore::DatabaseOpenTask::create):
110344
1103452010-06-29  François Sausset  <sausset@gmail.com>
110346
110347        Reviewed by Darin Adler.
110348
110349        Fix a bug when a msubsup element is inside a mrow element
110350        https://bugs.webkit.org/show_bug.cgi?id=36525
110351
110352        Test: mathml/presentation/subsup.xhtml
110353
110354        * mathml/RenderMathMLSubSup.cpp:
110355        (WebCore::RenderMathMLSubSup::stretchToHeight):
110356
1103572010-06-29  Zhenyao Mo  <zmo@google.com>
110358
110359        Reviewed by Dimitri Glazkov.
110360
110361        uniformmatrix* should generate INVALID_VALUE with transpose = true
110362        https://bugs.webkit.org/show_bug.cgi?id=41235
110363
110364        Test: fast/canvas/webgl/gl-uniformmatrix4fv.html
110365
110366        * html/canvas/WebGLRenderingContext.cpp:
110367        (WebCore::WebGLRenderingContext::uniformMatrix2fv): Call validateUniformMatrixParameters instead.
110368        (WebCore::WebGLRenderingContext::uniformMatrix3fv): Ditto.
110369        (WebCore::WebGLRenderingContext::uniformMatrix4fv): Ditto.
110370        (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): Validate input parameters for uniformMatrix*().
110371        * html/canvas/WebGLRenderingContext.h: Declare validateUniformMatrixParameters().
110372
1103732010-06-29  Kenneth Russell  <kbr@google.com>
110374
110375        Reviewed by Dimitri Glazkov.
110376
110377        Support UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL for texImage2D taking ArrayBufferView
110378        https://bugs.webkit.org/show_bug.cgi?id=40398
110379
110380        Added support for UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL pixel store
110381        parameters to texImage2D and texSubImage2D entry points taking ArrayBufferView.
110382        More cleanly separated the unpacking and packing phases of user-supplied pixel data
110383        in GraphicsContext3D, and added support for unpack alignment. Fixed bug in handling
110384        of unpackAlignment in GraphicsContext3D::flipVertically. Necessarily added
110385        validation of the amount of data passed to texImage2D and texSubImage2D. Modified
110386        fast/canvas/webgl/tex-image-with-format-and-type.html to include premultiplied alpha
110387        tests for relevant source formats; added new test which exercises all combinations
110388        of UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, and UNPACK_ALIGNMENT pixel
110389        store parameters.
110390
110391        Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html
110392
110393        * html/canvas/WebGLRenderingContext.cpp:
110394        (WebCore::WebGLRenderingContext::texImage2D):
110395        (WebCore::WebGLRenderingContext::texSubImage2D):
110396        (WebCore::WebGLRenderingContext::validateTexFuncData):
110397        * html/canvas/WebGLRenderingContext.h:
110398        * platform/graphics/GraphicsContext3D.cpp:
110399        (WebCore::GraphicsContext3D::extractImageData):
110400        (WebCore::GraphicsContext3D::extractTextureData):
110401        (WebCore::GraphicsContext3D::flipVertically):
110402        (WebCore::doUnpackingAndPacking):
110403        (WebCore::computeIncrementParameters):
110404        (WebCore::doPacking):
110405        (WebCore::GraphicsContext3D::packPixels):
110406        * platform/graphics/GraphicsContext3D.h:
110407        (WebCore::GraphicsContext3D::):
110408        * platform/graphics/cg/GraphicsContext3DCG.cpp:
110409        (WebCore::GraphicsContext3D::getImageData):
110410        * platform/graphics/qt/GraphicsContext3DQt.cpp:
110411        (WebCore::GraphicsContext3D::getImageData):
110412        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
110413        (WebCore::GraphicsContext3D::getImageData):
110414
1104152010-06-29  Patrick Gansterer  <paroga@paroga.com>
110416
110417        Reviewed by Dirk Schulze.
110418
110419        Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r61667.
110420        https://bugs.webkit.org/show_bug.cgi?id=41367
110421
110422        * svg/SVGSVGElement.cpp:
110423        (WebCore::SVGSVGElement::isOutermostSVG): Add missing ENABLE(SVG_FOREIGN_OBJECT).
110424
1104252010-06-29  Patrick Gansterer  <paroga@paroga.com>
110426
110427        Reviewed by Darin Adler.
110428
110429        Buildfix after r62118.
110430        https://bugs.webkit.org/show_bug.cgi?id=41365
110431
110432        * rendering/RenderSVGRoot.cpp: Inlude missing RenderSVGResource.h.
110433
1104342010-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
110435
110436        Unreviewed, rolling out r62052.
110437        http://trac.webkit.org/changeset/62052
110438        https://bugs.webkit.org/show_bug.cgi?id=41357
110439
110440        Causes crashes in JSLazyEventListener::initializeFunction (see
110441        bug 41352) (Requested by aroben on #webkit).
110442
110443        * bindings/js/ScriptEventListener.cpp:
110444        (WebCore::createAttributeEventListener):
110445        * bindings/js/ScriptEventListener.h:
110446        * bindings/v8/ScriptEventListener.cpp:
110447        (WebCore::createAttributeEventListener):
110448        * bindings/v8/ScriptEventListener.h:
110449        * html/HTMLBodyElement.cpp:
110450        (WebCore::HTMLBodyElement::parseMappedAttribute):
110451        * html/HTMLFrameSetElement.cpp:
110452        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
110453        * svg/SVGSVGElement.cpp:
110454        (WebCore::SVGSVGElement::parseMappedAttribute):
110455
1104562010-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
110457
110458        Unreviewed, rolling out r62129.
110459        http://trac.webkit.org/changeset/62129
110460        https://bugs.webkit.org/show_bug.cgi?id=41362
110461
110462        Needed to roll out r62052 (see bug 41357) (Requested by aroben
110463        on #webkit).
110464
110465        * bindings/js/ScriptEventListener.cpp:
110466        (WebCore::createWindowAttributeEventListener):
110467
1104682010-06-29  Beth Dakin  <bdakin@apple.com>
110469
110470        Reviewed by Darin Adler.
110471
110472        Speculative fix for <rdar://problem/8071558> CrashTracer: [USER] 
110473        2300+ crashes in Safari at com.apple.WebCore: 
110474        WebCore::FrameView::scheduleRelayout + 352
110475
110476        Unfortunately, we don't have a reproducible case for this bug, and 
110477        therefore, we do not have a layout test either. It is pretty clear 
110478        from the logs that m_frame->settings() is null in 
110479        FrameView::scheduleRelayout() in the crashing case. 
110480        m_frame->settings() is null whenever page is null. Everywhere else 
110481        in FrameView.cpp we null-check either page or settings before using 
110482        settings. It seems plausible to me that scheduleRelayout could be 
110483        called when page is null, so the fix is just to add null-checks. 
110484
110485        * page/FrameView.cpp:
110486        (WebCore::FrameView::layout):
110487        (WebCore::FrameView::scheduleRelayout):
110488
1104892010-06-29  Dan Bernstein  <mitz@apple.com>
110490
110491        Reviewed by Darin Adler.
110492
110493        <rdar://problem/7975842> Certain text is repeated after using splitText()
110494
110495        Tests: fast/text/setData-dirty-lines.html
110496               fast/text/splitText-dirty-lines.html
110497
110498        * dom/CharacterData.cpp:
110499        (WebCore::CharacterData::setData): Call RenderText::setTextWithOffset() rather than
110500        setText(), because only the former correctly dirties line boxes.
110501        * dom/Text.cpp:
110502        (WebCore::Text::splitText): Ditto.
110503
1105042010-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
110505
110506        Unreviewed, rolling out r62073.
110507        http://trac.webkit.org/changeset/62073
110508        https://bugs.webkit.org/show_bug.cgi?id=41359
110509
110510        Necessary to fix chromium build when r62052 is rolled out.
110511        (Requested by dave_levin on #webkit).
110512
110513        * bindings/v8/ScriptEventListener.h:
110514
1105152010-06-29  Vangelis Kokkevis  <vangelis@chromium.org>
110516
110517        Reviewed by Darin Fisher.
110518
110519        [Chromium] Hooking up WebGL layers to the gpu-compositor. Implement missing
110520        methods to set the contents of a GraphicsLayer with a platform specific WebGL
110521        Layer, and to update the contents of the WebGL Layer when needed.
110522        https://bugs.webkit.org/show_bug.cgi?id=41243
110523
110524        * platform/graphics/GraphicsContext3D.h:
110525        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
110526        (WebCore::GraphicsLayerChromium::setContentsToWebGL):
110527        * platform/graphics/chromium/GraphicsLayerChromium.h:
110528        * platform/graphics/chromium/LayerChromium.cpp:
110529        (WebCore::LayerChromium::removeAllSublayers):
110530          No need to call setNeedsCommit() from here as the previous call to
110531          layer->removeFromSuperlayer() will have that effect (and we only need
110532          to notify the owner if there were actually any sublayers removed).
110533        * platform/graphics/chromium/LayerChromium.h:
110534        * platform/graphics/chromium/LayerRendererChromium.cpp:
110535        (WebCore::LayerRendererChromium::drawLayer):
110536        * platform/graphics/chromium/WebGLLayerChromium.cpp:
110537        (WebCore::WebGLLayerChromium::create):
110538        (WebCore::WebGLLayerChromium::updateTextureContents):
110539        (WebCore::WebGLLayerChromium::setContext):
110540
1105412010-06-29  Csaba Osztrogonác  <ossy@webkit.org>
110542
110543        Reviewed by Nikolas Zimmermann.
110544
110545        Buildfix for --minimal build after r62052
110546        https://bugs.webkit.org/show_bug.cgi?id=41338
110547
110548        * bindings/js/ScriptEventListener.cpp: #if ENABLE(SVG) guards added.
110549        (WebCore::createWindowAttributeEventListener):
110550
1105512010-06-29  Brent Fulgham  <bfulgham@webkit.org>
110552
110553        Build fix. Not reviewd.
110554
110555        CGColor is only used for PLATFORM(CG).  Conditionalize include
110556        to correct build failure for WinCairo.
110557
110558        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
110559        Conditionalize use of CGColor.
110560
1105612010-06-29  Martin Robinson  <mrobinson@igalia.com>
110562
110563        Reviewed by Xan Lopez.
110564
110565        [GTK] Clean up the source lists in the GNUMakefile.am files
110566        https://bugs.webkit.org/show_bug.cgi?id=41229
110567
110568        Clean up the GNUMakefile.am a little bit. Alphabetize and conglomerate
110569        the source lists.
110570
110571        * GNUmakefile.am:
110572
1105732010-06-29  Martin Robinson  <mrobinson@igalia.com>
110574
110575        Reviewed by Xan Lopez.
110576
110577        [GTK] DragDataGtk should use DataObjectGtk as the platformDragData
110578        https://bugs.webkit.org/show_bug.cgi?id=40307
110579
110580        Use DataObjectGtk as the platformDragData for DragDataGtk. DataObjectGtk
110581        contains all the information necessary to keep track of drops in progress.
110582
110583        * platform/DragData.h: Use a DataObjectGtk* as the platform drag data.
110584        * platform/gtk/DragDataGtk.cpp:
110585        (WebCore::DragData::containsFiles): Retrieve information via platformDragData.
110586        (WebCore::DragData::asFilenames): Ditto.
110587        (WebCore::DragData::containsPlainText): Ditto.
110588        (WebCore::DragData::asPlainText): Ditto.
110589        (WebCore::DragData::createClipboard): Create the Clipboard with the platformDragData.
110590        (WebCore::DragData::containsCompatibleContent): Retrieve information via platformDragData.
110591        (WebCore::DragData::containsURL): Ditto.
110592        (WebCore::DragData::asURL): Ditto.
110593        (WebCore::DragData::asFragment): Ditto.
110594
1105952010-06-29  Adam Langley  <agl@chromium.org>
110596
110597        Build fix. Not reviewd.
110598
110599        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
110600        (WebCore::FontPlatformData::setupPaint):
110601          The name of the Skia function changed between writing this patch and
110602          commiting it.
110603
1106042010-06-29  Adam Langley  <agl@chromium.org>
110605
110606        Reviewed by Kent Tamura.
110607
110608        [chromium] Support forced autohinting.
110609
110610        https://bugs.webkit.org/show_bug.cgi?id=40493
110611
110612        Freetype (the typical font rendering on Linux) includes an 'autohinter':
110613        an algorithm for hinting glyph shapes without using the embedded hinting
110614        bytecode in a font.
110615
110616        Some people prefer the autohinter's results, so we support forcing its
110617        use.
110618
110619        This change also fixes a bug where two FontPlatformData structures would
110620        compare equal, even if their rendering styles were different.
110621
110622        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
110623        (WebCore::FontPlatformData::setupPaint):
110624          In order to compare FontPlatformData structures we need to make sure
110625          that they are initialised.
110626        (WebCore::FontPlatformData::operator==):
110627        * platform/graphics/chromium/FontRenderStyle.h:
110628        (WebCore::FontRenderStyle::FontRenderStyle):
110629        (WebCore::FontRenderStyle::operator==):
110630          This fixes the case where two FontPlatformData structures, differing
110631          only by rendering style, would compare equal.
110632
1106332010-06-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
110634
110635        Unreviewed, Symbian build fix.
110636
110637        Add more directories to USERINCLUDE so that they get included
110638        before the Symbian system headers.
110639
110640        This is a workaround to some toolchain problems; bug 31273 is used to
110641        find a better solution.
110642
110643        No new tests as there is no new functionality.
110644
110645        * WebCore.pro:
110646
1106472010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
110648
110649        Reviewed by Dirk Schulze.
110650
110651        Cleanup SVGRenderSupport
110652        https://bugs.webkit.org/show_bug.cgi?id=41347
110653
110654        Remove SVGRenderBase base class from all SVG renderers. It was meant as temporary solution until all SVG renderers inherit from RenderSVGModelObject,
110655        though this is not going to happen. RenderSVGModelObject inherits from RenderObject, making it impossible to inherit eg. RenderSVGImage from it, as
110656        it already indirectly inherits from RenderObject, through RenderImage. Other examples are RenderForeignObject (RenderBlock inheritance),
110657        RenderSVGInlineText (RenderText inheritance) etc.
110658
110659        Rename SVGRenderBase to SVGRenderSupport, just like the file is named, remove all free functions, and make them all static functions in SVGRenderSupport.
110660        We can still share code between all SVG renderers, but don't need a special base class for all renderers -> shrink size of all SVG renderers.
110661
110662        Doesn't affect any test.
110663
110664        * rendering/RenderBox.cpp: Remove localTransform() override, not needed at all.
110665        * rendering/RenderBox.h: Ditto.
110666        * rendering/RenderForeignObject.cpp: s/SVGRenderBase/SVGRenderSupport/
110667        (WebCore::RenderForeignObject::paint):
110668        (WebCore::RenderForeignObject::clippedOverflowRectForRepaint):
110669        (WebCore::RenderForeignObject::computeRectForRepaint):
110670        (WebCore::RenderForeignObject::nodeAtFloatPoint):
110671        (WebCore::RenderForeignObject::mapLocalToContainer):
110672        * rendering/RenderPath.cpp:
110673        (WebCore::BoundingRectStrokeStyleApplier::strokeStyle): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
110674        (WebCore::RenderPath::paint): s/SVGRenderBase/SVGRenderSupport/
110675        (WebCore::RenderPath::nodeAtFloatPoint): Ditto.
110676        (WebCore::RenderPath::updateCachedBoundaries): Ditto.
110677        * rendering/RenderSVGBlock.h: Remove SVGRenderBase inheritance.
110678        * rendering/RenderSVGContainer.cpp:
110679        (WebCore::RenderSVGContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
110680        (WebCore::RenderSVGContainer::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
110681        (WebCore::RenderSVGContainer::objectBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
110682        (WebCore::RenderSVGContainer::strokeBoundingBox): Ditto.
110683        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
110684        (WebCore::RenderSVGContainer::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
110685        * rendering/RenderSVGHiddenContainer.cpp:
110686        (WebCore::RenderSVGHiddenContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
110687        * rendering/RenderSVGImage.cpp:
110688        (WebCore::RenderSVGImage::paint): prepareToRenderSVGContent/finishRenderSVGContent are static functions in SVGRenderSupport now.
110689        (WebCore::RenderSVGImage::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport. 
110690        (WebCore::RenderSVGImage::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
110691        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
110692        (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
110693        (WebCore::RenderSVGImage::computeRectForRepaint): Ditto.
110694        (WebCore::RenderSVGImage::mapLocalToContainer): Ditto.
110695        * rendering/RenderSVGImage.h: Remove SVGRenderBase inheritance.
110696        * rendering/RenderSVGInline.cpp:
110697        (WebCore::RenderSVGInline::objectBoundingBox): findTextRootObject is a static function in SVGRenderSupport now.
110698        (WebCore::RenderSVGInline::strokeBoundingBox): Ditto.
110699        (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto.
110700        (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
110701        (WebCore::RenderSVGInline::computeRectForRepaint): Ditto,.
110702        (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
110703        (WebCore::RenderSVGInline::absoluteQuads): findTextRootObject is a static function in SVGRenderSupport now.
110704        * rendering/RenderSVGInline.h: Remove SVGRenderBase inheritance.
110705        * rendering/RenderSVGModelObject.cpp:
110706        (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
110707        (WebCore::RenderSVGModelObject::computeRectForRepaint): Ditto.
110708        (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
110709        (WebCore::RenderSVGModelObject::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
110710        * rendering/RenderSVGModelObject.h: Remove SVGRenderBase inheritance.
110711        * rendering/RenderSVGResource.cpp:
110712        (WebCore::invalidatePaintingResource): Moved here from SVGRenderSupport (static inline helper function).
110713        (WebCore::RenderSVGResource::invalidateAllResourcesOfRenderer): Moved here from SVGRenderSupport and renamed from deregisterFromResources.
110714        * rendering/RenderSVGResource.h: Expose invalidateAllResourcesOfRenderer function.
110715        * rendering/RenderSVGResourceClipper.cpp:
110716        (WebCore::RenderSVGResourceClipper::createClipData): renderSubtreeToImage is a static function in SVGRenderSupport now.
110717        (WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto.
110718        * rendering/RenderSVGResourceGradient.cpp:
110719        (WebCore::createMaskAndSwapContextForTextGradient): findTextRootObject is a static function in SVGRenderSupport now.
110720        (WebCore::clipToTextMask): Ditto.
110721        (WebCore::RenderSVGResourceGradient::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
110722        (WebCore::RenderSVGResourceGradient::postApplyResource): findTextRootObject is a static function in SVGRenderSupport now.
110723        * rendering/RenderSVGResourceMarker.cpp:
110724        (WebCore::RenderSVGResourceMarker::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
110725        * rendering/RenderSVGResourceMasker.cpp:
110726        (WebCore::RenderSVGResourceMasker::createMaskImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
110727        * rendering/RenderSVGResourcePattern.cpp:
110728        (WebCore::RenderSVGResourcePattern::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
110729        (WebCore::clampImageBufferSizeToViewport): Moved here from SVGRenderSupport.
110730        (WebCore::RenderSVGResourcePattern::createTileImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
110731        * rendering/RenderSVGResourceSolidColor.cpp:
110732        (WebCore::RenderSVGResourceSolidColor::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now
110733        * rendering/RenderSVGRoot.cpp:
110734        (WebCore::RenderSVGRoot::layout): layoutChildren is a static function in SVGRenderSupport now.
110735        (WebCore::RenderSVGRoot::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
110736        (WebCore::RenderSVGRoot::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
110737        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
110738        * rendering/RenderSVGRoot.h: Remove localTransform() override, no longer needed. Remove SVGRenderBase inheritance.
110739        (WebCore::RenderSVGRoot::objectBoundingBox): Inlined for speeed. 
110740        (WebCore::RenderSVGRoot::strokeBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
110741        * rendering/RenderSVGText.cpp: 
110742        (WebCore::RenderSVGText::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
110743        (WebCore::RenderSVGText::computeRectForRepaint): Ditto.
110744        (WebCore::RenderSVGText::mapLocalToContainer): Ditto.
110745        (WebCore::RenderSVGText::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
110746        (WebCore::RenderSVGText::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
110747        (WebCore::RenderSVGText::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
110748        * rendering/RenderSVGViewportContainer.cpp:
110749        (WebCore::RenderSVGViewportContainer::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
110750        (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): pointInClippingArea is a static function in SVGRenderSupport now.
110751        * rendering/SVGInlineFlowBox.cpp:
110752        (WebCore::SVGInlineFlowBox::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
110753        * rendering/SVGRenderSupport.cpp: Make it impossible to construct the class. Remove virtual destructor, made all methods static.
110754        (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
110755        (WebCore::SVGRenderSupport::computeRectForRepaint): Ditto.
110756        (WebCore::SVGRenderSupport::mapLocalToContainer): Ditto.
110757        (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Ditto.
110758        (WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
110759        (WebCore::SVGRenderSupport::renderSubtreeToImage): Made static.
110760        (WebCore::SVGRenderSupport::computeContainerBoundingBox): Ditto.
110761        (WebCore::SVGRenderSupport::layoutChildren): Ditto.
110762        (WebCore::SVGRenderSupport::isOverflowHidden): s/SVGRenderBase/SVGRenderSupport/
110763        (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
110764        (WebCore::SVGRenderSupport::pointInClippingArea): Made static.
110765        (WebCore::SVGRenderSupport::dashArrayFromRenderingStyle): Ditto.
110766        (WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto.
110767        (WebCore::SVGRenderSupport::findTextRootObject): Ditto.
110768        * rendering/SVGRenderSupport.h:
110769        * rendering/SVGRenderTreeAsText.cpp:
110770        (WebCore::writeStyle): dashArrayFromRenderingStyle is a static function in SVGRenderSupport now.
110771        * rendering/SVGRootInlineBox.cpp:
110772        (WebCore::SVGRootInlineBox::paint): s/SVGRenderBase/SVGRenderSupport/
110773        * rendering/SVGRootInlineBox.h: Remove SVGRenderBase inheritance.
110774        * svg/SVGFEImageElement.cpp: Add RenderObject.h include, otherwhise it won't build anymore.
110775        (WebCore::SVGFEImageElement::build): renderSubtreeToImage is a static function in SVGRenderSupport now.
110776        * svg/SVGStyledElement.cpp: 
110777        (WebCore::SVGStyledElement::svgAttributeChanged): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
110778
1107792010-06-21  Philippe Normand  <pnormand@igalia.com>
110780
110781        Reviewed by Xan Lopez.
110782
110783        [PNG decoder] direct access to jmpbuf is deprecated in libpng >= 1.4.0beta103
110784        https://bugs.webkit.org/show_bug.cgi?id=40907
110785
110786        Define a JMPBUF macro to cope with deprecation of the jmpbuf
110787        attribute in libpng >= 1.4.
110788
110789        * platform/image-decoders/png/PNGImageDecoder.cpp:
110790        (WebCore::decodingFailed):
110791        (WebCore::PNGImageReader::decode):
110792        (WebCore::PNGImageDecoder::headerAvailable):
110793        (WebCore::PNGImageDecoder::rowAvailable):
110794
1107952010-06-29  Kristian Amlie  <kristian.amlie@nokia.com>
110796
110797        Reviewed by Simon Hausmann.
110798
110799        [Qt/Symbian] Fixed deployment paths for WebKit declarative plugin.
110800
110801        * WebCore.pro:
110802
1108032010-06-29  Yury Semikhatsky  <yurys@chromium.org>
110804
110805        Unreviewed: Chromium Win and Mac build fix.
110806
110807        * bindings/v8/ScriptDebugServer.cpp:
110808        (WebCore::ScriptDebugServer::setBreakpoint):
110809
1108102010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
110811
110812        Reviewed by Dirk Schulze.
110813
110814        Move PaintInfo/PaintPhase into their own headers, out of RenderObject
110815        https://bugs.webkit.org/show_bug.cgi?id=41342
110816
110817        1) Move enums PaintPhase/PaintBehaviorFlags and the PaintBehaviour typedef from RenderObject into PaintPhase.h.
110818           Move PaintInfo from RenderObject into PaintInfo.h. Replace s/RenderObject::PaintInfo/PaintInfo/ throughout WebCore/.
110819           Also move the OverlapTestRequestMap typedef into PaintInfo.h, and replace s/RenderObject::OverlapTestRequestMap/OverlapTestRequestMap/ everywhere.
110820
110821        2) Move "RenderObject* paintingRootForChildren(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
110822           and modify it to take a renderer: "void updatePaintingRootForChildren(const RenderObject* renderer)".
110823
110824        This changes a common idiom:
110825        -    info.paintingRoot = paintingRootForChildren(paintInfo);
110826        +    info.updatePaintingRootForChildren(this);
110827
110828        We save resetting the paintingRoot to 0 if it was 0 already and thus do less work.
110829
110830        3) Move "bool shouldPaintWithinRoot(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
110831           and modify it to take a renderer: "bool shouldPaintWithinRoot(const RenderObject* renderer) const".
110832
110833        This changes a common idiom:
110834        -    if (!shouldPaintWithinRoot(paintInfo))
110835        +    if (!paintInfo.shouldPaintWithinRoot(this))
110836
110837        4) Move "void applyTransformToPaintInfo(RenderObject::PaintInfo&, const AffineTransform& localToChildTransform)"
110838           from SVGRenderSupport to PaintInfo and rename it to "applyTransform", guarded with ENABLE(SVG) blocks.
110839
110840        This changes a common idiom:
110841        -    applyTransformToPaintInfo(childPaintInfo, localToParentTransform());
110842        +    childPaintInfo.applyTransform(localToParentTransform());
110843
110844        Add PaintInfo.h / PaintPhase.h to all build systems that list headers.
110845
110846        * GNUmakefile.am:
110847        * WebCore.gypi:
110848        * WebCore.pro:
110849        * WebCore.vcproj/WebCore.vcproj:
110850        * WebCore.xcodeproj/project.pbxproj:
110851        * platform/android/RenderThemeAndroid.cpp:
110852        (WebCore::getCanvasFromInfo):
110853        (WebCore::RenderThemeAndroid::paintCheckbox):
110854        (WebCore::RenderThemeAndroid::paintButton):
110855        (WebCore::RenderThemeAndroid::paintRadio):
110856        (WebCore::RenderThemeAndroid::paintTextField):
110857        (WebCore::RenderThemeAndroid::paintTextArea):
110858        (WebCore::RenderThemeAndroid::paintSearchField):
110859        (WebCore::RenderThemeAndroid::paintCombo):
110860        (WebCore::RenderThemeAndroid::paintMenuList):
110861        (WebCore::RenderThemeAndroid::paintMenuListButton):
110862        * platform/android/RenderThemeAndroid.h:
110863        * platform/efl/RenderThemeEfl.cpp:
110864        (WebCore::RenderThemeEfl::paintThemePart):
110865        (WebCore::RenderThemeEfl::paintCheckbox):
110866        (WebCore::RenderThemeEfl::paintRadio):
110867        (WebCore::RenderThemeEfl::paintButton):
110868        (WebCore::RenderThemeEfl::paintMenuList):
110869        (WebCore::RenderThemeEfl::paintTextField):
110870        (WebCore::RenderThemeEfl::paintTextArea):
110871        (WebCore::RenderThemeEfl::paintSearchFieldDecoration):
110872        (WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
110873        (WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration):
110874        (WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
110875        (WebCore::RenderThemeEfl::paintSearchField):
110876        * platform/efl/RenderThemeEfl.h:
110877        * platform/gtk/RenderThemeGtk.cpp:
110878        (WebCore::paintMozillaGtkWidget):
110879        (WebCore::RenderThemeGtk::paintCheckbox):
110880        (WebCore::RenderThemeGtk::paintRadio):
110881        (WebCore::RenderThemeGtk::paintButton):
110882        (WebCore::RenderThemeGtk::paintMenuList):
110883        (WebCore::RenderThemeGtk::paintTextField):
110884        (WebCore::RenderThemeGtk::paintTextArea):
110885        (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
110886        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
110887        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
110888        (WebCore::RenderThemeGtk::paintSearchField):
110889        (WebCore::RenderThemeGtk::paintSliderTrack):
110890        (WebCore::RenderThemeGtk::paintSliderThumb):
110891        (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
110892        (WebCore::RenderThemeGtk::paintMediaMuteButton):
110893        (WebCore::RenderThemeGtk::paintMediaPlayButton):
110894        (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
110895        (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
110896        (WebCore::RenderThemeGtk::paintMediaSliderTrack):
110897        (WebCore::RenderThemeGtk::paintMediaSliderThumb):
110898        (WebCore::RenderThemeGtk::paintProgressBar):
110899        * platform/gtk/RenderThemeGtk.h:
110900        * platform/haiku/RenderThemeHaiku.cpp:
110901        (WebCore::RenderThemeHaiku::paintCheckbox):
110902        (WebCore::RenderThemeHaiku::paintRadio):
110903        (WebCore::RenderThemeHaiku::paintMenuList):
110904        * platform/haiku/RenderThemeHaiku.h:
110905        * platform/qt/RenderThemeQt.cpp:
110906        (WebCore::StylePainter::StylePainter):
110907        (WebCore::RenderThemeQt::paintCheckbox):
110908        (WebCore::RenderThemeQt::paintRadio):
110909        (WebCore::RenderThemeQt::paintButton):
110910        (WebCore::RenderThemeQt::paintTextField):
110911        (WebCore::RenderThemeQt::paintTextArea):
110912        (WebCore::RenderThemeQt::paintMenuList):
110913        (WebCore::RenderThemeQt::paintMenuListButton):
110914        (WebCore::RenderThemeQt::paintProgressBar):
110915        (WebCore::RenderThemeQt::paintSliderTrack):
110916        (WebCore::RenderThemeQt::paintSliderThumb):
110917        (WebCore::RenderThemeQt::paintSearchField):
110918        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
110919        (WebCore::RenderThemeQt::paintSearchFieldDecoration):
110920        (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
110921        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
110922        (WebCore::RenderThemeQt::paintMediaMuteButton):
110923        (WebCore::RenderThemeQt::paintMediaPlayButton):
110924        (WebCore::RenderThemeQt::paintMediaSeekBackButton):
110925        (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
110926        (WebCore::RenderThemeQt::paintMediaCurrentTime):
110927        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
110928        (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
110929        (WebCore::RenderThemeQt::paintMediaSliderTrack):
110930        (WebCore::RenderThemeQt::paintMediaSliderThumb):
110931        * platform/qt/RenderThemeQt.h:
110932        * platform/wx/RenderThemeWx.cpp:
110933        (WebCore::RenderThemeWx::paintCheckbox):
110934        (WebCore::RenderThemeWx::paintRadio):
110935        (WebCore::RenderThemeWx::paintButton):
110936        (WebCore::RenderThemeWx::paintTextField):
110937        (WebCore::RenderThemeWx::paintMenuList):
110938        (WebCore::RenderThemeWx::paintMenuListButton):
110939        * rendering/EllipsisBox.cpp:
110940        (WebCore::EllipsisBox::paint):
110941        * rendering/EllipsisBox.h:
110942        * rendering/InlineBox.cpp:
110943        (WebCore::InlineBox::paint):
110944        * rendering/InlineBox.h:
110945        * rendering/InlineFlowBox.cpp:
110946        (WebCore::InlineFlowBox::paint):
110947        (WebCore::InlineFlowBox::paintFillLayers):
110948        (WebCore::InlineFlowBox::paintFillLayer):
110949        (WebCore::InlineFlowBox::paintBoxDecorations):
110950        (WebCore::InlineFlowBox::paintMask):
110951        (WebCore::InlineFlowBox::paintTextDecorations):
110952        * rendering/InlineFlowBox.h:
110953        * rendering/InlineTextBox.cpp:
110954        (WebCore::InlineTextBox::paint):
110955        * rendering/InlineTextBox.h:
110956        * rendering/PaintInfo.h: Added.
110957        (WebCore::PaintInfo::PaintInfo):
110958        (WebCore::PaintInfo::updatePaintingRootForChildren):
110959        (WebCore::PaintInfo::shouldPaintWithinRoot):
110960        (WebCore::PaintInfo::applyTransform):
110961        * rendering/PaintPhase.h: Added.
110962        (WebCore::):
110963        * rendering/RenderBlock.cpp:
110964        (WebCore::RenderBlock::paint):
110965        (WebCore::RenderBlock::paintChildren):
110966        (WebCore::RenderBlock::paintEllipsisBoxes):
110967        (WebCore::clipOutPositionedObjects):
110968        (WebCore::RenderBlock::layoutColumns):
110969        * rendering/RenderBox.cpp:
110970        (WebCore::RenderBox::paint):
110971        (WebCore::RenderBox::paintBoxDecorations):
110972        (WebCore::RenderBox::paintMask):
110973        * rendering/RenderFieldset.cpp:
110974        (WebCore::RenderFieldset::paintBoxDecorations):
110975        * rendering/RenderForeignObject.cpp:
110976        (WebCore::RenderForeignObject::paint):
110977        * rendering/RenderLayer.cpp:
110978        (WebCore::RenderLayer::paint):
110979        (WebCore::performOverlapTests):
110980        (WebCore::RenderLayer::paintLayer):
110981        (WebCore::RenderLayer::paintList):
110982        (WebCore::RenderLayer::paintPaginatedChildLayer):
110983        (WebCore::RenderLayer::paintChildLayerIntoColumns):
110984        * rendering/RenderLayer.h:
110985        * rendering/RenderLayerBacking.cpp:
110986        (WebCore::RenderLayerBacking::paintIntoLayer):
110987        * rendering/RenderLineBoxList.cpp:
110988        (WebCore::RenderLineBoxList::paint):
110989        * rendering/RenderLineBoxList.h:
110990        * rendering/RenderMediaControls.cpp:
110991        (WebCore::RenderMediaControls::paintMediaControlsPart):
110992        * rendering/RenderMediaControls.h:
110993        * rendering/RenderMediaControlsChromium.cpp:
110994        (WebCore::paintMediaMuteButton):
110995        (WebCore::paintMediaPlayButton):
110996        (WebCore::paintMediaSlider):
110997        (WebCore::paintMediaSliderThumb):
110998        (WebCore::paintMediaVolumeSlider):
110999        (WebCore::paintMediaVolumeSliderThumb):
111000        (WebCore::paintMediaTimelineContainer):
111001        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
111002        * rendering/RenderMediaControlsChromium.h:
111003        * rendering/RenderObject.h:
111004        * rendering/RenderPath.cpp:
111005        (WebCore::RenderPath::paint):
111006        * rendering/RenderReplaced.cpp:
111007        (WebCore::RenderReplaced::paint):
111008        (WebCore::RenderReplaced::shouldPaint):
111009        * rendering/RenderSVGContainer.cpp:
111010        (WebCore::RenderSVGContainer::paint):
111011        * rendering/RenderSVGResourceMarker.cpp:
111012        (WebCore::RenderSVGResourceMarker::draw):
111013        * rendering/RenderSVGResourceMarker.h:
111014        * rendering/RenderSVGRoot.cpp:
111015        (WebCore::RenderSVGRoot::paint):
111016        * rendering/RenderSVGText.cpp:
111017        (WebCore::RenderSVGText::paint):
111018        * rendering/RenderScrollbarPart.cpp:
111019        (WebCore::RenderScrollbarPart::paintIntoRect):
111020        * rendering/RenderTable.cpp:
111021        (WebCore::RenderTable::paintObject):
111022        (WebCore::RenderTable::paintBoxDecorations):
111023        * rendering/RenderTableCell.cpp:
111024        (WebCore::RenderTableCell::paint):
111025        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
111026        (WebCore::RenderTableCell::paintBoxDecorations):
111027        * rendering/RenderTheme.cpp:
111028        (WebCore::RenderTheme::paint):
111029        (WebCore::RenderTheme::paintBorderOnly):
111030        (WebCore::RenderTheme::paintDecorations):
111031        (WebCore::RenderTheme::paintMeter):
111032        * rendering/RenderTheme.h:
111033        (WebCore::RenderTheme::paintCapsLockIndicator):
111034        (WebCore::RenderTheme::paintCheckbox):
111035        (WebCore::RenderTheme::paintRadio):
111036        (WebCore::RenderTheme::paintButton):
111037        (WebCore::RenderTheme::paintInnerSpinButton):
111038        (WebCore::RenderTheme::paintOuterSpinButton):
111039        (WebCore::RenderTheme::paintTextField):
111040        (WebCore::RenderTheme::paintTextArea):
111041        (WebCore::RenderTheme::paintMenuList):
111042        (WebCore::RenderTheme::paintMenuListButton):
111043        (WebCore::RenderTheme::paintProgressBar):
111044        (WebCore::RenderTheme::paintSliderTrack):
111045        (WebCore::RenderTheme::paintSliderThumb):
111046        (WebCore::RenderTheme::paintSearchField):
111047        (WebCore::RenderTheme::paintSearchFieldCancelButton):
111048        (WebCore::RenderTheme::paintSearchFieldDecoration):
111049        (WebCore::RenderTheme::paintSearchFieldResultsDecoration):
111050        (WebCore::RenderTheme::paintSearchFieldResultsButton):
111051        (WebCore::RenderTheme::paintMediaFullscreenButton):
111052        (WebCore::RenderTheme::paintMediaPlayButton):
111053        (WebCore::RenderTheme::paintMediaMuteButton):
111054        (WebCore::RenderTheme::paintMediaSeekBackButton):
111055        (WebCore::RenderTheme::paintMediaSeekForwardButton):
111056        (WebCore::RenderTheme::paintMediaSliderTrack):
111057        (WebCore::RenderTheme::paintMediaSliderThumb):
111058        (WebCore::RenderTheme::paintMediaVolumeSliderContainer):
111059        (WebCore::RenderTheme::paintMediaVolumeSliderTrack):
111060        (WebCore::RenderTheme::paintMediaVolumeSliderThumb):
111061        (WebCore::RenderTheme::paintMediaRewindButton):
111062        (WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
111063        (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
111064        (WebCore::RenderTheme::paintMediaControlsBackground):
111065        (WebCore::RenderTheme::paintMediaCurrentTime):
111066        (WebCore::RenderTheme::paintMediaTimeRemaining):
111067        * rendering/RenderThemeChromiumMac.h:
111068        * rendering/RenderThemeChromiumMac.mm:
111069        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
111070        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
111071        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
111072        (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
111073        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
111074        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
111075        * rendering/RenderThemeChromiumSkia.cpp:
111076        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
111077        (WebCore::RenderThemeChromiumSkia::paintRadio):
111078        (WebCore::paintButtonLike):
111079        (WebCore::RenderThemeChromiumSkia::paintButton):
111080        (WebCore::RenderThemeChromiumSkia::paintTextField):
111081        (WebCore::RenderThemeChromiumSkia::paintTextArea):
111082        (WebCore::RenderThemeChromiumSkia::paintSearchField):
111083        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
111084        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
111085        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
111086        (WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground):
111087        (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):
111088        (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack):
111089        (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb):
111090        (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb):
111091        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
111092        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
111093        (WebCore::RenderThemeChromiumSkia::paintMenuList):
111094        (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
111095        (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
111096        (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
111097        (WebCore::RenderThemeChromiumSkia::paintProgressBar):
111098        * rendering/RenderThemeChromiumSkia.h:
111099        * rendering/RenderThemeChromiumWin.cpp:
111100        (WebCore::RenderThemeChromiumWin::paintCheckbox):
111101        (WebCore::RenderThemeChromiumWin::paintRadio):
111102        (WebCore::RenderThemeChromiumWin::paintButton):
111103        (WebCore::RenderThemeChromiumWin::paintTextField):
111104        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
111105        (WebCore::RenderThemeChromiumWin::paintSliderThumb):
111106        (WebCore::RenderThemeChromiumWin::paintMenuList):
111107        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
111108        (WebCore::RenderThemeChromiumWin::paintProgressBar):
111109        * rendering/RenderThemeChromiumWin.h:
111110        * rendering/RenderThemeMac.h:
111111        * rendering/RenderThemeMac.mm:
111112        (WebCore::RenderThemeMac::paintTextField):
111113        (WebCore::RenderThemeMac::paintCapsLockIndicator):
111114        (WebCore::RenderThemeMac::paintTextArea):
111115        (WebCore::RenderThemeMac::paintMenuList):
111116        (WebCore::RenderThemeMac::paintMeter):
111117        (WebCore::RenderThemeMac::paintProgressBar):
111118        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
111119        (WebCore::RenderThemeMac::paintMenuListButton):
111120        (WebCore::RenderThemeMac::paintSliderTrack):
111121        (WebCore::RenderThemeMac::paintSliderThumb):
111122        (WebCore::RenderThemeMac::paintSearchField):
111123        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
111124        (WebCore::RenderThemeMac::paintSearchFieldDecoration):
111125        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
111126        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
111127        (WebCore::getUnzoomedRectAndAdjustCurrentContext):
111128        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
111129        (WebCore::RenderThemeMac::paintMediaMuteButton):
111130        (WebCore::RenderThemeMac::paintMediaPlayButton):
111131        (WebCore::RenderThemeMac::paintMediaSeekBackButton):
111132        (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
111133        (WebCore::RenderThemeMac::paintMediaSliderTrack):
111134        (WebCore::RenderThemeMac::paintMediaSliderThumb):
111135        (WebCore::RenderThemeMac::paintMediaRewindButton):
111136        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
111137        (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
111138        (WebCore::RenderThemeMac::paintMediaControlsBackground):
111139        (WebCore::RenderThemeMac::paintMediaCurrentTime):
111140        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
111141        * rendering/RenderThemeSafari.cpp:
111142        (WebCore::RenderThemeSafari::paintCheckbox):
111143        (WebCore::RenderThemeSafari::paintRadio):
111144        (WebCore::RenderThemeSafari::paintButton):
111145        (WebCore::RenderThemeSafari::paintTextField):
111146        (WebCore::RenderThemeSafari::paintCapsLockIndicator):
111147        (WebCore::RenderThemeSafari::paintTextArea):
111148        (WebCore::RenderThemeSafari::paintMenuList):
111149        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
111150        (WebCore::RenderThemeSafari::paintMenuListButton):
111151        (WebCore::RenderThemeSafari::paintSliderTrack):
111152        (WebCore::RenderThemeSafari::paintSliderThumb):
111153        (WebCore::RenderThemeSafari::paintSearchField):
111154        (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
111155        (WebCore::RenderThemeSafari::paintSearchFieldDecoration):
111156        (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
111157        (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
111158        (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
111159        (WebCore::RenderThemeSafari::paintMediaMuteButton):
111160        (WebCore::RenderThemeSafari::paintMediaPlayButton):
111161        (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
111162        (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
111163        (WebCore::RenderThemeSafari::paintMediaSliderTrack):
111164        (WebCore::RenderThemeSafari::paintMediaSliderThumb):
111165        * rendering/RenderThemeSafari.h:
111166        * rendering/RenderThemeWin.cpp:
111167        (WebCore::RenderThemeWin::paintButton):
111168        (WebCore::RenderThemeWin::paintTextField):
111169        (WebCore::RenderThemeWin::paintMenuList):
111170        (WebCore::RenderThemeWin::paintMenuListButton):
111171        (WebCore::RenderThemeWin::paintSliderTrack):
111172        (WebCore::RenderThemeWin::paintSliderThumb):
111173        (WebCore::RenderThemeWin::paintSearchField):
111174        (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
111175        (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
111176        (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
111177        (WebCore::RenderThemeWin::paintMediaFullscreenButton):
111178        (WebCore::RenderThemeWin::paintMediaMuteButton):
111179        (WebCore::RenderThemeWin::paintMediaPlayButton):
111180        (WebCore::RenderThemeWin::paintMediaSeekBackButton):
111181        (WebCore::RenderThemeWin::paintMediaSeekForwardButton):
111182        (WebCore::RenderThemeWin::paintMediaSliderTrack):
111183        (WebCore::RenderThemeWin::paintMediaSliderThumb):
111184        (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
111185        * rendering/RenderThemeWin.h:
111186        (WebCore::RenderThemeWin::paintCheckbox):
111187        (WebCore::RenderThemeWin::paintRadio):
111188        (WebCore::RenderThemeWin::paintTextArea):
111189        (WebCore::RenderThemeWin::paintSearchFieldDecoration):
111190        * rendering/RenderThemeWince.cpp:
111191        (WebCore::RenderThemeWince::paintButton):
111192        (WebCore::RenderThemeWince::paintTextField):
111193        (WebCore::RenderThemeWince::paintMenuList):
111194        (WebCore::RenderThemeWince::paintMenuListButton):
111195        (WebCore::RenderThemeWince::paintSearchField):
111196        (WebCore::RenderThemeWince::paintSearchFieldCancelButton):
111197        (WebCore::RenderThemeWince::paintSearchFieldResultsDecoration):
111198        (WebCore::RenderThemeWince::paintSearchFieldResultsButton):
111199        (WebCore::RenderThemeWince::paintSliderTrack):
111200        (WebCore::RenderThemeWince::paintSliderThumb):
111201        (WebCore::RenderThemeWince::paintMediaFullscreenButton):
111202        (WebCore::RenderThemeWince::paintMediaMuteButton):
111203        (WebCore::RenderThemeWince::paintMediaPlayButton):
111204        (WebCore::RenderThemeWince::paintMediaSeekBackButton):
111205        (WebCore::RenderThemeWince::paintMediaSeekForwardButton):
111206        (WebCore::RenderThemeWince::paintMediaSliderTrack):
111207        (WebCore::RenderThemeWince::paintMediaSliderThumb):
111208        * rendering/RenderThemeWince.h:
111209        (WebCore::RenderThemeWince::paintCheckbox):
111210        (WebCore::RenderThemeWince::paintRadio):
111211        (WebCore::RenderThemeWince::paintTextArea):
111212        (WebCore::RenderThemeWince::paintSearchFieldDecoration):
111213        * rendering/RootInlineBox.cpp:
111214        (WebCore::RootInlineBox::paintEllipsisBox):
111215        (WebCore::RootInlineBox::paintCustomHighlight):
111216        (WebCore::RootInlineBox::paint):
111217        (WebCore::RootInlineBox::fillLineSelectionGap):
111218        * rendering/RootInlineBox.h:
111219        * rendering/SVGInlineFlowBox.cpp:
111220        (WebCore::SVGInlineFlowBox::paint):
111221        * rendering/SVGInlineFlowBox.h:
111222        * rendering/SVGInlineTextBox.cpp:
111223        (WebCore::SVGInlineTextBox::paint):
111224        * rendering/SVGInlineTextBox.h:
111225        * rendering/SVGMarkerLayoutInfo.cpp:
111226        (WebCore::SVGMarkerLayoutInfo::drawMarkers):
111227        * rendering/SVGMarkerLayoutInfo.h:
111228        * rendering/SVGRenderSupport.cpp:
111229        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
111230        (WebCore::SVGRenderBase::finishRenderSVGContent):
111231        (WebCore::renderSubtreeToImage):
111232        * rendering/SVGRenderSupport.h:
111233        * rendering/SVGRootInlineBox.cpp:
111234        (WebCore::SVGRootInlineBox::paint):
111235        * rendering/SVGRootInlineBox.h:
111236
1112372010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
111238
111239        Not reviewed. Sort Xcode project file.
111240
111241        * WebCore.xcodeproj/project.pbxproj:
111242
1112432010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
111244
111245        Reviewed by Dirk Schulze.
111246
111247        Provide floating-point support for text selection framework
111248        https://bugs.webkit.org/show_bug.cgi?id=40665
111249
111250        Rename 'glyphScale' to 'horizontalGlyphStretch' upon Dans' request.
111251        Also guard the variables in ENABLE(SVG) blocks. Initialize variable to 1 instead of 1.0f, as that's the new style rule.
111252
111253        No functional changes, thus no new tests.
111254
111255        * platform/graphics/TextRun.h:
111256        (WebCore::TextRun::TextRun):
111257        (WebCore::TextRun::horizontalGlyphStretch):
111258        (WebCore::TextRun::setHorizontalGlyphStretch):
111259        (WebCore::TextRun::spacingDisabled):
111260        * platform/graphics/WidthIterator.cpp:
111261        (WebCore::WidthIterator::advance):
111262        * rendering/SVGInlineTextBox.cpp:
111263        (WebCore::SVGInlineTextBox::offsetForPosition):
111264
1112652010-06-29  Nikolas Zimmermann  <nzimmermann@rim.com>
111266
111267        Reviewed by Dirk Schulze.
111268
111269        REGRESSION: text-shadow CSS applied to SVG no longer works
111270        https://bugs.webkit.org/show_bug.cgi?id=40960
111271
111272        Readd text-shadow support, this time supporting multiple shadows.
111273        It's not exactly like HTML, because SVG draws fill/stroke phases seperated - the png shows the difference.
111274
111275        Tests: svg/css/text-shadow-multiple.xhtml
111276
111277        * rendering/InlineTextBox.cpp:
111278        (WebCore::InlineTextBox::applyShadowToGraphicsContext): Refactored from paintTextWithShadows(), so SVG can reuse.
111279        (WebCore::paintTextWithShadows): Use refactored applyShadowToGraphicsContext() function.
111280        * rendering/InlineTextBox.h: 
111281        * rendering/SVGInlineTextBox.cpp:
111282        (WebCore::SVGInlineTextBox::paintTextWithShadows): Added.
111283        (WebCore::SVGInlineTextBox::paintText): Call paintTextWithShadows() instead of directly drawing the text.
111284        * rendering/SVGInlineTextBox.h:
111285
1112862010-06-29  Pavel Podivilov  <podivilov@chromium.org>
111287
111288        Reviewed by Yury Semikhatsky.
111289
111290        Web Inspector: show actual breakpoint position in UI.
111291        When user sets breakpoint from UI, javascript engine may actually set
111292        it on a different line. If so, move breakpoint to the correct position
111293        in frontend.
111294        https://bugs.webkit.org/show_bug.cgi?id=40781
111295
111296        * bindings/js/ScriptDebugServer.cpp:
111297        (WebCore::ScriptDebugServer::setBreakpoint):
111298        (WebCore::ScriptDebugServer::dispatchDidPause):
111299        * bindings/js/ScriptDebugServer.h:
111300        * bindings/v8/ScriptDebugServer.cpp:
111301        (WebCore::ScriptDebugServer::setBreakpoint):
111302        (WebCore::ScriptDebugServer::currentCallFrame):
111303        * bindings/v8/ScriptDebugServer.h:
111304        * inspector/InspectorBackend.cpp:
111305        (WebCore::InspectorBackend::setBreakpoint):
111306        * inspector/InspectorBackend.h:
111307        * inspector/InspectorBackend.idl:
111308        * inspector/InspectorController.cpp:
111309        (WebCore::InspectorController::didCommitLoad):
111310        (WebCore::InspectorController::setBreakpoint):
111311        (WebCore::InspectorController::removeBreakpoint):
111312        (WebCore::InspectorController::didParseSource):
111313        * inspector/InspectorController.h:
111314        * inspector/InspectorFrontend.cpp:
111315        (WebCore::InspectorFrontend::didSetBreakpoint):
111316        * inspector/InspectorFrontend.h:
111317        * inspector/front-end/BreakpointManager.js:
111318        (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
111319        (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
111320        (WebInspector.BreakpointManager.prototype.setBreakpoint):
111321        (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
111322        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
111323        (WebInspector.BreakpointManager.prototype._setBreakpoint):
111324        (WebInspector.BreakpointManager.prototype._removeBreakpoint):
111325        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend.didSetBreakpoint):
111326        (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
111327        (WebInspector.Breakpoint.prototype.set enabled):
111328        (WebInspector.Breakpoint.prototype.set condition):
111329        * inspector/front-end/InspectorBackendStub.js:
111330        (.WebInspector.InspectorBackendStub.prototype.setBreakpoint):
111331        * inspector/front-end/ScriptView.js:
111332        (WebInspector.ScriptView.prototype._addBreakpoint):
111333        * inspector/front-end/SourceView.js:
111334        (WebInspector.SourceView.prototype._addBreakpoint):
111335
1113362010-06-29  Dumitru Daniliuc  <dumi@chromium.org>
111337
111338        Reviewed by Adam Barth.
111339
111340        Catch toString() exceptions in all DB-related code.
111341        https://bugs.webkit.org/show_bug.cgi?id=41297
111342
111343        * bindings/v8/custom/V8BindingMacros.h:
111344        * bindings/v8/custom/V8DOMWindowCustom.cpp:
111345        (WebCore::V8DOMWindow::openDatabaseCallback):
111346        * bindings/v8/custom/V8DatabaseCustom.cpp:
111347        (WebCore::V8Database::changeVersionCallback):
111348        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
111349        (WebCore::V8DatabaseSync::changeVersionCallback):
111350        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
111351        (WebCore::V8SQLTransaction::executeSqlCallback):
111352        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
111353        (WebCore::V8SQLTransactionSync::executeSqlCallback):
111354        * bindings/v8/custom/V8WorkerContextCustom.cpp:
111355        (WebCore::V8WorkerContext::openDatabaseCallback):
111356        (WebCore::V8WorkerContext::openDatabaseSyncCallback):
111357
1113582010-06-29  Herczeg Zoltan  <zherczeg@webkit.org>
111359
111360        Rubber-stamped by Nikolas Zimmermann.
111361
111362        Windows build fix.
111363        https://bugs.webkit.org/show_bug.cgi?id=5861
111364
111365        * svg/SVGFEConvolveMatrixElement.cpp:
111366        (WebCore::SVGFEConvolveMatrixElement::build):
111367
1113682010-06-29  Zoltan Herczeg  <zherczeg@webkit.org>
111369
111370        Reviewed by Nikolas Zimmermann.
111371
111372        Add ConvolveMatrix SVG filter effect
111373        https://bugs.webkit.org/show_bug.cgi?id=5861
111374
111375        The patch was originally started by Dirk Schulze,
111376        and the .cpp and .h files are mostly his work.
111377        I updated the build systems and do some minor updates
111378        to the source files as well. The patch does not contain
111379        the implementation of the filter: this is intended,
111380        and will be landed in a follow-up patch.
111381
111382        * Android.derived.jscbindings.mk:
111383        * Android.derived.v8bindings.mk:
111384        * Android.mk:
111385        * CMakeLists.txt:
111386        * DerivedSources.cpp:
111387        * DerivedSources.make:
111388        * GNUmakefile.am:
111389        * WebCore.gypi:
111390        * WebCore.pri:
111391        * WebCore.pro:
111392        * WebCore.vcproj/WebCore.vcproj:
111393        * WebCore.xcodeproj/project.pbxproj:
111394        * bindings/objc/DOM.mm:
111395        (WebCore::createElementClassMap):
111396        * bindings/objc/DOMSVG.h:
111397        * page/DOMWindow.idl:
111398        * svg/SVGAllInOne.cpp:
111399        * svg/SVGFEConvolveMatrixElement.cpp: Added.
111400        (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
111401        (WebCore::SVGFEConvolveMatrixElement::~SVGFEConvolveMatrixElement):
111402        (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
111403        (WebCore::SVGFEConvolveMatrixElement::setOrder):
111404        (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
111405        (WebCore::SVGFEConvolveMatrixElement::build):
111406        * svg/SVGFEConvolveMatrixElement.h: Added.
111407        * svg/SVGFEConvolveMatrixElement.idl: Added.
111408        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
111409        (WebCore::FEConvolveMatrix::FEConvolveMatrix):
111410        (WebCore::FEConvolveMatrix::create):
111411        (WebCore::FEConvolveMatrix::kernelSize):
111412        (WebCore::FEConvolveMatrix::setKernelSize):
111413        (WebCore::FEConvolveMatrix::targetOffset):
111414        (WebCore::FEConvolveMatrix::setTargetOffset):
111415        (WebCore::operator<<):
111416        (WebCore::FEConvolveMatrix::externalRepresentation):
111417        * svg/graphics/filters/SVGFEConvolveMatrix.h:
111418        (WebCore::):
111419        * svg/svgattrs.in:
111420        * svg/svgtags.in:
111421
1114222010-06-28  Adam Barth  <abarth@webkit.org>
111423
111424        Reviewed by Eric Seidel.
111425
111426        HTML5 tree builder shouldn't ASSERT on HTML5lib test suite
111427        https://bugs.webkit.org/show_bug.cgi?id=41335
111428
111429        Sketch out the EndTag handling for InBodyMode.
111430
111431        * html/HTMLTreeBuilder.cpp:
111432        (WebCore::HTMLTreeBuilder::processEndTag):
111433        * html/HTMLTreeBuilder.h:
111434        (WebCore::HTMLTreeBuilder::ElementStack::inScope):
111435        (WebCore::HTMLTreeBuilder::clearActiveFormatingElementsUpToLastMarker):
111436        (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
111437
1114382010-06-28  David Levin  <levin@chromium.org>
111439
111440        Reviewed by NOBODY (chromium build fix).
111441
111442        * rendering/RenderObject.h: Add missing forward declaration.
111443
1114442010-06-28  Adam Barth  <abarth@webkit.org>
111445
111446        Unreviewed.
111447
111448        I accidently gave up my ref and tried to dereference a null pointer.
111449        This code is keeping an extra ref that it doesn't need, but that fact
111450        was somewhat hidden before.
111451
111452        * dom/ContainerNode.cpp:
111453        (WebCore::ContainerNode::addChildCommon):
111454        (WebCore::ContainerNode::parserAddChild):
111455        (WebCore::ContainerNode::legacyParserAddChild):
111456        * dom/ContainerNode.h:
111457
1114582010-06-28  Adam Barth  <abarth@webkit.org>
111459
111460        Unreviewed.
111461
111462        Refactor common code into addChildCommon
111463        https://bugs.webkit.org/show_bug.cgi?id=41326
111464
111465        Eric asked that we share the common code between these codepaths.
111466
111467        * dom/ContainerNode.cpp:
111468        (WebCore::ContainerNode::addChildCommon):
111469        (WebCore::ContainerNode::parserAddChild):
111470        (WebCore::ContainerNode::addChild):
111471        * dom/ContainerNode.h:
111472
1114732010-06-28  Eric Seidel  <eric@webkit.org>
111474
111475        Reviewed by Adam Barth.
111476
111477        Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
111478        https://bugs.webkit.org/show_bug.cgi?id=41319
111479
111480        Restructure the code to not use in-band data, which is what
111481        got us in trouble with a signed/unsigned mismatch before.
111482
111483        * html/HTMLTreeBuilder.cpp:
111484        (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
111485        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
111486        * html/HTMLTreeBuilder.h:
111487
1114882010-06-28  Daniel Bates  <dbates@rim.com>
111489
111490        Unreviewed, attempt to fix Qt bots.
111491
111492        Attempt to fix the build after changeset 62079 <http://trac.webkit.org/changeset/62079>
111493        (https://bugs.webkit.org/show_bug.cgi?id=41324).
111494
111495        Rename some more call sites that were missed in the initial landing.
111496
111497        * dom/XMLDocumentParserQt.cpp:
111498        (WebCore::XMLDocumentParser::parseStartElement):
111499        (WebCore::XMLDocumentParser::parseProcessingInstruction):
111500        (WebCore::XMLDocumentParser::parseCdata):
111501        (WebCore::XMLDocumentParser::parseComment):
111502        (WebCore::XMLDocumentParser::parseDtd):
111503
1115042010-06-28  Daniel Bates  <dbates@rim.com>
111505
111506        Unreviewed, build fix.
111507
111508        Change return type of method HTMLTreeBuilder::reconstructTheActiveFormattingElements()
111509        from int to unsigned.
111510
111511        Attempt to fix the build after changeset 62077 <https://trac.webkit.org/changeset/62077>
111512        (https://bugs.webkit.org/show_bug.cgi?id=41319).
111513
111514        * html/HTMLTreeBuilder.cpp:
111515        (WebCore::HTMLTreeBuilder::indexOfLastOpenFormattingElementOrMarker):
111516        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
111517        * html/HTMLTreeBuilder.h:
111518
1115192010-06-28  Eric Seidel  <eric@webkit.org>
111520
111521        Reviewed by Adam Barth.
111522
111523        Rename ContainerNode::addChild to legacyParserAddChild to indicate its parser-only intended use
111524        https://bugs.webkit.org/show_bug.cgi?id=41324
111525
111526        A bunch of places in the code were calling ContainerNode::addChild.
111527        I don't think they actually want to be doing that, as it has special
111528        form-related handling which is part of LegacyHTMLTreeBuilder.
111529
111530        No functional changes, thus no tests.
111531
111532        * dom/ContainerNode.cpp:
111533        (WebCore::ContainerNode::legacyParserAddChild):
111534        * dom/ContainerNode.h:
111535        * dom/DOMImplementation.cpp:
111536        (WebCore::DOMImplementation::createDocument):
111537        * dom/Node.cpp:
111538        (WebCore::Node::legacyParserAddChild):
111539        * dom/Node.h:
111540        * html/HTMLKeygenElement.cpp:
111541        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
111542        * html/HTMLTableElement.cpp:
111543        (WebCore::HTMLTableElement::legacyParserAddChild):
111544        * html/HTMLTableElement.h:
111545        * html/HTMLTableRowElement.cpp:
111546        (WebCore::HTMLTableRowElement::legacyParserAddChild):
111547        * html/HTMLTableRowElement.h:
111548        * html/HTMLTableSectionElement.cpp:
111549        (WebCore::HTMLTableSectionElement::legacyParserAddChild):
111550        * html/HTMLTableSectionElement.h:
111551        * html/HTMLViewSourceDocument.cpp:
111552        (WebCore::HTMLViewSourceDocument::createContainingTable):
111553        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
111554        (WebCore::HTMLViewSourceDocument::addLine):
111555        (WebCore::HTMLViewSourceDocument::addText):
111556        (WebCore::HTMLViewSourceDocument::addLink):
111557
1115582010-06-28  Eric Seidel  <eric@webkit.org>
111559
111560        Reviewed by Adam Barth.
111561
111562        Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
111563        https://bugs.webkit.org/show_bug.cgi?id=41319
111564
111565        This is basically a direct transcription of HTML5 TreeBuilder spec:
111566         http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#list-of-active-formatting-elements
111567
111568        This code is covered by various tests in html5lib/runner which we
111569        can't run yet due to other asserts.  Adam and I are working on
111570        getting rid of those ASSERTS so that this (and other code) will
111571        be better tested shortly.
111572
111573        * html/HTMLTreeBuilder.cpp:
111574        (WebCore::HTMLTreeBuilder::insertFormatingElement):
111575        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
111576        * html/HTMLTreeBuilder.h:
111577        (WebCore::HTMLTreeBuilder::ElementStack::contains):
111578        (WebCore::HTMLTreeBuilder::FormatingElementEntry::FormatingElementEntry):
111579        (WebCore::HTMLTreeBuilder::FormatingElementEntry::):
111580        (WebCore::HTMLTreeBuilder::FormatingElementEntry::isMarker):
111581        (WebCore::HTMLTreeBuilder::FormatingElementEntry::element):
111582        (WebCore::HTMLTreeBuilder::FormatingElementEntry::replaceElement):
111583
1115842010-06-28  Adam Barth  <abarth@webkit.org>
111585
111586        Reviewed by Eric Seidel.
111587
111588        Fix ASSERT so we can run more HTML5lib tests
111589        https://bugs.webkit.org/show_bug.cgi?id=41325
111590
111591        We can't call Node::addChild because that function contains a bunch of
111592        logic from the old parser.  Instead, this patch creates a new version
111593        of addChild that's does less validating (that's the tree builder's
111594        job).
111595
111596        * dom/ContainerNode.cpp:
111597        (WebCore::ContainerNode::parserAddChild):
111598        * dom/ContainerNode.h:
111599        * dom/Node.cpp:
111600        (WebCore::Node::parserAddChild):
111601        * dom/Node.h:
111602        * html/HTMLTreeBuilder.h:
111603        (WebCore::HTMLTreeBuilder::attach):
111604
1116052010-06-28  David Levin  <levin@chromium.org>
111606
111607        Reviewed by NOBODY (chromium build fix).
111608
111609        * bindings/v8/ScriptEventListener.h: Changed forward declaration
111610          to correspond to the code change doing in r62052.
111611
1116122010-06-28  Brady Eidson  <beidson@apple.com>
111613
111614        Reviewed by Alexey Proskuryakov.
111615
111616        Support for https://bugs.webkit.org/show_bug.cgi?id=40484
111617
111618        In working on adding beforeProcess, it becomes necessary for JSLazyEventListeners to always know what their
111619        original Node* was, even if it was a window event listener.
111620
111621        For HTMLFrameSet, HTMLBody, and SVGSVG elements, a second form of createAttributeEventListener was used that
111622        took a Frame* argument and didn't set the original Node* on the JSLazyEventListener.
111623
111624        This patch changes that form of the function to createWindowAttributeEventListener, and passes the Node* along
111625        for later use by the beforeProcess mechanism.
111626
111627        No new tests. (No change in behavior)
111628
111629        * bindings/js/ScriptEventListener.cpp:
111630        (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
111631          of a Frame*, and figures out the Frame* itself internally.
111632        * bindings/js/ScriptEventListener.h:
111633
111634        * bindings/v8/ScriptEventListener.cpp:
111635        (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
111636          of a Frame*, and figures out the Frame* itself internally. Note that V8LazyEventListener doesn't allow us to
111637          pass the Element* argument in so this beforeprocess feature won't fully work on V8 builds until this is changed.
111638        * bindings/v8/ScriptEventListener.h:
111639
111640        * html/HTMLBodyElement.cpp:
111641        (WebCore::HTMLBodyElement::parseMappedAttribute): Use createWindowAttributeEventListener instead.
111642        * html/HTMLFrameSetElement.cpp:
111643        (WebCore::HTMLFrameSetElement::parseMappedAttribute): Ditto.
111644        * svg/SVGSVGElement.cpp:
111645        (WebCore::SVGSVGElement::parseMappedAttribute): Ditto. Also add some missing copyright dates that `svn log` proves
111646          should be there.
111647
1116482010-06-28  John Gregg  <johnnyg@google.com>
111649
111650        Reviewed by Kent Tamura.
111651
111652        add ENABLE_DIRECTORY_UPLOAD build support
111653        https://bugs.webkit.org/show_bug.cgi?id=41100
111654
111655        * Configurations/FeatureDefines.xcconfig:
111656        * GNUmakefile.am:
111657        * WebCore.pri:
111658
1116592010-06-28  Adam Barth  <abarth@webkit.org>
111660
111661        Reviewed by Eric Seidel.
111662
111663        Don't use the new tree builder for fragments
111664        https://bugs.webkit.org/show_bug.cgi?id=41316
111665
111666        We need to walk before we can run.  After this change, we can run the
111667        runner.html tests (with the ASSERT caveat).
111668
111669        * html/HTMLTreeBuilder.cpp:
111670        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
111671
1116722010-06-28  Adam Barth  <abarth@webkit.org>
111673
111674        Reviewed by Eric Seidel.
111675
111676        The new tree builder should actually finish building the tree
111677        https://bugs.webkit.org/show_bug.cgi?id=41314
111678
111679        Again, this patch makes progress on runner.html, but I haven't removed
111680        the ASSERT yet.
111681
111682        * html/HTMLTreeBuilder.cpp:
111683        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
111684        (WebCore::HTMLTreeBuilder::finished):
111685        * html/HTMLTreeBuilder.h:
111686
1116872010-06-28  Dumitru Daniliuc  <dumi@chromium.org>
111688
111689        Reviewed by Eric Seidel.
111690
111691        Fix a race condition that can happen when using DBs in workers.
111692        https://bugs.webkit.org/show_bug.cgi?id=41105
111693
111694        * storage/DatabaseTracker.cpp:
111695        (WebCore::DatabaseTracker::addOpenDatabase):
111696        * storage/DatabaseTracker.h:
111697
1116982010-06-28  Adam Barth  <abarth@webkit.org>
111699
111700        Reviewed by Eric Seidel.
111701
111702        Add text nodes to the DOM
111703        https://bugs.webkit.org/show_bug.cgi?id=41306
111704
111705        Actually add some text nodes to the DOM when parsing a document.  We're
111706        going to need to do something fancier here eventually, but this gets us
111707        past the error we're seeing currently in runner.html.
111708
111709        Unfortunately, this patch "regresses" runner.html in the sense that we
111710        now hit an assert, but it's still an improvement...  I'll update the
111711        HTML5 expectations once we get past the assert.
111712
111713        * html/HTMLTreeBuilder.cpp:
111714        (WebCore::HTMLTreeBuilder::processCharacter):
111715        (WebCore::HTMLTreeBuilder::insertTextNode):
111716        * html/HTMLTreeBuilder.h:
111717
1117182010-06-28  Beth Dakin  <bdakin@apple.com>
111719
111720        Build fix for non-PATH_BASED_BORDER_RADIUS_DRAWING platforms.
111721
111722        * rendering/RenderBoxModelObject.cpp:
111723
1117242010-06-28  Andreas Kling  <andreas.kling@nokia.com>
111725
111726        Reviewed by Kenneth Rohde Christiansen.
111727
111728        [Qt] Use HTML5-conformant gradient interpolation mode
111729        https://bugs.webkit.org/show_bug.cgi?id=41298
111730
111731        Change the Qt Gradient implementation to use ComponentInterpolation mode.
111732
111733        Spec link:
111734        http://www.whatwg.org/specs/web-apps/current-work/#colors-and-styles
111735
111736        * platform/graphics/qt/GradientQt.cpp:
111737        (WebCore::Gradient::platformGradient):
111738
1117392010-06-28  Beth Dakin  <bdakin@apple.com>
111740
111741        Reviewed by Sam Weinig.
111742
111743        Fix for https://bugs.webkit.org/show_bug.cgi?id=9197 CSS3: Borders 
111744        with border-radius and double, groove, or ridge styles should look 
111745        better
111746
111747        This patch re-works border radius painting to stroke paths instead 
111748        of arcs. 
111749
111750        Added new function clipConvexPolygon(). Added static 
111751        addConvexPolygonToContext so that code can be shared between 
111752        drawConvexPolygon() and clipConvexPolygon().
111753        * platform/graphics/GraphicsContext.h:
111754        * platform/graphics/cg/GraphicsContextCG.cpp:
111755        (WebCore::addConvexPolygonToContext):
111756        (WebCore::GraphicsContext::drawConvexPolygon):
111757        (WebCore::GraphicsContext::clipConvexPolygon):
111758
111759        Shells of implementations on non-CG platforms.
111760        * platform/graphics/cairo/GraphicsContextCairo.cpp:
111761        (WebCore::GraphicsContext::clipConvexPolygon):
111762        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
111763        (WebCore::GraphicsContext::clipConvexPolygon):
111764        * platform/graphics/qt/GraphicsContextQt.cpp:
111765        (WebCore::GraphicsContext::clipConvexPolygon):
111766        * platform/graphics/skia/GraphicsContextSkia.cpp:
111767        (WebCore::GraphicsContext::clipConvexPolygon):
111768        * platform/graphics/wince/GraphicsContextWince.cpp:
111769        (WebCore::GraphicsContext::clipConvexPolygon):
111770        * platform/graphics/wx/GraphicsContextWx.cpp:
111771        (WebCore::GraphicsContext::clipConvexPolygon):
111772
111773        This new helper function determines if the inner corners of the 
111774        border will arch in or meet at a right angle. 
111775        * rendering/RenderBoxModelObject.cpp:
111776        (WebCore::borderWillArcInnerEdge):
111777
111778        This function is re-written so that, for each side of the border, 
111779        if borderWillArcInnerEdge() is true, we go down a brand new code 
111780        path of clipping to a convex polygon for the border side and then 
111781        we paint the side using the new function drawBoxSideFromPath(). If 
111782        borderWillArcInnerEdge() is false, then we call into the old 
111783        familiar drawLineForBoxSide() which relies on the rounder clip 
111784        rects we have set up to arch the outer edge of the border.
111785        (WebCore::RenderBoxModelObject::paintBorder):
111786
111787        This new function does the math to figure out the convex polygon 
111788        to clip to in the case where we need to arch the inner edge of the 
111789        border. This calls into a new GraphicsContext function that is only 
111790        implemented on CG at this time. This is the reason we are keeping 
111791        around an old version of paintBorder() for now.
111792        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
111793        * rendering/RenderBoxModelObject.h:
111794
111795        borderInnerRect() is a new convenience function called from 
111796        RenderObject and RenderBoxModelObject to determine the rect of the 
111797        inside edge of the border.
111798        * rendering/RenderObject.cpp:
111799        (WebCore::RenderObject::borderInnerRect):
111800
111801        This new function re-works drawArcForBoxSide to draw from Paths 
111802        when appropriate instead of stroking arcs. 
111803        (WebCore::RenderObject::drawBoxSideFromPath):
111804
111805        Keep this around for that do not HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until 
111806        GraphicsContext::clipConvexPolygon() is implemented.
111807        (WebCore::RenderObject::drawArcForBoxSide):
111808        * rendering/RenderObject.h:
111809
111810        New function 
111811        RenderStyle::getInnerBorderRadiiForRectWithBorderWidths() gets the 
111812        inner radius values for a rect. It takes border widths a parameters 
111813        rather than using the style's border widths so that it can be used 
111814        in inner radius calculations for double and groove/ridge 
111815        calculations. The W3C corner constraining rules were moved to a 
111816        static function that can be called from both getBorderRadiiForRect
111817        () and getInnerBorderRadiiForRectWithBorderWidths().
111818        * rendering/style/RenderStyle.cpp:
111819        (WebCore::constrainCornerRadiiForRect):
111820        (WebCore::RenderStyle::getBorderRadiiForRect):
111821        (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
111822        * rendering/style/RenderStyle.h:
111823
1118242010-06-28  Martin Robinson  <mrobinson@igalia.com>
111825
111826        Reviewed by Xan Lopez.
111827
111828        [GTK] Add support for the progress bar tag
111829        https://bugs.webkit.org/show_bug.cgi?id=41014
111830
111831        Add support for rendering the progress tag for WebKit GTK+.
111832
111833        * GNUmakefile.am:
111834        * platform/gtk/RenderThemeGtk.cpp:
111835        (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
111836        Added. Currently progress bar animations are disabled. As it looks like
111837        there may not be a good way to support this with Mozilla's theme drawing code.
111838        (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
111839        (WebCore::RenderThemeGtk::adjustProgressBarStyle): Added.
111840        (WebCore::RenderThemeGtk::paintProgressBar): Added.
111841        * platform/gtk/RenderThemeGtk.h: Add declarations for new methods.
111842        * platform/gtk/gtk2drawing.c: 
111843        (moz_gtk_get_progress_widget): Expose the progress widget so that the chunk can be positioned properly.
111844        * platform/gtk/gtkdrawing.h: Added declaration for moz_gtk_get_progress_widget.
111845
1118462010-06-28  Adam Barth  <abarth@webkit.org>
111847
111848        Reviewed by Eric Seidel.
111849
111850        HTML5 Regression: Crash in insert()
111851        https://bugs.webkit.org/show_bug.cgi?id=41281
111852
111853        We need to call endIfDelayed() outside of the script nesting block
111854        because endIfDelayed() might call end(), which deletes the
111855        HTMLDocumentParser.  If we try to exit the script nesting block after
111856        the HTMLDocumentParser has been deleted, we'll decrement unallocated
111857        memory, which is bad times.
111858
111859        Moving endIfDelayed outside of the script nesting block also lets us
111860        avoid ending if inWrite() is true.  If we're inWrite(), then there's
111861        folks above us on the stack who will crash of the HTMLDocumentParser is
111862        deallocated.  Adding this check matches the LegacyHTMLDocumentParser
111863        and the logic in attemptToEnd, facilitating a small refactoring of the
111864        common logic for improved readability.
111865
111866        I don't know of any test case that changes in behavior because of this
111867        patch, but this bug exists on the same line of code that the reliablity
111868        tests crashed.  I'm not sure whether this patch will fix that crash,
111869        but removing bugs (even theoretical ones) seems like a good idea.
111870
111871        * html/HTMLDocumentParser.cpp:
111872        (WebCore::HTMLDocumentParser::insert):
111873        (WebCore::HTMLDocumentParser::append):
111874        (WebCore::HTMLDocumentParser::attemptToEnd):
111875        (WebCore::HTMLDocumentParser::endIfDelayed):
111876        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
111877        * html/HTMLDocumentParser.h:
111878        (WebCore::HTMLDocumentParser::shouldDelayEnd):
111879
1118802010-06-28  Eric Carlson  <eric.carlson@apple.com>
111881
111882        Reviewed by Sam Weinig.
111883
111884        MediaPlayerPrivate::getSupportedTypes does not return "modern" MIME types
111885        https://bugs.webkit.org/show_bug.cgi?id=41287
111886        <rdar://problem/8137402>
111887
111888        No new test because getSupportedTypes is used privately by MediaPlayer.
111889
111890        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
111891        (WebCore::MediaPlayerPrivate::getSupportedTypes): Build hash set with both common and
111892        modern types.
111893
1118942010-06-28  James Robinson  <jamesr@chromium.org>
111895
111896        Reviewed by Darin Adler.
111897
111898        REGRESSION(53790): Neopets page with mismatched elements misrenders
111899        https://bugs.webkit.org/show_bug.cgi?id=41181
111900
111901        Misnested formatting tags require fixup in order to create a valid DOM.  Because this takes
111902        O(N^2) time in some cases, http://trac.webkit.org/changeset/53790 added an iteration limit
111903        of 5 to this algorithm to avoid hangs.  This limit is too low for neopets, but a limit of
111904        7 is sufficient.  This raises the limit to 10 to have a bit of breathing room.  HTML5
111905        defines the fixup algorithm http://www.whatwg.org/specs/web-apps/current-work/#adoptionAgency
111906        but doesn't specify any particular iteration limit.
111907
111908        * html/LegacyHTMLTreeBuilder.cpp:
111909
1119102010-06-28  Adam Barth  <abarth@webkit.org>
111911
111912        Reviewed by Eric Seidel.
111913
111914        The new tree builder needs to call attach() on elements it attaches to
111915        the DOM
111916        https://bugs.webkit.org/show_bug.cgi?id=41293
111917
111918        Apparently Nodes expect to have their attach() method called when they
111919        are attached to the DOM.  The new tree builder is happy to oblige.
111920        Making this call requires some fancy footwork with RefPtr/PassRefPtr to
111921        avoid extra ref churn while keeping each function small.
111922
111923        * html/HTMLTreeBuilder.cpp:
111924        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
111925        (WebCore::HTMLTreeBuilder::processCharacter):
111926        (WebCore::HTMLTreeBuilder::insertDoctype):
111927        (WebCore::HTMLTreeBuilder::insertComment):
111928        (WebCore::HTMLTreeBuilder::insertCommentOnDocument):
111929        (WebCore::HTMLTreeBuilder::insertElement):
111930        (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
111931        (WebCore::HTMLTreeBuilder::insertScriptElement):
111932        * html/HTMLTreeBuilder.h:
111933        (WebCore::HTMLTreeBuilder::attach):
111934
1119352010-06-28  Xan Lopez  <xlopez@igalia.com>
111936
111937        Fix distcheck.
111938
111939        * GNUmakefile.am:
111940
1119412010-06-28  Kenneth Russell  <kbr@google.com>
111942
111943        Reviewed by Dimitri Glazkov.
111944
111945        Index validation caches buffer size information too aggressively
111946        https://bugs.webkit.org/show_bug.cgi?id=41092
111947
111948        Test: fast/canvas/webgl/index-validation-with-resized-buffer.html
111949
111950        * html/canvas/WebGLRenderingContext.cpp:
111951        (WebCore::WebGLRenderingContext::validateRenderingState):
111952         - Compute the number of valid elements each time based on the latched buffer.
111953        (WebCore::WebGLRenderingContext::vertexAttribPointer):
111954         - Do not cache the buffer size, only the attributes used to
111955           compute the number of required elements.
111956        * html/canvas/WebGLRenderingContext.h:
111957        (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
111958         - Ditto.
111959
1119602010-06-28  Andreas Kling  <andreas.kling@nokia.com>
111961
111962        Reviewed by Simon Hausmann.
111963
111964        [Qt] Replace single treat-as-space characters with normal space
111965        https://bugs.webkit.org/show_bug.cgi?id=41278
111966
111967        This keeps Qt from attempting glyph substitution and loading a bunch
111968        of extra fonts when encountering &nbsp; entities.
111969
111970        * platform/graphics/qt/FontQt.cpp:
111971        (WebCore::Font::floatWidthForComplexText):
111972
1119732010-06-28  Robin Cao  <robin.cao@torchmobile.com.cn>
111974
111975        Reviewed by Dan Bernstein.
111976
111977        canvas fillText with @font-face crashes
111978        https://bugs.webkit.org/show_bug.cgi?id=35486
111979
111980        The font object in CanvasRenderingContext2D may become invalid at some point.
111981        Override recalcStyle() in HTMLCanvasElement, and update the font object from there if needed.
111982
111983        A test already exists: canvas/philip/tests/2d.text.draw.fontface.repeat.html
111984
111985        * html/HTMLCanvasElement.cpp:
111986        (WebCore::HTMLCanvasElement::recalcStyle):
111987        * html/HTMLCanvasElement.h:
111988        * html/canvas/CanvasRenderingContext2D.cpp:
111989        (WebCore::CanvasRenderingContext2D::updateFont):
111990        * html/canvas/CanvasRenderingContext2D.h:
111991
1119922010-06-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
111993
111994        Unreviewed build fix.
111995
111996        [EFL] Build fix for latest version of Ecore library.
111997        Ecore recently changed return type of callbacks from int to Eina_Bool.
111998
111999        No new functionality, so no new tests.
112000
112001        * platform/efl/SharedTimerEfl.cpp:
112002        (WebCore::timerEvent): Return Eina_Bool instead of int.
112003
1120042010-06-28  Xan Lopez  <xlopez@igalia.com>
112005
112006        Fix build with GTK+ older than 2.18
112007
112008        * platform/gtk/ScrollViewGtk.cpp:
112009        (WebCore::ScrollView::visibleContentRect):
112010
1120112010-06-28  Xan Lopez  <xlopez@igalia.com>
112012
112013        Reviewed by Adam Barth.
112014
112015        [GTK] Push NULL context on every DOM bindings entry point
112016        https://bugs.webkit.org/show_bug.cgi?id=39967
112017
112018        Update GObject DOM bindings to push the NULL context on every API
112019        entry point, and update bindings test results.
112020
112021        * bindings/scripts/CodeGeneratorGObject.pm:
112022        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
112023        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
112024        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
112025
1120262010-06-28  Martin Robinson  <martin.james.robinson@gmail.com>
112027
112028        Reviewed by Adam Roben.
112029
112030        [WinCairo] Text box backgrounds do not render in partially opaque layers
112031        https://bugs.webkit.org/show_bug.cgi?id=41113
112032
112033        Tests:
112034         manual-tests/partially-opaque-text-input.html
112035
112036        * platform/graphics/win/GraphicsContextCairoWin.cpp:
112037        (WebCore::GraphicsContext::releaseWindowsContext):
112038        When restoring a context which does not support alpha blending, manually
112039        set the alpha channel of the HBITMAP to fully opaque. This will effectively
112040        ignore the alpha channel of the HBITMAP, which is necessary because GDI
112041        drawing functions set the alpha value to be fully transparent (0).
112042
1120432010-06-28  Martin Robinson  <martin.james.robinson@gmail.com>
112044
112045        Reviewed by Adam Roben.
112046
112047        [WinCairo] Rendering of themed elements on a layer with opacity produces nothing
112048        https://bugs.webkit.org/show_bug.cgi?id=41111
112049
112050        Tests:
112051         manual-tests/partially-opaque-form-elements.html
112052
112053        * platform/graphics/win/GraphicsContextCairoWin.cpp:
112054        (WebCore::GraphicsContext::releaseWindowsContext):
112055        Preform a cairo_save() and a cairo_restore() around code modifying the transformation
112056        matrix of the Cairo surface. Also set the destination coordinates before adjusting
112057        the transformation matrix scale, so that the destination coordinates are not scaled
112058        as well.
112059
1120602010-06-28  Sam Magnuson  <smagnuson@netflix.com>
112061
112062        Reviewed by Kenneth Rohde Christiansen.
112063
112064        [Qt] GraphicsLayerQt delay seems unnecessary.
112065        https://bugs.webkit.org/show_bug.cgi?id=40846
112066
112067        Test: compositing/animation/busy-indicator.html
112068
112069        * platform/graphics/qt/GraphicsLayerQt.cpp:
112070        (WebCore::GraphicsLayerQtImpl::recache):
112071        (WebCore::GraphicsLayerQtImpl::flushChanges):
112072        (WebCore::GraphicsLayerQt::setContentsToImage):
112073        (WebCore::GraphicsLayerQt::addAnimation):
112074
1120752010-06-28  Xan Lopez  <xlopez@igalia.com>
112076
112077        Reviewed by Gustavo Noronha.
112078
112079        Until now we were adding the event listeners for a given object in
112080        the wrap method, since that's the first moment we have accoss to
112081        the core WebCore object. The problem is that we only install the
112082        listeners that the topmost class in the class hierarchy needs (eg,
112083        HTMLParagrahElement for a P element), when most of the actual
112084        event attributes are defined in the base classes (Node, Element,
112085        ...).
112086
112087        To fix this set the core object as a construct/write-only property
112088        on the wrapper GObject, and set the eventlisteners in the cGObject
112089        'construct' method, chaining up through all the class hierarchy
112090        until the end. This way we'll get all the eventlisteners defined
112091        in all the superclasses of our object, which is what we want.
112092
112093        * bindings/gobject/WebKitDOMObject.cpp:
112094        (webkit_dom_object_get_property):
112095        (webkit_dom_object_set_property):
112096        (webkit_dom_object_class_init):
112097        * bindings/scripts/CodeGeneratorGObject.pm:
112098        * dom/Node.idl:
112099
1121002010-06-28  Xan Lopez  <xlopez@igalia.com>
112101
112102        Fix GTK+ build.
112103
112104        * platform/gtk/RenderThemeGtk.cpp:
112105
1121062010-06-28  Xan Lopez  <xlopez@igalia.com>
112107
112108        Reviewed by Gustavo Noronha.
112109
112110        [GTK] Does not compile with -DGSEAL_ENABLE
112111        https://bugs.webkit.org/show_bug.cgi?id=37851
112112
112113        Fix build with GSEAL enabled.
112114
112115        * GNUmakefile.am:
112116        * platform/gtk/GtkVersioning.h:
112117        * platform/gtk/RenderThemeGtk.cpp:
112118        (WebCore::paintMozillaGtkWidget):
112119        (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
112120        (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
112121        (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
112122        (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
112123        (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
112124        (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
112125        (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
112126        (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
112127        (WebCore::RenderThemeGtk::systemColor):
112128        * platform/gtk/ScrollViewGtk.cpp:
112129        (WebCore::ScrollView::platformRemoveChild):
112130        (WebCore::ScrollView::visibleContentRect):
112131        * platform/gtk/gtk2drawing.c:
112132        (ensure_toggle_button_widget):
112133        (ensure_combo_box_widgets):
112134        (ensure_combo_box_entry_widgets):
112135        (ensure_tree_header_cell_widget):
112136        (moz_gtk_button_paint):
112137        (moz_gtk_toggle_paint):
112138        (calculate_button_inner_rect):
112139        (calculate_arrow_rect):
112140        (moz_gtk_scrollbar_button_paint):
112141        (moz_gtk_scrollbar_trough_paint):
112142        (moz_gtk_scrollbar_thumb_paint):
112143        (moz_gtk_spin_paint):
112144        (moz_gtk_spin_updown_paint):
112145        (moz_gtk_scale_paint):
112146        (moz_gtk_scale_thumb_paint):
112147        (moz_gtk_gripper_paint):
112148        (moz_gtk_hpaned_paint):
112149        (moz_gtk_vpaned_paint):
112150        (moz_gtk_entry_paint):
112151        (moz_gtk_treeview_paint):
112152        (moz_gtk_tree_header_sort_arrow_paint):
112153        (moz_gtk_treeview_expander_paint):
112154        (moz_gtk_expander_paint):
112155        (moz_gtk_combo_box_paint):
112156        (moz_gtk_downarrow_paint):
112157        (moz_gtk_combo_box_entry_button_paint):
112158        (moz_gtk_container_paint):
112159        (moz_gtk_toggle_label_paint):
112160        (moz_gtk_toolbar_paint):
112161        (moz_gtk_toolbar_separator_paint):
112162        (moz_gtk_tooltip_paint):
112163        (moz_gtk_resizer_paint):
112164        (moz_gtk_frame_paint):
112165        (moz_gtk_progressbar_paint):
112166        (moz_gtk_progress_chunk_paint):
112167        (moz_gtk_get_tab_thickness):
112168        (moz_gtk_tab_paint):
112169        (moz_gtk_tabpanels_paint):
112170        (moz_gtk_tab_scroll_arrow_paint):
112171        (moz_gtk_menu_bar_paint):
112172        (moz_gtk_menu_popup_paint):
112173        (moz_gtk_menu_separator_paint):
112174        (moz_gtk_menu_item_paint):
112175        (moz_gtk_menu_arrow_paint):
112176
1121772010-06-28  Xan Lopez  <xlopez@igalia.com>
112178
112179        Reviewed by Gustavo Noronha.
112180
112181        [GTK] Add support for GTK+3
112182        https://bugs.webkit.org/show_bug.cgi?id=41253
112183
112184        Adapt build system for 3.x support.
112185
112186        * GNUmakefile.am:
112187
1121882010-06-28  Yury Semikhatsky  <yurys@chromium.org>
112189
112190        Reviewed by Pavel Feldman.
112191
112192        [v8] Web Inspector: properties of scope variables are flattened while on a breakpoint.
112193        https://bugs.webkit.org/show_bug.cgi?id=41214
112194
112195        Test: inspector/debugger-proto-property.html
112196
112197        * inspector/front-end/InjectedScript.js:
112198        (injectedScriptConstructor): object proxy with non-empty path cannot be scope proxy.
112199
1122002010-06-28  MORITA Hajime  <morrita@google.com>
112201
112202        Unreviewed attempt to fix windows build.
112203
112204        * page/DOMWindow.idl:
112205
1122062010-06-22  MORITA Hajime  <morrita@google.com>
112207
112208        Reviewed by Kent Tamura.
112209
112210        <progress> should be styled with -webkit-progress-bar-value
112211        https://bugs.webkit.org/show_bug.cgi?id=40823
112212
112213        Fixed to peek styles of the shadow node pseudo class to fallback
112214        to non-styled painting.
112215        
112216        * css/html.css: 
112217        (progress): Added defaul background-color.
112218        (progress::-webkit-progress-bar-value): Added defaul background-color.
112219        * rendering/RenderProgress.cpp:
112220        (WebCore::RenderProgress::shouldHaveParts):
112221        (WebCore::RenderProgress::updatePartsState):
112222
112223        Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html
112224        
1122252010-06-28  Csaba Osztrogonác  <ossy@webkit.org>
112226
112227        Reviewed by Kent Tamura.
112228
112229        GCC suggest parentheses around && within ||
112230        https://bugs.webkit.org/show_bug.cgi?id=41245
112231
112232        * rendering/RenderBlock.cpp:
112233        (WebCore::RenderBlock::paintChildren):
112234
1122352010-06-28  Adam Barth  <abarth@webkit.org>
112236
112237        Reviewed by Eric Seidel.
112238
112239        Don't dump contents of <script> elements in LayoutTests
112240        https://bugs.webkit.org/show_bug.cgi?id=41277
112241
112242        Apparently we need to tell each element when we start and stop parsing
112243        its children.  If we don't do this, we see the contents of every script
112244        and style element in dumpAsText LayoutTests.  (This patch is *well*
112245        covered by LayoutTests.)
112246
112247        * html/HTMLTreeBuilder.h:
112248        (WebCore::HTMLTreeBuilder::ElementStack::pop):
112249        (WebCore::HTMLTreeBuilder::ElementStack::push):
112250
1122512010-06-28  Eric Seidel  <eric@webkit.org>
112252
112253        Reviewed by Adam Barth.
112254
112255        Make it possible to test the new HTML5 TreeBuilder
112256        https://bugs.webkit.org/show_bug.cgi?id=41276
112257
112258        Adam was concerned that someone might make their port
112259        depend on this setting (I guess we had some trouble with that
112260        with the HTML5Parser setting), so I littered the code with warnings.
112261
112262        test-html5-parser now tests this code path.
112263
112264        * html/HTMLTreeBuilder.cpp:
112265        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
112266        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
112267        (WebCore::HTMLTreeBuilder::finished):
112268        * page/Settings.cpp:
112269        (WebCore::Settings::Settings):
112270        * page/Settings.h:
112271        (WebCore::Settings::setHTML5TreeBuilderEnabled_DO_NOT_USE):
112272        (WebCore::Settings::html5TreeBuilderEnabled):
112273
1122742010-06-28  Adam Barth  <abarth@webkit.org>
112275
112276        Reviewed by Eric Seidel.
112277
112278        Make the html5lib runner.html not assert
112279        https://bugs.webkit.org/show_bug.cgi?id=41273
112280
112281        This patch gets us closer to being able to run the parser tests.  We
112282        still don't get parsing correct, but at least we don't assert.  :)
112283
112284        * html/HTMLTreeBuilder.cpp:
112285        (WebCore::HTMLTreeBuilder::processStartTag):
112286        (WebCore::HTMLTreeBuilder::processComment):
112287        (WebCore::HTMLTreeBuilder::insertCommentOnDocument):
112288        * html/HTMLTreeBuilder.h:
112289
1122902010-06-28  Eric Seidel  <eric@webkit.org>
112291
112292        Unreviewed.  Attempt to fix Chromium and Qt builders.
112293
112294        Add a new baseclass for XML, HTML and Text DocumentParsers to clean up DocumentParser call sites
112295        https://bugs.webkit.org/show_bug.cgi?id=41141
112296
112297        No functional changes, thus no tests.
112298
112299        * bindings/v8/ScriptController.cpp:
112300        (WebCore::ScriptController::eventHandlerLineNumber):
112301        (WebCore::ScriptController::eventHandlerColumnNumber):
112302        * dom/XMLDocumentParserQt.cpp:
112303        (WebCore::XMLDocumentParser::XMLDocumentParser):
112304        (WebCore::XMLDocumentParser::stopParsing):
112305
1123062010-06-28  Adam Barth  <abarth@webkit.org>
112307
112308        Reviewed by Eric Seidel.
112309
112310        Add support for parsing attributes
112311        https://bugs.webkit.org/show_bug.cgi?id=41272
112312
112313        This patch lets use parse the following document:
112314
112315        <script src="data:text/javascript,alert('PASS')"></script>
112316
112317        * html/HTMLTreeBuilder.cpp:
112318        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
112319        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
112320        (WebCore::HTMLTreeBuilder::insertScriptElement):
112321        (WebCore::HTMLTreeBuilder::createElement):
112322
1123232010-06-28  Eric Seidel  <eric@webkit.org>
112324
112325        Reviewed by Darin Adler.
112326
112327        Add a new baseclass for XML, HTML and Text DocumentParsers to clean up DocumentParser call sites
112328        https://bugs.webkit.org/show_bug.cgi?id=41141
112329
112330        By splitting ScriptableDocumentParser and DecodedDataDocumentParser
112331        out from DocumentParser we've made the DocumentParser and
112332        RawDataDocumentParser classes simpler.
112333
112334        No functional change, thus no tests.
112335
112336        * Android.mk:
112337        * CMakeLists.txt:
112338        * GNUmakefile.am:
112339        * WebCore.gypi:
112340        * WebCore.pro:
112341        * WebCore.vcproj/WebCore.vcproj:
112342        * WebCore.xcodeproj/project.pbxproj:
112343        * bindings/js/ScriptController.cpp:
112344        (WebCore::ScriptController::eventHandlerLineNumber):
112345        * css/CSSStyleSheet.cpp:
112346        (WebCore::CSSStyleSheet::checkLoaded):
112347        * dom/Document.cpp:
112348        (WebCore::Document::scriptableDocumentParser):
112349        (WebCore::Document::open):
112350        (WebCore::Document::implicitOpen):
112351        (WebCore::Document::implicitClose):
112352        (WebCore::Document::removePendingSheet):
112353        * dom/Document.h:
112354        (WebCore::Document::parser):
112355        * dom/DocumentParser.cpp:
112356        (WebCore::DocumentParser::DocumentParser):
112357        * dom/DocumentParser.h:
112358        (WebCore::DocumentParser::asScriptableDocumentParser):
112359        * dom/RawDataDocumentParser.h:
112360        (WebCore::RawDataDocumentParser::finishWasCalled):
112361        * dom/ScriptableDocumentParser.cpp: Copied from WebCore/html/HTMLEntityParser.h.
112362        (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
112363        * dom/ScriptableDocumentParser.h: Added.
112364        (WebCore::ScriptableDocumentParser::isExecutingScript):
112365        (WebCore::ScriptableDocumentParser::executeScriptsWaitingForStylesheets):
112366        (WebCore::ScriptableDocumentParser::xssAuditor):
112367        (WebCore::ScriptableDocumentParser::setXSSAuditor):
112368        (WebCore::ScriptableDocumentParser::processingContentWrittenByScript):
112369        (WebCore::ScriptableDocumentParser::asScriptableDocumentParser):
112370        * dom/ViewportArguments.cpp:
112371        (WebCore::parserLineNumber):
112372        (WebCore::reportViewportWarning):
112373        * dom/XMLDocumentParser.h:
112374        * dom/XMLDocumentParserLibxml2.cpp:
112375        (WebCore::XMLDocumentParser::XMLDocumentParser):
112376        * html/HTMLDocumentParser.cpp:
112377        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
112378        (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
112379        * html/HTMLDocumentParser.h:
112380        * html/LegacyHTMLDocumentParser.cpp:
112381        (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
112382        (WebCore::LegacyHTMLDocumentParser::parseTag):
112383        * html/LegacyHTMLDocumentParser.h:
112384        (WebCore::LegacyHTMLDocumentParser::processingContentWrittenByScript):
112385        * html/LegacyHTMLTreeBuilder.cpp:
112386        (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
112387        * loader/DocumentLoader.cpp:
112388        * loader/DocumentWriter.cpp:
112389        * loader/TextDocument.cpp:
112390        (WebCore::TextDocumentParser::TextDocumentParser):
112391        (WebCore::TextDocumentParser::finish):
112392        * svg/SVGDocumentExtensions.cpp:
112393        (WebCore::parserLineNumber):
112394        (WebCore::reportMessage):
112395        (WebCore::SVGDocumentExtensions::reportWarning):
112396        (WebCore::SVGDocumentExtensions::reportError):
112397
1123982010-06-27  Steve Falkenburg  <sfalken@apple.com>
112399
112400        Reviewed by Mark Rowe.
112401
112402        WebKit2 build exceeds address space on 32-bit Windows builders
112403        https://bugs.webkit.org/show_bug.cgi?id=41270
112404
112405        Add all-in-one file for render-related SVG files.
112406        Clean up other all-in-one files by adding missing files, excluding matching files from the vcproj.
112407        Reduces release WebCore.lib size by 10% (160MB).
112408
112409        * DerivedSources.cpp:
112410        * WebCore.vcproj/WebCore.vcproj:
112411        * bindings/js/JSBindingsAllInOne.cpp:
112412        * html/HTMLElementsAllInOne.cpp:
112413        * rendering/RenderSVGAllInOne.cpp: Added.
112414
1124152010-06-27  Adam Barth  <abarth@webkit.org>
112416
112417        Reviewed by Eric Seidel.
112418
112419        Sketch out the InBodyMode for the tree builder
112420        https://bugs.webkit.org/show_bug.cgi?id=41271
112421
112422        This gives us some basic behavior for the InBodyMode.  I've implemented
112423        some of the easier logic.  The more complicated logic will be in
112424        subsequent patches.
112425
112426        * html/HTMLTreeBuilder.cpp:
112427        (WebCore::HTMLTreeBuilder::processStartTag):
112428        (WebCore::HTMLTreeBuilder::processEndTag):
112429        (WebCore::HTMLTreeBuilder::insertFormatingElement):
112430        (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
112431        * html/HTMLTreeBuilder.h:
112432
1124332010-06-25  Yuzo Fujishima  <yuzo@google.com>
112434
112435        Reviewed by Shinichiro Hamaji.
112436
112437        Improve default value handling for page format properties.
112438
112439        Default page size and orientation have been hard-coded.
112440        Instead, pass default page size and margins to
112441        WebCore::Document::pageSizeAndMarginsInPixels to handle auto page size
112442        and margins specified as percentages.
112443        Return margins instead of page rect.
112444
112445        https://bugs.webkit.org/show_bug.cgi?id=41150
112446
112447        * WebCore.base.exp:
112448        * css/CSSStyleSelector.cpp:
112449        (WebCore::CSSStyleSelector::applyPageSizeProperty):
112450        (WebCore::CSSStyleSelector::pageSizeFromName):
112451        * css/html.css:
112452        (@page):
112453        * dom/Document.cpp:
112454        (WebCore::Document::pageSizeAndMarginsInPixels):
112455        * dom/Document.h:
112456        * page/PrintContext.cpp:
112457        (WebCore::PrintContext::pageProperty):
112458        (WebCore::PrintContext::pageSizeAndMarginsInPixels):
112459        * page/PrintContext.h:
112460        * rendering/style/RenderStyle.h:
112461        (WebCore::InheritedFlags::pageSizeType):
112462        (WebCore::InheritedFlags::setPageSizeType):
112463        (WebCore::InheritedFlags::resetPageSizeType):
112464        * rendering/style/StyleRareNonInheritedData.cpp:
112465        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
112466        (WebCore::StyleRareNonInheritedData::operator==):
112467        * rendering/style/StyleRareNonInheritedData.h:
112468        (WebCore::):
112469
1124702010-06-27  Adam Barth  <abarth@webkit.org>
112471
112472        Reviewed by Eric Seidel.
112473
112474        Clean up some loose ends in HTML5 tree builder
112475        https://bugs.webkit.org/show_bug.cgi?id=41265
112476
112477        This patch cleans up a few loose ends in HTML5 tree builder.
112478        Technically, we could do each of these as individual patches, but that
112479        didn't seem worth while.
112480
112481        * html/HTMLTreeBuilder.cpp:
112482        (WebCore::HTMLTreeBuilder::processStartTag):
112483            - Add missing break before default case statement.  I don't think
112484              this change is observable.
112485        (WebCore::HTMLTreeBuilder::processComment):
112486            - Originally I thought that comments had special processing in the
112487              InHeadNoscriptMode, but it turns out that when you unwind the
112488              definitions, it amounts to exactly the same thing.
112489        (WebCore::HTMLTreeBuilder::processEndOfFile):
112490            - Add missing break before default case statement.  I don't think
112491              this change is observable.
112492        (WebCore::HTMLTreeBuilder::insertComment):
112493            - Eliminate one unnecessary ref/deref pair.
112494        (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
112495            - When we insert self-closing elements, there's no reason to push
112496              them onto the stack of open elements just to pop them off again.
112497              This change saves a malloc/free pair as well as a ref/deref pair.
112498              Go team.
112499        * html/HTMLTreeBuilder.h:
112500            - Remove unused function.
112501
1125022010-06-27  Adam Barth  <abarth@webkit.org>
112503
112504        Reviewed by Eric Seidel.
112505
112506        Implement remaining StartTag processing for InHeadNoscriptMode
112507        https://bugs.webkit.org/show_bug.cgi?id=41264
112508
112509        The InHeadNoscriptMode processes some start tags "as if" the tree
112510        builder were in the InHeadMode.  This is an idiom we'll see more of
112511        later.  My approach is this patch is to factor all the logic for
112512        processing start tags in the InHeadMode into a separate function that
112513        can be called from both locations.  This seems cleaner than just
112514        splitting out the parts that are actually used by both modes.
112515
112516        * html/HTMLTreeBuilder.cpp:
112517        (WebCore::HTMLTreeBuilder::processStartTag):
112518        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
112519        (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
112520        * html/HTMLTreeBuilder.h:
112521
1125222010-06-27  Adam Barth  <abarth@webkit.org>
112523
112524        Reviewed by Eric Seidel.
112525
112526        Add support for <title> and <style> elements
112527        https://bugs.webkit.org/show_bug.cgi?id=41263
112528
112529        These elements use the generic RCDATA and RawText algorithms,
112530        respectively.
112531
112532        * html/HTMLTreeBuilder.cpp:
112533        (WebCore::HTMLTreeBuilder::processEndTag):
112534        (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
112535        (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
112536
1125372010-06-27  Adam Barth  <abarth@webkit.org>
112538
112539        Reviewed by Eric Seidel.
112540
112541        Actually insert Doctype elements
112542        https://bugs.webkit.org/show_bug.cgi?id=41262
112543
112544        This code is pretty much the same as in the old tree builder.
112545
112546        * html/HTMLToken.h:
112547        (WebCore::AtomicHTMLToken::publicIdentifier):
112548        (WebCore::AtomicHTMLToken::systemIdentifier):
112549        * html/HTMLTreeBuilder.cpp:
112550        (WebCore::HTMLTreeBuilder::insertDoctype):
112551
1125522010-06-27  Andreas Kling  <andreas.kling@nokia.com>
112553
112554        Reviewed by Darin Adler.
112555
112556        Canvas: Ignore calls to drawImage() with non-finite parameters
112557        https://bugs.webkit.org/show_bug.cgi?id=38929
112558
112559        This also fixes a Qt assert when using the raster graphics system.
112560
112561        Spec link:
112562        http://www.whatwg.org/specs/web-apps/current-work/#2dcontext
112563
112564        * html/canvas/CanvasRenderingContext2D.cpp:
112565        (WebCore::CanvasRenderingContext2D::drawImage):
112566
1125672010-06-27  Andreas Kling  <andreas.kling@nokia.com>
112568
112569        Reviewed by Kenneth Rohde Christiansen.
112570
112571        editing/execCommand/copy-without-selection.html fails on Qt after r61637
112572        https://bugs.webkit.org/show_bug.cgi?id=41025
112573
112574        The problem was that when getting data back via Clipboard::getData(),
112575        the String::String(const char*, int) constructor was called
112576        with UTF-16 data.
112577
112578        The solution is to use QMimeData's text() and setText() for "text/plain".
112579
112580        setText() which makes sure Qt passes the string in proper format to the
112581        system clipboard. (The previous implementation would convert it to UTF-8)
112582
112583        text() makes sure that the correct encoding is used (UTF-16) and that
112584        we get back whatever we originally put in there.
112585
112586        * platform/qt/ClipboardQt.cpp:
112587        (WebCore::isTextMimeType):
112588        (WebCore::ClipboardQt::getData):
112589        (WebCore::ClipboardQt::setData):
112590
1125912010-06-27  Adam Barth  <abarth@webkit.org>
112592
112593        Reviewed by Eric Seidel.
112594
112595        HTML5 tree builder should be able to execute inline scripts
112596        https://bugs.webkit.org/show_bug.cgi?id=41257
112597
112598        This patch implements enough machinery so that we can execute inline
112599        scripts in extremely simple documents such as the following:
112600
112601        <html>
112602        <script>
112603        alert(1);
112604        </script>
112605
112606        To get this to work, I had to flesh out a surprising amount of the data
112607        structures for processing the <head>.  No tests because this is
112608        already covered by most LayoutTests.
112609
112610        * html/HTMLTreeBuilder.cpp:
112611        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
112612        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
112613        (WebCore::HTMLTreeBuilder::processStartTag):
112614        (WebCore::HTMLTreeBuilder::processEndTag):
112615        (WebCore::HTMLTreeBuilder::processCharacter):
112616        (WebCore::HTMLTreeBuilder::insertComment):
112617        (WebCore::HTMLTreeBuilder::insertElement):
112618        (WebCore::HTMLTreeBuilder::insertScriptElement):
112619        * html/HTMLTreeBuilder.h:
112620        (WebCore::HTMLTreeBuilder::ElementRecord::ElementRecord):
112621        (WebCore::HTMLTreeBuilder::ElementRecord::element):
112622        (WebCore::HTMLTreeBuilder::ElementRecord::next):
112623        (WebCore::HTMLTreeBuilder::ElementRecord::releaseNext):
112624        (WebCore::HTMLTreeBuilder::ElementRecord::setNext):
112625        (WebCore::HTMLTreeBuilder::ElementStack::pop):
112626        (WebCore::HTMLTreeBuilder::ElementStack::push):
112627        (WebCore::HTMLTreeBuilder::ElementStack::top):
112628        (WebCore::HTMLTreeBuilder::ElementStack::remove):
112629        (WebCore::HTMLTreeBuilder::currentElement):
112630
1126312010-06-26  Brady Eidson  <beidson@apple.com>
112632
112633        Reviewed by Darin Adler.
112634
112635        beforeProcess event needs to fire before inline scripts/stylesheets take effect
112636        <rdar://problem/8084335> and https://bugs.webkit.org/show_bug.cgi?id=40484
112637
112638        This patch adds the Event, the onBeforeProcess attribute, and hooks the attribute up in a few places.
112639        Besides that, no change in behavior.
112640
112641        Layout tests will come with the actual implementations as a followup to this patch.
112642
112643        Project file nonsense:
112644        * DerivedSources.make:
112645        * GNUmakefile.am:
112646        * WebCore.gypi:
112647        * WebCore.pri:
112648        * WebCore.pro:
112649        * WebCore.vcproj/WebCore.vcproj:
112650        * WebCore.xcodeproj/project.pbxproj:
112651
112652        Scaffolding for the event itself:
112653        * dom/BeforeProcessEvent.cpp: Added.
112654        (WebCore::BeforeProcessEvent::text):
112655        (WebCore::BeforeProcessEvent::setText):
112656        * dom/BeforeProcessEvent.h: Added.
112657        (WebCore::BeforeProcessEvent::create):
112658        (WebCore::BeforeProcessEvent::initBeforeProcessEvent):
112659        (WebCore::BeforeProcessEvent::BeforeProcessEvent):
112660        * dom/BeforeProcessEvent.idl: Added.
112661
112662        * dom/EventNames.h:
112663
112664        Respect the onBeforeProcess attribute:
112665        * dom/Document.cpp:
112666        (WebCore::Document::addListenerTypeIfNeeded):
112667        * dom/Document.h:
112668        (WebCore::Document::):
112669
112670        * html/HTMLAttributeNames.in:
112671        * html/HTMLScriptElement.cpp:
112672        (WebCore::HTMLScriptElement::parseMappedAttribute):
112673        * html/HTMLStyleElement.cpp:
112674        (WebCore::HTMLStyleElement::parseMappedAttribute):
112675
1126762010-06-26  Darin Adler  <darin@apple.com>
112677
112678        Try to fix Chromium build by adding back function used only by Chromium WebKit.
112679
112680        * html/HTMLInputElement.cpp:
112681        (WebCore::HTMLInputElement::defaultChecked): Added back.
112682        * html/HTMLInputElement.h: Added defaultChecked function.
112683
112684        * html/HTMLMetaElement.cpp:
112685        (WebCore::HTMLMetaElement::httpEquiv): Added back.
112686        * html/HTMLMetaElement.h: Added httpEquiv function.
112687
112688        * html/HTMLOptionElement.cpp:
112689        (WebCore::HTMLOptionElement::defaultSelected): Added back.
112690        * html/HTMLOptionElement.h: Added defaultSelected function.
112691
112692        * rendering/style/StyleRareNonInheritedData.h: Fixed incorrect struct vs. class
112693        here as seen in warnings on Chromium Windows bot.
112694
1126952010-06-26  Darin Adler  <darin@apple.com>
112696
112697        Try to fix Windows build by adding back function used only by Windows WebKit.
112698
112699        * html/HTMLOptionElement.cpp:
112700        (WebCore::HTMLOptionElement::label): Added back.
112701        * html/HTMLOptionElement.h: Added label function.
112702
1127032010-06-26  Darin Adler  <darin@apple.com>
112704
112705        Try to fix Qt build by adding back function used only by Qt WebKit.
112706
112707        * html/HTMLMetaElement.cpp:
112708        (WebCore::HTMLMetaElement::content): Added back.
112709        * html/HTMLMetaElement.h: Added content function.
112710
1127112010-06-26  Darin Adler  <darin@apple.com>
112712
112713        * html/HTMLFormElement.h: Removed stray character that got in here before landing.
112714
1127152010-06-26  Darin Adler  <darin@apple.com>
112716
112717        Reviewed by Sam Weinig.
112718
112719        Add more use of reflection, remove unused functions
112720        https://bugs.webkit.org/show_bug.cgi?id=41255
112721
112722        Also noticed that HTMLDirectoryElement was missing its create function
112723        and added that so the element will get the correct class.
112724
112725        * html/HTMLBaseFontElement.idl: Use reflection for the size attribute
112726        in the Objective-C code path too.
112727
112728        * html/HTMLSelectElement.idl: Use reflection for disabled and autofocus
112729        attributes. Also removed spaces and indenting to match other IDL files.
112730
112731        * html/HTMLStyleElement.idl: Use reflection for disabled attribute.
112732
112733        * html/HTMLTableCellElement.idl: Use reflection for noWrap attribute.
112734
112735        * html/HTMLTextAreaElement.idl: Use reflection for disabled, autofocus,
112736        readOnly, and required attributes.
112737
112738        * html/HTMLUListElement.idl: Use reflection for compact attribute.
112739
112740        * html/HTMLDirectoryElement.cpp:
112741        (WebCore::HTMLDirectoryElement::HTMLDirectoryElement): Made inline.
112742        (WebCore::HTMLDirectoryElement::create): Added.
112743        * html/HTMLDirectoryElement.h:
112744        Added create, made constructor private, removed unused functions.
112745
112746        * html/HTMLStyleElement.cpp:
112747        (WebCore::HTMLStyleElement::parseMappedAttribute): Removed code to
112748        set unused m_media data member.
112749        * html/HTMLStyleElement.h:
112750        Removed unused functions and m_media data member. Also made some
112751        functions private.
112752
112753        * html/HTMLAppletElement.cpp:
112754        * html/HTMLAppletElement.h:
112755        * html/HTMLAreaElement.cpp:
112756        * html/HTMLAreaElement.h:
112757        * html/HTMLBaseFontElement.cpp:
112758        * html/HTMLBaseFontElement.h:
112759        * html/HTMLButtonElement.cpp:
112760        * html/HTMLButtonElement.h:
112761        * html/HTMLDListElement.cpp:
112762        * html/HTMLDListElement.h:
112763        * html/HTMLDivElement.cpp:
112764        * html/HTMLDivElement.h:
112765        * html/HTMLFontElement.cpp:
112766        * html/HTMLFontElement.h:
112767        * html/HTMLFormControlElement.cpp:
112768        * html/HTMLFormControlElement.h:
112769        * html/HTMLFormElement.cpp:
112770        * html/HTMLFormElement.h:
112771        * html/HTMLFrameElement.cpp: Also removed an incorrect FIXME comment
112772        here after I did a little research to disprove it.
112773        * html/HTMLFrameElement.h:
112774        * html/HTMLFrameSetElement.cpp:
112775        * html/HTMLFrameSetElement.h:
112776        * html/HTMLHRElement.cpp:
112777        * html/HTMLHRElement.h:
112778        * html/HTMLHeadElement.cpp:
112779        * html/HTMLHeadElement.h:
112780        * html/HTMLHeadingElement.cpp:
112781        * html/HTMLHeadingElement.h:
112782        * html/HTMLHtmlElement.cpp:
112783        * html/HTMLHtmlElement.h:
112784        * html/HTMLImageElement.cpp:
112785        * html/HTMLImageElement.h:
112786        * html/HTMLInputElement.cpp:
112787        * html/HTMLInputElement.h:
112788        * html/HTMLIsIndexElement.cpp:
112789        * html/HTMLIsIndexElement.h:
112790        * html/HTMLLIElement.cpp:
112791        * html/HTMLLIElement.h:
112792        * html/HTMLLabelElement.cpp:
112793        * html/HTMLLabelElement.h:
112794        * html/HTMLLegendElement.cpp:
112795        * html/HTMLLegendElement.h:
112796        * html/HTMLLinkElement.cpp:
112797        * html/HTMLLinkElement.h:
112798        * html/HTMLMapElement.cpp:
112799        * html/HTMLMapElement.h:
112800        * html/HTMLMenuElement.cpp:
112801        * html/HTMLMenuElement.h:
112802        * html/HTMLMetaElement.cpp:
112803        * html/HTMLMetaElement.h:
112804        * html/HTMLModElement.cpp:
112805        * html/HTMLModElement.h:
112806        * html/HTMLOListElement.cpp:
112807        * html/HTMLOListElement.h:
112808        * html/HTMLObjectElement.cpp:
112809        * html/HTMLObjectElement.h:
112810        * html/HTMLOptGroupElement.cpp:
112811        * html/HTMLOptGroupElement.h:
112812        * html/HTMLOptionElement.cpp:
112813        * html/HTMLOptionElement.h:
112814        * html/HTMLParagraphElement.cpp:
112815        * html/HTMLParagraphElement.h:
112816        * html/HTMLParamElement.cpp:
112817        * html/HTMLParamElement.h:
112818        * html/HTMLPlugInElement.cpp:
112819        * html/HTMLPlugInElement.h:
112820        * html/HTMLPreElement.cpp:
112821        * html/HTMLPreElement.h:
112822        * html/HTMLQuoteElement.cpp:
112823        * html/HTMLQuoteElement.h:
112824        * html/HTMLScriptElement.cpp:
112825        * html/HTMLScriptElement.h:
112826        * html/HTMLTableCaptionElement.cpp:
112827        * html/HTMLTableCaptionElement.h:
112828        * html/HTMLTableCellElement.cpp:
112829        * html/HTMLTableCellElement.h:
112830        * html/HTMLTableColElement.cpp:
112831        * html/HTMLTableColElement.h:
112832        * html/HTMLTableElement.cpp:
112833        * html/HTMLTableElement.h:
112834        * html/HTMLTableRowElement.cpp:
112835        * html/HTMLTableRowElement.h:
112836        * html/HTMLTextAreaElement.cpp:
112837        * html/HTMLTextAreaElement.h:
112838        * html/HTMLUListElement.cpp:
112839        * html/HTMLUListElement.h:
112840        * html/HTMLVideoElement.cpp:
112841        * html/HTMLVideoElement.h:
112842        Removed unused functions.
112843
1128442010-06-26  Tony Gentilcore  <tonyg@chromium.org>
112845
112846        Reviewed by Adam Barth.
112847
112848        Exclude line numbers for sources which are not from the network.
112849        https://bugs.webkit.org/show_bug.cgi?id=41060
112850
112851        * html/HTMLDocumentParser.cpp:
112852        (WebCore::HTMLDocumentParser::write):
112853
1128542010-06-25  Antonio Gomes  <tonikitoo@webkit.org>
112855
112856        Unreviewed complementary fix for r61818. It added StaticHashSetListNode.cpp|h to the system,
112857        but did not added it to chromium build system.
112858
112859        * WebCore.gypi:
112860
1128612010-06-26  Pavel Feldman  <pfeldman@chromium.org>
112862
112863        Reviewed by Yury Semikhatsky.
112864
112865        Web Inspector: ScripsPanel.prototype.editScriptSource uses old addBreakpoint signature.
112866
112867        https://bugs.webkit.org/show_bug.cgi?id=41247
112868
112869        * inspector/front-end/BreakpointManager.js:
112870        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
112871        (WebInspector.Breakpoint.prototype.set enabled):
112872        (WebInspector.Breakpoint.prototype.set condition):
112873        * inspector/front-end/Object.js:
112874        (WebInspector.Object.prototype.addEventListener):
112875        (WebInspector.Object.prototype.removeEventListener):
112876        (WebInspector.Object.prototype.removeAllListeners):
112877        * inspector/front-end/ScriptsPanel.js:
112878        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
112879        (WebInspector.ScriptsPanel.prototype.editScriptSource):
112880
1128812010-06-26  Tony Gentilcore  <tonyg@chromium.org>
112882
112883        Reviewed by Dimitri Glazkov.
112884
112885        Add a guarded window.performance.timing binding which is disabled by default.
112886        https://bugs.webkit.org/show_bug.cgi?id=38924
112887
112888        This is where Web Timing support will be implemented. Web Timing is a
112889        draft spec for exposing load times to web pages. It will be enabled
112890        once the spec and implementaiton are solidified. See:
112891        http://dev.w3.org/2006/webapi/WebTiming/
112892
112893        No new tests because guarded behind a #DEFINE. Will add tests as
112894        functionality is landed.
112895
112896        * Android.mk:
112897        * CMakeLists.txt:
112898        * Configurations/FeatureDefines.xcconfig:
112899        * DerivedSources.cpp:
112900        * DerivedSources.make:
112901        * GNUmakefile.am:
112902        * WebCore.gypi:
112903        * WebCore.pri:
112904        * WebCore.pro:
112905        * WebCore.vcproj/WebCore.vcproj:
112906        * WebCore.xcodeproj/project.pbxproj:
112907        * page/DOMWindow.cpp:
112908        (WebCore::DOMWindow::clear):
112909        (WebCore::DOMWindow::performance):
112910        * page/DOMWindow.h:
112911        (WebCore::DOMWindow::optionalPerformance):
112912        * page/DOMWindow.idl:
112913        * page/NavigationTiming.cpp: Added.
112914        (WebCore::NavigationTiming::NavigationTiming):
112915        (WebCore::NavigationTiming::frame):
112916        (WebCore::NavigationTiming::disconnectFrame):
112917        (WebCore::NavigationTiming::navigationStart):
112918        * page/NavigationTiming.h: Added.
112919        (WebCore::NavigationTiming::create):
112920        * page/NavigationTiming.idl: Added.
112921        * page/Performance.cpp: Added.
112922        (WebCore::Performance::Performance):
112923        (WebCore::Performance::frame):
112924        (WebCore::Performance::disconnectFrame):
112925        (WebCore::Performance::timing):
112926        * page/Performance.h: Added.
112927        (WebCore::Performance::create):
112928        * page/Performance.idl: Added.
112929
1129302010-06-25  Zhenyao Mo  <zmo@google.com>
112931
112932        Reviewed by Dimitri Glazkov.
112933
112934        activeTexture wrongly generates error with legal input.
112935        https://bugs.webkit.org/show_bug.cgi?id=41227
112936
112937        Test: fast/canvas/webgl/texture-active-bind.html
112938
112939        * html/canvas/WebGLRenderingContext.cpp:
112940        (WebCore::WebGLRenderingContext::activeTexture): Fix the upper limit test for test units.
112941
1129422010-06-25  Johnny Ding  <jnd@chromium.org>
112943
112944        Reviewed by Adam Barth.
112945
112946        https://bugs.webkit.org/show_bug.cgi?id=41061
112947        Make sure Chromium's ScriptController::processingUserGesture follows the JSC's behavior.
112948        Set right value in UserGestureIndicator when handling events in PopupMenuList in chromium.
112949
112950        Test: fast/events/popup-when-select-change.html
112951
112952        * bindings/v8/ScriptController.cpp:
112953        (WebCore::ScriptController::processingUserGesture):
112954        * platform/chromium/PopupMenuChromium.cpp:
112955        (WebCore::PopupContainer::handleMouseDownEvent):
112956        (WebCore::PopupContainer::handleMouseMoveEvent):
112957        (WebCore::PopupContainer::handleMouseReleaseEvent):
112958        (WebCore::PopupContainer::handleWheelEvent):
112959        (WebCore::PopupContainer::handleKeyEvent):
112960
1129612010-06-25  Tony Gentilcore  <tonyg@chromium.org>
112962
112963        Reviewed by Eric Seidel.
112964
112965        Make PendingScript hold a CachedResourceClient open for its lifetime
112966        https://bugs.webkit.org/show_bug.cgi?id=40968
112967
112968        This replaces the mechanism introduced in r61374 with a simpler
112969        appraoch for preventing unexpected purges: always keep a client open.
112970        This approach will allow deferred scripts to add a client after
112971        the resource may have already been loaded without having to worry about
112972        the buffer being purged in the meantime.
112973
112974        No new tests because making a CachedResource purse itself is not
112975        testable from a LayoutTest.
112976
112977        * html/HTMLDocumentParser.cpp:
112978        (WebCore::HTMLDocumentParser::watchForLoad):
112979        (WebCore::HTMLDocumentParser::notifyFinished):
112980        * html/HTMLScriptRunner.cpp:
112981        (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
112982        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
112983        (WebCore::HTMLScriptRunner::isPendingScriptReady):
112984        (WebCore::HTMLScriptRunner::executePendingScript):
112985        (WebCore::HTMLScriptRunner::watchForLoad):
112986        (WebCore::HTMLScriptRunner::stopWatchingForLoad):
112987        (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
112988        (WebCore::HTMLScriptRunner::requestScript):
112989        (WebCore::HTMLScriptRunner::PendingScript::~PendingScript):
112990        (WebCore::HTMLScriptRunner::PendingScript::releaseElementAndClear):
112991        (WebCore::HTMLScriptRunner::PendingScript::setCachedScript):
112992        (WebCore::HTMLScriptRunner::PendingScript::cachedScript):
112993        * html/HTMLScriptRunner.h:
112994        (WebCore::HTMLScriptRunner::PendingScript::PendingScript):
112995        (WebCore::HTMLScriptRunner::PendingScript::watchingForLoad):
112996        (WebCore::HTMLScriptRunner::PendingScript::setWatchingForLoad):
112997        (WebCore::HTMLScriptRunner::PendingScript::notifyFinished):
112998        * html/HTMLScriptRunnerHost.h:
112999
1130002010-06-25  Zhenyao Mo  <zmo@google.com>
113001
113002        Reviewed by Dimitri Glazkov.
113003
113004        getUniform will not work for fetching uniform array elements
113005        https://bugs.webkit.org/show_bug.cgi?id=34508
113006
113007        Test: fast/canvas/webgl/gl-uniform-arrays.html
113008
113009        * html/canvas/WebGLRenderingContext.cpp:
113010        (WebCore::WebGLRenderingContext::attachShader): Generate correct errors.
113011        (WebCore::WebGLRenderingContext::getUniform): Dealing with array elements.
113012        (WebCore::WebGLRenderingContext::useProgram): Deal with program==null.
113013        (WebCore::WebGLRenderingContext::validateProgram): Generate correct errors.
113014        * platform/graphics/mac/GraphicsContext3DMac.mm:
113015        (WebCore::GraphicsContext3D::useProgram): Deal with program==null.
113016
1130172010-06-25  Zhenyao Mo  <zmo@google.com>
113018
113019        Reviewed by Dimitri Glazkov.
113020
113021        Bring set/get state functions to GLES2 conformance
113022        https://bugs.webkit.org/show_bug.cgi?id=41095
113023
113024        Tests: fast/canvas/webgl/gl-enable-enum-test.html
113025               fast/canvas/webgl/gl-enum-tests.html
113026
113027        * html/canvas/WebGLRenderingContext.cpp: Check input parameters according to GLES2 spec.
113028        (WebCore::WebGLRenderingContext::blendEquation):
113029        (WebCore::WebGLRenderingContext::blendEquationSeparate):
113030        (WebCore::WebGLRenderingContext::disable):
113031        (WebCore::WebGLRenderingContext::enable):
113032        (WebCore::WebGLRenderingContext::hint):
113033        (WebCore::WebGLRenderingContext::isEnabled):
113034        (WebCore::WebGLRenderingContext::pixelStorei):
113035        (WebCore::WebGLRenderingContext::validateBlendEquation):
113036        (WebCore::WebGLRenderingContext::validateCapability):
113037        * html/canvas/WebGLRenderingContext.h: Add helper function declaration.
113038
1130392010-06-25  Sterling Swigart  <sswigart@google.com>
113040
113041        Reviewed by David Levin.
113042
113043        Callback code generation fixed so that now string parameters are converted to JSString
113044        using the jsString method instead of the toJS method which would not compile.
113045        https://bugs.webkit.org/show_bug.cgi?id=41119
113046        
113047        * bindings/scripts/CodeGeneratorJS.pm: Now generates jsString for String parameters in callbacks.
113048        * bindings/scripts/test/JS/JSTestCallback.cpp: Fixed test for above.
113049        (WebCore::JSTestCallback::callbackWithClass2Param): Ditto.
113050
1130512010-06-25  Zhenyao Mo  <zmo@google.com>
113052
113053        Reviewed by Dimitri Glazkov.
113054
113055        A buffer should be bound to one target in its lifetime
113056        https://bugs.webkit.org/show_bug.cgi?id=41108
113057
113058        Test: fast/canvas/webgl/buffer-bind-test.html
113059
113060        * html/canvas/WebGLBuffer.cpp:
113061        (WebCore::WebGLBuffer::WebGLBuffer): Init target to 0. 
113062        (WebCore::WebGLBuffer::associateBufferData): Remove target parameter, use one byteLength member.
113063        (WebCore::WebGLBuffer::associateBufferSubData): Ditto.
113064        (WebCore::WebGLBuffer::byteLength): Ditto.
113065        (WebCore::WebGLBuffer::setTarget): Set target.
113066        * html/canvas/WebGLBuffer.h: Cache target in the WebGLBuffer object, use one byteLength member.
113067        (WebCore::WebGLBuffer::getTarget):
113068        * html/canvas/WebGLRenderingContext.cpp:
113069        (WebCore::WebGLRenderingContext::bindBuffer): Check if a buffer is bound to another target; set buffer object internal target.
113070        (WebCore::WebGLRenderingContext::bufferData): Remove target parameter and use the WebGLBuffer cached target instead.
113071        (WebCore::WebGLRenderingContext::bufferSubData): Ditto.
113072        (WebCore::WebGLRenderingContext::validateElementArraySize): Ditto.
113073        (WebCore::WebGLRenderingContext::validateIndexArrayConservative): Ditto.
113074        (WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto.
113075
1130762010-06-25  Dean Jackson  <dino@apple.com>
113077
113078        Reviewed by Simon Fraser.
113079
113080        https://bugs.webkit.org/show_bug.cgi?id=41188
113081        Animations should not require 0% and 100% keyframes
113082
113083        When we are generating the animation lists in CSSStyleSelector,
113084        rather than bail if we notice that "from" or "to" are missing, we
113085        now generate synthetic keyframes for those cases.
113086
113087        Tests: animations/missing-from-to-transforms.html
113088               animations/missing-from-to.html
113089               WebCore/manual-tests/animation-with-transition.html
113090
113091        * css/CSSStyleSelector.cpp:
113092        (WebCore::CSSStyleSelector::styleForKeyframe):
113093                Moved individual keyframe generation into a new function.
113094        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
113095                Call the new function above for regular keyframes, and
113096                also check for missing keyframes and generate them if
113097                necessary.
113098        * css/CSSStyleSelector.h:
113099
1131002010-06-25  Adam Barth  <abarth@webkit.org>
113101
113102        Reviewed by Eric Seidel.
113103
113104        We should parse <html>
113105        https://bugs.webkit.org/show_bug.cgi?id=41239
113106
113107        This patch is hard to test, but I think this patch lets us parse a
113108        document consisting of only an <html> start tag.
113109
113110        * html/HTMLTreeBuilder.cpp:
113111        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
113112        (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
113113        (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
113114        (WebCore::HTMLTreeBuilder::processStartTag):
113115        (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
113116        * html/HTMLTreeBuilder.h:
113117        (WebCore::HTMLTreeBuilder::ElementStack::push):
113118
1131192010-06-25  Dan Bernstein  <mitz@apple.com>
113120
113121        Reviewed by Sam Weinig.
113122
113123        <rdar://problem/8000667> Certain text is repeated before and after a line break
113124
113125        Test: fast/text/bidi-explicit-embedding-past-end.html
113126
113127        * platform/text/BidiResolver.h:
113128        (WebCore::::createBidiRunsForLine): Committing explicit embedding past the end of the range
113129        creates BidiRuns up to the end of the range, so at that point, we can stop iterating.
113130
1131312010-06-25  Eric Seidel  <eric@webkit.org>
113132
113133        Reviewed by Adam Barth.
113134
113135        Move decoding into DocumentParser to further simplify RawDataDocumentParser and DocumentWriter
113136        https://bugs.webkit.org/show_bug.cgi?id=41202
113137
113138        Hit the Windoze with the compile bat.
113139
113140        * WebCore.vcproj/WebCore.vcproj:
113141
1131422010-06-25  Adam Barth  <abarth@webkit.org>
113143
113144        Reviewed by Eric Seidel.
113145
113146        HTMLTreeBuilder should branch first on token type and then on insertion mode
113147        https://bugs.webkit.org/show_bug.cgi?id=41232
113148
113149        This is different than how the spec is written, but it lets us remove a
113150        lot of redudancy in the algorithm.  We might even want to pull some of
113151        the branches on token name outside the insertion mode branch, but I'll
113152        leave that for a future patch.
113153
113154        Although this looks like a big patch, it's mostly just a mechanical
113155        switch permutation.
113156
113157        * html/HTMLTreeBuilder.cpp:
113158        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
113159        (WebCore::HTMLTreeBuilder::processToken):
113160        (WebCore::HTMLTreeBuilder::processDoctypeToken):
113161        (WebCore::HTMLTreeBuilder::processStartTag):
113162        (WebCore::HTMLTreeBuilder::processEndTag):
113163        (WebCore::HTMLTreeBuilder::processComment):
113164        (WebCore::HTMLTreeBuilder::processCharacter):
113165        (WebCore::HTMLTreeBuilder::processEndOfFile):
113166        (WebCore::HTMLTreeBuilder::processDefaultForInitialMode):
113167        (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
113168        (WebCore::HTMLTreeBuilder::processDefaultForBeforeHeadMode):
113169        (WebCore::HTMLTreeBuilder::processDefaultForInHeadMode):
113170        (WebCore::HTMLTreeBuilder::processDefaultForInHeadNoscriptMode):
113171        (WebCore::HTMLTreeBuilder::processDefaultForAfterHeadMode):
113172        * html/HTMLTreeBuilder.h:
113173
1131742010-06-25  Adam Barth  <abarth@webkit.org>
113175
113176        Reviewed by Darin Adler.
113177
113178        Tree builder doesn't need to return a Node
113179        https://bugs.webkit.org/show_bug.cgi?id=41225
113180
113181        The old tree builder returned the newly inserted Node, but the new tree
113182        builder doesn't need to do that as far as I can tell.  Removing the
113183        return value cuts down on a bunch of accounting.
113184
113185        * html/HTMLTreeBuilder.cpp:
113186        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
113187        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
113188        (WebCore::HTMLTreeBuilder::processToken):
113189        (WebCore::HTMLTreeBuilder::insertDoctype):
113190        (WebCore::HTMLTreeBuilder::insertComment):
113191        (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
113192        (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
113193        (WebCore::HTMLTreeBuilder::insertScriptElement):
113194        * html/HTMLTreeBuilder.h:
113195
1131962010-06-25  Zhenyao Mo  <zmo@google.com>
113197
113198        Reviewed by Dimitri Glazkov.
113199
113200        getParameter(COLOR_WRITEMASK) needs to return Array
113201        https://bugs.webkit.org/show_bug.cgi?id=40437
113202
113203        * bindings/js/JSWebGLRenderingContextCustom.cpp: Handling bool array.
113204        (WebCore::toJS):
113205        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: Handling bool array.
113206        (WebCore::toV8Object):
113207        * html/canvas/WebGLGetInfo.cpp: Handling bool array.
113208        (WebCore::WebGLGetInfo::WebGLGetInfo):
113209        (WebCore::WebGLGetInfo::getBoolArray):
113210        * html/canvas/WebGLGetInfo.h: Handling bool array.
113211        (WebCore::WebGLGetInfo::):
113212        * html/canvas/WebGLRenderingContext.cpp: Handling bool array.
113213        (WebCore::WebGLRenderingContext::getParameter):
113214        (WebCore::WebGLRenderingContext::getBooleanArrayParameter):
113215        * html/canvas/WebGLRenderingContext.h: Handling bool array.
113216
1132172010-06-25  Evan Stade  <estade@chromium.org>
113218
113219        Reviewed by Darin Fisher.
113220
113221        [chromium linux] Improve look of scrollbars
113222        https://bugs.webkit.org/show_bug.cgi?id=35775
113223
113224        This will affect layout pixel tests, which will need to be rebaselined.
113225
113226        * platform/Scrollbar.cpp: need the buttons to be invalidated when the
113227        thumb moves as they paint differently if the thumb is at the top or
113228        bottom
113229        (WebCore::Scrollbar::updateThumbPosition):
113230        (WebCore::Scrollbar::updateThumbProportion):
113231        * platform/chromium/ScrollbarThemeChromium.cpp:
113232        (WebCore::ScrollbarThemeChromium::trackRect): share code between
113233        linux/windows
113234        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
113235        (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
113236        (WebCore::outlineColor): up the contrast
113237        (WebCore::ScrollbarThemeChromiumLinux::paintButton): add custom button
113238        drawing implementation
113239        (WebCore::ScrollbarThemeChromiumLinux::buttonSize): add buttons
113240        * platform/chromium/ScrollbarThemeChromiumWin.cpp: share code between
113241        linux/windows
113242        * rendering/RenderThemeChromiumLinux.cpp: improve stock colors to get
113243        better contrast and integration with stock chrome theme
113244
1132452010-06-25  Eric Seidel  <eric@webkit.org>
113246
113247        Reviewed by Adam Barth.
113248
113249        Move decoding into DocumentParser to further simplify RawDataDocumentParser and DocumentWriter
113250        https://bugs.webkit.org/show_bug.cgi?id=41202
113251
113252        The silly thing about this patch is that none of the
113253        RawDataDocumentParser subclasses actually use any of the
113254        data passed to them via appendBytes.
113255
113256        This makes the relationship between DocumentWriter and
113257        DocumentParser slightly more confusing, however I think this
113258        DocumentParser API is slightly nicer.
113259
113260        Next step is to split DecodedDataDocumentParser out from
113261        DocumentParser, and then the base DocumentParser won't know
113262        anything about decoding or SegmentedString.
113263
113264        No functional change, thus no tests.
113265
113266        * WebCore.xcodeproj/project.pbxproj:
113267        * dom/DocumentParser.h:
113268        * dom/RawDataDocumentParser.h:
113269        * loader/DocumentWriter.cpp:
113270        (WebCore::DocumentWriter::replaceDocument):
113271        (WebCore::DocumentWriter::createDecoderIfNeeded):
113272        (WebCore::DocumentWriter::reportDataRecieved):
113273        (WebCore::DocumentWriter::addData):
113274        * loader/DocumentWriter.h:
113275        * loader/ImageDocument.cpp:
113276        (WebCore::ImageDocumentParser::appendBytes):
113277        * loader/MediaDocument.cpp:
113278        (WebCore::MediaDocumentParser::appendBytes):
113279        * loader/PluginDocument.cpp:
113280        (WebCore::PluginDocumentParser::appendBytes):
113281        * loader/SinkDocument.cpp:
113282        (WebCore::SinkDocumentParser::SinkDocumentParser):
113283        (WebCore::SinkDocumentParser::appendBytes):
113284        (WebCore::SinkDocument::createParser):
113285
1132862010-06-25  Eric Seidel  <eric@webkit.org>
113287
113288        Reviewed by Adam Barth.
113289
113290        Split DocumentParser::write into separate append and insert calls
113291        https://bugs.webkit.org/show_bug.cgi?id=41197
113292
113293        Unfortunately this is still somewhat confusing as
113294        "insert" means "insert this data at the current
113295        insertion point and run the parser synchronously
113296        unless we're in a nested write call" and "append"
113297        means "append this data to the end and run the
113298        parser if not in a nested call or until possibly yielding".
113299
113300        This at least makes clearer which document parsers implement
113301        which behavior, and paves the way for moving the decoding
113302        logic into DocumentParser from DocumentWriter.
113303
113304        No functional changes, thus no tests.
113305
113306        * dom/Document.cpp:
113307        (WebCore::Document::write):
113308        * dom/DocumentParser.h:
113309        * dom/RawDataDocumentParser.h:
113310        (WebCore::RawDataDocumentParser::insert):
113311        (WebCore::RawDataDocumentParser::append):
113312        * dom/XMLDocumentParser.cpp:
113313        (WebCore::XMLDocumentParser::insert):
113314        (WebCore::XMLDocumentParser::append):
113315        * dom/XMLDocumentParser.h:
113316        * dom/XMLDocumentParserLibxml2.cpp:
113317        (WebCore::XMLDocumentParser::resumeParsing):
113318        * html/HTMLDocumentParser.cpp:
113319        (WebCore::HTMLDocumentParser::insert):
113320        (WebCore::HTMLDocumentParser::append):
113321        (WebCore::HTMLDocumentParser::parseDocumentFragment):
113322        * html/HTMLDocumentParser.h:
113323        * html/LegacyHTMLDocumentParser.cpp:
113324        (WebCore::LegacyHTMLDocumentParser::insert):
113325        (WebCore::LegacyHTMLDocumentParser::append):
113326        * html/LegacyHTMLDocumentParser.h:
113327        * loader/DocumentWriter.cpp:
113328        (WebCore::DocumentWriter::replaceDocument):
113329        (WebCore::DocumentWriter::addData):
113330        * loader/FTPDirectoryDocument.cpp:
113331        (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
113332        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
113333        (WebCore::FTPDirectoryDocumentParser::append):
113334        * loader/TextDocument.cpp:
113335        (WebCore::TextDocumentParser::insert):
113336        (WebCore::TextDocumentParser::append):
113337        (WebCore::TextDocumentParser::finish):
113338
1133392010-06-25  Daniel Cheng  <dcheng@chromium.org>
113340
113341        Reviewed by Darin Fisher.
113342
113343        [chromium] Add new stubs for querying platform drag-and-drop and copy-and-paste data.
113344
113345        This change adds new stubs for querying for data in a clipboard or drag operation. This is
113346        so adding support for more data types in clipboard/drag operations doesn't become
113347        increasingly expensive, since we currently copy all the drag data we need every time a new
113348        web drop target is entered. It also adds a new mechanism to write back to the system
113349        clipboard that isn't tied to one data type.
113350
113351        https://bugs.webkit.org/show_bug.cgi?id=40540
113352
113353        No new tests since we're just adding new ChromiumBridge APIs. When we switch to it, it will
113354        be covered by the existing tests.
113355
113356        * platform/chromium/ChromiumBridge.h:
113357        * platform/chromium/PasteboardPrivate.h:
113358        (WebCore::PasteboardPrivate::):
113359
1133602010-06-25  Mario Sanchez Prada  <msanchez@igalia.com>
113361
113362        Reviewed by Xan Lopez.
113363
113364        [Gtk] Implement atk_table_get_column_header
113365        https://bugs.webkit.org/show_bug.cgi?id=30896
113366
113367        Implemented get_column_header and modified get_row_header
113368        accordingly to keep them both coherent among themselves.
113369        Based on a previous patch by Joanmarie Diggs.
113370
113371        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
113372        (webkit_accessible_table_get_column_header):
113373        (webkit_accessible_table_get_row_header):
113374
1133752010-06-29  Martin Robinson  <mrobinson@igalia.com>
113376
113377        Reviewed by Xan Lopez.
113378
113379        [GTK] Pasteboard code does not take into account the nil character when getting and setting markup/netscape-url data
113380        https://bugs.webkit.org/show_bug.cgi?id=41221
113381
113382        Take into account null-terminator when getting and setting markup and
113383        Netscape URL pasteboard types. This means that if the selection data
113384        contains the null terminator, it won't be included in the final String.
113385        When setting the pasteboard data the null terminator is now included to
113386        match the behavior of other applications.
113387
113388        * platform/gtk/PasteboardHelper.cpp:
113389        (WebCore::PasteboardHelper::getClipboardContents):
113390        Create the markup string after using g_strndup to protect against non-null-terminated
113391        strings. Use String::fromUTF8 here to ensure that the string is not longer than the
113392        first null-terminator. Also fix a small indentation issue.
113393        (WebCore::PasteboardHelper::fillSelectionData):
113394        Always include the null-terminator when setting pasteboard data manually. This matches
113395        the behavior of other browser applications.
113396
1133972010-06-25  Sam Magnuson  <smagnuson@netflix.com>
113398
113399        Reviewed by Kenneth Rohde Christiansen.
113400
113401        [Qt] When any geometry change happens to a node it will resize the
113402        backing cache
113403        https://bugs.webkit.org/show_bug.cgi?id=40378
113404
113405        Continue to grow the cache, but never toss it. When the pixmap
113406        cache gets too big it will be lost and created at the right size
113407        next time.
113408
113409        No new tests: this is an optimization.
113410
113411        * platform/graphics/qt/GraphicsLayerQt.cpp:
113412        (WebCore::GraphicsLayerQtImpl::recache):
113413        (WebCore::GraphicsLayerQtImpl::paint):
113414        (WebCore::GraphicsLayerQtImpl::flushChanges):
113415
1134162010-06-25  Andreas Kling  <andreas.kling@nokia.com>
113417
113418        Reviewed by Darin Adler.
113419
113420        https://bugs.webkit.org/show_bug.cgi?id=41019
113421        Canvas: Remember verified clean origins for drawImage()
113422
113423        Made CanvasRenderingContext2D cache the KURLs of clean origins
113424        for fast repeated lookup.
113425
113426        * html/canvas/CanvasRenderingContext2D.cpp:
113427        (WebCore::CanvasRenderingContext2D::checkOrigin):
113428        * html/canvas/CanvasRenderingContext2D.h:
113429
1134302010-06-25  Robert Hogan  <robert@webkit.org>
113431
113432        Reviewed by Kenneth Rohde Christiansen.
113433
113434        [Qt] HTTP 307 after a 303 after a POST re-sends POST data from the original request
113435
113436        https://bugs.webkit.org/show_bug.cgi?id=35301
113437
113438        Qt needs to use ResourceRequest::request()->httpMethod()) in order to determine
113439        the appropriate method for a 307 redirect request.
113440
113441        When deciding if it needs to override a POST method with a GET method during a
113442        redirect chain, QNetworkReplyHandler needs to check the HTTP method stored
113443        in ResourceRequest::request()->httpMethod(). This will always contain the
113444        original request method in a redirect chain and, more importantly, is the
113445        method that will be used for the request created from the redirect
113446        if it is not overridden.
113447
113448        * platform/network/qt/QNetworkReplyHandler.cpp:
113449        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
113450
1134512010-06-25  Dan Bernstein  <mitz@apple.com>
113452
113453        Reviewed by Anders Carlsson.
113454
113455        Removed a one-line method that only had one internal caller.
113456
113457        * rendering/RenderBlock.h: Removed bidiReorderLine()
113458        * rendering/RenderBlockLineLayout.cpp:
113459        (WebCore::RenderBlock::layoutInlineChildren): Moved the implementation of
113460        bidiReorderLine() inline here.
113461
1134622010-06-25  Nate Chapin  <japhet@chromium.org>
113463
113464        Reviewed by Adam Barth.
113465
113466        Take a KURL parameter in Document's constructor.
113467        This will remove the one case where Document::url() 
113468        and FrameLoader::url() are not equal, allowing us to
113469        remove FrameLoader::url().
113470
113471        https://bugs.webkit.org/show_bug.cgi?id=41166
113472
113473        Refactor only, no new tests.
113474
113475        * dom/DOMImplementation.cpp:
113476        (WebCore::DOMImplementation::createDocument): Take a KURL and pass it through to Document.
113477        (WebCore::DOMImplementation::createHTMLDocument):
113478        * dom/DOMImplementation.h:
113479        * dom/Document.cpp:
113480        (WebCore::Document::Document): Call setURL() if a frame or a non-empty KURL is specified.
113481        (WebCore::Document::initSecurityContext): m_url is now initialized, so use it instead
113482            of m_frame->loader()->url() for initializing the SecurityOrigin.
113483        * dom/Document.h:
113484        (WebCore::Document::create):
113485        (WebCore::Document::createXHTML):
113486        * html/HTMLDocument.cpp:
113487        * html/HTMLDocument.h: Add KURL parameter to create() and constructor.
113488        * html/HTMLViewSourceDocument.cpp:
113489        * html/HTMLViewSourceDocument.h: Add KURL parameter to create() and constructor.
113490        * loader/CachedFont.cpp:
113491        (WebCore::CachedFont::ensureSVGFontData):
113492        * loader/DocumentWriter.cpp:
113493        (WebCore::DocumentWriter::createDocument): Take a KURL and pass it through to Document.
113494        (WebCore::DocumentWriter::begin): Pass existing url parameter to constructors, and remove
113495            redundant Document::setURL() call.
113496        * loader/DocumentWriter.h:
113497        * loader/FTPDirectoryDocument.cpp:
113498        * loader/FTPDirectoryDocument.h: Add KURL parameter to create() and constructor.
113499        * loader/ImageDocument.cpp:
113500        * loader/ImageDocument.h: Add KURL parameter to create() and constructor.
113501        * loader/MediaDocument.cpp:
113502        * loader/MediaDocument.h: Add KURL parameter to create() and constructor.
113503        * loader/PlaceholderDocument.h: Add KURL parameter to create() and constructor.
113504        * loader/PluginDocument.cpp:
113505        * loader/PluginDocument.h: Add KURL parameter to create() and constructor.
113506        * loader/SinkDocument.cpp:
113507        * loader/SinkDocument.h: Add KURL parameter to create() and constructor.
113508        * loader/TextDocument.cpp:
113509        * loader/TextDocument.h: Add KURL parameter to create() and constructor.
113510        * svg/SVGDocument.cpp:
113511        * svg/SVGDocument.h: Add KURL parameter to create() and constructor.
113512        * xml/DOMParser.cpp:
113513        (WebCore::DOMParser::parseFromString):
113514        * xml/XMLHttpRequest.cpp:
113515        (WebCore::XMLHttpRequest::responseXML):
113516        * xml/XSLTProcessor.cpp:
113517        (WebCore::XSLTProcessor::createDocumentFromSource):
113518
1135192010-06-25  Sheriff Bot  <webkit.review.bot@gmail.com>
113520
113521        Unreviewed, rolling out r61812.
113522        http://trac.webkit.org/changeset/61812
113523        https://bugs.webkit.org/show_bug.cgi?id=41216
113524
113525        breaks Chromium workers tests (Requested by mnaganov on
113526        #webkit).
113527
113528        * storage/AbstractDatabase.cpp:
113529        * storage/AbstractDatabase.h:
113530        * storage/Database.cpp:
113531        (WebCore::Database::databaseInfoTableName):
113532        (WebCore::guidMutex):
113533        (WebCore::guidToVersionMap):
113534        (WebCore::updateGuidVersionMap):
113535        (WebCore::guidToDatabaseMap):
113536        (WebCore::databaseVersionKey):
113537        (WebCore::DatabaseCreationCallbackTask::create):
113538        (WebCore::DatabaseCreationCallbackTask::performTask):
113539        (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
113540        (WebCore::Database::openDatabase):
113541        (WebCore::Database::Database):
113542        (WebCore::Database::openAndVerifyVersion):
113543        (WebCore::retrieveTextResultFromDatabase):
113544        (WebCore::Database::getVersionFromDatabase):
113545        (WebCore::setTextValueInDatabase):
113546        (WebCore::Database::setVersionInDatabase):
113547        (WebCore::Database::versionMatchesExpected):
113548        (WebCore::Database::close):
113549        (WebCore::Database::disableAuthorizer):
113550        (WebCore::Database::enableAuthorizer):
113551        (WebCore::Database::setAuthorizerReadOnly):
113552        (WebCore::Database::lastActionChangedDatabase):
113553        (WebCore::Database::lastActionWasInsert):
113554        (WebCore::Database::resetDeletes):
113555        (WebCore::Database::hadDeletes):
113556        (WebCore::guidForOriginAndName):
113557        (WebCore::Database::resetAuthorizer):
113558        (WebCore::Database::performOpenAndVerify):
113559        (WebCore::Database::performCreationCallback):
113560        (WebCore::Database::version):
113561        (WebCore::Database::setExpectedVersion):
113562        (WebCore::Database::stringIdentifier):
113563        (WebCore::Database::displayName):
113564        (WebCore::Database::estimatedSize):
113565        (WebCore::Database::fileName):
113566        * storage/Database.h:
113567        (WebCore::Database::scriptExecutionContext):
113568        (WebCore::Database::opened):
113569        (WebCore::Database::isNew):
113570        (WebCore::Database::databaseDebugName):
113571        * storage/DatabaseAuthorizer.cpp:
113572        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
113573        (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
113574        * storage/DatabaseAuthorizer.h:
113575        (WebCore::DatabaseAuthorizer::create):
113576        * storage/DatabaseSync.cpp:
113577        (WebCore::DatabaseSync::databaseInfoTableName):
113578        (WebCore::DatabaseSync::openDatabaseSync):
113579        (WebCore::DatabaseSync::DatabaseSync):
113580        (WebCore::DatabaseSync::~DatabaseSync):
113581        (WebCore::DatabaseSync::version):
113582        (WebCore::DatabaseSync::changeVersion):
113583        (WebCore::DatabaseSync::transaction):
113584        (WebCore::DatabaseSync::scriptExecutionContext):
113585        * storage/DatabaseSync.h:
113586        (WebCore::DatabaseSync::databaseDebugName):
113587        * storage/DatabaseTask.cpp:
113588        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
113589        (WebCore::DatabaseOpenTask::doPerformTask):
113590        * storage/DatabaseTask.h:
113591        (WebCore::DatabaseOpenTask::create):
113592
1135932010-06-25  Lei Zheng  <lzheng@chromium.org>
113594
113595        Reviewed by Dimitri Glazkov.
113596
113597        Add a flag to the ResourceResponse for tracking if a request was fetched when
113598        Alternate-protocol is available.
113599        https://bugs.webkit.org/show_bug.cgi?id=41001
113600
113601        No new tests. (This is just a setter and getter.)
113602
113603        * platform/network/chromium/ResourceResponse.h:
113604        (WebCore::ResourceResponse::ResourceResponse):
113605        (WebCore::ResourceResponse::wasAlternateProtocolAvailable):
113606        (WebCore::ResourceResponse::setWasAlternateProtocolAvailable):
113607
1136082010-06-25  Lyon Chen  <liachen@rim.com>
113609
113610        Reviewed by Darin Adler.
113611
113612        InspectorCSSStore.cpp is not surrounded with ENABLE(INSPECTOR)
113613        https://bugs.webkit.org/show_bug.cgi?id=41004
113614
113615        Surround InspectorCSSStore.cpp code with ENABLE(INSPECTOR) so it will not
113616        break the build when INSPECTOR is disabled.
113617
113618        * inspector/InspectorCSSStore.cpp:
113619
1136202010-06-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
113621
113622        Reviewed by Simon Hausmann.
113623
113624        [Qt] WebGL: missing file
113625        https://bugs.webkit.org/show_bug.cgi?id=40998
113626
113627        Added a missing file to WebCore.pro
113628
113629        No new tests; build fix
113630
113631        * WebCore.pro:
113632
1136332010-06-25  Adam Roben  <aroben@apple.com>
113634
113635        Windows build fix
113636
113637        * WebCore.vcproj/WebCore.vcproj: Added a missing </File> tag.
113638
1136392010-06-25  Alex Milowski  <alex@milowski.com>
113640
113641        Reviewed by Kenneth Rohde Christiansen.
113642
113643        This patch changes the vertical alignment to rely upon baseline
113644        alignment for all MathML rendering.  This fixes a number of layout
113645        issues and the implementation is much more clean.
113646
113647        Also, this patch adds a horizontal green line in the debug layout
113648        so you can see the top padding of any RenderMathMLBlock instance.
113649
113650        Test: mathml/presentation/row-alignment.xhtml
113651
113652        * css/mathml.css:
113653        * mathml/RenderMathMLBlock.cpp:
113654        * mathml/RenderMathMLFraction.cpp:
113655        * mathml/RenderMathMLFraction.h:
113656        * mathml/RenderMathMLOperator.cpp:
113657        * mathml/RenderMathMLOperator.h:
113658        * mathml/RenderMathMLRoot.cpp:
113659        * mathml/RenderMathMLRow.cpp:
113660        * mathml/RenderMathMLRow.h:
113661        * mathml/RenderMathMLSquareRoot.cpp:
113662        * mathml/RenderMathMLSubSup.cpp:
113663        * mathml/RenderMathMLUnderOver.cpp:
113664
1136652010-06-25  Yury Semikhatsky  <yurys@chromium.org>
113666
113667        Reviewed by Pavel Feldman.
113668
113669        Can't see source when hitting debugger statement in evaled source
113670        https://bugs.webkit.org/show_bug.cgi?id=41058
113671
113672        Test: inspector/debugger-pause-in-eval-script.html
113673
113674        * bindings/js/ScriptDebugServer.cpp:
113675        (WebCore::ScriptDebugServer::sourceParsed): use lexical global object to figure out
113676        where the script is compiled. Otherwise scripts typed in Web Inspector console will
113677        be treated as ones evaluated in the context of Web Inspector and won't appear in the
113678        scripts list.
113679        * inspector/InspectorController.cpp:
113680        (WebCore::InspectorController::didParseSource): cache script sources for eval's too.
113681
1136822010-06-25  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
113683
113684        Reviewed by Kenneth Rohde Christiansen.
113685
113686        [EFL] Use a descriptive string in FileChooser when multiple files can
113687        be selected.
113688        https://bugs.webkit.org/show_bug.cgi?id=40943
113689
113690        EFL port has no tests yet, so no new tests.
113691
113692        * platform/efl/FileChooserEfl.cpp:
113693        (WebCore::FileChooser::basenameForWidth):
113694
1136952010-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>
113696
113697        Reviewed by Dirk Schulze.
113698
113699        SVG Text Highlighting not yet supported (in Safari)
113700        https://bugs.webkit.org/show_bug.cgi?id=41200
113701
113702        Add text match marker highlighting support for SVG text - searching for SVG text in Safari now paints the nice yellow highlighting rect, and the
113703        white rectangles for all text matches. Behaves exactly like HTML text, but respecting SVGs per-character/per-chunk transformations,
113704        allowing to highlight textPaths, tspans with absolute per-character positions etc..
113705
113706        Only manually testable, thus no new tests.
113707
113708        * rendering/InlineBox.h: Expose calculateBoundaries() in non-SVG builds as well, now used by InlineTextBox too.
113709        * rendering/InlineTextBox.h: Add calculateBoundaries(), which will be used to refactor some code in RenderText, see below.
113710        (WebCore::InlineTextBox::calculateBoundaries): Just return a IntRect(x(), y(), width(), height()) here.
113711        (WebCore::RenderObject::isSVGInlineText):
113712        * rendering/RenderSVGInlineText.h:
113713        (WebCore::RenderSVGInlineText::isSVGInlineText): Return true for isSVGInlineText(), return false for isSVGText() (default in RenderObject.h)
113714        * rendering/RenderSVGRoot.cpp:
113715        (WebCore::RenderSVGRoot::paint): Only paint box decorations in PaintPhase(Child)BlockBackground, exit afterwards just like RenderBlock does.
113716                                         Otherwise the white text match marker rectangle gets drawn over the yellow highlight that Safari draws. 
113717        * rendering/RenderSVGText.cpp:
113718        (WebCore::RenderSVGText::paint): Accept a new painting phase: PaintPhaseSelection, used by Safari when drawing the yellow highlight rect.
113719        * rendering/RenderText.cpp:
113720        (WebCore::RenderText::absoluteQuads): Use calculateBoundaries() instead of IntRect(x(), y(), width(), height()). SVG provides different boundaries here.
113721        (WebCore::RenderText::absoluteQuadsForRange): Ditto. This is the main change, leading to correct text highlight placement.
113722        * rendering/SVGInlineFlowBox.cpp: Add assertion that painting is not disabled, for consistency. Change paint phase assertion to include PaintPhaseSelection.
113723        (WebCore::SVGInlineFlowBox::paint):
113724        * rendering/SVGInlineTextBox.cpp:
113725        (WebCore::SVGInlineTextBox::selectionRectForTextChunkPart): Refactored from selectionRect(), to share code between selectionRect/computeTextMatchMarkerRect.
113726        (WebCore::SVGInlineTextBox::selectionRect): Use new helper function selectionRectForTextChunkPart().
113727        (WebCore::SVGInlineTextBox::paint): Ditto. Call new computeTextMatchMarkerRect() function.
113728        (WebCore::SVGInlineTextBox::computeTextMatchMarkerRect): Implemented similar to HTML, but respecting SVGs concept of text chunk parts.
113729        (WebCore::SVGInlineTextBox::paintText): In PaintPhaseSelection, only paint selected text, not anything before/after the selection start/end.
113730        (WebCore::SVGInlineTextBox::calculateBoundaries): Early exit, if m_chunkTransformation is identity.
113731        * rendering/SVGInlineTextBox.h: Added "bool paintSelectedTextOnly" to paintText() and add new computeTextMatchMarkerRect(RenderStyle*) function.
113732        * rendering/SVGRootInlineBox.cpp:
113733        (WebCore::SVGRootInlineBox::paint): Change paint phase assertion to include PaintPhaseSelection.
113734
1137352010-06-25  John Gregg  <johnnyg@google.com>
113736
113737        Reviewed by Darin Fisher.
113738
113739        Notification should expose ltr/rtl as TextDirection, not String
113740        https://bugs.webkit.org/show_bug.cgi?id=40871
113741
113742        No new tests; existing test covers this, just renaming a method.
113743
113744        * notifications/Notification.h:
113745        (WebCore::Notification::direction):
113746
1137472010-06-25  Sheriff Bot  <webkit.review.bot@gmail.com>
113748
113749        Unreviewed, rolling out r61842.
113750        http://trac.webkit.org/changeset/61842
113751        https://bugs.webkit.org/show_bug.cgi?id=41208
113752
113753        It broke Windows build (Requested by Ossy_ on #webkit).
113754
113755        * ForwardingHeaders/wtf/win/OwnPtrWin.h: Removed.
113756
1137572010-06-25  Patrick Gansterer  <paroga@paroga.com>
113758
113759        Reviewed by Darin Adler.
113760
113761        Remove unneeded whitespace from svgtags.in.
113762        https://bugs.webkit.org/show_bug.cgi?id=40912
113763
113764        make_names.pl throws an error at non-empty lines
113765        when using cl.exe as preprocessor.
113766
113767        * svg/svgtags.in:
113768
1137692010-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>
113770
113771        Reviewed by Rob Buis.
113772
113773        Split up isSVGText() in isSVGText() / isSVGInlineText()
113774        https://bugs.webkit.org/show_bug.cgi?id=41204
113775
113776        Introduce isSVGInlineText(), to provide a safe mechanism to differentiate between RenderSVGText / RenderSVGInlineText.
113777        No change in functionality, thus no new tests.
113778
113779        * rendering/RenderBlockLineLayout.cpp:
113780        (WebCore::shouldPreserveNewline): s/isSVGText/isSVGInlineText/
113781        (WebCore::RenderBlock::findNextLineBreak): Ditto.
113782        * rendering/RenderObject.h:
113783        (WebCore::RenderObject::isSVGInlineText): Return false, by default.
113784        * rendering/RenderSVGInlineText.h:
113785        (WebCore::RenderSVGInlineText::isSVGInlineText): Return true here, don't return true anymore for isSVGText().
113786        * rendering/RenderText.cpp:
113787        (WebCore::RenderText::setTextInternal): s/isSVGText/isSVGInlineText/
113788        * rendering/RenderTreeAsText.cpp: Remove hack, now that we can properly differentiate between RenderSVGText / RenderSVGInlineText.
113789        (WebCore::write):
113790
1137912010-06-25  Kwang Yul Seo  <skyul@company100.net>
113792
113793        Reviewed by Adam Barth.
113794
113795        Change OwnPtrCommon to include platform-specific headers
113796        https://bugs.webkit.org/show_bug.cgi?id=40279
113797
113798        Adding new type to OwnPtrCommon needlessly causes all ports to do full rebuilds.
113799        Change OwnPtrCommon to include platform-specific headers to avoid all ports rebuilds.
113800
113801        * ForwardingHeaders/wtf/win: Added.
113802        * ForwardingHeaders/wtf/win/OwnPtrWin.h: Added.
113803
1138042010-06-25  Patrick Gansterer  <paroga@paroga.com>
113805
113806        Reviewed by Adam Barth.
113807
113808        Implement TextCodecs for WinCE port.
113809        https://bugs.webkit.org/show_bug.cgi?id=32169
113810        Originally written by Yong Li <yong.li@torchmobile.com>
113811
113812        * platform/graphics/FontCache.h:
113813        * platform/graphics/wince/FontCacheWince.cpp:
113814        (WebCore::FontCache::getMultiLanguageInterface):
113815        * platform/text/wince/TextCodecWinCE.cpp: Added.
113816        (WebCore::codePageCharsets):
113817        (WebCore::knownCharsets):
113818        (WebCore::supportedCharsets):
113819        (WebCore::languageManager):
113820        (WebCore::addCharset):
113821        (WebCore::LanguageManager::LanguageManager):
113822        (WebCore::getCodePage):
113823        (WebCore::newTextCodecWinCE):
113824        (WebCore::TextCodecWinCE::TextCodecWinCE):
113825        (WebCore::TextCodecWinCE::~TextCodecWinCE):
113826        (WebCore::TextCodecWinCE::registerBaseEncodingNames):
113827        (WebCore::TextCodecWinCE::registerBaseCodecs):
113828        (WebCore::TextCodecWinCE::registerExtendedEncodingNames):
113829        (WebCore::TextCodecWinCE::registerExtendedCodecs):
113830        (WebCore::getCodePageFlags):
113831        (WebCore::findFirstNonAsciiCharacter):
113832        (WebCore::decode):
113833        (WebCore::TextCodecWinCE::decode):
113834        (WebCore::TextCodecWinCE::encode):
113835        (WebCore::TextCodecWinCE::enumerateSupportedEncodings):
113836        * platform/text/wince/TextCodecWinCE.h: Added.
113837
1138382010-06-24  Rob Buis  <rwlbuis@gmail.com>
113839
113840        Reviewed by Dirk Schulze.
113841
113842        Bug 40880 - SVG properties fill and stroke do not accept system colors
113843        https://bugs.webkit.org/show_bug.cgi?id=40880
113844
113845        Handle css system colors in fill and stroke properties.
113846
113847        Test: svg/css/rect-system-color.xhtml
113848
113849        * css/CSSParser.cpp: Remove comment and unneeded if condition
113850        (WebCore::CSSParser::parseValue):
113851        * css/SVGCSSParser.cpp: Allow css system colors
113852        (WebCore::CSSParser::parseSVGValue):
113853
1138542010-06-24  Eric Seidel  <eric@webkit.org>
113855
113856        Reviewed by Adam Barth.
113857
113858        Make DocumentParser API private on subclasses to catch misuse bugs
113859        https://bugs.webkit.org/show_bug.cgi?id=41186
113860
113861        This already found one bug:
113862        https://bugs.webkit.org/show_bug.cgi?id=41187
113863
113864        Added a new HTMLDocumentParaser::parseDocumentFragment so that
113865        DocumentFragment.cpp does not need to use private methods.
113866
113867        * dom/DocumentFragment.cpp:
113868        (WebCore::DocumentFragment::parseHTML):
113869        * dom/XMLDocumentParser.h:
113870        (WebCore::XMLDocumentParser::setIsXHTMLDocument):
113871        (WebCore::XMLDocumentParser::isXHTMLDocument):
113872        (WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
113873        (WebCore::XMLDocumentParser::isXHTMLMPDocument):
113874        * html/HTMLDocumentParser.cpp:
113875        (WebCore::HTMLDocumentParser::parseDocumentFragment):
113876        * html/HTMLDocumentParser.h:
113877        * html/LegacyHTMLDocumentParser.cpp:
113878        (WebCore::LegacyHTMLDocumentParser::parseDocumentFragment):
113879        * html/LegacyHTMLDocumentParser.h:
113880        (WebCore::LegacyHTMLDocumentParser::forceSynchronous):
113881        (WebCore::LegacyHTMLDocumentParser::processingContentWrittenByScript):
113882        * html/LegacyHTMLTreeBuilder.cpp:
113883        (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
113884        * loader/DocumentWriter.cpp:
113885        (WebCore::DocumentWriter::replaceDocument):
113886        * loader/TextDocument.cpp:
113887
1138882010-05-28  Philippe Normand  <pnormand@igalia.com>
113889
113890        Reviewed by Gustavo Noronha.
113891
113892        [GStreamer] multiple video sink support
113893        https://bugs.webkit.org/show_bug.cgi?id=39472
113894
113895        Playbin2 video-sink is now a bin containing a tee element capable
113896        of dispatching the buffers to multiple video sinks. By default
113897        only our webkit video sink is used. This will allow
113898        GStreamerGWorld to add support for autovideosink in the future.
113899
113900        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
113901        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
113902        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
113903        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
113904        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
113905        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
113906
1139072010-06-24  Adam Barth  <abarth@webkit.org>
113908
113909        Reviewed by Eric Seidel.
113910
113911        Sketch out AfterHeadMode for tree builder
113912        https://bugs.webkit.org/show_bug.cgi?id=41191
113913
113914        This mode is fairly similar to the others.  I needed to change some of
113915        the types around w.r.t. Nodes/Elements.
113916
113917        * html/HTMLTreeBuilder.cpp:
113918        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
113919        (WebCore::HTMLTreeBuilder::processToken):
113920        (WebCore::HTMLTreeBuilder::insertElement):
113921        * html/HTMLTreeBuilder.h:
113922        (WebCore::HTMLTreeBuilder::ElementStack::push):
113923        (WebCore::HTMLTreeBuilder::ElementStack::remove):
113924
1139252010-06-24  Adam Barth  <abarth@webkit.org>
113926
113927        Reviewed by Eric Seidel.
113928
113929        Sketch out InHeadNoscriptMode for tree builder
113930        https://bugs.webkit.org/show_bug.cgi?id=41189
113931
113932        Lots of notImplemented() calls in this state.  I need to figure how to
113933        delegate handling of a token from one state to another.
113934
113935        * html/HTMLTreeBuilder.cpp:
113936        (WebCore::HTMLTreeBuilder::processToken):
113937
1139382010-06-24  Adam Barth  <abarth@webkit.org>
113939
113940        Reviewed by Eric Seidel.
113941
113942        Sketch out InHeadMode for tree builder
113943        https://bugs.webkit.org/show_bug.cgi?id=41184
113944
113945        This state is relatively straightforward.  We introduce the stack of
113946        open elements to track that notion in the spec.  The old tree builder
113947        has a nice data structure for that, which we'll probably steal, but I'd
113948        like to see what the full API is first.
113949
113950        * html/HTMLTreeBuilder.cpp:
113951        (WebCore::HTMLTreeBuilder::processToken):
113952        (WebCore::HTMLTreeBuilder::insertCharacter):
113953        (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
113954        (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
113955        (WebCore::HTMLTreeBuilder::insertScriptElement):
113956        * html/HTMLTreeBuilder.h:
113957        (WebCore::HTMLTreeBuilder::ElementStack::pop):
113958        (WebCore::HTMLTreeBuilder::ElementStack::top):
113959
1139602010-06-24  Adam Barth  <abarth@webkit.org>
113961
113962        Reviewed by Eric Seidel.
113963
113964        Sketch out BeforeHeadMode tree builder state
113965        https://bugs.webkit.org/show_bug.cgi?id=41183
113966
113967        This makes procesToken recursive, which might not be the best idea.
113968        Also, we can now make fake AtomicHTMLTokens for use by the algorithm.
113969
113970        * html/HTMLToken.h:
113971        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
113972        * html/HTMLTreeBuilder.cpp:
113973        (WebCore::HTMLTreeBuilder::processToken):
113974        (WebCore::HTMLTreeBuilder::insertElement):
113975        * html/HTMLTreeBuilder.h:
113976
1139772010-06-22 Antonio Gomes <tonikitoo@webkit.org>
113978
113979        Reviewed by David Hyatt.
113980
113981        Add a NodeList-derivated wrapper class for a ListHashSet.
113982        https://bugs.webkit.org/show_bug.cgi?id=41081
113983
113984        StaticHashSetList will work as a wrapper to ListHashSet objects that are
113985        aimed to be exposed to the DOM.
113986
113987        As a use case, the rect based HitTest (bug 40197) will store the retrieved nodes
113988        in a ListHashSet. It is going to be exposed to the DOM through are nodesFromRect
113989        of Document returning a NodeList (i.e. StatisHashSetList) wrapping a ListHashSet.
113990
113991        No new tests.
113992
1139932010-06-24  Cris Neckar  <cdn@chromium.org>
113994
113995        Reviewed by Darin Fisher.
113996
113997        [Chromium] Out of bounds write in WebCore::PNGImageDecoder::rowAvailable
113998        https://bugs.webkit.org/show_bug.cgi?id=40798
113999
114000        Catches error in row callback for libPNG when extra rows are returned.
114001
114002        Test: fast/images/png-extra-row-crash.html
114003
114004        * platform/image-decoders/png/PNGImageDecoder.cpp:
114005        (WebCore::PNGImageDecoder::rowAvailable):
114006
1140072010-06-24  Eric Seidel  <eric@webkit.org>
114008
114009        Reviewed by Adam Barth.
114010
114011        Clean up and document DocumentWriter::replaceDocument code path
114012        https://bugs.webkit.org/show_bug.cgi?id=41182
114013
114014        No functional changes, thus no tests.
114015
114016        * loader/DocumentWriter.cpp:
114017        (WebCore::DocumentWriter::replaceDocument):
114018         - Remove comment which could be misleading.
114019
1140202010-06-23  Dumitru Daniliuc  <dumi@chromium.org>
114021
114022        Reviewed by Adam Barth.
114023
114024        Implementing DatabaseSync::openDatabaseSync().
114025        https://bugs.webkit.org/show_bug.cgi?id=40607
114026
114027        Moved some common code from Database to AbstractDatabase. Made
114028        performOpenAndVerify() virtual, since DatabaseSync doesn't need to
114029        interact with DatabaseThread. Removed the m_creationCallback
114030        field, since it's only needed in the openDatabase{Sync} methods.
114031
114032        * storage/AbstractDatabase.cpp:
114033        (WebCore::retrieveTextResultFromDatabase):
114034        (WebCore::setTextValueInDatabase):
114035        (WebCore::guidMutex):
114036        (WebCore::guidToVersionMap):
114037        (WebCore::updateGuidVersionMap):
114038        (WebCore::guidToDatabaseMap):
114039        (WebCore::guidForOriginAndName):
114040        (WebCore::AbstractDatabase::databaseInfoTableName):
114041        (WebCore::AbstractDatabase::AbstractDatabase):
114042        (WebCore::AbstractDatabase::closeDatabase):
114043        (WebCore::AbstractDatabase::version):
114044        (WebCore::AbstractDatabase::performOpenAndVerify):
114045        (WebCore::AbstractDatabase::scriptExecutionContext):
114046        (WebCore::AbstractDatabase::securityOrigin):
114047        (WebCore::AbstractDatabase::stringIdentifier):
114048        (WebCore::AbstractDatabase::displayName):
114049        (WebCore::AbstractDatabase::estimatedSize):
114050        (WebCore::AbstractDatabase::fileName):
114051        (WebCore::AbstractDatabase::databaseVersionKey):
114052        (WebCore::AbstractDatabase::getVersionFromDatabase):
114053        (WebCore::AbstractDatabase::setVersionInDatabase):
114054        (WebCore::AbstractDatabase::versionMatchesExpected):
114055        (WebCore::AbstractDatabase::setExpectedVersion):
114056        (WebCore::AbstractDatabase::disableAuthorizer):
114057        (WebCore::AbstractDatabase::enableAuthorizer):
114058        (WebCore::AbstractDatabase::setAuthorizerReadOnly):
114059        (WebCore::AbstractDatabase::lastActionChangedDatabase):
114060        (WebCore::AbstractDatabase::lastActionWasInsert):
114061        (WebCore::AbstractDatabase::resetDeletes):
114062        (WebCore::AbstractDatabase::hadDeletes):
114063        (WebCore::AbstractDatabase::resetAuthorizer):
114064        * storage/AbstractDatabase.h:
114065        (WebCore::AbstractDatabase::opened):
114066        (WebCore::AbstractDatabase::isNew):
114067        (WebCore::AbstractDatabase::databaseDebugName):
114068        * storage/Database.cpp:
114069        (WebCore::DatabaseCreationCallbackTask::create):
114070        (WebCore::DatabaseCreationCallbackTask::performTask):
114071        (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
114072        (WebCore::Database::openDatabase):
114073        (WebCore::Database::Database):
114074        (WebCore::Database::version):
114075        (WebCore::Database::openAndVerifyVersion):
114076        (WebCore::Database::close):
114077        (WebCore::Database::stop):
114078        (WebCore::Database::performOpenAndVerify):
114079        * storage/Database.h:
114080        (WebCore::Database::sqliteDatabase):
114081        * storage/DatabaseAuthorizer.cpp:
114082        (WebCore::DatabaseAuthorizer::create):
114083        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
114084        (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
114085        * storage/DatabaseAuthorizer.h:
114086        * storage/DatabaseSync.cpp:
114087        (WebCore::DatabaseSync::openDatabaseSync):
114088        (WebCore::DatabaseSync::DatabaseSync):
114089        (WebCore::DatabaseSync::changeVersion):
114090        (WebCore::DatabaseSync::transaction):
114091        (WebCore::DatabaseSync::markAsDeletedAndClose):
114092        (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
114093        (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
114094        (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
114095        (WebCore::DatabaseSync::closeImmediately):
114096        * storage/DatabaseSync.h:
114097        * storage/DatabaseTask.cpp:
114098        (WebCore::DatabaseOpenTask::DatabaseOpenTask):
114099        (WebCore::DatabaseOpenTask::doPerformTask):
114100        * storage/DatabaseTask.h:
114101        (WebCore::DatabaseOpenTask::create):
114102
1141032010-06-24  Steve Falkenburg  <sfalken@apple.com>
114104
114105        Windows build fix.
114106
114107        * platform/network/cf/AuthenticationCF.h:
114108
1141092010-06-24  Martin Robinson  <mrobinson@igalia.com>
114110
114111        Unreviewed. Build fix.
114112
114113        Fix the build after r61798.
114114
114115        * platform/gtk/PasteboardHelper.cpp:
114116        (WebCore::PasteboardHelper::getClipboardContents):
114117
1141182010-06-24  Alexey Proskuryakov  <ap@apple.com>
114119
114120        Reviewed by Brady Eidson.
114121
114122        https://bugs.webkit.org/show_bug.cgi?id=41178
114123        Timed refresh in subframes isn't stopped when going into b/f cache
114124
114125        Test: fast/history/timed-refresh-in-cached-frame.html
114126
114127        * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Top frame's stopLoading()
114128        won't help cached subframes; stop loading from here.
114129
114130        * loader/FrameLoader.cpp:
114131        (WebCore::FrameLoader::stopLoading): Don't stop loading in child frames. This didn't work
114132        for cached frames due to frame tree having been already desonstructed, and it's not necessary
114133        in non-cached case because stopLoading() will be called for subframes via
114134        FrameLoader::detachFromParent() and closeURL().
114135        (WebCore::FrameLoader::pageHidden): This was a second code path that dispatched pagehide
114136        event - it's no longer needed, because everything goes through FrameLoader::stopLoading().
114137        (WebCore::FrameLoader::commitProvisionalLoad): Don't call pageHidden(), the code for adding
114138        frame to b/f cache will do everything.
114139
114140        * loader/FrameLoader.h: Removed pageHidden().
114141
1141422010-06-24  Eric Seidel  <eric@webkit.org>
114143
114144        Unreviewed. Fix the build.  I am a bad man.
114145
114146        * loader/DocumentWriter.cpp:
114147        (WebCore::DocumentWriter::replaceDocument):
114148
1141492010-06-24  Martin Robinson  <mrobinson@igalia.com>
114150
114151        Reviewed by Xan Lopez.
114152
114153        Build fix for building against GTK+ 3.x.
114154
114155        No new tests as functionality has not changed.
114156
114157        * platform/gtk/GtkVersioning.h:
114158        * platform/gtk/PasteboardHelper.cpp:
114159        (WebCore::PasteboardHelper::getClipboardContents):
114160        (WebCore::PasteboardHelper::fillSelectionData):
114161
1141622010-06-24  Eric Seidel  <eric@webkit.org>
114163
114164        Reviewed by Adam Barth.
114165
114166        Clean up and document DocumentWriter::replaceDocument code path
114167        https://bugs.webkit.org/show_bug.cgi?id=41182
114168
114169        No functional change, thus no test.
114170
114171        * loader/DocumentWriter.cpp:
114172        (WebCore::DocumentWriter::replaceDocument):
114173        * loader/DocumentWriter.h:
114174
1141752010-06-24  Jer Noble  <jer.noble@apple.com>
114176
114177        Reviewed by Eric Carlson.
114178
114179        Full-screened content doesn't keep the display on: Safari not grabbing a power assertion?
114180        https://bugs.webkit.org/show_bug.cgi?id=40939
114181        rdar://problem/7996172
114182        
114183        Export -[MediaElement playbackRate];
114184        
114185        * WebCore.Video.exp:
114186
1141872010-06-21  Evan Martin  <evan@chromium.org>
114188
114189        Reviewed by Adam Barth.
114190
114191        [chromium] overlapping characters in complex text
114192        https://bugs.webkit.org/show_bug.cgi?id=40966
114193
114194        We need to clear all the buffers we hand to Harfbuzz before we use them.
114195        While I'm here, refactor the code slightly to make its behavior more
114196        clear and correct (previously, we would repeatedly double our buffer
114197        size when we could have just sized it correctly on the second try).
114198
114199        * platform/graphics/chromium/FontLinux.cpp:
114200        (WebCore::TextRunWalker::TextRunWalker):
114201        (WebCore::TextRunWalker::nextScriptRun):
114202        (WebCore::TextRunWalker::createGlyphArrays):
114203        (WebCore::TextRunWalker::shapeGlyphs):
114204
1142052010-06-24  Adele Peterson  <adele@apple.com>
114206
114207        Reviewed by Sam Weinig.
114208
114209        Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
114210        https://bugs.webkit.org/show_bug.cgi?id=41085
114211
114212        Covered by existing tests.
114213
114214        * editing/EditorCommand.cpp:
114215        (WebCore::executePasteAsPlainText): Added.
114216        (WebCore::createCommandMap): Added pasteAsPlainText command.
114217
1142182010-06-24  Adam Barth  <abarth@webkit.org>
114219
114220        Reviewed by Eric Seidel.
114221
114222        Sketch out BeforeHTMLMode state
114223        https://bugs.webkit.org/show_bug.cgi?id=41133
114224
114225        In this patch, we switch the TreeBuidler over to using AtomicHTMLTokens
114226        and sketch out another state.  These states don't actually do anything
114227        yet, I'm still just getting the structure of the spec into the code so
114228        we can implement the details incrementally.
114229
114230        * html/HTMLTreeBuilder.cpp:
114231        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
114232        (WebCore::HTMLTreeBuilder::processToken):
114233        (WebCore::HTMLTreeBuilder::insertDoctype):
114234        (WebCore::HTMLTreeBuilder::insertComment):
114235        * html/HTMLTreeBuilder.h:
114236        (WebCore::HTMLTreeBuilder::parseError):
114237
1142382010-06-24  Adam Barth  <abarth@webkit.org>
114239
114240        Reviewed by Eric Seidel.
114241
114242        Add AtomicHTMLToken
114243        https://bugs.webkit.org/show_bug.cgi?id=41131
114244
114245        We need an atomized version of the token for use in the tree builder.
114246        Eventually, we should make the existing HTMLToken an internal detail of
114247        the HTMLTokenizer.  This new AtomicHTMLToken should be also be more
114248        easily cached between the preload scanner and the tree builder.
114249
114250        * html/HTMLToken.h:
114251        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
114252        (WebCore::AtomicHTMLToken::type):
114253        (WebCore::AtomicHTMLToken::name):
114254        (WebCore::AtomicHTMLToken::selfClosing):
114255        (WebCore::AtomicHTMLToken::attributes):
114256        (WebCore::AtomicHTMLToken::characters):
114257        (WebCore::AtomicHTMLToken::comment):
114258        (WebCore::AtomicHTMLToken::publicIdentifier):
114259        (WebCore::AtomicHTMLToken::systemIdentifier):
114260        (WebCore::AtomicHTMLToken::forceQuirks):
114261        * html/HTMLTreeBuilder.cpp:
114262        (WebCore::convertToOldStyle):
114263        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
114264
1142652010-06-24  Eric Seidel  <eric@webkit.org>
114266
114267        Reviewed by Adam Barth.
114268
114269        Add RawDataDocumentParser to get rid of a bunch of copy/paste code in DocumentParser subclasses
114270        https://bugs.webkit.org/show_bug.cgi?id=41136
114271
114272        I think this is likely far from the final design,
114273        however this is almost entirely minus lines which is a
114274        good thing.
114275
114276        The original authors of these DocumentParser subclasses
114277        seem to have just copied the files whole, as they all
114278        had the same includes, many of which were unnecessary for
114279        some of the files.
114280
114281        I think eventually the FrameLoader will call a virtual
114282        DocumentParser::appendData which will in turn decode
114283        and call another write/appendData call.  In the case
114284        of these RawDataDocumentParsers, they will just override
114285        the low-level appendData call instead of needing
114286        DocumentWriter to have a special if based on
114287        DocumentParser::wantsRawData.
114288
114289        No functional change, thus no tests.
114290
114291        * GNUmakefile.am:
114292        * WebCore.gypi:
114293        * WebCore.pro:
114294        * WebCore.xcodeproj/project.pbxproj:
114295        * dom/DocumentParser.h:
114296        (WebCore::DocumentParser::writeRawData):
114297        * loader/ImageDocument.cpp:
114298        (WebCore::ImageDocumentParser::ImageDocumentParser):
114299        (WebCore::ImageDocumentParser::finish):
114300        * loader/MediaDocument.cpp:
114301        (WebCore::MediaDocumentParser::MediaDocumentParser):
114302        (WebCore::MediaDocumentParser::writeRawData):
114303        * loader/PluginDocument.cpp:
114304        (WebCore::PluginDocumentParser::PluginDocumentParser):
114305        * loader/SinkDocument.cpp:
114306        (WebCore::SinkDocument::createParser):
114307
1143082010-06-23  Peter Kasting  <pkasting@google.com>
114309
114310        Reviewed by Adam Barth.
114311
114312        REGRESSION (r61619): Memory corruption in open-source ICO decoder
114313        https://bugs.webkit.org/show_bug.cgi?id=41107
114314
114315        * platform/image-decoders/bmp/BMPImageReader.cpp:
114316        (WebCore::BMPImageReader::processInfoHeader): Fix memory corruption.
114317        * platform/image-decoders/ico/ICOImageDecoder.cpp:
114318        (WebCore::ICOImageDecoder::processDirectoryEntries): Handle sizing failure correctly (though failure should be impossible).
114319
1143202010-06-24  Sheriff Bot  <webkit.review.bot@gmail.com>
114321
114322        Unreviewed, rolling out r61783.
114323        http://trac.webkit.org/changeset/61783
114324        https://bugs.webkit.org/show_bug.cgi?id=41179
114325
114326        Caused a couple of test failures (Requested by japhet on
114327        #webkit).
114328
114329        * dom/DOMImplementation.cpp:
114330        (WebCore::DOMImplementation::createDocument):
114331        (WebCore::DOMImplementation::createHTMLDocument):
114332        * dom/DOMImplementation.h:
114333        * dom/Document.cpp:
114334        (WebCore::Document::Document):
114335        (WebCore::Document::initSecurityContext):
114336        * dom/Document.h:
114337        (WebCore::Document::create):
114338        (WebCore::Document::createXHTML):
114339        * html/HTMLDocument.cpp:
114340        (WebCore::HTMLDocument::HTMLDocument):
114341        * html/HTMLDocument.h:
114342        (WebCore::HTMLDocument::create):
114343        * html/HTMLViewSourceDocument.cpp:
114344        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
114345        * html/HTMLViewSourceDocument.h:
114346        (WebCore::HTMLViewSourceDocument::create):
114347        * loader/CachedFont.cpp:
114348        (WebCore::CachedFont::ensureSVGFontData):
114349        * loader/DocumentWriter.cpp:
114350        (WebCore::DocumentWriter::createDocument):
114351        (WebCore::DocumentWriter::begin):
114352        * loader/DocumentWriter.h:
114353        * loader/FTPDirectoryDocument.cpp:
114354        (WebCore::FTPDirectoryDocument::FTPDirectoryDocument):
114355        * loader/FTPDirectoryDocument.h:
114356        (WebCore::FTPDirectoryDocument::create):
114357        * loader/ImageDocument.cpp:
114358        (WebCore::ImageDocument::ImageDocument):
114359        * loader/ImageDocument.h:
114360        (WebCore::ImageDocument::create):
114361        * loader/MediaDocument.cpp:
114362        (WebCore::MediaDocument::MediaDocument):
114363        * loader/MediaDocument.h:
114364        (WebCore::MediaDocument::create):
114365        * loader/PlaceholderDocument.h:
114366        (WebCore::PlaceholderDocument::create):
114367        (WebCore::PlaceholderDocument::PlaceholderDocument):
114368        * loader/PluginDocument.cpp:
114369        (WebCore::PluginDocument::PluginDocument):
114370        * loader/PluginDocument.h:
114371        (WebCore::PluginDocument::create):
114372        * loader/SinkDocument.cpp:
114373        (WebCore::SinkDocument::SinkDocument):
114374        * loader/SinkDocument.h:
114375        (WebCore::SinkDocument::create):
114376        * loader/TextDocument.cpp:
114377        (WebCore::TextDocument::TextDocument):
114378        * loader/TextDocument.h:
114379        (WebCore::TextDocument::create):
114380        * svg/SVGDocument.cpp:
114381        (WebCore::SVGDocument::SVGDocument):
114382        * svg/SVGDocument.h:
114383        (WebCore::SVGDocument::create):
114384        * xml/DOMParser.cpp:
114385        (WebCore::DOMParser::parseFromString):
114386        * xml/XMLHttpRequest.cpp:
114387        (WebCore::XMLHttpRequest::responseXML):
114388        * xml/XSLTProcessor.cpp:
114389        (WebCore::XSLTProcessor::createDocumentFromSource):
114390
1143912010-06-24  Martin Robinson  <mrobinson@igalia.com>
114392
114393        Reviewed by Xan Lopez.
114394
114395        [GTK] Small code cleanup in RenderThemeGtk
114396        https://bugs.webkit.org/show_bug.cgi?id=40989
114397
114398        Reduce the amount of duplicated code slightly and prepare this section for
114399        future improvements, such as sharing the clipping rectangle calculation with
114400        the slow path.
114401
114402        No new tests as functionality has not changed.
114403
114404        * platform/gtk/RenderThemeGtk.cpp:
114405        (WebCore::paintMozillaGtkWidget): Small code cleanup.
114406
1144072010-06-24  Nate Chapin  <japhet@chromium.org>
114408
114409        Reviewed by Adam Barth.
114410
114411        Take a KURL parameter in Document's constructor.
114412        This will remove the one case where Document::url() 
114413        and FrameLoader::url() are not equal, allowing us to
114414        remove FrameLoader::url().
114415
114416        https://bugs.webkit.org/show_bug.cgi?id=41166
114417
114418        Refactor only, no new tests.
114419
114420        * dom/DOMImplementation.cpp:
114421        (WebCore::DOMImplementation::createDocument): Take a KURL and pass it through to Document.
114422        (WebCore::DOMImplementation::createHTMLDocument):
114423        * dom/DOMImplementation.h:
114424        * dom/Document.cpp:
114425        (WebCore::Document::Document): Call setURL() for non-empty KURL input parameters.
114426        (WebCore::Document::initSecurityContext): m_url is now initialized, so use it instead
114427            of m_frame->loader()->url() for initializing the SecurityOrigin.
114428        * dom/Document.h:
114429        (WebCore::Document::create):
114430        (WebCore::Document::createXHTML):
114431        * html/HTMLDocument.cpp:
114432        * html/HTMLDocument.h: Add KURL parameter to create() and constructor.
114433        * html/HTMLViewSourceDocument.cpp:
114434        * html/HTMLViewSourceDocument.h: Add KURL parameter to create() and constructor.
114435        * loader/CachedFont.cpp:
114436        (WebCore::CachedFont::ensureSVGFontData):
114437        * loader/DocumentWriter.cpp:
114438        (WebCore::DocumentWriter::createDocument): Take a KURL and pass it through to Document.
114439        (WebCore::DocumentWriter::begin): Pass existing url parameter to constructors, and remove
114440            redundant Document::setURL() call.
114441        * loader/DocumentWriter.h:
114442        * loader/FTPDirectoryDocument.cpp:
114443        * loader/FTPDirectoryDocument.h: Add KURL parameter to create() and constructor.
114444        * loader/ImageDocument.cpp:
114445        * loader/ImageDocument.h: Add KURL parameter to create() and constructor.
114446        * loader/MediaDocument.cpp:
114447        * loader/MediaDocument.h: Add KURL parameter to create() and constructor.
114448        * loader/PlaceholderDocument.h: Add KURL parameter to create() and constructor.
114449        * loader/PluginDocument.cpp:
114450        * loader/PluginDocument.h: Add KURL parameter to create() and constructor.
114451        * loader/SinkDocument.cpp:
114452        * loader/SinkDocument.h: Add KURL parameter to create() and constructor.
114453        * loader/TextDocument.cpp:
114454        * loader/TextDocument.h: Add KURL parameter to create() and constructor.
114455        * svg/SVGDocument.cpp:
114456        * svg/SVGDocument.h: Add KURL parameter to create() and constructor.
114457        * xml/DOMParser.cpp:
114458        (WebCore::DOMParser::parseFromString):
114459        * xml/XMLHttpRequest.cpp:
114460        (WebCore::XMLHttpRequest::responseXML):
114461        * xml/XSLTProcessor.cpp:
114462        (WebCore::XSLTProcessor::createDocumentFromSource):
114463
1144642010-06-24  Brady Eidson  <beidson@apple.com>
114465
114466        Reviewed by Sam Weinig.
114467
114468        <rdar://problem/8044645> and https://bugs.webkit.org/show_bug.cgi?id=41082
114469
114470        Webarchives will null main resource cause a repro crash.
114471
114472        Test: webarchive/loading/mainresource-null-mimetype-crash.html
114473
114474        * loader/archive/cf/LegacyWebArchive.cpp:
114475        (WebCore::LegacyWebArchive::createResource): Fail to create the archive resource if the main resource's
114476          mime type is null.
114477
1144782010-06-24  Damian Kaleta  <dkaleta@apple.com>
114479
114480        Reviewed by Sam Weinig.
114481
114482        Provide a way to obtain the rendered rectangle for box elements.
114483
114484        * WebCore.base.exp: Export the symbol so we can see it in WebKit.
114485        * dom/Node.cpp:
114486        (WebCore::Node::renderRect): Added new ethod that will return a rendered rectangle for box elements.
114487        * dom/Node.h: Ditto.
114488
1144892010-06-24  Vangelis Kokkevis  <vangelis@chromium.org>
114490
114491        Reviewed by Darin Fisher.
114492
114493        [Chromium] Create specialized classes for Transform,
114494        Image and WebGL layers to replace the rather monolithic LayerChromium class.
114495        Layers can now own the GL texture they use for backing store and a different
114496        shading program can be used by the compositor for each layer type. WebGL layers
114497        are not yet hooked up to GraphicsContext3D.
114498        https://bugs.webkit.org/show_bug.cgi?id=41106
114499
114500        * WebCore.gypi:
114501        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
114502        (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
114503        (WebCore::GraphicsLayerChromium::setContentsToImage):
114504        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
114505        * platform/graphics/chromium/GraphicsLayerChromium.h:
114506        (WebCore::GraphicsLayerChromium::):
114507        * platform/graphics/chromium/ImageLayerChromium.cpp: Added.
114508        (WebCore::ImageLayerChromium::create):
114509        (WebCore::ImageLayerChromium::ImageLayerChromium):
114510        (WebCore::ImageLayerChromium::setContents):
114511        (WebCore::ImageLayerChromium::updateTextureContents):
114512        * platform/graphics/chromium/ImageLayerChromium.h: Added.
114513        (WebCore::ImageLayerChromium::drawsContent):
114514        * platform/graphics/chromium/LayerChromium.cpp:
114515        (WebCore::LayerChromium::create):
114516        (WebCore::LayerChromium::LayerChromium):
114517        (WebCore::LayerChromium::updateTextureContents):
114518        (WebCore::LayerChromium::updateTextureRect):
114519        * platform/graphics/chromium/LayerChromium.h:
114520        (WebCore::LayerChromium::drawsContent):
114521        (WebCore::LayerChromium::ownsTexture):
114522        (WebCore::LayerChromium::textureId):
114523        (WebCore::LayerChromium::setShaderProgramId):
114524        (WebCore::LayerChromium::shaderProgramId):
114525        * platform/graphics/chromium/LayerRendererChromium.cpp:
114526        (WebCore::LayerRendererChromium::createLayerShader):
114527        (WebCore::ShaderProgram::ShaderProgram):
114528        (WebCore::LayerRendererChromium::LayerRendererChromium):
114529        (WebCore::LayerRendererChromium::~LayerRendererChromium):
114530        (WebCore::LayerRendererChromium::useShaderProgram):
114531        (WebCore::LayerRendererChromium::drawTexturedQuad):
114532        (WebCore::LayerRendererChromium::drawLayers):
114533        (WebCore::LayerRendererChromium::drawDebugBorder):
114534        (WebCore::LayerRendererChromium::updateLayersRecursive):
114535        (WebCore::LayerRendererChromium::drawLayer):
114536        (WebCore::LayerRendererChromium::bindCommonAttribLocations):
114537        (WebCore::LayerRendererChromium::initializeSharedGLObjects):
114538        * platform/graphics/chromium/LayerRendererChromium.h:
114539        (WebCore::LayerRendererChromium::):
114540        * platform/graphics/chromium/TransformLayerChromium.cpp: Added.
114541        (WebCore::TransformLayerChromium::create):
114542        (WebCore::TransformLayerChromium::TransformLayerChromium):
114543        * platform/graphics/chromium/TransformLayerChromium.h: Added.
114544        (WebCore::TransformLayerChromium::drawsContent):
114545        * platform/graphics/chromium/WebGLLayerChromium.cpp: Added.
114546        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
114547        (WebCore::WebGLLayerChromium::textureId):
114548        (WebCore::WebGLLayerChromium::updateTextureContents):
114549        (WebCore::WebGLLayerChromium::setContext):
114550        * platform/graphics/chromium/WebGLLayerChromium.h: Added.
114551        (WebCore::WebGLLayerChromium::drawsContent):
114552        (WebCore::WebGLLayerChromium::ownsTexture):
114553        (WebCore::WebGLLayerChromium::shaderProgramId):
114554        (WebCore::WebGLLayerChromium::setShaderProgramId):
114555
1145562010-06-24  Pavel Feldman  <pfeldman@chromium.org>
114557
114558        Reviewed by Yury Semikhatsky.
114559 
114560        Web Inspector: Inspector cleanup + better DevTools alignment with Inspector.
114561
114562        https://bugs.webkit.org/show_bug.cgi?id=41094
114563
114564        - Removed a bunch of unused methods from all over the place
114565        - Added client callbacks for states surviving navigation
114566        - Implemented more user-friendly stub for InspectorFrontendHost.platform
114567
114568        * inspector/InspectorClient.h:
114569        (WebCore::InspectorClient::resourceTrackingWasEnabled):
114570        (WebCore::InspectorClient::resourceTrackingWasDisabled):
114571        (WebCore::InspectorClient::timelineProfilerWasStarted):
114572        (WebCore::InspectorClient::timelineProfilerWasStopped):
114573        * inspector/InspectorController.cpp:
114574        (WebCore::InspectorController::enableResourceTracking):
114575        (WebCore::InspectorController::disableResourceTracking):
114576        (WebCore::InspectorController::ensureSettingsLoaded):
114577        (WebCore::InspectorController::startTimelineProfiler):
114578        (WebCore::InspectorController::stopTimelineProfiler):
114579        * inspector/InspectorFrontend.cpp:
114580        * inspector/InspectorFrontend.h:
114581        * inspector/front-end/InspectorBackendStub.js:
114582        * inspector/front-end/InspectorFrontendHostStub.js:
114583        (.WebInspector.InspectorFrontendHostStub.prototype.platform):
114584
1145852010-06-23  Alexey Proskuryakov  <ap@apple.com>
114586
114587        Reviewed by Darin Adler.
114588
114589        https://bugs.webkit.org/show_bug.cgi?id=41099
114590        Assertion failure: !m_suspended when XMLHttpRequest fails
114591
114592        This was a general problem with load failure timer not being deferred.
114593
114594        Test: manual-tests/xhr-failure-behind-alert.html
114595
114596        * manual-tests/xhr-failure-behind-alert.html: Added.
114597
114598        * platform/network/ResourceHandle.cpp:
114599        (WebCore::ResourceHandle::fireFailure): Added an empty case for NoFailure. Reset
114600        m_scheduledFailureType to NoFailure when firing.
114601        (WebCore::ResourceHandle::setDefersLoading): Stop failure timer when deferring, restart when
114602        un-deferring loads.
114603
114604        * platform/network/ResourceHandle.h: Renamed m_failureType to m_scheduledFailureType to
114605        make it clear that it is only set when a timer is scheduled.
114606
114607        * platform/network/ResourceHandleInternal.h:
114608        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Initialize m_scheduledFailureType
114609        to NoFailure, so that we can look at it when un-deferring loads.
114610
114611        * platform/network/android/ResourceHandleAndroid.cpp:
114612        (WebCore::ResourceHandle::platformSetDefersLoading):
114613        * platform/network/cf/ResourceHandleCFNet.cpp:
114614        (WebCore::ResourceHandle::platformSetDefersLoading):
114615        * platform/network/curl/ResourceHandleCurl.cpp:
114616        (WebCore::ResourceHandle::platformSetDefersLoading):
114617        * platform/network/mac/ResourceHandleMac.mm:
114618        (WebCore::ResourceHandle::platformSetDefersLoading):
114619        * platform/network/qt/ResourceHandleQt.cpp:
114620        (WebCore::ResourceHandle::platformSetDefersLoading):
114621        * platform/network/soup/ResourceHandleSoup.cpp:
114622        Platform specific parts of setDefersLoading() are now in a separate function.
114623
1146242010-06-24  Pavel Feldman  <pfeldman@chromium.org>
114625
114626        Not reviewed: revert 61766.
114627
114628        * inspector/InspectorClient.h:
114629        * inspector/InspectorController.cpp:
114630        (WebCore::InspectorController::enableResourceTracking):
114631        (WebCore::InspectorController::disableResourceTracking):
114632        (WebCore::InspectorController::ensureSettingsLoaded):
114633        (WebCore::InspectorController::startTimelineProfiler):
114634        (WebCore::InspectorController::stopTimelineProfiler):
114635        * inspector/InspectorFrontend.cpp:
114636        (WebCore::InspectorFrontend::setAttachedWindow):
114637        * inspector/InspectorFrontend.h:
114638        * inspector/front-end/InspectorBackendStub.js:
114639        (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
114640        * inspector/front-end/InspectorFrontendHostStub.js:
114641        (.WebInspector.InspectorFrontendHostStub.prototype.platform):
114642
1146432010-06-23  Pavel Feldman  <pfeldman@chromium.org>
114644
114645        Reviewed by Yury Semikhatsky.
114646
114647        Web Inspector: Inspector cleanup + better DevTools alignment with Inspector.
114648        
114649        https://bugs.webkit.org/show_bug.cgi?id=41094
114650
114651        - Removed a bunch of unused methods from all over the place
114652        - Added client callbacks for states surviving navigation
114653        - Implemented more user-friendly stub for InspectorFrontendHost.platform
114654
114655        * inspector/InspectorClient.h:
114656        (WebCore::InspectorClient::resourceTrackingWasEnabled):
114657        (WebCore::InspectorClient::resourceTrackingWasDisabled):
114658        (WebCore::InspectorClient::timelineProfilerWasStarted):
114659        (WebCore::InspectorClient::timelineProfilerWasStopped):
114660        * inspector/InspectorController.cpp:
114661        (WebCore::InspectorController::enableResourceTracking):
114662        (WebCore::InspectorController::disableResourceTracking):
114663        (WebCore::InspectorController::ensureSettingsLoaded):
114664        (WebCore::InspectorController::startTimelineProfiler):
114665        (WebCore::InspectorController::stopTimelineProfiler):
114666        * inspector/InspectorFrontend.cpp:
114667        * inspector/InspectorFrontend.h:
114668        * inspector/front-end/InspectorBackendStub.js:
114669        * inspector/front-end/InspectorFrontendHostStub.js:
114670        (.WebInspector.InspectorFrontendHostStub.prototype.platform):
114671
1146722010-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>
114673
114674        Reviewed by Dirk Schulze.
114675
114676        Inspector & SVG Text have problems, kids of RenderSVGText are not properly placed.
114677        https://bugs.webkit.org/show_bug.cgi?id=41143
114678
114679        Simplify code path taken for SVG text in InspectorController, take the code path currently only used for RenderInline,
114680        that just calls absoluteQuads(), and displays the result. Refactored code that all SVG renderers (except RenderSVGRoot)
114681        take this code path -> highlighting now works as expected.
114682
114683        Don't use absoluteClippedOverlowRect() in the various RenderSVG*::absoluteQuads() methods, as we're loosing floating-point precision.
114684        Instead use localToAbsoluteQuad(strokeBoundingBox()) in order to highlight the unclipped, unfiltered, etc.. region that this renderer would paint.
114685
114686        No new tests, as this is only manual testable - at least I didn't find any Inspector-Highlighting tests, if someone knows please mail me.
114687
114688        * inspector/InspectorController.cpp:
114689        (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
114690        (WebCore::InspectorController::drawNodeHighlight):
114691        * rendering/RenderSVGBlock.cpp:
114692        (WebCore::RenderSVGBlock::absoluteRects): ASSERT_NOT_REACHED() here. SVG should only be inspected through absoluteQuads().
114693        * rendering/RenderSVGBlock.h: Add absoluteRects() in this base class for RenderForeignObject/RenderSVGText.
114694        * rendering/RenderSVGHiddenContainer.cpp: Remove absoluteRects() - RenderSVGModelObject already has it.
114695        * rendering/RenderSVGHiddenContainer.h: Ditto.
114696        * rendering/RenderSVGImage.cpp: 
114697        (WebCore::RenderSVGImage::absoluteRects): ASSERT_NOT_REACHED() here.
114698        (WebCore::RenderSVGImage::absoluteQuads): Don't use absoluteClippedOverlowRect() but localToAbsoluteQuad(repaintRectInLocalCoordinates()).
114699        * rendering/RenderSVGImage.h:
114700        (WebCore::RenderSVGImage::objectBoundingBox): Inlined
114701        * rendering/RenderSVGInline.cpp: 
114702        (WebCore::RenderSVGInline::absoluteQuads): Take RenderSVGText translation into account, allows inspecting <tspan>/<tref> etc.
114703        * rendering/RenderSVGInline.h:
114704        * rendering/RenderSVGModelObject.cpp: 
114705        (WebCore::RenderSVGModelObject::absoluteRects): ASSERT_NOT_REACHED() here.
114706        (WebCore::RenderSVGModelObject::absoluteQuads): Don't use absoluteClippedOverlowRect() but localToAbsoluteQuad(repaintRectInLocalCoordinates()).
114707        * rendering/RenderSVGModelObject.h:
114708        * rendering/RenderSVGRoot.cpp: Fix typo in license s/aint/along. Need to touch this file in order to let Mac build.
114709        * rendering/RenderSVGText.cpp:
114710        (WebCore::RenderSVGText::mapLocalToContainer): Remove hack, which moved the transformState by x()/y(). Not needed anymore.
114711        (WebCore::RenderSVGText::absoluteQuads): Proper implementation, respecting x/y translation.
114712        * rendering/RenderSVGText.h: Reorder some functions. 
114713        * rendering/SVGRenderSupport.h: Removed last virtual function strokeBoundingBox().
114714
1147152010-06-24  Kent Tamura  <tkent@chromium.org>
114716
114717        Unreviewed. Build fix for Tiger.
114718
114719        * platform/mac/ThemeMac.mm:
114720        (WebCore::setControlSize):
114721
1147222010-06-24  Kent Tamura  <tkent@chromium.org>
114723
114724        Unreviewed. Build fix for Tiger.
114725
114726        * platform/mac/ThemeMac.mm:
114727        (WebCore::setControlSize):
114728        (WebCore::ThemeMac::inflateControlPaintRect):
114729
1147302010-06-24  Kent Tamura  <tkent@chromium.org>
114731
114732        Unreviewed.  Build fix for Chromium Mac.
114733
114734        * html/HTMLInputElement.cpp:
114735        (WebCore::HTMLInputElement::isSpeechEnabled):
114736
1147372010-06-24  Simon Hausmann  <simon.hausmann@nokia.com>
114738
114739        Unreviewed Symbian build fix.
114740
114741        The QML WebKit integration needs to be part of QtWebKit.sis
114742
114743        * WebCore.pro: Deploy qmlwebkitplugin.dll.
114744
1147452010-06-24  Satish Sampath  <satish@chromium.org>
114746
114747        Reviewed by Kent Tamura.
114748
114749        Add a speech button to input elements, no rendering or actions yet.
114750
114751        Speech Input: Add a speech button to text input element (no rendering or actions yet)
114752        https://bugs.webkit.org/show_bug.cgi?id=40925
114753
114754        No new tests. Will create a layout test in a subsequent patch.
114755
114756        * css/CSSPrimitiveValueMappings.h:
114757        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
114758        * css/CSSSelector.cpp:
114759        (WebCore::CSSSelector::pseudoId):
114760        (WebCore::nameToPseudoTypeMap):
114761        (WebCore::CSSSelector::extractPseudoType):
114762        * css/CSSSelector.h:
114763        (WebCore::CSSSelector::):
114764        * css/CSSValueKeywords.in:
114765        * css/html.css:
114766        (input::-webkit-input-speech-button):
114767        * dom/InputElement.h:
114768        * html/HTMLAttributeNames.in:
114769        * html/HTMLInputElement.cpp:
114770        (WebCore::HTMLInputElement::isSpeechEnabled):
114771        * html/HTMLInputElement.h:
114772        * platform/ThemeTypes.h:
114773        (WebCore::):
114774        * rendering/RenderTextControlSingleLine.cpp:
114775        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
114776        (WebCore::RenderTextControlSingleLine::forwardEvent):
114777        (WebCore::RenderTextControlSingleLine::styleDidChange):
114778        (WebCore::RenderTextControlSingleLine::hasControlClip):
114779        (WebCore::RenderTextControlSingleLine::controlClipRect):
114780        (WebCore::RenderTextControlSingleLine::textBlockWidth):
114781        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
114782        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
114783        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
114784        (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
114785        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
114786        * rendering/RenderTextControlSingleLine.h:
114787        * rendering/RenderTheme.cpp:
114788        (WebCore::RenderTheme::adjustStyle):
114789        (WebCore::RenderTheme::paint):
114790        (WebCore::RenderTheme::paintBorderOnly):
114791        (WebCore::RenderTheme::paintDecorations):
114792        * rendering/TextControlInnerElements.cpp:
114793        (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
114794        (WebCore::InputFieldSpeechButtonElement::create):
114795        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
114796        * rendering/TextControlInnerElements.h:
114797        * rendering/style/RenderStyleConstants.h:
114798        (WebCore::):
114799
1148002010-06-24  Kent Tamura  <tkent@chromium.org>
114801
114802        Reviewed by Adam Barth.
114803
114804        [Mac] The upper button of <input type=number> has no visual effect on click
114805        https://bugs.webkit.org/show_bug.cgi?id=38380
114806
114807        Because we have no ways to draw an NSStepperCell with its up button
114808        highlighted, use HIThemeDrawButton() instead.
114809
114810        Test: platform/mac/fast/forms/input-appearance-spinbutton-up.html
114811
114812        * platform/mac/ThemeMac.mm:
114813        (WebCore::controlSizeFromPixelSize):
114814          New function. Made from a part of setControlSize().
114815        (WebCore::setControlSize):
114816        (WebCore::convertControlStatesToThemeDrawState):
114817        (WebCore::paintStepper): Use HITheme API instead of NSStepperCell.
114818        (WebCore::ThemeMac::inflateControlPaintRect):
114819          Use controlSizeFromPixelSize().
114820
1148212010-06-24  Yury Semikhatsky  <yurys@chromium.org>
114822
114823        Reviewed by Pavel Feldman.
114824
114825        Web Inspector: implement layout tests for debugger
114826        https://bugs.webkit.org/show_bug.cgi?id=40774
114827
114828        Test: inspector/debugger-pause-on-debugger-statement.html
114829
114830        * bindings/js/ScriptDebugServer.cpp: remove unused obsolete code that deals with global listeners.
114831        (WebCore::ScriptDebugServer::ScriptDebugServer):
114832        (WebCore::ScriptDebugServer::removeListener):
114833        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
114834        (WebCore::ScriptDebugServer::pauseIfNeeded):
114835        (WebCore::ScriptDebugServer::didAddListener):
114836        (WebCore::ScriptDebugServer::didRemoveListener):
114837        * bindings/js/ScriptDebugServer.h:
114838        * platform/mac/EventLoopMac.mm:
114839        (WebCore::EventLoop::cycle): wait at most 10ms for new event, otherwise layout tests would
114840        hang because in their case there may be no events ever.
114841
1148422010-06-24  Andrey Kosyakov  <caseq@chromium.org>
114843
114844        Reviewed by Yury Semikhatsky.
114845
114846        Fixed evaluation & logging of null values in console.
114847        Changed handling of null and undefined in ScriptValue::toString()
114848        to match JSC bindings (i.e. "null" and "undefined" instead of "").
114849        https://bugs.webkit.org/show_bug.cgi?id=40980
114850
114851        * bindings/v8/ScriptValue.cpp:
114852        (WebCore::ScriptValue::toString):
114853        * inspector/front-end/InjectedScript.js:
114854        (injectedScriptConstructor):
114855
1148562010-06-24  Yury Semikhatsky  <yurys@chromium.org>
114857
114858        Reviewed by Pavel Feldman.
114859
114860        Web Inspector: live edit doesn't work when resource tracking is off
114861        https://bugs.webkit.org/show_bug.cgi?id=41076
114862
114863        * inspector/front-end/ScriptView.js:
114864        (WebInspector.ScriptView.prototype._sourceIDForLine): implement this method for ScriptView,
114865        it's needed for editLine to work.
114866
1148672010-06-23  Adam Barth  <abarth@webkit.org>
114868
114869        Reviewed by Eric Seidel.
114870
114871        Sketch out InitialMode of HTML5 tree builder
114872        https://bugs.webkit.org/show_bug.cgi?id=41126
114873
114874        Transliterated from the spec.  Currently doesn't do anything.  Mostly
114875        an experiment to see where this goes.
114876
114877        * html/HTMLTreeBuilder.cpp:
114878        (WebCore::HTMLTreeBuilder::processToken):
114879        (WebCore::HTMLTreeBuilder::insertDoctype):
114880        (WebCore::HTMLTreeBuilder::insertComment):
114881        * html/HTMLTreeBuilder.h:
114882
1148832010-06-23  Adam Barth  <abarth@webkit.org>
114884
114885        Reviewed by Eric Seidel.
114886
114887        Add all the HTML5 tree builder insertion modes
114888        https://bugs.webkit.org/show_bug.cgi?id=41124
114889
114890        These are just copied verbatim from the spec.  No tests because these
114891        don't do anything yet.
114892
114893        * html/HTMLTreeBuilder.cpp:
114894        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
114895        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
114896        * html/HTMLTreeBuilder.h:
114897        (WebCore::HTMLTreeBuilder::):
114898
1148992010-06-23  Eric Seidel  <eric@webkit.org>
114900
114901        Unreviewed.  Fix namespace indent.  Just whitespace changes.
114902
114903        * dom/DocumentParser.h:
114904        (WebCore::DocumentParser::~DocumentParser):
114905        (WebCore::DocumentParser::isExecutingScript):
114906        (WebCore::DocumentParser::stopParsing):
114907        (WebCore::DocumentParser::processingData):
114908        (WebCore::DocumentParser::wantsRawData):
114909        (WebCore::DocumentParser::writeRawData):
114910        (WebCore::DocumentParser::wellFormed):
114911        (WebCore::DocumentParser::lineNumber):
114912        (WebCore::DocumentParser::columnNumber):
114913        (WebCore::DocumentParser::executeScriptsWaitingForStylesheets):
114914        (WebCore::DocumentParser::htmlTreeBuilder):
114915        (WebCore::DocumentParser::asHTMLDocumentParser):
114916        (WebCore::DocumentParser::inViewSourceMode):
114917        (WebCore::DocumentParser::setInViewSourceMode):
114918        (WebCore::DocumentParser::document):
114919        (WebCore::DocumentParser::xssAuditor):
114920        (WebCore::DocumentParser::setXSSAuditor):
114921        (WebCore::DocumentParser::DocumentParser):
114922
1149232010-06-23  Eric Seidel  <eric@webkit.org>
114924
114925        Unreviewed.  Speculative build fix for Qt.
114926
114927        Move Document* down onto DocumentParser, since every DocumentParser needs one.
114928        https://bugs.webkit.org/show_bug.cgi?id=41117
114929
114930        XMLDocumentParserQt is a huge pile of donkey barf.
114931        I can't believe I ever r+'d the creation of this pile of
114932        copy/paste code.
114933
114934        I clearly missed removing m_doc from this code as well and thus
114935        broke Qt.
114936
114937        We really need to fix both XMLDocumentParserLibxml2 and
114938        XMLDocumentParserQt not to be so poorly abstracted so
114939        that if we're going to have two of them they can at least
114940        share some code.
114941
114942        * dom/XMLDocumentParserQt.cpp:
114943        (WebCore::XMLDocumentParser::XMLDocumentParser):
114944        (WebCore::XMLDocumentParser::~XMLDocumentParser):
114945        (WebCore::XMLDocumentParser::doWrite):
114946        (WebCore::XMLDocumentParser::doEnd):
114947        (WebCore::XMLDocumentParser::parse):
114948        (WebCore::XMLDocumentParser::startDocument):
114949        (WebCore::XMLDocumentParser::parseStartElement):
114950        (WebCore::XMLDocumentParser::parseEndElement):
114951        (WebCore::XMLDocumentParser::parseProcessingInstruction):
114952        (WebCore::XMLDocumentParser::parseCdata):
114953        (WebCore::XMLDocumentParser::parseComment):
114954        (WebCore::XMLDocumentParser::parseDtd):
114955
1149562010-06-23  Eric Seidel  <eric@webkit.org>
114957
114958        Reviewed by Adam Barth.
114959
114960        Move Document* down onto DocumentParser, since every DocumentParser needs one.
114961        https://bugs.webkit.org/show_bug.cgi?id=41117
114962
114963        This eliminated the need for document() on HTMLDocumentParser.
114964        This paves the way for more code sharing between various
114965        DocumentParser subclasses.
114966
114967        * dom/DocumentParser.h:
114968        (WebCore::DocumentParser::inViewSourceMode):
114969        (WebCore::DocumentParser::setInViewSourceMode):
114970        (WebCore::DocumentParser::document):
114971        (WebCore::DocumentParser::DocumentParser):
114972        * dom/XMLDocumentParser.cpp:
114973        (WebCore::XMLDocumentParser::isWMLDocument):
114974        (WebCore::XMLDocumentParser::pushCurrentNode):
114975        (WebCore::XMLDocumentParser::popCurrentNode):
114976        (WebCore::XMLDocumentParser::clearCurrentNodeStack):
114977        (WebCore::XMLDocumentParser::enterText):
114978        (WebCore::XMLDocumentParser::end):
114979        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
114980        * dom/XMLDocumentParser.h:
114981        * dom/XMLDocumentParserLibxml2.cpp:
114982        (WebCore::XMLDocumentParser::XMLDocumentParser):
114983        (WebCore::XMLDocumentParser::~XMLDocumentParser):
114984        (WebCore::XMLDocumentParser::doWrite):
114985        (WebCore::XMLDocumentParser::startElementNs):
114986        (WebCore::XMLDocumentParser::endElementNs):
114987        (WebCore::XMLDocumentParser::processingInstruction):
114988        (WebCore::XMLDocumentParser::cdataBlock):
114989        (WebCore::XMLDocumentParser::comment):
114990        (WebCore::XMLDocumentParser::startDocument):
114991        (WebCore::XMLDocumentParser::internalSubset):
114992        (WebCore::XMLDocumentParser::initializeParserContext):
114993        (WebCore::XMLDocumentParser::doEnd):
114994        * html/HTMLDocumentParser.cpp:
114995        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
114996        * html/HTMLDocumentParser.h:
114997        * html/LegacyHTMLDocumentParser.cpp:
114998        (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
114999        (WebCore::LegacyHTMLDocumentParser::begin):
115000        (WebCore::LegacyHTMLDocumentParser::scriptHandler):
115001        (WebCore::LegacyHTMLDocumentParser::scriptExecution):
115002        (WebCore::LegacyHTMLDocumentParser::parseTag):
115003        (WebCore::LegacyHTMLDocumentParser::continueProcessing):
115004        (WebCore::LegacyHTMLDocumentParser::willWriteHTML):
115005        (WebCore::LegacyHTMLDocumentParser::didWriteHTML):
115006        (WebCore::LegacyHTMLDocumentParser::write):
115007        (WebCore::LegacyHTMLDocumentParser::stopParsing):
115008        (WebCore::LegacyHTMLDocumentParser::timerFired):
115009        (WebCore::LegacyHTMLDocumentParser::end):
115010        (WebCore::LegacyHTMLDocumentParser::processToken):
115011        (WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
115012        (WebCore::LegacyHTMLDocumentParser::executeScriptsWaitingForStylesheets):
115013        (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsIfReady):
115014        (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsTimerFired):
115015        * html/LegacyHTMLDocumentParser.h:
115016        * loader/ImageDocument.cpp:
115017        (WebCore::ImageDocumentParser::ImageDocumentParser):
115018        (WebCore::ImageDocumentParser::imageDocument):
115019        (WebCore::ImageDocumentParser::write):
115020        (WebCore::ImageDocumentParser::writeRawData):
115021        (WebCore::ImageDocumentParser::finish):
115022        (WebCore::ImageDocumentParser::finishWasCalled):
115023        (WebCore::ImageDocumentParser::isWaitingForScripts):
115024        (WebCore::ImageDocument::createParser):
115025        * loader/MediaDocument.cpp:
115026        (WebCore::MediaDocumentParser::MediaDocumentParser):
115027        (WebCore::MediaDocumentParser::createDocumentStructure):
115028        (WebCore::MediaDocumentParser::finish):
115029        (WebCore::MediaDocumentParser::finishWasCalled):
115030        * loader/PluginDocument.cpp:
115031        (WebCore::PluginDocumentParser::PluginDocumentParser):
115032        (WebCore::PluginDocumentParser::createDocumentStructure):
115033        (WebCore::PluginDocumentParser::writeRawData):
115034        (WebCore::PluginDocumentParser::finish):
115035        (WebCore::PluginDocumentParser::finishWasCalled):
115036        * loader/SinkDocument.cpp:
115037        (WebCore::SinkDocumentParser::SinkDocumentParser):
115038        * loader/TextDocument.cpp:
115039        (WebCore::TextDocumentParser::TextDocumentParser):
115040        (WebCore::TextDocumentParser::write):
115041        (WebCore::TextDocumentParser::finish):
115042        (WebCore::TextDocumentParser::finishWasCalled):
115043
1150442010-06-23  Eric Seidel  <eric@webkit.org>
115045
115046        Reviewed by Adam Barth.
115047
115048        Start to clean up DocumentParser interface
115049        https://bugs.webkit.org/show_bug.cgi?id=41114
115050
115051        The first of many cleanups needed to the DocumentParser
115052        interface.  Rename executingScript() to isExecutingScript()
115053        and make it return a bool instead of an int.  Also added a
115054        FIXME to XMLDocumentParser about implementing it and did
115055        some minor other cleanup to the XMLDocumentParser header.
115056
115057        No functional change, thus no tests.
115058
115059        * dom/Document.cpp:
115060        (WebCore::Document::open):
115061        * dom/DocumentParser.h:
115062        (WebCore::DocumentParser::isExecutingScript):
115063        * dom/XMLDocumentParser.h:
115064        (WebCore::XMLDocumentParser::wellFormed):
115065        * html/HTMLDocumentParser.cpp:
115066        (WebCore::HTMLDocumentParser::attemptToEnd):
115067        (WebCore::HTMLDocumentParser::endIfDelayed):
115068        (WebCore::HTMLDocumentParser::isExecutingScript):
115069        * html/HTMLDocumentParser.h:
115070        * html/LegacyHTMLDocumentParser.h:
115071        (WebCore::LegacyHTMLDocumentParser::isExecutingScript):
115072
1150732010-06-22  Maciej Stachowiak  <mjs@apple.com>
115074
115075        Reviewed by Simon Fraser.
115076
115077        Implement IDL attribute for HTML5 hidden
115078        https://bugs.webkit.org/show_bug.cgi?id=41039
115079
115080        Test: fast/html/hidden-attr-dom.html
115081
115082        * html/HTMLElement.idl: Just add to the IDL file. [Reflect] takes
115083        care of the rest.
115084
1150852010-06-23  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
115086
115087        Reviewed by Chris Fleizach.
115088
115089        [Gtk] nameFromChildren is obsolete
115090        https://bugs.webkit.org/show_bug.cgi?id=36128
115091
115092        Look to the AtkText interface implemented by the objects in
115093        question.
115094
115095        Test: platform/gtk/accessibility/name-from-label.html
115096
115097        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
115098        (webkit_accessible_get_name):
115099        (webkit_accessible_table_get_column_description):
115100        (webkit_accessible_table_get_row_description):
115101
1151022010-06-23  Kwang Yul Seo  <skyul@company100.net>
115103
115104        Reviewed by Kent Tamura.
115105
115106        [BREWMP] Port FileSystem
115107        https://bugs.webkit.org/show_bug.cgi?id=34323
115108
115109        Port FileSystem with IFileMgr interface.
115110
115111        * platform/FileSystem.h:
115112        * platform/brew/FileSystemBrew.cpp: Added.
115113        (WebCore::getFileSize):
115114        (WebCore::getFileModificationTime):
115115        (WebCore::fileExists):
115116        (WebCore::deleteFile):
115117        (WebCore::deleteEmptyDirectory):
115118        (WebCore::pathByAppendingComponent):
115119        (WebCore::fileSystemRepresentation):
115120        (WebCore::canonicalPath):
115121        (WebCore::makeAllDirectories):
115122        (WebCore::homeDirectoryPath):
115123        (WebCore::pathGetFileName):
115124        (WebCore::directoryName):
115125        (WebCore::openTemporaryFile):
115126        (WebCore::closeFile):
115127        (WebCore::writeToFile):
115128        (WebCore::unloadModule):
115129        (WebCore::listDirectory):
115130
1151312010-06-23  Alexendar Pavlov  <apavlov@chromium.org>
115132
115133        Reviewed by David Hyatt.
115134
115135        Swap checks in Position::isCandidate so that the less expensive
115136        nodeIsUserSelectNode  (node && node->renderer() &&
115137        node->renderer()->style()->userSelect() == SELECT_NONE) came first.
115138
115139        (Was Web Inspector: Hangup when expanding elements with enormous
115140        text node content in Elements panel).
115141
115142        https://bugs.webkit.org/show_bug.cgi?id=35926
115143
115144        * dom/Position.cpp:
115145        (WebCore::Position::isCandidate):
115146        * dom/PositionIterator.cpp:
115147        (WebCore::PositionIterator::isCandidate):
115148
1151492010-06-23  Kwang Yul Seo  <skyul@company100.net>
115150
115151        Reviewed by Kent Tamura.
115152
115153        [BREWMP] Add PopupMenu implementation
115154        https://bugs.webkit.org/show_bug.cgi?id=40226
115155
115156        Delegate PopupMenu handling to ChromeClientBrew.
115157
115158        * page/brew/ChromeClientBrew.h: Added.
115159        * platform/PopupMenu.h:
115160        * platform/brew/PopupMenuBrew.cpp: Added.
115161        (WebCore::PopupMenu::PopupMenu):
115162        (WebCore::PopupMenu::~PopupMenu):
115163        (WebCore::PopupMenu::show):
115164        (WebCore::PopupMenu::hide):
115165        (WebCore::PopupMenu::updateFromElement):
115166        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
115167
1151682010-06-23  Kenneth Russell  <kbr@google.com>
115169
115170        Reviewed by Dimitri Glazkov.
115171
115172        Implement format conversions in texImage2D and texSubImage2D taking HTML data
115173        https://bugs.webkit.org/show_bug.cgi?id=40319
115174
115175        Generalized code supporting premultiplication of alpha and
115176        vertical flip to pack texture data into requested format and type.
115177        Handled incoming image data of various formats, RGBA and BGRA in
115178        particular, both to reduce the number of temporary copies during
115179        texture upload and to support premultiplying alpha for the
115180        texImage2D and texSubImage2D entry points taking ArrayBufferView
115181        in a subsequent bug. Added test case exercising all combinations
115182        of format/type combinations, premultiplication of alpha, and
115183        Image/ImageData upload. (Incorporated pnglib.js under
115184        fast/canvas/webgl/resources/ to be able to generate Image elements
115185        programmatically.) Tested in Safari on Mac OS X and in Chromium on
115186        Mac OS X, Windows and Linux.
115187
115188        Test: fast/canvas/webgl/tex-image-with-format-and-type.html
115189
115190        * html/canvas/WebGLRenderingContext.cpp:
115191        (WebCore::WebGLRenderingContext::readPixels):
115192        (WebCore::WebGLRenderingContext::texImage2DImpl):
115193        (WebCore::WebGLRenderingContext::texImage2D):
115194        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
115195        (WebCore::WebGLRenderingContext::texSubImage2D):
115196        (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
115197        (WebCore::WebGLRenderingContext::validateTexFuncParameters):
115198        * platform/graphics/GraphicsContext3D.cpp:
115199        (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
115200        (WebCore::GraphicsContext3D::extractImageData):
115201        (WebCore::GraphicsContext3D::flipVertically):
115202        (WebCore::doUnpackingAndPacking):
115203        (WebCore::doPacking):
115204        (WebCore::GraphicsContext3D::packPixels):
115205        * platform/graphics/GraphicsContext3D.h:
115206        (WebCore::GraphicsContext3D::):
115207        * platform/graphics/cg/GraphicsContext3DCG.cpp:
115208        (WebCore::GraphicsContext3D::getImageData):
115209        * platform/graphics/mac/GraphicsContext3DMac.mm:
115210        (WebCore::narrowInternalFormat):
115211        (WebCore::GraphicsContext3D::texImage2D):
115212        * platform/graphics/qt/GraphicsContext3DQt.cpp:
115213        (WebCore::GraphicsContext3D::getImageData):
115214        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
115215        (WebCore::GraphicsContext3D::getImageData):
115216
1152172010-06-23  Stephen White  <senorblanco@chromium.org>
115218
115219        Unreviewed; correcting bad patch.
115220
115221        In my haste to land r61710, I mistakenly landed the wrong version, in
115222        which a chunk of code was moved.  This patch moves that chunk of code
115223        to where it was in the patch that was reviewed.  Mea culpa.
115224
115225        * rendering/RenderBoxModelObject.cpp:
115226        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
115227
1152282010-06-23  Stephen White  <senorblanco@chromium.org>
115229
115230        Reviewed by David Hyatt.
115231
115232        This is a tweak to the resize algorithm introduced in r61341, and
115233        is a fix for the regression described in
115234        https://bugs.webkit.org/show_bug.cgi?id=41036
115235
115236        The goal is to bring back the some of old behaviour, without regressing
115237        too much of the performance gains in r61341.
115238
115239        The old algorithm was:
115240        - on first resize, draw in high quality and record the paint time
115241        - if we've already drawn at this size, use the same quality as last time
115242        - on subsequent resizes, if the resize occurs within X ms of the
115243          previous one, draw at low quality and set a timer (one timer per
115244          image).
115245        - when each timer expires, draw that image at high quality
115246
115247        The r61341 algorithm was:  
115248        - on first resize, draw the image in low quality, add it to a list of
115249          resized images, and set a timer (one timer for all images)
115250        - when the timer expires, redraw all resized images in high quality
115251
115252        The new algorithm is:
115253        - on first resize, if no other animated resizes are outstanding, draw in
115254          high quality and set the timer (one timer for all images)
115255        - if any images have been resized to two different sizes in the last
115256          X ms, draw all resized images in low quality and kick the timer
115257          forward
115258        - when the timer expires, if any animated resizes occured, redraw all
115259          resized images in high quality, and reset the flag
115260
115261        This should cause GUIMark and the IE9 demos to have good performance 
115262        after the first frame, while other pages with only static resizes
115263        should be unaffected.
115264
115265        * rendering/RenderBoxModelObject.cpp:
115266        Change the LastPaintTimeMap to a LastPaintSizeMap:  we now record the
115267        last size an image was resized to, rather than the time it was painted
115268        (the time actually became redundant in r61341 when I added the
115269        check for m_timer.isActive():  we only care if anything is resizing
115270        while the timer is active).
115271        (WebCore::ImageQualityController::ImageQualityController):
115272        Add an initializer for the m_animatedResizeIsActive flag.
115273        (WebCore::ImageQualityController::objectDestroyed):
115274        Reset the m_animatedResizeIsActive flag if this was the last object
115275        in the list.
115276        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
115277        Only repaint all the images if there was an animated resize (otherwise,
115278        everything is already high quality).
115279        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
115280        Implement the above algorithm.
115281
1152822010-06-23  Abhishek Arya  <inferno@chromium.org>
115283
115284        Reviewed by Kenneth Rohde Christiansen.
115285
115286        Bad cast after DOM mutation in RenderMenuList
115287        https://bugs.webkit.org/show_bug.cgi?id=40828
115288 
115289        Firing the onchange event on select which changes its size > 1 causes the select
115290        object to change from a menulist to a listbox. However, when propogating the events,
115291        we do a bad cast assuming the object will remain a menulist. Added proper checks to
115292        make sure we check the renderer after the onchange is fired and propogate the event
115293        based on correct object type.
115294
115295        Test: fast/events/select-onchange-crash.html
115296
115297        * dom/SelectElement.cpp:
115298        (WebCore::SelectElement::setSelectedIndex):
115299
1153002010-06-23  Andy Estes  <aestes@apple.com>
115301
115302        Reviewed by Alexey Proskuryakov.
115303        
115304        <rdar://problem/8107855> Prevent a crash in WebCore when removing an
115305        object element with an invalid data URL in in a listener to its
115306        beforeload event.
115307        https://bugs.webkit.org/show_bug.cgi?id=41054
115308
115309        Tests: fast/dom/beforeload/remove-bad-object-in-beforeload-listener.html
115310
115311        * html/HTMLObjectElement.cpp:
115312        (WebCore::HTMLObjectElement::renderFallbackContent): Exit early if the
115313        object element is not in the document.
115314        * rendering/RenderEmbeddedObject.cpp:
115315        (WebCore::RenderEmbeddedObject::updateWidget): If RenderWidget::destroy()
115316        was called during processing of onbeforeload, do not proceed with loading
115317        the object.
115318
1153192010-06-23  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
115320
115321        Reviewed by Xan Lopez.
115322
115323        [gtk] web fonts not loaded properly in scribd html5 reader
115324        https://bugs.webkit.org/show_bug.cgi?id=38758
115325
115326        Drop filling the pattern with default values, because this
115327        restricts the matching more than we want.
115328
115329        * platform/graphics/cairo/FontCacheCairo.cpp:
115330        (WebCore::FontCache::createFontPlatformData):
115331
1153322010-06-23  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
115333
115334        Reviewed by Xan Lopez.
115335
115336        [gtk] web fonts not loaded properly in scribd html5 reader
115337        https://bugs.webkit.org/show_bug.cgi?id=38758
115338
115339        Also special-case `sans' amd `mono', which are aliases commonly
115340        used in GTK+ applications.
115341
115342        * platform/graphics/cairo/FontCacheCairo.cpp:
115343        (WebCore::isWellKnownFontName):
115344
1153452010-06-23  Justin Schuh  <jschuh@chromium.org>
115346
115347        Unreviewed, rolling out r61695.
115348        http://trac.webkit.org/changeset/61695
115349        https://bugs.webkit.org/show_bug.cgi?id=40798
115350
115351        61695 broke all the Linux builds.
115352
115353        * platform/image-decoders/png/PNGImageDecoder.cpp:
115354        (WebCore::PNGImageDecoder::rowAvailable):
115355
1153562010-06-23  Kevin Ollivier  <kevino@theolliviers.com>
115357
115358        Reviewed by Darin Adler.
115359
115360        Fix PluginViewNone.cpp compilation for ports that also compile PluginView.cpp
115361        https://bugs.webkit.org/show_bug.cgi?id=37939
115362
115363        * plugins/PluginViewNone.cpp:
115364        (WebCore::PluginView::handleFocusInEvent):
115365        (WebCore::PluginView::handleFocusOutEvent):
115366        (WebCore::PluginView::keepAlive):
115367        (WebCore::PluginView::privateBrowsingStateChanged):
115368        (WebCore::PluginView::setJavaScriptPaused):
115369
1153702010-06-23  Cris Neckar  <cdn@chromium.org>
115371
115372        Reviewed by Darin Fisher.
115373
115374        [Chromium] Out of bounds write in WebCore::PNGImageDecoder::rowAvailable
115375        https://bugs.webkit.org/show_bug.cgi?id=40798
115376
115377        Catches error in row callback for libPNG when extra rows are returned.
115378
115379        Test: fast/images/png-extra-row-crash.html
115380
115381        * platform/image-decoders/png/PNGImageDecoder.cpp:
115382        (WebCore::PNGImageDecoder::rowAvailable):
115383
1153842010-06-23  James Robinson  <jamesr@chromium.org>
115385
115386        Reviewed by Dan Bernstein.
115387
115388        Do not set needsLayout when the style attribute changes on an SVG element
115389        https://bugs.webkit.org/show_bug.cgi?id=40366
115390
115391        SVGSVGElement::svgAttributeChanged was incorrectly calling renderer()->setNeedsLayout(true)
115392        whenever the styleAttr changed on its element.  This could happen during layout in some
115393        circumstances due to lazy style attribute synchronization.  When it did, it could cause the
115394        layout flags to become inconsistent.  See the test case for details.
115395
115396        Changes to an element's style attribute always mark an element as needing layout anyway so
115397        this call was redundant.
115398
115399        Test: fast/repaint/svg-layout-root-style-attr-update.html
115400
115401        * svg/SVGStyledElement.cpp:
115402        (WebCore::SVGStyledElement::isKnownAttribute):
115403
1154042010-06-23  Simon Fraser  <simon.fraser@apple.com>
115405
115406        Reviewed by Dan Bernstein.
115407
115408        r61215 broke Acid3
115409        https://bugs.webkit.org/show_bug.cgi?id=41034
115410        
115411        The code added in r61215, which tests whether the root renderer will fill
115412        the entire viewport, should not run for subframes. So bail from
115413        RenderView::paintBoxDecorations() if document()->ownerElement() is not null.
115414        The old code was trying to do this by checking 'elt', but that ends up as 
115415        null after the for loop above.
115416        
115417        We can also bail early if the is no FrameView().
115418
115419        Test: fast/frames/paint-iframe-background.html
115420
115421        * rendering/RenderView.cpp:
115422        (WebCore::RenderView::paintBoxDecorations):
115423
1154242010-06-23  Pavel Feldman  <pfeldman@chromium.org>
115425
115426        Reviewed by Yury Semikhatsky.
115427
115428        Web Inspector: do not reset profiles panel on navigation.
115429
115430        https://bugs.webkit.org/show_bug.cgi?id=41068
115431
115432        * inspector/InspectorController.cpp:
115433        (WebCore::InspectorController::didCommitLoad):
115434        * inspector/InspectorFrontend.cpp:
115435        (WebCore::InspectorFrontend::resetProfilesPanel):
115436        * inspector/InspectorFrontend.h:
115437        * inspector/front-end/ProfilesPanel.js:
115438        (WebInspector.ProfilesPanel):
115439        (WebInspector.ProfilesPanel.prototype.populateInterface):
115440        (WebInspector.ProfilesPanel.prototype.profilerWasDisabled):
115441        (WebInspector.ProfilesPanel.prototype._reset):
115442        (WebInspector.ProfilesPanel.prototype._clearProfiles):
115443        * inspector/front-end/inspector.js:
115444        (WebInspector.resetProfilesPanel):
115445
1154462010-06-23  Yury Semikhatsky  <yurys@chromium.org>
115447
115448        Reviewed by Pavel Feldman.
115449
115450        Web Inspector: InspectorController should be added only once as ScriptDebugListener to
115451        ScriptDebugServer.
115452        https://bugs.webkit.org/show_bug.cgi?id=41070
115453
115454        * inspector/InspectorController.cpp:
115455        (WebCore::InspectorController::connectFrontend):
115456        (WebCore::InspectorController::disconnectFrontend):
115457        (WebCore::InspectorController::enableDebuggerFromFrontend):
115458        * inspector/front-end/ScriptsPanel.js:
115459        (WebInspector.ScriptsPanel): don't call InspectorBackend.enableDebugger if debugger is always enabled,
115460        InspectorController will do this on its side when the front end is connected.
115461
1154622010-06-23  Pavel Podivilov  <podivilov@chromium.org>
115463
115464        Reviewed by Yury Semikhatsky.
115465
115466        Clear breakpoints before restoring them, not after.
115467        https://bugs.webkit.org/show_bug.cgi?id=41071
115468
115469        * inspector/InspectorController.cpp:
115470        (WebCore::InspectorController::enableDebuggerFromFrontend):
115471
1154722010-06-23  Benjamin Poulain  <benjamin.poulain@nokia.com>
115473
115474        Reviewed by Kenneth Rohde Christiansen.
115475
115476        Do not render the full frame when there is some elements with fixed positioning
115477        https://bugs.webkit.org/show_bug.cgi?id=33150
115478
115479        Do not render the full frame when there is some elements with fixed positioning
115480        https://bugs.webkit.org/show_bug.cgi?id=33150
115481
115482        The frame view take into acount the list of fixed object when scrolling
115483        the view. If the number of object is lower than a certain threshold, the pixel
115484        are blitted, and the invalidated area updated.
115485
115486        * page/FrameView.cpp:
115487        (WebCore::FrameView::addFixedObject):
115488        (WebCore::FrameView::removeFixedObject):
115489        (WebCore::FrameView::scrollContentsFastPath):
115490        * page/FrameView.h:
115491        * platform/ScrollView.cpp:
115492        (WebCore::ScrollView::scrollContents):
115493        (WebCore::ScrollView::scrollContentsFastPath):
115494        * platform/ScrollView.h:
115495        * rendering/RenderLayer.cpp:
115496        (WebCore::RenderLayer::repaintRectIncludingDescendants):
115497        * rendering/RenderLayer.h:
115498        * rendering/RenderObject.cpp:
115499        (WebCore::RenderObject::styleWillChange):
115500
1155012010-06-23  Mikhail Naganov  <mnaganov@chromium.org>
115502
115503        Reviewed by Pavel Feldman.
115504
115505        Web Inspector: Fix displaying of several CPU profiles with the same name.
115506
115507        https://bugs.webkit.org/show_bug.cgi?id=40992
115508
115509        * inspector/front-end/ProfilesPanel.js:
115510        (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
115511
1155122010-06-23  Adam Barth  <abarth@webkit.org>
115513
115514        Unreviewed.  clean-header-guards that were made dirty by recent
115515        renames.
115516
115517        * html/HTMLDocumentParser.h:
115518        * html/HTMLPreloadScanner.h:
115519        * html/HTMLTokenizer.h:
115520        * html/HTMLTreeBuilder.h:
115521        * html/LegacyHTMLDocumentParser.h:
115522        * html/LegacyHTMLTreeBuilder.h:
115523        * html/LegacyPreloadScanner.h:
115524
1155252010-06-23  Adam Barth  <abarth@webkit.org>
115526
115527        Reviewed by Eric Seidel.
115528
115529        Rename LegacyHTMLTreeConstructor to LegacyHTMLTreeBuilder
115530        https://bugs.webkit.org/show_bug.cgi?id=41053
115531
115532        There was some debate about whether to call this class (and the
115533        non-legacy version) "tree builder" or "tree constructor".  Maciej
115534        pointed out that other implementations (including Mozilla and HTML5Lib)
115535        call it a tree builder.  The path of least resistance seems to be call
115536        it that for now.
115537
115538        * Android.mk:
115539        * CMakeLists.txt:
115540        * GNUmakefile.am:
115541        * WebCore.gypi:
115542        * WebCore.pro:
115543        * WebCore.vcproj/WebCore.vcproj:
115544        * WebCore.xcodeproj/project.pbxproj:
115545        * dom/Document.cpp:
115546        * dom/DocumentParser.h:
115547        (WebCore::DocumentParser::htmlTreeConstructor):
115548        * html/HTMLDocumentParser.cpp:
115549        (WebCore::HTMLDocumentParser::htmlTreeConstructor):
115550        * html/HTMLDocumentParser.h:
115551        * html/HTMLFormControlElement.cpp:
115552        (WebCore::HTMLFormControlElement::removedFromTree):
115553        * html/HTMLInputElement.cpp:
115554        * html/HTMLMeterElement.cpp:
115555        * html/HTMLProgressElement.cpp:
115556        * html/HTMLTreeBuilder.cpp:
115557        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
115558        * html/HTMLTreeBuilder.h:
115559        (WebCore::HTMLTreeBuilder::legacyTreeConstructor):
115560        * html/LegacyHTMLDocumentParser.cpp:
115561        (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
115562        * html/LegacyHTMLDocumentParser.h:
115563        (WebCore::LegacyHTMLDocumentParser::htmlTreeConstructor):
115564        * html/LegacyHTMLTreeBuilder.cpp: Copied from WebCore/html/LegacyHTMLTreeConstructor.cpp.
115565        (WebCore::LegacyHTMLTreeBuilder::LegacyHTMLTreeBuilder):
115566        (WebCore::LegacyHTMLTreeBuilder::~LegacyHTMLTreeBuilder):
115567        (WebCore::LegacyHTMLTreeBuilder::reset):
115568        (WebCore::LegacyHTMLTreeBuilder::setCurrent):
115569        (WebCore::LegacyHTMLTreeBuilder::limitDepth):
115570        (WebCore::LegacyHTMLTreeBuilder::insertNodeAfterLimitDepth):
115571        (WebCore::LegacyHTMLTreeBuilder::parseToken):
115572        (WebCore::LegacyHTMLTreeBuilder::parseDoctypeToken):
115573        (WebCore::LegacyHTMLTreeBuilder::insertNode):
115574        (WebCore::LegacyHTMLTreeBuilder::handleError):
115575        (WebCore::LegacyHTMLTreeBuilder::textCreateErrorCheck):
115576        (WebCore::LegacyHTMLTreeBuilder::commentCreateErrorCheck):
115577        (WebCore::LegacyHTMLTreeBuilder::headCreateErrorCheck):
115578        (WebCore::LegacyHTMLTreeBuilder::bodyCreateErrorCheck):
115579        (WebCore::LegacyHTMLTreeBuilder::framesetCreateErrorCheck):
115580        (WebCore::LegacyHTMLTreeBuilder::formCreateErrorCheck):
115581        (WebCore::LegacyHTMLTreeBuilder::isindexCreateErrorCheck):
115582        (WebCore::LegacyHTMLTreeBuilder::selectCreateErrorCheck):
115583        (WebCore::LegacyHTMLTreeBuilder::ddCreateErrorCheck):
115584        (WebCore::LegacyHTMLTreeBuilder::dtCreateErrorCheck):
115585        (WebCore::LegacyHTMLTreeBuilder::rpCreateErrorCheck):
115586        (WebCore::LegacyHTMLTreeBuilder::rtCreateErrorCheck):
115587        (WebCore::LegacyHTMLTreeBuilder::nestedCreateErrorCheck):
115588        (WebCore::LegacyHTMLTreeBuilder::nestedPCloserCreateErrorCheck):
115589        (WebCore::LegacyHTMLTreeBuilder::nestedStyleCreateErrorCheck):
115590        (WebCore::LegacyHTMLTreeBuilder::tableCellCreateErrorCheck):
115591        (WebCore::LegacyHTMLTreeBuilder::tableSectionCreateErrorCheck):
115592        (WebCore::LegacyHTMLTreeBuilder::noembedCreateErrorCheck):
115593        (WebCore::LegacyHTMLTreeBuilder::noframesCreateErrorCheck):
115594        (WebCore::LegacyHTMLTreeBuilder::noscriptCreateErrorCheck):
115595        (WebCore::LegacyHTMLTreeBuilder::pCloserCreateErrorCheck):
115596        (WebCore::LegacyHTMLTreeBuilder::pCloserStrictCreateErrorCheck):
115597        (WebCore::LegacyHTMLTreeBuilder::mapCreateErrorCheck):
115598        (WebCore::LegacyHTMLTreeBuilder::getNode):
115599        (WebCore::LegacyHTMLTreeBuilder::allowNestedRedundantTag):
115600        (WebCore::LegacyHTMLTreeBuilder::processCloseTag):
115601        (WebCore::LegacyHTMLTreeBuilder::isHeadingTag):
115602        (WebCore::LegacyHTMLTreeBuilder::isInline):
115603        (WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag):
115604        (WebCore::LegacyHTMLTreeBuilder::isAffectedByResidualStyle):
115605        (WebCore::LegacyHTMLTreeBuilder::handleResidualStyleCloseTagAcrossBlocks):
115606        (WebCore::LegacyHTMLTreeBuilder::reopenResidualStyleTags):
115607        (WebCore::LegacyHTMLTreeBuilder::pushBlock):
115608        (WebCore::LegacyHTMLTreeBuilder::popBlock):
115609        (WebCore::LegacyHTMLTreeBuilder::popOneBlockCommon):
115610        (WebCore::LegacyHTMLTreeBuilder::popOneBlock):
115611        (WebCore::LegacyHTMLTreeBuilder::moveOneBlockToStack):
115612        (WebCore::LegacyHTMLTreeBuilder::checkIfHasPElementInScope):
115613        (WebCore::LegacyHTMLTreeBuilder::popInlineBlocks):
115614        (WebCore::LegacyHTMLTreeBuilder::freeBlock):
115615        (WebCore::LegacyHTMLTreeBuilder::createHead):
115616        (WebCore::LegacyHTMLTreeBuilder::handleIsindex):
115617        (WebCore::LegacyHTMLTreeBuilder::startBody):
115618        (WebCore::LegacyHTMLTreeBuilder::finished):
115619        (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
115620        * html/LegacyHTMLTreeBuilder.h: Copied from WebCore/html/LegacyHTMLTreeConstructor.h.
115621        * html/LegacyHTMLTreeConstructor.cpp: Removed.
115622        * html/LegacyHTMLTreeConstructor.h: Removed.
115623        * html/StepRange.cpp:
115624        * html/ValidityState.cpp:
115625        * rendering/RenderSlider.cpp:
115626
1156272010-06-23  Adam Barth  <abarth@webkit.org>
115628
115629        Reviewed by Eric Seidel.
115630
115631        Rename the preload scanners
115632        https://bugs.webkit.org/show_bug.cgi?id=41052
115633
115634        Renames PreloadScanner to LegacyPreloadScanner because this code is now
115635        off by default.  Also, rename HTML5PreloadScanner to
115636        HTMLPreloadScanner.  We're not calling it PreloadScanner because we've
115637        factored out the CSSPreloadScanner and the HTMLPreloadScanner from the
115638        original PreloadScanner.
115639
115640        * Android.mk:
115641        * CMakeLists.txt:
115642        * GNUmakefile.am:
115643        * WebCore.gypi:
115644        * WebCore.pro:
115645        * WebCore.vcproj/WebCore.vcproj:
115646        * WebCore.xcodeproj/project.pbxproj:
115647        * html/HTML5PreloadScanner.cpp: Removed.
115648        * html/HTML5PreloadScanner.h: Removed.
115649        * html/HTMLDocumentParser.cpp:
115650        (WebCore::HTMLDocumentParser::pumpTokenizer):
115651        * html/HTMLDocumentParser.h:
115652        * html/HTMLPreloadScanner.cpp: Copied from WebCore/html/HTML5PreloadScanner.cpp.
115653        (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
115654        (WebCore::HTMLPreloadScanner::appendToEnd):
115655        (WebCore::HTMLPreloadScanner::scan):
115656        (WebCore::HTMLPreloadScanner::processToken):
115657        (WebCore::HTMLPreloadScanner::scanningBody):
115658        * html/HTMLPreloadScanner.h: Copied from WebCore/html/HTML5PreloadScanner.h.
115659        * html/LegacyHTMLDocumentParser.cpp:
115660        (WebCore::LegacyHTMLDocumentParser::scriptHandler):
115661        (WebCore::LegacyHTMLDocumentParser::scriptExecution):
115662        * html/LegacyHTMLDocumentParser.h:
115663        * html/LegacyPreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp.
115664        (WebCore::LegacyPreloadScanner::LegacyPreloadScanner):
115665        (WebCore::LegacyPreloadScanner::~LegacyPreloadScanner):
115666        (WebCore::LegacyPreloadScanner::begin):
115667        (WebCore::LegacyPreloadScanner::end):
115668        (WebCore::LegacyPreloadScanner::reset):
115669        (WebCore::LegacyPreloadScanner::scanningBody):
115670        (WebCore::LegacyPreloadScanner::write):
115671        (WebCore::LegacyPreloadScanner::clearLastCharacters):
115672        (WebCore::LegacyPreloadScanner::rememberCharacter):
115673        (WebCore::LegacyPreloadScanner::lastCharactersMatch):
115674        (WebCore::LegacyPreloadScanner::consumeEntity):
115675        (WebCore::LegacyPreloadScanner::tokenize):
115676        (WebCore::LegacyPreloadScanner::processAttribute):
115677        (WebCore::LegacyPreloadScanner::emitCharacter):
115678        (WebCore::LegacyPreloadScanner::tokenizeCSS):
115679        (WebCore::LegacyPreloadScanner::emitTag):
115680        (WebCore::LegacyPreloadScanner::emitCSSRule):
115681        * html/LegacyPreloadScanner.h: Copied from WebCore/html/PreloadScanner.h.
115682        * html/PreloadScanner.cpp: Removed.
115683        * html/PreloadScanner.h: Removed.
115684        * page/XSSAuditor.cpp:
115685        (WebCore::XSSAuditor::decodeHTMLEntities):
115686
1156872010-06-23  Adam Barth  <abarth@webkit.org>
115688
115689        Reviewed by Eric Seidel.
115690
115691        Yet more HTML5 => HTML renames
115692        https://bugs.webkit.org/show_bug.cgi?id=41051
115693
115694        This patch renames HTML5DocumentParser to HTMLDocumentParser and
115695        HTML5TreeBuilder to HTMLTreeBuilder.  There was some discussion about
115696        whether to use the name HTMLTreeBuilder or HTMLTreeConstructor, but
115697        tree builder seems to be the dominate name in other implementations.
115698
115699        * Android.mk:
115700        * CMakeLists.txt:
115701        * GNUmakefile.am:
115702        * WebCore.gypi:
115703        * WebCore.pro:
115704        * WebCore.vcproj/WebCore.vcproj:
115705        * WebCore.xcodeproj/project.pbxproj:
115706        * dom/DocumentFragment.cpp:
115707        (WebCore::DocumentFragment::parseHTML):
115708        * html/HTML5DocumentParser.cpp: Removed.
115709        * html/HTML5DocumentParser.h: Removed.
115710        * html/HTML5PreloadScanner.cpp:
115711        (WebCore::HTML5PreloadScanner::scan):
115712        (WebCore::HTML5PreloadScanner::processToken):
115713        * html/HTML5TreeBuilder.cpp: Removed.
115714        * html/HTML5TreeBuilder.h: Removed.
115715        * html/HTMLDocument.cpp:
115716        (WebCore::HTMLDocument::createParser):
115717        * html/HTMLDocumentParser.cpp: Copied from WebCore/html/HTML5DocumentParser.cpp.
115718        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
115719        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
115720        (WebCore::HTMLDocumentParser::begin):
115721        (WebCore::HTMLDocumentParser::stopParsing):
115722        (WebCore::HTMLDocumentParser::processingData):
115723        (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
115724        (WebCore::HTMLDocumentParser::isScheduledForResume):
115725        (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
115726        (WebCore::HTMLDocumentParser::runScriptsForPausedTreeConstructor):
115727        (WebCore::HTMLDocumentParser::pumpTokenizer):
115728        (WebCore::HTMLDocumentParser::willPumpLexer):
115729        (WebCore::HTMLDocumentParser::didPumpLexer):
115730        (WebCore::HTMLDocumentParser::write):
115731        (WebCore::HTMLDocumentParser::end):
115732        (WebCore::HTMLDocumentParser::attemptToEnd):
115733        (WebCore::HTMLDocumentParser::endIfDelayed):
115734        (WebCore::HTMLDocumentParser::finish):
115735        (WebCore::HTMLDocumentParser::finishWasCalled):
115736        (WebCore::HTMLDocumentParser::executingScript):
115737        (WebCore::HTMLDocumentParser::inScriptExecution):
115738        (WebCore::HTMLDocumentParser::lineNumber):
115739        (WebCore::HTMLDocumentParser::columnNumber):
115740        (WebCore::HTMLDocumentParser::htmlTreeConstructor):
115741        (WebCore::HTMLDocumentParser::isWaitingForScripts):
115742        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
115743        (WebCore::HTMLDocumentParser::watchForLoad):
115744        (WebCore::HTMLDocumentParser::stopWatchingForLoad):
115745        (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
115746        (WebCore::HTMLDocumentParser::notifyFinished):
115747        (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
115748        (WebCore::HTMLDocumentParser::script):
115749        * html/HTMLDocumentParser.h: Copied from WebCore/html/HTML5DocumentParser.h.
115750        * html/HTMLParserScheduler.cpp:
115751        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
115752        * html/HTMLParserScheduler.h:
115753        * html/HTMLTreeBuilder.cpp: Copied from WebCore/html/HTML5TreeBuilder.cpp.
115754        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
115755        (WebCore::HTMLTreeBuilder::~HTMLTreeBuilder):
115756        (WebCore::HTMLTreeBuilder::handleScriptStartTag):
115757        (WebCore::HTMLTreeBuilder::handleScriptEndTag):
115758        (WebCore::HTMLTreeBuilder::takeScriptToProcess):
115759        (WebCore::HTMLTreeBuilder::adjustedLexerState):
115760        (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
115761        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
115762        (WebCore::HTMLTreeBuilder::processToken):
115763        (WebCore::HTMLTreeBuilder::finished):
115764        (WebCore::HTMLTreeBuilder::isScriptingFlagEnabled):
115765        * html/HTMLTreeBuilder.h: Copied from WebCore/html/HTML5TreeBuilder.h.
115766
1157672010-06-23  Adam Barth  <abarth@webkit.org>
115768
115769        Reviewed by Eric Seidel.
115770
115771        More HTML5 => HTML renames
115772        https://bugs.webkit.org/show_bug.cgi?id=41049
115773
115774        This patch renames HTML5ScriptRunner, HTML5ScriptRunnerHost, and
115775        HTML5Token to remove the "5" from their names.  These clases aren't
115776        specific to HTML5 and will be used going forward.
115777
115778        * Android.mk:
115779        * CMakeLists.txt:
115780        * GNUmakefile.am:
115781        * WebCore.gypi:
115782        * WebCore.pro:
115783        * WebCore.vcproj/WebCore.vcproj:
115784        * WebCore.xcodeproj/project.pbxproj:
115785        * html/CSSPreloadScanner.cpp:
115786        (WebCore::CSSPreloadScanner::scan):
115787        * html/CSSPreloadScanner.h:
115788        * html/HTML5DocumentParser.cpp:
115789        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
115790        (WebCore::HTML5DocumentParser::notifyFinished):
115791        * html/HTML5DocumentParser.h:
115792        * html/HTML5PreloadScanner.cpp:
115793        (WebCore::HTMLNames::PreloadTask::PreloadTask):
115794        (WebCore::HTMLNames::PreloadTask::processAttributes):
115795        (WebCore::HTML5PreloadScanner::processToken):
115796        * html/HTML5PreloadScanner.h:
115797        * html/HTML5ScriptRunner.cpp: Removed.
115798        * html/HTML5ScriptRunner.h: Removed.
115799        * html/HTML5ScriptRunnerHost.h: Removed.
115800        * html/HTML5Token.h: Removed.
115801        * html/HTML5TreeBuilder.cpp:
115802        (WebCore::convertToOldStyle):
115803        (WebCore::HTML5TreeBuilder::handleScriptEndTag):
115804        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
115805        (WebCore::HTML5TreeBuilder::constructTreeFromToken):
115806        (WebCore::HTML5TreeBuilder::processToken):
115807        * html/HTML5TreeBuilder.h:
115808        * html/HTMLScriptRunner.cpp: Copied from WebCore/html/HTML5ScriptRunner.cpp.
115809        (WebCore::HTMLScriptRunner::HTMLScriptRunner):
115810        (WebCore::HTMLScriptRunner::~HTMLScriptRunner):
115811        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
115812        (WebCore::HTMLScriptRunner::isPendingScriptReady):
115813        (WebCore::HTMLScriptRunner::executePendingScript):
115814        (WebCore::HTMLScriptRunner::executeScript):
115815        (WebCore::HTMLScriptRunner::hasScriptsWaitingForLoad):
115816        (WebCore::HTMLScriptRunner::watchForLoad):
115817        (WebCore::HTMLScriptRunner::stopWatchingForLoad):
115818        (WebCore::HTMLScriptRunner::execute):
115819        (WebCore::HTMLScriptRunner::haveParsingBlockingScript):
115820        (WebCore::HTMLScriptRunner::executeParsingBlockingScripts):
115821        (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
115822        (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
115823        (WebCore::HTMLScriptRunner::requestScript):
115824        (WebCore::HTMLScriptRunner::runScript):
115825        * html/HTMLScriptRunner.h: Copied from WebCore/html/HTML5ScriptRunner.h.
115826        * html/HTMLScriptRunnerHost.h: Copied from WebCore/html/HTML5ScriptRunnerHost.h.
115827        (WebCore::HTMLScriptRunnerHost::~HTMLScriptRunnerHost):
115828        * html/HTMLToken.h: Copied from WebCore/html/HTML5Token.h.
115829        (WebCore::HTMLToken::HTMLToken):
115830        * html/HTMLTokenizer.cpp:
115831        (WebCore::HTMLTokenizer::nextToken):
115832        (WebCore::HTMLTokenizer::emitCharacter):
115833        (WebCore::HTMLTokenizer::emitCurrentToken):
115834        (WebCore::HTMLTokenizer::shouldEmitBufferedCharacterToken):
115835        * html/HTMLTokenizer.h:
115836
1158372010-06-23  Adam Barth  <abarth@webkit.org>
115838
115839        Reviewed by Eric Seidel.
115840
115841        Rename HTML5EntityParser to HTMLEntityParser
115842        https://bugs.webkit.org/show_bug.cgi?id=41048
115843
115844        Mostly the result of do-webcore-rename, but I tweaked the header guard
115845        and the name of the free function.
115846
115847        * Android.mk:
115848        * CMakeLists.txt:
115849        * GNUmakefile.am:
115850        * WebCore.gypi:
115851        * WebCore.pro:
115852        * WebCore.vcproj/WebCore.vcproj:
115853        * WebCore.xcodeproj/project.pbxproj:
115854        * html/HTML5EntityParser.cpp: Removed.
115855        * html/HTML5EntityParser.h: Removed.
115856        * html/HTMLEntityParser.cpp: Copied from WebCore/html/HTML5EntityParser.cpp.
115857        (WebCore::consumeHTMLEntity):
115858        * html/HTMLEntityParser.h: Copied from WebCore/html/HTML5EntityParser.h.
115859        * html/HTMLTokenizer.cpp:
115860        (WebCore::HTMLTokenizer::processEntity):
115861        (WebCore::HTMLTokenizer::nextToken):
115862
1158632010-06-22  Yuta Kitamura  <yutak@chromium.org>
115864
115865        Reviewed by Alexey Proskuryakov.
115866
115867        Add a new class that stores information about WebSocket handshake response.
115868
115869        In the future, instances of the new class will be passed to the Web Inspector
115870        so that it will be able to display information about WebSocket handshake
115871        response.
115872
115873        WebSocket: Add WebSocketHandshakeResponse
115874        https://bugs.webkit.org/show_bug.cgi?id=38728
115875
115876        Test: websocket/tests/handshake-fail-by-no-cr.html
115877
115878        * GNUmakefile.am:
115879        * WebCore.gypi:
115880        * WebCore.pro:
115881        * WebCore.vcproj/WebCore.vcproj:
115882        * WebCore.xcodeproj/project.pbxproj:
115883        * websockets/WebSocketHandshake.cpp:
115884        (WebCore::trimConsoleMessage):
115885        (WebCore::WebSocketHandshake::readServerHandshake):
115886        (WebCore::WebSocketHandshake::serverHandshakeResponse):
115887        (WebCore::WebSocketHandshake::readStatusLine): Moved from extractResponseCode.
115888        Add more error checks and make error messages more descriptive.
115889        (WebCore::WebSocketHandshake::readHTTPHeaders):
115890        (WebCore::WebSocketHandshake::processHeaders):
115891        * websockets/WebSocketHandshake.h:
115892        * websockets/WebSocketHandshakeResponse.cpp: Added.
115893        (WebCore::WebSocketHandshakeResponse::ChallengeResponse::ChallengeResponse):
115894        (WebCore::WebSocketHandshakeResponse::ChallengeResponse::set):
115895        (WebCore::WebSocketHandshakeResponse::WebSocketHandshakeResponse):
115896        (WebCore::WebSocketHandshakeResponse::~WebSocketHandshakeResponse):
115897        (WebCore::WebSocketHandshakeResponse::statusCode):
115898        (WebCore::WebSocketHandshakeResponse::setStatusCode):
115899        (WebCore::WebSocketHandshakeResponse::statusText):
115900        (WebCore::WebSocketHandshakeResponse::setStatusText):
115901        (WebCore::WebSocketHandshakeResponse::headerFields):
115902        (WebCore::WebSocketHandshakeResponse::addHeaderField):
115903        (WebCore::WebSocketHandshakeResponse::clearHeaderFields):
115904        (WebCore::WebSocketHandshakeResponse::challengeResponse):
115905        (WebCore::WebSocketHandshakeResponse::setChallengeResponse):
115906        * websockets/WebSocketHandshakeResponse.h: Added.
115907
1159082010-06-23  Yuzo Fujishima  <yuzo@google.com>
115909
115910        Reviewed by Shinichiro Hamaji.
115911
115912        Implement page format data programming interface.
115913        The final goal is to implement CSS Paged Media Module Level 3 (http://dev.w3.org/csswg/css3-page/).
115914        To begin with, this change adds methods to know:
115915        - if page box is visible,
115916        - the page area rectangle, and
115917        - preferred page size.
115918
115919        https://bugs.webkit.org/show_bug.cgi?id=37538
115920
115921        Test: printing/page-format-data.html
115922
115923        * WebCore.base.exp:
115924        * css/CSSParser.cpp:
115925        (WebCore::CSSParser::parseSizeParameter):
115926        * css/CSSStyleSelector.cpp:
115927        (WebCore::CSSStyleSelector::applyProperty):
115928        (WebCore::CSSStyleSelector::applyPageSizeProperty):
115929        (WebCore::CSSStyleSelector::pageSizeFromName):
115930        (WebCore::CSSStyleSelector::mmLength):
115931        (WebCore::CSSStyleSelector::inchLength):
115932        * css/CSSStyleSelector.h:
115933        * css/html.css:
115934        (@page):
115935        * dom/Document.cpp:
115936        (WebCore::Document::isPageBoxVisible):
115937        (WebCore::Document::pageAreaRectInPixels):
115938        (WebCore::Document::preferredPageSizeInPixels):
115939        * dom/Document.h:
115940        * page/PrintContext.cpp:
115941        (WebCore::PrintContext::isPageBoxVisible):
115942        (WebCore::PrintContext::pageAreaRectInPixels):
115943        (WebCore::PrintContext::preferredPageSizeInPixels):
115944        * page/PrintContext.h:
115945        * rendering/style/RenderStyle.h:
115946        (WebCore::InheritedFlags::pageSize):
115947        (WebCore::InheritedFlags::setPageSize):
115948        * rendering/style/StyleRareNonInheritedData.h:
115949
1159502010-06-23  Adam Barth  <abarth@webkit.org>
115951
115952        Reviewed by Eric Seidel.
115953
115954        Rename lexer and m_lexer to tokenizer and m_tokenizer, respectively
115955        https://bugs.webkit.org/show_bug.cgi?id=41046
115956
115957        This is a follow up to the recent HTML5Lexer => HTMLTokenizer rename.
115958
115959        * html/HTML5DocumentParser.cpp:
115960        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
115961        (WebCore::HTML5DocumentParser::begin):
115962        (WebCore::HTML5DocumentParser::pumpLexer):
115963        (WebCore::HTML5DocumentParser::willPumpLexer):
115964        (WebCore::HTML5DocumentParser::didPumpLexer):
115965        (WebCore::HTML5DocumentParser::lineNumber):
115966        (WebCore::HTML5DocumentParser::columnNumber):
115967        * html/HTML5DocumentParser.h:
115968        * html/HTML5PreloadScanner.cpp:
115969        (WebCore::HTML5PreloadScanner::scan):
115970        (WebCore::HTML5PreloadScanner::processToken):
115971        * html/HTML5PreloadScanner.h:
115972        * html/HTML5TreeBuilder.cpp:
115973        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
115974        (WebCore::HTML5TreeBuilder::handleScriptStartTag):
115975        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
115976        * html/HTML5TreeBuilder.h:
115977        * html/HTMLTokenizer.h:
115978        * html/LegacyHTMLDocumentParser.h:
115979
1159802010-06-23  Nikolas Zimmermann  <nzimmermann@rim.com>
115981
115982        Reviewed by Eric Seidel.
115983
115984        Reproducible crash in com.apple.WebCore 0x01ed3784 WebCore::RenderLineBoxList::appendLineBox(WebCore::InlineFlowBox*) + 36
115985        https://bugs.webkit.org/show_bug.cgi?id=40953
115986
115987        REGRESSION (r58209-58231): Memory corruption with invalid SVG
115988        https://bugs.webkit.org/show_bug.cgi?id=40173
115989
115990        Fix several crashes, all related to <foreignObject> and/or invalid SVG documents.
115991        - Only allow <svg> nodes, as direct children of a <foreignObject>, not any other "partial" SVG content.
115992        - Assure to create RenderSVGRoot objects for <svg> nodes in <foreignObject>, treat them as "outermost SVG elements".
115993        - Never allow any partial SVG content to appear in any document. Only <svg> elements are allowed.
115994
115995        Tests: svg/custom/bug45331.svg
115996               svg/foreignObject/disallowed-svg-nodes-as-direct-children.svg
115997               svg/foreignObject/no-crash-with-svg-content-in-html-document.svg
115998               svg/foreignObject/svg-document-as-direct-child.svg
115999               svg/foreignObject/svg-document-in-html-document.svg
116000               svg/foreignObject/text-tref-02-b.svg
116001
116002        * dom/Element.cpp: Added childShouldCreateRenderer, with ENABLE(SVG) guards.
116003        (WebCore::Element::childShouldCreateRenderer): Only create a renderer for a SVG child, if we're a SVG element, or if the child is a <svg> element.
116004        * dom/Element.h: Added childShouldCreateRenderer, with ENABLE(SVG) guards.
116005        * svg/SVGForeignObjectElement.cpp:
116006        (WebCore::SVGForeignObjectElement::childShouldCreateRenderer): Disallow arbitary SVG content, only <svg> elements are allowed as direct children of a <foreignObject>
116007        * svg/SVGSVGElement.cpp:
116008        (WebCore::SVGSVGElement::isOutermostSVG): Be sure to create RenderSVGRoot objects for <svg> elements inside <foreignObject>
116009
1160102010-06-22  Adam Barth  <abarth@webkit.org>
116011
116012        Reviewed by Eric Seidel.
116013
116014        Rename HTML5Lexer to HTMLTokenizer
116015        https://bugs.webkit.org/show_bug.cgi?id=41045
116016
116017        This might be slightly confusing given that the old class was called
116018        HTMLTokenizer, but it matches the terminology in the HTML5 spec.
116019
116020        * Android.mk:
116021        * CMakeLists.txt:
116022        * GNUmakefile.am:
116023        * WebCore.gypi:
116024        * WebCore.pro:
116025        * WebCore.vcproj/WebCore.vcproj:
116026        * WebCore.xcodeproj/project.pbxproj:
116027        * html/HTML5DocumentParser.cpp:
116028        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
116029        (WebCore::HTML5DocumentParser::pumpLexer):
116030        * html/HTML5DocumentParser.h:
116031        * html/HTML5Lexer.cpp: Removed.
116032        * html/HTML5Lexer.h: Removed.
116033        * html/HTML5PreloadScanner.cpp:
116034        (WebCore::HTML5PreloadScanner::processToken):
116035        * html/HTML5PreloadScanner.h:
116036        * html/HTML5TreeBuilder.cpp:
116037        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
116038        (WebCore::HTML5TreeBuilder::handleScriptStartTag):
116039        (WebCore::HTML5TreeBuilder::adjustedLexerState):
116040        * html/HTML5TreeBuilder.h:
116041        * html/HTMLTokenizer.cpp: Copied from WebCore/html/HTML5Lexer.cpp.
116042        (WebCore::HTMLNames::isEndTagBufferingState):
116043        (WebCore::HTMLTokenizer::HTMLTokenizer):
116044        (WebCore::HTMLTokenizer::~HTMLTokenizer):
116045        (WebCore::HTMLTokenizer::reset):
116046        (WebCore::HTMLTokenizer::processEntity):
116047        (WebCore::HTMLTokenizer::nextToken):
116048        (WebCore::HTMLTokenizer::temporaryBufferIs):
116049        (WebCore::HTMLTokenizer::addToPossibleEndTag):
116050        (WebCore::HTMLTokenizer::isAppropriateEndTag):
116051        (WebCore::HTMLTokenizer::emitCharacter):
116052        (WebCore::HTMLTokenizer::emitCodePoint):
116053        (WebCore::HTMLTokenizer::emitParseError):
116054        (WebCore::HTMLTokenizer::emitCurrentToken):
116055        (WebCore::HTMLTokenizer::shouldEmitBufferedCharacterToken):
116056        * html/HTMLTokenizer.h: Copied from WebCore/html/HTML5Lexer.h.
116057
1160582010-06-22  Simon Hausmann  <simon.hausmann@nokia.com>
116059
116060        Unreviewed Qt/Symbian build fix.
116061
116062        Fix "make clean" to not try to execute clean commands for
116063        the extra targets we use to simulate "make install".
116064
116065        * WebCore.pro: Use no_clean in CONFIG of extra compilers.
116066
1160672010-06-22  Eric Seidel  <eric@webkit.org>
116068
116069        Reviewed by Adam Barth.
116070
116071        Run clean-header-guards to fix some header guards
116072        https://bugs.webkit.org/show_bug.cgi?id=41044
116073
116074        No functional changes, thus no tests.
116075
116076        This entire change was generated by running
116077        clean-header-guards, and then reverting changes
116078        to files which shouldn't be changed.  Those which
116079        are left all should be updated.
116080
116081        Some of these changes are just fixing 755 permissions
116082        to be 644, since it seems various files have the wrong
116083        execute bit which don't need it.  clean-header-guards
116084        made those (welcome) permission fixes unintentionally.
116085
116086        * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
116087        * bindings/v8/custom/V8HTMLImageElementConstructor.h:
116088        * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
116089        * dom/Touch.h:
116090        * dom/TouchList.h:
116091        * dom/XMLDocumentParser.h:
116092        * dom/XMLDocumentParserScope.h:
116093        * html/HTML5DocumentParser.h:
116094        * html/LegacyHTMLTreeConstructor.h:
116095        * loader/CrossOriginPreflightResultCache.h:
116096        * page/OriginAccessEntry.h:
116097        * page/win/FrameWin.h:
116098        * platform/ThreadTimers.h:
116099        * platform/chromium/KeyboardCodes.h:
116100        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
116101        * platform/graphics/chromium/FontUtilsChromiumWin.h:
116102        * platform/graphics/filters/FEBlend.h:
116103        * platform/graphics/filters/FEColorMatrix.h:
116104        * platform/graphics/filters/FEComponentTransfer.h:
116105        * platform/graphics/filters/FEComposite.h:
116106        * platform/graphics/gstreamer/DataSourceGStreamer.h:
116107        * platform/graphics/gstreamer/VideoSinkGStreamer.h:
116108         - I checked, this crazy define was not referenced
116109           anywhere else.  It's safe to change the name. :)
116110        * platform/graphics/haiku/FontPlatformData.h:
116111        * platform/graphics/qt/FontCustomPlatformData.h:
116112        * platform/graphics/skia/SkiaFontWin.h:
116113        * platform/graphics/win/GraphicsLayerCACF.h:
116114        * platform/graphics/win/QTMovieWinTimer.h:
116115        * platform/graphics/win/RefCountedGDIHandle.h:
116116        * platform/graphics/win/WebLayer.h:
116117        * platform/graphics/win/WebTiledLayer.h:
116118        * platform/graphics/wince/FontPlatformData.h:
116119        * platform/graphics/wx/FontPlatformData.h:
116120        * platform/network/CredentialStorage.h:
116121        * platform/network/cf/FormDataStreamCFNet.h:
116122        * platform/network/curl/FormDataStreamCurl.h:
116123        * platform/network/qt/DnsPrefetchHelper.h:
116124        * platform/network/qt/QNetworkReplyHandler.h:
116125        * platform/win/PlatformScrollBar.h:
116126        * plugins/PluginDatabase.h:
116127        * plugins/PluginPackage.h:
116128        * plugins/PluginStream.h:
116129        * plugins/qt/PluginContainerQt.h:
116130        * plugins/symbian/npinterface.h:
116131        * rendering/RenderSelectionInfo.h:
116132        * rendering/SVGRenderSupport.h:
116133        * storage/IDBObjectStoreImpl.h:
116134        * svg/animation/SMILTimeContainer.h:
116135        * wml/WMLErrorHandling.h:
116136
1161372010-06-22  Adam Barth  <abarth@webkit.org>
116138
116139        Reviewed by Eric Seidel.
116140
116141        Rename HTMLDocumentParser to LegacyHTMLDocumentParser
116142        https://bugs.webkit.org/show_bug.cgi?id=41043
116143
116144        As requested by Darin Adler.
116145
116146        * Android.mk:
116147        * CMakeLists.txt:
116148        * GNUmakefile.am:
116149        * WebCore.gypi:
116150        * WebCore.pro:
116151        * WebCore.vcproj/WebCore.vcproj:
116152        * WebCore.xcodeproj/project.pbxproj:
116153        * css/CSSStyleSheet.cpp:
116154        (WebCore::CSSStyleSheet::checkLoaded):
116155        * dom/Document.cpp:
116156        (WebCore::Document::write):
116157        * dom/DocumentFragment.cpp:
116158        * dom/DocumentParser.h:
116159        (WebCore::DocumentParser::asHTMLDocumentParser):
116160        * dom/XMLDocumentParserLibxml2.cpp:
116161        * dom/XMLDocumentParserQt.cpp:
116162        * html/HTML5Lexer.h:
116163        (WebCore::HTML5Lexer::columnNumber):
116164        * html/HTML5TreeBuilder.cpp:
116165        * html/HTMLDocument.cpp:
116166        (WebCore::HTMLDocument::createParser):
116167        * html/HTMLDocumentParser.cpp: Removed.
116168        * html/HTMLDocumentParser.h: Removed.
116169        * html/HTMLFormControlElement.cpp:
116170        * html/HTMLParserScheduler.cpp:
116171        (WebCore::parserChunkSize):
116172        * html/HTMLViewSourceDocument.cpp:
116173        (WebCore::HTMLViewSourceDocument::createParser):
116174        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
116175        * html/HTMLViewSourceDocument.h:
116176        * html/LegacyHTMLDocumentParser.cpp: Copied from WebCore/html/HTMLDocumentParser.cpp.
116177        (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
116178        (WebCore::LegacyHTMLDocumentParser::reset):
116179        (WebCore::LegacyHTMLDocumentParser::begin):
116180        (WebCore::LegacyHTMLDocumentParser::setForceSynchronous):
116181        (WebCore::LegacyHTMLDocumentParser::processListing):
116182        (WebCore::LegacyHTMLDocumentParser::parseNonHTMLText):
116183        (WebCore::LegacyHTMLDocumentParser::scriptHandler):
116184        (WebCore::LegacyHTMLDocumentParser::scriptExecution):
116185        (WebCore::LegacyHTMLDocumentParser::parseComment):
116186        (WebCore::LegacyHTMLDocumentParser::parseServer):
116187        (WebCore::LegacyHTMLDocumentParser::parseProcessingInstruction):
116188        (WebCore::LegacyHTMLDocumentParser::parseText):
116189        (WebCore::LegacyHTMLDocumentParser::parseEntity):
116190        (WebCore::LegacyHTMLDocumentParser::parseDoctype):
116191        (WebCore::LegacyHTMLDocumentParser::parseTag):
116192        (WebCore::LegacyHTMLDocumentParser::continueProcessing):
116193        (WebCore::LegacyHTMLDocumentParser::advance):
116194        (WebCore::LegacyHTMLDocumentParser::willWriteHTML):
116195        (WebCore::LegacyHTMLDocumentParser::didWriteHTML):
116196        (WebCore::LegacyHTMLDocumentParser::write):
116197        (WebCore::LegacyHTMLDocumentParser::stopParsing):
116198        (WebCore::LegacyHTMLDocumentParser::processingData):
116199        (WebCore::LegacyHTMLDocumentParser::timerFired):
116200        (WebCore::LegacyHTMLDocumentParser::end):
116201        (WebCore::LegacyHTMLDocumentParser::finish):
116202        (WebCore::LegacyHTMLDocumentParser::finishWasCalled):
116203        (WebCore::LegacyHTMLDocumentParser::processToken):
116204        (WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
116205        (WebCore::LegacyHTMLDocumentParser::~LegacyHTMLDocumentParser):
116206        (WebCore::LegacyHTMLDocumentParser::enlargeBuffer):
116207        (WebCore::LegacyHTMLDocumentParser::enlargeScriptBuffer):
116208        (WebCore::LegacyHTMLDocumentParser::executeScriptsWaitingForStylesheets):
116209        (WebCore::LegacyHTMLDocumentParser::notifyFinished):
116210        (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsIfReady):
116211        (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsTimerFired):
116212        (WebCore::LegacyHTMLDocumentParser::continueExecutingExternalScripts):
116213        (WebCore::LegacyHTMLDocumentParser::isWaitingForScripts):
116214        (WebCore::LegacyHTMLDocumentParser::setSrc):
116215        (WebCore::parseLegacyHTMLDocumentFragment):
116216        * html/LegacyHTMLDocumentParser.h: Copied from WebCore/html/HTMLDocumentParser.h.
116217        (WebCore::LegacyHTMLDocumentParser::asHTMLDocumentParser):
116218        * html/LegacyHTMLTreeConstructor.cpp:
116219        (WebCore::LegacyHTMLTreeConstructor::reportErrorToConsole):
116220        * html/LegacyHTMLTreeConstructor.h:
116221        * loader/FTPDirectoryDocument.cpp:
116222        (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
116223        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
116224        (WebCore::FTPDirectoryDocumentParser::finish):
116225        * page/XSSAuditor.h:
116226
1162272010-06-22  Shinichiro Hamaji  <hamaji@chromium.org>
116228
116229        Unreviewed attempt to fix the windows build.
116230
116231        Split out HTML5DocumentParser yield/resume logic into a separate class
116232        https://bugs.webkit.org/show_bug.cgi?id=41018
116233
116234        * WebCore.vcproj/WebCore.vcproj:
116235
1162362010-06-22  Eric Seidel  <eric@webkit.org>
116237
116238        Reviewed by Adam Barth.
116239
116240        Split out HTML5DocumentParser yield/resume logic into a separate class
116241        https://bugs.webkit.org/show_bug.cgi?id=41018
116242
116243        The HTML5DocumentParser is just the coordinator, and shouldn't have
116244        any real parsing logic of his own.  Continuing along that path, I'm
116245        moving the when-to-yield/resume logic out into a separate class.
116246
116247        I could have create a new HTMLParserSchedulerHost virtual interface
116248        to allow the HTMLParserScheduler to talk back to the
116249        HTML5DocumentParser, but instead I just exposed the one method it
116250        needs (resumeParsing()) as a public method.  Since no code besides
116251        HTMLDocument (and DocumentFrament) ever should know about the
116252        HTML5DocumentParser DocumentParser subclass, no class should ever
116253        see the resumeParsing() method anyway.
116254
116255        Most of this change is just moving code from HTML5DocumentParser
116256        to the new HTMLParserScheduler.
116257
116258        Some of this change is wrapping previous direct access to
116259        m_continueNextChunkTimer.isActive() with isScheduledForResume().
116260
116261        * Android.mk:
116262        * CMakeLists.txt:
116263        * GNUmakefile.am:
116264        * WebCore.gypi:
116265        * WebCore.pro:
116266        * WebCore.xcodeproj/project.pbxproj:
116267        * html/HTML5DocumentParser.cpp:
116268        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
116269        (WebCore::HTML5DocumentParser::stopParsing):
116270        (WebCore::HTML5DocumentParser::processingData):
116271        (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
116272        (WebCore::HTML5DocumentParser::isScheduledForResume):
116273        (WebCore::HTML5DocumentParser::resumeParsing):
116274        (WebCore::HTML5DocumentParser::pumpLexer):
116275        (WebCore::HTML5DocumentParser::end):
116276        (WebCore::HTML5DocumentParser::attemptToEnd):
116277        (WebCore::HTML5DocumentParser::endIfDelayed):
116278        * html/HTML5DocumentParser.h:
116279        (WebCore::HTML5DocumentParser::document):
116280         - Exposed for HTMLParserScheduler.
116281        * html/HTMLParserScheduler.cpp: Added.
116282        (WebCore::parserTimeLimit): Moved from HTML5DocumentParser.
116283        (WebCore::parserChunkSize): ditto.
116284        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
116285        (WebCore::HTMLParserScheduler::~HTMLParserScheduler):
116286        (WebCore::isLayoutTimerActive):
116287        (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
116288         - Moved from HTML5DocumentParser.
116289        * html/HTMLParserScheduler.h: Added.
116290        (WebCore::HTMLParserScheduler::PumpSession::PumpSession):
116291         - Moved from HTML5DocumentParser.
116292        (WebCore::HTMLParserScheduler::shouldContinueParsing):
116293        (WebCore::HTMLParserScheduler::isScheduledForResume):
116294
1162952010-06-22  Pavel Feldman  <pfeldman@chromium.org>
116296
116297        Reviewed by Yury Semikhatsky.
116298
116299        Web Inspector: move nodeByPath from InjectedScript to InspectorBackend.
116300
116301        https://bugs.webkit.org/show_bug.cgi?id=40988
116302
116303        * inspector/InjectedScriptHost.cpp:
116304        * inspector/InjectedScriptHost.h:
116305        * inspector/InjectedScriptHost.idl:
116306        * inspector/InspectorBackend.cpp:
116307        (WebCore::InspectorBackend::pushNodeByPathToFrontend):
116308        * inspector/InspectorBackend.h:
116309        * inspector/InspectorBackend.idl:
116310        * inspector/InspectorDOMAgent.cpp:
116311        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
116312        (WebCore::InspectorDOMAgent::nodeForPath):
116313        * inspector/InspectorDOMAgent.h:
116314        * inspector/InspectorFrontend.cpp:
116315        (WebCore::InspectorFrontend::didPushNodeByPathToFrontend):
116316        * inspector/InspectorFrontend.h:
116317        * inspector/front-end/DOMAgent.js:
116318        * inspector/front-end/ElementsPanel.js:
116319        (WebInspector.ElementsPanel.prototype.setDocument):
116320        * inspector/front-end/InjectedScript.js:
116321        * inspector/front-end/InjectedScriptAccess.js:
116322
1163232010-06-22  David Levin  <levin@chromium.org>
116324
116325        Reviewed by Alexey Proskuryakov.
116326
116327        REGRESSION: (r47291): Upload progress events are not fired for simple cross-site XHR.
116328        https://bugs.webkit.org/show_bug.cgi?id=39029
116329
116330        Specifically, WebKit should fire upload events if one or more event listeners are
116331        registered on the XMLHttpRequestUpload object when send is called in an async manner.
116332
116333        * xml/XMLHttpRequest.cpp:
116334        (WebCore::XMLHttpRequest::createRequest): Allow upload events to be fired when there are
116335        handlers for them in the cross-origin simple request case.
116336
1163372010-06-22  Kent Tamura  <tkent@chromium.org>
116338
116339        Reviewed by Adam Barth.
116340
116341        Fix uninitialized SubframeLoader::m_containsPlugins
116342        https://bugs.webkit.org/show_bug.cgi?id=41035
116343
116344        * loader/SubframeLoader.cpp:
116345        (WebCore::SubframeLoader::SubframeLoader):
116346         Initialize m_containsPlugins with false.
116347
1163482010-06-22  Kinuko Yasuda  <kinuko@chromium.org>
116349
116350        Reviewed by Adam Barth.
116351
116352        Add BlobBuilder.idl to expose BlobBuilder interface
116353        https://bugs.webkit.org/show_bug.cgi?id=40593
116354
116355        (Resubmitting with the correct file set.)
116356
116357        BlobBuilder is defined in FileAPI's FileWriter spec.
116358        (http://dev.w3.org/2009/dap/file-system/file-writer.html)
116359
116360        Also removes the ENABLE_FILE_WRITER ifdef guard for BlobBuilder.
116361
116362        Tests: http/tests/local/blob/send-data-blob.html
116363               http/tests/local/blob/send-hybrid-blob.html
116364               http/tests/local/blob/send-sliced-data-blob.html
116365
116366        * Android.derived.jscbindings.mk:
116367        * Android.derived.v8bindings.mk:
116368        * CMakeLists.txt:
116369        * DerivedSources.cpp:
116370        * DerivedSources.make:
116371        * GNUmakefile.am:
116372        * WebCore.gypi:
116373        * WebCore.pri:
116374        * WebCore.pro:
116375        * WebCore.vcproj/WebCore.vcproj:
116376        * WebCore.xcodeproj/project.pbxproj:
116377        * html/BlobBuilder.cpp:
116378        (WebCore::BlobBuilder::append):
116379        * html/BlobBuilder.h:
116380        * html/BlobBuilder.idl: Added.
116381        * page/DOMWindow.idl:
116382
1163832010-06-22  Kent Tamura  <tkent@chromium.org>
116384
116385        Unreviewed, build fix for r61648.
116386
116387        * platform/graphics/GraphicsContext3D.h:
116388
1163892010-06-22  Vangelis Kokkevis  <vangelis@chromium.org>
116390
116391        Reviewed by Kent Tamura.
116392
116393        Define GraphicsContext3D::platformLayer() for all remaining (non PLATFORM(MAC))
116394        ports to get RenderLayerBacking.cpp compiling again.
116395        https://bugs.webkit.org/show_bug.cgi?id=41026
116396
116397        * platform/graphics/GraphicsContext3D.h:
116398        (WebCore::GraphicsContext3D::platformLayer):
116399
1164002010-06-22  Eric Seidel  <eric@webkit.org>
116401
116402        Unreviewed.  Rolling out http://trac.webkit.org/changeset/61638
116403        made a few tests crash.
116404
116405        Make PendingScript hold a CachedResourceClient open for its lifetime
116406        https://bugs.webkit.org/show_bug.cgi?id=40968
116407
116408        * html/HTML5DocumentParser.cpp:
116409        (WebCore::HTML5DocumentParser::watchForLoad):
116410        (WebCore::HTML5DocumentParser::notifyFinished):
116411        * html/HTML5ScriptRunner.cpp:
116412        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
116413        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
116414        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
116415        (WebCore::HTML5ScriptRunner::executePendingScript):
116416        (WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad):
116417        (WebCore::HTML5ScriptRunner::watchForLoad):
116418        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
116419        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
116420        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
116421        (WebCore::HTML5ScriptRunner::requestScript):
116422        * html/HTML5ScriptRunner.h:
116423        (WebCore::HTML5ScriptRunner::PendingScript::):
116424        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
116425        (WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad):
116426        * html/HTML5ScriptRunnerHost.h:
116427
1164282010-06-22  Adele Peterson  <adele@apple.com>
116429
116430        Reviewed by Darin Adler.
116431
116432        Fix for Crash when the renderer for the button in <input type="number"> goes away during event handling
116433        https://bugs.webkit.org/show_bug.cgi?id=41013
116434
116435        Test: fast/forms/input-number-crash.html
116436
116437        * rendering/TextControlInnerElements.cpp: (WebCore::SpinButtonElement::defaultEventHandler):
116438        Nil check the RenderBox since its possible the renderer has gone away during event handling.
116439
1164402010-06-22  Tony Gentilcore  <tonyg@chromium.org>
116441
116442        Reviewed by Eric Seidel.
116443
116444        Pull script line number from DocumentParser instead of pushing it to ScriptController
116445        https://bugs.webkit.org/show_bug.cgi?id=40649
116446
116447        This approach is cleaner and improves WebCore/benchmarks/parser/html-parser.html by ~2%.
116448
116449        Tests: fast/js/script-line-number.html
116450
116451        * bindings/js/ScriptController.cpp:
116452        (WebCore::ScriptController::ScriptController):
116453        (WebCore::ScriptController::eventHandlerLineNumber):
116454        * bindings/js/ScriptController.h:
116455        * bindings/v8/ScriptController.cpp:
116456        (WebCore::ScriptController::eventHandlerLineNumber):
116457        (WebCore::ScriptController::eventHandlerColumnNumber):
116458        * bindings/v8/ScriptController.h:
116459        * bindings/v8/ScriptEventListener.cpp:
116460        (WebCore::createAttributeEventListener):
116461        * bindings/v8/V8Proxy.h:
116462        * dom/XMLDocumentParserLibxml2.cpp:
116463        (WebCore::XMLDocumentParser::startElementNs):
116464        * html/HTML5DocumentParser.cpp:
116465        (WebCore::HTML5DocumentParser::pumpLexer):
116466        * html/HTMLDocumentParser.cpp:
116467        (WebCore::HTMLDocumentParser::processToken):
116468
1164692010-06-22  Tony Gentilcore  <tonyg@chromium.org>
116470
116471        Reviewed by Eric Seidel.
116472
116473        Make PendingScript hold a CachedResourceClient open for its lifetime
116474        https://bugs.webkit.org/show_bug.cgi?id=40968
116475
116476        This replaces the mechanism introduced in r61374 with a simpler
116477        approach from preventing unexpected purges; always keep a client open.
116478        This will approach will allow deferred scripts to add a client after
116479        the resource may have already been loaded without having to worry about
116480        the buffer being purged in the meantime.
116481
116482        No new tests because making a CachedResource purge itself is not
116483        testable from a LayoutTest.
116484
116485        * html/HTML5DocumentParser.cpp:
116486        (WebCore::HTML5DocumentParser::watchForLoad):
116487        (WebCore::HTML5DocumentParser::notifyFinished):
116488        * html/HTML5ScriptRunner.cpp:
116489        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
116490        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
116491        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
116492        (WebCore::HTML5ScriptRunner::executePendingScript):
116493        (WebCore::HTML5ScriptRunner::watchForLoad):
116494        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
116495        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
116496        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
116497        (WebCore::HTML5ScriptRunner::requestScript):
116498        * html/HTML5ScriptRunner.h:
116499        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
116500        (WebCore::HTML5ScriptRunner::PendingScript::~PendingScript):
116501        (WebCore::HTML5ScriptRunner::PendingScript::setCachedScript):
116502        (WebCore::HTML5ScriptRunner::PendingScript::cachedScript):
116503        (WebCore::HTML5ScriptRunner::PendingScript::notifyFinished):
116504        * html/HTML5ScriptRunnerHost.h:
116505
1165062010-06-22  Eric Seidel  <eric@webkit.org>
116507
116508        Reviewed by Adam Barth.
116509
116510        Fragment parsing needs to go through the HTML5 Parser code path
116511        https://bugs.webkit.org/show_bug.cgi?id=40645
116512
116513        Added a new HTML5DocumentParser::parseHTMLDocumentFragment
116514        codepath which optionally calls through to the old fragment
116515        parsing path, now renamed parseLegacyHTMLDocumentFragment.
116516
116517        * dom/Element.cpp:
116518        (WebCore::Element::createContextualFragment):
116519         - Use document()->createDocumentFragment() instead
116520           of DocumentFragment::create() to match other callers
116521           (and not depend on DocumentFragment.h).
116522         - Update call to parseHTMLDocumentFragment to use the new
116523           HTML5 parser codepath.
116524        * dom/MappedAttributeEntry.h:
116525         - Add a FIXME about this horrible enum placement.
116526           Sadly this will cause a world-rebuild for everyone.
116527        * html/HTML5DocumentParser.cpp:
116528        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
116529        (WebCore::HTML5DocumentParser::runScriptsForPausedTreeConstructor):
116530         - The main pumpLexer function has gotten to large.  Move the script
116531           running logic into this new function.
116532         - Handle the case where we have no m_scriptRunner (fragment case).
116533        (WebCore::HTML5DocumentParser::pumpLexer):
116534         - Use new runScriptsForPausedTreeConstructor().
116535        (WebCore::HTML5DocumentParser::executingScript):
116536        (WebCore::HTML5DocumentParser::inScriptExecution):
116537         - New function to handle the case where m_scriptRunner is null.
116538        (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
116539         - Use inScriptExecution() instead of m_scriptRunner->inScriptExecution().
116540        (WebCore::HTML5DocumentParser::executeScript): ditto.
116541        (WebCore::HTML5DocumentParser::notifyFinished): ditto.
116542        (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets): ditto.
116543        (WebCore::shouldUseLegacyParser):
116544         - Helper function to check the html5ParserEnabled() setting.
116545        (WebCore::HTML5DocumentParser::parseHTMLDocumentFragment):
116546         - Run HTML5DocumentParser in fragment mode, or optionally run
116547           the legacy parser if !html5ParserEnabled().
116548        * html/HTML5DocumentParser.h:
116549        * html/HTML5TreeBuilder.cpp:
116550        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
116551        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
116552         - Implement the FragmentScriptingNotAllowed hack for platform/Pasteboard.
116553        * html/HTML5TreeBuilder.h:
116554        * html/HTMLDocumentParser.cpp:
116555        (WebCore::parseLegacyHTMLDocumentFragment):
116556         - Renamed from parseHTMLDocumentFragment
116557        * html/HTMLDocumentParser.h:
116558        * html/HTMLElement.cpp:
116559        (WebCore::HTMLElement::insertAdjacentHTML):
116560         - Call HTML5DocumentParser::parseHTMLDocumentFragment.
116561        * platform/mac/PasteboardMac.mm:
116562        (WebCore::Pasteboard::documentFragment): ditto.
116563        * xml/XSLTProcessor.cpp:
116564        (WebCore::createFragmentFromSource): ditto.
116565
1165662010-06-22  Chris Marrin  <cmarrin@apple.com>
116567
116568        Reviewed by Simon Fraser.
116569
116570        https://bugs.webkit.org/show_bug.cgi?id=40643
116571        
116572        Final phase of moving ownership of WebGLLayer to GraphicsContext3D.
116573        As it turns out, I still have to have a separate CGLContextObj for
116574        rendering because Core Animation composites in a separate thread,
116575        so we need to disconnect WebGL rendering from CA compositing. But
116576        this change is still worthwhile because it reduces dependencies
116577        and makes it easier to port WebGL to other platforms.
116578        
116579        No new tests since this is just restructuring and the current tests
116580        are all still valid and do a sufficient test of WebGL functionality.
116581
116582        * platform/graphics/GraphicsContext3D.h:
116583        (WebCore::GraphicsContext3D::platformLayer):
116584        * platform/graphics/GraphicsLayer.h:
116585        (WebCore::GraphicsLayer::setContentsToWebGL):
116586        (WebCore::GraphicsLayer::setWebGLNeedsDisplay):
116587        * platform/graphics/mac/GraphicsContext3DMac.mm: Add creation of WebGLLayer
116588        (WebCore::GraphicsContext3D::GraphicsContext3D):
116589        * platform/graphics/mac/GraphicsLayerCA.h:
116590        (WebCore::GraphicsLayerCA::):
116591        * platform/graphics/mac/GraphicsLayerCA.mm: Handle setting of WebGLLayer as content the same as for MediaLayer. Also changed WebGL related names for clarity
116592        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
116593        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
116594        (WebCore::GraphicsLayerCA::updateContentsWebGLLayer):
116595        (WebCore::GraphicsLayerCA::setContentsToWebGL):
116596        (WebCore::GraphicsLayerCA::setWebGLNeedsDisplay):
116597        * platform/graphics/mac/WebGLLayer.h:
116598        * platform/graphics/mac/WebGLLayer.mm: Got rid of storage for context and texture, now just store GraphicsContext3D and get them from there when needed
116599        (-[WebGLLayer copyCGLPixelFormatForDisplayMask:]):
116600        (-[WebGLLayer copyCGLContextForPixelFormat:]):
116601        (-[WebGLLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
116602        (-[WebGLLayer copyImageSnapshotWithColorSpace:]):
116603        * rendering/RenderLayerBacking.cpp: Changed init of WebGL contentsLayer to pass WebGLLayer rather than GraphicsContext3D
116604        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
116605        (WebCore::RenderLayerBacking::rendererContentChanged):
116606
1166072010-06-22  Darin Adler  <darin@apple.com>
116608
116609        Reviewed by Dave Hyatt.
116610
116611        * html/HTMLTableCellElement.cpp:
116612        (WebCore::HTMLTableCellElement::parseMappedAttribute): Removed incorrect FIXME comments.
116613
1166142010-06-22  Dan Bernstein  <mitz@apple.com>
116615
116616        Reviewed by Anders Carlsson.
116617
116618        <rdar://problem/8119403> REGRESSION (r61548): PLT is almost 1.5% slower, Google page cycler slower
116619        https://bugs.webkit.org/show_bug.cgi?id=41012
116620
116621        * rendering/RenderBlockLineLayout.cpp:
116622        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Removed a redundant statement that was
116623        left over in the original patch and resulted in double the calls to RenderText::width() here.
116624        (WebCore::RenderBlock::findNextLineBreak): Changed the order of evaluating conditions for a
116625        potential speedup.
116626
1166272010-06-22  Darin Adler  <darin@apple.com>
116628
116629        Reviewed by Alexey Proskuryakov.
116630
116631        Alexey asked me to take out the autorelease pools because he believes
116632        that there is no code that should be running using Objective-C
116633        autorelease. Most likely, the code that is triggering these stderr
116634        messages is incorrect, and that bug should be fixed instead.
116635
116636        * workers/WorkerRunLoop.cpp:
116637        (WebCore::WorkerRunLoop::run): Roll out use of AutodrainedPool.
116638
1166392010-06-22  Darin Adler  <darin@apple.com>
116640
116641        Reviewed by Brady Eidson.
116642
116643        Fix autorelease problem seen when running worker regression tests.
116644        We were seeing logs to stderr saying autorelease was used without
116645        an autorelease pool being set up.
116646
116647        * workers/WorkerRunLoop.cpp:
116648        (WebCore::WorkerRunLoop::run): Use an AutodrainedPool as the file
116649        thread, icon database, and database thread do. No effect on platforms
116650        other than Mac.
116651
1166522010-06-22  Chris Fleizach  <cfleizach@apple.com>
116653
116654        Reviewed by Darin Adler.
116655
116656        AX: If an element that is a continuation is removed, its parent tree is not notified appropriately that their children have changed
116657        https://bugs.webkit.org/show_bug.cgi?id=41000
116658
116659        Test: accessibility/removed-continuation-element-causes-crash.html
116660
116661        * accessibility/AccessibilityObject.h:
116662        (WebCore::AccessibilityObject::updateChildrenIfNecessary):
116663        * accessibility/AccessibilityRenderObject.cpp:
116664        (WebCore::AccessibilityRenderObject::childrenChanged):
116665        (WebCore::AccessibilityRenderObject::addChildren):
116666        * accessibility/AccessibilityRenderObject.h:
116667
1166682010-06-22  Peter Kasting  <pkasting@google.com>
116669
116670        Reviewed by Adam Barth.
116671
116672        Override setFailed() in each image decoder to clean up any temporary
116673        objects.
116674        https://bugs.webkit.org/show_bug.cgi?id=35411
116675        
116676        In a few cases, we need to be careful to avoid deleting objects until
116677        after they're no longer needed.  These cases usually mean some jumping
116678        through hoops, to the detriment of code simplicity.
116679
116680        No layout tests because this does not change the visible output of
116681        decoding in any way.
116682
116683        * platform/image-decoders/ImageDecoder.h:
116684        (WebCore::ImageDecoder::setData):
116685        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
116686        (WebCore::BMPImageDecoder::setFailed):
116687        (WebCore::BMPImageDecoder::decode):
116688        * platform/image-decoders/bmp/BMPImageDecoder.h:
116689        * platform/image-decoders/bmp/BMPImageReader.cpp:
116690        (WebCore::BMPImageReader::decodeBMP):
116691        (WebCore::BMPImageReader::readInfoHeaderSize):
116692        (WebCore::BMPImageReader::processInfoHeader):
116693        (WebCore::BMPImageReader::readInfoHeader):
116694        (WebCore::BMPImageReader::processBitmasks):
116695        (WebCore::BMPImageReader::processColorTable):
116696        (WebCore::BMPImageReader::processRLEData):
116697        (WebCore::BMPImageReader::processNonRLEData):
116698        * platform/image-decoders/bmp/BMPImageReader.h:
116699        (WebCore::BMPImageReader::):
116700        * platform/image-decoders/gif/GIFImageDecoder.cpp:
116701        (WebCore::GIFImageDecoder::setFailed):
116702        (WebCore::GIFImageDecoder::decode):
116703        * platform/image-decoders/gif/GIFImageDecoder.h:
116704        * platform/image-decoders/ico/ICOImageDecoder.cpp:
116705        (WebCore::ICOImageDecoder::setFailed):
116706        (WebCore::ICOImageDecoder::decode):
116707        * platform/image-decoders/ico/ICOImageDecoder.h:
116708        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
116709        (WebCore::JPEGImageReader::decode):
116710        (WebCore::JPEGImageDecoder::setFailed):
116711        (WebCore::JPEGImageDecoder::decode):
116712        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
116713        * platform/image-decoders/png/PNGImageDecoder.cpp:
116714        (WebCore::PNGImageReader::decode):
116715        (WebCore::PNGImageDecoder::PNGImageDecoder):
116716        (WebCore::PNGImageDecoder::setFailed):
116717        (WebCore::PNGImageDecoder::headerAvailable):
116718        (WebCore::PNGImageDecoder::decode):
116719        * platform/image-decoders/png/PNGImageDecoder.h:
116720
1167212010-06-04  Dimitri Glazkov  <dglazkov@chromium.org>
116722
116723        Reviewed by Darin Adler.
116724
116725        Remove side effects of form submission and prepare FormDataBuilder for splitting up.
116726        https://bugs.webkit.org/show_bug.cgi?id=40184
116727
116728        Refactoring, covered by existing tests.
116729
116730        * html/HTMLFormElement.cpp:
116731        (WebCore::HTMLFormElement::prepareFormSubmission):
116732            * Changed to use new accessors on FormDataBuilder;
116733            * Simplified the logic around action URL;
116734            * Removed form submission side effect of element's enctype property being updated when
116735                submitting a mailto form;
116736            * Removed unnecessary updating of action URL for mailto forms.
116737        (WebCore::HTMLFormElement::submit): Moved action URL check into prepareFormSubmission.
116738        (WebCore::HTMLFormElement::parseMappedAttribute): Updated to use new methods on FormDataBuilder.
116739        * html/HTMLFormElement.h: Removed decls for isMailtoForm and dataEncoding methods;
116740            moved m_target and m_url to FormDataBuilder.
116741        * platform/network/FormData.cpp:
116742        (WebCore::FormData::appendDOMFormData): Removed unnecessary instantiation of FormDataBuilder.
116743        * platform/network/FormDataBuilder.cpp:
116744        (WebCore::FormDataBuilder::parseAction): Moved from HTMLFormControl.
116745        * platform/network/FormDataBuilder.h:
116746        (WebCore::FormDataBuilder::action): Ditto.
116747        (WebCore::FormDataBuilder::target): Ditto.
116748        (WebCore::FormDataBuilder::setTarget): Ditto.
116749
1167502010-06-22  Yuta Kitamura  <yutak@chromium.org>
116751
116752        Reviewed by Alexey Proskuryakov.
116753
116754        Fix WebSocketHandshakeRequest so that it fits the new handshake protocol.
116755
116756        The new WebSocket specification (draft 76 and later) allows a browser to
116757        send header fields in arbitrary order. Thus we can use a HTTPHeaderMap to
116758        store header fields instead of Vector of pairs of a field name and
116759        a field value.
116760
116761        This patch also does refactoring of WebSocketHandshakeRequest class
116762        to make it simpler and easier to use.
116763
116764        Fix WebSocketHandshakeRequest so that it fits the new handshake protocol
116765        https://bugs.webkit.org/show_bug.cgi?id=39864
116766
116767        No new tests, because there is no functional change.
116768
116769        * websockets/WebSocketHandshake.cpp:
116770        (WebCore::WebSocketHandshake::clientHandshakeRequest):
116771        * websockets/WebSocketHandshakeRequest.cpp:
116772        (WebCore::WebSocketHandshakeRequest::Key3::Key3):
116773        (WebCore::WebSocketHandshakeRequest::Key3::set):
116774        (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest):
116775        (WebCore::WebSocketHandshakeRequest::requestMethod):
116776        (WebCore::WebSocketHandshakeRequest::url):
116777        (WebCore::WebSocketHandshakeRequest::addHeaderField):
116778        (WebCore::WebSocketHandshakeRequest::headerFields):
116779        (WebCore::WebSocketHandshakeRequest::key3):
116780        (WebCore::WebSocketHandshakeRequest::setKey3):
116781        * websockets/WebSocketHandshakeRequest.h:
116782
1167832010-06-20  MORITA Hajime  <morrita@google.com>
116784
116785        Reviewed by Kent Tamura.
116786
116787        <meter> should be yellow when  min < value < low < optimum
116788        https://bugs.webkit.org/show_bug.cgi?id=40824
116789        
116790        Fixed a wrong conditional on HTMLMeterElement::gaugeRegion().
116791        
116792        * html/HTMLMeterElement.cpp:
116793        (WebCore::HTMLMeterElement::gaugeRegion):
116794
116795        Tests: fast/dom/HTMLMeterElement/meter-appearances-capacity.html
116796               fast/dom/HTMLMeterElement/meter-optimums.html
116797
1167982010-06-22  Adam Barth  <abarth@webkit.org>
116799
116800        Reviewed by Eric Seidel.
116801
116802        Follow the HTML5 spec more closely w.r.t. when to save the insertion point
116803        https://bugs.webkit.org/show_bug.cgi?id=40976
116804
116805        The spec always increments the nesting level and saves the insertion
116806        point at the same time.  In this patch, we now do those operations
116807        packaged as a RAII.
116808
116809        As a side effect, the test case below no longer ASSERTs.  (The output
116810        is wrong, but we'll get to that next.)
116811
116812        Test: fast/tokenizer/write-on-load.html
116813
116814        * html/HTML5ScriptRunner.cpp:
116815        (WebCore::NestScript::NestScript):
116816        (WebCore::NestScript::~NestScript):
116817        (WebCore::HTML5ScriptRunner::executePendingScript):
116818        (WebCore::HTML5ScriptRunner::executeScript):
116819        (WebCore::HTML5ScriptRunner::requestScript):
116820        (WebCore::HTML5ScriptRunner::runScript):
116821        * html/HTMLInputStream.h:
116822
1168232010-06-22  Adam Barth  <abarth@webkit.org>
116824
116825        Reviewed by Eric Seidel.
116826
116827        Expose HTMLInputStream to ScriptRunner so that ScriptRunner can save the insertion point itself
116828        https://bugs.webkit.org/show_bug.cgi?id=40975
116829
116830        This saves us having to call back into the HTML5DocumentParser each
116831        time we need to save the insertion point.  This prepares us for another
116832        place we need to save the insertion point.
116833
116834        * html/HTML5DocumentParser.cpp:
116835        * html/HTML5DocumentParser.h:
116836        (WebCore::HTML5DocumentParser::inputStream):
116837        * html/HTML5ScriptRunner.cpp:
116838        (WebCore::HTML5ScriptRunner::executeScript):
116839        (WebCore::HTML5ScriptRunner::requestScript):
116840        * html/HTML5ScriptRunnerHost.h:
116841
1168422010-06-22  Adam Barth  <abarth@webkit.org>
116843
116844        Reviewed by Eric Seidel.
116845
116846        Move HTMLInputStream to its own file
116847        https://bugs.webkit.org/show_bug.cgi?id=40974
116848
116849        No new tests, just code motion.
116850
116851        * GNUmakefile.am:
116852        * WebCore.gypi:
116853        * WebCore.vcproj/WebCore.vcproj:
116854        * WebCore.xcodeproj/project.pbxproj:
116855        * html/HTML5DocumentParser.h:
116856
1168572010-06-21  Adam Barth  <abarth@webkit.org>
116858
116859        Reviewed by Eric Seidel.
116860
116861        Save the insertion point before beforeload events
116862        https://bugs.webkit.org/show_bug.cgi?id=40973
116863
116864        We need to save the insertion point before dispatching the beforeload
116865        event in case someone decides to document.write during beforeload.
116866        Prior to this patch, such writes would pump the lexer too much and
116867        tokenize the rest of the document before executing the script.
116868
116869        * html/HTML5DocumentParser.cpp:
116870        (WebCore::HTML5DocumentParser::dispatchBeforeLoad):
116871        * html/HTML5DocumentParser.h:
116872        * html/HTML5ScriptRunner.cpp:
116873        (WebCore::HTML5ScriptRunner::requestScript):
116874        * html/HTML5ScriptRunnerHost.h:
116875
1168762010-06-21  Adam Barth  <abarth@webkit.org>
116877
116878        Reviewed by Eric Seidel.
116879
116880        document.write from BeforeLoad should not assert
116881        https://bugs.webkit.org/show_bug.cgi?id=40971
116882
116883        We're setting the parse blocking script too early.  It's not actually
116884        blocking parsing yet.
116885
116886        Test: fast/tokenizer/write-before-load.html
116887
116888        * html/HTML5ScriptRunner.cpp:
116889        (WebCore::HTML5ScriptRunner::requestScript):
116890
1168912010-06-21  Chris Fleizach  <cfleizach@apple.com>
116892
116893        No review. QT build fix again.
116894
116895        AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
116896        https://bugs.webkit.org/show_bug.cgi?id=40927
116897
116898        * accessibility/AXObjectCache.h:
116899        (WebCore::AXObjectCache::postNotification):
116900
1169012010-06-21  Chris Fleizach  <cfleizach@apple.com>
116902
116903        No review. QT build fix.
116904
116905        AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
116906        https://bugs.webkit.org/show_bug.cgi?id=40927
116907
116908        * accessibility/AXObjectCache.h:
116909        (WebCore::AXObjectCache::postNotification):
116910
1169112010-06-21  Chris Fleizach  <cfleizach@apple.com>
116912
116913        Reviewed by Beth Dakin.
116914
116915        AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
116916        https://bugs.webkit.org/show_bug.cgi?id=40927
116917
116918        Test: platform/mac/accessibility/aria-expanded-notifications.html
116919
116920        * accessibility/AXObjectCache.cpp:
116921        (WebCore::AXObjectCache::handleAriaExpandedChange):
116922        * accessibility/AXObjectCache.h:
116923        (WebCore::AXObjectCache::handleAriaExpandedChange):
116924        * accessibility/AccessibilityObject.h:
116925        (WebCore::AccessibilityObject::handleAriaExpandedChanged):
116926        * accessibility/AccessibilityRenderObject.cpp:
116927        (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
116928        * accessibility/AccessibilityRenderObject.h:
116929        * accessibility/mac/AXObjectCacheMac.mm:
116930        (WebCore::AXObjectCache::postPlatformNotification):
116931        * dom/Element.cpp:
116932        (WebCore::Element::updateAfterAttributeChanged):
116933
1169342010-06-21  Sheriff Bot  <webkit.review.bot@gmail.com>
116935
116936        Unreviewed, rolling out r61585.
116937        http://trac.webkit.org/changeset/61585
116938        https://bugs.webkit.org/show_bug.cgi?id=40950
116939
116940        It broke builds (Requested by kinuko on #webkit).
116941
116942        * Android.derived.jscbindings.mk:
116943        * Android.derived.v8bindings.mk:
116944        * CMakeLists.txt:
116945        * DerivedSources.cpp:
116946        * DerivedSources.make:
116947        * GNUmakefile.am:
116948        * WebCore.gypi:
116949        * WebCore.pri:
116950        * WebCore.vcproj/WebCore.vcproj:
116951        * WebCore.xcodeproj/project.pbxproj:
116952        * html/BlobBuilder.cpp:
116953        (WebCore::BlobBuilder::appendString):
116954        (WebCore::BlobBuilder::appendBlob):
116955        * html/BlobBuilder.h:
116956        * page/DOMWindow.idl:
116957
1169582010-06-21  Kinuko Yasuda  <kinuko@chromium.org>
116959
116960        Reviewed by Adam Barth.
116961
116962        Add BlobBuilder.idl to expose BlobBuilder interface
116963        https://bugs.webkit.org/show_bug.cgi?id=40593
116964
116965        BlobBuilder is defined in FileAPI's FileWriter spec.
116966        (http://dev.w3.org/2009/dap/file-system/file-writer.html)
116967
116968        Also removes the ENABLE_FILE_WRITER ifdef guard for BlobBuilder.
116969
116970        Tests: http/tests/local/blob/send-data-blob.html
116971               http/tests/local/blob/send-hybrid-blob.html
116972               http/tests/local/blob/send-sliced-data-blob.html
116973
116974        * Android.derived.jscbindings.mk:
116975        * Android.derived.v8bindings.mk:
116976        * CMakeLists.txt:
116977        * DerivedSources.cpp:
116978        * DerivedSources.make:
116979        * GNUmakefile.am:
116980        * WebCore.gypi:
116981        * WebCore.pri:
116982        * WebCore.pro:
116983        * WebCore.vcproj/WebCore.vcproj:
116984        * WebCore.xcodeproj/project.pbxproj:
116985        * html/BlobBuilder.cpp:
116986        (WebCore::BlobBuilder::append):
116987        * html/BlobBuilder.h:
116988        * html/BlobBuilder.idl: Added.
116989        * page/DOMWindow.idl:
116990
1169912010-06-21  Nate Chapin  <japhet@chromium.org>
116992
116993        Reviewed by Adam Barth.
116994
116995        FrameLoader cleanup: Split high level subframe and plugin
116996        loading functions into a separate class.
116997        https://bugs.webkit.org/show_bug.cgi?id=40453
116998
116999        Refactor only, no new tests.
117000
117001        * Android.mk:
117002        * CMakeLists.txt:
117003        * GNUmakefile.am:
117004        * WebCore.base.exp:
117005        * WebCore.gypi:
117006        * WebCore.pro:
117007        * WebCore.vcproj/WebCore.vcproj:
117008        * WebCore.xcodeproj/project.pbxproj:
117009        * dom/DOMImplementation.cpp:
117010        * history/PageCache.cpp:
117011        * html/HTMLFrameElementBase.cpp:
117012        * html/HTMLMediaElement.cpp:
117013        * loader/FrameLoader.cpp:
117014        * loader/FrameLoader.h:
117015        (WebCore::FrameLoader::subframeLoader):
117016        * loader/PluginDocument.cpp:
117017        * loader/SubframeLoader.cpp: Added.
117018        (WebCore::SubframeLoader::SubframeLoader):
117019        (WebCore::toPlugInElement):
117020        (WebCore::SubframeLoader::clear):
117021        (WebCore::SubframeLoader::requestFrame):
117022        (WebCore::SubframeLoader::requestObject):
117023        (WebCore::FrameLoader::loadMediaPlayerProxyPlugin):
117024        (WebCore::SubframeLoader::createJavaAppletWidget):
117025        (WebCore::SubframeLoader::loadSubframe):
117026        (WebCore::SubframeLoader::allowPlugins):
117027        (WebCore::SubframeLoader::shouldUsePlugin):
117028        (WebCore::SubframeLoader::loadPlugin):
117029        (WebCore::SubframeLoader::completeURL):
117030        * loader/SubframeLoader.h: Added.
117031        (WebCore::SubframeLoader::containsPlugins):
117032        * page/Page.cpp:
117033        * page/XSSAuditor.h:
117034        * platform/graphics/wince/MediaPlayerProxy.cpp:
117035        * plugins/MimeType.cpp:
117036        * rendering/RenderApplet.cpp:
117037        * rendering/RenderEmbeddedObject.cpp:
117038
1170392010-06-21  Nate Chapin  <japhet@chromium.org>
117040
117041        Unreviewed, build fix.
117042
117043        Bad merge, left a reference to m_committedFirstRealDocumentLoad in
117044        http://trac.webkit.org/changeset/61568.
117045
117046        * loader/FrameLoader.cpp:
117047        (WebCore::FrameLoader::transitionToCommitted):
117048
1170492010-06-21  Nate Chapin  <japhet@chromium.org>
117050
117051        Reviewed by Adam Barth.
117052
117053        Remove a couple of FrameLoader's unused boolean members
117054        (m_receivedData, m_cancellingWithLoadInProcess) and merge
117055        several more into a single state machine called FrameLoaderStateMachine
117056        (m_firstLayoutDone, m_creatingInitialEmptyDocument,
117057        m_isDisplayingInitialEmptyDocument, m_committedFirstRealDocumentLoad).
117058
117059        https://bugs.webkit.org/show_bug.cgi?id=39695
117060
117061        Refactor only, so no new tests.
117062
117063        * WebCore.base.exp:
117064        * WebCore.xcodeproj/project.pbxproj:
117065        * loader/DocumentWriter.cpp:
117066        (WebCore::DocumentWriter::createDocument):
117067        (WebCore::DocumentWriter::begin):
117068        * loader/FrameLoader.cpp:
117069        (WebCore::FrameLoader::FrameLoader):
117070        (WebCore::FrameLoader::init):
117071        (WebCore::FrameLoader::stopLoading):
117072        (WebCore::FrameLoader::didOpenURL):
117073        (WebCore::FrameLoader::didExplicitOpen):
117074        (WebCore::FrameLoader::clear):
117075        (WebCore::FrameLoader::didBeginDocument):
117076        (WebCore::FrameLoader::finishedParsing):
117077        (WebCore::FrameLoader::provisionalLoadStarted):
117078        (WebCore::FrameLoader::logCanCachePageDecision):
117079        (WebCore::FrameLoader::logCanCacheFrameDecision):
117080        (WebCore::FrameLoader::frameHasLoaded):
117081        (WebCore::FrameLoader::commitProvisionalLoad):
117082        (WebCore::FrameLoader::transitionToCommitted):
117083        (WebCore::FrameLoader::finishedLoadingDocument):
117084        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
117085        (WebCore::FrameLoader::didFirstLayout):
117086        (WebCore::FrameLoader::frameLoadCompleted):
117087        (WebCore::FrameLoader::dispatchDidCommitLoad):
117088        * loader/FrameLoader.h:
117089        (WebCore::FrameLoader::stateMachine):
117090        * loader/FrameLoaderStateMachine.cpp: Added.
117091        * loader/FrameLoaderStateMachine.h: Added.
117092        * loader/HistoryController.cpp:
117093        (WebCore::HistoryController::restoreScrollPositionAndViewState):
117094        (WebCore::HistoryController::saveDocumentState):
117095        * loader/ProgressTracker.cpp:
117096        (WebCore::ProgressTracker::incrementProgress):
117097        * loader/RedirectScheduler.cpp:
117098        (WebCore::RedirectScheduler::scheduleLocationChange):
117099        (WebCore::RedirectScheduler::scheduleFormSubmission):
117100
1171012010-06-21  Kevin Ollivier  <kevino@theolliviers.com>
117102
117103        [wx] Build fix. Fix header includes for ENABLE(DATABASE)
117104
117105        * bindings/js/JSExceptionBase.cpp:
117106
1171072010-06-21  Anders Carlsson  <andersca@apple.com>
117108
117109        Fix clang++ build.
117110
117111        * loader/FormSubmission.h:
117112
1171132010-06-21  Dimitri Glazkov  <dglazkov@chromium.org>
117114
117115        Unreviewed, build fix.
117116
117117        Add a missing include in AsyncImageResizer.h
117118
117119        * html/AsyncImageResizer.h: Added the IntSize include.
117120
1171212010-06-21  Adam Roben  <aroben@apple.com>
117122
117123        Call NotifyAddrChange again each time we are notified of a change
117124
117125        NotifyAddrChange only notifies you of a single change. If you want to
117126        listen for subsequent changes, you have to call it again.
117127
117128        Fixes <http://webkit.org/b/33004> NetworkStateNotifier ignores all
117129        state changes after the first.
117130
117131        No test possible, as we don't have a way to modify the system's
117132        network adapters when running tests.
117133
117134        Reviewed by Anders Carlsson.
117135
117136        * platform/network/win/NetworkStateNotifierWin.cpp:
117137        (WebCore::NetworkStateNotifier::addrChangeCallback): Call
117138        registerForAddressChange as soon as we're notified of an address
117139        change, so we'll also get notified of the *next* address change. I
117140        added the call here instead of in addressChanged (which is called
117141        later on the main thread) to minimize the time between the callback
117142        and registering again (so that we won't miss changes that happen in
117143        rapid succession).
117144
1171452010-06-21  Dan Bernstein  <mitz@apple.com>
117146
117147        Release build fix
117148
117149        * rendering/RenderBlockLineLayout.cpp:
117150        (WebCore::tryHyphenating):
117151
1171522010-06-21  Dan Bernstein  <mitz@apple.com>
117153
117154        Windows build fix
117155
117156        * WebCore.vcproj/WebCore.vcproj: Fixed a typo.
117157
1171582010-06-21  Dan Bernstein  <mitz@apple.com>
117159
117160        Reviewed by Darin Adler.
117161
117162        CSS3: Implement the 'hyphens' and 'hyphenate-character' properties
117163        https://bugs.webkit.org/show_bug.cgi?id=10228
117164
117165        Tests: fast/text/hyphenate-character.html
117166               fast/text/hyphens.html
117167
117168        Added -webkit-hyphens and -webkit-hyphenate-character as specified in
117169        <http://www.w3.org/TR/2010/WD-css3-gcpm-20100608/#hyphenation>.
117170
117171        * Android.mk: Added Hyphenation.cpp.
117172        * CMakeLists.txt: Ditto.
117173        * GNUmakefile.am: Added Hyphenation.{cpp,h}.
117174        * WebCore.base.exp: Exported wkGetHyphenationLocationBeforeIndex().
117175        * WebCore.gypi: Added Hyphenation.{cpp,h}.
117176        * WebCore.pro: Added Hyphenation.{cpp,h}.
117177        * WebCore.vcproj/WebCore.vcproj: Added Hyphenation.{cpp,h}.
117178        * WebCore.xcodeproj/project.pbxproj: Added Hyphenation.{cpp,h}.
117179        * css/CSSComputedStyleDeclaration.cpp:
117180        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added the -webkit-hyphenate-character
117181        and -webkit-hyphens cases.
117182        * css/CSSParser.cpp:
117183        (WebCore::CSSParser::parseValue): Validate values for the new properties.
117184        * css/CSSPrimitiveValueMappings.h:
117185        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added. Maps from a Hyphens value to an identifier.
117186        (WebCore::CSSPrimitiveValue::operator Hyphens): Added. Maps from an identifier to a Hyphens value.
117187        * css/CSSPropertyNames.in: Added -webkit-hyphenate-character and -webkit-hyphens.
117188        * css/CSSStyleSelector.cpp:
117189        (WebCore::CSSStyleSelector::applyProperty): Apply the new properties to the RenderStyle.
117190        * css/CSSValueKeywords.in:
117191        * platform/mac/WebCoreSystemInterface.h: Added wkGetHyphenationLocationBeforeIndex.
117192        * platform/mac/WebCoreSystemInterface.mm: Ditto.
117193        * platform/text/CharacterNames.h: Added the hyphen character.
117194        * platform/text/Hyphenation.cpp: Added.
117195        (WebCore::lastHyphenLocation): Added this default implementation for platforms that do not implement
117196        hyphenation yet. It calls notImplemented() and returns 0.
117197        * platform/text/Hyphenation.h: Added.
117198        * platform/text/cf/HyphenationCF.cpp: Added.
117199        (WebCore::lastHyphenLocation): Returns the last hyphenation location occurring in the given string before
117200        the given index. Uses the current search locale (which is based on the top language preference of the user)
117201        for hyphenation.
117202        * platform/text/mac/HyphenationMac.mm: Added.
117203        (WebCore::lastHyphenLocation): Returns the last hyphenation location occurring in the given string before
117204        the given index. Returns 0 if the current search locale is not "en", because the platform only knows how to
117205        hyphenate English.
117206        * rendering/BidiRun.h:
117207        (WebCore::BidiRun::BidiRun): Added a boolean member, m_hasHyphen, and initialized it to false in the constructor.
117208        * rendering/InlineBox.h:
117209        (WebCore::InlineBox::InlineBox): Renamed m_hasEllipsisBox to m_hasEllipsisBoxOrHyphen, because this bit is now
117210        shared by two subclass: RootInlineBox uses it for hasEllipsisBox(), while InlineTextBox uses it for hasHyphen().
117211        * rendering/InlineTextBox.cpp:
117212        (WebCore::adjustCharactersAndLengthForHyphen): Added this helper function to get the hyphen string from the style
117213        and return a UChar* and length for the concatenation of the given text with the hyphen string.
117214        (WebCore::InlineTextBox::selectionRect): If the selected range touches the end and the box has a hyphen,
117215        compute the width of the text with the hyphen string concatenated to it.
117216        (WebCore::InlineTextBox::paint): If the box has a hyphen, draw the text with the hyphen string concatenated to it.
117217        (WebCore::InlineTextBox::paintSelection): Similarly concatenate the hyphen string.
117218        * rendering/InlineTextBox.h:
117219        (WebCore::InlineTextBox::hasHyphen): Added this accessor.
117220        (WebCore::InlineTextBox::setHasHyphen): Ditto.
117221        * rendering/RenderBlock.h:
117222        * rendering/RenderBlockLineLayout.cpp:
117223        (WebCore::RenderBlock::constructLine): Copy the m_hasHyphen flag from the run to its text box.
117224        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Add the width of the hyphen string when computing the
117225        width of a box that has a hyphen.
117226        (WebCore::RenderBlock::layoutInlineChildren): If the line was hyphenated, set the m_hasHyphen flag on the
117227        logically last run.
117228        (WebCore::tryHyphenating): Added this helper function which checks if a piece of text that does not fit on the
117229        line could be hyphenated such that the part before the hyphen, including the hyphen, would fit. Given the amount
117230        of space remaining on the line, it finds the longest prefix that can fit in the remaining space (which leaving room for
117231        the hyphen), and then checks for a hyphenation location within that prefix.
117232        (WebCore::RenderBlock::findNextLineBreak): In the 'hyphens: none' case, prevent line breaks at soft hyphens.
117233        In the 'hyphens: auto' case, try hyphenating when a word will not fit in the remaining space on the line.
117234        * rendering/RootInlineBox.cpp:
117235        (WebCore::RootInlineBox::detachEllipsisBox): Changed to use hasEllipsisBox() and setHasEllipsisBox().
117236        (WebCore::RootInlineBox::clearTruncation): Ditto.
117237        (WebCore::RootInlineBox::placeEllipsis): Ditto.
117238        (WebCore::RootInlineBox::paintEllipsisBox): Ditto.
117239        (WebCore::RootInlineBox::nodeAtPoint): Ditto.
117240        (WebCore::RootInlineBox::ellipsisBox): Ditto.
117241        * rendering/RootInlineBox.h:
117242        (WebCore::RootInlineBox::hasEllipsisBox): Added this accessor.
117243        (WebCore::RootInlineBox::setHasEllipsisBox): Ditto.
117244        * rendering/style/RenderStyle.cpp:
117245        (WebCore::RenderStyle::diff): Return a layout hint if the hyphens setting or hyphenate-character differs.
117246        (WebCore::RenderStyle::hyphenString): Added. For hyphenate-character: auto, returns the hyphen character.
117247        * rendering/style/RenderStyle.h:
117248        (WebCore::InheritedFlags::hyphens): Added this accessor.
117249        (WebCore::InheritedFlags::hyphenateCharacter): Ditto.
117250        (WebCore::InheritedFlags::setHyphens): Ditto.
117251        (WebCore::InheritedFlags::setHyphenateCharacter): Ditto.
117252        (WebCore::InheritedFlags::initialHyphens): Added. Returns HyphensManual.
117253        (WebCore::InheritedFlags::initialHyphenateCharacter): Added. Returns the null string, corresponding to
117254        a value of 'auto'.
117255        * rendering/style/RenderStyleConstants.h:
117256        Added a Hyphens enum.
117257        * rendering/style/StyleRareInheritedData.cpp:
117258        (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize and copy the new members.
117259        (WebCore::StyleRareInheritedData::operator==): Compare the new members.
117260        * rendering/style/StyleRareInheritedData.h: Added two new members: hyphens and hyphenateCharacter.
117261
1172622010-06-03  Dimitri Glazkov  <dglazkov@chromium.org>
117263
117264        Reviewed by Darin Adler.
117265
117266        Plumb FormSubmission through to ScheduledFormSubmission.
117267        https://bugs.webkit.org/show_bug.cgi?id=40137
117268
117269        No behavior change, covered by existing tests.
117270
117271        * html/HTMLFormElement.cpp:
117272        (WebCore::HTMLFormElement::prepareFormSubmission): Moved creation of action URL
117273            instance here from FrameLoader::submit, because it makes more sense here,
117274            also added a FIXME to investigate existing code later.
117275        * loader/FormSubmission.cpp:
117276        (WebCore::FormSubmission::FormSubmission): Changed action to be a KURL, not a String.
117277        (WebCore::FormSubmission::create): Ditto.
117278        (WebCore::FormSubmission::populateFrameLoadRequest): Added, moving the logic from
117279            FrameLoader::submit closer to the data.
117280        * loader/FormSubmission.h:
117281        (WebCore::FormSubmission::action): Changed type to KURL.
117282        (WebCore::FormSubmission::clearTarget): Added.
117283        (WebCore::FormSubmission::referrer): Added.
117284        (WebCore::FormSubmission::setReferrer): Added.
117285        (WebCore::FormSubmission::origin): Added.
117286        (WebCore::FormSubmission::setOrigin): Added.
117287        * loader/FrameLoader.cpp:
117288        (WebCore::FrameLoader::submitForm): Cleaned up to make it more about decision-making,
117289            not data manipulation.
117290        * loader/RedirectScheduler.cpp:
117291        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission): Changed to accept FormSubmission as argument.
117292        (WebCore::ScheduledFormSubmission::fire): Changed to use FormSubmission.
117293        (WebCore::RedirectScheduler::scheduleFormSubmission): Removed assert that no longer makes sense,
117294            changed to use FormSubmission.
117295        * loader/RedirectScheduler.h: Updated ScheduledFormSubmission decl to hold FormSubmission ref.
117296
1172972010-06-21  Satish Sampath  <satish@chromium.org>
117298
117299        Reviewed by Steve Block.
117300
117301        Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
117302        https://bugs.webkit.org/show_bug.cgi?id=40878
117303
117304        No new tests are needed, because there is no new functionality.
117305
117306        * Configurations/FeatureDefines.xcconfig:
117307        * GNUmakefile.am:
117308        * WebCore.pri:
117309
1173102010-06-21  Hans Wennborg  <hans@chromium.org>
117311
117312        Reviewed by Jeremy Orlow.
117313
117314        Delete DOM storage databases when they are empty.
117315        https://bugs.webkit.org/show_bug.cgi?id=40767
117316
117317        Even if a page clears its local storage, the database file for it stays around,
117318        and there is currently no mechanism that deletes them.
117319
117320        After doing the "final sync" of a storage area, the StorageAreaSyncMaster should
117321        see if the database is empty, and in that case delete it.
117322
117323        Tests:
117324         manual-tests/localstorage-empty-database.html
117325
117326        * manual-tests/localstorage-empty-database.html:
117327        Added link to clear local storage for testing that the file is removed.
117328        * storage/LocalStorageTask.cpp:
117329        (WebCore::LocalStorageTask::LocalStorageTask):
117330        Added local storage task type DeleteEmptyDatabase.
117331        (WebCore::LocalStorageTask::performTask):
117332        Ditto.
117333        * storage/LocalStorageTask.h:
117334        (WebCore::LocalStorageTask::):
117335        Ditto.
117336        (WebCore::LocalStorageTask::createDeleteEmptyDatabase):
117337        Ditto.
117338        * storage/StorageAreaSync.cpp:
117339        (WebCore::StorageAreaSync::scheduleFinalSync):
117340        When scheduling final sync, also schedule DeleteEmptyDatabase.
117341        (WebCore::StorageAreaSync::sync):
117342        Return early if final sync has nothing to sync.
117343        (WebCore::StorageAreaSync::deleteEmptyDatabase):
117344        Added function to check if a database is empty and in that case delete it.
117345        * storage/StorageAreaSync.h:
117346        Ditto.
117347        * storage/StorageSyncManager.cpp:
117348        (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
117349        Added function for scheduling DeleteEmptyDatabase task.
117350        * storage/StorageSyncManager.h:
117351        Ditto.
117352
1173532010-06-21  Balazs Kelemen  <kb@inf.u-szeged.hu>
117354
117355        Reviewed by Simon Hausmann.
117356
117357        [Qt] Avoid unnecessary image conversion in RGBA32Buffer::zeroFill()
117358        https://bugs.webkit.org/show_bug.cgi?id=40910
117359
117360        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
117361        (WebCore::RGBA32Buffer::zeroFill):
117362
1173632010-06-21  Benjamin Poulain  <benjamin.poulain@nokia.com>
117364
117365        Reviewed by Kenneth Rohde Christiansen.
117366
117367        [Qt] Decode images directly to QPixmap
117368        https://bugs.webkit.org/show_bug.cgi?id=40797
117369
117370        Decode images to QPixmap directly instead of QImage when possible.
117371        RGBA32Buffer transforms the pixmap back to image if
117372        necessary.
117373
117374        This improve the performance with certain graphic system, and
117375        can reduce memory usage.
117376
117377        * platform/graphics/qt/ImageDecoderQt.cpp:
117378        (WebCore::ImageDecoderQt::setData):
117379        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
117380        * platform/image-decoders/ImageDecoder.h:
117381        (WebCore::RGBA32Buffer::getAddr):
117382        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
117383        (WebCore::RGBA32Buffer::clear):
117384        (WebCore::RGBA32Buffer::zeroFill):
117385        (WebCore::RGBA32Buffer::copyBitmapData):
117386        (WebCore::RGBA32Buffer::setSize):
117387        (WebCore::RGBA32Buffer::asNewNativeImage):
117388        (WebCore::RGBA32Buffer::setPixmap):
117389
1173902010-06-20  Dumitru Daniliuc  <dumi@chromium.org>
117391
117392        Reviewed by Adam Barth.
117393
117394        Adding the SQLException class which will be used to report sync DB errors.
117395        https://bugs.webkit.org/show_bug.cgi?id=40607
117396
117397        * Android.derived.jscbindings.mk:
117398        * Android.derived.v8bindings.mk:
117399        * CMakeLists.txt:
117400        * DerivedSources.cpp:
117401        * DerivedSources.make:
117402        * GNUmakefile.am:
117403        * WebCore.gypi:
117404        * WebCore.pri:
117405        * WebCore.vcproj/WebCore.vcproj:
117406        * WebCore.xcodeproj/project.pbxproj:
117407        * bindings/js/JSDOMBinding.cpp:
117408        (WebCore::setDOMException):
117409        * bindings/js/JSExceptionBase.cpp:
117410        (WebCore::toExceptionBase):
117411        * bindings/v8/V8Proxy.cpp:
117412        (WebCore::V8Proxy::setDOMException):
117413        * bindings/v8/V8Proxy.h:
117414        * dom/ExceptionCode.cpp:
117415        (WebCore::):
117416        (WebCore::getExceptionCodeDescription):
117417        * dom/ExceptionCode.h:
117418        (WebCore::):
117419        * page/DOMWindow.idl:
117420        * storage/SQLException.h: Added.
117421        (WebCore::SQLException::create):
117422        (WebCore::SQLException::):
117423        (WebCore::SQLException::SQLException):
117424        * storage/SQLException.idl: Added.
117425
1174262010-06-20  Yury Semikhatsky  <yurys@chromium.org>
117427
117428        Reviewed by Pavel Feldman.
117429
117430        [v8] Web Inspector: don't add ScriptDebugServer as v8 listener if browser exposes
117431        v8 debugging protocol.
117432        https://bugs.webkit.org/show_bug.cgi?id=40844
117433
117434        * bindings/v8/ScriptDebugServer.cpp:
117435        (WebCore::ScriptDebugServer::ScriptDebugServer):
117436        (WebCore::ScriptDebugServer::addListener):
117437        (WebCore::ScriptDebugServer::setEnabled):
117438        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
117439        * bindings/v8/ScriptDebugServer.h:
117440
1174412010-06-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
117442
117443        Unreviewed build fix.
117444
117445        [EFL] Build break for r61527
117446        https://bugs.webkit.org/post_bug.cgi 
117447
117448        * CMakeLists.txt: Add loader/FormSubmission.cpp
117449
1174502010-06-20  Anders Carlsson  <andersca@apple.com>
117451
117452        Reviewed by Dan Bernstein.
117453
117454        Remove bogus const qualifiers.
117455
117456        * platform/mac/PasteboardHelper.h:
117457
1174582010-06-20  Patrick Gansterer  <paroga@paroga.com>
117459
117460        Reviewed by Kent Tamura.
117461
117462        Buildfix for NotificationCenter.h.
117463        https://bugs.webkit.org/show_bug.cgi?id=40890
117464
117465        ScriptExecutionContext::completeURL is used in header,
117466        but ScriptExecutionContext.h wasn't included.
117467
117468        * notifications/NotificationCenter.h:
117469
1174702010-06-20  Tony Gentilcore  <tonyg@chromium.org>
117471
117472        Reviewed by Eric Seidel.
117473
117474        Recognize async attribute on HTML script tags.
117475        https://bugs.webkit.org/show_bug.cgi?id=39026
117476
117477        This does not implement async behavior, it only parses the async
117478        attribute for HTML script tags. SVG script tags continue to not
117479        support the async attribute.
117480
117481        Tests: fast/dom/HTMLScriptElement/script-async-attr.html
117482               svg/dom/SVGScriptElement/script-async-attr.svg
117483
117484        * dom/ScriptElement.cpp:
117485        (WebCore::ScriptElementData::isAsynchronous):
117486        (WebCore::ScriptElementData::isDeferred):
117487        * dom/ScriptElement.h:
117488        * html/HTMLAttributeNames.in:
117489        * html/HTMLScriptElement.cpp:
117490        (WebCore::HTMLScriptElement::async):
117491        (WebCore::HTMLScriptElement::setAsync):
117492        (WebCore::HTMLScriptElement::defer):
117493        (WebCore::HTMLScriptElement::asyncAttributeValue):
117494        (WebCore::HTMLScriptElement::deferAttributeValue):
117495        * html/HTMLScriptElement.h:
117496        * html/HTMLScriptElement.idl:
117497        * svg/SVGScriptElement.cpp:
117498        (WebCore::SVGScriptElement::asyncAttributeValue):
117499        (WebCore::SVGScriptElement::deferAttributeValue):
117500        * svg/SVGScriptElement.h:
117501
1175022010-06-20  Nikita Vasilyev  <me@elv1s.ru>
117503
117504        Reviewed by Joseph Pecoraro.
117505
117506        Web Inspector: Auto-completion for CSS property names in Styles pane
117507        https://bugs.webkit.org/show_bug.cgi?id=17374
117508
117509        Added autocompletion for CSS properties. A suggestion for a property
117510        shows when you type. You can also cycle through known property names
117511        using the Up and Down arrow keys.
117512
117513        * WebCore.gypi:
117514        * inspector/front-end/CSSCompletions.js: Added.
117515        (WebInspector.CSSCompletions):
117516        (WebInspector.CSSCompletions.startsWith):
117517        (WebInspector.CSSCompletions.firstStartsWith):
117518        (WebInspector.CSSCompletions._firstIndexOfPrefix):
117519        (WebInspector.CSSCompletions.next):
117520        (WebInspector.CSSCompletions.previous):
117521        (WebInspector.CSSCompletions._closest):
117522        * inspector/front-end/StylesSidebarPane.js:
117523        (WebInspector.StylePropertyTreeElement.prototype):
117524        * inspector/front-end/WebKit.qrc:
117525        * inspector/front-end/inspector.html:
117526        * inspector/front-end/utilities.js:
117527        (Text.prototype.select):
117528        ():
117529
1175302010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>
117531
117532        Reviewed by Darin Adler.
117533
117534        Introduce FormSubmission, the structure representing a form submission.
117535        https://bugs.webkit.org/show_bug.cgi?id=40084
117536
117537        No change in functionality, covered by existing tests.
117538
117539        * GNUmakefile.am: Added FormSubmission.h/cpp.
117540        * WebCore.gypi: Ditto.
117541        * WebCore.pro: Ditto.
117542        * WebCore.vcproj/WebCore.vcproj: Ditto.
117543        * WebCore.xcodeproj/project.pbxproj: Ditto.
117544        * html/HTMLFormElement.cpp:
117545        (WebCore::HTMLFormElement::prepareFormSubmission): Renamed prepareFormData to prepareFormSubmission,
117546            added code for populating a FormSubmission instance, moved the loop of accumulating text input
117547            values into this functions (it belongs here logically).
117548        (WebCore::HTMLFormElement::submit): Modified to use prepareFormSubmission.
117549        * html/HTMLFormElement.h:
117550        * loader/FormSubmission.cpp: Added.
117551        * loader/FormSubmission.h: Added.
117552        * loader/FrameLoader.cpp:
117553        (WebCore::FrameLoader::submitForm): Modified to use FormSubmission. Stopped plumbing further to keep
117554            the patch size down.
117555        * loader/FrameLoader.h: Modified submitForm signature.
117556
1175572010-06-20  Joseph Pecoraro  <joepeck@webkit.org>
117558
117559        Unreviewed rollout r61506, because it made 1 test crash.
117560
117561        Causes crash. Will approach the solution in a different way.
117562
1175632010-06-20  Joseph Pecoraro  <joepeck@webkit.org>
117564
117565        Reviewed by Timothy Hatcher.
117566
117567        Web Inspector: Should Autocomplete Style Properties
117568        https://bugs.webkit.org/show_bug.cgi?id=38448
117569
117570        This Autocompletes style properties when in the console.
117571
117572        * inspector/front-end/InjectedScript.js:
117573        (injectedScriptConstructor):
117574
1175752010-06-20  Robert Hogan  <robert@webkit.org>
117576
117577        Reviewed by Simon Hausmann.
117578
117579        [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
117580
117581        https://bugs.webkit.org/show_bug.cgi?id=36702
117582
117583        setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't
117584        work for DRT. So call it if we are in DRT mode and the window geometry
117585        has changed.
117586
117587        Unskips plugins/reentrant-update-widget-positions.html
117588
117589        * plugins/qt/PluginViewQt.cpp:
117590        (WebCore::PluginView::updatePluginWidget):
117591
1175922010-06-19  Tony Gentilcore  <tonyg@chromium.org>
117593
117594        Reviewed by Adam Barth.
117595
117596        Persist V8's ScriptData to the memory cache.
117597        https://bugs.webkit.org/show_bug.cgi?id=38661
117598
117599        This stores V8's ScriptData in the memory cache and also causes the
117600        network platform layer to be notified of the available cacheable
117601        metadata.
117602
117603        Chromium's morejs benchmark showed a ~7% improvement when this was
117604        originally submitted (before it had to be rolled back).
117605
117606        Test: fast/js/parser-high-byte-character.html
117607
117608        * bindings/v8/ScriptSourceCode.h:
117609        (WebCore::ScriptSourceCode::ScriptSourceCode):
117610        (WebCore::ScriptSourceCode::cachedScript):
117611        * bindings/v8/V8Proxy.cpp:
117612        (WebCore::V8Proxy::compileScript):
117613        (WebCore::V8Proxy::precompileScript):
117614        (WebCore::V8Proxy::evaluate):
117615        * bindings/v8/V8Proxy.h:
117616
1176172010-06-19  Kwang Yul Seo  <skyul@company100.net>
117618
117619        Reviewed by Kent Tamura.
117620
117621        [BREWMP] Port SocketStream
117622        https://bugs.webkit.org/show_bug.cgi?id=39671
117623
117624        Port SocketStream with BREW MP's ISocket interface.
117625
117626        * platform/network/brew/SocketStreamError.h: Added.
117627        (WebCore::SocketStreamError::SocketStreamError):
117628        * platform/network/brew/SocketStreamHandle.h: Added.
117629        (WebCore::SocketStreamHandle::create):
117630        * platform/network/brew/SocketStreamHandleBrew.cpp: Added.
117631        (WebCore::socketStreamConnectCallback):
117632        (WebCore::getHostByNameCallback):
117633        (WebCore::socketReadableCallback):
117634        (WebCore::networkManager):
117635        (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
117636        (WebCore::SocketStreamHandlePrivate::~SocketStreamHandlePrivate):
117637        (WebCore::SocketStreamHandlePrivate::socketConnected):
117638        (WebCore::SocketStreamHandlePrivate::socketReadyRead):
117639        (WebCore::SocketStreamHandlePrivate::connect):
117640        (WebCore::SocketStreamHandlePrivate::send):
117641        (WebCore::SocketStreamHandlePrivate::close):
117642        (WebCore::SocketStreamHandlePrivate::socketClosed):
117643        (WebCore::SocketStreamHandlePrivate::socketError):
117644        (WebCore::SocketStreamHandle::SocketStreamHandle):
117645        (WebCore::SocketStreamHandle::~SocketStreamHandle):
117646        (WebCore::SocketStreamHandle::platformSend):
117647        (WebCore::SocketStreamHandle::platformClose):
117648        (WebCore::SocketStreamHandle::didReceiveAuthenticationChallenge):
117649        (WebCore::SocketStreamHandle::receivedCredential):
117650        (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
117651        (WebCore::SocketStreamHandle::receivedCancellation):
117652        * platform/network/brew/SocketStreamHandlePrivate.h: Added.
117653
1176542010-06-19  Nikita Vasilyev  <me@elv1s.ru>
117655
117656        Reviewed by Pavel Feldman.
117657
117658        Web Inspector: Prevent from copying "filename.css" in Styles pane
117659        https://bugs.webkit.org/show_bug.cgi?id=40420
117660
117661        * inspector/front-end/Section.js:
117662        (WebInspector.Section.prototype.set subtitle):
117663        (WebInspector.Section.prototype.get subtitleAsText):
117664        * inspector/front-end/StylesSidebarPane.js:
117665        (WebInspector.StylePropertiesSection):
117666        * inspector/front-end/inspector.css:
117667        (.styles-section .subtitle::before, .styles-section .subtitle a::before):
117668
1176692010-06-19  Alex Milowski  <alex@milowski.com>
117670
117671        Reviewed by Darin Adler.
117672
117673        A fix for a change in https://bugs.webkit.org/show_bug.cgi?id=39941 
117674        that caused a compile error in MathML.
117675        https://bugs.webkit.org/show_bug.cgi?id=40827
117676
117677        * mathml/MathMLElement.cpp:
117678        (WebCore::MathMLElement::MathMLElement):
117679
1176802010-06-19  Kartikaya Gupta  <kagupta@rim.com>
117681
117682        Reviewed by Nikolas Zimmermann.
117683
117684        CPP bindings missing some APIs
117685        https://bugs.webkit.org/show_bug.cgi?id=40570
117686
117687        Add missing C++ DOM API bindings. Specifically:
117688        - NodeFilter callback support
117689        - Missing custom method implementations in HTMLCollection and HTMLOptionsCollection
117690        - Missing EventTarget static type-determination methods
117691        - Fix CPP binding generator to not generate d-ptrs for classes that extend EventTarget and just use the parent's d-ptr instead
117692        - Switch binding generator to use DOMWindow instead of AbstractView so that necessary W3C-defined methods (e.g. getComputedStyle) are accessible.
117693
117694        * bindings/cpp/WebDOMDOMWindowCustom.cpp: Added.
117695        (WebDOMDOMWindow::addEventListener):
117696        (WebDOMDOMWindow::removeEventListener):
117697        * bindings/cpp/WebDOMEventTarget.cpp:
117698        (toWebKit):
117699        * bindings/cpp/WebDOMEventTarget.h:
117700        * bindings/cpp/WebDOMHTMLCollectionCustom.cpp: Added.
117701        (WebDOMHTMLCollection::item):
117702        (WebDOMHTMLCollection::namedItem):
117703        * bindings/cpp/WebDOMHTMLOptionsCollectionCustom.cpp: Added.
117704        (WebDOMHTMLOptionsCollection::length):
117705        (WebDOMHTMLOptionsCollection::setLength):
117706        * bindings/cpp/WebDOMNodeFilterCustom.cpp: Added.
117707        (WebDOMNodeFilter::acceptNode):
117708        (toWebKit):
117709        * bindings/cpp/WebNativeNodeFilterCondition.cpp: Added.
117710        (WebNativeNodeFilterCondition::WebNativeNodeFilterCondition):
117711        (WebNativeNodeFilterCondition::~WebNativeNodeFilterCondition):
117712        (WebNativeNodeFilterCondition::acceptNode):
117713        * bindings/cpp/WebNativeNodeFilterCondition.h: Added.
117714        (WebNativeNodeFilterCondition::create):
117715        * bindings/scripts/CodeGeneratorCPP.pm:
117716        * dom/NodeFilter.idl:
117717        * page/DOMWindow.idl:
117718
1177192010-06-19  Vangelis Kokkevis  <vangelis@chromium.org>
117720
117721        Reviewed by Dimitri Glazkov.
117722
117723        [chromium] Adding a conditional gyp dependency for the WebCore target to 
117724        the gles2_c_lib which is required by the gpu compositor. The dependency will
117725        only kick in if the accelerated_compositing path is enabled.
117726        https://bugs.webkit.org/show_bug.cgi?id=40801
117727
117728        * WebCore.gyp/WebCore.gyp:
117729
1177302010-06-19  Yael Aharon  <yael.aharon@nokia.com>
117731
117732        Reviewed by Kenneth Rohde Christiansen.
117733
117734        [Qt] Platform plugin's multi-select does not take OptGroup into account
117735        https://bugs.webkit.org/show_bug.cgi?id=40718
117736
117737        In multi-select elements, optgroup elements are counted in the index calculation,
117738        but in single-select they are not. Keep the same logic even when NO_LISTBOX_RENDERING
117739        is enabled.
117740        Added tests to the existing manual test, as testing this requires a special build, in which
117741        NO_LISTBOX_RENDERING is enabled.
117742
117743        * html/HTMLSelectElement.cpp:
117744        (WebCore::HTMLSelectElement::listBoxSelectItem):
117745        * manual-tests/no-listbox-rendering.html:
117746        * rendering/RenderMenuList.cpp:
117747        (WebCore::RenderMenuList::listBoxSelectItem):
117748
1177492010-06-19  Thomas Van Lenten  <thomasvl@chromium.org>
117750
117751        Reviewed by David Levin.
117752
117753        Warnings from -Wextra in a Chromium Mac build
117754        1. checks of unsigned >= 0
117755        2. enumeral and non-enumeral type in conditional expression
117756        3. copy ctors that don't call the super copy ctor or ctor
117757        No functionality change so no new tests.
117758
117759        https://bugs.webkit.org/show_bug.cgi?id=40791
117760
117761        * platform/chromium/ChromiumDataObject.cpp:
117762        (WebCore::ChromiumDataObject::ChromiumDataObject):
117763        * platform/chromium/ThemeChromiumMac.mm:
117764        (WebCore::updateStates):
117765        * rendering/RenderThemeChromiumMac.mm:
117766        (WebCore::RenderThemeChromiumMac::updateActiveState):
117767
1177682010-06-19  Ben Murdoch  <benm@google.com>
117769
117770        Reviewed by Pavel Feldman.
117771
117772        Fix build break with inspector disabled.
117773        https://bugs.webkit.org/show_bug.cgi?id=40790
117774
117775        Replace a #include with a forward declaration.
117776
117777        Fixing a build break so no new tests required.
117778
117779        * inspector/InspectorController.h: Forward declare InspectorValue
117780           rather than #including its header which has its content guarded
117781           out.
117782
1177832010-06-19  Zhe Su  <suzhe@chromium.org>
117784
117785        Reviewed by Darin Fisher.
117786
117787        [chromium]Refactor input method related APIs.
117788        https://bugs.webkit.org/show_bug.cgi?id=40608
117789
117790        No new tests are needed, because there is no new functionality.
117791
117792        * page/FocusController.cpp:
117793        (WebCore::FocusController::setFocusedNode):
117794
1177952010-06-19  George Wright  <gwright@rim.com>
117796
117797        Reviewed by George Staikos.
117798
117799        https://bugs.webkit.org/show_bug.cgi?id=40720
117800
117801        Make setWapInputFormat() public again as CSSStyleSelector.cpp calls this when WCSS is enabled.
117802
117803        * html/HTMLInputElement.h:
117804        (WebCore::HTMLInputElement::data):
117805
1178062010-06-02  Robert Hogan  <robert@webkit.org>
117807
117808        Reviewed by Adam Barth.
117809
117810        [Qt] Support evaluateScriptInIsolatedWorld()
117811
117812        https://bugs.webkit.org/show_bug.cgi?id=40079
117813
117814        getOwnPropertyNames() crashes if PropertyNameArray is size 0. This change allows
117815        http/tests/world-reuse.html and didClearWindowObject.html to fail instead of crash.
117816
117817        * WebCore.pro: Add qwebscriptworld.*
117818        * bridge/qt/qt_runtime.cpp:
117819        (JSC::Bindings::convertValueToQVariant):
117820
1178212010-06-19  Tony Gentilcore  <tonyg@chromium.org>
117822
117823        Reviewed by Eric Seidel.
117824
117825        Some very minor cleanups for HTML5 Parser
117826        https://bugs.webkit.org/show_bug.cgi?id=40638
117827
117828        No new tests because no new functionality.
117829
117830        * html/HTML5DocumentParser.cpp:
117831        (WebCore::): Make ctor explicit.
117832        * html/HTML5DocumentParser.h:
117833        (WebCore::HTML5DocumentParser::InsertionPointRecord::InsertionPointRecord): Make ctor explicit.
117834        * html/HTML5Lexer.cpp:
117835        (WebCore::HTMLNames::isEndTagBufferingState): Use switch to generate an efficient table with single branch.
117836        * html/HTML5Token.h:
117837        (WebCore::HTML5Token::forceQuirks): Add const.
117838        * html/HTML5TreeBuilder.h:
117839        (WebCore::HTML5TreeBuilder::isPaused): Add const.
117840
1178412010-06-18  Aaron Boodman  <aa@chromium.org>
117842
117843        Remove WebKit::WebDocument::isXHTMLDocument.
117844        https://bugs.webkit.org/show_bug.cgi?id=40815
117845
117846        * dom/Document.h: remove isXHTML() getter.
117847
1178482010-06-19  Aaron Boodman  <aa@chromium.org>
117849
117850        Unreviewed, rolling out r61466.
117851        http://trac.webkit.org/changeset/61466
117852        https://bugs.webkit.org/show_bug.cgi?id=40816
117853
117854        Landed wrong change
117855
117856        * bindings/v8/V8DOMWindowShell.cpp:
117857        (WebCore::V8DOMWindowShell::initContextIfNeeded):
117858        * bindings/v8/V8DOMWindowShell.h:
117859
1178602010-06-18  Aaron Boodman  <aa@chromium.org>
117861
117862        WebKit API: Undo static hooks into V8 when WebKit is shut down.
117863        https://bugs.webkit.org/show_bug.cgi?id=40816
117864
117865        * bindings/v8/V8DOMWindowShell.cpp:
117866        (WebCore::V8DOMWindowShell::initContextIfNeeded):
117867        (WebCore::V8DOMWindowShell::initializeV8IfNeeded):
117868        (WebCore::V8DOMWindowShell::uninitializeV8IfNeeded):
117869        * bindings/v8/V8DOMWindowShell.h:
117870
1178712010-06-18  Jessie Berlin  <jberlin@webkit.org>
117872
117873        Reviewed by Darin Adler.
117874
117875        Bug 19509 - Database Tables in the Inspector should be sortable
117876        https://bugs.webkit.org/show_bug.cgi?id=19509
117877
117878        * inspector/front-end/StoragePanel.js:
117879        (WebInspector.StoragePanel.prototype.dataGridForResult):
117880        Make each column in the DataGrid sortable.
117881        (WebInspector.StoragePanel.prototype._sortDataGrid.comparator):
117882        Make sure to sort numeric columns by their numeric values, instead of lexicographically.
117883        (WebInspector.StoragePanel.prototype._sortDataGrid):
117884        Sort the entries in the DataGrid based on the selected column.
117885
1178862010-06-18  Anders Carlsson  <andersca@apple.com>
117887
117888        Reviewed by Oliver Hunt.
117889
117890        More clang++ warning fixes.
117891
117892        * inspector/InspectorFrontendClientLocal.cpp:
117893        (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
117894        * platform/graphics/mac/FontPlatformData.h:
117895        * platform/graphics/mac/WebLayer.mm:
117896        (-[CALayer _descriptionWithPrefix:]):
117897
1178982010-06-18  Dimitri Glazkov  <dglazkov@chromium.org>
117899
117900        Unreviewed, build fix.
117901
117902        * WebCore.gyp/WebCore.gyp: Modified inclusion rule in to actually add WebSystemInterface.mm.
117903
1179042010-06-18  Dimitri Glazkov  <dglazkov@chromium.org>
117905
117906        Unreviewed, build fix.
117907
117908        * WebCore.gyp/WebCore.gyp: Renamed WebSystemInterface.m to WebSystemInterface.mm.
117909
1179102010-06-18  Anders Carlsson  <andersca@apple.com>
117911
117912        Reviewed by Sam Weinig.
117913
117914        Make WebCoreSystemInterface.h a C++ only header
117915        https://bugs.webkit.org/show_bug.cgi?id=40867
117916
117917        * platform/mac/WebCoreSystemInterface.h:
117918
1179192010-06-18  Abhishek Arya  <inferno@chromium.org>
117920
117921        Reviewed by Adam Barth.
117922
117923        Convert column span from an unsigned short type to an unsigned int
117924        type. Fixes a divide-by-zero crash arising from using a zero colspan
117925        value coming from a narrow cast of an int to an unsigned short.
117926        https://bugs.webkit.org/show_bug.cgi?id=40812
117927
117928        Test: fast/table/zero-colspan-crash.html
117929
117930        * rendering/RenderTable.h: Change span from unsigned short to unsigned int.
117931        * rendering/RenderTableSection.cpp: Fix a compiler warning with comparing
117932          unsigned int with signed int. Value of an unsigned int here cannot be
117933          greater than maximum positive value of a signed int.
117934        (WebCore::RenderTableSection::addCell):
117935
1179362010-06-18  Ananth Jasty  <ext-ananth.jasty@nokia.com>
117937
117938        Reviewed by Simon Hausmann.
117939
117940        [Qt] Text spacing miscalculation when using wordSpacing.
117941        https://bugs.webkit.org/show_bug.cgi?id=40483
117942
117943        Removed wordSpacing compensation in FontQt whitespace width
117944        calculation. The QFontMetrics::width() overload that takes
117945        a character does not take QFont's word spacing into account.
117946
117947        * platform/graphics/qt/FontQt.cpp:
117948        (WebCore::Font::floatWidthForComplexText):
117949
1179502010-06-18  Anders Carlsson  <andersca@apple.com>
117951
117952        Reviewed by Darin Adler.
117953
117954        Get rid of PluginDataMac.mm and use the plug-in strategy instead
117955        https://bugs.webkit.org/show_bug.cgi?id=40860
117956
117957        * WebCore.xcodeproj/project.pbxproj:
117958        * page/mac/WebCoreViewFactory.h:
117959        * plugins/PluginData.cpp:
117960        (WebCore::PluginData::refresh):
117961        (WebCore::PluginData::initPlugins):
117962        * plugins/PluginStrategy.h:
117963        * plugins/mac/PluginDataMac.mm: Removed.
117964
1179652010-06-18  Anders Carlsson  <andersca@apple.com>
117966
117967        Reviewed by Dan Bernstein.
117968
117969        Fix some (not all) clang++ warnings.
117970
117971        * dom/Position.h:
117972        (WebCore::lastOffsetInNode):
117973        * editing/CompositeEditCommand.cpp:
117974        (WebCore::CompositeEditCommand::deleteInsignificantText):
117975        * loader/appcache/ApplicationCache.cpp:
117976        (WebCore::ApplicationCache::resourceForRequest):
117977        * platform/graphics/mac/ComplexTextController.cpp:
117978        (WebCore::ComplexTextController::offsetForPosition):
117979        (WebCore::ComplexTextController::collectComplexTextRuns):
117980        * platform/network/CredentialStorage.cpp:
117981        (WebCore::protectionSpaceMapKeyFromURL):
117982        * rendering/style/StyleRareNonInheritedData.h:
117983
1179842010-06-18  Anders Carlsson  <andersca@apple.com>
117985
117986        Reviewed by Dan Bernstein.
117987
117988        Add stubbed out WebPlatformStrategies class to WebKit.
117989        https://bugs.webkit.org/show_bug.cgi?id=40851
117990
117991        * WebCore.base.exp:
117992        * platform/PlatformStrategies.cpp:
117993        * platform/PlatformStrategies.h:
117994        (WebCore::PlatformStrategies::~PlatformStrategies):
117995
1179962010-06-18  Anders Carlsson  <andersca@apple.com>
117997
117998        Reviewed by Darin Adler.
117999
118000        Fix build errors when building with clang++.
118001
118002        * loader/archive/cf/LegacyWebArchiveMac.mm:
118003        Move the const qualifier to the right place.
118004
118005        * page/EditorClient.h:
118006        * platform/Pasteboard.h:
118007        Use @class when forward declaring Objective-C classes in Objective-C.
118008
1180092010-06-18  Alexey Proskuryakov  <ap@apple.com>
118010
118011        Reviewed by Geoff Garen.
118012
118013        https://bugs.webkit.org/show_bug.cgi?id=40852
118014        <rdar://problem/8105498> Limit simultaneous DNS prefetch request number (40852)
118015
118016        No change in functionality, so no tests.
118017
118018        We still queue up to 64 names, but only make up to 8 requests at once. If there are names
118019        remaining in queue, we retry after a short timeout (which is easier than posting
118020        notifications from client callback).
118021
118022        * platform/network/cf/DNSCFNet.cpp:
118023        (WebCore::DNSResolveQueue::add):
118024        (WebCore::DNSResolveQueue::fired):
118025
1180262010-06-18  Zhenyao Mo  <zmo@google.com>
118027
118028        Reviewed by Simon Fraser.
118029
118030        WebGL demos show bad flicker
118031        https://bugs.webkit.org/show_bug.cgi?id=38560
118032
118033        * platform/graphics/mac/GraphicsContext3DMac.mm:
118034        (WebCore::GraphicsContext3D::prepareTexture): Move ensureContext() out of if-block so it's always executed.
118035
1180362010-06-18  Anders Carlsson  <andersca@apple.com>
118037
118038        Reviewed by Sam Weinig.
118039
118040        Add PlatformStrategies and PluginStrategy classes.
118041        https://bugs.webkit.org/show_bug.cgi?id=40850
118042
118043        * WebCore.xcodeproj/project.pbxproj:
118044        * platform/PlatformStrategies.cpp: Added.
118045        (WebCore::PlatformStrategies::~PlatformStrategies):
118046        (WebCore::platformStrategies):
118047        (WebCore::setPlatformStrategies):
118048        * platform/PlatformStrategies.h: Added.
118049        (WebCore::PlatformStrategies::pluginStrategy):
118050        (WebCore::PlatformStrategies::PlatformStrategies):
118051        * plugins/PluginData.cpp:
118052        * plugins/PluginStrategy.h: Added.
118053        (WebCore::PluginStrategy::~PluginStrategy):
118054
1180552010-06-18  Martin Robinson  <mrobinson@igalia.com>
118056
118057        Unreviewed.
118058
118059        Fix the GTK+ build after r61413 and 61379.
118060
118061        * bindings/scripts/CodeGeneratorGObject.pm:
118062        Produce a g_value_set that uses getterExpressionPrefix instead of the raw getter.
118063        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
118064        (webkit_dom_test_obj_get_property): Update expected test results.
118065
1180662010-06-18  Leandro Pereira  <leandro@profusion.mobi>
118067
118068        [EFL] Unreviewed build fix.
118069
118070        * CMakeLists.txt: Add inspector/ScriptBreakpoint.cpp.
118071
1180722010-06-18  Andy Estes  <aestes@apple.com>
118073
118074        Rubber-stamped by Sam Weinig.
118075
118076        Update copyright header.
118077
118078        * html/HTMLLinkElement.h:
118079
1180802010-06-17  Andy Estes  <aestes@apple.com>
118081
118082        Reviewed by Dan Bernstein.
118083
118084        <rdar://problem/8091385> Prevent a crash in WebCore when removing a stylesheet link element in
118085        in a listener to its beforeload event.
118086        https://bugs.webkit.org/show_bug.cgi?id=40742
118087        
118088        Postpone loading of link elements until after they have been inserted into the DOM and
118089        attached. This prevents DOM mutations triggered by beforeload handlers from firing in the
118090        midst of DOM insertion, which can lead to assertion failures and crashes.
118091
118092        Test: fast/dom/beforeload/remove-link-in-beforeload-listener.html
118093
118094        * html/HTMLLinkElement.cpp:
118095        (WebCore::HTMLLinkElement::HTMLLinkElement): Initialize m_shouldProcessAfterAttach to false.
118096        (WebCore::HTMLLinkElement::processCallback): Add a static callback function which calls
118097        HTMLLinkElement::process().
118098        (WebCore::HTMLLinkElement::insertedIntoDocument): Instead of calling process() directly, set
118099        m_shouldProcessAfterAttach to true to indicate that process() should be called after attach().
118100        (WebCore::HTMLLinkElement::removedFromDocument): Set m_shouldProcessAfterAttach to false.
118101        (WebCore::HTMLLinkElement::attach): If m_shouldProcessAfterAttach is true, register
118102        HTMLLinkElement::processCallback() as a post-attach callback.
118103        * html/HTMLLinkElement.h: Add m_shouldProcessAfterAttach.
118104        (WebCore::HTMLLinkElement::canLazyAttach): Override canLazyAttach() to return false to
118105        indicate that a full attach should be performed.  This ensures the post-attach callbacks are
118106        fired.
118107
1181082010-06-18  Chris Fleizach  <cfleizach@apple.com>
118109
118110        Unreviewed. Windows build fix.
118111
118112        AX: presentational role needs to be inherited by required elements
118113        https://bugs.webkit.org/show_bug.cgi?id=40132
118114
118115        * accessibility/AccessibilityRenderObject.cpp:
118116        (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
118117
1181182010-06-18  Chris Fleizach  <cfleizach@apple.com>
118119
118120        Reviewed by David Kilzer.
118121
118122        AX: presentational role needs to be inherited by required elements
118123        https://bugs.webkit.org/show_bug.cgi?id=40132
118124
118125        Test: platform/mac/accessibility/inherited-presentational-lists.html
118126
118127        * accessibility/AccessibilityRenderObject.cpp:
118128        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
118129        (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
118130        * accessibility/AccessibilityRenderObject.h:
118131        (WebCore::AccessibilityRenderObject::node):
118132
1181332010-06-18  Darin Adler  <darin@apple.com>
118134
118135        Fix GTK build after reflection change.
118136
118137        * bindings/scripts/CodeGeneratorGObject.pm: Changed code
118138        that emits setters to convey the correct type of the attribute.
118139        The GObject code generator takes a different approach to attributes
118140        than the others, so it's hacked a bit to make it more like them.
118141        We should find a way to share more code between the different generators.
118142
118143        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
118144        Updated to expect correct results.
118145
1181462010-06-18  Yury Semikhatsky  <yurys@chromium.org>
118147
118148        Unreviewed: Qt build fix.
118149
118150        * inspector/InspectorController.cpp:
118151
1181522010-06-18  Justin Garcia  <justin.garcia@apple.com>
118153
118154        Reviewed by Ojan Vafai.
118155
118156        https://bugs.webkit.org/show_bug.cgi?id=39798
118157        No selection change notification for editing operation that doesn't change the selection's DOM position
118158        
118159        Some editing operations change the selection visually without affecting its position within 
118160        the DOM.  This was previously known to occur for certain typing commands, but it can also 
118161        occur for some Pastes and changes to block style.
118162
118163        * editing/Editor.cpp:
118164        (WebCore::Editor::appliedEditing):
118165        (WebCore::Editor::unappliedEditing):
118166        (WebCore::Editor::reappliedEditing):
118167        (WebCore::Editor::changeSelectionAfterCommand):
118168        * editing/Editor.h:
118169
1181702010-06-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
118171
118172        Unreviewed build fix.
118173
118174        [EFL] Build break on Debug build.
118175        https://bugs.webkit.org/show_bug.cgi?id=40810
118176
118177        * CMakeLists.txt: Add CSSPreloadScanner.cpp
118178
1181792010-06-18  Pavel Podivilov  <podivilov@chromium.org>
118180
118181        Reviewed by Yury Semikhatsky.
118182
118183        Web Inspector: persist breakpoints in inspector settings.
118184        https://bugs.webkit.org/show_bug.cgi?id=14190
118185
118186        * GNUmakefile.am:
118187        * WebCore.gypi:
118188        * WebCore.pro:
118189        * WebCore.vcproj/WebCore.vcproj:
118190        * WebCore.xcodeproj/project.pbxproj:
118191        * inspector/InspectorController.cpp:
118192        (WebCore::InspectorController::InspectorController):
118193        (WebCore::InspectorController::setSessionSettings):
118194        (WebCore::InspectorController::didCommitLoad):
118195        (WebCore::InspectorController::setBreakpoint):
118196        (WebCore::InspectorController::removeBreakpoint):
118197        (WebCore::InspectorController::didParseSource):
118198        (WebCore::InspectorController::breakpointsSettingKey):
118199        (WebCore::InspectorController::loadBreakpoints):
118200        (WebCore::InspectorController::saveBreakpoints):
118201        * inspector/InspectorController.h:
118202        * inspector/InspectorValues.cpp:
118203        (WebCore::InspectorValue::parseJSON):
118204        * inspector/InspectorValues.h:
118205        * inspector/ScriptBreakpoint.cpp: Added.
118206        (WebCore::ScriptBreakpoint::sourceBreakpointsFromInspectorObject):
118207        (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
118208        * inspector/ScriptBreakpoint.h:
118209        * inspector/front-end/BreakpointManager.js:
118210        (WebInspector.BreakpointManager.prototype.addBreakpoint):
118211        (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
118212        (WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
118213        (WebInspector.BreakpointManager.prototype.breakpointsForURL):
118214        (WebInspector.BreakpointManager.prototype._addBreakpoint):
118215        * inspector/front-end/inspector.js:
118216        (WebInspector.restoredBreakpoint):
118217
1182182010-06-18  Darin Adler  <darin@apple.com>
118219
118220        Reviewed by Sam Weinig.
118221
118222        Implement additional DOM attribute reflection for bindings
118223        https://bugs.webkit.org/show_bug.cgi?id=39936
118224
118225        - Added support for [Reflect] for long, unsigned long, and boolean
118226          attributes.
118227        - Fixed code that set attributes like this: <video controls="controls">
118228          to instead set them like this: <video controls>.
118229        - Added lots more uses of [Reflect].
118230        - Removed now-unneeded [ConvertFromString].
118231        - Made [Reflect] imply [ConvertNullToNullString] so we can get rid
118232          of most uses of the latter.
118233        - Made [Reflect] automatically lowercase the name of the reflected
118234          content attribute to minimize the need to specify a custom content
118235          attribute name.
118236
118237        One thing this patch does *not* do is remove the unneeded functions
118238        in the various DOM classes that are no longer used by the bindings.
118239        We should do that in a followup.
118240
118241        * bindings/scripts/CodeGenerator.pm: Added new functions so code
118242        can be shared across bindings, GetterExpressionPrefix and
118243        SetterExpressionPrefix. We can do a lot more refactoring like
118244        this in the future.
118245
118246        * bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded
118247        ConvertFromString handling, changed to use the new
118248        GetterExpressionPrefix and SetterExpressionPrefix functions
118249        to better handle reflected DOM attributes.
118250
118251        * bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded
118252        ConvertFromString handling, changed to use the new
118253        GetterExpressionPrefix and SetterExpressionPrefix functions
118254        to better handle reflected DOM attributes. Fixed a few things
118255        in the output so the .cpp file will have more WebKit style.
118256        The .h file should be GTK style, but the .cpp file can be the
118257        standard WebKit style eventually.
118258
118259        * bindings/scripts/CodeGeneratorJS.pm: Changed to use the new
118260        GetterExpressionPrefix and SetterExpressionPrefix functions
118261        and removed a now-unneeded IsSVGAnimatedType special case since
118262        the new functions take care of it. Made reflected attributes
118263        automatically convert null to the null string without a
118264        separate ConvertNullToNullString attribute.
118265
118266        * bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new
118267        GetterExpressionPrefix and SetterExpressionPrefix functions
118268        and removed a now-unneeded IsSVGAnimatedType special case since
118269        the new functions take care of it. Redid the special cases for
118270        ownerDocument and for operator to fit better with the new code
118271        paths. Removed unneeded ConvertFromString handling.
118272
118273        * bindings/scripts/CodeGeneratorV8.pm: Changed to use the new
118274        GetterExpressionPrefix and SetterExpressionPrefix functions
118275        and removed a now-unneeded IsSVGAnimatedType special case since
118276        the new functions take care of it. Made reflected attributes
118277        automatically convert null to the null string without a
118278        separate ConvertNullToNullString attribute.
118279
118280        * bindings/scripts/test/TestObj.idl: Added some test cases for
118281        content attribute reflection and for exceptions in string-typed
118282        attributes.
118283
118284        * bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated.
118285        * bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto.
118286        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
118287        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
118288        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
118289        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
118290        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
118291        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
118292        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
118293
118294        * dom/Element.cpp:
118295        (WebCore::Element::getIntegralAttribute): Added.
118296        (WebCore::Element::setIntegralAttribute): Added.
118297        (WebCore::Element::getUnsignedIntegralAttribute): Added.
118298        (WebCore::Element::setUnsignedIntegralAttribute): Added.
118299        * dom/Element.h: Added new attribute get/set functions for bindings.
118300
118301        * html/HTMLMediaElement.cpp:
118302        (WebCore::HTMLMediaElement::isURLAttribute): Added. Returns true for
118303        srcAttr.
118304        * html/HTMLMediaElement.h: Added isURLAttribute.
118305
118306        * html/HTMLVideoElement.cpp:
118307        (WebCore::HTMLVideoElement::isURLAttribute): Changed to call
118308        HTMLMediaElement::isURLAttribute before checking for posterAttr.
118309
118310        * html/HTMLAnchorElement.idl:
118311        * html/HTMLAppletElement.idl:
118312        * html/HTMLAreaElement.idl:
118313        * html/HTMLBRElement.idl:
118314        * html/HTMLBaseElement.idl:
118315        * html/HTMLBaseFontElement.idl:
118316        * html/HTMLBlockquoteElement.idl:
118317        * html/HTMLBodyElement.idl:
118318        * html/HTMLButtonElement.idl:
118319        * html/HTMLDListElement.idl:
118320        * html/HTMLDirectoryElement.idl:
118321        * html/HTMLDivElement.idl:
118322        * html/HTMLElement.idl:
118323        * html/HTMLEmbedElement.idl:
118324        * html/HTMLFontElement.idl:
118325        * html/HTMLFormElement.idl:
118326        * html/HTMLFrameElement.idl:
118327        * html/HTMLFrameSetElement.idl:
118328        * html/HTMLHRElement.idl:
118329        * html/HTMLHeadElement.idl:
118330        * html/HTMLHeadingElement.idl:
118331        * html/HTMLHtmlElement.idl:
118332        * html/HTMLIFrameElement.idl:
118333        * html/HTMLImageElement.idl:
118334        * html/HTMLInputElement.idl:
118335        * html/HTMLIsIndexElement.idl:
118336        * html/HTMLLIElement.idl:
118337        * html/HTMLLabelElement.idl:
118338        * html/HTMLLegendElement.idl:
118339        * html/HTMLLinkElement.idl:
118340        * html/HTMLMapElement.idl:
118341        * html/HTMLMediaElement.idl:
118342        * html/HTMLMenuElement.idl:
118343        * html/HTMLMetaElement.idl:
118344        * html/HTMLModElement.idl:
118345        * html/HTMLOListElement.idl:
118346        * html/HTMLObjectElement.idl:
118347        * html/HTMLOptGroupElement.idl:
118348        * html/HTMLOptionElement.idl:
118349        * html/HTMLParagraphElement.idl:
118350        * html/HTMLParamElement.idl:
118351        * html/HTMLPreElement.idl:
118352        * html/HTMLQuoteElement.idl:
118353        * html/HTMLScriptElement.idl:
118354        * html/HTMLStyleElement.idl:
118355        * html/HTMLTableCaptionElement.idl:
118356        * html/HTMLTableCellElement.idl:
118357        * html/HTMLTableColElement.idl:
118358        * html/HTMLTableElement.idl:
118359        * html/HTMLTableRowElement.idl:
118360        * html/HTMLTableSectionElement.idl:
118361        * html/HTMLTextAreaElement.idl:
118362        * html/HTMLUListElement.idl:
118363        * html/HTMLVideoElement.idl:
118364        * svg/SVGElement.idl:
118365        Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that
118366        are now unneeded since [Reflect] now implies that. Changed formatting to be
118367        simpler and consistent without all the lining up and multiple lines.
118368
1183692010-06-17  Dumitru Daniliuc  <dumi@chromium.org>
118370
118371        Reviewed by Dimitri Glazkov.
118372
118373        Remove some unnecessary checks that cause compiler warnings.
118374        https://bugs.webkit.org/show_bug.cgi?id=40772
118375
118376        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
118377        (WebCore::V8SQLResultSetRowList::itemCallback):
118378        * bindings/v8/npruntime.cpp:
118379
1183802010-06-18  Mikhail Naganov  <mnaganov@chromium.org>
118381
118382        Reviewed by Yury Semikhatsky.
118383
118384        Implement 'takeHeapSnapshot' in InspectorController.
118385
118386        https://bugs.webkit.org/show_bug.cgi?id=40834
118387
118388        * bindings/js/ScriptProfiler.h:
118389        (WebCore::ScriptProfiler::takeHeapSnapshot):
118390        * bindings/v8/ScriptProfiler.cpp:
118391        (WebCore::ScriptProfiler::takeHeapSnapshot):
118392        * bindings/v8/ScriptProfiler.h:
118393        * inspector/InspectorBackend.cpp:
118394        (WebCore::InspectorBackend::takeHeapSnapshot):
118395        * inspector/InspectorBackend.h:
118396        * inspector/InspectorBackend.idl:
118397        * inspector/InspectorController.cpp:
118398        (WebCore::InspectorController::takeHeapSnapshot):
118399        * inspector/InspectorController.h:
118400
1184012010-06-18  Dan Bernstein  <mitz@apple.com>
118402
118403        Reviewed by Anders Carlsson.
118404
118405        REGRESSION (r61379?): Assertion failure in Element::getURLAttribute() when accessing the src attribute of a script element
118406        https://bugs.webkit.org/show_bug.cgi?id=40831
118407
118408        Test: fast/dom/HTMLScriptElement/isURLAttribute.html
118409
118410        * html/HTMLScriptElement.cpp:
118411        (WebCore::HTMLScriptElement::isURLAttribute): Check for the 'src' attribute.
118412
1184132010-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>
118414
118415        Unreviewed, rolling out r61405.
118416        http://trac.webkit.org/changeset/61405
118417        https://bugs.webkit.org/show_bug.cgi?id=40838
118418
118419        broke chromium mac compile (Requested by tonyg-cr1 on
118420        #webkit).
118421
118422        * bindings/v8/ScriptSourceCode.h:
118423        (WebCore::ScriptSourceCode::ScriptSourceCode):
118424        * bindings/v8/V8Proxy.cpp:
118425        (WebCore::V8Proxy::compileScript):
118426        (WebCore::V8Proxy::evaluate):
118427        * bindings/v8/V8Proxy.h:
118428
1184292010-06-18  Zhenyao Mo  <zmo@google.com>
118430
118431        Reviewed by Dimitri Glazkov.
118432
118433        Fix WebGLRenderingContext helper functions find{Texture/Renderbuffer/Buffer}
118434        https://bugs.webkit.org/show_bug.cgi?id=40176
118435
118436        * html/canvas/WebGLBuffer.cpp: Remove constructor with existing name.
118437        * html/canvas/WebGLBuffer.h: Ditto.
118438        * html/canvas/WebGLRenderingContext.cpp:
118439        (WebCore::WebGLRenderingContext::getVertexAttrib): Use findBuffer instead of creating a new WebGLBuffer.
118440        (WebCore::WebGLRenderingContext::findTexture): Deal with name == 0 case and return raw pointer.
118441        (WebCore::WebGLRenderingContext::findRenderbuffer): Ditto.
118442        (WebCore::WebGLRenderingContext::findBuffer): Find WebGLBuffer object using given name.
118443        * html/canvas/WebGLRenderingContext.h: Add findBuffer function declaration, change return type to raw pointer.
118444
1184452010-06-18  Tony Gentilcore  <tonyg@chromium.org>
118446
118447        Reviewed by David Levin.
118448
118449        Persist V8's ScriptData to the memory cache.
118450        https://bugs.webkit.org/show_bug.cgi?id=38661
118451
118452        This stores V8's ScriptData in the memory cache and also causes the
118453        network platform layer to be notified of the available cacheable
118454        metadata.
118455
118456        Chromium's morejs benchmark showed a ~7% improvement when this was
118457        originally submitted (before it had to be rolled back).
118458
118459        Test: fast/js/parser-high-byte-character.html
118460
118461        * bindings/v8/ScriptSourceCode.h:
118462        (WebCore::ScriptSourceCode::ScriptSourceCode):
118463        (WebCore::ScriptSourceCode::cachedScript):
118464        * bindings/v8/V8Proxy.cpp:
118465        (WebCore::V8Proxy::compileScript):
118466        (WebCore::V8Proxy::precompileScript):
118467        (WebCore::V8Proxy::evaluate):
118468        * bindings/v8/V8Proxy.h:
118469
1184702010-06-18  Anton Muhin  <antonm@chromium.org>
118471
118472        Reviewed by Dimitri Glazkov.
118473
118474        [v8] Finish migration to new named property query API
118475        https://bugs.webkit.org/show_bug.cgi?id=40771
118476        Remove definition which allowed gradual transition to new API.
118477        See https://bugs.webkit.org/show_bug.cgi?id=40303 for first phase.
118478
118479        * config.h:
118480
1184812010-06-17  Pavel Feldman  <pfeldman@chromium.org>
118482
118483        Reviewed by Yury Semikhatsky.
118484
118485        Web Inspector: bring XHR console records back.
118486        - adds "Enable XHR Monitor" / "Disable XHR Monitor" actions to the console's context menu
118487        - make the chosen option persist in the settings.
118488
118489        https://bugs.webkit.org/show_bug.cgi?id=40799
118490
118491        * English.lproj/localizedStrings.js:
118492        * inspector/InspectorBackend.cpp:
118493        (WebCore::InspectorBackend::disableSearchingForNode):
118494        (WebCore::InspectorBackend::enableMonitoringXHR):
118495        (WebCore::InspectorBackend::disableMonitoringXHR):
118496        * inspector/InspectorBackend.h:
118497        * inspector/InspectorBackend.idl:
118498        * inspector/InspectorController.cpp:
118499        (WebCore::InspectorController::InspectorController):
118500        (WebCore::InspectorController::setMonitoringXHR):
118501        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
118502        (WebCore::InspectorController::identifierForInitialRequest):
118503        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
118504        (WebCore::InspectorController::ensureSettingsLoaded):
118505        * inspector/InspectorController.h:
118506        * inspector/InspectorFrontend.cpp:
118507        (WebCore::InspectorFrontend::monitoringXHRWasEnabled):
118508        (WebCore::InspectorFrontend::monitoringXHRWasDisabled):
118509        * inspector/InspectorFrontend.h:
118510        * inspector/front-end/ConsoleView.js:
118511        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
118512        (WebInspector.ConsoleView.prototype._registerShortcuts):
118513        * inspector/front-end/InjectedScript.js:
118514        (injectedScriptConstructor.):
118515        * inspector/front-end/InspectorBackendStub.js:
118516        (.WebInspector.InspectorBackendStub):
118517        (.WebInspector.InspectorBackendStub.prototype.enableMonitoringXHR):
118518        (.WebInspector.InspectorBackendStub.prototype.disableMonitoringXHR):
118519        * inspector/front-end/inspector.js:
118520        (WebInspector.monitoringXHRWasEnabled):
118521        (WebInspector.monitoringXHRWasDisabled):
118522        * xml/XMLHttpRequest.cpp:
118523        (WebCore::XMLHttpRequest::didFinishLoading):
118524
1185252010-06-18  Nikolas Zimmermann  <nzimmermann@rim.com>
118526
118527        Reviewed by Dirk Schulze.
118528
118529        Modernize SVG Text code, following the HTML design
118530        https://bugs.webkit.org/show_bug.cgi?id=40663
118531
118532        SVG Text does not support subpixel positioning
118533        https://bugs.webkit.org/show_bug.cgi?id=12172
118534
118535        RenderSVGText can't do partial repaints
118536        https://bugs.webkit.org/show_bug.cgi?id=15386
118537
118538        HTML and SVG need to share more text painting code
118539        https://bugs.webkit.org/show_bug.cgi?id=15644
118540
118541        Rewrite SVG Text rendering, only keeping the layout of the actual characters/chunks as it was.
118542        We're now drawing SVG Text very similar to HTML Text, utilizing the SVGInlineFlowBox/SVGInlineTextBox structure,
118543        instead of painting all text content of a <text> element from the SVGRootInlineBox, as it was the last years.
118544
118545        Rough overview of the changes:
118546        - Partial repainting support for text selections (startPos/endPos are respected), no more redrawing of the whole <text> content while selecting
118547        - Subpixel positioning (near pixel-perfect rendering for all W3C tests that contain text, finally!)
118548          -> much better textPath results, characters now align as expected, as all rounding hacks are disabled for SVG text runs, and subpixel precision is used while painting
118549        - No more custom handling of selection, the standard methods offsetFromPosition() / selectionRectForText() are used instead.
118550        - Selection works as expected on stretched/squeezed text (lengthAdjust="spacingAndGlyphs"), takes 'includePartialGlyphs' into account - just like HTML text
118551        - Correct text decoration drawing (proper with and positions and rendering-order, underline/overline before text, strike-through afterwards)
118552        - Proper sizing of all InlineBoxes, starting from the SVGRootInlineBox, down to every single flow & text box
118553          -> correct DRT results, no more weird negative offsets of text runs, etc. Looks exactly like the HTML text test results.
118554        - Rewritten SVGTextContentElement API to take per-character / per-chunk transformations into account.
118555        - Speeeeeed! Drawing is much faster now.
118556
118557        Add 24 new testcases covering basic selection features and the SVGTextContentElement API. Each test draws a half-opaque red rectangle, calculated using
118558        SVGTextContentElement API to highlight the area that is supposed to be selected. Then eventSender API is utilized to move the mouse to the calculated
118559        start origin, holding it down and moving it to the end position.
118560
118561        A detailed list of tests that show progression, can be found in the corresponding LayoutTests/ChangeLog.
118562        Note that this requires a rebaselining of all SVG tests containing text elements.
118563
118564        Tests: svg/hixie/text/001.xml (moved from svg/hixie/text/001-broken.xml)
118565               svg/text/lengthAdjust-text-metrics.html
118566               svg/text/select-textLength-spacing-squeeze-1.svg
118567               svg/text/select-textLength-spacing-squeeze-2.svg
118568               svg/text/select-textLength-spacing-squeeze-3.svg
118569               svg/text/select-textLength-spacing-squeeze-4.svg
118570               svg/text/select-textLength-spacing-stretch-1.svg
118571               svg/text/select-textLength-spacing-stretch-2.svg
118572               svg/text/select-textLength-spacing-stretch-3.svg
118573               svg/text/select-textLength-spacing-stretch-4.svg
118574               svg/text/select-textLength-spacingAndGlyphs-squeeze-1.svg
118575               svg/text/select-textLength-spacingAndGlyphs-squeeze-2.svg
118576               svg/text/select-textLength-spacingAndGlyphs-squeeze-3.svg
118577               svg/text/select-textLength-spacingAndGlyphs-squeeze-4.svg
118578               svg/text/select-textLength-spacingAndGlyphs-stretch-1.svg
118579               svg/text/select-textLength-spacingAndGlyphs-stretch-2.svg
118580               svg/text/select-textLength-spacingAndGlyphs-stretch-3.svg
118581               svg/text/select-textLength-spacingAndGlyphs-stretch-4.svg
118582               svg/text/select-x-list-1.svg
118583               svg/text/select-x-list-2.svg
118584               svg/text/select-x-list-3.svg
118585               svg/text/select-x-list-4.svg
118586               svg/text/select-x-list-with-tspans-1.svg
118587               svg/text/select-x-list-with-tspans-2.svg
118588               svg/text/select-x-list-with-tspans-3.svg
118589               svg/text/select-x-list-with-tspans-4.svg
118590
118591        * rendering/InlineBox.h: Remove not needed isInlineBox() method.
118592        (WebCore::InlineBox::isInlineTextBox): Constify this method.
118593        (WebCore::InlineBox::isSVGInlineTextBox): Added, with ENABLE(SVG) guards, just like the existing isSVGRootInlineBox().
118594        (WebCore::InlineBox::isSVGRootInlineBox): Constify this method.
118595        (WebCore::InlineBox::calculateBoundaries): Added, with ENABLE(SVG) guards, used to calculate the whole boundaries of a InlineText/FlowBox, only used in SVG text.
118596        * rendering/InlineFlowBox.h: Devirtualize placeBoxesHorizontally(), SVG no more overrides it.
118597        * rendering/InlineTextBox.h: Virtualize selectionStartEnd() - SVGInlineTextBox needs to change start/endPositions based on the current text chunk part that it's rendering.
118598                                     SVGTextChunkLayoutInfo.h contains a detailed documentation what a SVGTextChunk/SVGTextChunkPart is, and why they are necessary.
118599        (WebCore::InlineTextBox::isInlineTextBox): Constify this method.
118600        * rendering/RenderBlock.h:
118601        (WebCore::RenderBlock::forceLayoutInlineChildren): Add helper method, used only by RenderSVGText, to use a simplified layout strategy, which is a big speed win.
118602        * rendering/RenderBlockLineLayout.cpp:
118603        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Remove all isSVGText() special cases, as this function is not called anymore for SVG text.
118604        (WebCore::RenderBlock::layoutInlineChildren): Don't call computeHorizontalPositionsForLine() for SVG text. computePerCharacterLayoutInformation() overrides it anyway.
118605        * rendering/RenderSVGInline.cpp: Remove custom absoluteRects/absoluteQuads code, all shared with RenderInline now.
118606        (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): Added, forward to SVGRenderBase, just like all other non-text SVG renderers do.
118607        (WebCore::RenderSVGInline::computeRectForRepaint): Ditto.
118608        (WebCore::RenderSVGInline::mapLocalToContainer): Ditto
118609        * rendering/RenderSVGInline.h: 
118610        * rendering/RenderSVGInlineText.cpp: Remove destroy() hack, which called setNeedsLayoutAndPrefWidthsRecalc/repaint on destruction.
118611                                             As repaint rects work properly now, this hack is no longer necessary, it was only hiding the real problem.
118612        (WebCore::RenderSVGInlineText::styleDidChange): Don't skip RenderText::styleDidChange() anymore, which automatically schedules layout changes for us.
118613        (WebCore::RenderSVGInlineText::localCaretRect): Remove outdated comment, localCaretRect() is not yet needed in SVG text code.
118614        * rendering/RenderSVGInlineText.h: Remove custom absoluteRects/absoluteQuads/selectionRectForRepaint/positionForPoint/destroy/computeRectForRepaint* code, all shared with RenderText now.
118615        * rendering/RenderSVGText.cpp: 
118616        (WebCore::RenderSVGText::mapLocalToContainer): Take x/y translation into account, but do NOT include in localToParentTransform(), as that would affect rendering.
118617        (WebCore::RenderSVGText::layout): Use super-simplified layout strategy, removing a lot of uncessary stuff done by RenderBlock, that SVG does not need.
118618        (WebCore::RenderSVGText::absoluteRects): Remove dead-code, retreving the RenderSVGRoot* object, not necessary since a longer time.
118619        (WebCore::RenderSVGText::absoluteQuads): Ditto.
118620        (WebCore::RenderSVGText::paint): Early exit if we're not in PaintPhaseForeground/PaintPhaseSelfOutline. We're not interessted in other phases.
118621        (WebCore::RenderSVGText::strokeBoundingBox): Fix stroke width calculation, no need to special case SVGFonts.
118622        * rendering/RenderSVGText.h: Remove updateFirstLineBlock/updateFirstLetter overrides, the new RenderSVGText::layout() code, doesn't use these methods at all.
118623                                     We asked RenderBlock to layout before, which was calling updateFirstLetter & co, this is gone now, as it was all not needed.
118624        (WebCore::RenderSVGText::objectBoundingBox): Directly return the frameRect here, inlined for speed.
118625        * rendering/RootInlineBox.cpp:
118626        (WebCore::RootInlineBox::verticallyAlignBoxes): Early-exit if we're a SVGRootInlineBox. SVG handles this on its own.
118627        * rendering/RootInlineBox.h: Devirtualize verticallyAlignBoxes(), SVG no longer overrides it. Remove virtual computePerCharacterLayoutInformation() method, only lives in SVGRootInlineBox now.
118628        * rendering/SVGCharacterData.h: Remove no longer needed SVGTextDecorationInfo.
118629        * rendering/SVGCharacterLayoutInfo.cpp: Don't pass a reference to a Vector<SVGChar> to SVGCharacterLayoutInfo, let it create it.
118630        (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
118631        * rendering/SVGCharacterLayoutInfo.h:
118632        * rendering/SVGInlineFlowBox.cpp: 
118633        (WebCore::SVGInlineFlowBox::paint): Ask children to paint.
118634        (WebCore::SVGInlineFlowBox::calculateBoundaries): Calculate boundaries by uniting all direct children boundaries.
118635        * rendering/SVGInlineFlowBox.h: Remove placeBoxesHorizontally, which does not get called anymore, and does not need to be overriden.
118636        * rendering/SVGInlineTextBox.cpp: 
118637        (WebCore::SVGInlineTextBox::SVGInlineTextBox): Don't use abbrevations for variable names, initialize new member variables.
118638        (WebCore::SVGInlineTextBox::measureCharacter): New helper function extracted from buildLayoutInformation, replacing calculateGlyphWidth/Height.
118639        (WebCore::SVGInlineTextBox::offsetForPosition): Implement this method by utilizing Font::offsetForPosition(), but respecting the text chunk parts.
118640        (WebCore::SVGInlineTextBox::positionForOffset): No change here, still not used.
118641        (WebCore::SVGInlineTextBox::selectionRect): Rewritten, utilizing Font::selectionRectForText(), taking text chunk parts into account, and the supplied startPos/endPos.
118642        (WebCore::SVGInlineTextBox::paint): Rewritten, to handle paint servers much more elegant, than the old solution. See code for details, too much to explain here.
118643        (WebCore::SVGInlineTextBox::acquirePaintingResource): Helper function, used from paint().
118644        (WebCore::SVGInlineTextBox::releasePaintingResource): Ditto.
118645        (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Ditto.
118646        (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting): Ditto.
118647        (WebCore::SVGInlineTextBox::constructTextRun): Helper function centralizing the creation of a TextRun object, used to draw/measure SVG text.
118648        (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoChunkPartCoordinates): Important helper function, mapping a startPos/endPos from InlineTextBox
118649                                                                                   coordinate space to the SVGInlineTextBox, respecting the current text chunk part.
118650        (WebCore::SVGInlineTextBox::selectionStartEnd): Call InlineTextBox::selectionStartEnd(), and apply post fixes when m_currentChunkPart is set. (called when painting a selected chunk part)
118651        (WebCore::positionOffsetForDecoration): Refactored from old paintDecoration() code.
118652        (WebCore::thicknessForDecoration): Ditto.
118653        (WebCore::findRenderObjectDefininingTextDecoration): Ditto.
118654        (WebCore::SVGInlineTextBox::paintDecoration): Ditto. (Can not share the code with HTML, as we need floating point precision, and directly call fillRect, instead of drawHighlightForText.)
118655        (WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto.
118656        (WebCore::SVGInlineTextBox::paintSelection): New method, painting text selections with floating-point precision.
118657        (WebCore::SVGInlineTextBox::paintText): New method, painting text with floating-point precision, correctly handling selected text, removing the need for special SVG text sub-paint phases.
118658                                                (GlyphFill/StrokeSelectionPhase, GlyphFill/StrokePhase)
118659        (WebCore::SVGInlineTextBox::buildLayoutInformation): Use new measureCharacter() helper function, renamed some variables, to avoid abbrevations.
118660        (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Rewritten to use new measureCharacter() helper function.
118661        (WebCore::SVGInlineTextBox::calculateBoundaries): Rewritten to take text chunk parts into account, serves as central method used to layout InlineBoxes (see SVGRootInlineBox.)
118662        * rendering/SVGInlineTextBox.h:
118663        (WebCore::SVGInlineTextBox::isSVGInlineTextBox): Added.
118664        (WebCore::SVGInlineTextBox::setHeight): Rename variable, to avoid abbrevations.
118665        (WebCore::SVGInlineTextBox::chunkTransformation): New helper function, returning the transformation, that gets applied to the complete text chunk, if any.
118666        (WebCore::SVGInlineTextBox::setChunkTransformation): New helper function used by SVGRrootInlineBox, to set the chunk transformation, during text chunk part propagation phase.
118667        (WebCore::SVGInlineTextBox::addChunkPartInformation): Ditto.
118668        (WebCore::SVGInlineTextBox::svgTextChunkParts): Ditto.
118669        * rendering/SVGRootInlineBox.cpp: Virtually rewritten, to be designed more like HTMLs RootInlineBox, diving into children for painting.
118670        (WebCore::SVGRootInlineBox::paint): Ask children to paint, nothing more. No more traversing through the SVGTextChunks, figuring out which part to render, this is done in layout phase now.
118671        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Completly redesigned, see SVGTextChunkLayoutInfo.h for a high-level overview.
118672        (WebCore::SVGRootInlineBox::buildLayoutInformation): Just small cleanups, nothing changed here.
118673        (WebCore::SVGRootInlineBox::layoutChildBoxes): New helper function, extracted from old layoutInlineBoxes().
118674        (WebCore::SVGRootInlineBox::layoutRootBox): Ditto.
118675        (WebCore::SVGRootInlineBox::propagateTextChunkPartInformation): Key-concept of the new design, builds "text chunk parts" and propagates that knownledge to all child SVGInlineTextBoxes.
118676        * rendering/SVGRootInlineBox.h:
118677        (WebCore::SVGRootInlineBox::isSVGRootInlineBox): Constified method.
118678        (WebCore::SVGRootInlineBox::setHeight): Change variable name, to avoid abbrevations.
118679        * rendering/SVGTextChunkLayoutInfo.cpp: Remove if 0, enable compilation.
118680        * rendering/SVGTextChunkLayoutInfo.h: Add large comment explaining text chunk parts, the key concept of the new design. Remove SVGTextChunkWalker & friends, no longer used.
118681        (WebCore::SVGTextChunkPart::SVGTextChunkPart):
118682        (WebCore::SVGTextChunkPart::isValid):
118683        (WebCore::SVGTextChunk::SVGTextChunk):
118684        (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
118685        (WebCore::SVGTextChunkLayoutInfo::textChunks):
118686        * rendering/SVGTextLayoutUtilities.cpp:
118687        (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
118688        (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
118689        (WebCore::svgTextRunForInlineTextBox): Disable rounding hacks, explain parameters with comments, why they have which values.
118690        * rendering/SVGTextLayoutUtilities.h: Remove SVGTextPaintSubphase and SVGTextPaintInfo.
118691        * rendering/SVGTextQuery.cpp: Remove if 0, enable compilation.
118692        * rendering/SVGTextQuery.h: Ditto.
118693        * svg/SVGStyledElement.cpp: Very important change! Do not treat CSS attributes as recognized attributes, that would lead to setNeedsLayout() calls, reducing performance!
118694                                    This hack existed, as we were not dealing with text updates correctly, now that RenderSVGInlineText::styleDidChange is fixed, it's no longer necessary.
118695        (WebCore::SVGStyledElement::isKnownAttribute):
118696        * svg/SVGTextContentElement.cpp: Completely remove the SVGTextContentElement API, that manually traversed all text chunks, instead use the new SVGTextQuery API.
118697        (WebCore::SVGTextContentElement::getNumberOfChars):
118698        (WebCore::SVGTextContentElement::getComputedTextLength):
118699        (WebCore::SVGTextContentElement::getSubStringLength):
118700        (WebCore::SVGTextContentElement::getStartPositionOfChar):
118701        (WebCore::SVGTextContentElement::getEndPositionOfChar):
118702        (WebCore::SVGTextContentElement::getExtentOfChar):
118703        (WebCore::SVGTextContentElement::getRotationOfChar):
118704        (WebCore::SVGTextContentElement::getCharNumAtPosition):
118705        * svg/SVGTextElement.cpp: Very important change! Do not calls setNeedsLayout() on RenderSVGText, if childrenChanged() has been called.
118706        * svg/SVGTextElement.h: Completly remove childrenChanged() - no longer necessary, updates work as expected without it now.
118707
1187082010-06-18  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
118709
118710        Reviewed by David Levin.
118711
118712        Fix compilation when filters are disabled. Revision r60689
118713        changed the signature of SVGRenderBase::prepareToRenderSVGContent()
118714        but didn't change the unsused parameters when filters are disabled.
118715        https://bugs.webkit.org/show_bug.cgi?id=40625
118716
118717        No new tests. Compilation fix.
118718
118719        * rendering/SVGRenderSupport.cpp:
118720        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
118721
1187222010-06-18  Adam Barth  <abarth@webkit.org>
118723
118724        Reviewed by Darin Adler.
118725
118726        noAccess url schemes block access to inline stylesheets
118727        https://bugs.webkit.org/show_bug.cgi?id=32309
118728
118729        Instead of using baseURL() to grab the security context we should just
118730        use finalURL directly.  When I wrote the original patch that added this
118731        security check, finalURL didn't exist yet.
118732
118733        If finalURL is an empty URL, that means we generated the style sheet
118734        from text that didn't have a URL.  It would be slightly safer to store
118735        a bit on CSSStyleSheet indicating whether it came from an inline style
118736        sheet, but I think this check is fairly accurate.
118737
118738        Test: http/tests/security/data-url-inline.css.html
118739
118740        * css/CSSStyleSheet.cpp:
118741        (WebCore::CSSStyleSheet::cssRules):
118742
1187432010-06-18  Adam Barth  <abarth@webkit.org>
118744
118745        Reviewed by Darin Adler.
118746
118747        Remove unneeded custom code for WebSocket.send
118748        https://bugs.webkit.org/show_bug.cgi?id=38180
118749
118750        We don't appear to require a custom binding here.  The old function was
118751        wacky in two ways:
118752
118753        1) It required all of its arguments.
118754
118755        2) If the toString of its argument threw, it would catch the exception
118756           and re-throw a different exception.
118757
118758        I've kept the first behavior but changed the second (and documented it
118759        with a test).
118760
118761        Test: websocket/tests/send-throw.html
118762
118763        * bindings/js/JSWebSocketCustom.cpp:
118764        * bindings/v8/custom/V8WebSocketCustom.cpp:
118765        * websockets/WebSocket.idl:
118766
1187672010-06-15  Dumitru Daniliuc  <dumi@chromium.org>
118768
118769        Reviewed by Adam Barth.
118770
118771        Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
118772        https://bugs.webkit.org/show_bug.cgi?id=39041
118773
118774        * WebCore.base.exp
118775        * bindings/generic/RuntimeEnabledFeatures.cpp:
118776        (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
118777        (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
118778        * page/DOMWindow.cpp:
118779        (WebCore::DOMWindow::openDatabase):
118780        * storage/AbstractDatabase.cpp:
118781        (WebCore::AbstractDatabase::isAvailable):
118782        (WebCore::AbstractDatabase::setIsAvailable):
118783        * storage/AbstractDatabase.h:
118784        * storage/Database.cpp:
118785        * storage/Database.h:
118786        * storage/DatabaseSync.cpp:
118787        * storage/DatabaseSync.h:
118788        * workers/WorkerContext.cpp:
118789        (WebCore::WorkerContext::openDatabase):
118790        (WebCore::WorkerContext::openDatabaseSync):
118791        * workers/WorkerContext.h:
118792
1187932010-06-18  Adam Barth  <abarth@webkit.org>
118794
118795        Rubber-stamped by Eric Seidel.
118796
118797        Fix the namespace indent for HTML5Lexer.  This patch changes
118798        white-space only.
118799
118800        * html/HTML5Lexer.h:
118801        (WebCore::HTML5Lexer::):
118802        (WebCore::HTML5Lexer::lineNumber):
118803        (WebCore::HTML5Lexer::columnNumber):
118804        (WebCore::HTML5Lexer::state):
118805        (WebCore::HTML5Lexer::setState):
118806        (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
118807        (WebCore::HTML5Lexer::InputStreamPreprocessor::InputStreamPreprocessor):
118808        (WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter):
118809        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
118810        (WebCore::HTML5Lexer::InputStreamPreprocessor::advance):
118811
1188122010-06-18  Fumitoshi Ukai  <ukai@chromium.org>
118813
118814        Unreviewed test breakage fix.
118815
118816        WebSocket: resume should not process buffer if already processing.
118817        https://bugs.webkit.org/show_bug.cgi?id=39340
118818
118819        MessageLoop runs in main thread, so we don't need to use timer in worker thread.
118820        Also, we should not use Timer in worker thread.
118821
118822        * websockets/ThreadableWebSocketChannelClientWrapper.h:
118823        (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
118824        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
118825
1188262010-06-17  Sheriff Bot  <webkit.review.bot@gmail.com>
118827
118828        Unreviewed, rolling out r61379.
118829        http://trac.webkit.org/changeset/61379
118830        https://bugs.webkit.org/show_bug.cgi?id=40813
118831
118832        Broke multiple tests on all platforms (Requested by tkent on
118833        #webkit).
118834
118835        * bindings/scripts/CodeGenerator.pm:
118836        * bindings/scripts/CodeGeneratorCPP.pm:
118837        * bindings/scripts/CodeGeneratorGObject.pm:
118838        * bindings/scripts/CodeGeneratorJS.pm:
118839        * bindings/scripts/CodeGeneratorObjC.pm:
118840        * bindings/scripts/CodeGeneratorV8.pm:
118841        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
118842        (WebDOMTestObj::attrWithException):
118843        (WebDOMTestObj::setAttrWithException):
118844        (WebDOMTestObj::attrWithSetterException):
118845        (WebDOMTestObj::attrWithGetterException):
118846        (WebDOMTestObj::setAttrWithGetterException):
118847        * bindings/scripts/test/CPP/WebDOMTestObj.h:
118848        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
118849        (webkit_dom_test_callback_callback_with_class1param):
118850        (webkit_dom_test_callback_callback_with_class2param):
118851        (webkit_dom_test_callback_callback_with_non_bool_return_type):
118852        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
118853        (webkit_dom_test_obj_void_method):
118854        (webkit_dom_test_obj_void_method_with_args):
118855        (webkit_dom_test_obj_int_method):
118856        (webkit_dom_test_obj_int_method_with_args):
118857        (webkit_dom_test_obj_obj_method):
118858        (webkit_dom_test_obj_obj_method_with_args):
118859        (webkit_dom_test_obj_method_that_requires_all_args):
118860        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
118861        (webkit_dom_test_obj_serialized_value):
118862        (webkit_dom_test_obj_method_with_exception):
118863        (webkit_dom_test_obj_with_dynamic_frame):
118864        (webkit_dom_test_obj_with_dynamic_frame_and_arg):
118865        (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
118866        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
118867        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
118868        (webkit_dom_test_obj_with_script_state_void):
118869        (webkit_dom_test_obj_with_script_state_obj):
118870        (webkit_dom_test_obj_with_script_state_void_exception):
118871        (webkit_dom_test_obj_with_script_state_obj_exception):
118872        (webkit_dom_test_obj_with_script_execution_context):
118873        (webkit_dom_test_obj_method_with_optional_arg):
118874        (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
118875        (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
118876        (webkit_dom_test_obj_get_read_only_int_attr):
118877        (webkit_dom_test_obj_get_read_only_string_attr):
118878        (webkit_dom_test_obj_get_read_only_test_obj_attr):
118879        (webkit_dom_test_obj_get_int_attr):
118880        (webkit_dom_test_obj_set_int_attr):
118881        (webkit_dom_test_obj_get_long_long_attr):
118882        (webkit_dom_test_obj_set_long_long_attr):
118883        (webkit_dom_test_obj_get_unsigned_long_long_attr):
118884        (webkit_dom_test_obj_set_unsigned_long_long_attr):
118885        (webkit_dom_test_obj_get_string_attr):
118886        (webkit_dom_test_obj_set_string_attr):
118887        (webkit_dom_test_obj_get_test_obj_attr):
118888        (webkit_dom_test_obj_set_test_obj_attr):
118889        (webkit_dom_test_obj_get_attr_with_exception):
118890        (webkit_dom_test_obj_set_attr_with_exception):
118891        (webkit_dom_test_obj_get_attr_with_setter_exception):
118892        (webkit_dom_test_obj_set_attr_with_setter_exception):
118893        (webkit_dom_test_obj_get_attr_with_getter_exception):
118894        (webkit_dom_test_obj_set_attr_with_getter_exception):
118895        (webkit_dom_test_obj_get_script_string_attr):
118896        (webkit_dom_test_obj_get_conditional_attr1):
118897        (webkit_dom_test_obj_set_conditional_attr1):
118898        (webkit_dom_test_obj_get_conditional_attr2):
118899        (webkit_dom_test_obj_set_conditional_attr2):
118900        (webkit_dom_test_obj_get_conditional_attr3):
118901        (webkit_dom_test_obj_set_conditional_attr3):
118902        (webkit_dom_test_obj_get_description):
118903        (webkit_dom_test_obj_get_id):
118904        (webkit_dom_test_obj_set_id):
118905        (webkit_dom_test_obj_get_hash):
118906        (webkit_dom_test_obj_set_property):
118907        (webkit_dom_test_obj_get_property):
118908        (webkit_dom_test_obj_class_init):
118909        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
118910        * bindings/scripts/test/JS/JSTestObj.cpp:
118911        (WebCore::):
118912        (WebCore::jsTestObjAttrWithException):
118913        (WebCore::jsTestObjAttrWithSetterException):
118914        (WebCore::jsTestObjAttrWithGetterException):
118915        (WebCore::setJSTestObjAttrWithException):
118916        (WebCore::setJSTestObjAttrWithGetterException):
118917        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
118918        * bindings/scripts/test/JS/JSTestObj.h:
118919        * bindings/scripts/test/ObjC/DOMTestObj.h:
118920        * bindings/scripts/test/ObjC/DOMTestObj.mm:
118921        (-[DOMTestObj attrWithException]):
118922        (-[DOMTestObj setAttrWithException:]):
118923        (-[DOMTestObj attrWithSetterException]):
118924        (-[DOMTestObj attrWithGetterException]):
118925        (-[DOMTestObj setAttrWithGetterException:]):
118926        * bindings/scripts/test/TestObj.idl:
118927        * bindings/scripts/test/V8/V8TestObj.cpp:
118928        (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
118929        (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
118930        (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
118931        (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
118932        (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
118933        (WebCore::TestObjInternal::overloadedMethodCallback):
118934        (WebCore::):
118935        * dom/Element.cpp:
118936        * dom/Element.h:
118937        * html/HTMLAnchorElement.idl:
118938        * html/HTMLAppletElement.idl:
118939        * html/HTMLAreaElement.idl:
118940        * html/HTMLBRElement.idl:
118941        * html/HTMLBaseElement.idl:
118942        * html/HTMLBaseFontElement.idl:
118943        * html/HTMLBlockquoteElement.idl:
118944        * html/HTMLBodyElement.idl:
118945        * html/HTMLButtonElement.idl:
118946        * html/HTMLDListElement.idl:
118947        * html/HTMLDirectoryElement.idl:
118948        * html/HTMLDivElement.idl:
118949        * html/HTMLElement.idl:
118950        * html/HTMLEmbedElement.idl:
118951        * html/HTMLFontElement.idl:
118952        * html/HTMLFormElement.idl:
118953        * html/HTMLFrameElement.idl:
118954        * html/HTMLFrameSetElement.idl:
118955        * html/HTMLHRElement.idl:
118956        * html/HTMLHeadElement.idl:
118957        * html/HTMLHeadingElement.idl:
118958        * html/HTMLHtmlElement.idl:
118959        * html/HTMLIFrameElement.idl:
118960        * html/HTMLImageElement.idl:
118961        * html/HTMLInputElement.idl:
118962        * html/HTMLIsIndexElement.idl:
118963        * html/HTMLLIElement.idl:
118964        * html/HTMLLabelElement.idl:
118965        * html/HTMLLegendElement.idl:
118966        * html/HTMLLinkElement.idl:
118967        * html/HTMLMapElement.idl:
118968        * html/HTMLMediaElement.idl:
118969        * html/HTMLMenuElement.idl:
118970        * html/HTMLMetaElement.idl:
118971        * html/HTMLModElement.idl:
118972        * html/HTMLOListElement.idl:
118973        * html/HTMLObjectElement.idl:
118974        * html/HTMLOptGroupElement.idl:
118975        * html/HTMLOptionElement.idl:
118976        * html/HTMLParagraphElement.idl:
118977        * html/HTMLParamElement.idl:
118978        * html/HTMLPreElement.idl:
118979        * html/HTMLQuoteElement.idl:
118980        * html/HTMLScriptElement.idl:
118981        * html/HTMLStyleElement.idl:
118982        * html/HTMLTableCaptionElement.idl:
118983        * html/HTMLTableCellElement.idl:
118984        * html/HTMLTableColElement.idl:
118985        * html/HTMLTableElement.idl:
118986        * html/HTMLTableRowElement.idl:
118987        * html/HTMLTableSectionElement.idl:
118988        * html/HTMLTextAreaElement.idl:
118989        * html/HTMLUListElement.idl:
118990        * html/HTMLVideoElement.idl:
118991        * svg/SVGElement.idl:
118992
1189932010-06-17  Rob Buis  <rwlbuis@gmail.com>
118994
118995        Reviewed by Dave Hyatt.
118996
118997        CSS3 "Property is declared twice in rule" test fails
118998        https://bugs.webkit.org/show_bug.cgi?id=36282
118999
119000        Filter out duplicate properties in style declaration.
119001
119002        Test: fast/css/duplicate-property-in-rule.html
119003
119004        * css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties
119005        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
119006        * css/CSSParser.cpp:
119007        (WebCore::CSSParser::parseValue): Discard negative padding values
119008        * css/CSSStyleSelector.cpp: Remove negative padding check
119009        (WebCore::CSSStyleSelector::applyProperty):
119010
1190112010-06-17  Darin Adler  <darin@apple.com>
119012
119013        Reviewed by Sam Weinig.
119014
119015        Implement additional DOM attribute reflection for bindings
119016        https://bugs.webkit.org/show_bug.cgi?id=39936
119017
119018        - Added support for [Reflect] for long, unsigned long, and boolean
119019          attributes.
119020        - Fixed code that set attributes like this: <video controls="controls">
119021          to instead set them like this: <video controls>.
119022        - Added lots more uses of [Reflect].
119023        - Removed now-unneeded [ConvertFromString].
119024        - Made [Reflect] imply [ConvertNullToNullString] so we can get rid
119025          of most uses of the latter.
119026        - Made [Reflect] automatically lowercase the name of the reflected
119027          content attribute to minimize the need to specify a custom content
119028          attribute name.
119029
119030        One thing this patch does *not* do is remove the unneeded functions
119031        in the various DOM classes that are no longer used by the bindings.
119032        We should do that in a followup.
119033
119034        * bindings/scripts/CodeGenerator.pm: Added new functions so code
119035        can be shared across bindings, GetterExpressionPrefix and
119036        SetterExpressionPrefix. We can do a lot more refactoring like
119037        this in the future.
119038
119039        * bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded
119040        ConvertFromString handling, changed to use the new
119041        GetterExpressionPrefix and SetterExpressionPrefix functions
119042        to better handle reflected DOM attributes.
119043
119044        * bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded
119045        ConvertFromString handling, changed to use the new
119046        GetterExpressionPrefix and SetterExpressionPrefix functions
119047        to better handle reflected DOM attributes. Fixed a few things
119048        in the output so the .cpp file will have more WebKit style.
119049        The .h file should be GTK style, but the .cpp file can be the
119050        standard WebKit style eventually.
119051
119052        * bindings/scripts/CodeGeneratorJS.pm: Changed to use the new
119053        GetterExpressionPrefix and SetterExpressionPrefix functions
119054        and removed a now-unneeded IsSVGAnimatedType special case since
119055        the new functions take care of it. Made reflected attributes
119056        automatically convert null to the null string without a
119057        separate ConvertNullToNullString attribute.
119058
119059        * bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new
119060        GetterExpressionPrefix and SetterExpressionPrefix functions
119061        and removed a now-unneeded IsSVGAnimatedType special case since
119062        the new functions take care of it. Redid the special cases for
119063        ownerDocument and for operator to fit better with the new code
119064        paths. Removed unneeded ConvertFromString handling.
119065
119066        * bindings/scripts/CodeGeneratorV8.pm: Changed to use the new
119067        GetterExpressionPrefix and SetterExpressionPrefix functions
119068        and removed a now-unneeded IsSVGAnimatedType special case since
119069        the new functions take care of it. Made reflected attributes
119070        automatically convert null to the null string without a
119071        separate ConvertNullToNullString attribute.
119072
119073        * bindings/scripts/test/TestObj.idl: Added some test cases for
119074        content attribute reflection and for exceptions in string-typed
119075        attributes.
119076
119077        * bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated.
119078        * bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto.
119079        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
119080        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
119081        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
119082        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
119083        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
119084        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
119085        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
119086
119087        * dom/Element.cpp:
119088        (WebCore::Element::getIntegralAttribute): Added.
119089        (WebCore::Element::setIntegralAttribute): Added.
119090        (WebCore::Element::getUnsignedIntegralAttribute): Added.
119091        (WebCore::Element::setUnsignedIntegralAttribute): Added.
119092        * dom/Element.h: Added new attribute get/set functions for bindings.
119093
119094        * html/HTMLAnchorElement.idl:
119095        * html/HTMLAppletElement.idl:
119096        * html/HTMLAreaElement.idl:
119097        * html/HTMLBRElement.idl:
119098        * html/HTMLBaseElement.idl:
119099        * html/HTMLBaseFontElement.idl:
119100        * html/HTMLBlockquoteElement.idl:
119101        * html/HTMLBodyElement.idl:
119102        * html/HTMLButtonElement.idl:
119103        * html/HTMLDListElement.idl:
119104        * html/HTMLDirectoryElement.idl:
119105        * html/HTMLDivElement.idl:
119106        * html/HTMLElement.idl:
119107        * html/HTMLEmbedElement.idl:
119108        * html/HTMLFontElement.idl:
119109        * html/HTMLFormElement.idl:
119110        * html/HTMLFrameElement.idl:
119111        * html/HTMLFrameSetElement.idl:
119112        * html/HTMLHRElement.idl:
119113        * html/HTMLHeadElement.idl:
119114        * html/HTMLHeadingElement.idl:
119115        * html/HTMLHtmlElement.idl:
119116        * html/HTMLIFrameElement.idl:
119117        * html/HTMLImageElement.idl:
119118        * html/HTMLInputElement.idl:
119119        * html/HTMLIsIndexElement.idl:
119120        * html/HTMLLIElement.idl:
119121        * html/HTMLLabelElement.idl:
119122        * html/HTMLLegendElement.idl:
119123        * html/HTMLLinkElement.idl:
119124        * html/HTMLMapElement.idl:
119125        * html/HTMLMediaElement.idl:
119126        * html/HTMLMenuElement.idl:
119127        * html/HTMLMetaElement.idl:
119128        * html/HTMLModElement.idl:
119129        * html/HTMLOListElement.idl:
119130        * html/HTMLObjectElement.idl:
119131        * html/HTMLOptGroupElement.idl:
119132        * html/HTMLOptionElement.idl:
119133        * html/HTMLParagraphElement.idl:
119134        * html/HTMLParamElement.idl:
119135        * html/HTMLPreElement.idl:
119136        * html/HTMLQuoteElement.idl:
119137        * html/HTMLScriptElement.idl:
119138        * html/HTMLStyleElement.idl:
119139        * html/HTMLTableCaptionElement.idl:
119140        * html/HTMLTableCellElement.idl:
119141        * html/HTMLTableColElement.idl:
119142        * html/HTMLTableElement.idl:
119143        * html/HTMLTableRowElement.idl:
119144        * html/HTMLTableSectionElement.idl:
119145        * html/HTMLTextAreaElement.idl:
119146        * html/HTMLUListElement.idl:
119147        * html/HTMLVideoElement.idl:
119148        * svg/SVGElement.idl:
119149        Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that
119150        are now unneeded since [Reflect] now implies that. Changed formatting to be
119151        simpler and consistent without all the lining up and multiple lines.
119152
1191532010-06-17  MORITA Hajime  <morrita@google.com>
119154
119155        Unreviewd, fixed a build break.
119156
119157        * css/CSSSelector.cpp:
119158        (WebCore::CSSSelector::pseudoId):
119159
1191602010-06-16  MORITA Hajime  <morrita@google.com>
119161
119162        Reviewed by Kent Tamura.
119163
119164        <meter> should allow styling for each gauge-level and component
119165        https://bugs.webkit.org/show_bug.cgi?id=40280
119166
119167        - Introduced following new pseudo classes for <meter> element.
119168        
119169          - -webkit-meter-horizontal-bar
119170          - -webkit-meter-vertical-bar
119171          - -webkit-meter-horizontal-optimum-value
119172          - -webkit-meter-vertical-optimum-value
119173          - -webkit-meter-horizontal-suboptimal-value
119174          - -webkit-meter-vertical-suboptimal-value
119175          - -webkit-meter-horizontal-even-less-good-value
119176          - -webkit-meter-vertical-even-less-good-value
119177        
119178        - Introduced 2 shadow nodes for RenderMeter to handle CSS styling. 
119179          one for bar part and another for value part.
119180        - Removed RenderTheme::paintMeter() implementation because it can be
119181          handled by styled painting without RenderTheme.
119182        - Pulled RenderIndicator up to super class from RenderProgress,
119183          then make RenderMeter a subclass of it.
119184        - Moved shadow related methods from RenderProgress to ShadowBlockElement
119185          to share it with RenderMeter.
119186        - Added rules for html.css for new pseudo classes.
119187        
119188        Tests: fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html
119189               fast/dom/HTMLMeterElement/meter-styles.html
119190
119191        * CMakeLists.txt:
119192        * GNUmakefile.am:
119193        * WebCore.gypi:
119194        * WebCore.pro:
119195        * WebCore.vcproj/WebCore.vcproj:
119196        * WebCore.xcodeproj/project.pbxproj:
119197        * css/CSSSelector.cpp:
119198        (WebCore::CSSSelector::pseudoId):
119199        (WebCore::nameToPseudoTypeMap):
119200        (WebCore::CSSSelector::extractPseudoType):
119201        * css/CSSSelector.h:
119202        (WebCore::CSSSelector::):
119203        * css/html.css:
119204        (meter::-webkit-meter-horizontal-bar):
119205        (meter::-webkit-meter-vertical-bar):
119206        (meter::-webkit-meter-horizontal-optimum-value):
119207        (meter::-webkit-meter-horizontal-suboptimal-value):
119208        (meter::-webkit-meter-horizontal-even-less-good-value):
119209        (meter::-webkit-meter-vertical-optimum-value):
119210        (meter::-webkit-meter-vertical-suboptimal-value):
119211        (meter::-webkit-meter-vertical-even-less-good-value):
119212        * rendering/RenderIndicator.cpp: Added.
119213        (WebCore::RenderIndicator::RenderIndicator):
119214        (WebCore::RenderIndicator::~RenderIndicator):
119215        (WebCore::RenderIndicator::layout):
119216        (WebCore::RenderIndicator::styleDidChange):
119217        (WebCore::RenderIndicator::updateFromElement):
119218        (WebCore::RenderIndicator::hasParts):
119219        (WebCore::RenderIndicator::requestLayoutForParts):
119220        * rendering/RenderIndicator.h: Added.
119221        (WebCore::RenderIndicator::requiresForcedStyleRecalcPropagation):
119222        * rendering/RenderMeter.cpp:
119223        (WebCore::RenderMeter::RenderMeter):
119224        (WebCore::RenderMeter::~RenderMeter):
119225        (WebCore::RenderMeter::layoutParts): Added.
119226        (WebCore::RenderMeter::shouldHaveParts): Added.
119227        (WebCore::RenderMeter::valueRatio): Added.
119228        (WebCore::RenderMeter::barPartRect): Added.
119229        (WebCore::RenderMeter::valuePartRect): Added.
119230        (WebCore::RenderMeter::isHorizontal): Added.
119231        (WebCore::RenderMeter::valuePseudoId): Added.
119232        (WebCore::RenderMeter::barPseudoId): Added.
119233        (WebCore::RenderMeter::updatePartsState): Added.
119234        * rendering/RenderMeter.h:
119235        * rendering/RenderProgress.cpp:
119236        (WebCore::RenderProgress::RenderProgress):
119237        (WebCore::RenderProgress::updateFromElement):
119238        (WebCore::RenderProgress::paint):
119239        (WebCore::RenderProgress::layoutParts): Added.
119240        (WebCore::RenderProgress::shouldHaveParts): Added.
119241        (WebCore::RenderProgress::updatePartsState):
119242        (WebCore::RenderProgress::valuePartRect):
119243        * rendering/RenderProgress.h:
119244        * rendering/RenderTheme.cpp:
119245        (WebCore::RenderTheme::isControlStyled):
119246        (WebCore::RenderTheme::paintMeter):
119247        * rendering/RenderTheme.h:
119248        (WebCore::RenderTheme::supportsMeter): Added.
119249        * rendering/RenderThemeMac.h:
119250        * rendering/RenderThemeMac.mm:
119251        (WebCore::RenderThemeMac::supportsMeter): Added.
119252        * rendering/ShadowElement.cpp:
119253        (WebCore::ShadowBlockElement::layoutAsPart): Added.
119254        (WebCore::ShadowBlockElement::updateStyleForPart): Added.
119255        (WebCore::ShadowBlockElement::createForPart): Added.
119256        (WebCore::ShadowBlockElement::createStyleForPart): Added.
119257        (WebCore::ShadowBlockElement::partShouldHaveStyle): Added.
119258        * rendering/ShadowElement.h:
119259        * rendering/style/RenderStyleConstants.h:
119260        (WebCore::):
119261
1192622010-06-17  Fumitoshi Ukai  <ukai@chromium.org>
119263
119264        Reviewed by Alexey Proskuryakov.
119265
119266        WebSocket: resume should not process buffer if already processing.
119267        https://bugs.webkit.org/show_bug.cgi?id=39340
119268
119269        Test: websocket/tests/alert-in-event-handler.html
119270
119271        While running an event handler of WebSocket object, it may be suspended
119272        and resumed in various reason. e.g. alert() will suspend/resume
119273        ActiveDOM objects. In chromium, sending IPC message would also
119274        suspend/resume ActiveDOM objects.
119275        If resume process pending buffer in this case, another event might
119276        be fired while running the initial event handler.
119277        Thus, resume should not process pending buffer immediately.
119278        Pending buffer would be processed after the current task has been
119279        finished.
119280
119281        * websockets/ThreadableWebSocketChannelClientWrapper.h:
119282        * websockets/WebSocketChannel.cpp:
119283        (WebCore::WebSocketChannel::WebSocketChannel):
119284        (WebCore::WebSocketChannel::resume):
119285         Just set one shot timer for resumeTimerFired() if not yet set.
119286        (WebCore::WebSocketChannel::resumeTimerFired):
119287         Process pending event after resume was called.
119288        * websockets/WebSocketChannel.h:
119289
1192902010-06-17  Eric Seidel  <eric@webkit.org>
119291
119292        Reviewed by Adam Barth.
119293
119294        REGRESSION(HTML5 parser): editing/selection/leave-requested-block.html can fail or crash
119295        https://bugs.webkit.org/show_bug.cgi?id=40764
119296
119297        HTML5ScriptRunner was careful to only call CachedResource::addClient
119298        for cases where the resource was not already loaded.  This was to
119299        avoid getting synchronous notifyFinished callbacks from inside
119300        addClient.  (The old HTMLDocumentParser also has hacks to work around
119301        addClient's synchronous notifyFinished behavior for already-loaded
119302        resources as well.)
119303
119304        It turns out that CachedResource will mark itself as purgeable if it
119305        has no clients, thus it could have its data cleared (but itself not
119306        deleted) in the case where we yield back to the runloop to wait for
119307        CSS to load before executing the loaded script.
119308
119309        The fix is to act more like the old parser and always call addClient
119310        on every CachedScript we load.  But unlike the old parser, we're
119311        careful not to re-enter from addClient -> notifyFinished
119312        using guards in HTML5DocumentParser::watchForLoad.
119313
119314        I do not know how to make a CachedResource purge itself
119315        from a LayoutTest, so this is not currently testable.
119316        If anyone knows how I'm happy to make a test.
119317
119318        * html/HTML5DocumentParser.cpp:
119319        (WebCore::HTML5DocumentParser::watchForLoad):
119320         - It is now expected to call watchForLoad with a loaded script.
119321        (WebCore::HTML5DocumentParser::notifyFinished):
119322         - Now that watchForLoad is called with loaded scripts, notifyFinished
119323           may be be called from addClient, thus we may be in the middle of
119324           script execution when it's called.  It's OK.  We pass the call
119325           along to HTML5ScriptRunner::executeScriptsWaitingForLoad
119326           and it knows how to ignore the call in that case.
119327        * html/HTML5DocumentParser.h:
119328         - Document these member variables more.
119329        * html/HTML5ScriptRunner.cpp:
119330        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
119331        (WebCore::HTML5ScriptRunner::executePendingScript):
119332        (WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad):
119333        (WebCore::HTML5ScriptRunner::watchForLoad):
119334         - Set the pending script to RegisteringForWatch state before
119335           watching and WatchingForLoad after.
119336        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
119337         - Set the pending script to NotWatchingForLoad.
119338        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
119339         - Assert that callers checked hasScriptsWaitingForLoad()
119340        (WebCore::HTML5ScriptRunner::requestScript):
119341        * html/HTML5ScriptRunner.h:
119342        (WebCore::HTML5ScriptRunner::PendingScript::):
119343        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
119344        (WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad):
119345        * html/HTML5ScriptRunnerHost.h:
119346         - Document the new expectations of watchForLoad
119347
1193482010-06-17  Tony Gentilcore  <tonyg@chromium.org>
119349
119350        Reviewed by Eric Seidel.
119351
119352        Prevent HTML5PreloadScanner from loading resources in <noscript> tags.
119353        https://bugs.webkit.org/show_bug.cgi?id=40779
119354
119355        No new tests. Will create a layout test in a subsequent patch.
119356
119357        * html/HTML5PreloadScanner.cpp:
119358        (WebCore::HTML5PreloadScanner::processToken):
119359        * html/HTML5TreeBuilder.cpp:
119360        (WebCore::HTML5TreeBuilder::adjustedLexerState):
119361        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
119362        (WebCore::HTML5TreeBuilder::isScriptingFlagEnabled):
119363        * html/HTML5TreeBuilder.h:
119364
1193652010-06-17  Adam Barth  <abarth@webkit.org>
119366
119367        Reviewed by Eric Seidel.
119368
119369        HTML5PreloadScanner parses <script> in DataState
119370        https://bugs.webkit.org/show_bug.cgi?id=40804
119371
119372        The ScriptDataState is handled separately from the rest of the lexer
119373        state changes because it's more complicted in the tree builder.  The
119374        easiest thing is to just handle it separately in the preloader too.
119375
119376        * html/HTML5PreloadScanner.cpp:
119377        (WebCore::HTML5PreloadScanner::processToken):
119378
1193792010-06-17  Adam Barth  <abarth@webkit.org>
119380
119381        Reviewed by Eric Seidel.
119382
119383        Add CSS scanning to HTML5PreloadScanner
119384        https://bugs.webkit.org/show_bug.cgi?id=40802
119385
119386        This patch just cribs the CSS preload scanning algorithm from the old
119387        preload scanner.  We also invented a way of testing the preload
119388        scanner.
119389
119390        Tests: fast/preloader/image.html
119391               fast/preloader/link.html
119392               fast/preloader/script.html
119393               fast/preloader/style.html
119394
119395        * Android.mk:
119396        * GNUmakefile.am:
119397        * WebCore.gypi:
119398        * WebCore.pro:
119399        * WebCore.vcproj/WebCore.vcproj:
119400        * WebCore.xcodeproj/project.pbxproj:
119401        * html/CSSPreloadScanner.cpp: Added.
119402        (WebCore::isWhitespace):
119403        (WebCore::CSSPreloadScanner::CSSPreloadScanner):
119404        (WebCore::CSSPreloadScanner::reset):
119405        (WebCore::CSSPreloadScanner::scan):
119406        (WebCore::CSSPreloadScanner::tokenize):
119407        (WebCore::CSSPreloadScanner::emitRule):
119408        * html/CSSPreloadScanner.h: Added.
119409        (WebCore::CSSPreloadScanner::):
119410        * html/HTML5PreloadScanner.cpp:
119411        (WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
119412        (WebCore::HTML5PreloadScanner::processToken):
119413        (WebCore::HTML5PreloadScanner::scanningBody):
119414        * html/HTML5PreloadScanner.h:
119415
1194162010-06-17  Abhishek Arya  <inferno@chromium.org>
119417
119418        Reviewed by David Kilzer.
119419
119420        (Landed by Dirk Pranke).
119421
119422        Check for a null frame before setting drag selection.
119423        https://bugs.webkit.org/show_bug.cgi?id=38893
119424        Same Layout test as https://bugs.webkit.org/show_bug.cgi?id=37168.
119425
119426        Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html  
119427
119428        Note that you need to run the test manually 20-30 times for the crash
119429        to reproduce.
119430
119431        * editing/SelectionController.cpp:
119432        (WebCore::SelectionController::setSelection):
119433
1194342010-06-17  Benjamin Poulain  <benjamin.poulain@nokia.com>
119435
119436        Reviewed by Simon Hausmann.
119437
119438        [Qt] Get rid of the the unused imageSize of ImageDecoderQt::internalHandleCurrentImage()
119439        https://bugs.webkit.org/show_bug.cgi?id=40620
119440
119441        Remove an unused variable.
119442
119443        * platform/graphics/qt/ImageDecoderQt.cpp:
119444        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
119445
1194462010-06-17  Jeremy Moskovich  <jeremy@chromium.org>
119447
119448        Reviewed by Darin Fisher.
119449
119450        [Chromium API] Implement WebSandboxSupport on OS X and add stubs to allow
119451        OOP loading of fonts.
119452
119453        https://bugs.webkit.org/show_bug.cgi?id=40544
119454
119455        * platform/chromium/ChromiumBridge.h: Add prototype for loadFont()
119456
1194572010-06-17  Nicolas Weber  <thakis@chromium.org>
119458
119459        Reviewed by Eric Seidel.
119460
119461        Fix various warnings that are reported when building with clang
119462        https://bugs.webkit.org/show_bug.cgi?id=40503
119463
119464        * accessibility/AccessibilityRenderObject.cpp:
119465        (WebCore::AccessibilityRenderObject::labelElementContainer):
119466        * accessibility/AccessibilityTableCell.cpp:
119467        (WebCore::AccessibilityTableCell::parentTable):
119468        * bindings/v8/NPV8Object.cpp:
119469        (WebCore::npObjectTypeInfo):
119470        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
119471        (WebCore::):
119472        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
119473        (WebCore::):
119474        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
119475        (WebCore::):
119476        * css/CSSStyleSheet.h:
119477        * html/HTMLFormElement.cpp:
119478        (WebCore::HTMLFormElement::getNamedElements):
119479        * inspector/InspectorValues.cpp:
119480        (WebCore::InspectorObject::getObject):
119481        (WebCore::InspectorObject::getArray):
119482        * page/animation/AnimationBase.h:
119483        * platform/graphics/BitmapImage.h:
119484        (WTF::):
119485        * platform/graphics/mac/FontPlatformData.h:
119486        * rendering/RenderBlock.h:
119487        * rendering/RootInlineBox.cpp:
119488        (WebCore::RootInlineBox::ellipsisBox):
119489        * storage/StorageNamespaceImpl.cpp:
119490        (WebCore::StorageNamespaceImpl::storageArea):
119491
1194922010-06-17  Kwang Yul Seo  <skyul@company100.net>
119493
119494        Reviewed by Pavel Feldman.
119495
119496        Add ENABLE(INSPECTOR) guard for m_sessionSettings
119497        https://bugs.webkit.org/show_bug.cgi?id=40611
119498
119499        Build fix.
119500
119501        * inspector/InspectorController.h:
119502
1195032010-06-17  Eric Seidel  <eric@webkit.org>
119504
119505        Reviewed by Adam Barth.
119506
119507        Add FIXME to explain HTMLDocumentParser's forceSynchronous bool
119508        https://bugs.webkit.org/show_bug.cgi?id=40609
119509
119510        No functional change, just adding comment.
119511
119512        * dom/Document.cpp:
119513        (WebCore::Document::write):
119514
1195152010-06-13  Robert Hogan  <robert@webkit.org>
119516
119517        Reviewed by Kenneth Rohde Christiansen.
119518
119519        WebCore EventHandler needs to take account of onLoad events 
119520        fired before layout() complete
119521
119522        https://bugs.webkit.org/show_bug.cgi?id=40102
119523
119524        WebCore 'cheats' by firing onLoad events before the frame's layout
119525        has been performed. This can result in event listeners performing
119526        operations that depend on the document's final layout, such as
119527        scrolling operations.
119528
119529        When scrolling a frameview in eventhandler ensure the layout is complete.
119530
119531        * page/EventHandler.cpp:
119532        (WebCore::EventHandler::scrollRecursively):
119533
1195342010-06-16  Dumitru Daniliuc  <dumi@chromium.org>
119535
119536        Reviewed by Dimitri Glazkov.
119537
119538        Add the error codes defined in the async DB spec to SQLError.idl and SQLError.h.
119539        https://bugs.webkit.org/show_bug.cgi?id=40748
119540
119541        Test: storage/sql-error-codes.html
119542
119543        * storage/SQLError.h:
119544        (WebCore::SQLError::):
119545        * storage/SQLError.idl:
119546        * storage/SQLStatement.cpp:
119547        (WebCore::SQLStatement::execute):
119548        (WebCore::SQLStatement::setDatabaseDeletedError):
119549        (WebCore::SQLStatement::setVersionMismatchedError):
119550        (WebCore::SQLStatement::setFailureDueToQuota):
119551        (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
119552        * storage/SQLTransaction.cpp:
119553        (WebCore::SQLTransaction::openTransactionAndPreflight):
119554        (WebCore::SQLTransaction::deliverTransactionCallback):
119555        (WebCore::SQLTransaction::handleCurrentStatementError):
119556        (WebCore::SQLTransaction::deliverStatementCallback):
119557        (WebCore::SQLTransaction::postflightAndCommit):
119558
1195592010-06-17  Kinuko Yasuda  <kinuko@chromium.org>
119560
119561        Reviewed by Jian Li.
119562
119563        Fix CRLF ending conversion in StringBlobItem.
119564        https://bugs.webkit.org/show_bug.cgi?id=40736
119565        Also: fix referencing uninitialized member bug and slice length bug
119566        in hybrid blob case.
119567
119568        Tests will be added when we add BlobBuilder jsc bindings.
119569
119570        * platform/BlobItem.cpp:
119571        (WebCore::StringBlobItem::convertToCString):
119572        (WebCore::DataRangeBlobItem::DataRangeBlobItem):
119573
1195742010-06-17  Dimitri Glazkov  <dglazkov@chromium.org>
119575
119576        Unreviewed, rolling out r61340.
119577        http://trac.webkit.org/changeset/61340
119578        https://bugs.webkit.org/show_bug.cgi?id=36282
119579
119580        Broke several editing tests.
119581
119582        * css/CSSMutableStyleDeclaration.cpp:
119583        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
119584        * css/CSSParser.cpp:
119585        (WebCore::CSSParser::parseValue):
119586        * css/CSSStyleSelector.cpp:
119587        (WebCore::CSSStyleSelector::applyProperty):
119588
1195892010-06-17  Jian Li  <jianli@chromium.org>
119590
119591        Reviewed by David Levin.
119592
119593        Add optional contentType parameter to Blob.slice per latest File API spec.
119594        https://bugs.webkit.org/show_bug.cgi?id=40647
119595
119596        Tested by http/tests/local/resources/send-sliced-dragged-file.html.
119597
119598        * html/Blob.cpp:
119599        (WebCore::Blob::slice):
119600        * html/Blob.h:
119601        * html/Blob.idl:
119602
1196032010-06-17  Jesus Sanchez-Palencia  <jesus@webkit.org>, Kenneth Rohde Christiansen  <kenneth@webkit.org>
119604
119605        Reviewed by Simon Hausmann.
119606
119607        [Qt] QtWebKit does not support viewport meta tag
119608        https://bugs.webkit.org/show_bug.cgi?id=39902
119609
119610        Add windowRect() to page client.
119611
119612        * platform/qt/QWebPageClient.h:
119613
1196142010-06-17  Stephen White  <senorblanco@chromium.org>
119615
119616        Reviewed by David Levin.
119617
119618        Fix for slow multiple animated resize issue.
119619        https://bugs.webkit.org/show_bug.cgi?id=38233
119620
119621        The timer-based resize quality approach implemented in
119622        http://trac.webkit.org/changeset/34210 is a good idea, but doesn't
119623        scale to multiple images with animated resizes.  This fix unifies all
119624        outstanding resize timers into a single timer, and removes the "use
119625        last quality" check (which doesn't work when images are overlapping). 
119626        It also refactors the copy of this code implemented in
119627        RenderBoxModelObject in http://trac.webkit.org/changeset/53949.
119628
119629        This improves Safari performance for the following IE9 platform demos on my C2D MacPro (10.5):
119630        http://ie.microsoft.com/testdrive/Performance/01FlyingImages/Default.html (4->60fps)
119631        http://ie.microsoft.com/testdrive/Performance/10FlickrExplorer/Default.html (3->16fps)
119632        http://ie.microsoft.com/testdrive/Performance/11BrowserFlip/Default.html (9->60fps)
119633
119634        * rendering/RenderBoxModelObject.cpp:
119635        (WebCore::ImageQualityController::ImageQualityController):
119636        Unify all timers into a single timer, rename RenderBoxModelScaleObserver
119637        to ImageQualityController, and remove the resize quality "stickness",
119638        since it doesn't work with multiple outstanding resizes.
119639        (WebCore::ImageQualityController::objectDestroyed):
119640        gImages global is now m_lastPaintTimeMap member.
119641        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
119642        Function made non-static; repaint all pending resizes (not just one).
119643        (WebCore::ImageQualityController::restartTimer):
119644        Added function to restart timer at 1.05x threshold.
119645        (WebCore::imageQualityController):
119646        Static function to return singleton.
119647        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
119648        Use m_lastPaintTimeMap, not gImages global.  Implement new timer
119649        algorithm.  Remove resize "stickiness".
119650        (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
119651        Implement shouldPaintAtLowQuality, which pulls out "this" and passes
119652        the call to the ImageQualityController.
119653        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
119654        Call ImageQualityController singleton's objectDestroyed() instead of
119655        old static function.
119656        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
119657        Modify shouldPaintAtLowQuality() call to match new class name and
119658        function signature.
119659        * rendering/RenderBoxModelObject.h:
119660        Expose shouldPaintAtLowQuality as a member function.
119661        * rendering/RenderImage.cpp:
119662        (WebCore::RenderImage::~RenderImage):
119663        No need to call objectDestroyed() here anymore, since the
119664        RenderBoxModelObject destructor will do this for us.
119665        (WebCore::RenderImage::paintIntoRect):
119666        Rip out RenderImageScaleObserver, and call
119667        RenderBoxModelObject::shouldPaintAtLowQuality() instead.
119668
1196692010-06-17  Rob Buis  <rwlbuis@gmail.com>
119670
119671        Reviewed by Dave Hyatt.
119672
119673        CSS3 "Property is declared twice in rule" test fails
119674        https://bugs.webkit.org/show_bug.cgi?id=36282
119675
119676        Filter out duplicate properties in style declaration.
119677
119678        Test: fast/css/duplicate-property-in-rule.html
119679
119680        * css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties
119681        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
119682        * css/CSSParser.cpp:
119683        (WebCore::CSSParser::parseValue): Discard negative padding values
119684        * css/CSSStyleSelector.cpp: Remove negative padding check
119685        (WebCore::CSSStyleSelector::applyProperty):
119686
1196872010-06-17  Kenneth Russell  <kbr@google.com>
119688
119689        Reviewed by Dimitri Glazkov.
119690
119691        Clean up error conditions for Typed Arrays
119692        https://bugs.webkit.org/show_bug.cgi?id=40755
119693
119694        * bindings/js/JSArrayBufferCustom.cpp:
119695        (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
119696         - Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths.
119697        * bindings/js/JSArrayBufferViewHelper.h:
119698        (WebCore::constructArrayBufferView):
119699         - Changed all error code paths to throw exceptions. Clarified exception types.
119700        * bindings/js/JSFloat32ArrayCustom.cpp:
119701        (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
119702         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119703        * bindings/js/JSInt16ArrayCustom.cpp:
119704        (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
119705         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119706        * bindings/js/JSInt32ArrayCustom.cpp:
119707        (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
119708         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119709        * bindings/js/JSInt8ArrayCustom.cpp:
119710        (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
119711         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119712        * bindings/js/JSUint16ArrayCustom.cpp:
119713        (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
119714         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119715        * bindings/js/JSUint32ArrayCustom.cpp:
119716        (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
119717         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119718        * bindings/js/JSUint8ArrayCustom.cpp:
119719        (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
119720         - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
119721        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
119722        (WebCore::V8ArrayBuffer::constructorCallback):
119723         - Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths.
119724           Clarified exception types.
119725        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
119726        (WebCore::constructWebGLArray):
119727         - Clarified exception types and throwing of exceptions along all error code paths.
119728        * html/canvas/TypedArrayBase.h:
119729        (WebCore::TypedArrayBase::create):
119730         - Added necessary null checks during allocation.
119731
1197322010-06-17  Shu Chang  <chang.shu@nokia.com>
119733
119734        Reviewed by Kenneth Rohde Christiansen.
119735
119736        [Qt] Fix the link error on symbian with ENABLE_JIT=0.
119737        1. Add "#if ENABLE(JIT)" in the header file;
119738        2. Put feature enable/disable logic to a common.pri so
119739        that both JavaScriptCore.pri and WebCore.pri can share.
119740
119741        https://bugs.webkit.org/show_bug.cgi?id=40780
119742
119743        * WebCore.pri:
119744
1197452010-06-17  Kenneth Russell  <kbr@google.com>
119746
119747        Reviewed by Oliver Hunt.
119748
119749        Differences in error reporting for overloaded methods causing fast/canvas/webgl/texImageTest.html to fail
119750        https://bugs.webkit.org/show_bug.cgi?id=40750
119751
119752        Added V8Proxy::throwTypeError() and throwSyntaxError for parity
119753        with JSC::throwTypeError() and throwSyntaxError. Changed
119754        CodeGeneratorV8.pm to use throwTypeError for overload resolution
119755        failures. Revised CodeGeneratorJS.pm to use throwVMTypeError
119756        instead of manual call to JSValue::encode. Deleted now-unnecessary
119757        Chromium expectations for fast/canvas/webgl/texImageTest.html.
119758
119759        * bindings/scripts/CodeGeneratorJS.pm:
119760        * bindings/scripts/CodeGeneratorV8.pm:
119761        * bindings/v8/V8Proxy.cpp:
119762        (WebCore::V8Proxy::throwTypeError):
119763        (WebCore::V8Proxy::throwSyntaxError):
119764        * bindings/v8/V8Proxy.h:
119765
1197662010-06-17  Darin Fisher  <darin@chromium.org>
119767
119768        Reviewed by Brady Eidson.
119769
119770        If Page::goToItem is passed a HistoryItem that is the current item,
119771        then the page should be loaded again.
119772
119773        https://bugs.webkit.org/show_bug.cgi?id=40660
119774
119775        * loader/HistoryController.cpp:
119776        (WebCore::HistoryController::recursiveGoToItem): Add a check to
119777        recursiveGoToItem that matches the one in FrameLoader::loadItem.
119778
1197792010-06-17  Kwang Yul Seo  <skyul@company100.net>
119780
119781        Reviewed by Kent Tamura.
119782
119783        [BREWMP] Build fix for DragDataBrew
119784        https://bugs.webkit.org/show_bug.cgi?id=40610
119785
119786        http://trac.webkit.org/changeset/60957 was not applied to DragDataBrew.cpp.
119787        Add FilenameConversionPolicy argument to DragData::containsURL and DragData::asURL.
119788
119789        * platform/brew/DragDataBrew.cpp:
119790        (WebCore::DragData::containsURL):
119791        (WebCore::DragData::asURL):
119792
1197932010-06-17  Zhenyao Mo  <zmo@google.com>
119794
119795        Reviewed by David Levin.
119796
119797        Rename internalformat to internalFormat
119798        https://bugs.webkit.org/show_bug.cgi?id=40149
119799
119800        * html/canvas/WebGLFramebuffer.cpp: Rename internalformat to internalFormat.
119801        (WebCore::WebGLFramebuffer::getColorBufferFormat):
119802        * html/canvas/WebGLRenderbuffer.cpp: Ditto.
119803        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
119804        * html/canvas/WebGLRenderbuffer.h: Ditto.
119805        (WebCore::WebGLRenderbuffer::setInternalFormat):
119806        (WebCore::WebGLRenderbuffer::getInternalFormat):
119807        * html/canvas/WebGLRenderingContext.cpp: Ditto.
119808        (WebCore::WebGLRenderingContext::copyTexImage2D):
119809        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
119810        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
119811        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
119812        (WebCore::WebGLRenderingContext::renderbufferStorage):
119813        (WebCore::WebGLRenderingContext::texImage2DBase):
119814        (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
119815        * html/canvas/WebGLRenderingContext.h: Ditto.
119816        * html/canvas/WebGLTexture.cpp: Ditto.
119817        (WebCore::WebGLTexture::WebGLTexture):
119818        * html/canvas/WebGLTexture.h: Ditto.
119819        (WebCore::WebGLTexture::setInternalFormat):
119820        (WebCore::WebGLTexture::getInternalFormat):
119821
1198222010-06-17  Zhenyao Mo  <zmo@google.com>
119823
119824        Reviewed by David Levin.
119825
119826        Remove input parameter validation for "level" upper limit in *tex* functions
119827        https://bugs.webkit.org/show_bug.cgi?id=40603
119828
119829        * html/canvas/WebGLRenderingContext.cpp:
119830        (WebCore::WebGLRenderingContext::validateTexFuncParameters): Don't check for "level" upper limit.
119831
1198322010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
119833
119834        Reviewed by Eric Seidel.
119835
119836        Clean EFL header files in order to diminish the compilation time with
119837        EFL from subversion. We remove the EFL includes from header files and use
119838        forward declarations, including the headers in correspondent source
119839        files when needed. This causes only the needed source files to be
119840        recompiled in case a new version of EFL is installed instead of
119841        triggering a recompilation of almost all WebCore/WebKit.
119842        https://bugs.webkit.org/show_bug.cgi?id=40575
119843
119844        No new functionalities, so no new tests.
119845
119846        * CMakeListsEfl.txt:
119847        * platform/PlatformKeyboardEvent.h: forward declaration.
119848        * platform/PlatformMouseEvent.h: forward declaration and change method
119849        signature to not require enum.
119850        * platform/PlatformWheelEvent.h: forward declaration.
119851        * platform/Widget.h: forward declaration.
119852        * platform/efl/PlatformKeyboardEventEfl.cpp: include needed header.
119853        * platform/efl/PlatformMouseEventEfl.cpp:
119854        (WebCore::PlatformMouseEvent::setClickCount): change method signature
119855        as mentioned above.
119856        * platform/efl/PlatformWheelEventEfl.cpp: include needed header.
119857        * platform/efl/RenderThemeEfl.cpp: include needed header
119858        * platform/efl/RenderThemeEfl.h: forward declaration.
119859        * platform/efl/ScrollbarEfl.cpp: include needed header.
119860        * platform/efl/ScrollbarEfl.h: forward declaration.
119861        * platform/efl/WidgetEfl.cpp: include needed header.
119862        * platform/graphics/FloatRect.h: remove unused method.
119863        * platform/graphics/Icon.h: forward declaration.
119864        * platform/graphics/IntRect.h: remove unused method.
119865        * platform/graphics/efl/FloatRectEfl.cpp: Removed. This file was
119866        implementing an unused method.
119867        * platform/graphics/efl/IntRectEfl.cpp: Removed. This file was
119868        implementing an unused method.
119869
1198702010-06-17  Alex Milowski  <alex@milowski.com>
119871
119872        Reviewed by Darin Adler.
119873
119874        Fixed a compile error in the paint() methods by making them use the
119875        new visitedDependentColor() method.
119876        https://bugs.webkit.org/show_bug.cgi?id=40327
119877
119878        * mathml/RenderMathMLRoot.cpp:
119879        (WebCore::RenderMathMLRoot::paint):
119880        (WebCore::RenderMathMLRoot::layout): Fixed a crash where every child 
119881        was assumed to be a RenderMathMLBlock instance when that isn't the 
119882        case.  Also, layout() needed to mark the index for layout before 
119883        calling layout() on the index.
119884        * mathml/RenderMathMLSquareRoot.cpp:
119885        (WebCore::RenderMathMLSquareRoot::paint):
119886
1198872010-06-17  Darin Adler  <darin@apple.com>
119888
119889        Reviewed by Sam Weinig.
119890
119891        Use adoptRef and create functions in more code paths
119892        https://bugs.webkit.org/show_bug.cgi?id=40760
119893
119894        This helps prepare for an assertion that fires if you ref or destroy an
119895        object before calling adoptRef on it. That will help us catch mistakes
119896        that can lead to storage leaks.
119897
119898        * WebCore.base.exp: Updated export now that Frame::create is not an
119899        inline function.
119900
119901        * css/CSSInitialValue.h:
119902        (WebCore::CSSInitialValue::createExplicit): Use create.
119903        (WebCore::CSSInitialValue::createImplicit): Ditto.
119904        (WebCore::CSSInitialValue::create): Added.
119905
119906        * css/CSSPrimitiveValue.cpp:
119907        (WebCore::CSSPrimitiveValue::createUncachedIdentifier): Added.
119908        (WebCore::CSSPrimitiveValue::createUncachedColor): Added.
119909        (WebCore::CSSPrimitiveValue::createUncached): Added.
119910        (WebCore::CSSPrimitiveValue::createIdentifier): Use createUncachedIdentifier
119911        instead of using new directly.
119912        (WebCore::CSSPrimitiveValue::createColor): Use createUncachedColor instead
119913        of using new directly.
119914        (WebCore::CSSPrimitiveValue::create): Use createdUncached instead of using
119915        new directly.
119916        * css/CSSPrimitiveValue.h: Declare the new functions above.
119917
119918        * css/CSSStyleSelector.cpp:
119919        (WebCore::loadFullDefaultStyle): Deref simpleDefaultStyleSheet instead of
119920        explicitly deleting it.
119921
119922        * loader/SubresourceLoader.cpp:
119923        (WebCore::SubresourceLoader::SubresourceLoader): Move the call to
119924        addSubresourceLoader out of here.
119925        (WebCore::SubresourceLoader::create): Move it in here. This makes it so
119926        we don't ref the loader before finishing its creation and calling adoptRef.
119927
119928        * page/Frame.cpp:
119929        (WebCore::Frame::Frame): Move the call to setMainFrame out of here.
119930        Also refactor the code so an assertion is easier to read.
119931        (WebCore::Frame::create): Move the call to setMainFrame in here.
119932        This makes it so we don't ref the frame before finishing its creation
119933        and calling adoptRef.
119934        * page/Frame.h: Made the create function non-inline.
119935
119936        * platform/text/BidiContext.cpp:
119937        (WebCore::BidiContext::createUncached): Added.
119938        (WebCore::BidiContext::create): Call createUncached instead of callling
119939        new directly.
119940        * platform/text/BidiContext.h: Declare createUncached.
119941
119942        * rendering/RenderSVGResourceFilter.cpp:
119943        (WebCore::RenderSVGResourceFilter::buildPrimitives): Use PassRefPtr and
119944        RefPtr instead of OwnPtr. And use the create function instead of new.
119945        * rendering/RenderSVGResourceFilter.h: Ditto.
119946        * rendering/SVGRenderTreeAsText.cpp:
119947        (WebCore::writeSVGResourceContainer): Ditto.
119948
119949        * storage/StorageAreaImpl.cpp:
119950        (WebCore::StorageAreaImpl::StorageAreaImpl): Move the code that calls
119951        StorageAreaSync::create out of here.
119952        (WebCore::StorageAreaImpl::create): Move it in here. This makes it so we
119953        don't ref the storage area before finishing its creation and calling adoptRef.
119954
119955        * svg/SVGPaint.cpp:
119956        (WebCore::SVGPaint::defaultFill): Use create instead of new.
119957        (WebCore::SVGPaint::defaultStroke): Ditto.
119958
119959        * svg/graphics/filters/SVGFilterBuilder.h: Made the constructor private
119960        and added a create function since this is a reference counted object and
119961        should not be constructed directly.
119962
1199632010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
119964
119965        Reviewed by Gustavo Noronha.
119966
119967        Update CMake build system to use new script for generating source files
119968        with gperf (r61091).
119969        This updates also the build system to cope with recent changes to
119970        source files list.
119971        https://bugs.webkit.org/show_bug.cgi?id=40628
119972
119973        No new tests since it's just compilation fixes.
119974
119975        * CMakeLists.txt:
119976
1199772010-06-17  Darin Adler  <darin@apple.com>
119978
119979        Reviewed by Sam Weinig.
119980
119981        Fix boolean reflected attributes to use empty string consistently for the content attribute value
119982        https://bugs.webkit.org/show_bug.cgi?id=40758
119983
119984        Test: fast/dom/boolean-attribute-reflection.html
119985
119986        The HTML5 specification and other browsers are all consistent:
119987        When setting a boolean IDL attribute to true, the attribute value
119988        gets set to the empty string. The guidelines for authors allow either
119989        the empty string or the name of the attribute, but for implementers
119990        of the DOM, the reflected attribute gets empty string.
119991
119992        * dom/Element.cpp:
119993        (WebCore::Element::setBooleanAttribute): Use emptyAtom to set the
119994        attribute to the empty string.
119995
119996        * html/HTMLFormControlElement.cpp:
119997        (WebCore::HTMLFormControlElement::setAutofocus): Use the empty string,
119998        not "autofocus".
119999        (WebCore::HTMLFormControlElement::setRequired): Use the empty string,
120000        not "required".
120001
1200022010-06-17  Pavel Feldman  <pfeldman@chromium.org>
120003
120004        Unreviewed: chromium tests fix. Added InspectorBackend delegates for new inspector methods.
120005
120006        * inspector/front-end/InspectorBackendStub.js:
120007        (.WebInspector.InspectorBackendStub.prototype.clearConsoleMessages):
120008        (.WebInspector.InspectorBackendStub.prototype.getOuterHTML):
120009        (.WebInspector.InspectorBackendStub.prototype.setOuterHTML):
120010        (.WebInspector.InspectorBackendStub.prototype.addInspectedNode):
120011
1200122010-06-17  Mark Brand  <mabrand@mabrand.nl>
120013
120014        Reviewed by Simon Hausmann.
120015
120016        [Qt] use "win32-g++*" scope to match all MinGW makespecs
120017
120018        The scope "win32-g++" comes from the name of the makespec. However, it
120019        is frequently used to check for MinGW. This works fine as long as
120020        win32-g++ is the only makespec for MinGW. Now we need the wildcard
120021        to cover "win32-g++-cross" as well.
120022
120023        * WebCore.pro:
120024
1200252010-06-16  Pavel Feldman  <pfeldman@chromium.org>
120026
120027        Reviewed by Joe Pecoraro.
120028
120029        Web Inspector: move get/setOuterHTML, addInspectedNode and
120030        clearConsole to native InspectorDOMAgent. This is done to allow
120031        inspected nodes array to store nodes from different domains,
120032        also moves outerhtml manipulation closer to the rest of the DOM
120033        operations. In addition to that, we are slowly getting rid of
120034        InjectedScriptAccess in favor of IDL-defined InspectorBackend
120035        interface for clearer remote debugging API.
120036
120037        https://bugs.webkit.org/show_bug.cgi?id=40733
120038
120039        * inspector/InjectedScriptHost.cpp:
120040        (WebCore::InjectedScriptHost::inspectedNode):
120041        * inspector/InjectedScriptHost.h:
120042        * inspector/InspectorBackend.cpp:
120043        (WebCore::InspectorBackend::changeTagName):
120044        (WebCore::InspectorBackend::getOuterHTML):
120045        (WebCore::InspectorBackend::setOuterHTML):
120046        (WebCore::InspectorBackend::addInspectedNode):
120047        (WebCore::InspectorBackend::clearConsoleMessages):
120048        * inspector/InspectorBackend.h:
120049        * inspector/InspectorBackend.idl:
120050        * inspector/InspectorDOMAgent.cpp:
120051        (WebCore::InspectorDOMAgent::inspectedNode):
120052        (WebCore::InspectorDOMAgent::changeTagName):
120053        (WebCore::InspectorDOMAgent::getOuterHTML):
120054        (WebCore::InspectorDOMAgent::setOuterHTML):
120055        (WebCore::InspectorDOMAgent::addInspectedNode):
120056        * inspector/InspectorDOMAgent.h:
120057        * inspector/InspectorFrontend.cpp:
120058        (WebCore::InspectorFrontend::didGetOuterHTML):
120059        (WebCore::InspectorFrontend::didSetOuterHTML):
120060        * inspector/InspectorFrontend.h:
120061        * inspector/front-end/ConsoleView.js:
120062        (WebInspector.ConsoleView.prototype.requestClearMessages):
120063        * inspector/front-end/DOMAgent.js:
120064        * inspector/front-end/ElementsPanel.js:
120065        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
120066        (WebInspector.ElementsPanel):
120067        * inspector/front-end/ElementsTreeOutline.js:
120068        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
120069        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
120070        ():
120071        * inspector/front-end/InjectedScript.js:
120072        (injectedScriptConstructor):
120073        * inspector/front-end/InjectedScriptAccess.js:
120074
1200752010-06-17  John Gregg  <johnnyg@google.com>
120076
120077        Reviewed by David Levin.
120078
120079        Move the call to the notification presenter that a Notification is being
120080        destroyed from the destructor (not safe) to the ActiveDOMObject::contextDestroyed
120081        method.
120082
120083        Also fix up an incorrect reference loss in the V8 bindings code for Notifications.
120084        https://bugs.webkit.org/show_bug.cgi?id=40097
120085
120086        No new tests; code paths are well-covered by existing tests.
120087
120088        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
120089        (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
120090        (WebCore::V8NotificationCenter::createNotificationCallback):
120091        * notifications/Notification.cpp:
120092        (WebCore::Notification::~Notification):
120093        (WebCore::Notification::contextDestroyed):
120094        * notifications/Notification.h:
120095
1200962010-06-17  Csaba Osztrogonác  <ossy@webkit.org>
120097
120098        Unreviewed rollout r61311, because it made 2 tests fail on Qt bot.
120099
120100        [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
120101        https://bugs.webkit.org/show_bug.cgi?id=36702
120102
120103        * plugins/qt/PluginViewQt.cpp:
120104        (WebCore::PluginView::updatePluginWidget):
120105
1201062010-05-28  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
120107
120108        Reviewed by Simon Hausmann, Antti Koivisto
120109
120110        Make repaint throttling parameters runtime configurable.
120111        https://bugs.webkit.org/show_bug.cgi?id=38401
120112
120113        REPAINT_THROTTLING now chooses default values for throttling parameters.
120114        Should be removed when applications start using runtime configuration.
120115
120116        * page/FrameView.cpp:
120117        (WebCore::FrameView::reset):
120118        (WebCore::FrameView::updateDeferredRepaintDelay):
120119        (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay):
120120        (WebCore::FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading):
120121        (WebCore::FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading):
120122        (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading):
120123        * page/FrameView.h:
120124
1201252010-06-17  Robert Hogan  <robert@webkit.org>
120126
120127        Reviewed by Kenneth Rohde Christiansen.
120128
120129        [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
120130
120131        https://bugs.webkit.org/show_bug.cgi?id=36702
120132
120133        setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't
120134        work for DRT. So call it if we are in DRT mode and the window geometry
120135        has changed.
120136
120137        Unskips plugins/reentrant-update-widget-positions.html
120138
120139        * plugins/qt/PluginViewQt.cpp:
120140        (WebCore::PluginView::updatePluginWidget):
120141
1201422010-06-17  Simon Hausmann  <simon.hausmann@nokia.com>
120143
120144        Reviewed by Kenneth Christiansen.
120145
120146        [Qt] Avoid unnecessary calls to save() and restore() when drawing images
120147
120148        Avoid calling the expensive save() and restore() on the GraphicsContext just
120149        for changing the composition mode. Instead save and restore it manually
120150        on QPainter.
120151
120152        Change fac227f609e544f8f55aca8447b4328d6534407a in Qt makes sure that the
120153        call to QPainter::setCompositionMode doesn't do anything if the mode hasn't
120154        changed.
120155
120156        * platform/graphics/GraphicsContext.h:
120157        * platform/graphics/qt/GraphicsContextQt.cpp:
120158        (WebCore::GraphicsContext::toQtCompositionMode):
120159        * platform/graphics/qt/ImageQt.cpp:
120160        (WebCore::BitmapImage::draw):
120161
1201622010-06-16  Dawit Alemayehu  <adawit@kde.org>
120163
120164        Reviewed by Simon Hausmann.
120165
120166        [Qt] QtWebKit crashes while initializing flash plugin 10.1.53.64.
120167        https://bugs.webkit.org/show_bug.cgi?id=40567
120168
120169        Avoid preventable crashes by ensuring gtk_init() is called in the
120170        flash viewer plugins before calling NP_Initialize.
120171
120172        * plugins/qt/PluginPackageQt.cpp:
120173        (WebCore::PluginPackage::load):
120174
1201752010-06-16  Tony Gentilcore  <tonyg@chromium.org>
120176
120177        Reviewed by David Levin.
120178
120179        Guarantee that references are held for CachedScripts in HTMLDocumentParser.
120180        https://bugs.webkit.org/show_bug.cgi?id=40177
120181
120182        No new tests because no new functionality.
120183
120184        * html/HTMLDocumentParser.cpp:
120185        (WebCore::HTMLDocumentParser::reset):
120186        (WebCore::HTMLDocumentParser::executeExternalScriptsIfReady):
120187
1201882010-06-16  Qi Zhang  <qi.2.zhang@nokia.com>
120189
120190        Reviewed by Laszlo Gombos.
120191
120192         [Qt] Repeat pattern should start from origin
120193         https://bugs.webkit.org/show_bug.cgi?id=39225
120194
120195         Patterns must be painted so that the top left of the first image 
120196         is anchored at the origin of the coordinate space.
120197
120198        * platform/graphics/qt/GraphicsContextQt.cpp:
120199        (WebCore::drawRepeatPattern):
120200        (WebCore::GraphicsContext::fillRect):
120201
1202022010-06-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
120203
120204        Reviewed by Simon Hausmann.
120205
120206        [Qt] WebGL viewport does not show up on N900  
120207        https://bugs.webkit.org/show_bug.cgi?id=38528
120208
120209        With OGLES2 add default precision to the shader code.
120210        Use GLsizeiptr and GLintptr with OGLES2.
120211        Call paint() in beginPaint() so that drawTexture() is used 
120212        whenever possible.
120213
120214        * platform/graphics/qt/GraphicsContext3DQt.cpp:
120215        (WebCore::GraphicsContext3D::beginPaint):
120216        (WebCore::GraphicsContext3D::paint):
120217        (WebCore::GraphicsContext3D::shaderSource):
120218
1202192010-06-16  Antonio Gomes  <tonikitoo@webkit.org>
120220
120221        Reviewed by Simon Fraser.
120222
120223        Spatial Navigation: refactor scrollInDirection to work with scrollable content
120224        https://bugs.webkit.org/show_bug.cgi?id=39195
120225
120226        scrollInDirection now receives as parameter the node that the Spatial Navigation
120227        found as the more appropriated to move focus to. If it is in a scrollable container
120228        (e.g. <div> with clipped overflow content), it scrolls recursively starting from
120229        the container, not the current focused node.
120230
120231        Test: fast/events/spatial-navigation/snav-only-clipped-overflow-content.html
120232
120233        * page/FocusController.cpp:
120234        (WebCore::FocusController::advanceFocusDirectionally):
120235        * page/SpatialNavigation.cpp:
120236        (WebCore::scrollInDirection):
120237        * page/SpatialNavigation.h:
120238
1202392010-06-16  Brady Eidson  <beidson@apple.com>
120240
120241        Reviewed by Eric Carlson
120242
120243        <rdar://problem/7249553> and https://bugs.webkit.org/show_bug.cgi?id=40749
120244        ResourceLoader::willCacheResponse() needs to null-check Frame::Settings()
120245
120246        No new tests. (Discovered via crash reports, no reproducible cases noted)
120247
120248        * loader/ResourceLoader.cpp:
120249        (WebCore::ResourceLoader::willCacheResponse):  Null check m_frame->settings(), 
120250          but also add an ASSERT so debug-build developers can learn more about why
120251          this might be happening.
120252
1202532010-06-16  Darin Adler  <darin@apple.com>
120254
120255        Try to fix the MathML build.
120256
120257        * mathml/MathMLMathElement.h: Added missing return type.
120258
1202592010-06-16  Darin Adler  <darin@apple.com>
120260
120261        Reviewed by David Levin.
120262
120263        Deploy adoptRef in more places, including all HTML and MathML elements
120264        https://bugs.webkit.org/show_bug.cgi?id=39941
120265
120266        * dom/Element.cpp:
120267        (WebCore::Element::dispatchAttrRemovalEvent): Use create instead of new
120268        in commented-out code.
120269        (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
120270
120271        * dom/Node.h: Removed now-unused CreateElementZeroRefCount and
120272        CreateHTMLElementZeroRefCount.
120273
120274        * editing/InsertListCommand.cpp:
120275        (WebCore::InsertListCommand::insertList): Use create instead of new, fixing
120276        a storage leak.
120277
120278        * editing/ModifySelectionListLevel.cpp:
120279        (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
120280        Removed "WithType" from function name. Use create instead of new, fixing a
120281        storage leak.
120282        (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Use
120283        create instead of new, fixing a storage leak.
120284
120285        * storage/IndexedDatabaseImpl.cpp:
120286        (WebCore::IndexedDatabaseImpl::create): Use adoptRef, fixing a storage leak.
120287
120288        * editing/ModifySelectionListLevel.h: Added create functions.
120289
120290        * html/HTMLAnchorElement.cpp:
120291        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
120292        * html/HTMLFrameOwnerElement.cpp:
120293        (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
120294        * html/HTMLMeterElement.cpp:
120295        (WebCore::HTMLMeterElement::HTMLMeterElement):
120296        * html/HTMLProgressElement.cpp:
120297        (WebCore::HTMLProgressElement::HTMLProgressElement):
120298        Removed code to explicitly pass CreateHTMLElement construction type since that's
120299        now the type used for all HTML elements.
120300
120301        * html/HTMLFormControlElement.cpp:
120302        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
120303        * html/HTMLFormControlElement.h:
120304        Removed construction type argument, since CreateHTMLElement is now the type used
120305        for all HTML elements.
120306
120307        * mathml/MathMLElement.cpp:
120308        (WebCore::MathMLElement::MathMLElement): Removed construction type of
120309        CreateStyledElementZeroRefCount so we'll use the default construction
120310        type, CreateStyledElement.
120311        (WebCore::MathMLElement::create): Use adoptRef.
120312
120313        * mathml/MathMLElement.h: Made isMathMLElement function private and
120314        removed unneeded override of createRenderer, because it did the
120315        same thing as the base class's createRenderer function.
120316
120317        * mathml/MathMLInlineContainerElement.cpp:
120318        (WebCore::MathMLInlineContainerElement::create): Use adoptRef.
120319        (WebCore::MathMLInlineContainerElement::createRenderer):
120320        Removed unnecessarily initialization of local variable and removed the
120321        case for mathTag, since that uses a different derived class.
120322
120323        * mathml/MathMLInlineContainerElement.h: Made createRenderrer override
120324        private.
120325
120326        * mathml/MathMLMathElement.cpp:
120327        (WebCore::MathMLMathElement::MathMLMathElement): Marked inline since
120328        it is called in only one place.
120329        (WebCore::MathMLMathElement::create): Use adoptRef.
120330        (WebCore::MathMLMathElement::createRenderer): Added. Creates a
120331        RenderMathMLMath object.
120332
120333        * mathml/MathMLMathElement.h: Made constructor private and added a
120334        private override of createRenderer.
120335
120336        * mathml/MathMLTextElement.cpp:
120337        (WebCore::MathMLTextElement::MathMLTextElement): Marked inline since
120338        it is called in only one place.
120339        (WebCore::MathMLTextElement::create): Use adoptRef.
120340        (WebCore::MathMLTextElement::createRenderer): Changed to call through
120341        to the base class instead of calling RenderObject::createObject directly.
120342
120343        * mathml/MathMLTextElement.h: Made the constructor and createRenderer
120344        function private.
120345
120346        * rendering/RenderFileUploadControl.cpp:
120347        (WebCore::RenderFileUploadControl::RenderFileUploadControl):
120348        Removed an unneeded initializer.
120349
120350        * rendering/RenderProgress.cpp: Tweaked includes.
120351
120352        * rendering/ShadowElement.cpp: Added a "using namespace" directive.
120353        * rendering/ShadowElement.h: Tweaked formatting. Made more functions
120354        private.
120355
120356        * editing/DeleteButton.cpp:
120357        (WebCore::DeleteButton::create):
120358        * html/HTMLAudioElement.cpp:
120359        (WebCore::HTMLAudioElement::create):
120360        (WebCore::HTMLAudioElement::createForJSConstructor):
120361        * html/HTMLBRElement.cpp:
120362        (WebCore::HTMLBRElement::create):
120363        * html/HTMLBaseElement.cpp:
120364        (WebCore::HTMLBaseElement::create):
120365        * html/HTMLBaseFontElement.cpp:
120366        (WebCore::HTMLBaseFontElement::create):
120367        * html/HTMLBlockquoteElement.cpp:
120368        (WebCore::HTMLBlockquoteElement::create):
120369        * html/HTMLBodyElement.cpp:
120370        (WebCore::HTMLBodyElement::create):
120371        * html/HTMLButtonElement.cpp:
120372        (WebCore::HTMLButtonElement::create):
120373        * html/HTMLCanvasElement.cpp:
120374        (WebCore::HTMLCanvasElement::create):
120375        * html/HTMLDListElement.cpp:
120376        (WebCore::HTMLDListElement::create):
120377        * html/HTMLDataGridCellElement.cpp:
120378        (WebCore::HTMLDataGridCellElement::create):
120379        * html/HTMLDataGridColElement.cpp:
120380        (WebCore::HTMLDataGridColElement::create):
120381        * html/HTMLDataGridElement.cpp:
120382        (WebCore::HTMLDataGridElement::create):
120383        * html/HTMLDataGridRowElement.cpp:
120384        (WebCore::HTMLDataGridRowElement::create):
120385        * html/HTMLDataListElement.cpp:
120386        (WebCore::HTMLDataListElement::create):
120387        * html/HTMLDivElement.cpp:
120388        (WebCore::HTMLDivElement::create):
120389        * html/HTMLElement.cpp:
120390        (WebCore::HTMLElement::create):
120391        * html/HTMLElement.h:
120392        (WebCore::HTMLElement::HTMLElement):
120393        * html/HTMLFieldSetElement.cpp:
120394        (WebCore::HTMLFieldSetElement::create):
120395        * html/HTMLFontElement.cpp:
120396        (WebCore::HTMLFontElement::create):
120397        * html/HTMLFormElement.cpp:
120398        (WebCore::HTMLFormElement::create):
120399        * html/HTMLFrameSetElement.cpp:
120400        (WebCore::HTMLFrameSetElement::create):
120401        * html/HTMLHRElement.cpp:
120402        (WebCore::HTMLHRElement::create):
120403        * html/HTMLHeadElement.cpp:
120404        (WebCore::HTMLHeadElement::create):
120405        * html/HTMLHeadingElement.cpp:
120406        (WebCore::HTMLHeadingElement::create):
120407        * html/HTMLHtmlElement.cpp:
120408        (WebCore::HTMLHtmlElement::create):
120409        * html/HTMLImageElement.cpp:
120410        (WebCore::HTMLImageElement::create):
120411        (WebCore::HTMLImageElement::createForJSConstructor):
120412        * html/HTMLInputElement.cpp:
120413        (WebCore::HTMLInputElement::create):
120414        * html/HTMLIsIndexElement.cpp:
120415        (WebCore::HTMLIsIndexElement::create):
120416        * html/HTMLKeygenElement.cpp:
120417        (WebCore::HTMLKeygenElement::create):
120418        * html/HTMLLIElement.cpp:
120419        (WebCore::HTMLLIElement::create):
120420        * html/HTMLLabelElement.cpp:
120421        (WebCore::HTMLLabelElement::create):
120422        * html/HTMLLegendElement.cpp:
120423        (WebCore::HTMLLegendElement::create):
120424        * html/HTMLLinkElement.cpp:
120425        (WebCore::HTMLLinkElement::create):
120426        * html/HTMLMapElement.cpp:
120427        (WebCore::HTMLMapElement::create):
120428        * html/HTMLMarqueeElement.cpp:
120429        (WebCore::HTMLMarqueeElement::create):
120430        * html/HTMLMenuElement.cpp:
120431        (WebCore::HTMLMenuElement::create):
120432        * html/HTMLMetaElement.cpp:
120433        (WebCore::HTMLMetaElement::create):
120434        * html/HTMLModElement.cpp:
120435        (WebCore::HTMLModElement::create):
120436        * html/HTMLNoScriptElement.cpp:
120437        (WebCore::HTMLNoScriptElement::create):
120438        * html/HTMLOListElement.cpp:
120439        (WebCore::HTMLOListElement::create):
120440        * html/HTMLOptGroupElement.cpp:
120441        (WebCore::HTMLOptGroupElement::create):
120442        * html/HTMLOptionElement.cpp:
120443        (WebCore::HTMLOptionElement::create):
120444        (WebCore::HTMLOptionElement::createForJSConstructor):
120445        * html/HTMLParagraphElement.cpp:
120446        (WebCore::HTMLParagraphElement::create):
120447        * html/HTMLParamElement.cpp:
120448        (WebCore::HTMLParamElement::create):
120449        * html/HTMLPreElement.cpp:
120450        (WebCore::HTMLPreElement::create):
120451        * html/HTMLQuoteElement.cpp:
120452        (WebCore::HTMLQuoteElement::create):
120453        * html/HTMLScriptElement.cpp:
120454        (WebCore::HTMLScriptElement::create):
120455        * html/HTMLSelectElement.cpp:
120456        (WebCore::HTMLSelectElement::create):
120457        * html/HTMLSourceElement.cpp:
120458        (WebCore::HTMLSourceElement::create):
120459        * html/HTMLStyleElement.cpp:
120460        (WebCore::HTMLStyleElement::create):
120461        * html/HTMLTableCaptionElement.cpp:
120462        (WebCore::HTMLTableCaptionElement::create):
120463        * html/HTMLTableCellElement.cpp:
120464        (WebCore::HTMLTableCellElement::create):
120465        * html/HTMLTableColElement.cpp:
120466        (WebCore::HTMLTableColElement::create):
120467        * html/HTMLTableElement.cpp:
120468        (WebCore::HTMLTableElement::create):
120469        * html/HTMLTableRowElement.cpp:
120470        (WebCore::HTMLTableRowElement::create):
120471        * html/HTMLTableSectionElement.cpp:
120472        (WebCore::HTMLTableSectionElement::create):
120473        * html/HTMLTextAreaElement.cpp:
120474        (WebCore::HTMLTextAreaElement::create):
120475        * html/HTMLTitleElement.cpp:
120476        (WebCore::HTMLTitleElement::create):
120477        * html/HTMLUListElement.cpp:
120478        (WebCore::HTMLUListElement::create):
120479        * html/HTMLVideoElement.cpp:
120480        (WebCore::HTMLVideoElement::create):
120481        * loader/ImageDocument.cpp:
120482        (WebCore::ImageDocumentElement::create):
120483        * rendering/MediaControlElements.cpp:
120484        (WebCore::MediaControlShadowRootElement::create):
120485        (WebCore::MediaControlElement::create):
120486        (WebCore::MediaControlTimelineContainerElement::create):
120487        (WebCore::MediaControlVolumeSliderContainerElement::create):
120488        (WebCore::MediaControlStatusDisplayElement::create):
120489        (WebCore::MediaControlMuteButtonElement::create):
120490        (WebCore::MediaControlPlayButtonElement::create):
120491        (WebCore::MediaControlSeekButtonElement::create):
120492        (WebCore::MediaControlRewindButtonElement::create):
120493        (WebCore::MediaControlReturnToRealtimeButtonElement::create):
120494        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
120495        (WebCore::MediaControlTimelineElement::create):
120496        (WebCore::MediaControlVolumeSliderElement::create):
120497        (WebCore::MediaControlFullscreenButtonElement::create):
120498        (WebCore::MediaControlTimeDisplayElement::create):
120499        * rendering/RenderSlider.cpp:
120500        (WebCore::SliderThumbElement::create):
120501        * rendering/TextControlInnerElements.cpp:
120502        (WebCore::TextControlInnerElement::create):
120503        (WebCore::TextControlInnerTextElement::create):
120504        (WebCore::SearchFieldResultsButtonElement::create):
120505        (WebCore::SearchFieldCancelButtonElement::create):
120506        (WebCore::SpinButtonElement::create):
120507        Use adoptRef.
120508
1205092010-06-16  Adam Barth  <abarth@webkit.org>
120510
120511        Reviewed by Eric Seidel.
120512
120513        HTML5 parser crash when setTimeout document.write after slow script
120514        https://bugs.webkit.org/show_bug.cgi?id=40726
120515
120516        According to the HTML5 spec, we're supposed to open() a new document if
120517        we receive a document.write() after we've received EOF for the network.
120518        The old parser just dumped those bytes onto the end of the network
120519        stream.  After this patch, our behavior matches Minefield.
120520
120521        Test: http/tests/misc/write-while-waiting.html
120522
120523        * WebCore.xcodeproj/project.pbxproj:
120524        * dom/Document.cpp:
120525        (WebCore::Document::write):
120526        * dom/DocumentParser.h:
120527        * dom/XMLDocumentParser.cpp:
120528        (WebCore::XMLDocumentParser::finishWasCalled):
120529        * dom/XMLDocumentParser.h:
120530        * html/HTML5DocumentParser.cpp:
120531        (WebCore::HTML5DocumentParser::finishWasCalled):
120532        * html/HTML5DocumentParser.h:
120533        (WebCore::HTML5DocumentParser::InputStream::isClosed):
120534        * html/HTMLDocumentParser.cpp:
120535        (WebCore::HTMLDocumentParser::finishWasCalled):
120536        * html/HTMLDocumentParser.h:
120537        * loader/ImageDocument.cpp:
120538        (WebCore::ImageTokenizer::finishWasCalled):
120539        * loader/MediaDocument.cpp:
120540        (WebCore::MediaDocumentParser::finishWasCalled):
120541        * loader/PluginDocument.cpp:
120542        (WebCore::PluginDocumentParser::finishWasCalled):
120543        * loader/SinkDocument.cpp:
120544        (WebCore::SinkDocumentParser::finishWasCalled):
120545        * loader/TextDocument.cpp:
120546        (WebCore::TextDocumentParser::finishWasCalled):
120547
1205482010-06-16  Martin Robinson  <mrobinson@igalia.com>
120549
120550        Reviewed by Gustavo Noronha Silva.
120551
120552        [GTK] ClipboardGtk::setURL does not match the behavior of other platforms
120553        https://bugs.webkit.org/show_bug.cgi?id=40640
120554
120555        Instead of writing URL labels to the text portion of the clipboard or
120556        drag-and-drop data, write the URL itself. Also escape the label text
120557        of URLs. Abstracts logic into DataObjectGtk, so ClipboardGtk and
120558        PasteboardGtk can share it.
120559
120560        Tests for this issue will be activated when dropping support has been
120561        added to the GTK+ EventSender.
120562
120563        * platform/gtk/ClipboardGtk.cpp:
120564        (WebCore::ClipboardGtk::writeURL): Use DataObjectGtk::setURL.
120565        * platform/gtk/DataObjectGtk.cpp:
120566        (WebCore::DataObjectGtk::setURL):
120567        Added. Write URL to the text portion and remember to escape the
120568        label when creating the markup portion.
120569        * platform/gtk/DataObjectGtk.h: Add declaration of new method.
120570        * platform/gtk/PasteboardGtk.cpp: 
120571        (WebCore::Pasteboard::writeURL): Use DataObjectGtk::setURL.
120572
1205732010-06-16  Adam Barth  <abarth@webkit.org>
120574
120575        Reviewed by Eric Seidel.
120576
120577        Hit assertion in WebCore::HTML5Token::appendToSystemIdentifier
120578        https://bugs.webkit.org/show_bug.cgi?id=40729
120579
120580        This was a copy/paste error.  Yay for ASSERTs.
120581
120582        * html/HTML5Lexer.cpp:
120583        (WebCore::HTML5Lexer::nextToken):
120584
1205852010-06-16  Stuart Morgan  <stuartmorgan@chromium.org>
120586
120587        Reviewed by Anders Carlsson.
120588
120589        Bring npapi.h more in line with upstream npapi-headers version:
120590        - Remove obsolete XP_MAC sections.
120591        - Remove Metrowerks defines.
120592        - Add OS/2 defines.
120593        - Add Maemo defines.
120594        - Add new version of the custom Carbon event definitions.
120595        - Sync platform define style/details
120596
120597        https://bugs.webkit.org/show_bug.cgi?id=38666
120598
120599        * bridge/npapi.h:
120600
1206012010-06-16  Simon Fraser  <simon.fraser@apple.com>
120602
120603        Reviewed by Sam Weinig.
120604
120605        Allow transitions and animations of clip: rect
120606        https://bugs.webkit.org/show_bug.cgi?id=38130
120607        
120608        Make the CSS clip property animatable.
120609
120610        Test: transitions/clip-transition.html
120611
120612        * page/animation/AnimationBase.cpp:
120613        (WebCore::blendFunc): New blend function for LengthBox
120614        (WebCore::AnimationBase::ensurePropertyMap): Create a PropertyWrapper for LengthBoxes.
120615
120616        * platform/LengthBox.h:
120617        (WebCore::LengthBox::LengthBox): New ctor that takes 4 length values.
120618        * rendering/style/RenderStyle.h:
120619        (WebCore::InheritedFlags::setClip): New method that takes a LengthBox.
120620
1206212010-06-16  Simon Fraser  <simon.fraser@apple.com>
120622
120623        Reviewed by Dan Bernstein.
120624
120625        Fix clipping via CSS clip: with composited descendants
120626        https://bugs.webkit.org/show_bug.cgi?id=40579
120627        
120628        Consult the 'clip' style, as well as overflow, when creating clipping
120629        compositing layers.
120630
120631        Tests: compositing/geometry/clip.html
120632               compositing/overflow/clip-descendents.html
120633
120634        * rendering/RenderLayerBacking.cpp:
120635        (WebCore::clipBox): Utility function that returns the union of the clip and overflow
120636        boxes.
120637        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use clipBox() to
120638        get the correct clipping rectangle.
120639        * rendering/RenderLayerCompositor.cpp:
120640        (WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer): Look for
120641        clip as well as overflow.
120642        (WebCore::RenderLayerCompositor::clipsCompositingDescendants): Ditto.
120643
1206442010-06-16  Simon Fraser  <simon.fraser@apple.com>
120645
120646        Reviewed by Darin Adler.
120647
120648        REGRESSION: Undocked inspector toolbar is white
120649        https://bugs.webkit.org/show_bug.cgi?id=40644
120650
120651        Make the html element 100% height so that we don't erase the background to white, after r61215.
120652
120653        * inspector/front-end/inspector.css:
120654        (html):
120655
1206562010-06-16  Brian Weinstein  <bweinstein@apple.com>
120657
120658        Reviewed by Darin Adler.
120659
120660        User scripts injected on start are not run on image documents.
120661        https://bugs.webkit.org/show_bug.cgi?id=40722
120662        <rdar://8087394>
120663        
120664        User scripts that are injected on start are run from FrameLoader::dispatchDocumentElementAvailable,
120665        but this is never called from ImageDocument, so call it when we create a document element for
120666        our image document.
120667
120668        * loader/ImageDocument.cpp:
120669        (WebCore::ImageDocument::createDocumentStructure): Call FrameLoader::dispatchDocumentElementAvailable
120670            after creating our document element.
120671
1206722010-06-16  Brady Eidson  <beidson@apple.com>
120673
120674        Reviewed by NOBODY (Build fix for Mac)
120675
120676        * WebCore.xcodeproj/project.pbxproj: Make paths relative to the project root.
120677
1206782010-06-16  Chris Marrin  <cmarrin@apple.com>
120679
120680        Reviewed by Eric Carlson.
120681
120682        https://bugs.webkit.org/show_bug.cgi?id=40643
120683        
120684        Second of three steps - rename Canvas3DLayer to WebGLLayer
120685
120686        * WebCore.xcodeproj/project.pbxproj:
120687        * platform/graphics/mac/Canvas3DLayer.h: Removed.
120688        * platform/graphics/mac/Canvas3DLayer.mm: Removed.
120689        * platform/graphics/mac/GraphicsLayerCA.mm:
120690        (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
120691        * platform/graphics/mac/WebGLLayer.h: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.h.
120692        * platform/graphics/mac/WebGLLayer.mm: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.mm.
120693
1206942010-06-16  Chris Marrin  <cmarrin@apple.com>
120695
120696        Reviewed by Simon Fraser.
120697
120698        https://bugs.webkit.org/show_bug.cgi?id=40643
120699        
120700        Rename GraphicsContext3DMac.cpp so it can interact with CALayer
120701
120702        * platform/graphics/mac/GraphicsContext3DMac.cpp: Removed.
120703        * platform/graphics/mac/GraphicsContext3DMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp.
120704        * WebCore.xcodeproj/project.pbxproj
120705
1207062010-06-16  Nikolas Zimmermann  <nzimmermann@rim.com>
120707
120708        Reviewed by Dirk Schulze.
120709
120710        Add new files, needed in SVG Text rewrite
120711        https://bugs.webkit.org/show_bug.cgi?id=40676
120712
120713        Land SVGTextChunkLayoutInfo.cpp and SVGTextQuery.(cpp|h), both with an "#if 0" on top, as they will be needed
120714        in a later patch, completing the SVG Text rewrite, that will enable them.
120715
120716        Doesn't affect any code for now, it should just reduce the review amount.
120717
120718        * Android.mk:
120719        * CMakeLists.txt:
120720        * GNUmakefile.am:
120721        * WebCore.gypi:
120722        * WebCore.pro:
120723        * WebCore.vcproj/WebCore.vcproj:
120724        * WebCore.xcodeproj/project.pbxproj:
120725        * rendering/SVGTextChunkLayoutInfo.cpp: Added.
120726        (WebCore::cummulatedWidthOrHeightOfTextChunk):
120727        (WebCore::cummulatedWidthOfTextChunk):
120728        (WebCore::cummulatedHeightOfTextChunk):
120729        (WebCore::calculateTextAnchorShiftForTextChunk):
120730        (WebCore::applyTextAnchorToTextChunk):
120731        (WebCore::calculateTextLengthCorrectionForTextChunk):
120732        (WebCore::applyTextLengthCorrectionToTextChunk):
120733        (WebCore::SVGTextChunkLayoutInfo::startTextChunk):
120734        (WebCore::SVGTextChunkLayoutInfo::closeTextChunk):
120735        (WebCore::SVGTextChunkLayoutInfo::buildTextChunks):
120736        (WebCore::SVGTextChunkLayoutInfo::recursiveBuildTextChunks):
120737        (WebCore::SVGTextChunkLayoutInfo::layoutTextChunks):
120738        * rendering/SVGTextChunkLayoutInfo.h: Add missing include, otherwhise compiling SVGTextChunkLayoutInfo.cpp will fail.
120739        * rendering/SVGTextQuery.cpp: Added.
120740        (WebCore::SVGTextQuery::Data::Data):
120741        (WebCore::flowBoxForRenderer):
120742        (WebCore::mapLengthThroughChunkTransformation):
120743        (WebCore::SVGTextQuery::SVGTextQuery):
120744        (WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
120745        (WebCore::SVGTextQuery::executeQuery):
120746        (WebCore::SVGTextQuery::mapStartAndLengthIntoChunkPartCoordinates):
120747        (WebCore::SVGTextQuery::measureCharacterRange):
120748        (WebCore::NumberOfCharactersData::NumberOfCharactersData):
120749        (WebCore::SVGTextQuery::numberOfCharactersCallback):
120750        (WebCore::SVGTextQuery::numberOfCharacters):
120751        (WebCore::TextLengthData::TextLengthData):
120752        (WebCore::SVGTextQuery::textLengthCallback):
120753        (WebCore::SVGTextQuery::textLength):
120754        (WebCore::SubStringLengthData::SubStringLengthData):
120755        (WebCore::SVGTextQuery::subStringLengthCallback):
120756        (WebCore::SVGTextQuery::subStringLength):
120757        (WebCore::StartPositionOfCharacterData::StartPositionOfCharacterData):
120758        (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
120759        (WebCore::SVGTextQuery::startPositionOfCharacter):
120760        (WebCore::EndPositionOfCharacterData::EndPositionOfCharacterData):
120761        (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
120762        (WebCore::SVGTextQuery::endPositionOfCharacter):
120763        (WebCore::RotationOfCharacterData::RotationOfCharacterData):
120764        (WebCore::SVGTextQuery::rotationOfCharacterCallback):
120765        (WebCore::SVGTextQuery::rotationOfCharacter):
120766        (WebCore::ExtentOfCharacterData::ExtentOfCharacterData):
120767        (WebCore::SVGTextQuery::extentOfCharacterCallback):
120768        (WebCore::SVGTextQuery::extentOfCharacter):
120769        (WebCore::CharacterNumberAtPositionData::CharacterNumberAtPositionData):
120770        (WebCore::SVGTextQuery::characterNumberAtPositionCallback):
120771        (WebCore::SVGTextQuery::characterNumberAtPosition):
120772        * rendering/SVGTextQuery.h: Added.
120773
1207742010-06-16  Nikolas Zimmermann  <nzimmermann@rim.com>
120775
120776        Reviewed by Dirk Schulze.
120777
120778        Provide floating-point support for text selection framework
120779        https://bugs.webkit.org/show_bug.cgi?id=40665
120780
120781        This is the first chunk of the SVG Text rewrite patches.
120782        offsetForPosition() / selectionRectForText() should accept float/FloatPoint arguments instead
120783        of int/IntPoint. offsetForPosition() already worked with floats internally in Qt and Mac.
120784        selectionRectForText() was already returning a FloatRect, but the passed in origin was an integer.
120785        Fixing these problems in order to support sub-pixel positioning in the upcoming SVG Text rewrite patch.
120786
120787        Add a glyphScale parameter to TextRun, that will be used to support text selection
120788        in lengthAdjust/textLength scenarios in SVG text, soon.
120789
120790        Doesn't affect any testcases so far. HTML is not affected in any way,
120791        as it only ever passes integers to these functions.
120792
120793        * platform/graphics/Font.cpp:
120794        (WebCore::Font::selectionRectForText):
120795        (WebCore::Font::offsetForPosition):
120796        * platform/graphics/Font.h:
120797        * platform/graphics/FontFastPath.cpp:
120798        (WebCore::Font::selectionRectForSimpleText):
120799        (WebCore::Font::offsetForPositionForSimpleText):
120800        * platform/graphics/TextRun.h:
120801        (WebCore::TextRun::TextRun):
120802        (WebCore::TextRun::glyphScale):
120803        (WebCore::TextRun::setGlyphScale):
120804        (WebCore::TextRun::applyGlyphScaling):
120805        * platform/graphics/WidthIterator.cpp:
120806        (WebCore::WidthIterator::advance):
120807        * platform/graphics/chromium/FontChromiumWin.cpp:
120808        (WebCore::Font::selectionRectForComplexText):
120809        (WebCore::Font::offsetForPositionForComplexText):
120810        * platform/graphics/chromium/FontLinux.cpp:
120811        (WebCore::Font::offsetForPositionForComplexText):
120812        (WebCore::Font::selectionRectForComplexText):
120813        * platform/graphics/efl/FontEfl.cpp:
120814        (WebCore::Font::offsetForPositionForComplexText):
120815        (WebCore::Font::selectionRectForComplexText):
120816        * platform/graphics/gtk/FontGtk.cpp:
120817        (WebCore::Font::offsetForPositionForComplexText):
120818        (WebCore::Font::selectionRectForComplexText):
120819        * platform/graphics/haiku/FontHaiku.cpp:
120820        (WebCore::Font::selectionRectForComplexText):
120821        (WebCore::Font::offsetForPositionForComplexText):
120822        * platform/graphics/mac/ComplexTextController.cpp:
120823        (WebCore::ComplexTextController::offsetForPosition):
120824        * platform/graphics/mac/ComplexTextController.h:
120825        * platform/graphics/mac/FontComplexTextMac.cpp:
120826        (WebCore::Font::selectionRectForComplexText):
120827        (WebCore::Font::offsetForPositionForComplexText):
120828        * platform/graphics/qt/FontQt.cpp:
120829        (WebCore::Font::offsetForPositionForSimpleText):
120830        (WebCore::Font::offsetForPositionForComplexText):
120831        (WebCore::Font::selectionRectForSimpleText):
120832        (WebCore::Font::selectionRectForComplexText):
120833        * platform/graphics/win/FontWin.cpp:
120834        (WebCore::Font::selectionRectForComplexText):
120835        (WebCore::Font::offsetForPositionForComplexText):
120836        * platform/graphics/wince/FontWince.cpp:
120837        (WebCore::Font::offsetForPositionForComplexText):
120838        (WebCore::Font::selectionRectForComplexText):
120839        * platform/graphics/wx/FontWx.cpp:
120840        (WebCore::Font::selectionRectForComplexText):
120841        (WebCore::Font::offsetForPositionForComplexText):
120842        * svg/SVGFont.cpp:
120843        (WebCore::Font::selectionRectForTextUsingSVGFont):
120844        (WebCore::Font::offsetForPositionForTextUsingSVGFont):
120845
1208462010-06-16  Anton Muhin  <antonm@chromium.org>
120847
120848        Reviewed by Nate Chapin.
120849
120850        [v8] Introduce single element caches for WebCore::String to v8::String conversions
120851        https://bugs.webkit.org/show_bug.cgi?id=40435
120852        Measurements show that for some web apps (GMail, Wave) and some scenarios
120853        (intensive reading and/or keeping a tab open for a long time),
120854        hit rate lies in 30--50% interval.
120855        Inlining fast case gives another minor performance win.
120856
120857        * bindings/v8/V8Binding.cpp:
120858        (WebCore::getStringCache):
120859        (WebCore::v8ExternalStringSlow):
120860        * bindings/v8/V8Binding.h:
120861        (WebCore::v8ExternalString):
120862
1208632010-06-16  Antonio Gomes  <tonikitoo@webkit.org>
120864
120865        Reviewed by Kenneth Christiansen.
120866
120867        Spatial Navigation: using offset{Left,Top} is not enough to get the proper inner frames position
120868        https://bugs.webkit.org/show_bug.cgi?id=39439
120869
120870        As pointed out by Darin Adler in https://bugs.webkit.org/show_bug.cgi?id=18662#c20,
120871        "It's not correct to use the offsetLeft and offsetTop of the frame owner element's renderer because
120872        that's just the distance from the offsetParent, not the absolute position".
120873
120874        Patch fixes that behavior by now considering the offsetTop and offsetLeft the offsetParent recursively,
120875        starting from the HtmlFrameOwnerElement. Previously, only calling offsetTop and offsetLeft works
120876        because all tests were done in htmls where the {i}frame element was a directly a child of the body,
120877        e.g. <html>...<body><iframe src=xxx>....<body></html>.
120878
120879        Test: fast/events/spatial-navigation/snav-iframe-recursive-offset-parent.html
120880
120881        * page/SpatialNavigation.cpp:
120882        (WebCore::renderRectRelativeToRootDocument):
120883
1208842010-06-16  Dan Bernstein  <mitz@apple.com>
120885
120886        Try to fix the Tiger build
120887
120888        * platform/graphics/mac/SimpleFontDataMac.mm:
120889        (WebCore::SimpleFontData::platformBoundsForGlyph):
120890
1208912010-06-16  Dan Bernstein  <mitz@apple.com>
120892
120893        Try to fix the Tiger build
120894
120895        * platform/graphics/mac/SimpleFontDataMac.mm:
120896        (WebCore::SimpleFontData::platformBoundsForGlyph):
120897
1208982010-06-16  Dan Bernstein  <mitz@apple.com>
120899
120900        Reviewed by Alexey Proskuryakov.
120901
120902        <rdar://problem/8077119> REGRESSION (r60247): Google Reader contains the tops of pieces of unidentifiable text under feed headlines.
120903        https://bugs.webkit.org/show_bug.cgi?id=40386
120904
120905        Test: platform/mac/fast/text/x-height.html
120906
120907        The result of platformBoundsForGlyph() is in flipped coordinates, whereas the result of
120908        -[NSFont boundingRectForGlyph:] was not. r60247 failed to account for this.
120909
120910        * platform/graphics/mac/SimpleFontDataMac.mm:
120911        (WebCore::SimpleFontData::platformInit): Measure the height of the x glyph above the baseline
120912        correctly.
120913        (WebCore::SimpleFontData::platformBoundsForGlyph): Return a rect in flipped coordinates on Tiger
120914        as well.
120915
1209162010-06-16  Adam Barth  <abarth@webkit.org>
120917
120918        Reviewed by Eric Seidel.
120919
120920        Don't crash when a document ends with an entity
120921        https://bugs.webkit.org/show_bug.cgi?id=40658
120922
120923        When we SWITCH_TO a state, we're expecting our caller to have advanced
120924        the source.  Rather than have all the callers check for empty, we do
120925        that ourselves.
120926
120927        * html/HTML5Lexer.cpp:
120928
1209292010-06-15  Adam Barth  <abarth@webkit.org>
120930
120931        Reviewed by Eric Seidel.
120932
120933        Enable HTML5 lexer
120934        https://bugs.webkit.org/show_bug.cgi?id=40650
120935
120936        * page/Settings.cpp:
120937        (WebCore::Settings::Settings):
120938
1209392010-06-15  Mark Rowe  <mrowe@apple.com>
120940
120941        Rubber-stamped by David Harrison.
120942
120943        sqlite3_prepare16_v2 is not documented as always setting "tail" during error cases.
120944        Explicitly initialize it to null, just to be safe.
120945
120946        * platform/sql/SQLiteStatement.cpp:
120947        (WebCore::SQLiteStatement::prepare):
120948
1209492010-06-15  Mark Rowe  <mrowe@apple.com>
120950
120951        Reviewed by Brady Eidson.
120952
120953        <rdar://problem/8091103> URLs not added to history when initial load happens via back/forward navigation
120954
120955        Back/forward navigation currently does not create or update items in the global history. This is usually
120956        desirable, except for in the event where the back/forward list was created programmatically and attached
120957        to the WebView and the initial load in that WebView is being performed as a result of a back/forward
120958        navigation. In that situation it is preferable to ensure that global history item is created or updated.
120959
120960        No test case is added because DumpRenderTree is not able to test the scenario where the initial
120961        load in a WebView occurs via a back/forward navigation.
120962
120963        * loader/FrameLoader.cpp:
120964        (WebCore::FrameLoader::transitionToCommitted): If we're committing the first load in this frame as a
120965        back/forward navigation then we should update the history as if it were a standard load, with the
120966        exception of updating the back/forward list.
120967        * loader/HistoryController.cpp:
120968        (WebCore::HistoryController::updateForStandardLoad): Add a parameter to allow callers to skip updating
120969        the back/forward list.
120970        * loader/HistoryController.h:
120971        (WebCore::HistoryController::):
120972
1209732010-06-15  Kinuko Yasuda  <kinuko@chromium.org>
120974
120975        Reviewed by David Levin.
120976
120977        Fix compilation errors in BlobBuilder with FILE_WRITER enabled
120978        https://bugs.webkit.org/show_bug.cgi?id=40606
120979
120980        No functionality change so no new tests.
120981
120982        * html/BlobBuilder.cpp:
120983        * html/BlobBuilder.h:
120984
1209852010-06-15  Jian Li  <jianli@chromium.org>
120986
120987        Reviewed by David Levin.
120988
120989        Move type attribute from File.idl to Blob.idl per latest File API spec.
120990        https://bugs.webkit.org/show_bug.cgi?id=40642
120991
120992        * html/Blob.idl:
120993        * html/File.idl:
120994
1209952010-06-15  Darin Adler  <darin@apple.com>
120996
120997        Reviewed by Adam Barth.
120998
120999        Move functions out of Frame class that were marked "move to Chrome"
121000        https://bugs.webkit.org/show_bug.cgi?id=39636
121001
121002        Refactoring that does not require new tests.
121003
121004        * loader/FrameLoader.cpp:
121005        (WebCore::FrameLoader::didOpenURL): Call setStatus and setDefaultStatus
121006        on DOMWindow rather than going through Frame.
121007        (WebCore::FrameLoader::open): Ditto.
121008        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Call
121009        shouldClose on this object instead of going through Frame.
121010
121011        * page/DOMWindow.cpp:
121012        (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): Call
121013        shouldClose on FrameLoader instead of going through Frame.
121014        (WebCore::DOMWindow::focus): Moved the code from Frame::focusWindow
121015        in here.
121016        (WebCore::DOMWindow::blur): Moved the code from Frame::unfocusWindow
121017        in here.
121018        (WebCore::DOMWindow::close): Moved the code from Frame::scheduleClose
121019        in here.
121020        (WebCore::DOMWindow::setStatus): Moved the code from
121021        Frame::setJSStatusBarText in here.
121022        (WebCore::DOMWindow::setDefaultStatus): Moved the code from
121023        Frame::setJSDefaultStatusBarText in here.
121024
121025        * page/DOMWindow.h: Added m_status and m_defaultStatus members to
121026        store the status messages being set by the DOM.
121027
121028        * page/Frame.cpp: Removed all the functions that were marked
121029        "to be moved into Chrome".
121030        * page/Frame.h: Ditto.
121031
1210322010-06-15  Simon Fraser  <simon.fraser@apple.com>
121033
121034        Fix crashing tests; need to check for null documentElement().
121035
121036        * rendering/RenderView.cpp:
121037        (WebCore::RenderView::paintBoxDecorations):
121038
1210392010-06-15  Simon Fraser  <simon.fraser@apple.com>
121040
121041        Reviewed by Dave Hyatt.
121042
121043        Garbage shown outside HTML if HTML is absolutely positioned
121044        https://bugs.webkit.org/show_bug.cgi?id=36163
121045        
121046        Add a check that the root renderer (the document element's renderer) covers
121047        the entire viewport before deciding that we don't need the RenderView
121048        to paint its background. Fixes lack of painting with positioned, floated, and
121049        display: table html elements.
121050
121051        Test: fast/repaint/positioned-document-element.html
121052
121053        * rendering/RenderView.cpp:
121054        (WebCore::RenderView::paintBoxDecorations):
121055
1210562010-06-15  Simon Fraser  <simon.fraser@apple.com>
121057
121058        Reviewed by Dan Bernstein.
121059
121060        Safari 5 does not clear background with transformed html element
121061        https://bugs.webkit.org/show_bug.cgi?id=40498
121062        
121063        When the document element is composited, ensure that the FrameView
121064        paints the background, because the composited layer may be transparent,
121065        or might get moved via animation.
121066
121067        Test: compositing/repaint/composited-document-element.html
121068
121069        * rendering/RenderView.cpp:
121070        (WebCore::isComposited):
121071        (WebCore::rendererObscuresBackground):
121072
1210732010-06-15  Xan Lopez  <xlopez@igalia.com>
121074
121075        Try to fix GTK+ build.
121076
121077        * platform/gtk/GtkVersioning.h:
121078
1210792010-06-15  Darin Fisher  <darin@chromium.org>
121080
121081        Reviewed by Brady Eidson.
121082
121083        Introduce HistoryItem::itemSequenceNumber and use it to identify
121084        HistoryItems that are clones of one another.
121085
121086        Changes HistoryController::recursiveGoToItem to use itemSequenceNumber
121087        equality instead of isTargetItem as the pre-requisite for not calling
121088        FrameLoader::loadItem.
121089
121090        Changes FrameLoader::loadItem to require equivalent
121091        documentSequenceNumber before initiating a same document navigation.
121092        This alone would appear to fix the bug, but it does not go far enough
121093        since without the itemSequenceNumber equality check, we'd re-load more
121094        often than we should.
121095
121096        Moves documentSequenceNumber assignment into createItemTree as cleanup
121097        and to ensure that it gets called properly whenever we create a cloned
121098        HistoryItem.  (createItemTree's mission is to create clones up until
121099        or including the target frame depending on the value of the doClip
121100        parameter.)
121101
121102        Removes the now unused HistoryController::urlsMatchItem.
121103
121104        https://bugs.webkit.org/show_bug.cgi?id=40451
121105
121106        Test: fast/history/history-back-within-subframe.html
121107              http/tests/navigation/history-back-across-form-submission-to-fragment.html
121108
121109        * history/HistoryItem.cpp:
121110        (WebCore::generateSequenceNumber):
121111        (WebCore::HistoryItem::HistoryItem):
121112        * history/HistoryItem.h:
121113        (WebCore::HistoryItem::setItemSequenceNumber):
121114        (WebCore::HistoryItem::itemSequenceNumber):
121115        * loader/FrameLoader.cpp:
121116        (WebCore::FrameLoader::loadItem):
121117        * loader/HistoryController.cpp:
121118        (WebCore::HistoryController::updateBackForwardListForFragmentScroll):
121119        (WebCore::HistoryController::createItemTree):
121120        (WebCore::HistoryController::recursiveGoToItem):
121121        (WebCore::HistoryController::pushState):
121122        * loader/HistoryController.h:
121123
1211242010-06-15  Xan Lopez  <xlopez@igalia.com>
121125
121126        Reviewed by Gustavo Noronha.
121127
121128        [GTK] Does not compile with -DGSEAL_ENABLE
121129        https://bugs.webkit.org/show_bug.cgi?id=37851
121130
121131        Fix compilation with GSEAL_ENABLE.
121132
121133        * platform/gtk/GtkVersioning.h:
121134        * platform/gtk/PlatformScreenGtk.cpp:
121135        (WebCore::screenDepth):
121136        (WebCore::screenDepthPerComponent):
121137        * platform/gtk/PopupMenuGtk.cpp:
121138        (WebCore::PopupMenu::show):
121139        * platform/gtk/ScrollbarGtk.cpp:
121140        (ScrollbarGtk::detachAdjustment):
121141        (ScrollbarGtk::updateThumbPosition):
121142        (ScrollbarGtk::updateThumbProportion):
121143        * plugins/gtk/PluginViewGtk.cpp:
121144        (WebCore::PluginView::paint):
121145        (WebCore::PluginView::initXEvent):
121146        (WebCore::PluginView::platformGetValue):
121147        (WebCore::PluginView::platformStart):
121148        * plugins/gtk/gtk2xtbin.c:
121149        (gtk_xtbin_realize):
121150        (gtk_xtbin_new):
121151        (gtk_xtbin_set_position):
121152        (gtk_xtbin_unrealize):
121153
1211542010-06-15  Xan Lopez  <xlopez@igalia.com>
121155
121156        Unreviewed build fix.
121157
121158        Fix the build when WebSockets are disabled.
121159
121160        * bindings/js/JSWorkerContextCustom.cpp:
121161
1211622010-06-15  Simon Fraser  <simon.fraser@apple.com>
121163
121164        Reviewed by Dan Bernstein.
121165
121166        YouTube thumbnail borders vanish during transition
121167        https://bugs.webkit.org/show_bug.cgi?id=40551
121168        
121169        Turn off the direct image optimization if the image has a clip style, so that is is
121170        correctly rendered with the clip.
121171
121172        Test: compositing/images/clip-on-directly-composited-image.html
121173
121174        * rendering/RenderLayerBacking.cpp:
121175        (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
121176
1211772010-06-15  Yury Semikhatsky  <yurys@chromium.org>
121178
121179        Reviewed by Pavel Feldman.
121180
121181        [v8] Web Inspector: make ui tests pass when ScriptDebugServer is used
121182        https://bugs.webkit.org/show_bug.cgi?id=40623
121183
121184        * bindings/v8/JavaScriptCallFrame.cpp:
121185        (WebCore::JavaScriptCallFrame::functionName): return empty string for anonymous functions instead of [anonymous].
121186        * bindings/v8/ScriptDebugServer.cpp:
121187        (WebCore::ScriptDebugServer::handleV8DebugEvent): autocontinue on syntax errors since there is no stack trace and
121188        not much to inspect.
121189
1211902010-06-15  Adam Roben  <aroben@apple.com>
121191
121192        Make WebCore's and JavaScriptCore's DerivedSources available for debugging in production builds
121193
121194        Fixes <http://webkit.org/b/40626> <rdar://problem/8094205>.
121195
121196        Reviewed by Sam Weinig.
121197
121198        * WebCore.vcproj/WebCore.make: Copy the contents of WebCore's
121199        DerivedSources directory to AppleInternal/Sources/WebCore.
121200
1212012010-06-15  Zhenyao Mo  <zmo@google.com>
121202
121203        Reviewed by Dimitri Glazkov.
121204
121205        Bring framebuffer functions to GLES2 conformance
121206        https://bugs.webkit.org/show_bug.cgi?id=40175
121207
121208        Test: fast/canvas/webgl/framebuffer-test.html
121209
121210        * html/canvas/WebGLRenderingContext.cpp:
121211        (WebCore::WebGLRenderingContext::checkFramebufferStatus): Check input parameters and deal with default framebuffer situation.
121212        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Check input parameters.
121213        (WebCore::WebGLRenderingContext::framebufferTexture2D): Ditto.
121214        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
121215        (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): Check input parameters.
121216        * html/canvas/WebGLRenderingContext.h: Add validateFramebufferFuncParameters.
121217
1212182010-06-15  Patrick Gansterer  <paroga@paroga.com>
121219
121220        Reviewed by David Levin.
121221
121222        Buildfix for ResourceHandleWin after r24202 and r55542.
121223        https://bugs.webkit.org/show_bug.cgi?id=32963
121224
121225        * platform/network/win/ResourceHandleWin.cpp:
121226        (WebCore::ResourceHandle::onHandleCreated):
121227        (WebCore::ResourceHandle::onRequestComplete):
121228        (WebCore::transferJobStatusCallback):
121229        (WebCore::ResourceHandle::start):
121230
1212312010-06-12  Pavel Feldman  <pfeldman@chromium.org>
121232
121233        Reviewed by Joe Pecoraro.
121234
121235        Web Inspector: Should not expose window.console._inspectorCommandLineAPI to the web.
121236
121237        https://bugs.webkit.org/show_bug.cgi?id=40500
121238
121239        * inspector/front-end/InjectedScript.js:
121240        (injectedScriptConstructor):
121241        (injectedScriptConstructor.):
121242
1212432010-06-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
121244
121245        Reviewed by Simon Hausmann.
121246
121247        [Qt] The qt_webkit_version.pri file gets overwritten on install
121248        https://bugs.webkit.org/show_bug.cgi?id=40487
121249
121250        Don't install qt_webkit_version.pri when building WebKit inside of Qt.
121251        The import of WebKit into Qt will take care of providing the file
121252        in mkspecs/modules and it'll be installed through projects.pro.
121253
121254        * WebCore.pro:
121255
1212562010-06-15  Tony Chang  <tony@chromium.org>
121257
121258        Reviewed by Ojan Vafai.
121259
121260        resolve urls in text/html clipboard data
121261        https://bugs.webkit.org/show_bug.cgi?id=40044
121262
121263        Allow text/html data copied from a page to contain full URLs when
121264        dragging or copy/pasting.
121265
121266        Tests: editing/pasteboard/copy-resolves-urls.html
121267               http/tests/misc/copy-resolves-urls.html
121268
121269        * WebCore.base.exp:
121270        * editing/markup.cpp:
121271        (WebCore::appendStartMarkup):
121272        (WebCore::getStartMarkup):
121273        (WebCore::MarkupAccumulator::appendMarkup):
121274        (WebCore::createMarkup):
121275        * editing/markup.h:
121276        (WebCore::):
121277        * platform/chromium/ClipboardChromium.cpp:
121278        (WebCore::ClipboardChromium::writeRange):
121279        * platform/chromium/PasteboardChromium.cpp:
121280        (WebCore::Pasteboard::writeSelection):
121281        * platform/gtk/ClipboardGtk.cpp:
121282        (WebCore::ClipboardGtk::writeRange):
121283        * platform/gtk/DataObjectGtk.cpp:
121284        (WebCore::DataObjectGtk::markup):
121285        * platform/gtk/PasteboardGtk.cpp:
121286        (WebCore::Pasteboard::writeSelection):
121287        * platform/haiku/PasteboardHaiku.cpp:
121288        (WebCore::Pasteboard::writeSelection):
121289        * platform/qt/ClipboardQt.cpp:
121290        (WebCore::ClipboardQt::writeRange):
121291        * platform/qt/PasteboardQt.cpp:
121292        (WebCore::Pasteboard::writeSelection):
121293
1212942010-06-14  Chris Fleizach  <cfleizach@apple.com>
121295
121296        No review. GTK build fix.
121297
121298        AX: need ListItemRole and PresentationalRole
121299        https://bugs.webkit.org/show_bug.cgi?id=40133
121300
121301        Mostly speculative fix to make GTK unit tests work.
121302
121303        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
121304        (atkRole):
121305        (webkit_accessible_get_role):
121306
1213072010-06-14  Eric Carlson  <eric.carlson@apple.com>
121308
121309        Reviewed by Dan Bernstein.
121310
121311        <rdar://problem/8090895> Update http streaming MIME types
121312
121313        * platform/MIMETypeRegistry.cpp:
121314        (WebCore::TypeExtensionPair::): Add http streaming MIME synonyms.
121315
1213162010-06-14  Eric Carlson  <eric.carlson@apple.com>
121317
121318        Reviewed by Oliver Hunt.
121319
121320        audio/x-mp3 MIME type not recognized
121321        <rdar://problem/7875393>
121322        https://bugs.webkit.org/show_bug.cgi?id=40594
121323        
121324        Allow MIMETypeRegistry to have more than one MIME type for a
121325        media file extension, and have the QTKit media engine register
121326        all MIME types it can find for each file type QTKit supports.
121327
121328        Test: media/media-can-play-mp3.html
121329
121330        * platform/MIMETypeRegistry.cpp:
121331        (WebCore::mediaMIMETypeMap): Update for new HashMap format.
121332        (WebCore::TypeExtensionPair::): Store String+Vector<String>
121333        (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Only consult
121334        mediaMIMETypeMap(), it has the canonical answer.
121335        (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): New, return
121336        a Vector of all MIME types for an extension.
121337        * platform/MIMETypeRegistry.h:
121338        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
121339        (WebCore::addFileTypesToCache): Add all MIME types returned in the 
121340        getMediaMIMETypesForExtension Vector.
121341
1213422010-06-14  Mark Rowe  <mrowe@apple.com>
121343
121344        Reviewed by Brady Eidson.
121345
121346        <rdar://problem/8071866> REGRESSION: Crash on launch on Tiger and Leopard with network home folder
121347
121348        * platform/sql/SQLiteStatement.cpp:
121349        (WebCore::SQLiteStatement::prepare): Don't assume that tail is always non-null, since that may
121350        not be the case with some versions of SQLite. Instead we must null-check before dereferencing.
121351
1213522010-06-14  Anders Carlsson  <andersca@apple.com>
121353
121354        Fix Tiger build.
121355
121356        * plugins/mac/PluginDataMac.mm:
121357
1213582010-06-14  Anders Carlsson  <andersca@apple.com>
121359
121360        Reviewed by Darin Adler.
121361
121362        Use an array for extensions in MimeClassInfo
121363        https://bugs.webkit.org/show_bug.cgi?id=40602
121364
121365        Get rid of MimeClassInfo::suffixes and replace it with an array of extensions.
121366
121367        * plugins/MimeType.cpp:
121368        (WebCore::MimeType::suffixes):
121369        Create a string of joined extensions.
121370
121371        * plugins/MimeType.h:
121372        * plugins/PluginData.h:
121373        (WebCore::operator==):
121374        * plugins/chromium/PluginDataChromium.cpp:
121375        (WebCore::getPluginMimeTypeFromExtension):
121376        * plugins/gtk/PluginDataGtk.cpp:
121377        (WebCore::PluginData::initPlugins):
121378        * plugins/mac/PluginDataMac.mm:
121379        (WebCore::PluginData::initPlugins):
121380        * plugins/qt/PluginDataQt.cpp:
121381        (WebCore::PluginData::initPlugins):
121382        * plugins/win/PluginDataWin.cpp:
121383        (WebCore::PluginData::initPlugins):
121384        * plugins/wx/PluginDataWx.cpp:
121385        (WebCore::PluginData::initPlugins):
121386
1213872010-06-14  Adam Barth  <abarth@webkit.org>
121388
121389        Unreviewed.
121390
121391        Add an include to try to fix Chromium build.
121392
121393        * html/HTML5DocumentParser.cpp:
121394
1213952010-06-14  Eric Seidel  <eric@webkit.org>
121396
121397        Reviewed by Adam Barth.
121398
121399        Safari beach-balls loading large pages with HTML5 parser
121400        https://bugs.webkit.org/show_bug.cgi?id=40596
121401
121402        Implement parser yielding, similar to how the old
121403        HTMLDocumentParser yields.
121404
121405        This implementation re-uses the tokenizerTimeDelay and
121406        tokenizerChunkSize settings even though they don't map exactly
121407        to the token loop that the HTML5 parser uses.
121408
121409        * dom/DocumentParser.h:
121410         - Add a FIXME for processingData() and clarify how the
121411           appendData flag is used by renaming it to isFromNetwork.
121412        * html/HTML5DocumentParser.cpp:
121413        (WebCore::parserTimeLimit):
121414         - Defaults accessor, probably belongs on Page.
121415        (WebCore::parserChunkSize):
121416         - Defaults accessor, probably belongs on Page.
121417        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
121418        (WebCore::HTML5DocumentParser::stopParsing):
121419         - Stop the continue-parsing timer if active.
121420        (WebCore::HTML5DocumentParser::processingData):
121421         - Implement this poorly understood accessor to match
121422           the old parser's behavior.  It's unclear what this does
121423           and it does not affect any layout tests to my knowledge
121424           but likely affects the WebKit API in some way.
121425        (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
121426         - Pass SynchronousMode.
121427         - Do not ever pump if we've yielded to the timer.
121428        (WebCore::HTML5DocumentParser::PumpSession::PumpSession):
121429         - A struct for storing the yield counters.
121430        (WebCore::HTML5DocumentParser::shouldContinueParsing):
121431         - Mostly matches HTMLDocumentParser::shouldContinueParsing.
121432        (WebCore::HTML5DocumentParser::pumpLexer):
121433         - Respect SynchronousMode.
121434         - ASSERT that a timer is not scheduled if we're pumping.
121435        (WebCore::isLayoutTimerActive):
121436         - This belongs on Document.
121437        (WebCore::HTML5DocumentParser::continueNextChunkTimerFired):
121438        (WebCore::HTML5DocumentParser::write):
121439        (WebCore::HTML5DocumentParser::end):
121440         - We should never end() if a timer is still outstanding.
121441        (WebCore::HTML5DocumentParser::attemptToEnd):
121442        (WebCore::HTML5DocumentParser::endIfDelayed):
121443        (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
121444        * html/HTML5DocumentParser.h:
121445        (WebCore::HTML5DocumentParser::):
121446        * html/HTMLDocumentParser.cpp:
121447         - Clarify the old TimeDelay and ChunkSize constants.
121448
1214492010-06-14  Adam Barth  <abarth@webkit.org>
121450
121451        Reviewed by Eric Seidel.
121452
121453        Add a preload scanner for the HTML5 parser
121454        https://bugs.webkit.org/show_bug.cgi?id=40557
121455
121456        This patch adds a simple preload scanner for the HTML5 parser.  This
121457        preload scanner is not as awesome as the old one because it doesn't
121458        scan CSS, but it's much simpler.
121459
121460        * Android.mk:
121461        * CMakeLists.txt:
121462        * GNUmakefile.am:
121463        * WebCore.gypi:
121464        * WebCore.pro:
121465        * WebCore.vcproj/WebCore.vcproj:
121466        * WebCore.xcodeproj/project.pbxproj:
121467            - Build file torture.
121468        * html/HTML5DocumentParser.cpp:
121469        (WebCore::HTML5DocumentParser::write):
121470            - Call into the preload scanner when waiting for a script.
121471        * html/HTML5DocumentParser.h:
121472        * html/HTML5PreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp.
121473        (WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
121474        (WebCore::HTML5PreloadScanner::scan):
121475            - A simple loop to pump the preload scanner's lexer.
121476        (WebCore::HTML5PreloadScanner::processToken):
121477            - Preload interesting resources.  Stolen from the old preload
121478              scanner.
121479        (WebCore::HTML5PreloadScanner::scanningBody):
121480        * html/HTML5PreloadScanner.h: Copied from WebCore/html/PreloadScanner.h.
121481
1214822010-06-14  Adam Barth  <abarth@webkit.org>
121483
121484        Reviewed by Eric Seidel.
121485
121486        Constify some HTML5Token methods
121487        https://bugs.webkit.org/show_bug.cgi?id=40592
121488
121489        I keep wanting these methods to be const.  Eric wanted this in a
121490        separate patch.
121491
121492        * html/HTML5Lexer.h:
121493        (WebCore::HTML5Lexer::state):
121494        * html/HTML5Token.h:
121495        (WebCore::HTML5Token::attributes):
121496        (WebCore::HTML5Token::name):
121497        (WebCore::HTML5Token::characters):
121498        (WebCore::HTML5Token::comment):
121499        (WebCore::HTML5Token::publicIdentifier):
121500        (WebCore::HTML5Token::systemIdentifier):
121501        * html/HTML5TreeBuilder.cpp:
121502        (WebCore::convertToOldStyle):
121503        (WebCore::HTML5TreeBuilder::adjustedLexerState):
121504            - Technically, this might belong in the other patch, but I think
121505              it's fine here.
121506        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
121507        * html/HTML5TreeBuilder.h:
121508
1215092010-06-14  Dumitru Daniliuc  <dumi@chromium.org>
121510
121511        Unreviewed, build fix.
121512
121513        * WebCore.xcodeproj/project.pbxproj:
121514
1215152010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>
121516
121517        Unreviewed, build fix.
121518
121519        Remove accidental specifying of the class name twice.
121520
121521        * html/HTMLFormElement.cpp:
121522        (WebCore::HTMLFormElement::prepareFormData): Removed my ghastly typo.
121523
1215242010-06-14  Dumitru Daniliuc  <dumi@chromium.org>
121525
121526        Reviewed by Adam Barth.
121527
121528        Get DatabaseTracker ready for sync DBs.
121529        https://bugs.webkit.org/show_bug.cgi?id=39041
121530
121531        * storage/AbstractDatabase.cpp:
121532        (WebCore::AbstractDatabase::~AbstractDatabase):
121533        * storage/AbstractDatabase.h:
121534        * storage/Database.cpp:
121535        (WebCore::Database::closeImmediately):
121536        * storage/Database.h:
121537        (WebCore::Database::scriptExecutionContext):
121538        * storage/DatabaseTracker.cpp:
121539        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
121540        (WebCore::DatabaseTracker::databaseChanged):
121541        (WebCore::DatabaseTracker::addOpenDatabase):
121542        (WebCore::DatabaseTracker::removeOpenDatabase):
121543        (WebCore::DatabaseTracker::getOpenDatabases):
121544        (WebCore::DatabaseTracker::deleteDatabaseFile):
121545        * storage/DatabaseTracker.h:
121546        * storage/OriginQuotaManager.cpp:
121547        (WebCore::OriginQuotaManager::markDatabase):
121548        * storage/OriginQuotaManager.h:
121549        * storage/chromium/DatabaseObserver.h:
121550        * storage/chromium/DatabaseTrackerChromium.cpp:
121551        (WebCore::DatabaseTracker::addOpenDatabase):
121552        (WebCore::TrackerRemoveOpenDatabaseTask::create):
121553        (WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask):
121554        (WebCore::DatabaseTracker::removeOpenDatabase):
121555        (WebCore::DatabaseTracker::getOpenDatabases):
121556        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
121557
1215582010-06-14  Alexey Proskuryakov  <ap@apple.com>
121559
121560        Reviewed by Darin Adler.
121561
121562        https://bugs.webkit.org/show_bug.cgi?id=40529
121563        eventSender.keyDown("delete") incorrectly sends a backspace on some platforms
121564
121565        * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
121566        Use virtual key code to force correct character code for clarity. Also, reworded comment,
121567        since saying that "backspace needs to always be 8" misleadingly implied that it could
121568        "sometimes" be such without this code.
121569
1215702010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>
121571
121572        Reviewed by Darin Adler.
121573
121574        Refactor form submission code in HTMLFormElement to add clarity.
121575        https://bugs.webkit.org/show_bug.cgi?id=39430
121576
121577        Covered by existing tests in fast/forms/mailto.
121578
121579        * html/HTMLFormElement.cpp:
121580        (WebCore::appendMailtoPostFormDataToURL): Renamed from transferMailtoPostFormDataToUrl,
121581            removed clearing out of the FormData and moved it to a new place (next to the call site).
121582        (WebCore::HTMLFormElement::prepareFormData): Renamed from createFormData, moved the logic of
121583            prepareing FormData here, including the use of appendMailtoPostFormDataToURL.
121584        (WebCore::HTMLFormElement::submit): Consolidated multiple invocations of submitForm().
121585        * html/HTMLFormElement.h: Renamed createFormData to prepareFormData.
121586
1215872010-06-14  Chris Fleizach  <cfleizach@apple.com>
121588
121589        Reviewed by Darin Adler.
121590
121591        AX: need ListItemRole and PresentationalRole
121592        https://bugs.webkit.org/show_bug.cgi?id=40133
121593
121594        * accessibility/AccessibilityObject.cpp:
121595        (WebCore::createARIARoleMap):
121596        * accessibility/AccessibilityObject.h:
121597        (WebCore::AccessibilityObject::isListItem):
121598        * accessibility/AccessibilityRenderObject.cpp:
121599        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
121600        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
121601        * accessibility/mac/AccessibilityObjectWrapper.mm:
121602        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
121603
1216042010-06-14  Anders Carlsson  <andersca@apple.com>
121605
121606        Reviewed by Sam Weinig.
121607
121608        Remove pluginIndex from MimeClassInfo
121609        https://bugs.webkit.org/show_bug.cgi?id=40588
121610
121611        * plugins/PluginData.h:
121612        * plugins/gtk/PluginDataGtk.cpp:
121613        (WebCore::PluginData::initPlugins):
121614        * plugins/mac/PluginDataMac.mm:
121615        (WebCore::PluginData::initPlugins):
121616        * plugins/qt/PluginDataQt.cpp:
121617        (WebCore::PluginData::initPlugins):
121618        * plugins/win/PluginDataWin.cpp:
121619        (WebCore::PluginData::initPlugins):
121620        * plugins/wx/PluginDataWx.cpp:
121621        (WebCore::PluginData::initPlugins):
121622
1216232010-06-14  Kinuko Yasuda  <kinuko@chromium.org>
121624
121625        Reviewed by Jian Li.
121626
121627        Implement BlobBuilder internal class for BlobBuilder support as defined in FileWriter
121628        https://bugs.webkit.org/show_bug.cgi?id=36903
121629
121630        No new tests; they will be added when we add jsc bindings.
121631
121632        * CMakeLists.txt:
121633        * GNUmakefile.am:
121634        * WebCore.gypi:
121635        * WebCore.pro:
121636        * WebCore.vcproj/WebCore.vcproj:
121637        * WebCore.xcodeproj/project.pbxproj:
121638        * html/BlobBuilder.cpp: Added.
121639        * html/BlobBuilder.h: Added.
121640        (WebCore::BlobBuilder::create):
121641        * platform/BlobItem.cpp:
121642        (WebCore::StringBlobItem::convertToCString): Added EndingNative support.
121643        * platform/BlobItem.h: Added EndingNative line-ending type.
121644        (WebCore::):
121645
1216462010-06-14  Anders Carlsson  <andersca@apple.com>
121647
121648        Reviewed by Darin Adler.
121649
121650        Stop using MimeClassInfo::pluginIndex
121651        https://bugs.webkit.org/show_bug.cgi?id=40582
121652
121653        Add a pluginIndicies vector to PluginData and use it instead of MimeClassInfo::pluginIndex.
121654
121655        * plugins/MimeType.cpp:
121656        (WebCore::MimeType::enabledPlugin):
121657        Get the plug-in index from the mimePluginIndices vector.
121658        
121659        * plugins/Plugin.cpp:
121660        (WebCore::Plugin::item):
121661        Compare the mime plugin index as well.
121662        
121663        * plugins/PluginData.cpp:
121664        (WebCore::PluginData::PluginData):
121665        Populate the m_mimePluginIndices vector.
121666
121667        (WebCore::PluginData::pluginNameForMimeType):
121668        Get the plug-in index from the m_mimePluginIndices vector.
121669
121670        * plugins/PluginData.h:
121671        (WebCore::operator==):
121672        Don't check for pluginIndex.
121673
121674        (WebCore::PluginData::mimePluginIndices):
121675        Add getter for m_mimePluginIndices.
121676
1216772010-06-14  Sam Weinig  <sam@webkit.org>
121678
121679        Better build fix.
121680
121681        * bindings/js/JSBindingsAllInOne.cpp:
121682
1216832010-06-14  Sam Weinig  <sam@webkit.org>
121684
121685        Another windows build fix.
121686
121687        * bindings/js/JSBindingsAllInOne.cpp:
121688
1216892010-06-14  Sam Weinig  <sam@webkit.org>
121690
121691        Another build fix.
121692
121693        * bindings/js/JSDOMWindowCustom.cpp:
121694
1216952010-06-14  Sam Weinig  <sam@webkit.org>
121696
121697        Add missing comma to fix GTK build.
121698
121699        * xml/XSLTProcessor.idl:
121700
1217012010-06-14  Sam Weinig  <sam@webkit.org>
121702
121703        Reviewed by Alexey Proskuryakov.
121704
121705        Fix for https://bugs.webkit.org/show_bug.cgi?id=40581
121706        Auto-generate most of the JS constructors
121707
121708        - Auto-generates all the JS constructors that don't have custom
121709          names (eg, Not Image(), Audio() or Option())
121710        - Fixes two typos.
121711            (new XSLTConstructor()).toString() [object XSLTProcessorConsructor] -> [object XSLTProcessorConstructor])
121712            (new EventSource()).toString() [object EventSourceContructor] -> [object EventSourceConstructor])
121713
121714        * Android.jscbindings.mk:
121715        * CMakeLists.txt:
121716        * GNUmakefile.am:
121717        * WebCore.gypi:
121718        * WebCore.pro:
121719        * WebCore.vcproj/WebCore.vcproj:
121720        * WebCore.xcodeproj/project.pbxproj:
121721        * bindings/js/JSArrayBufferConstructor.cpp: Removed.
121722        * bindings/js/JSArrayBufferConstructor.h: Removed.
121723        * bindings/js/JSArrayBufferCustom.cpp: Copied from WebCore/bindings/js/JSArrayBufferConstructor.cpp.
121724        (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
121725        * bindings/js/JSArrayBufferViewHelper.h:
121726        (WebCore::constructArrayBufferView):
121727        * bindings/js/JSBindingsAllInOne.cpp:
121728        * bindings/js/JSDOMWindowCustom.cpp:
121729        * bindings/js/JSEventSourceConstructor.cpp: Removed.
121730        * bindings/js/JSEventSourceConstructor.h: Removed.
121731        * bindings/js/JSEventSourceCustom.cpp: Copied from WebCore/bindings/js/JSEventSourceConstructor.cpp.
121732        (WebCore::JSEventSourceConstructor::constructJSEventSource):
121733        * bindings/js/JSFloat32ArrayConstructor.cpp: Removed.
121734        * bindings/js/JSFloat32ArrayConstructor.h: Removed.
121735        * bindings/js/JSFloat32ArrayCustom.cpp:
121736        (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
121737        * bindings/js/JSInt16ArrayConstructor.cpp: Removed.
121738        * bindings/js/JSInt16ArrayConstructor.h: Removed.
121739        * bindings/js/JSInt16ArrayCustom.cpp:
121740        (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
121741        * bindings/js/JSInt32ArrayConstructor.cpp: Removed.
121742        * bindings/js/JSInt32ArrayConstructor.h: Removed.
121743        * bindings/js/JSInt32ArrayCustom.cpp:
121744        (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
121745        * bindings/js/JSInt8ArrayConstructor.cpp: Removed.
121746        * bindings/js/JSInt8ArrayConstructor.h: Removed.
121747        * bindings/js/JSInt8ArrayCustom.cpp:
121748        (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
121749        * bindings/js/JSMessageChannelConstructor.cpp: Removed.
121750        * bindings/js/JSMessageChannelConstructor.h: Removed.
121751        * bindings/js/JSMessageChannelCustom.cpp:
121752        (WebCore::JSMessageChannelConstructor::constructJSMessageChannel):
121753        * bindings/js/JSSharedWorkerConstructor.cpp: Removed.
121754        * bindings/js/JSSharedWorkerConstructor.h: Removed.
121755        * bindings/js/JSSharedWorkerCustom.cpp:
121756        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
121757        * bindings/js/JSUint16ArrayConstructor.cpp: Removed.
121758        * bindings/js/JSUint16ArrayConstructor.h: Removed.
121759        * bindings/js/JSUint16ArrayCustom.cpp:
121760        (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
121761        * bindings/js/JSUint32ArrayConstructor.cpp: Removed.
121762        * bindings/js/JSUint32ArrayConstructor.h: Removed.
121763        * bindings/js/JSUint32ArrayCustom.cpp:
121764        (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
121765        * bindings/js/JSUint8ArrayConstructor.cpp: Removed.
121766        * bindings/js/JSUint8ArrayConstructor.h: Removed.
121767        * bindings/js/JSUint8ArrayCustom.cpp:
121768        (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
121769        * bindings/js/JSWebKitCSSMatrixConstructor.cpp: Removed.
121770        * bindings/js/JSWebKitCSSMatrixConstructor.h: Removed.
121771        * bindings/js/JSWebKitCSSMatrixCustom.cpp: Copied from WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp.
121772        (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
121773        * bindings/js/JSWebKitPointConstructor.cpp: Removed.
121774        * bindings/js/JSWebKitPointConstructor.h: Removed.
121775        * bindings/js/JSWebKitPointCustom.cpp: Copied from WebCore/bindings/js/JSWebKitPointConstructor.cpp.
121776        (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint):
121777        * bindings/js/JSWebSocketConstructor.cpp: Removed.
121778        * bindings/js/JSWebSocketConstructor.h: Removed.
121779        * bindings/js/JSWebSocketCustom.cpp:
121780        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
121781        * bindings/js/JSWorkerConstructor.cpp: Removed.
121782        * bindings/js/JSWorkerConstructor.h: Removed.
121783        * bindings/js/JSWorkerContextCustom.cpp:
121784        * bindings/js/JSWorkerCustom.cpp:
121785        (WebCore::JSWorkerConstructor::constructJSWorker):
121786        * bindings/js/JSXSLTProcessorConstructor.cpp: Removed.
121787        * bindings/js/JSXSLTProcessorConstructor.h: Removed.
121788        * bindings/js/JSXSLTProcessorCustom.cpp:
121789        (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
121790        * bindings/scripts/CodeGeneratorJS.pm:
121791        * css/WebKitCSSMatrix.idl:
121792        * dom/MessageChannel.idl:
121793        * html/canvas/ArrayBuffer.idl:
121794        * html/canvas/Float32Array.idl:
121795        * html/canvas/Int16Array.idl:
121796        * html/canvas/Int32Array.idl:
121797        * html/canvas/Int8Array.idl:
121798        * html/canvas/Uint16Array.idl:
121799        * html/canvas/Uint32Array.idl:
121800        * html/canvas/Uint8Array.idl:
121801        * page/EventSource.idl:
121802        * page/WebKitPoint.idl:
121803        * websockets/WebSocket.idl:
121804        * workers/SharedWorker.idl:
121805        * workers/Worker.idl:
121806        * xml/XSLTProcessor.idl:
121807
1218082010-05-16  Antonio Gomes  <tonikitoo@webkit.org>
121809
121810        Unreviewed naming fixes of local variables used in Spatial Navigation methods.
121811
121812        Summary:
121813            * "candidate" renamed to "node";
121814            * "currentFocusCandidate" renamed to "candidate"
121815            * "closestFocusCandidate" renamed to "closest"
121816
121817        That way naming is more consistent in the various Spatial Navigation methods.
121818
121819        * page/FocusController.cpp:
121820        (WebCore::FocusController::findFocusableNodeInDirection):
121821        (WebCore::FocusController::deepFindFocusableNodeInDirection):
121822
1218232010-06-14  Antonio Gomes  <tonikitoo@webkit.org>
121824
121825        Reviewed by Simon Fraser and Kenneth Christiansen.
121826
121827        Spatial Navigation: make it work with focusable elements in overflow content
121828        https://bugs.webkit.org/show_bug.cgi?id=36463
121829
121830        This patch addresses the problem with Spatial Navigation. It currently does not
121831        properly traverse scrollable contents, including scrollable div's. For this to work,
121832        a new class member called scrollableEnclosingBox was introduced to FocusCandidate class which
121833        keeps track of the current scrollable box Node wrapping a FocusCandidate.
121834
121835        To make use of enclosingScrollableBox of FocusCandidate, the DOM traversal routine
121836        (FocusController::findNextFocusableInDirection) was changed as follows: when it
121837        encounters a scrollable Node, each focusable node which is 'inner' keeps track of
121838        the container reference. By the time a sibling of the scrollable Node is encountered,
121839        there is no need to track this reference any more and the traversal algorithm continues
121840        normally.
121841
121842        The common case is obviously that there is no scrollable container wrapping it.
121843
121844        updateFocusCandiditeIfCloser logic was also adapted to fit the need of the
121845        newly introduced enclosingScrollableBox class member, getting simpler and more
121846        easily maintainable.
121847
121848        Tests: fast/events/spatial-navigation/snav-div-scrollable-but-without-focusable-content.html
121849               fast/events/spatial-navigation/snav-clipped-overflow-content.html
121850
121851        * page/FocusController.cpp:
121852        (WebCore::updateFocusCandidateInSameContainer):
121853        (WebCore::updateFocusCandidateIfCloser):
121854        (WebCore::FocusController::findFocusableNodeInDirection):
121855        (WebCore::FocusController::deepFindFocusableNodeInDirection):
121856        * page/SpatialNavigation.cpp:
121857        (WebCore::isScrollableContainerNode):
121858        * page/SpatialNavigation.h:
121859        (WebCore::FocusCandidate::FocusCandidate):
121860        (WebCore::FocusCandidate::isInScrollableContainer):
121861
1218622010-06-14  Jian Li  <jianli@chromium.org>
121863
121864        Unreviewed. Fix build break in GTK.
121865
121866        * bindings/scripts/CodeGeneratorGObject.pm:
121867        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
121868        * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
121869        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
121870        * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
121871        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
121872
1218732010-06-14  Chris Fleizach  <cfleizach@apple.com>
121874
121875        Reviewed by Beth Dakin.
121876
121877        AX: AXUnknown objects are being returned
121878        https://bugs.webkit.org/show_bug.cgi?id=40574
121879
121880        Test: platform/mac/accessibility/no-unknown-objects-when-title-attribute-present.html
121881
121882        * accessibility/mac/AccessibilityObjectMac.mm:
121883        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
121884
1218852010-06-14  Jian Li  <jianli@chromium.org>
121886
121887        Reviewed by Darin Adler.
121888
121889        Fix code generators to better support Conditional attribute and add test
121890        coverage for it.
121891        https://bugs.webkit.org/show_bug.cgi?id=39512
121892
121893        * bindings/scripts/CodeGeneratorGObject.pm:
121894        * bindings/scripts/CodeGeneratorObjC.pm:
121895        * bindings/scripts/CodeGeneratorV8.pm:
121896        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
121897        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
121898        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
121899        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
121900        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
121901        (webkit_dom_test_obj_get_conditional_attr1):
121902        (webkit_dom_test_obj_set_conditional_attr1):
121903        (webkit_dom_test_obj_get_conditional_attr2):
121904        (webkit_dom_test_obj_set_conditional_attr2):
121905        (webkit_dom_test_obj_get_conditional_attr3):
121906        (webkit_dom_test_obj_set_conditional_attr3):
121907        (webkit_dom_test_obj_set_property):
121908        (webkit_dom_test_obj_get_property):
121909        (webkit_dom_test_obj_class_init):
121910        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
121911        * bindings/scripts/test/JS/JSTestInterface.cpp:
121912        * bindings/scripts/test/JS/JSTestInterface.h:
121913        * bindings/scripts/test/JS/JSTestObj.cpp:
121914        (WebCore::):
121915        (WebCore::jsTestObjConditionalAttr1):
121916        (WebCore::jsTestObjConditionalAttr2):
121917        (WebCore::jsTestObjConditionalAttr3):
121918        (WebCore::setJSTestObjConditionalAttr1):
121919        (WebCore::setJSTestObjConditionalAttr2):
121920        (WebCore::setJSTestObjConditionalAttr3):
121921        * bindings/scripts/test/JS/JSTestObj.h:
121922        * bindings/scripts/test/ObjC/DOMTestInterface.mm:
121923        * bindings/scripts/test/ObjC/DOMTestObj.h:
121924        * bindings/scripts/test/ObjC/DOMTestObj.mm:
121925        (-[DOMTestObj conditionalAttr1]):
121926        (-[DOMTestObj setConditionalAttr1:]):
121927        (-[DOMTestObj conditionalAttr2]):
121928        (-[DOMTestObj setConditionalAttr2:]):
121929        (-[DOMTestObj conditionalAttr3]):
121930        (-[DOMTestObj setConditionalAttr3:]):
121931        * bindings/scripts/test/TestInterface.idl:
121932        * bindings/scripts/test/TestObj.idl:
121933        * bindings/scripts/test/V8/V8TestInterface.cpp:
121934        * bindings/scripts/test/V8/V8TestInterface.h:
121935        * bindings/scripts/test/V8/V8TestObj.cpp:
121936        (WebCore::TestObjInternal::conditionalAttr1AttrGetter):
121937        (WebCore::TestObjInternal::conditionalAttr1AttrSetter):
121938        (WebCore::TestObjInternal::conditionalAttr2AttrGetter):
121939        (WebCore::TestObjInternal::conditionalAttr2AttrSetter):
121940        (WebCore::TestObjInternal::conditionalAttr3AttrGetter):
121941        (WebCore::TestObjInternal::conditionalAttr3AttrSetter):
121942        (WebCore::):
121943
1219442010-06-14  Chang Shu  <chang.shu@nokia.com>
121945
121946        Reviewed by Kenneth Rohde Christiansen.
121947
121948        Change the type of ShadowSize from IntSize to FloatSize in GraphicsContext.
121949        Using IntSize loses precision and fails the test.
121950        Note: This code change fixes Qt port but Mac is still failing due to
121951        platform issue.
121952
121953        https://bugs.webkit.org/show_bug.cgi?id=40434
121954
121955        * html/canvas/CanvasRenderingContext2D.cpp:
121956        (WebCore::CanvasRenderingContext2D::applyShadow):
121957        * platform/graphics/GraphicsContext.cpp:
121958        (WebCore::GraphicsContext::setShadow):
121959        (WebCore::GraphicsContext::getShadow):
121960        * platform/graphics/GraphicsContext.h:
121961        * platform/graphics/GraphicsContextPrivate.h:
121962        * platform/graphics/cairo/FontCairo.cpp:
121963        (WebCore::Font::drawGlyphs):
121964        * platform/graphics/cairo/GraphicsContextCairo.cpp:
121965        (WebCore::GraphicsContext::calculateShadowBufferDimensions):
121966        (WebCore::drawPathShadow):
121967        (WebCore::drawBorderlessRectShadow):
121968        (WebCore::GraphicsContext::setPlatformShadow):
121969        * platform/graphics/cairo/ImageCairo.cpp:
121970        (WebCore::BitmapImage::draw):
121971        * platform/graphics/cg/GraphicsContextCG.cpp:
121972        (WebCore::GraphicsContext::setPlatformShadow):
121973        * platform/graphics/chromium/FontChromiumWin.cpp:
121974        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
121975        (WebCore::Font::drawComplexText):
121976        * platform/graphics/gtk/FontGtk.cpp:
121977        (WebCore::Font::drawComplexText):
121978        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
121979        (WebCore::GraphicsContext::setPlatformShadow):
121980        * platform/graphics/mac/FontMac.mm:
121981        (WebCore::Font::drawGlyphs):
121982        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
121983        (WebCore::GraphicsContext::setPlatformShadow):
121984        * platform/graphics/qt/FontQt.cpp:
121985        (WebCore::drawTextCommon):
121986        * platform/graphics/qt/GraphicsContextQt.cpp:
121987        (WebCore::GraphicsContext::drawRect):
121988        (WebCore::GraphicsContext::drawLine):
121989        (WebCore::GraphicsContext::strokeArc):
121990        (WebCore::GraphicsContext::drawConvexPolygon):
121991        (WebCore::drawFilledShadowPath):
121992        (WebCore::GraphicsContext::strokePath):
121993        (WebCore::drawBorderlessRectShadow):
121994        (WebCore::GraphicsContext::setPlatformShadow):
121995        * platform/graphics/qt/ImageQt.cpp:
121996        (WebCore::BitmapImage::draw):
121997        * platform/graphics/skia/GraphicsContextSkia.cpp:
121998        (WebCore::GraphicsContext::setPlatformShadow):
121999        * platform/graphics/skia/SkiaFontWin.cpp:
122000        (WebCore::windowsCanHandleDrawTextShadow):
122001        * platform/graphics/win/FontCGWin.cpp:
122002        (WebCore::drawGDIGlyphs):
122003        (WebCore::Font::drawGlyphs):
122004        * platform/graphics/wince/GraphicsContextWince.cpp:
122005        (WebCore::GraphicsContext::fillRoundedRect):
122006        (WebCore::GraphicsContext::setPlatformShadow):
122007        (WebCore::GraphicsContext::drawText):
122008        * platform/graphics/wx/GraphicsContextWx.cpp:
122009        (WebCore::GraphicsContext::setPlatformShadow):
122010
1220112010-06-14  Dan Bernstein  <mitz@apple.com>
122012
122013        Reviewed by Simon Fraser.
122014
122015        <rdar://problem/7752961> Unevenly distributed space in justified text
122016        https://bugs.webkit.org/show_bug.cgi?id=36105
122017
122018        Test: fast/text/justify-padding-distribution.html
122019
122020        * platform/graphics/WidthIterator.cpp:
122021        (WebCore::WidthIterator::WidthIterator): Initialize m_padPerSpace to the quotient of the total
122022        padding and the number of spaces rather than truncating it.
122023        (WebCore::WidthIterator::advance): Subtract m_padPerSpace from m_padding and add the difference
122024        between its old and new values, when rounded, to the advance.
122025        * platform/graphics/mac/ComplexTextController.cpp:
122026        (WebCore::ComplexTextController::ComplexTextController):
122027        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
122028        * platform/graphics/win/UniscribeController.cpp:
122029        (WebCore::UniscribeController::UniscribeController):
122030        (WebCore::UniscribeController::shapeAndPlaceItem):
122031        * platform/graphics/win/UniscribeController.h:
122032
1220332010-06-14  Andreas Kling  <andreas.kling@nokia.com>
122034
122035        Reviewed by Tor Arne Vestbø.
122036
122037        [Qt] Stack overflow when converting navigator object to QVariant
122038        https://bugs.webkit.org/show_bug.cgi?id=40572
122039
122040        Protect against infinite recursion in JSValue->QVariant conversion.
122041        This fixes a crash when trying to convert MimeType objects (they
122042        recurse infinitely and on-the-fly via the enabledPlugin property.)
122043
122044        * bridge/qt/qt_runtime.cpp:
122045        (JSC::Bindings::convertValueToQVariant):
122046
1220472010-06-14  Yong Li  <yoli@rim.com>
122048
122049        Test cases created by: Robin Cao <robin.cao@torchmobile.com.cn>
122050
122051        Reviewed by Darin Adler.
122052
122053        https://bugs.webkit.org/show_bug.cgi?id=38910
122054
122055        Suspend Document::m_executeScriptSoonTimer objects when the page is deferred.
122056        There's no reason why we suspend all active DOM timers on the page but not suspend
122057        this one. Document::m_executeScriptSoonTimer can run JS and schedule more DOM Timers.
122058
122059        It can only be tested manually.
122060        * manual-tests/load-deferrer-script-element.html: Added.
122061        * manual-tests/resources/load-deferrer-script-element.js: Added.
122062
122063        * dom/Document.cpp:
122064        (WebCore::Document::executeScriptSoon):
122065        (WebCore::Document::suspendExecuteScriptSoonTimer): Added.
122066        (WebCore::Document::resumeExecuteScriptSoonTimer): Added.
122067        * dom/Document.h:
122068        * page/PageGroupLoadDeferrer.cpp:
122069        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
122070        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
122071
1220722010-06-13  Yael Aharon  <yael.aharon@nokia.com>
122073
122074        Reviewed by Kenneth Rohde Christiansen.
122075
122076        [Qt] Platform plugin support for Notifications UI
122077        https://bugs.webkit.org/show_bug.cgi?id=40005
122078
122079        To avoid race condition when GC is run during shutdown,
122080        disconnect the Notification from the NotificationPresenter
122081        when the presenter deletes itself.
122082        This cannot be tested by a layout test, the race condition happens only
122083        when GC is run during shutdown. It can be tested manually by loading
122084        manually any notification test and closing the browser.
122085
122086        * notifications/Notification.cpp:
122087        (WebCore::Notification::~Notification):
122088        * notifications/Notification.h:
122089        (WebCore::Notification::detachPresenter):
122090
1220912010-06-08  Marcus Bulach  <bulach@chromium.org>
122092
122093        Reviewed by Jeremy Orlow.
122094
122095        Adds IndexedDB's KeyRange.
122096        https://bugs.webkit.org/show_bug.cgi?id=40250
122097
122098        Test: storage/indexeddb/idb-keyrange.html
122099
122100        * Android.derived.jscbindings.mk:
122101        * Android.derived.v8bindings.mk:
122102        * Android.mk:
122103        * CMakeLists.txt:
122104        * DerivedSources.cpp:
122105        * DerivedSources.make:
122106        * GNUmakefile.am:
122107        * WebCore.gypi:
122108        * WebCore.pri:
122109        * WebCore.pro:
122110        * WebCore.vcproj/WebCore.vcproj:
122111        * WebCore.xcodeproj/project.pbxproj:
122112        * storage/IDBKeyRange.cpp: Added.
122113        (WebCore::IDBKeyRange::IDBKeyRange):
122114        * storage/IDBKeyRange.h: Added.
122115        (WebCore::IDBKeyRange::):
122116        (WebCore::IDBKeyRange::create):
122117        (WebCore::IDBKeyRange::~IDBKeyRange):
122118        (WebCore::IDBKeyRange::left):
122119        (WebCore::IDBKeyRange::right):
122120        (WebCore::IDBKeyRange::flags):
122121        * storage/IDBKeyRange.idl: Added.
122122        * storage/IndexedDatabaseRequest.cpp:
122123        (WebCore::IndexedDatabaseRequest::makeSingleKeyRange):
122124        (WebCore::IndexedDatabaseRequest::makeLeftBoundKeyRange):
122125        (WebCore::IndexedDatabaseRequest::makeRightBoundKeyRange):
122126        (WebCore::IndexedDatabaseRequest::makeBoundKeyRange):
122127        * storage/IndexedDatabaseRequest.h:
122128        * storage/IndexedDatabaseRequest.idl:
122129
1221302010-06-14  Jeremy Orlow  <jorlow@chromium.org>
122131
122132        And another.
122133
122134        * storage/IndexedDatabaseRequest.h:
122135
1221362010-06-14  Jeremy Orlow  <jorlow@chromium.org>
122137
122138        More build fixes.
122139
122140        * storage/IndexedDatabaseRequest.h:
122141
1221422010-06-14  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
122143
122144        Reviewed by Laszlo Gombos.
122145
122146        [Qt] navigator.geolocation support for Qt port
122147        https://bugs.webkit.org/show_bug.cgi?id=39724
122148
122149        Implemetion for Qt port of navigator.gelocation. Using qtmobility location service.
122150
122151        * WebCore.pri:
122152        * WebCore.pro:
122153        * platform/qt/GeolocationServiceQt.cpp: Added.
122154        (WebCore::GeolocationServiceQt::create):
122155        (WebCore::GeolocationServiceQt::GeolocationServiceQt):
122156        (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
122157        (WebCore::GeolocationServiceQt::positionUpdated):
122158        (WebCore::GeolocationServiceQt::startUpdating):
122159        (WebCore::GeolocationServiceQt::stopUpdating):
122160        * platform/qt/GeolocationServiceQt.h: Added.
122161        (WebCore::GeolocationServiceQt::lastPosition):
122162        (WebCore::GeolocationServiceQt::lastError):
122163
1221642010-06-14  Jeremy Orlow  <jorlow@chromium.org>
122165
122166        2 more build fixes.
122167
122168        * storage/IDBDatabaseImpl.h:
122169        * storage/IndexedDatabaseRequest.h:
122170
1221712010-06-14  Jeremy Orlow  <jorlow@chromium.org>
122172
122173        Unreviewed build fix for my last.
122174
122175        * workers/WorkerScriptLoaderClient.h:
122176
1221772010-06-14  Jeremy Orlow  <jorlow@chromium.org>
122178
122179        Reviewed by Darin Fisher.
122180
122181        [V8] Clean up SerializedScriptValue
122182        https://bugs.webkit.org/show_bug.cgi?id=40482
122183
122184        SerializedScriptValue doesn't follow WebKit's style guidelines very well
122185        and needlessly inlines quite a bit within the .h file. This change cleans
122186        things up. No funcitonal changes.
122187
122188        No change in behavior.
122189
122190        * bindings/v8/SerializedScriptValue.cpp:
122191        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
122192        (WebCore::SerializedScriptValue::create):
122193        (WebCore::SerializedScriptValue::createFromWire):
122194        (WebCore::SerializedScriptValue::release):
122195        (WebCore::SerializedScriptValue::SerializedScriptValue):
122196        * bindings/v8/SerializedScriptValue.h:
122197
1221982010-06-14  Ilya Tikhonovsky  <loislo@chromium.org>
122199
122200        Reviewed by Pavel Feldman.
122201
122202        WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
122203        data from inspected page to WebInspector as JSON string via http. The native
122204        serialization to JSON string is supported by InspectorValue's classes. This patch
122205        has the implementation of sendMessageToFrontend function. WebKit version of it still
122206        uses ScriptFunctionCall and will be switched to another transport a little bit later.
122207        https://bugs.webkit.org/show_bug.cgi?id=40134
122208
122209        * inspector/InspectorClient.h:
122210        * inspector/InspectorController.cpp:
122211        (WebCore::InspectorController::connectFrontend):
122212        (WebCore::InspectorController::disconnectFrontend):
122213        * inspector/InspectorController.h:
122214        * inspector/InspectorFrontend.cpp:
122215        (WebCore::InspectorFrontend::InspectorFrontend):
122216        * inspector/InspectorFrontend.h:
122217        * inspector/InspectorFrontendClientLocal.cpp:
122218        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
122219        * inspector/InspectorValues.cpp:
122220        (WebCore::InspectorObject::writeJSON):
122221        * inspector/front-end/inspector.js:
122222        (WebInspector.dispatchMessageToFrontend):
122223        * loader/EmptyClients.h:
122224        (WebCore::EmptyInspectorClient::sendMessageToFrontend):
122225
1222262010-06-14  Jeremy Orlow  <jorlow@chromium.org>
122227
122228        Reviewed by Darin Adler.
122229
122230        Reenable IDBDatabaseRequest's description attribute
122231        https://bugs.webkit.org/show_bug.cgi?id=39826
122232
122233        On the 26th, Beth commented out the description attribute in
122234        IDBDatabaseRequest because it was causing problems with the
122235        objective c bindings.  Turns out that this is the same bug as
122236        in http://trac.webkit.org/changeset/19486.  (Thanks for the
122237        pointer, Mark!)
122238 
122239        The solution is to change the objective C bindings generator
122240        to change the name in the generated code.  id and hash both
122241        just appended "Name" to them in the past.  I couldn't think
122242        of anything else particularly better to append, so I just
122243        went with name as well.
122244
122245        Test: building the world works on the first try.  Layout
122246              test verifies description works again.
122247
122248        * bindings/scripts/CodeGeneratorObjC.pm:
122249        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
122250        (webkit_dom_test_obj_get_description):
122251        (webkit_dom_test_obj_get_id):
122252        (webkit_dom_test_obj_set_id):
122253        (webkit_dom_test_obj_get_hash):
122254        (webkit_dom_test_obj_set_property):
122255        (webkit_dom_test_obj_get_property):
122256        (webkit_dom_test_obj_class_init):
122257        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
122258        * bindings/scripts/test/JS/JSTestObj.cpp:
122259        (WebCore::):
122260        (WebCore::jsTestObjDescription):
122261        (WebCore::jsTestObjId):
122262        (WebCore::jsTestObjHash):
122263        (WebCore::setJSTestObjId):
122264        * bindings/scripts/test/JS/JSTestObj.h:
122265        * bindings/scripts/test/ObjC/DOMTestObj.h:
122266        * bindings/scripts/test/ObjC/DOMTestObj.mm:
122267        (-[DOMTestObj descriptionName]):
122268        (-[DOMTestObj idName]):
122269        (-[DOMTestObj setIdName:]):
122270        (-[DOMTestObj hashName]):
122271        * bindings/scripts/test/TestObj.idl:
122272        * bindings/scripts/test/V8/V8TestObj.cpp:
122273        (WebCore::TestObjInternal::descriptionAttrGetter):
122274        (WebCore::TestObjInternal::idAttrGetter):
122275        (WebCore::TestObjInternal::idAttrSetter):
122276        (WebCore::TestObjInternal::hashAttrGetter):
122277        (WebCore::):
122278        * storage/IDBDatabaseRequest.idl:
122279
1222802010-06-13  Anders Bakken  <agbakken@gmail.com>
122281
122282        Reviewed by Eric Seidel.
122283
122284        [Qt] ScreenQt.cpp has coding-style errors
122285        https://bugs.webkit.org/show_bug.cgi?id=39766
122286
122287        * platform/qt/ScreenQt.cpp:
122288
1222892010-06-13  Eric Seidel  <eric@webkit.org>
122290
122291        Reviewed by Adam Barth.
122292
122293        Rename HTMLParser to LegacyHTMLTreeConstructor
122294        https://bugs.webkit.org/show_bug.cgi?id=40554
122295
122296        This makes our old HTML parsing system closer match the
122297        HTML5 spec, and thus easier to compare to the new HTML5
122298        parsing system.
122299
122300        This rename was entirely automatic.  Done by do-webcore-rename.
122301
122302        * Android.mk:
122303        * CMakeLists.txt:
122304        * GNUmakefile.am:
122305        * WebCore.gypi:
122306        * WebCore.pro:
122307        * WebCore.vcproj/WebCore.vcproj:
122308        * WebCore.xcodeproj/project.pbxproj:
122309        * dom/Document.cpp:
122310        * dom/DocumentParser.h:
122311        (WebCore::DocumentParser::htmlTreeConstructor):
122312        * html/HTML5DocumentParser.cpp:
122313        (WebCore::HTML5DocumentParser::htmlTreeConstructor):
122314        * html/HTML5DocumentParser.h:
122315        * html/HTML5TreeBuilder.cpp:
122316        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
122317        * html/HTML5TreeBuilder.h:
122318        (WebCore::HTML5TreeBuilder::legacyTreeConstructor):
122319        * html/HTMLDocumentParser.cpp:
122320        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
122321        * html/HTMLDocumentParser.h:
122322        (WebCore::HTMLDocumentParser::htmlTreeConstructor):
122323        * html/HTMLFormControlElement.cpp:
122324        (WebCore::HTMLFormControlElement::removedFromTree):
122325        * html/HTMLInputElement.cpp:
122326        * html/HTMLMeterElement.cpp:
122327        * html/HTMLProgressElement.cpp:
122328        * html/LegacyHTMLTreeConstructor.cpp: Renamed from WebCore/html/HTMLParser.cpp.
122329        (WebCore::addTags):
122330        (WebCore::HTMLStackElem::HTMLStackElem):
122331        (WebCore::HTMLStackElem::derefNode):
122332        (WebCore::LegacyHTMLTreeConstructor::LegacyHTMLTreeConstructor):
122333        (WebCore::LegacyHTMLTreeConstructor::~LegacyHTMLTreeConstructor):
122334        (WebCore::LegacyHTMLTreeConstructor::reset):
122335        (WebCore::LegacyHTMLTreeConstructor::setCurrent):
122336        (WebCore::tagPriorityOfNode):
122337        (WebCore::LegacyHTMLTreeConstructor::limitDepth):
122338        (WebCore::LegacyHTMLTreeConstructor::insertNodeAfterLimitDepth):
122339        (WebCore::LegacyHTMLTreeConstructor::parseToken):
122340        (WebCore::LegacyHTMLTreeConstructor::parseDoctypeToken):
122341        (WebCore::isTableSection):
122342        (WebCore::isTablePart):
122343        (WebCore::isTableRelated):
122344        (WebCore::isScopingTag):
122345        (WebCore::LegacyHTMLTreeConstructor::insertNode):
122346        (WebCore::LegacyHTMLTreeConstructor::handleError):
122347        (WebCore::LegacyHTMLTreeConstructor::textCreateErrorCheck):
122348        (WebCore::LegacyHTMLTreeConstructor::commentCreateErrorCheck):
122349        (WebCore::LegacyHTMLTreeConstructor::headCreateErrorCheck):
122350        (WebCore::LegacyHTMLTreeConstructor::bodyCreateErrorCheck):
122351        (WebCore::LegacyHTMLTreeConstructor::framesetCreateErrorCheck):
122352        (WebCore::LegacyHTMLTreeConstructor::formCreateErrorCheck):
122353        (WebCore::LegacyHTMLTreeConstructor::isindexCreateErrorCheck):
122354        (WebCore::LegacyHTMLTreeConstructor::selectCreateErrorCheck):
122355        (WebCore::LegacyHTMLTreeConstructor::ddCreateErrorCheck):
122356        (WebCore::LegacyHTMLTreeConstructor::dtCreateErrorCheck):
122357        (WebCore::LegacyHTMLTreeConstructor::rpCreateErrorCheck):
122358        (WebCore::LegacyHTMLTreeConstructor::rtCreateErrorCheck):
122359        (WebCore::LegacyHTMLTreeConstructor::nestedCreateErrorCheck):
122360        (WebCore::LegacyHTMLTreeConstructor::nestedPCloserCreateErrorCheck):
122361        (WebCore::LegacyHTMLTreeConstructor::nestedStyleCreateErrorCheck):
122362        (WebCore::LegacyHTMLTreeConstructor::tableCellCreateErrorCheck):
122363        (WebCore::LegacyHTMLTreeConstructor::tableSectionCreateErrorCheck):
122364        (WebCore::LegacyHTMLTreeConstructor::noembedCreateErrorCheck):
122365        (WebCore::LegacyHTMLTreeConstructor::noframesCreateErrorCheck):
122366        (WebCore::LegacyHTMLTreeConstructor::noscriptCreateErrorCheck):
122367        (WebCore::LegacyHTMLTreeConstructor::pCloserCreateErrorCheck):
122368        (WebCore::LegacyHTMLTreeConstructor::pCloserStrictCreateErrorCheck):
122369        (WebCore::LegacyHTMLTreeConstructor::mapCreateErrorCheck):
122370        (WebCore::mapTagToFunc):
122371        (WebCore::mapTagsToFunc):
122372        (WebCore::LegacyHTMLTreeConstructor::getNode):
122373        (WebCore::LegacyHTMLTreeConstructor::allowNestedRedundantTag):
122374        (WebCore::LegacyHTMLTreeConstructor::processCloseTag):
122375        (WebCore::LegacyHTMLTreeConstructor::isHeadingTag):
122376        (WebCore::LegacyHTMLTreeConstructor::isInline):
122377        (WebCore::LegacyHTMLTreeConstructor::isResidualStyleTag):
122378        (WebCore::LegacyHTMLTreeConstructor::isAffectedByResidualStyle):
122379        (WebCore::LegacyHTMLTreeConstructor::handleResidualStyleCloseTagAcrossBlocks):
122380        (WebCore::LegacyHTMLTreeConstructor::reopenResidualStyleTags):
122381        (WebCore::LegacyHTMLTreeConstructor::pushBlock):
122382        (WebCore::LegacyHTMLTreeConstructor::popBlock):
122383        (WebCore::LegacyHTMLTreeConstructor::popOneBlockCommon):
122384        (WebCore::LegacyHTMLTreeConstructor::popOneBlock):
122385        (WebCore::LegacyHTMLTreeConstructor::moveOneBlockToStack):
122386        (WebCore::LegacyHTMLTreeConstructor::checkIfHasPElementInScope):
122387        (WebCore::LegacyHTMLTreeConstructor::popInlineBlocks):
122388        (WebCore::LegacyHTMLTreeConstructor::freeBlock):
122389        (WebCore::LegacyHTMLTreeConstructor::createHead):
122390        (WebCore::LegacyHTMLTreeConstructor::handleIsindex):
122391        (WebCore::LegacyHTMLTreeConstructor::startBody):
122392        (WebCore::LegacyHTMLTreeConstructor::finished):
122393        (WebCore::LegacyHTMLTreeConstructor::reportErrorToConsole):
122394        (WebCore::shouldCreateImplicitHead):
122395        (WebCore::serializeForNumberType):
122396        (WebCore::parseToDoubleForNumberType):
122397        * html/LegacyHTMLTreeConstructor.h: Renamed from WebCore/html/HTMLParser.h.
122398        (WebCore::LegacyHTMLTreeConstructor::skipMode):
122399        (WebCore::LegacyHTMLTreeConstructor::isHandlingResidualStyleAcrossBlocks):
122400        (WebCore::LegacyHTMLTreeConstructor::setSkipMode):
122401        (WebCore::LegacyHTMLTreeConstructor::popBlock):
122402        (WebCore::LegacyHTMLTreeConstructor::hasPElementInScope):
122403        (WebCore::LegacyHTMLTreeConstructor::reportError):
122404        (WebCore::LegacyHTMLTreeConstructor::):
122405        (WebCore::shouldCreateImplicitHead):
122406        * html/StepRange.cpp:
122407        * html/ValidityState.cpp:
122408        * rendering/RenderSlider.cpp:
122409
1224102010-06-13  Eric Seidel  <eric@webkit.org>
122411
122412        Reviewed by Darin Adler.
122413
122414        Rename m_parser, htmlParser() to m_treeConstructor, htmlTreeConstructor() in preparation for renaming HTMLParser
122415        https://bugs.webkit.org/show_bug.cgi?id=40514
122416
122417        This rename was done by hand.  I realize now I should have
122418        renamed HTMLParser to HTMLTreeConstructor before renaming HTMLTokenizer.
122419
122420        No functional changes, thus no tests.
122421
122422        * dom/DocumentParser.h:
122423        (WebCore::DocumentParser::htmlTreeConstructor):
122424        * html/HTML5DocumentParser.cpp:
122425        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
122426        (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
122427        (WebCore::HTML5DocumentParser::pumpLexer):
122428        (WebCore::HTML5DocumentParser::end):
122429        (WebCore::HTML5DocumentParser::htmlTreeConstructor):
122430        (WebCore::HTML5DocumentParser::isWaitingForScripts):
122431        (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
122432        (WebCore::HTML5DocumentParser::notifyFinished):
122433        (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets):
122434        * html/HTML5DocumentParser.h:
122435        * html/HTML5TreeBuilder.cpp:
122436        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
122437        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
122438        (WebCore::HTML5TreeBuilder::finished):
122439        * html/HTML5TreeBuilder.h:
122440        (WebCore::HTML5TreeBuilder::legacyTreeConstructor):
122441        * html/HTMLDocumentParser.cpp:
122442        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
122443        (WebCore::HTMLDocumentParser::scriptHandler):
122444        (WebCore::HTMLDocumentParser::parseTag):
122445        (WebCore::HTMLDocumentParser::end):
122446        (WebCore::HTMLDocumentParser::processToken):
122447        (WebCore::HTMLDocumentParser::processDoctypeToken):
122448        * html/HTMLDocumentParser.h:
122449        (WebCore::HTMLDocumentParser::htmlTreeConstructor):
122450        * html/HTMLFormControlElement.cpp:
122451        (WebCore::HTMLFormControlElement::removedFromTree):
122452
1224532010-06-13  Eric Seidel  <eric@webkit.org>
122454
122455        Reviewed by Darin Adler.
122456
122457        Rename tok, asHTMLTokenizer to parser, asHTMLDocumentParser
122458        https://bugs.webkit.org/show_bug.cgi?id=40513
122459
122460        Last set of Tokenizer related renames, also done via do-webcore-rename:
122461        asHTMLTokenizer => asHTMLDocumentParser
122462        tok => parser
122463
122464        No functional changes, thus no tests.
122465
122466        * dom/Document.cpp:
122467        (WebCore::Document::write):
122468        * dom/DocumentParser.h:
122469        (WebCore::DocumentParser::asHTMLDocumentParser):
122470        * html/HTMLDocumentParser.cpp:
122471        (WebCore::parseHTMLDocumentFragment):
122472        * html/HTMLDocumentParser.h:
122473        (WebCore::HTMLDocumentParser::asHTMLDocumentParser):
122474        * loader/DocumentLoader.cpp:
122475        (WebCore::DocumentLoader::isLoadingInAPISense):
122476
1224772010-06-13  Eric Seidel  <eric@webkit.org>
122478
122479        Reviewed by Darin Adler.
122480
122481        Fix the rest of the references to the old Tokenizer class (now DocumentParser)
122482        https://bugs.webkit.org/show_bug.cgi?id=40512
122483
122484        No functional changes, thus no new tests.
122485        This was mostly done by do-webcore-rename:
122486        tokenizer => parser
122487        m_tokenizer => m_parser
122488        createTextTokenizer => createTextDocumentParser
122489        createTokenizer => createParser
122490        getTokenizer => getParser
122491
122492        However had to be careful to avoid renaming things related to
122493        css/tokenizer.flex (which we should later rename to CSSTokenizer.flex)
122494
122495        Still a couple references with "tok" and "asHTMLTokenizer" which I'll
122496        get in the next patch.
122497
122498        * accessibility/AccessibilityRenderObject.cpp:
122499        (WebCore::AccessibilityRenderObject::isLoaded):
122500        * bindings/v8/ScriptEventListener.cpp:
122501        (WebCore::createAttributeEventListener):
122502        * dom/Document.cpp:
122503        (WebCore::Document::removedLastRef):
122504        (WebCore::Document::~Document):
122505        (WebCore::Document::createParser):
122506        (WebCore::Document::open):
122507        (WebCore::Document::cancelParsing):
122508        (WebCore::Document::implicitOpen):
122509        (WebCore::Document::implicitClose):
122510        (WebCore::Document::write):
122511        (WebCore::Document::finishParsing):
122512        (WebCore::Document::removePendingSheet):
122513        * dom/Document.h:
122514        (WebCore::Document::parser):
122515        * dom/DocumentParser.h:
122516        * dom/ViewportArguments.cpp:
122517        (WebCore::reportViewportWarning):
122518        * dom/XMLDocumentParserLibxml2.cpp:
122519        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
122520        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
122521        (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
122522        (WebCore::PendingCallbacks::PendingCharactersCallback::call):
122523        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
122524        (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
122525        (WebCore::PendingCallbacks::PendingCommentCallback::call):
122526        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
122527        (WebCore::PendingCallbacks::):
122528        (WebCore::getParser):
122529        (WebCore::startElementNsHandler):
122530        (WebCore::endElementNsHandler):
122531        (WebCore::charactersHandler):
122532        (WebCore::processingInstructionHandler):
122533        (WebCore::cdataBlockHandler):
122534        (WebCore::commentHandler):
122535        (WebCore::warningHandler):
122536        (WebCore::fatalErrorHandler):
122537        (WebCore::normalErrorHandler):
122538        (WebCore::getEntityHandler):
122539        (WebCore::startDocumentHandler):
122540        (WebCore::endDocumentHandler):
122541        (WebCore::internalSubsetHandler):
122542        (WebCore::externalSubsetHandler):
122543        (WebCore::parseXMLDocumentFragment):
122544        * dom/XMLDocumentParserQt.cpp:
122545        (WebCore::parseXMLDocumentFragment):
122546        * html/HTML5EntityParser.cpp:
122547        * html/HTMLDocument.cpp:
122548        (WebCore::HTMLDocument::createParser):
122549        * html/HTMLDocument.h:
122550        * html/HTMLDocumentParser.cpp:
122551        (WebCore::HTMLDocumentParser::write):
122552        (WebCore::HTMLDocumentParser::stopParsing):
122553        * html/HTMLFormControlElement.cpp:
122554        (WebCore::HTMLFormControlElement::removedFromTree):
122555        * html/HTMLParser.cpp:
122556        (WebCore::HTMLParser::finished):
122557        (WebCore::HTMLParser::reportErrorToConsole):
122558        * html/HTMLViewSourceDocument.cpp:
122559        (WebCore::HTMLViewSourceDocument::createParser):
122560        (WebCore::HTMLViewSourceDocument::addLine):
122561        * html/HTMLViewSourceDocument.h:
122562        * loader/DocumentLoader.cpp:
122563        (WebCore::DocumentLoader::isLoadingInAPISense):
122564        * loader/DocumentWriter.cpp:
122565        (WebCore::DocumentWriter::begin):
122566        (WebCore::DocumentWriter::addData):
122567        * loader/FTPDirectoryDocument.cpp:
122568        (WebCore::FTPDirectoryDocument::createParser):
122569        * loader/FTPDirectoryDocument.h:
122570        * loader/FrameLoader.cpp:
122571        (WebCore::FrameLoader::stopLoading):
122572        (WebCore::FrameLoader::stop):
122573        * loader/ImageDocument.cpp:
122574        (WebCore::ImageDocument::createParser):
122575        * loader/ImageDocument.h:
122576        * loader/MediaDocument.cpp:
122577        (WebCore::MediaDocument::createParser):
122578        * loader/MediaDocument.h:
122579        * loader/PluginDocument.cpp:
122580        (WebCore::PluginDocument::createParser):
122581        * loader/PluginDocument.h:
122582        * loader/SinkDocument.cpp:
122583        (WebCore::SinkDocument::createParser):
122584        * loader/SinkDocument.h:
122585        * loader/TextDocument.cpp:
122586        (WebCore::TextDocument::createParser):
122587        (WebCore::createTextDocumentParser):
122588        * loader/TextDocument.h:
122589        * svg/SVGDocumentExtensions.cpp:
122590        (WebCore::SVGDocumentExtensions::reportWarning):
122591        (WebCore::SVGDocumentExtensions::reportError):
122592        * wml/WMLDocument.cpp:
122593        (WebCore::WMLDocument::finishedParsing):
122594        * wml/WMLErrorHandling.cpp:
122595        (WebCore::reportWMLError):
122596        * wml/WMLTemplateElement.cpp:
122597        (WebCore::WMLTemplateElement::registerTemplatesInDocument):
122598
1225992010-06-13  Chris Fleizach  <cfleizach@apple.com>
122600
122601        Reviewed by Darin Adler.
122602
122603        AX: link won't return linked element if URL contains #
122604        https://bugs.webkit.org/show_bug.cgi?id=40192
122605
122606        Test: platform/mac/accessibility/internal-link-when-document-has-fragment.html
122607
122608        * accessibility/AccessibilityRenderObject.cpp:
122609        (WebCore::AccessibilityRenderObject::internalLinkElement):
122610
1226112010-06-13  Sam Weinig  <sam@webkit.org>
122612
122613        Try and fix the chrome build.
122614
122615        * bindings/scripts/CodeGeneratorV8.pm:
122616        * xml/XMLHttpRequest.idl:
122617
1226182010-06-13  Sam Weinig  <sam@webkit.org>
122619
122620        Reviewed by Anders Carlsson.
122621
122622        Fix for https://bugs.webkit.org/show_bug.cgi?id=40550
122623        XMLHttpRequest constructor object should expose the constants from the IDL.
122624
122625        Test: fast/dom/XMLHttpRequest-constants.html
122626
122627        * Android.jscbindings.mk:
122628        * CMakeLists.txt:
122629        * GNUmakefile.am:
122630        * WebCore.gypi:
122631        * WebCore.pro:
122632        * WebCore.vcproj/WebCore.vcproj:
122633        * WebCore.xcodeproj/project.pbxproj:
122634        * bindings/js/JSBindingsAllInOne.cpp:
122635        * bindings/js/JSDOMWindowCustom.cpp:
122636        * bindings/js/JSWorkerContextCustom.cpp:
122637        * bindings/js/JSXMLHttpRequestConstructor.cpp: Removed.
122638        * bindings/js/JSXMLHttpRequestConstructor.h: Removed.
122639        * bindings/js/JSXMLHttpRequestCustom.cpp:
122640        (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
122641        * bindings/scripts/CodeGeneratorJS.pm:
122642        * xml/XMLHttpRequest.idl:
122643
1226442010-06-13  Simon Fraser  <simon.fraser@apple.com>
122645
122646        Reviewed by Dan Bernstein.
122647
122648        -webkit-transition font-size and font-family
122649        https://bugs.webkit.org/show_bug.cgi?id=33429
122650        
122651        When animating font-size, update the font with a saved
122652        version of the font selector to ensure that we don't clobber
122653        the font family.        
122654
122655        Test: transitions/font-family-during-transition.html
122656
122657        * rendering/style/RenderStyle.cpp:
122658        (WebCore::RenderStyle::setBlendedFontSize):
122659
1226602010-06-13  Tony Chang  <tony@chromium.org>
122661
122662        Build fix, not reviewed.
122663
122664        fix chromium compile after r61094 (id attribute refactor)
122665        https://bugs.webkit.org/show_bug.cgi?id=40553
122666
122667        * bindings/v8/custom/V8NamedNodesCollection.cpp:
122668        (WebCore::V8NamedNodesCollection::itemWithName):
122669
1226702010-06-13  Darin Adler  <darin@apple.com>
122671
122672        Reviewed by Alexey Proskuryakov.
122673
122674        Partly done support for alternate ID attributes should be removed
122675        https://bugs.webkit.org/show_bug.cgi?id=39692
122676
122677        Removed the include of "HTMLNames.h" from "Element.h". This prevents
122678        near-world-rebuilds every time you change HTMLTagNames.in.
122679
122680        Renamed the getIDAttribute function in the Element class to
122681        idForStyleResolution, since it returns a value of the id attribute
122682        that has been lowercased as appropriate for style matching, not the
122683        actual value of the attribute. With the old name it was easy to
122684        misuse it in non-style contexts.
122685
122686        Got rid of the idAttributeName function on Element, since it is
122687        easy to use it wrong. Replace it with isIdAttributeName, getIdAttribute,
122688        and setIdAttribute functions, which are a good fit for the needs of
122689        most call sites that were dealing with the id attribute.
122690
122691        Added an idAttributeName function to Document. This is for a future
122692        where a document can have a custom id attribute name specified in its
122693        doctype. It's possible this will be insufficient because the same
122694        document might have XHTML or SVG elements in it, and it's possible
122695        that on those elements we will want the attribute named "id" with
122696        no namespace to still work. We can deal with that when we implement
122697        the actual feature, though. For now, it seems OK to fetch the name
122698        of the id attribute from the document.
122699
122700        * dom/DynamicNodeList.cpp:
122701        (WebCore::DynamicNodeList::itemWithName):
122702        * dom/StaticNodeList.cpp:
122703        (WebCore::StaticNodeList::itemWithName):
122704        * rendering/RenderSVGResourceContainer.h:
122705        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
122706        (WebCore::RenderSVGResourceContainer::idChanged):
122707        * svg/SVGUseElement.cpp:
122708        (WebCore::SVGUseElement::handleDeepUseReferencing):
122709        * svg/animation/SMILTimeContainer.cpp:
122710        (WebCore::SMILTimeContainer::updateAnimations):
122711        Use the new idForStyleResolution function, which is the new name of
122712        the getIDAttribute function. There's a good chance these call sites are
122713        incorrect, which is something we should investigate later, so there's
122714        a FIXME at each call site.
122715
122716        * dom/Document.cpp:
122717        (WebCore::Document::Document): Initialize m_idAttributeName to the
122718        standard id attribute from HTML.
122719        (WebCore::Document::getElementById): Use Element::getIdAttribute.
122720        * dom/Document.h: Added Document::idAttributeName.
122721
122722        * dom/Element.cpp:
122723        (WebCore::Element::setAttribute): Use Document::idAttributeName.
122724        (WebCore::Element::setAttributeMap): Use Element::isIdAttributeName.
122725        (WebCore::Element::insertedIntoDocument): Use Document::idAttributeName.
122726        (WebCore::Element::removedFromDocument): Ditto.
122727        (WebCore::Element::formatForDebugger): Use Element::getIdAttribute.
122728        * dom/Element.h: Added isIdAttributeName, getIdAttribute, setIdAttribute,
122729        idForStyleResolution. Removed rareIDAttributeName.
122730
122731        * dom/ElementRareData.h: Removed m_idAttributeName.
122732
122733        * dom/NamedNodeMap.cpp:
122734        (WebCore::NamedNodeMap::setAttributes): Use Document::idAttributeName.
122735        * dom/NamedNodeMap.h: Renamed id, setID, and m_id to idForStyleResolution,
122736        setIdForStyleResolution, and m_idForStyleResolution since this is not the
122737        value of the id attribute because it gets lowercased for compatibility-mode
122738        documents.
122739
122740        * rendering/RenderIFrame.cpp:
122741        * rendering/RenderLayerCompositor.cpp:
122742        * rendering/RenderProgress.cpp:
122743        Added include of HTMLNames.h now that Element.h no longer includes it.
122744
122745        * editing/SetNodeAttributeCommand.h:
122746        * editing/markup.cpp:
122747        * html/HTMLParser.cpp:
122748        Removed unneeded includes.
122749
122750        * html/HTMLParser.h: Sorted includes.
122751
122752        * css/CSSStyleSelector.cpp:
122753        (WebCore::CSSStyleSelector::matchRules): Use idForStyleResolution.
122754        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Use idForStyleResolution.
122755        * dom/Attr.cpp:
122756        (WebCore::Attr::isId): Use Document::idAttributeName.
122757        * dom/StyledElement.cpp:
122758        (WebCore::StyledElement::parseMappedAttribute): Use isIdAttributeName,
122759        and setIdForStyleResolution.
122760        * editing/DeleteButtonController.cpp:
122761        (WebCore::DeleteButtonController::createDeletionUI): Use setIdAttribute.
122762        * editing/EditorCommand.cpp:
122763        (WebCore::executeInsertHorizontalRule): Ditto.
122764        * html/HTMLAppletElement.cpp:
122765        (WebCore::HTMLAppletElement::parseMappedAttribute): Use isIdAttributeName.
122766        (WebCore::HTMLAppletElement::createRenderer): Use getIdAttribute.
122767        * html/HTMLCollection.cpp:
122768        (WebCore::HTMLCollection::checkForNameMatch): Use getIdAttribute.
122769        (WebCore::HTMLCollection::updateNameCache): Use getIdAttribute.
122770        * html/HTMLDataGridColElement.cpp:
122771        (WebCore::HTMLDataGridColElement::ensureColumn): Use getIdAttribute.
122772        (WebCore::HTMLDataGridColElement::parseMappedAttribute): Use isIdAttributeName.
122773        * html/HTMLElement.cpp:
122774        (WebCore::HTMLElement::parseMappedAttribute): Use isIdAttributeName.
122775        * html/HTMLFormCollection.cpp:
122776        (WebCore::HTMLFormCollection::nextNamedItem): Added missing braces.
122777        (WebCore::HTMLFormCollection::updateNameCache): Use getIdAttribute.
122778        * html/HTMLFrameElementBase.cpp:
122779        (WebCore::HTMLFrameElementBase::parseMappedAttribute): Use isIdAttributeName.
122780        (WebCore::HTMLFrameElementBase::setName): Use getIdAttribute.
122781        * html/HTMLImageElement.cpp:
122782        (WebCore::HTMLImageElement::parseMappedAttribute): Use isIdAttributeName.
122783        * html/HTMLMapElement.cpp:
122784        (WebCore::HTMLMapElement::parseMappedAttribute): Use isIdAttributeName.
122785        Also restructured the function a bit to make its structure clearer and added
122786        a comment pointing out that it can't be quite right.
122787        * html/HTMLNameCollection.cpp:
122788        (WebCore::HTMLNameCollection::itemAfter): Use getIdAttribute.
122789        * html/HTMLObjectElement.cpp:
122790        (WebCore::HTMLObjectElement::parseMappedAttribute): Use isIdAttributeName.
122791        * html/HTMLParamElement.cpp:
122792        (WebCore::HTMLParamElement::parseMappedAttribute): Use isIdAttributeName.
122793        * loader/CachedFont.cpp:
122794        (WebCore::CachedFont::getSVGFontById): Use getIdAttribute.
122795        * rendering/RenderLayerBacking.cpp:
122796        (WebCore::RenderLayerBacking::nameForLayer): Use getIdAttribute.
122797        * rendering/SVGRenderTreeAsText.cpp:
122798        (WebCore::writeSVGPaintingResource): Use getIdAttribute.
122799        (WebCore::writeSVGResourceContainer): Ditto.
122800        * svg/SVGElement.cpp:
122801        (WebCore::SVGElement::insertedIntoDocument): Use getIdAttribute.
122802        * svg/SVGStyledElement.cpp:
122803        (WebCore::SVGStyledElement::isKnownAttribute): Use isIdAttributeName.
122804        (WebCore::SVGStyledElement::svgAttributeChanged): Use isIdAttributeName.
122805        * wml/WMLElement.cpp:
122806        (WebCore::WMLElement::parseMappedAttribute): Use isIdAttributeName.
122807
1228082010-06-13  Dan Bernstein  <mitz@apple.com>
122809
122810        Reviewed by Darin Adler.
122811
122812        <rdar://problem/8087385> REGRESSION (r60974): Continuous wheel scrolling is too fast in list boxes and in Safari Reader
122813        https://bugs.webkit.org/show_bug.cgi?id=40537
122814
122815        * platform/mac/WheelEventMac.mm:
122816        (WebCore::PlatformWheelEvent::PlatformWheelEvent): Only multiply by pixelsPerLineStep() if the
122817        event is not continuous, as was before r56012.
122818
1228192010-06-13  Andras Becsi  <abecsi@webkit.org>
122820
122821        Reviewed by Darin Adler.
122822
122823        Centralize the gperf code generation commands into make-hash-tools.pl
122824        to avoid redundancy across multiple build systems.
122825        Do this in preparation of refactoring the usage of these generated
122826        sources to fix the debug linking error on Linux with gcc >= 4.4.0.
122827
122828        webkit.org/b/29244
122829
122830        No functionality change, so no new tests needed.
122831
122832        * DerivedSources.make:
122833        * GNUmakefile.am:
122834        * WebCore.gyp/WebCore.gyp:
122835        * WebCore.gyp/scripts/rule_gperf.py: Removed.
122836        * WebCore.pri:
122837        * WebCore.xcodeproj/project.pbxproj:
122838        * css/CSSParser.cpp:
122839        (WebCore::cssPropertyID):
122840        (WebCore::cssValueKeywordID):
122841        * css/makeprop.pl:
122842        * css/makevalues.pl:
122843        * html/DocTypeStrings.gperf:
122844        * html/HTML5EntityParser.cpp:
122845        * html/HTMLDocumentParser.cpp:
122846        * html/HTMLEntityNames.gperf:
122847        * html/PreloadScanner.cpp:
122848        * make-hash-tools.pl: Added.
122849        * platform/ColorData.gperf:
122850        * platform/graphics/Color.cpp:
122851
1228522010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
122853
122854        Reviewed by Kenneth Rohde Christiansen.
122855
122856        [Qt] tests/hybridPixmap fails
122857        https://bugs.webkit.org/show_bug.cgi?id=37316
122858
122859        The problem was that JSC::Instance::createRuntimeObject was never called.
122860        This is fixed by overloading newRuntimeObject and calling Instance::createRuntimeObject
122861        in between, instead of creating the runtime object directly inside the static function
122862        QtPixmapInstance::createRuntimeObject, which had to be renamed as to not overshadow the virtual function.
122863
122864        This fixes an existing test, tests/hybridPixmap
122865
122866        * bridge/qt/qt_pixmapruntime.cpp:
122867        (JSC::Bindings::QtPixmapInstance::newRuntimeObject):
122868        (JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
122869        * bridge/qt/qt_pixmapruntime.h:
122870        * bridge/qt/qt_runtime.cpp:
122871        (JSC::Bindings::convertQVariantToValue):
122872
1228732010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
122874
122875        Reviewed by Darin Adler.
122876
122877        GraphicsContext3D.h in the Qt port includes too many unnecessary files
122878        https://bugs.webkit.org/show_bug.cgi?id=40536
122879
122880        Removed unncessary includes.
122881
122882        No new tests; Compilation improvement.
122883
122884        * platform/graphics/GraphicsContext3D.h:
122885        * platform/graphics/qt/GraphicsContext3DQt.cpp:
122886
1228872010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
122888
122889        Reviewed by Eric Seidel.
122890
122891        [Qt] GraphicsLayer: recaching images creates an unnecessary deep copy
122892        https://bugs.webkit.org/show_bug.cgi?id=40535
122893
122894        Made sure the painter ends its operation before copying the pixmap.
122895
122896        No new tests: this is an optimization.
122897
122898        * platform/graphics/qt/GraphicsLayerQt.cpp:
122899        (WebCore::GraphicsLayerQtImpl::recache):
122900
1229012010-06-13  Clemmitt Sigler  <cmsigler@gmail.com>
122902
122903        Reviewed by Eric Seidel.
122904
122905        Patch to fix missing references to RenderMathMLRoot,
122906        RenderMathMLSquareRoot when building GtkLauncher.
122907        https://bugs.webkit.org/show_bug.cgi?id=40326
122908
122909        No change in functionality so no new tests.
122910
122911        * GNUmakefile.am:
122912
1229132010-06-12  Brian Weinstein  <bweinstein@apple.com>
122914
122915        Reviewed by Dan Bernstein.
122916        
122917        https://bugs.webkit.org/show_bug.cgi?id=40538
122918        
122919        Some machines have started to see the return of the dreaded: WebCore.lib : fatal error LNK1106: invalid 
122920        file or disk full. Since we don't have the hotfix for VS2005, work around this in the meantime
122921        by creating an EditingAllInOne file, that includes all of the cpp files in the editing subdirectory.
122922        
122923        * WebCore.vcproj/WebCore.vcproj: Prevnt the editing cpp from building, so we only compile EditingAllInOne.
122924        * editing/EditingAllInOne.cpp: Added. Includes all of the editing cpp files.
122925
1229262010-06-12  Sheriff Bot  <webkit.review.bot@gmail.com>
122927
122928        Unreviewed, rolling out r61031.
122929        http://trac.webkit.org/changeset/61031
122930        https://bugs.webkit.org/show_bug.cgi?id=40539
122931
122932        Crashes Dromaeo jslib test in Release Chromium (Requested by
122933        dimich_ on #webkit).
122934
122935        * bindings/v8/V8Binding.cpp:
122936        (WebCore::v8ExternalString):
122937        * bindings/v8/V8Binding.h:
122938
1229392010-06-12  Eric Seidel  <eric@webkit.org>
122940
122941        Reviewed by Adam Barth.
122942
122943        Rename the last few *Tokenizer classes (which don't have their own files) to *DocumentParser
122944        https://bugs.webkit.org/show_bug.cgi?id=40508
122945
122946        This was a very simple do-webcore-rename-generated patch.
122947
122948        PluginTokenizer => PluginDocumentParser
122949        TextTokenizer => TextDocumentParser
122950        SinkTokenizer => SinkDocumentParser
122951        MediaTokenizer => MediaDocumentParser
122952        FTPDirectoryTokenizer => FTPDirectoryDocumentParser
122953
122954        No functional changes, thus no tests.
122955
122956        * html/HTMLViewSourceDocument.cpp:
122957        (WebCore::HTMLViewSourceDocument::createTokenizer):
122958        * html/HTMLViewSourceDocument.h:
122959        * loader/FTPDirectoryDocument.cpp:
122960        (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
122961        (WebCore::FTPDirectoryDocumentParser::appendEntry):
122962        (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
122963        (WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
122964        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
122965        (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
122966        (WebCore::FTPDirectoryDocumentParser::write):
122967        (WebCore::FTPDirectoryDocumentParser::finish):
122968        (WebCore::FTPDirectoryDocument::createTokenizer):
122969        * loader/MediaDocument.cpp:
122970        (WebCore::MediaDocumentParser::MediaDocumentParser):
122971        (WebCore::MediaDocumentParser::write):
122972        (WebCore::MediaDocumentParser::createDocumentStructure):
122973        (WebCore::MediaDocumentParser::writeRawData):
122974        (WebCore::MediaDocumentParser::finish):
122975        (WebCore::MediaDocumentParser::isWaitingForScripts):
122976        (WebCore::MediaDocument::createTokenizer):
122977        * loader/PluginDocument.cpp:
122978        (WebCore::PluginDocumentParser::PluginDocumentParser):
122979        (WebCore::PluginDocumentParser::pluginWidgetFromDocument):
122980        (WebCore::PluginDocumentParser::write):
122981        (WebCore::PluginDocumentParser::createDocumentStructure):
122982        (WebCore::PluginDocumentParser::writeRawData):
122983        (WebCore::PluginDocumentParser::finish):
122984        (WebCore::PluginDocumentParser::isWaitingForScripts):
122985        (WebCore::PluginDocument::createTokenizer):
122986        (WebCore::PluginDocument::pluginWidget):
122987        * loader/SinkDocument.cpp:
122988        (WebCore::SinkDocumentParser::SinkDocumentParser):
122989        (WebCore::SinkDocumentParser::finish):
122990        (WebCore::SinkDocument::createTokenizer):
122991        * loader/TextDocument.cpp:
122992        (WebCore::TextDocumentParser::TextDocumentParser):
122993        (WebCore::TextDocumentParser::~TextDocumentParser):
122994        (WebCore::TextDocumentParser::write):
122995        (WebCore::TextDocumentParser::finish):
122996        (WebCore::TextDocumentParser::isWaitingForScripts):
122997        (WebCore::TextDocument::createTokenizer):
122998        (WebCore::createTextTokenizer):
122999
1230002010-06-12  Anders Bakken  <agbakken@gmail.com>
123001
123002        Reviewed by Eric Seidel.
123003
123004        [Qt] EventHandlerQt.cpp has coding-style errors
123005        https://bugs.webkit.org/show_bug.cgi?id=40259
123006
123007        Coding style change only.
123008
123009        * page/qt/EventHandlerQt.cpp:
123010        (WebCore::EventHandler::eventActivatedView):
123011
1230122010-06-12  Kwang Yul Seo  <skyul@company100.net>
123013
123014        Reviewed by Darin Adler.
123015
123016        Unify fileSystemRepresentation and filenameFromString
123017        https://bugs.webkit.org/show_bug.cgi?id=40201
123018
123019        Remove filenameFromString and use fileSystemRepresentation instead
123020        as they do the same job.
123021
123022        * platform/FileSystem.cpp: Removed.
123023        * platform/FileSystem.h:
123024        * platform/efl/FileSystemEfl.cpp:
123025        (WebCore::fileSystemRepresentation):
123026        * platform/gtk/FileChooserGtk.cpp:
123027        (WebCore::FileChooser::basenameForWidth):
123028        * platform/gtk/FileSystemGtk.cpp:
123029        (WebCore::fileSystemRepresentation):
123030        (WebCore::filenameForDisplay):
123031        (WebCore::fileExists):
123032        (WebCore::deleteFile):
123033        (WebCore::deleteEmptyDirectory):
123034        (WebCore::getFileSize):
123035        (WebCore::getFileModificationTime):
123036        (WebCore::makeAllDirectories):
123037        (WebCore::pathGetFileName):
123038        (WebCore::directoryName):
123039        (WebCore::listDirectory):
123040        * platform/gtk/SharedBufferGtk.cpp:
123041        (WebCore::SharedBuffer::createWithContentsOfFile):
123042        * platform/network/soup/ResourceHandleSoup.cpp:
123043        (WebCore::startHttp):
123044        * platform/posix/SharedBufferPOSIX.cpp:
123045        (WebCore::SharedBuffer::createWithContentsOfFile):
123046
1230472010-06-12  Patrick Gansterer  <paroga@paroga.com>
123048
123049        Reviewed by Eric Seidel.
123050
123051        [Haiku] Cleanup SharedBuffer::createWithContentsOfFile
123052        https://bugs.webkit.org/show_bug.cgi?id=39003
123053
123054        * platform/haiku/SharedBufferHaiku.cpp:
123055        (WebCore::SharedBuffer::createWithContentsOfFile):
123056
1230572010-06-12  Anders Bakken  <agbakken@gmail.com>
123058
123059        Reviewed by Eric Seidel.
123060
123061        [Qt] WheelEventQt.cpp has coding-style errors
123062        https://bugs.webkit.org/show_bug.cgi?id=39760
123063
123064        * platform/qt/WheelEventQt.cpp:
123065        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
123066
1230672010-06-12  Kwang Yul Seo  <skyul@company100.net>
123068
123069        Reviewed by Kent Tamura.
123070
123071        [BREWMP] Don't include POSIX headers in WebCorePrefix.h
123072        https://bugs.webkit.org/show_bug.cgi?id=39411
123073
123074        When building for BREW MP, don't include POSIX headers:
123075        <fcntl.h>, <pthread.h> and <sys/types.h>.
123076
123077        * WebCorePrefix.h:
123078
1230792010-06-11  Eric Seidel  <eric@webkit.org>
123080
123081        Reviewed by Adam Barth.
123082
123083        Rename the rest of the *Tokenizer classes to *DocumentParser
123084        https://bugs.webkit.org/show_bug.cgi?id=40507
123085
123086        This search/replace was done by do-webcore-rename.
123087        Just looking for a rubber stamp.
123088        
123089        XMLTokenizer => XMLDocumentParser
123090        XMLTokenizerLibxml2 => XMLDocumentParserLibxml2
123091        XMLTokenizerQt => XMLDocumentParserQt
123092        XMLTokenizerScope => XMLDocumentParserScope
123093        HTML5Tokenizer => HTML5DocumentParser
123094        HTMLTokenizer => HTMLDocumentParser
123095
123096        No functional change, thus no tests.
123097
123098        * Android.mk:
123099        * CMakeLists.txt:
123100        * GNUmakefile.am:
123101        * WebCore.gypi:
123102        * WebCore.pro:
123103        * WebCore.vcproj/WebCore.vcproj:
123104        * WebCore.xcodeproj/project.pbxproj:
123105        * css/CSSStyleSheet.cpp:
123106        (WebCore::CSSStyleSheet::checkLoaded):
123107        * dom/Document.cpp:
123108        (WebCore::Document::createTokenizer):
123109        (WebCore::Document::write):
123110        * dom/Document.h:
123111        (WebCore::Document::setXMLEncoding):
123112        * dom/DocumentParser.h:
123113        (WebCore::DocumentParser::asHTMLTokenizer):
123114        * dom/Element.cpp:
123115        * dom/ProcessingInstruction.cpp:
123116        * dom/XMLDocumentParser.cpp: Added.
123117        (WebCore::XMLDocumentParser::isWMLDocument):
123118        (WebCore::XMLDocumentParser::pushCurrentNode):
123119        (WebCore::XMLDocumentParser::popCurrentNode):
123120        (WebCore::XMLDocumentParser::clearCurrentNodeStack):
123121        (WebCore::XMLDocumentParser::write):
123122        (WebCore::XMLDocumentParser::handleError):
123123        (WebCore::XMLDocumentParser::enterText):
123124        (WebCore::toString):
123125        (WebCore::XMLDocumentParser::exitText):
123126        (WebCore::XMLDocumentParser::end):
123127        (WebCore::XMLDocumentParser::finish):
123128        (WebCore::createXHTMLParserErrorHeader):
123129        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
123130        (WebCore::XMLDocumentParser::notifyFinished):
123131        (WebCore::XMLDocumentParser::isWaitingForScripts):
123132        (WebCore::XMLDocumentParser::pauseParsing):
123133        * dom/XMLDocumentParser.h: Added.
123134        (WebCore::XMLParserContext::context):
123135        (WebCore::XMLParserContext::XMLParserContext):
123136        (WebCore::XMLDocumentParser::):
123137        (WebCore::XMLDocumentParser::setIsXHTMLDocument):
123138        (WebCore::XMLDocumentParser::isXHTMLDocument):
123139        (WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
123140        (WebCore::XMLDocumentParser::isXHTMLMPDocument):
123141        (WebCore::XMLDocumentParser::wellFormed):
123142        (WebCore::XMLDocumentParser::context):
123143        * dom/XMLDocumentParserLibxml2.cpp: Added.
123144        (WebCore::PendingCallbacks::~PendingCallbacks):
123145        (WebCore::PendingCallbacks::appendStartElementNSCallback):
123146        (WebCore::PendingCallbacks::appendEndElementNSCallback):
123147        (WebCore::PendingCallbacks::appendCharactersCallback):
123148        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
123149        (WebCore::PendingCallbacks::appendCDATABlockCallback):
123150        (WebCore::PendingCallbacks::appendCommentCallback):
123151        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
123152        (WebCore::PendingCallbacks::appendErrorCallback):
123153        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
123154        (WebCore::PendingCallbacks::isEmpty):
123155        (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
123156        (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
123157        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
123158        (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
123159        (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
123160        (WebCore::PendingCallbacks::PendingCharactersCallback::call):
123161        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
123162        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
123163        (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
123164        (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
123165        (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
123166        (WebCore::PendingCallbacks::PendingCommentCallback::call):
123167        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
123168        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
123169        (WebCore::PendingCallbacks::):
123170        (WebCore::matchFunc):
123171        (WebCore::OffsetBuffer::OffsetBuffer):
123172        (WebCore::OffsetBuffer::readOutBytes):
123173        (WebCore::shouldAllowExternalLoad):
123174        (WebCore::openFunc):
123175        (WebCore::readFunc):
123176        (WebCore::writeFunc):
123177        (WebCore::closeFunc):
123178        (WebCore::errorFunc):
123179        (WebCore::XMLParserContext::createStringParser):
123180        (WebCore::XMLParserContext::createMemoryParser):
123181        (WebCore::XMLDocumentParser::XMLDocumentParser):
123182        (WebCore::XMLParserContext::~XMLParserContext):
123183        (WebCore::XMLDocumentParser::~XMLDocumentParser):
123184        (WebCore::XMLDocumentParser::doWrite):
123185        (WebCore::toString):
123186        (WebCore::handleElementNamespaces):
123187        (WebCore::handleElementAttributes):
123188        (WebCore::XMLDocumentParser::startElementNs):
123189        (WebCore::XMLDocumentParser::endElementNs):
123190        (WebCore::XMLDocumentParser::characters):
123191        (WebCore::XMLDocumentParser::error):
123192        (WebCore::XMLDocumentParser::processingInstruction):
123193        (WebCore::XMLDocumentParser::cdataBlock):
123194        (WebCore::XMLDocumentParser::comment):
123195        (WebCore::XMLDocumentParser::startDocument):
123196        (WebCore::XMLDocumentParser::endDocument):
123197        (WebCore::XMLDocumentParser::internalSubset):
123198        (WebCore::getTokenizer):
123199        (WebCore::hackAroundLibXMLEntityBug):
123200        (WebCore::startElementNsHandler):
123201        (WebCore::endElementNsHandler):
123202        (WebCore::charactersHandler):
123203        (WebCore::processingInstructionHandler):
123204        (WebCore::cdataBlockHandler):
123205        (WebCore::commentHandler):
123206        (WebCore::warningHandler):
123207        (WebCore::fatalErrorHandler):
123208        (WebCore::normalErrorHandler):
123209        (WebCore::):
123210        (WebCore::sharedXHTMLEntity):
123211        (WebCore::getXHTMLEntity):
123212        (WebCore::getEntityHandler):
123213        (WebCore::startDocumentHandler):
123214        (WebCore::endDocumentHandler):
123215        (WebCore::internalSubsetHandler):
123216        (WebCore::externalSubsetHandler):
123217        (WebCore::ignorableWhitespaceHandler):
123218        (WebCore::XMLDocumentParser::initializeParserContext):
123219        (WebCore::XMLDocumentParser::doEnd):
123220        (WebCore::xmlDocPtrForString):
123221        (WebCore::XMLDocumentParser::lineNumber):
123222        (WebCore::XMLDocumentParser::columnNumber):
123223        (WebCore::XMLDocumentParser::stopParsing):
123224        (WebCore::XMLDocumentParser::resumeParsing):
123225        (WebCore::parseXMLDocumentFragment):
123226        (WebCore::attributesStartElementNsHandler):
123227        (WebCore::parseAttributes):
123228        * dom/XMLDocumentParserQt.cpp: Added.
123229        (WebCore::EntityResolver::resolveUndeclaredEntity):
123230        (WebCore::XMLDocumentParser::XMLDocumentParser):
123231        (WebCore::XMLDocumentParser::~XMLDocumentParser):
123232        (WebCore::XMLDocumentParser::doWrite):
123233        (WebCore::XMLDocumentParser::initializeParserContext):
123234        (WebCore::XMLDocumentParser::doEnd):
123235        (WebCore::XMLDocumentParser::lineNumber):
123236        (WebCore::XMLDocumentParser::columnNumber):
123237        (WebCore::XMLDocumentParser::stopParsing):
123238        (WebCore::XMLDocumentParser::resumeParsing):
123239        (WebCore::parseXMLDocumentFragment):
123240        (WebCore::attributesStartElementNsHandler):
123241        (WebCore::parseAttributes):
123242        (WebCore::prefixFromQName):
123243        (WebCore::handleElementNamespaces):
123244        (WebCore::handleElementAttributes):
123245        (WebCore::XMLDocumentParser::parse):
123246        (WebCore::XMLDocumentParser::startDocument):
123247        (WebCore::XMLDocumentParser::parseStartElement):
123248        (WebCore::XMLDocumentParser::parseEndElement):
123249        (WebCore::XMLDocumentParser::parseCharacters):
123250        (WebCore::XMLDocumentParser::parseProcessingInstruction):
123251        (WebCore::XMLDocumentParser::parseCdata):
123252        (WebCore::XMLDocumentParser::parseComment):
123253        (WebCore::XMLDocumentParser::endDocument):
123254        (WebCore::XMLDocumentParser::hasError):
123255        (WebCore::XMLDocumentParser::parseDtd):
123256        * dom/XMLDocumentParserScope.cpp: Added.
123257        (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
123258        (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
123259        * dom/XMLDocumentParserScope.h: Added.
123260        * dom/XMLTokenizer.cpp: Removed.
123261        * dom/XMLTokenizer.h: Removed.
123262        * dom/XMLTokenizerLibxml2.cpp: Removed.
123263        * dom/XMLTokenizerQt.cpp: Removed.
123264        * dom/XMLTokenizerScope.cpp: Removed.
123265        * dom/XMLTokenizerScope.h: Removed.
123266        * html/HTML5DocumentParser.cpp: Added.
123267        (WebCore::):
123268        (WebCore::HTML5DocumentParser::HTML5DocumentParser):
123269        (WebCore::HTML5DocumentParser::~HTML5DocumentParser):
123270        (WebCore::HTML5DocumentParser::begin):
123271        (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
123272        (WebCore::HTML5DocumentParser::pumpLexer):
123273        (WebCore::HTML5DocumentParser::write):
123274        (WebCore::HTML5DocumentParser::end):
123275        (WebCore::HTML5DocumentParser::attemptToEnd):
123276        (WebCore::HTML5DocumentParser::endIfDelayed):
123277        (WebCore::HTML5DocumentParser::finish):
123278        (WebCore::HTML5DocumentParser::executingScript):
123279        (WebCore::HTML5DocumentParser::lineNumber):
123280        (WebCore::HTML5DocumentParser::columnNumber):
123281        (WebCore::HTML5DocumentParser::htmlParser):
123282        (WebCore::HTML5DocumentParser::isWaitingForScripts):
123283        (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
123284        (WebCore::HTML5DocumentParser::watchForLoad):
123285        (WebCore::HTML5DocumentParser::stopWatchingForLoad):
123286        (WebCore::HTML5DocumentParser::shouldLoadExternalScriptFromSrc):
123287        (WebCore::HTML5DocumentParser::executeScript):
123288        (WebCore::HTML5DocumentParser::notifyFinished):
123289        (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets):
123290        (WebCore::HTML5DocumentParser::script):
123291        * html/HTML5DocumentParser.h: Added.
123292        (WebCore::HTML5DocumentParser::InputStream::InputStream):
123293        (WebCore::HTML5DocumentParser::InputStream::appendToEnd):
123294        (WebCore::HTML5DocumentParser::InputStream::insertAtCurrentInsertionPoint):
123295        (WebCore::HTML5DocumentParser::InputStream::close):
123296        (WebCore::HTML5DocumentParser::InputStream::current):
123297        (WebCore::HTML5DocumentParser::InputStream::splitInto):
123298        (WebCore::HTML5DocumentParser::InputStream::mergeFrom):
123299        (WebCore::HTML5DocumentParser::InsertionPointRecord::InsertionPointRecord):
123300        (WebCore::HTML5DocumentParser::InsertionPointRecord::~InsertionPointRecord):
123301        (WebCore::HTML5DocumentParser::inWrite):
123302        * html/HTML5Lexer.h:
123303        (WebCore::HTML5Lexer::columnNumber):
123304        * html/HTML5Tokenizer.cpp: Removed.
123305        * html/HTML5Tokenizer.h: Removed.
123306        * html/HTML5TreeBuilder.cpp:
123307        * html/HTMLDocument.cpp:
123308        (WebCore::HTMLDocument::createTokenizer):
123309        * html/HTMLDocumentParser.cpp: Added.
123310        (WebCore::):
123311        (WebCore::fixUpChar):
123312        (WebCore::tagMatch):
123313        (WebCore::Token::addAttribute):
123314        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
123315        (WebCore::HTMLDocumentParser::reset):
123316        (WebCore::HTMLDocumentParser::begin):
123317        (WebCore::HTMLDocumentParser::setForceSynchronous):
123318        (WebCore::HTMLDocumentParser::processListing):
123319        (WebCore::HTMLDocumentParser::parseNonHTMLText):
123320        (WebCore::HTMLDocumentParser::scriptHandler):
123321        (WebCore::HTMLDocumentParser::scriptExecution):
123322        (WebCore::HTMLDocumentParser::parseComment):
123323        (WebCore::HTMLDocumentParser::parseServer):
123324        (WebCore::HTMLDocumentParser::parseProcessingInstruction):
123325        (WebCore::HTMLDocumentParser::parseText):
123326        (WebCore::HTMLDocumentParser::parseEntity):
123327        (WebCore::HTMLDocumentParser::parseDoctype):
123328        (WebCore::HTMLDocumentParser::parseTag):
123329        (WebCore::HTMLDocumentParser::continueProcessing):
123330        (WebCore::HTMLDocumentParser::advance):
123331        (WebCore::HTMLDocumentParser::willWriteHTML):
123332        (WebCore::HTMLDocumentParser::didWriteHTML):
123333        (WebCore::HTMLDocumentParser::write):
123334        (WebCore::HTMLDocumentParser::stopParsing):
123335        (WebCore::HTMLDocumentParser::processingData):
123336        (WebCore::HTMLDocumentParser::timerFired):
123337        (WebCore::HTMLDocumentParser::end):
123338        (WebCore::HTMLDocumentParser::finish):
123339        (WebCore::HTMLDocumentParser::processToken):
123340        (WebCore::HTMLDocumentParser::processDoctypeToken):
123341        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
123342        (WebCore::HTMLDocumentParser::enlargeBuffer):
123343        (WebCore::HTMLDocumentParser::enlargeScriptBuffer):
123344        (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
123345        (WebCore::HTMLDocumentParser::notifyFinished):
123346        (WebCore::HTMLDocumentParser::executeExternalScriptsIfReady):
123347        (WebCore::HTMLDocumentParser::executeExternalScriptsTimerFired):
123348        (WebCore::HTMLDocumentParser::continueExecutingExternalScripts):
123349        (WebCore::HTMLDocumentParser::isWaitingForScripts):
123350        (WebCore::HTMLDocumentParser::setSrc):
123351        (WebCore::parseHTMLDocumentFragment):
123352        (WebCore::decodeNamedEntity):
123353        * html/HTMLDocumentParser.h: Added.
123354        (WebCore::Token::Token):
123355        (WebCore::Token::~Token):
123356        (WebCore::Token::isOpenTag):
123357        (WebCore::Token::isCloseTag):
123358        (WebCore::Token::reset):
123359        (WebCore::Token::addViewSourceChar):
123360        (WebCore::):
123361        (WebCore::DoctypeToken::DoctypeToken):
123362        (WebCore::DoctypeToken::reset):
123363        (WebCore::DoctypeToken::state):
123364        (WebCore::DoctypeToken::setState):
123365        (WebCore::HTMLDocumentParser::forceSynchronous):
123366        (WebCore::HTMLDocumentParser::executingScript):
123367        (WebCore::HTMLDocumentParser::lineNumber):
123368        (WebCore::HTMLDocumentParser::columnNumber):
123369        (WebCore::HTMLDocumentParser::processingContentWrittenByScript):
123370        (WebCore::HTMLDocumentParser::htmlParser):
123371        (WebCore::HTMLDocumentParser::asHTMLTokenizer):
123372        (WebCore::HTMLDocumentParser::checkBuffer):
123373        (WebCore::HTMLDocumentParser::checkScriptBuffer):
123374        (WebCore::HTMLDocumentParser::):
123375        (WebCore::HTMLDocumentParser::State::State):
123376        (WebCore::HTMLDocumentParser::State::tagState):
123377        (WebCore::HTMLDocumentParser::State::setTagState):
123378        (WebCore::HTMLDocumentParser::State::entityState):
123379        (WebCore::HTMLDocumentParser::State::setEntityState):
123380        (WebCore::HTMLDocumentParser::State::inScript):
123381        (WebCore::HTMLDocumentParser::State::setInScript):
123382        (WebCore::HTMLDocumentParser::State::inStyle):
123383        (WebCore::HTMLDocumentParser::State::setInStyle):
123384        (WebCore::HTMLDocumentParser::State::inXmp):
123385        (WebCore::HTMLDocumentParser::State::setInXmp):
123386        (WebCore::HTMLDocumentParser::State::inTitle):
123387        (WebCore::HTMLDocumentParser::State::setInTitle):
123388        (WebCore::HTMLDocumentParser::State::inIFrame):
123389        (WebCore::HTMLDocumentParser::State::setInIFrame):
123390        (WebCore::HTMLDocumentParser::State::inPlainText):
123391        (WebCore::HTMLDocumentParser::State::setInPlainText):
123392        (WebCore::HTMLDocumentParser::State::inProcessingInstruction):
123393        (WebCore::HTMLDocumentParser::State::setInProcessingInstruction):
123394        (WebCore::HTMLDocumentParser::State::inComment):
123395        (WebCore::HTMLDocumentParser::State::setInComment):
123396        (WebCore::HTMLDocumentParser::State::inDoctype):
123397        (WebCore::HTMLDocumentParser::State::setInDoctype):
123398        (WebCore::HTMLDocumentParser::State::inTextArea):
123399        (WebCore::HTMLDocumentParser::State::setInTextArea):
123400        (WebCore::HTMLDocumentParser::State::escaped):
123401        (WebCore::HTMLDocumentParser::State::setEscaped):
123402        (WebCore::HTMLDocumentParser::State::inServer):
123403        (WebCore::HTMLDocumentParser::State::setInServer):
123404        (WebCore::HTMLDocumentParser::State::skipLF):
123405        (WebCore::HTMLDocumentParser::State::setSkipLF):
123406        (WebCore::HTMLDocumentParser::State::startTag):
123407        (WebCore::HTMLDocumentParser::State::setStartTag):
123408        (WebCore::HTMLDocumentParser::State::discardLF):
123409        (WebCore::HTMLDocumentParser::State::setDiscardLF):
123410        (WebCore::HTMLDocumentParser::State::allowYield):
123411        (WebCore::HTMLDocumentParser::State::setAllowYield):
123412        (WebCore::HTMLDocumentParser::State::loadingExtScript):
123413        (WebCore::HTMLDocumentParser::State::setLoadingExtScript):
123414        (WebCore::HTMLDocumentParser::State::forceSynchronous):
123415        (WebCore::HTMLDocumentParser::State::setForceSynchronous):
123416        (WebCore::HTMLDocumentParser::State::inAnyNonHTMLText):
123417        (WebCore::HTMLDocumentParser::State::hasTagState):
123418        (WebCore::HTMLDocumentParser::State::hasEntityState):
123419        (WebCore::HTMLDocumentParser::State::needsSpecialWriteHandling):
123420        (WebCore::HTMLDocumentParser::State::):
123421        (WebCore::HTMLDocumentParser::State::setBit):
123422        (WebCore::HTMLDocumentParser::State::testBit):
123423        * html/HTMLElement.cpp:
123424        * html/HTMLFormControlElement.cpp:
123425        * html/HTMLParser.cpp:
123426        (WebCore::HTMLParser::reportErrorToConsole):
123427        * html/HTMLParser.h:
123428        * html/HTMLTokenizer.cpp: Removed.
123429        * html/HTMLTokenizer.h: Removed.
123430        * html/HTMLViewSourceDocument.cpp:
123431        (WebCore::HTMLViewSourceDocument::createTokenizer):
123432        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
123433        * html/HTMLViewSourceDocument.h:
123434        * loader/DocumentLoader.cpp:
123435        * loader/FTPDirectoryDocument.cpp:
123436        (WebCore::FTPDirectoryTokenizer::FTPDirectoryTokenizer):
123437        (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
123438        (WebCore::FTPDirectoryTokenizer::finish):
123439        * loader/FrameLoader.cpp:
123440        * loader/ImageDocument.cpp:
123441        * loader/MediaDocument.cpp:
123442        * loader/PluginDocument.cpp:
123443        * loader/TextDocument.cpp:
123444        * page/XSSAuditor.h:
123445        * svg/SVGDocumentExtensions.cpp:
123446        * wml/WMLErrorHandling.cpp:
123447        (WebCore::reportWMLError):
123448        * xml/XSLStyleSheetLibxslt.cpp:
123449        (WebCore::XSLStyleSheet::parseString):
123450        * xml/XSLTProcessor.cpp:
123451        * xml/XSLTProcessorLibxslt.cpp:
123452
1234532010-06-12  Andreas Kling  <andreas.kling@nokia.com>
123454
123455        Reviewed by Darin Adler.
123456
123457        Window object should have CanvasGradient and CanvasPattern
123458        https://bugs.webkit.org/show_bug.cgi?id=40394
123459
123460        This fixes the following tests:
123461        - canvas/philip/tests/2d.gradient.object.return.html
123462        - canvas/philip/tests/2d.pattern.basic.type.html
123463
123464        * html/canvas/CanvasGradient.idl:
123465        * html/canvas/CanvasPattern.idl:
123466        * page/DOMWindow.idl:
123467
1234682010-06-12  Dan Bernstein  <mitz@apple.com>
123469
123470        Reviewed by Oliver Hunt.
123471
123472        <rdar://problem/8025267> REGRESSION (Safari 4-TOT): Crash when a frame’s resize handler removes the frame
123473        https://bugs.webkit.org/show_bug.cgi?id=40534
123474
123475        Test: fast/replaced/frame-removed-during-resize.html
123476
123477        * rendering/RenderWidget.cpp:
123478        (WebCore::RenderWidget::updateWidgetPosition): Null-check m_widget, since resizing the widget
123479        may trigger an iframe’s resize handler, which may destroy the widget.
123480
1234812010-06-12  Dean Jackson  <dino@apple.com>
123482
123483        Reviewed by Darin Adler.
123484
123485        Animation keyframe timing functions are applying incorrectly
123486        https://bugs.webkit.org/show_bug.cgi?id=38963
123487        
123488        When copying RenderStyles, we have to clone the AnimationList so that each keyframe
123489        can have its own timing function.
123490
123491        Tests: animations/keyframe-timing-functions-transform.html
123492               animations/keyframe-timing-functions2.html
123493
123494        * platform/animation/Animation.h:
123495        (WebCore::Animation::create):
123496        * platform/animation/AnimationList.cpp:
123497        (WebCore::AnimationList::AnimationList):
123498        * platform/animation/AnimationList.h:
123499        (WebCore::AnimationList::AnimationList):
123500
1235012010-06-12  Dan Bernstein  <mitz@apple.com>
123502
123503        Reviewed by Dave Hyatt.
123504
123505        <rdar://problem/7882140> -webkit-column-break-* properties don’t do anything
123506        https://bugs.webkit.org/show_bug.cgi?id=40531
123507
123508        Test: fast/multicol/break-properties.html
123509
123510        * rendering/RenderBlock.cpp:
123511        (WebCore::RenderBlock::paintChildren): Check for -webkit-column-break-{before,after}: always
123512        and -webkit-column-break-inside: avoid when doing column layout.
123513
1235142010-06-13  Robert Hogan  <robert@webkit.org>
123515
123516        Reviewed by Alexey Proskuryakov.
123517
123518        FrameLoader::clear() clears JS objects that cached pages later rely on
123519
123520        https://bugs.webkit.org/show_bug.cgi?id=37725
123521        https://bugs.webkit.org/show_bug.cgi?id=31626
123522
123523        Fix the following tests for Qt:
123524
123525        fast/events/pageshow-pagehide-on-back-cached.html
123526        fast/events/pageshow-pagehide-on-back-cached-with-frames.html
123527        fast/loader/input-element-page-cache-crash.html
123528        fast/dom/Window/timer-resume-on-navigation-back.html
123529        loader/go-back-to-different-window-size.html
123530        fast/dom/javascript-url-crash-function.html
123531        fast/dom/location-new-window-no-crash.html
123532        http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open.html
123533
123534        which currently fail because the page's Qt-bindings runtime objects are
123535        cleared when navigating away from the page containing them.
123536
123537        Track Qt-bindings objects in a separate ScriptController::cacheableRootBindingObject().
123538        RuntimeObjects tracked by this root object will not get invalidated on page navigations,
123539        so they will still be available when the pages containing them are retrieved from the
123540        b/f cache.
123541
123542        This means the Qt bindings objects will only get cleared on Frame::pageDestroyed().
123543
123544        * bindings/js/ScriptController.cpp:
123545        (WebCore::ScriptController::~ScriptController):
123546        (WebCore::ScriptController::cacheableBindingRootObject):
123547        * bindings/js/ScriptController.h:
123548
1235492010-06-12  Kent Tamura  <tkent@chromium.org>
123550
123551        Reviewed by Darin Adler.
123552
123553        REGRESSION: Can't submit a form with <input type=radio required>
123554        https://bugs.webkit.org/show_bug.cgi?id=40429
123555
123556        Validity state was not updated correctly for radio buttons, and it
123557        prevents form submission even if a radio button group has a
123558        checked radio button.
123559
123560        Test: fast/forms/interactive-validation-required-radio.html
123561
123562        * html/HTMLInputElement.cpp:
123563        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
123564         Call setNeedsValidityCheck() for all of radio buttons in the same group
123565         to update validity state.
123566        (WebCore::HTMLInputElement::setChecked):
123567         Remove setNeedsValidityCheck() call because it is called in
123568         updateCheckedRadioButtons().
123569
1235702010-06-12  Kent Tamura  <tkent@chromium.org>
123571
123572        Reviewed by Dimitri Glazkov.
123573
123574        Disable interactive form validation in non-strict modes
123575        https://bugs.webkit.org/show_bug.cgi?id=40218
123576
123577        The interactive validation feature of HTML5 is not compatible with
123578        HTML4, and users and page authors don't expect existing sites work
123579        differently in WebKit. For example, maxlength and required attributes
123580        in existing sites unexpectedly prevented form submission.
123581        So, we disable the interactive validation feature in non-strict
123582        modes to improve compatibility.
123583
123584        Test: fast/forms/interactive-validation-compat-mode.html
123585              fast/forms/interactive-validation-html4.html
123586
123587        * html/HTMLFormElement.cpp:
123588        (WebCore::HTMLFormElement::validateInteractively):
123589         Process interactive validation only in the strict mode.
123590
1235912010-06-12  Eric Seidel  <eric@webkit.org>
123592
123593        Reviewed by David Levin.
123594
123595        Rename Tokenizer to DocumentParser to match what it actually does
123596        https://bugs.webkit.org/show_bug.cgi?id=40504
123597
123598        The rename was entirely done by do-webcore-rename.
123599        The only manual changes were removing out-dated comments
123600        and fixing Tokenizer_h to DocumentParser_h in the header guards.
123601
123602        I'll do all the rest of the renames (like the tokenizer subclasses
123603        and the tokenizer() createTokenizer() methods) in separate changes.
123604
123605        No functional change, thus no tests.
123606
123607        * GNUmakefile.am:
123608        * WebCore.gypi:
123609        * WebCore.vcproj/WebCore.vcproj:
123610        * WebCore.xcodeproj/project.pbxproj:
123611        * bindings/js/JSHTMLDocumentCustom.cpp:
123612        * bindings/v8/ScriptEventListener.cpp:
123613        * dom/Document.cpp:
123614        (WebCore::Document::createTokenizer):
123615        * dom/Document.h:
123616        (WebCore::Document::tokenizer):
123617        * dom/DocumentParser.h: Added.
123618        (WebCore::DocumentParser::~DocumentParser):
123619        (WebCore::DocumentParser::stopParsing):
123620        (WebCore::DocumentParser::processingData):
123621        (WebCore::DocumentParser::executingScript):
123622        (WebCore::DocumentParser::wantsRawData):
123623        (WebCore::DocumentParser::writeRawData):
123624        (WebCore::DocumentParser::inViewSourceMode):
123625        (WebCore::DocumentParser::setInViewSourceMode):
123626        (WebCore::DocumentParser::wellFormed):
123627        (WebCore::DocumentParser::lineNumber):
123628        (WebCore::DocumentParser::columnNumber):
123629        (WebCore::DocumentParser::executeScriptsWaitingForStylesheets):
123630        (WebCore::DocumentParser::htmlParser):
123631        (WebCore::DocumentParser::asHTMLTokenizer):
123632        (WebCore::DocumentParser::xssAuditor):
123633        (WebCore::DocumentParser::setXSSAuditor):
123634        (WebCore::DocumentParser::DocumentParser):
123635        * dom/Tokenizer.h: Removed.
123636        * dom/ViewportArguments.cpp:
123637        (WebCore::reportViewportWarning):
123638        * dom/XMLTokenizer.h:
123639        * dom/XMLTokenizerLibxml2.cpp:
123640        (WebCore::XMLTokenizer::stopParsing):
123641        * dom/XMLTokenizerQt.cpp:
123642        (WebCore::XMLTokenizer::stopParsing):
123643        * html/HTML5Tokenizer.cpp:
123644        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
123645        * html/HTML5Tokenizer.h:
123646        * html/HTMLDocument.cpp:
123647        (WebCore::HTMLDocument::createTokenizer):
123648        * html/HTMLDocument.h:
123649        * html/HTMLFormControlElement.cpp:
123650        (WebCore::HTMLFormControlElement::removedFromTree):
123651        * html/HTMLTokenizer.cpp:
123652        (WebCore::HTMLTokenizer::HTMLTokenizer):
123653        (WebCore::HTMLTokenizer::stopParsing):
123654        * html/HTMLTokenizer.h:
123655        * html/HTMLViewSourceDocument.cpp:
123656        (WebCore::HTMLViewSourceDocument::createTokenizer):
123657        * html/HTMLViewSourceDocument.h:
123658        * loader/DocumentLoader.cpp:
123659        (WebCore::DocumentLoader::isLoadingInAPISense):
123660        * loader/DocumentWriter.cpp:
123661        (WebCore::DocumentWriter::addData):
123662        * loader/FTPDirectoryDocument.cpp:
123663        (WebCore::FTPDirectoryDocument::createTokenizer):
123664        * loader/FTPDirectoryDocument.h:
123665        * loader/ImageDocument.cpp:
123666        (WebCore::ImageDocument::createTokenizer):
123667        * loader/ImageDocument.h:
123668        * loader/MediaDocument.cpp:
123669        (WebCore::MediaDocument::createTokenizer):
123670        * loader/MediaDocument.h:
123671        * loader/PluginDocument.cpp:
123672        (WebCore::PluginDocument::createTokenizer):
123673        * loader/PluginDocument.h:
123674        * loader/SinkDocument.cpp:
123675        (WebCore::SinkDocument::createTokenizer):
123676        * loader/SinkDocument.h:
123677        * loader/TextDocument.cpp:
123678        (WebCore::TextTokenizer::TextTokenizer):
123679        (WebCore::TextDocument::createTokenizer):
123680        (WebCore::createTextTokenizer):
123681        * loader/TextDocument.h:
123682        * wml/WMLDocument.cpp:
123683        (WebCore::WMLDocument::finishedParsing):
123684
1236852010-06-12  Eric Seidel  <eric@webkit.org>
123686
123687        Reviewed by Adam Barth.
123688
123689        HTML5Tokenizer needs to tell the InspectorTimelineAgent before and after it writes
123690        https://bugs.webkit.org/show_bug.cgi?id=40417
123691
123692        This "fixes" inspector/timeline-script-tag-1.html.  HTML5 results
123693        differ from the old parser for expected reasons.
123694
123695        HTML5Tokenizer calls InspectorTimelineAgent::will/didWriteHTML every
123696        time we pump the lexer instead of every write() call.
123697        We end up pumping the lexer slightly more often than the old code called
123698        write() in order to cleanly handle unclosed-entities, unclosed tags,
123699        buffered characters, etc. at the end of a document.
123700
123701        I discussed this extensively with James Robinson in #webkit and we decided
123702        that it was better for the HTML5Tokenizer to call for every pump and
123703        that the Inspector should later filter out empty pumps.
123704
123705        We can't filter out empty pumps yet, because the number of parsed
123706        characters is passed in willWrite instead of didWrite and thus is
123707        speculative (and wrong).  This is a problem independent of this change
123708        as willWrite's "length" argument is wrong in different ways for the old
123709        parser, including always being 0 when the old parser resumes.
123710
123711        Tested by inspector/timeline-script-tag-1.html
123712
123713        * html/HTML5Tokenizer.cpp:
123714        (WebCore::HTML5Tokenizer::willPumpLexer):
123715         - Notify the InspectorTimelineAgent we're about to process input.
123716        (WebCore::HTML5Tokenizer::didPumpLexer):
123717         - Notify the InspectorTimelineAgent we did process tokens.
123718        (WebCore::HTML5Tokenizer::pumpLexer):
123719         - Call willPump and didPump
123720        * html/HTML5Tokenizer.h:
123721        * inspector/InspectorTimelineAgent.h:
123722         - Add a FIXME about passing length to didWrite instead of willWrite.
123723
1237242010-06-11  Sheriff Bot  <webkit.review.bot@gmail.com>
123725
123726        Unreviewed, rolling out r61052.
123727        http://trac.webkit.org/changeset/61052
123728        https://bugs.webkit.org/show_bug.cgi?id=40517
123729
123730        "Broke fast/forms/caret-rtl.html on Mac bots" (Requested by
123731        eseidel on #webkit).
123732
123733        * html/HTMLElement.cpp:
123734        (WebCore::HTMLElement::mapToEntry):
123735        (WebCore::HTMLElement::parseMappedAttribute):
123736
1237372010-06-11  Maciej Stachowiak  <mjs@apple.com>
123738
123739        Reviewed by Ojan Vafai.
123740
123741        Implement HTML5 hidden attribute
123742        https://bugs.webkit.org/show_bug.cgi?id=40511
123743
123744        Test: fast/html/hidden-attr.html
123745        
123746        Note: I used the mapped attribute mechanism for this instead of a rule in the UA stylesheet
123747        to avoid a performance hit from adding a global attribute rule to the UA stylesheet.
123748
123749        * html/HTMLElement.cpp:
123750        (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
123751        (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.
123752
1237532010-06-10  Abhishek Arya  <inferno@chromium.org>
123754
123755        Reviewed by Dave Hyatt.
123756
123757        Do not render CSS Styles :first-letter and :first-line in a SVG text element context. 
123758        https://bugs.webkit.org/show_bug.cgi?id=40031
123759
123760        Test: svg/text/text-style-invalid.svg
123761
123762        * rendering/RenderSVGText.cpp:
123763        (WebCore::RenderSVGText::firstLineBlock):
123764        (WebCore::RenderSVGText::updateFirstLetter):
123765        * rendering/RenderSVGText.h:
123766
1237672010-06-11  Kenneth Russell  <kbr@google.com>
123768
123769        Reviewed by Dimitri Glazkov.
123770
123771        getParameter with UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL is buggy
123772        https://bugs.webkit.org/show_bug.cgi?id=40506
123773
123774        Return the data members of WebGLRenderingContext for these
123775        parameter queries rather than asking OpenGL, which knows nothing
123776        about them.
123777
123778        * html/canvas/WebGLRenderingContext.cpp:
123779        (WebCore::WebGLRenderingContext::getParameter):
123780
1237812010-06-11  Simon Fraser  <simon.fraser@apple.com>
123782
123783        Reviewed by Dr Dan Bernstein.
123784
123785        REGRESSION: crash when unloading an iFrame with Flash from the DOM
123786        https://bugs.webkit.org/show_bug.cgi?id=40161
123787        <rdar://problem/7994710>
123788        
123789        Null-check the ownerElement of the RenderView's document when unhooking the compositing
123790        root of an iframe whose layers are parented via the enclosing document. Fixes a crash when
123791        dynamically removing such an iframe.
123792
123793        Test: compositing/iframes/remove-iframe-crash.html
123794
123795        * rendering/RenderLayerCompositor.cpp:
123796        (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
123797
1237982010-06-11  Abhishek Arya  <inferno@chromium.org>
123799
123800        Reviewed by David Hyatt.
123801
123802        Don't process floats if parent node is not a RenderBlock.
123803        https://bugs.webkit.org/show_bug.cgi?id=40033
123804
123805        Test: svg/text/clear-floats-crash.svg
123806
123807        * rendering/RenderBlock.cpp:
123808        (WebCore::RenderBlock::clearFloats):
123809
1238102010-06-11  Sheriff Bot  <webkit.review.bot@gmail.com>
123811
123812        Unreviewed, rolling out r61036.
123813        http://trac.webkit.org/changeset/61036
123814        https://bugs.webkit.org/show_bug.cgi?id=40499
123815
123816        broke chromium compile (Requested by jamesr on #webkit).
123817
123818        * bindings/v8/SerializedScriptValue.cpp:
123819        * bindings/v8/SerializedScriptValue.h:
123820        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
123821        (WebCore::SerializedScriptValue::create):
123822        (WebCore::SerializedScriptValue::createFromWire):
123823        (WebCore::SerializedScriptValue::release):
123824        (WebCore::SerializedScriptValue::SerializedScriptValue):
123825
1238262010-06-11  Kenneth Russell  <kbr@google.com>
123827
123828        Reviewed by Dimitri Glazkov.
123829
123830        Add texImage2D and texSubImage2D signatures with internal format, etc.
123831        https://bugs.webkit.org/show_bug.cgi?id=40318
123832
123833        Added new texImage2D and texSubImage2D entry points following
123834        WebGL specification changes. Added UNPACK_FLIP_Y_WEBGL and
123835        UNPACK_PREMULTIPLY_ALPHA_WEBGL pixelStorei parameters, honored
123836        them for the new entry points taking HTML elements, and added
123837        support to getParameter. Added warnings to the console for calls
123838        to the obsolete entry points, which will be removed in a few
123839        weeks.  Updated all layout tests to use the new entry points and
123840        pixelStorei parameters, and associated expectations. No other new
123841        tests.
123842
123843        * html/canvas/WebGLRenderingContext.cpp:
123844        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
123845        (WebCore::WebGLRenderingContext::getParameter):
123846        (WebCore::WebGLRenderingContext::pixelStorei):
123847        (WebCore::WebGLRenderingContext::texImage2DImpl):
123848        (WebCore::WebGLRenderingContext::texImage2D):
123849        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
123850        (WebCore::WebGLRenderingContext::texSubImage2D):
123851        (WebCore::WebGLRenderingContext::printWarningToConsole):
123852        * html/canvas/WebGLRenderingContext.h:
123853        * html/canvas/WebGLRenderingContext.idl:
123854        * platform/graphics/GraphicsContext3D.h:
123855        (WebCore::GraphicsContext3D::):
123856
1238572010-06-11  James Robinson  <jamesr@chromium.org>
123858
123859        Reviewed by Dimitri Glazkov.
123860
123861        [chromium] Skia mispaints pages with border-radius
123862        https://bugs.webkit.org/show_bug.cgi?id=40456
123863
123864        Skia mispaints pages that have border radius set in some cases. The bug is in the anti aliased
123865        clip path logic used to implement anti aliased curves in Skia.  Since Skia internally only supports
123866        1-bit clips, anti aliased clipping is emulated by creating a new alpha layer, storing a set of
123867        clip paths on the side, and then 'erasing' the regions outside the clip.  See r49641.
123868        PlatformContextSkia maintains a stack of PlatformContextSkia::State objects that preserve information
123869        like fill color, drawing mode, etc that is manipulated by GraphicsContext::save() / 
123870        GraphicsContext::restore() calls as well some internal functions.  Whenever a new State object is pushed
123871        a new copy of the current State object is pushed onto the top of this stack using the copy c'tor.  The
123872        set of anti alias clip paths is also stored on the State object, but not copied when new entries are
123873        added as the paths only apply to that entry on the stack.
123874
123875        The bug is that the state stack is stored in a WTF::Vector.  When this vector exceeds its capacity
123876        (by default at 16 elements) all of the existing State entries are copied into the new buffer using
123877        State's copy constructor.  This does not preserve the anti alias clip paths, so when the State entries
123878        are popped the anti aliasing info is lost.  This corrupts all further paint operations since it results
123879        in inbalanced save/restore calls to the underlying SkCanvas.
123880
123881        The fix is to make the PlatformContextSkia::State copy constructor copy all fields and to add a new
123882        function PlatformContextSkia::State::cloneInheritedProperties to use when pushing new State entries
123883        that copies everything except for the anti aliased clip paths.
123884
123885        Test: fast/css/nested-rounded-corners.html
123886
123887        * platform/graphics/skia/PlatformContextSkia.cpp:
123888        (PlatformContextSkia::State::State):
123889        (PlatformContextSkia::State::cloneInheritedProperties):
123890        (PlatformContextSkia::save):
123891
1238922010-06-11  Jeremy Orlow  <jorlow@chromium.org>
123893
123894        Reviewed by Darin Fisher.
123895
123896        [V8] Clean up SerializedScriptValue
123897        https://bugs.webkit.org/show_bug.cgi?id=40482
123898
123899        SerializedScriptValue doesn't follow WebKit's style guidelines very well
123900        and needlessly inlines quite a bit within the .h file. This change cleans
123901        things up. No funcitonal changes.
123902
123903        No change in behavior.
123904
123905        * bindings/v8/SerializedScriptValue.cpp:
123906        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
123907        (WebCore::SerializedScriptValue::create):
123908        (WebCore::SerializedScriptValue::createFromWire):
123909        (WebCore::SerializedScriptValue::release):
123910        (WebCore::SerializedScriptValue::SerializedScriptValue):
123911        * bindings/v8/SerializedScriptValue.h:
123912
1239132010-06-11  Anton Muhin  <antonm@chromium.org>
123914
123915        Reviewed by Adam Barth.
123916
123917        [v8] Introduce single element caches for WebCore::String to v8::String conversions
123918        https://bugs.webkit.org/show_bug.cgi?id=40435
123919        Measurements show that for some web apps (GMail, Wave) and some scenarios
123920        (intensive reading and/or keeping a tab open for a long time),
123921        hit rate lies in 30--50% interval.
123922        Inlining fast case gives another minor performance win.
123923
123924        * bindings/v8/V8Binding.cpp:
123925        (WebCore::getStringCache):
123926        (WebCore::v8ExternalStringSlow):
123927        * bindings/v8/V8Binding.h:
123928        (WebCore::v8ExternalString):
123929
1239302010-06-11  Leandro Pereira  <leandro@profusion.mobi>
123931
123932        Reviewed by Gustavo Noronha Silva.
123933
123934        [EFL] Build fix: remove unneeded file (npapi.cpp) and add
123935        other files that got added to the tree.
123936        http://webkit.org/b/40331
123937
123938        * CMakeLists.txt:
123939        * CMakeListsEfl.txt:
123940
1239412010-06-11  Tony Gentilcore  <tonyg@chromium.org>
123942
123943        Reviewed by Eric Seidel.
123944
123945        Fix fast/forms/preserveFormDuringResidualStyle.html for HTML5 Parser.
123946        https://bugs.webkit.org/show_bug.cgi?id=40454
123947
123948        This required exposing the HTMLParser which we definitely don't want to
123949        do, but the good news is that it can go away when the HTMLParser goes
123950        away.
123951
123952        No new tests because covered by fast/forms/preserve/FormDuringResidualStyle.html.
123953
123954        * dom/Tokenizer.h:
123955        (WebCore::Tokenizer::htmlParser):
123956        * html/HTML5Tokenizer.cpp:
123957        (WebCore::HTML5Tokenizer::htmlParser):
123958        * html/HTML5Tokenizer.h:
123959        * html/HTML5TreeBuilder.h:
123960        (WebCore::HTML5TreeBuilder::htmlParser):
123961        * html/HTMLFormControlElement.cpp:
123962        (WebCore::HTMLFormControlElement::removedFromTree):
123963        * html/HTMLTokenizer.h:
123964        (WebCore::HTMLTokenizer::htmlParser):
123965
1239662010-06-11  Kenneth Russell  <kbr@google.com>
123967
123968        Reviewed by Dimitri Glazkov.
123969
123970        Delete custom JSC bindings for bufferData, texImage2D and texSubImage2D
123971        https://bugs.webkit.org/show_bug.cgi?id=40443
123972
123973        Deleted custom JSC bindings for bufferData, texImage2D and
123974        texSubImage2D and fixed minor associated issues in code generator
123975        and IDL. Updated fast/canvas/webgl/texImageTest-expected.txt,
123976        which now runs as intended. Ran all layout tests, including WebGL
123977        tests, in Safari.
123978
123979        * bindings/js/JSWebGLRenderingContextCustom.cpp:
123980         - Deleted custom bindings.
123981        * bindings/scripts/CodeGeneratorJS.pm:
123982         - Made overload helper functions static to fix compiler warnings.
123983         - Added needed isObject check for overloads between object and non-object arguments.
123984         - Added JSValue::encode to exception return path, needed on Leopard in particular.
123985        * html/HTMLCanvasElement.idl:
123986        * html/HTMLImageElement.idl:
123987        * html/HTMLVideoElement.idl:
123988         - Added GenerateNativeConverter extended attribute.
123989        * html/canvas/WebGLRenderingContext.idl:
123990         - Deleted #ifdefs for custom JSC bindings.
123991
1239922010-06-11  Kevin Ollivier  <kevino@theolliviers.com>
123993
123994        [wx] Build fix, add KillRingNone.cpp until we can implement it.
123995
123996        * wscript:
123997
1239982010-06-11  Hans Wennborg  <hans@chromium.org>
123999
124000        Reviewed by Jeremy Orlow.
124001
124002        DOM storage should only create databases when needed
124003        https://bugs.webkit.org/show_bug.cgi?id=40301
124004
124005        As soon as a page attempts to use localstorage, StorageAreaSync will
124006        create an empty database if one doesn't already exist. This can lead to
124007        lots of unnecessary database files. In particular, they are created
124008        even when the privacy settings or private browsing mode disallow
124009        localstorage data, which may seem odd to the user.
124010
124011        Database creation should be put off in StorageAreaSync until it is time
124012        to actually write something to the database.
124013
124014        Tests:
124015         manual-tests/localstorage-empty-database.html
124016
124017        * manual-tests/localstorage-empty-database.html: Added.
124018        * storage/StorageAreaSync.cpp:
124019        (WebCore::StorageAreaSync::StorageAreaSync):
124020        (WebCore::StorageAreaSync::openDatabase):
124021        (WebCore::StorageAreaSync::performImport):
124022        (WebCore::StorageAreaSync::sync):
124023        * storage/StorageAreaSync.h:
124024        (WebCore::StorageAreaSync::):
124025
1240262010-06-11  Ilya Tikhonovsky  <loislo@chromium.org>
124027
124028        Reviewed by Eric Seidel.
124029
124030        Perl scripts for bindings don't use strict keyword.
124031        As result some problems in the script code were not detected at compile stage.
124032        https://bugs.webkit.org/show_bug.cgi?id=40468
124033
124034        * bindings/scripts/CodeGenerator.pm:
124035        * bindings/scripts/IDLParser.pm:
124036        * bindings/scripts/IDLStructure.pm:
124037
1240382010-06-11  Eric Seidel  <eric@webkit.org>
124039
124040        Reviewed by Adam Barth.
124041
124042        HTML5Tokenizer should not delete itself while running scripts
124043        https://bugs.webkit.org/show_bug.cgi?id=40458
124044
124045        Tested by fast/dom/document-clear.html
124046
124047        * html/HTML5Tokenizer.cpp:
124048        (WebCore::HTML5Tokenizer::attemptToEnd):
124049         - Don't ever end() while running scripts.
124050           This matches the old HTMLTokenizer.cpp
124051
1240522010-06-11  Zhenyao Mo  <zmo@google.com>
124053
124054        Reviewed by Dimitri Glazkov.
124055
124056        getActiveUniform must ensure names of arrays end in "[0]"
124057        https://bugs.webkit.org/show_bug.cgi?id=38709
124058
124059        Test: fast/canvas/webgl/get-active-test.html
124060
124061        * html/canvas/WebGLRenderingContext.cpp:
124062        (WebCore::WebGLRenderingContext::getActiveAttrib): Append "[0]" to the name if needed.
124063
1240642010-06-11  Zhenyao Mo  <zmo@google.com>
124065
124066        Reviewed by Dimitri Glazkov.
124067
124068        readPixels with negative width/height should generate INVALID_VALUE and return
124069        https://bugs.webkit.org/show_bug.cgi?id=39704
124070
124071        * html/canvas/WebGLRenderingContext.cpp: Deal with negative width/height.
124072        (WebCore::WebGLRenderingContext::readPixels):
124073        * html/canvas/WebGLRenderingContext.h: Change width/height type from unsigned long to long.
124074        * html/canvas/WebGLRenderingContext.idl: Ditto.
124075
1240762010-06-11  Zhenyao Mo  <zmo@google.com>
124077
124078        Reviewed by Dimitri Glazkov.
124079
124080        uniform* entry points must ignore the call if a null WebGLUniformLocation is passed
124081        https://bugs.webkit.org/show_bug.cgi?id=38707
124082
124083        * html/canvas/WebGLRenderingContext.cpp: uniform* entry points ignore the call if a null WebGLUniformLocation is passed.
124084        (WebCore::WebGLRenderingContext::uniform1f):
124085        (WebCore::WebGLRenderingContext::uniform1fv):
124086        (WebCore::WebGLRenderingContext::uniform1i):
124087        (WebCore::WebGLRenderingContext::uniform1iv):
124088        (WebCore::WebGLRenderingContext::uniform2f):
124089        (WebCore::WebGLRenderingContext::uniform2fv):
124090        (WebCore::WebGLRenderingContext::uniform2i):
124091        (WebCore::WebGLRenderingContext::uniform2iv):
124092        (WebCore::WebGLRenderingContext::uniform3f):
124093        (WebCore::WebGLRenderingContext::uniform3fv):
124094        (WebCore::WebGLRenderingContext::uniform3i):
124095        (WebCore::WebGLRenderingContext::uniform3iv):
124096        (WebCore::WebGLRenderingContext::uniform4f):
124097        (WebCore::WebGLRenderingContext::uniform4fv):
124098        (WebCore::WebGLRenderingContext::uniform4i):
124099        (WebCore::WebGLRenderingContext::uniform4iv):
124100        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
124101        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
124102        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
124103
1241042010-06-11  Zhenyao Mo  <zmo@google.com>
124105
124106        Reviewed by Dimitri Glazkov.
124107
124108        drawElements/drawArrays should validate input parameters according to GLES2 spec
124109        https://bugs.webkit.org/show_bug.cgi?id=38700
124110
124111        Tests: fast/canvas/webgl/draw-arrays-out-of-bounds.html
124112               fast/canvas/webgl/draw-elements-out-of-bounds.html
124113
124114        * html/canvas/WebGLRenderingContext.cpp:
124115        (WebCore::WebGLRenderingContext::drawArrays): Validate input parameters.
124116        (WebCore::WebGLRenderingContext::drawElements): Ditto.
124117        (WebCore::WebGLRenderingContext::validateDrawMode): Validate mode for draw{Arrays/Elements}.
124118        * html/canvas/WebGLRenderingContext.h: Add validateDrawMode, fix incorrect parameter types.
124119        * html/canvas/WebGLRenderingContext.idl: Fix incorrect parameter types.
124120
1241212010-06-11  Luiz Agostini  <luiz.agostini@openbossa.org>
124122
124123        Reviewed by Antti Koivisto.
124124
124125        CSS3 Media Queries are not serialized according to CSSOM
124126        https://bugs.webkit.org/show_bug.cgi?id=39220
124127
124128        MediaQuery serialization according to specification
124129        http://dev.w3.org/csswg/cssom/#serializing-media-queries.
124130
124131        MediaQuery objects now ignore duplicated expressions. MediaQueryEvaluator::eval()
124132        now does not proccess MediaQuery objects that are known to be invalid.
124133
124134        Test: fast/media/media-query-serialization.html
124135
124136        * css/MediaQuery.cpp:
124137        (WebCore::stringCompare):
124138        (WebCore::MediaQuery::serialize):
124139        (WebCore::MediaQuery::MediaQuery):
124140        (WebCore::MediaQuery::~MediaQuery):
124141        (WebCore::MediaQuery::operator==):
124142        (WebCore::MediaQuery::cssText):
124143        (WebCore::MediaQuery::append):
124144        * css/MediaQuery.h:
124145        (WebCore::MediaQuery::ignored):
124146        (WebCore::MediaQuery::begin):
124147        (WebCore::MediaQuery::end):
124148        * css/MediaQueryExp.cpp:
124149        (WebCore::MediaQueryExp::serialize):
124150        * css/MediaQueryExp.h:
124151        * css/MediaQueryEvaluator.cpp:
124152        (WebCore::MediaQueryEvaluator::eval):
124153
124154
1241552010-06-10  Jeremy Orlow  <jorlow@chromium.org>
124156
124157        Reviewed by Steve Block.
124158
124159        Implement more of IndexedDB's Indexes and ObjectStores
124160        https://bugs.webkit.org/show_bug.cgi?id=40424
124161
124162        Clean up both of these classes a bit and add create/open/remove
124163        methods as needed.
124164
124165        Tests in a future patch (promise).
124166
124167        * storage/IDBDatabase.h:
124168        * storage/IDBDatabaseImpl.cpp:
124169        (WebCore::IDBDatabaseImpl::objectStores):
124170        (WebCore::IDBDatabaseImpl::createObjectStore):
124171        (WebCore::IDBDatabaseImpl::objectStore):
124172        (WebCore::IDBDatabaseImpl::removeObjectStore):
124173        * storage/IDBDatabaseImpl.h:
124174        (WebCore::IDBDatabaseImpl::name):
124175        (WebCore::IDBDatabaseImpl::description):
124176        (WebCore::IDBDatabaseImpl::version):
124177        * storage/IDBDatabaseRequest.cpp:
124178        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
124179        (WebCore::IDBDatabaseRequest::createObjectStore):
124180        (WebCore::IDBDatabaseRequest::objectStore):
124181        (WebCore::IDBDatabaseRequest::removeObjectStore):
124182        * storage/IDBDatabaseRequest.h:
124183        (WebCore::IDBDatabaseRequest::create):
124184        (WebCore::IDBDatabaseRequest::name):
124185        (WebCore::IDBDatabaseRequest::description):
124186        (WebCore::IDBDatabaseRequest::version):
124187        (WebCore::IDBDatabaseRequest::objectStores):
124188        * storage/IDBDatabaseRequest.idl:
124189        * storage/IDBObjectStore.h:
124190        * storage/IDBObjectStoreImpl.h:
124191        * storage/IDBObjectStoreRequest.cpp:
124192        (WebCore::IDBObjectStoreRequest::get):
124193        (WebCore::IDBObjectStoreRequest::add):
124194        (WebCore::IDBObjectStoreRequest::modify):
124195        (WebCore::IDBObjectStoreRequest::addOrModify):
124196        (WebCore::IDBObjectStoreRequest::remove):
124197        (WebCore::IDBObjectStoreRequest::createIndex):
124198        (WebCore::IDBObjectStoreRequest::index):
124199        (WebCore::IDBObjectStoreRequest::removeIndex):
124200        * storage/IDBObjectStoreRequest.h:
124201        * storage/IDBObjectStoreRequest.idl:
124202
1242032010-06-11  Alexander Pavlov  <apavlov@chromium.org>
124204
124205        Reviewed by Pavel Feldman.
124206
124207        Web Inspector: Enable serialization/deserialization of the frontend state
124208        https://bugs.webkit.org/show_bug.cgi?id=40228
124209
124210        * inspector/InspectorBackend.cpp:
124211        (WebCore::InspectorBackend::saveApplicationSettings):
124212        (WebCore::InspectorBackend::saveSessionSettings):
124213        * inspector/InspectorBackend.h:
124214        * inspector/InspectorBackend.idl:
124215        * inspector/InspectorController.cpp:
124216        (WebCore::InspectorController::InspectorController):
124217        (WebCore::InspectorController::setSessionSettings):
124218        (WebCore::InspectorController::populateScriptObjects):
124219        (WebCore::InspectorController::didCommitLoad):
124220        * inspector/InspectorController.h:
124221        * inspector/InspectorFrontend.cpp:
124222        (WebCore::InspectorFrontend::populateApplicationSettings):
124223        (WebCore::InspectorFrontend::populateSessionSettings):
124224        * inspector/InspectorFrontend.h:
124225        * inspector/front-end/ConsoleView.js:
124226        (WebInspector.ConsoleView.prototype._settingsLoaded):
124227        (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
124228        (WebInspector.ConsoleView.prototype._enterKeyPressed):
124229        * inspector/front-end/EventListenersSidebarPane.js:
124230        (WebInspector.EventListenersSidebarPane.prototype._settingsLoaded):
124231        (WebInspector.EventListenersSidebarPane.prototype):
124232        ():
124233        * inspector/front-end/InspectorBackendStub.js:
124234        (.WebInspector.InspectorBackendStub.prototype.saveApplicationSettings):
124235        (.WebInspector.InspectorBackendStub.prototype.saveSessionSettings):
124236        * inspector/front-end/ResourceView.js:
124237        (WebInspector.ResourceView.prototype._selectTab):
124238        (WebInspector.ResourceView.prototype._selectHeadersTab):
124239        (WebInspector.ResourceView.prototype.selectContentTab):
124240        * inspector/front-end/ResourcesPanel.js:
124241        (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
124242        (WebInspector.ResourcesPanel.prototype._settingsLoaded):
124243        (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
124244        * inspector/front-end/ScriptsPanel.js:
124245        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
124246        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
124247        * inspector/front-end/Settings.js:
124248        (WebInspector.populateApplicationSettings):
124249        (WebInspector.populateSessionSettings):
124250        (WebInspector.Settings):
124251        (WebInspector.Settings.prototype.reset):
124252        (WebInspector.Settings.prototype._load):
124253        (WebInspector.Settings.prototype._set):
124254        * inspector/front-end/StylesSidebarPane.js:
124255        (WebInspector.StylesSidebarPane.prototype._settingsLoaded):
124256        (WebInspector.StylesSidebarPane.prototype.update):
124257        (WebInspector.StylesSidebarPane.prototype._changeSetting):
124258        (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
124259        (WebInspector.ComputedStyleSidebarPane.settingsLoaded):
124260        (WebInspector.ComputedStyleSidebarPane.showInheritedToggleFunction):
124261        (WebInspector.ComputedStyleSidebarPane):
124262        * inspector/front-end/WatchExpressionsSidebarPane.js:
124263        (WebInspector.WatchExpressionsSidebarPane):
124264        (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded):
124265        (WebInspector.WatchExpressionsSection):
124266        (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
124267        * inspector/front-end/inspector.js:
124268        (WebInspector.loaded):
124269        (WebInspector.reset):
124270
1242712010-06-10  Pavel Feldman  <pfeldman@chromium.org>
124272
124273        Reviewed by Yury Semikhatsky.
124274
124275        Web Inspector: Port performSearch from InjectedScript to InspectorDOMAgent.
124276
124277        https://bugs.webkit.org/show_bug.cgi?id=40422
124278
124279        * inspector/InjectedScriptHost.cpp:
124280        (WebCore::InjectedScriptHost::addNodesToSearchResult):
124281        * inspector/InspectorBackend.cpp:
124282        (WebCore::InspectorBackend::performSearch):
124283        (WebCore::InspectorBackend::searchCanceled):
124284        * inspector/InspectorBackend.h:
124285        * inspector/InspectorBackend.idl:
124286        * inspector/InspectorDOMAgent.cpp:
124287        (WebCore::):
124288        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
124289        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
124290        (WebCore::InspectorDOMAgent::performSearch):
124291        (WebCore::InspectorDOMAgent::searchCanceled):
124292        (WebCore::InspectorDOMAgent::onMatchJobsTimer):
124293        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
124294        * inspector/InspectorDOMAgent.h:
124295        (WebCore::MatchJob::~MatchJob):
124296        (WebCore::MatchJob::MatchJob):
124297        (WebCore::MatchJob::addNodesToResults):
124298        * inspector/InspectorFrontend.cpp:
124299        (WebCore::InspectorFrontend::addNodesToSearchResult):
124300        * inspector/InspectorFrontend.h:
124301        * inspector/InspectorResource.cpp:
124302        (WebCore::InspectorResource::updateScriptObject):
124303        * inspector/front-end/ElementsPanel.js:
124304        (WebInspector.ElementsPanel.prototype.searchCanceled):
124305        (WebInspector.ElementsPanel.prototype.performSearch):
124306        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
124307        * inspector/front-end/InjectedScript.js:
124308        (injectedScriptConstructor):
124309        * inspector/front-end/InjectedScriptAccess.js:
124310
1243112010-06-11  Mikhail Naganov  <mnaganov@chromium.org>
124312
124313        Reviewed by Pavel Feldman.
124314
124315        [Chromium] Restore 'console.profiles' access.
124316
124317        https://bugs.webkit.org/show_bug.cgi?id=39840
124318
124319        * bindings/v8/ScriptProfiler.cpp:
124320        (WebCore::ScriptProfiler::stop):
124321        * bindings/v8/custom/V8ConsoleCustom.cpp:
124322        (WebCore::V8Console::profilesAccessorGetter):
124323        * inspector/InspectorController.cpp:
124324        (WebCore::InspectorController::stopUserInitiatedProfiling):
124325
1243262010-06-10  Nikita Vasilyev  <me@elv1s.ru>
124327
124328        Reviewed by Pavel Feldman.
124329
124330        Web Inspector: Make a close brace in Styles pane selectable.
124331        https://bugs.webkit.org/show_bug.cgi?id=40157
124332
124333        * inspector/front-end/inspector.css:
124334        (.styles-selector):
124335        (.styles-section .properties li):
124336        (.styles-section):
124337
1243382010-06-11  Yury Semikhatsky  <yurys@chromium.org>
124339
124340        Reviewed by Pavel Feldman.
124341
124342        Web Inspector: localize missing script source message
124343        https://bugs.webkit.org/show_bug.cgi?id=40467
124344
124345        * English.lproj/localizedStrings.js:
124346        * inspector/InspectorController.cpp:
124347        (WebCore::InspectorController::didParseSource): fixed typo in comment.
124348
1243492010-06-11  Zhenyao Mo  <zmo@google.com>
124350
124351        Reviewed by Dimitri Glazkov.
124352
124353        Vertex attributes enabled as arrays but not bound to buffers must generate INVALID_OPERATION
124354        https://bugs.webkit.org/show_bug.cgi?id=40315
124355
124356        * html/canvas/WebGLRenderingContext.cpp:
124357        (WebCore::WebGLRenderingContext::validateRenderingState): Check if an enabled vertext attribs is bound to a buffer.
124358        (WebCore::WebGLRenderingContext::vertexAttribPointer): Set bound buffer in vertex attrib state.
124359        * html/canvas/WebGLRenderingContext.h: Add a member in vertex attrib state to track bound buffer.
124360
1243612010-05-31  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
124362
124363        Reviewed by Simon Hausmann.
124364
124365        [Qt] Implement the simple text code path.
124366        https://bugs.webkit.org/show_bug.cgi?id=40077
124367
124368        Remove the FONT_FAST_PATH macro and use the Qt's
124369        fast text implementation instead of the one of WebKit.
124370
124371        The Qt::TextBypassShaping flag is used to tell Qt to
124372        only use the glyph advances.
124373
124374        Qt 4.7 is needed to get this flag thus the complex path is always
124375        used if QtWebKit is compiled against an earlier version.
124376
124377        Contrary to the WebKit's implementation, the complex code path
124378        is taken if the text is RightToLeft, justified or is formatted
124379        with non-zero letter or word spacing.
124380
124381        * platform/graphics/Font.cpp:
124382        (WebCore::Font::drawText):
124383        (WebCore::Font::floatWidth):
124384        (WebCore::Font::selectionRectForText):
124385        (WebCore::Font::offsetForPosition):
124386        * platform/graphics/Font.h:
124387        (WebCore::Font::isRoundingHackCharacter):
124388        * platform/graphics/qt/FontQt.cpp:
124389        (WebCore::fromRawDataWithoutRef):
124390        (WebCore::needComplexCodePath):
124391        (WebCore::setupPlatformContext):
124392        (WebCore::Font::canReturnFallbackFontsForComplexText):
124393        (WebCore::Font::drawSimpleText):
124394        (WebCore::Font::drawComplexText):
124395        (WebCore::Font::floatWidthForSimpleText):
124396        (WebCore::Font::offsetForPositionForSimpleText):
124397        (WebCore::Font::selectionRectForSimpleText):
124398
1243992010-06-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
124400
124401        Reviewed by Simon Hausmann.
124402
124403        Move the text code path detection code from FontFastPath.cpp to Font.cpp.
124404        https://bugs.webkit.org/show_bug.cgi?id=40077
124405
124406        This is a patch preliminary to the implementation of the
124407        simple font code path for the Qt port.
124408
124409        * platform/graphics/Font.cpp:
124410        (WebCore::Font::setCodePath):
124411        (WebCore::Font::codePath):
124412        * platform/graphics/Font.h:
124413        * platform/graphics/FontFastPath.cpp:
124414
1244152010-06-11  Sterling Swigart  <sswigart@google.com>
124416
124417        Reviewed by Dmitry Titov.
124418
124419        Added AsyncImageResizer and ImageResizerThread classes, which after further
124420        patches will be capable of resizing images.
124421        https://bugs.webkit.org/show_bug.cgi?id=40018
124422
124423        * Android.mk:
124424        * CMakeLists.txt:
124425        * GNUmakefile.am:
124426        * WebCore.gypi:
124427        * WebCore.pro:
124428        * WebCore.vcproj/WebCore.vcproj:
124429        * WebCore.xcodeproj/project.pbxproj:
124430        * html/AsyncImageResizer.cpp: Added.
124431        (WebCore::AsyncImageResizer::create):
124432        (WebCore::AsyncImageResizer::AsyncImageResizer):
124433        (WebCore::AsyncImageResizer::~AsyncImageResizer):
124434        (WebCore::AsyncImageResizer::notifyFinished):
124435        * html/AsyncImageResizer.h: Added.
124436        (WebCore::AsyncImageResizer::CallbackInfo::CallbackInfo):
124437        (WebCore::AsyncImageResizer::):
124438        (WebCore::AsyncImageResizer::resizeComplete):
124439        (WebCore::AsyncImageResizer::resizeError):
124440        * html/ImageResizerThread.cpp: Added.
124441        (WebCore::returnBlobOrError):
124442        (WebCore::ImageResizerThread::start):
124443        (WebCore::ImageResizerThread::ImageResizerThread):
124444        (WebCore::ImageResizerThread::~ImageResizerThread):
124445        (WebCore::ImageResizerThread::imageResizerThreadStart):
124446        (WebCore::ImageResizerThread::imageResizerThread):
124447        * html/ImageResizerThread.h: Added.
124448
1244492010-06-11  Steve Block  <steveblock@google.com>
124450
124451        Reviewed by Alexey Proskuryakov.
124452
124453        Client-based Geolocation does not handle multiple simultaneous requests
124454        https://bugs.webkit.org/show_bug.cgi?id=40148
124455
124456        Test: fast/dom/Geolocation/multiple-requests.html
124457
124458        The Geolocation must handle multiple calls to addObserver() from the same Geolocation object.
124459
124460        * page/GeolocationController.cpp:
124461        (WebCore::GeolocationController::addObserver):
124462
1244632010-06-11  Nikita Vasilyev  <me@elv1s.ru>
124464
124465        Reviewed by Pavel Feldman.
124466
124467        Web Inspector: When completing using a tab key, select very first value, not a second.
124468        https://bugs.webkit.org/show_bug.cgi?id=40409
124469
124470        * inspector/front-end/TextPrompt.js:
124471        (WebInspector.TextPrompt.prototype._completionsReady):
124472
1244732010-06-10  Yuzo Fujishima  <yuzo@google.com>
124474
124475        Reviewed by Shinichiro Hamaji.
124476
124477        Implement render style selection for pages to support CSS3 Paged Media.
124478        https://bugs.webkit.org/show_bug.cgi?id=35961
124479
124480        Test: printing/page-rule-selection.html
124481
124482        * WebCore.base.exp:
124483        * css/CSSGrammar.y:
124484        * css/CSSSelector.cpp:
124485        (WebCore::CSSSelector::specificity):
124486        (WebCore::CSSSelector::specificityForPage):
124487        * css/CSSSelector.h:
124488        (WebCore::CSSSelector::CSSSelector):
124489        (WebCore::CSSSelector::isForPage):
124490        (WebCore::CSSSelector::setForPage):
124491        * css/CSSStyleSelector.cpp:
124492        (WebCore::CSSStyleSelector::styleForPage):
124493        (WebCore::CSSStyleSelector::matchPageRules):
124494        (WebCore::CSSStyleSelector::matchPageRulesForList):
124495        (WebCore::CSSStyleSelector::isLeftPage):
124496        (WebCore::CSSStyleSelector::isFirstPage):
124497        (WebCore::CSSStyleSelector::pageName):
124498        * css/CSSStyleSelector.h:
124499        (WebCore::CSSStyleSelector::isRightPage):
124500        * css/html.css:
124501        (@page):
124502        * dom/Document.cpp:
124503        (WebCore::Document::styleForPage):
124504        * dom/Document.h:
124505        * page/PrintContext.cpp:
124506        (WebCore::PrintContext::pageProperty):
124507        * page/PrintContext.h:
124508
124509
1245102010-06-10  Yuzo Fujishima  <yuzo@google.com>
124511
124512        Reviewed by Shinichiro Hamaji.
124513
124514        Fix Bug 40452: REGRESSION: printing is broken if stylesheet has @page
124515        https://bugs.webkit.org/show_bug.cgi?id=40452
124516
124517        Test: printing/page-rule-in-media-query.html
124518
124519        * css/CSSStyleSelector.cpp:
124520        (WebCore::CSSRuleSet::addRulesFromSheet):
124521        (WebCore::CSSRuleSet::addStyleRule):
124522
1245232010-06-10  Sheriff Bot  <webkit.review.bot@gmail.com>
124524
124525        Unreviewed, rolling out r60989.
124526        http://trac.webkit.org/changeset/60989
124527        https://bugs.webkit.org/show_bug.cgi?id=40462
124528
124529        It makes things crash (Requested by abarth on #webkit).
124530
124531        * dom/Tokenizer.h:
124532        (WebCore::Tokenizer::isHTMLTokenizer):
124533        * html/HTML5Tokenizer.cpp:
124534        * html/HTML5Tokenizer.h:
124535        * html/HTML5TreeBuilder.h:
124536        * html/HTMLFormControlElement.cpp:
124537        (WebCore::HTMLFormControlElement::removedFromTree):
124538        * html/HTMLTokenizer.h:
124539        (WebCore::HTMLTokenizer::isHTMLTokenizer):
124540        (WebCore::HTMLTokenizer::htmlParser):
124541
1245422010-06-10  Tony Gentilcore  <tonyg@chromium.org>
124543
124544        Reviewed by Eric Seidel.
124545
124546        Fix fast/forms/preserveFormDuringResidualStyle.html for HTML5 Parser.
124547        https://bugs.webkit.org/show_bug.cgi?id=40454
124548
124549        This required exposing the HTMLParser which we definitely don't want to
124550        do, but the good news is that it can go away when the HTMLParser goes
124551        away.
124552
124553        No new tests because covered by fast/forms/preserve/FormDuringResidualStyle.html.
124554
124555        * dom/Tokenizer.h:
124556        (WebCore::Tokenizer::htmlParser):
124557        * html/HTML5Tokenizer.cpp:
124558        (WebCore::HTML5Tokenizer::htmlParser):
124559        * html/HTML5Tokenizer.h:
124560        * html/HTML5TreeBuilder.h:
124561        (WebCore::HTML5TreeBuilder::htmlParser):
124562        * html/HTMLFormControlElement.cpp:
124563        (WebCore::HTMLFormControlElement::removedFromTree):
124564        * html/HTMLTokenizer.h:
124565        (WebCore::HTMLTokenizer::htmlParser):
124566
1245672010-06-10  Tony Chang  <tony@chromium.org>
124568
124569        Reviewed by Kent Tamura.
124570
124571        crash when focus is changed while trying to focus next element
124572        https://bugs.webkit.org/show_bug.cgi?id=40407
124573
124574        Test: fast/events/focus-change-crash.html
124575
124576        * dom/Element.cpp:
124577        (WebCore::Element::focus):
124578
1245792010-06-10  Sheriff Bot  <webkit.review.bot@gmail.com>
124580
124581        Unreviewed, rolling out r60979.
124582        http://trac.webkit.org/changeset/60979
124583        https://bugs.webkit.org/show_bug.cgi?id=40450
124584
124585        Broke build on Leopard (Requested by kbr_google on #webkit).
124586
124587        * bindings/js/JSWebGLRenderingContextCustom.cpp:
124588        (WebCore::JSWebGLRenderingContext::bufferData):
124589        (WebCore::JSWebGLRenderingContext::bufferSubData):
124590        (WebCore::JSWebGLRenderingContext::texImage2D):
124591        (WebCore::JSWebGLRenderingContext::texSubImage2D):
124592        * bindings/scripts/CodeGeneratorJS.pm:
124593        * html/HTMLCanvasElement.idl:
124594        * html/HTMLImageElement.idl:
124595        * html/HTMLVideoElement.idl:
124596        * html/canvas/WebGLRenderingContext.idl:
124597
1245982010-06-10  Kenneth Russell  <kbr@google.com>
124599
124600        Reviewed by Dimitri Glazkov.
124601
124602        Delete custom JSC bindings for bufferData, texImage2D and texSubImage2D
124603        https://bugs.webkit.org/show_bug.cgi?id=40443
124604
124605        Deleted custom JSC bindings for bufferData, texImage2D and
124606        texSubImage2D and fixed minor associated issues in code generator
124607        and IDL. Updated fast/canvas/webgl/texImageTest-expected.txt,
124608        which now runs as intended. Ran all layout tests, including WebGL
124609        tests, in Safari.
124610
124611        * bindings/js/JSWebGLRenderingContextCustom.cpp:
124612         - Deleted custom bindings.
124613        * bindings/scripts/CodeGeneratorJS.pm:
124614         - Made overload helper functions static to fix compiler warnings.
124615         - Added needed isObject check for overloads between object and non-object arguments.
124616        * html/HTMLCanvasElement.idl:
124617        * html/HTMLImageElement.idl:
124618        * html/HTMLVideoElement.idl:
124619         - Added GenerateNativeConverter extended attribute.
124620        * html/canvas/WebGLRenderingContext.idl:
124621         - Deleted #ifdefs for custom JSC bindings.
124622
1246232010-06-10  David Hyatt  <hyatt@apple.com>
124624
124625        Reviewed by John Sullivan.
124626
124627        https://bugs.webkit.org/show_bug.cgi?id=40441, back out the original fix for 29601, since it has broken continuous
124628        wheel delta values.
124629
124630        * platform/mac/WebCoreSystemInterface.h:
124631        * platform/mac/WebCoreSystemInterface.mm:
124632        * platform/mac/WheelEventMac.mm:
124633        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
124634
1246352010-06-10  Abhishek Arya  <inferno@chromium.org>
124636
124637        Reviewed by Dimitri Glazkov.
124638
124639        Add null pointer checks for nativeImageForCurrentFrame
124640        function calls.
124641        https://bugs.webkit.org/show_bug.cgi?id=39797
124642
124643        * platform/chromium/PasteboardChromium.cpp:
124644        (WebCore::Pasteboard::writeImage):
124645        * platform/graphics/qt/GraphicsContext3DQt.cpp:
124646        (WebCore::GraphicsContext3D::getImageData):
124647        * platform/qt/PasteboardQt.cpp:
124648        (WebCore::Pasteboard::writeImage):
124649
1246502010-06-09  Kenneth Russell  <kbr@google.com>
124651
124652        Reviewed by Dimitri Glazkov.
124653
124654        Implement TypedArray BYTES_PER_ELEMENT
124655        https://bugs.webkit.org/show_bug.cgi?id=39100
124656
124657        Implemented BYTES_PER_ELEMENT on all ArrayBufferView subclasses.
124658        Required bug fixes to JSC bindings' custom constructors. Updated
124659        fast/canvas/webgl/array-unit-tests.html to verify. Ran all WebGL
124660        layout tests in Safari and Chromium.
124661
124662        * bindings/js/JSFloat32ArrayConstructor.cpp:
124663        (WebCore::JSFloat32ArrayConstructor::JSFloat32ArrayConstructor):
124664        (WebCore::JSFloat32ArrayConstructor::getOwnPropertySlot):
124665        (WebCore::JSFloat32ArrayConstructor::getOwnPropertyDescriptor):
124666        * bindings/js/JSFloat32ArrayConstructor.h:
124667        (WebCore::JSFloat32ArrayConstructor::createStructure):
124668        * bindings/js/JSInt16ArrayConstructor.cpp:
124669        (WebCore::JSInt16ArrayConstructor::JSInt16ArrayConstructor):
124670        (WebCore::JSInt16ArrayConstructor::getOwnPropertySlot):
124671        (WebCore::JSInt16ArrayConstructor::getOwnPropertyDescriptor):
124672        * bindings/js/JSInt16ArrayConstructor.h:
124673        (WebCore::JSInt16ArrayConstructor::createStructure):
124674        * bindings/js/JSInt32ArrayConstructor.cpp:
124675        (WebCore::JSInt32ArrayConstructor::JSInt32ArrayConstructor):
124676        (WebCore::JSInt32ArrayConstructor::getOwnPropertySlot):
124677        (WebCore::JSInt32ArrayConstructor::getOwnPropertyDescriptor):
124678        * bindings/js/JSInt32ArrayConstructor.h:
124679        (WebCore::JSInt32ArrayConstructor::createStructure):
124680        * bindings/js/JSInt8ArrayConstructor.cpp:
124681        (WebCore::JSInt8ArrayConstructor::JSInt8ArrayConstructor):
124682        (WebCore::JSInt8ArrayConstructor::getOwnPropertySlot):
124683        (WebCore::JSInt8ArrayConstructor::getOwnPropertyDescriptor):
124684        * bindings/js/JSInt8ArrayConstructor.h:
124685        (WebCore::JSInt8ArrayConstructor::createStructure):
124686        * bindings/js/JSUint16ArrayConstructor.cpp:
124687        (WebCore::JSUint16ArrayConstructor::JSUint16ArrayConstructor):
124688        (WebCore::JSUint16ArrayConstructor::getOwnPropertySlot):
124689        (WebCore::JSUint16ArrayConstructor::getOwnPropertyDescriptor):
124690        * bindings/js/JSUint16ArrayConstructor.h:
124691        (WebCore::JSUint16ArrayConstructor::createStructure):
124692        * bindings/js/JSUint32ArrayConstructor.cpp:
124693        (WebCore::JSUint32ArrayConstructor::JSUint32ArrayConstructor):
124694        (WebCore::JSUint32ArrayConstructor::getOwnPropertySlot):
124695        (WebCore::JSUint32ArrayConstructor::getOwnPropertyDescriptor):
124696        * bindings/js/JSUint32ArrayConstructor.h:
124697        (WebCore::JSUint32ArrayConstructor::createStructure):
124698        * bindings/js/JSUint8ArrayConstructor.cpp:
124699        (WebCore::JSUint8ArrayConstructor::JSUint8ArrayConstructor):
124700        (WebCore::JSUint8ArrayConstructor::getOwnPropertySlot):
124701        (WebCore::JSUint8ArrayConstructor::getOwnPropertyDescriptor):
124702        * bindings/js/JSUint8ArrayConstructor.h:
124703        (WebCore::JSUint8ArrayConstructor::createStructure):
124704        * html/canvas/Float32Array.idl:
124705        * html/canvas/Int16Array.idl:
124706        * html/canvas/Int32Array.idl:
124707        * html/canvas/Int8Array.idl:
124708        * html/canvas/Uint16Array.idl:
124709        * html/canvas/Uint32Array.idl:
124710        * html/canvas/Uint8Array.idl:
124711
1247122010-06-10  Eric Seidel  <eric@webkit.org>
124713
124714        Reviewed by Adam Barth.
124715
124716        HTML5 Parser should continue parsing after script execution
124717        https://bugs.webkit.org/show_bug.cgi?id=40416
124718
124719        The previous code was just wrong.  We were always blocking
124720        the parser after any script execution.  Now we correctly continue
124721        parsing after a successful script execution and only block the
124722        parser when we weren't able to execute the script immediately.
124723
124724        Added a new haveParsingBlockingScript() function to HTML5ScriptRunner
124725        to make some of the code more self-documenting.
124726
124727       Test: fast/tokenizer/write-multiple-scripts.html
124728             fast/js/implicit-call-with-global-reentry.html
124729
124730        * html/HTML5ScriptRunner.cpp:
124731        (WebCore::HTML5ScriptRunner::execute):
124732         - Remove some old (now bogus) FIXMEs and notImplemented() calls.
124733         - Fix the logic to match the HTML5 spec by continuing parsing
124734           after script execution and only blocking the parser when the
124735           script wasn't able to immediately run.
124736        (WebCore::HTML5ScriptRunner::haveParsingBlockingScript):
124737         - New function to make some of the code read better.
124738        (WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
124739         - Use haveParsingBlockingScript().
124740        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
124741         - Use haveParsingBlockingScript().
124742        (WebCore::HTML5ScriptRunner::runScript):
124743         - Use haveParsingBlockingScript().
124744        * html/HTML5ScriptRunner.h:
124745
1247462010-06-10  Yury Semikhatsky  <yurys@chromium.org>
124747
124748        Reviewed by Pavel Feldman.
124749
124750        Web Inspector: to reduce the front end start up time don't push script
124751        sources to frontend if debugger is always enabled, instead request
124752        script content lazily at the moment it should be displyed. It is critical for
124753        always enabled debugger because in that case lots of script may have
124754        already been parsed when the front end is opening and pushing all
124755        of them at once may slow things down(even though the script sources will never
124756        be used if scripts panel isn't open).
124757        https://bugs.webkit.org/show_bug.cgi?id=40364
124758
124759        * inspector/InspectorBackend.cpp:
124760        (WebCore::InspectorBackend::getScriptSource):
124761        * inspector/InspectorBackend.h:
124762        * inspector/InspectorBackend.idl:
124763        * inspector/InspectorController.cpp:
124764        (WebCore::InspectorController::didCommitLoad):
124765        (WebCore::InspectorController::getScriptSource):
124766        (WebCore::InspectorController::didParseSource):
124767        * inspector/InspectorController.h:
124768        * inspector/InspectorFrontend.cpp:
124769        (WebCore::InspectorFrontend::didGetScriptSource):
124770        * inspector/InspectorFrontend.h:
124771        * inspector/front-end/InspectorBackendStub.js:
124772        (.WebInspector.InspectorBackendStub.prototype.editScriptSource):
124773        (.WebInspector.InspectorBackendStub.prototype.getScriptSource):
124774        * inspector/front-end/ScriptView.js:
124775        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
124776        (WebInspector.ScriptView.prototype._didGetScriptSource):
124777        (WebInspector.ScriptView.prototype._sourceFrameSetupFinished):
124778
1247792010-06-10  Adam Barth  <abarth@webkit.org>
124780
124781        Reviewed by Eric Seidel.
124782
124783        Use allowRequestIfNoIllegalURICharacters instead of context for XSSAuditor::canLoadExternalScriptFromSrc
124784        https://bugs.webkit.org/show_bug.cgi?id=40404
124785
124786        We originally added the context parameter to
124787        canLoadExternalScriptFromSrc to work around some false positives caused
124788        by folks checking external script URLs on the server.  Our thought was
124789        that we could tell these were not real XSS attacks because the
124790        surrounding context wouldn't match in the URL and the document.
124791
124792        Implementing this feature in the HTML5 parser is hard because it
124793        pierces a layer of abstraction (the token abstraction of the input
124794        stream).  We could hack this into the new parser, but instead I think
124795        it's better to switch to using the allowRequestIfNoIllegalURICharacters
124796        heuristic.
124797
124798        We designed the allowRequestIfNoIllegalURICharacters after the context
124799        heuristic to deal with other cases where the server was validating
124800        input before echoing it.  However, we never tried applying it to
124801        canLoadExternalScriptFromSrc.
124802
124803        It's possible that this will cause false positives and will need to be
124804        reverted, which is why I've left in some of the infrustructure for
124805        computing context.  We don't have a good way to know if that will
124806        happen except to try.  We do know, however, that this heuristic will
124807        work for the original false positives we saw.
124808
124809        * html/HTML5Tokenizer.cpp:
124810        (WebCore::HTML5Tokenizer::shouldLoadExternalScriptFromSrc):
124811        * html/HTMLTokenizer.cpp:
124812        (WebCore::HTMLTokenizer::parseTag):
124813        * page/XSSAuditor.cpp:
124814        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
124815        * page/XSSAuditor.h:
124816
1248172010-06-10  Kwang Yul Seo  <skyul@company100.net>
124818
124819        Reviewed by Kent Tamura.
124820
124821        Add ENABLE(DATABASE) guard for DatabaseAuthorizer.cpp
124822        https://bugs.webkit.org/show_bug.cgi?id=40399
124823
124824        Build fix for ENABLE(DATABASE)=0.
124825
124826        * storage/DatabaseAuthorizer.cpp:
124827
1248282010-06-10  Shu Chang  <chang.shu@nokia.com>
124829
124830        Reviewed by Kenneth Rohde Christiansen.
124831
124832        Change the type of ShadowBlur from int to float in GraphicsContext.
124833        Using int for ShadowBlur loses precision and fails the test.
124834        Note: This code change fixes Qt port but Mac is still failing due to
124835        platform issue. Function CGContextSetShadowWithColor() does not take
124836        a blur value less than 0.5.
124837
124838        https://bugs.webkit.org/show_bug.cgi?id=40370
124839
124840        * platform/graphics/GraphicsContext.cpp:
124841        (WebCore::GraphicsContext::setShadow):
124842        (WebCore::GraphicsContext::getShadow):
124843        * platform/graphics/GraphicsContext.h:
124844        * platform/graphics/GraphicsContextPrivate.h:
124845        * platform/graphics/cairo/FontCairo.cpp:
124846        (WebCore::Font::drawGlyphs):
124847        * platform/graphics/cairo/GraphicsContextCairo.cpp:
124848        (WebCore::GraphicsContext::calculateShadowBufferDimensions):
124849        (WebCore::drawPathShadow):
124850        (WebCore::drawBorderlessRectShadow):
124851        (WebCore::GraphicsContext::setPlatformShadow):
124852        * platform/graphics/cairo/ImageCairo.cpp:
124853        (WebCore::BitmapImage::draw):
124854        * platform/graphics/cg/GraphicsContextCG.cpp:
124855        (WebCore::GraphicsContext::setPlatformShadow):
124856        * platform/graphics/chromium/FontChromiumWin.cpp:
124857        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
124858        (WebCore::Font::drawComplexText):
124859        * platform/graphics/gtk/FontGtk.cpp:
124860        (WebCore::Font::drawComplexText):
124861        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
124862        (WebCore::GraphicsContext::setPlatformShadow):
124863        * platform/graphics/mac/FontMac.mm:
124864        (WebCore::Font::drawGlyphs):
124865        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
124866        (WebCore::GraphicsContext::setPlatformShadow):
124867        * platform/graphics/qt/FontQt.cpp:
124868        (WebCore::Font::drawComplexText):
124869        * platform/graphics/qt/GraphicsContextQt.cpp:
124870        (WebCore::GraphicsContext::drawRect):
124871        (WebCore::GraphicsContext::drawLine):
124872        (WebCore::GraphicsContext::strokeArc):
124873        (WebCore::GraphicsContext::drawConvexPolygon):
124874        (WebCore::drawFilledShadowPath):
124875        (WebCore::GraphicsContext::strokePath):
124876        (WebCore::drawBorderlessRectShadow):
124877        (WebCore::GraphicsContext::setPlatformShadow):
124878        * platform/graphics/qt/ImageQt.cpp:
124879        (WebCore::BitmapImage::draw):
124880        * platform/graphics/skia/GraphicsContextSkia.cpp:
124881        (WebCore::GraphicsContext::setPlatformShadow):
124882        * platform/graphics/skia/SkiaFontWin.cpp:
124883        (WebCore::windowsCanHandleDrawTextShadow):
124884        * platform/graphics/win/FontCGWin.cpp:
124885        (WebCore::drawGDIGlyphs):
124886        (WebCore::Font::drawGlyphs):
124887        * platform/graphics/wince/GraphicsContextWince.cpp:
124888        (WebCore::GraphicsContext::fillRoundedRect):
124889        (WebCore::GraphicsContext::setPlatformShadow):
124890        (WebCore::GraphicsContext::drawText):
124891        * platform/graphics/wx/GraphicsContextWx.cpp:
124892        (WebCore::GraphicsContext::setPlatformShadow):
124893
1248942010-06-10  Yael Aharon  <yael.aharon@nokia.com>
124895
124896        Reviewed by Kenneth Rohde Christiansen.
124897
124898        Support for loading notification icons
124899        https://bugs.webkit.org/show_bug.cgi?id=40396
124900
124901        Make notification objects download the icon needed for displaying the
124902        notification before calling the NotificationPresenter to display the
124903        notification.
124904
124905        An error during the download would cause the notification to be displayed
124906        without an icon.
124907
124908        If a notification is in the process of download, and a new notification
124909        is created with the same ReplaceId, the download is not cancelled
124910        immediately and the notification is removed only after the download is
124911        complete.
124912  
124913        Tests: http/tests/notifications/icon-does-not-exist.html
124914               http/tests/notifications/icon-exists-cancel.html
124915               http/tests/notifications/icon-exists-show-alert-during-load.html
124916               http/tests/notifications/icon-exists.html
124917               http/tests/notifications/icon-requires-auth.html
124918
124919        * notifications/Notification.cpp:
124920        (WebCore::Notification::Notification):
124921        (WebCore::Notification::~Notification):
124922        (WebCore::Notification::show):
124923        (WebCore::Notification::cancel):
124924        (WebCore::Notification::startLoading):
124925        (WebCore::Notification::stopLoading):
124926        (WebCore::Notification::didReceiveResponse):
124927        (WebCore::Notification::didReceiveData):
124928        (WebCore::Notification::didFinishLoading):
124929        (WebCore::Notification::didFail):
124930        (WebCore::Notification::didFailRedirectCheck):
124931        (WebCore::Notification::didReceiveAuthenticationCancellation):
124932        (WebCore::Notification::finishLoading):
124933        * notifications/Notification.h:
124934        (WebCore::Notification::iconData):
124935        (WebCore::Notification::releaseIconData):
124936        (WebCore::Notification::):
124937
1249382010-06-10  Raine Makelainen  <raine.makelainen@nokia.com>
124939
124940        Reviewed by Kenneth Rohde Christiansen.
124941
124942        Impossible to set input method hints based HTML5 input types
124943        https://bugs.webkit.org/show_bug.cgi?id=40107
124944
124945        Helper methods for checking "tel", "number", "email",
124946        and "url" input element types.
124947
124948        * html/HTMLInputElement.h:
124949        (WebCore::HTMLInputElement::isTelephoneField):
124950        (WebCore::HTMLInputElement::isNumberField):
124951        (WebCore::HTMLInputElement::isEmailField):
124952        (WebCore::HTMLInputElement::isUrlField):
124953
1249542010-06-10  Daniel Cheng  <dcheng@chromium.org>
124955
124956        Reviewed by Jian Li.
124957
124958        Don't convert filenames to URLs in edit drags.
124959        https://bugs.webkit.org/show_bug.cgi?id=38826
124960
124961        For security reasons, we don't want to expose file system paths to web
124962        content, so we filter them out of edit drags.
124963
124964        Test: editing/pasteboard/file-drag-to-editable.html
124965
124966        * page/DragController.cpp:
124967        (WebCore::documentFragmentFromDragData):
124968        * platform/DragData.h:
124969        (WebCore::DragData::):
124970        * platform/android/DragDataAndroid.cpp:
124971        (WebCore::DragData::containsURL):
124972        (WebCore::DragData::asURL):
124973        * platform/chromium/DragDataChromium.cpp:
124974        (WebCore::DragData::containsURL):
124975        (WebCore::DragData::asURL):
124976        * platform/efl/DragDataEfl.cpp:
124977        (WebCore::DragData::containsURL):
124978        (WebCore::DragData::asURL):
124979        * platform/gtk/DragDataGtk.cpp:
124980        (WebCore::DragData::containsURL):
124981        (WebCore::DragData::asURL):
124982        * platform/haiku/DragDataHaiku.cpp:
124983        (WebCore::DragData::containsURL):
124984        (WebCore::DragData::asURL):
124985        * platform/mac/DragDataMac.mm:
124986        (WebCore::DragData::containsURL):
124987        (WebCore::DragData::asURL):
124988        * platform/qt/DragDataQt.cpp:
124989        (WebCore::DragData::asPlainText):
124990        (WebCore::DragData::containsURL):
124991        (WebCore::DragData::asURL):
124992        * platform/win/ClipboardUtilitiesWin.cpp:
124993        (WebCore::getURL):
124994        (WebCore::getPlainText):
124995        * platform/win/ClipboardUtilitiesWin.h:
124996        * platform/win/ClipboardWin.cpp:
124997        (WebCore::ClipboardWin::getData):
124998        * platform/win/DragDataWin.cpp:
124999        (WebCore::DragData::containsURL):
125000        (WebCore::DragData::asURL):
125001        * platform/wince/DragDataWince.cpp:
125002        (WebCore::DragData::containsURL):
125003        (WebCore::DragData::asURL):
125004        * platform/wx/DragDataWx.cpp:
125005        (WebCore::DragData::containsURL):
125006        (WebCore::DragData::asURL):
125007
1250082010-06-10  Mike Belshe  <mbelshe@chromium.org>
125009
125010        Reviewed by David Levin
125011
125012        Track whether a resource is loaded via a proxy.
125013
125014        https://bugs.webkit.org/show_bug.cgi?id=40312
125015
125016        * platform/network/chromium/ResourceResponse.h:
125017        (WebCore::ResourceResponse::wasFetchedViaProxy):
125018        (WebCore::ResourceResponse::setWasFetchedViaProxy):
125019
1250202010-06-10  Jungshik Shin  <jshin@chromium.org>
125021
125022        Reviewed by Kent Tamura
125023
125024        Bug 38224 - [chromium] Enable rendering of Ethiopic, Lao, Tibetan 
125025                    and a few other scripts on Win XP
125026
125027        https://bugs.webkit.org/show_bug.cgi?id=38224
125028
125029        Make it possible to specify a list of fonts for per-script
125030        fallback instead of a single font per script. This is
125031        necessary for Malayalam (for which Windows font doesn't
125032        support Unicode 5.x fully on Vista or earlier), Ethiopic 
125033        (we want to support on XP with a 3rd party font because XP
125034        doesn't have any Ethiopic font out of the box) and some other
125035        scripts. This is a short-term 'fix' until we have per-script
125036        font preferences.
125037
125038        No layout test is added because the test results would be
125039        dependent on which fonts are present. 
125040
125041        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
125042        (WebCore::):
125043        (WebCore::FontMap::ScriptToFontFamilies::):
125044
1250452010-06-09  Andrei Popescu  <andreip@google.com>
125046
125047        Reviewed by Adam Barth.
125048
125049        CodeGeneratorJS.pm incorrectly increments $paramIndex when a method is declared with [CallWith]
125050        https://bugs.webkit.org/show_bug.cgi?id=40372
125051
125052        Use two variables to keep track of the number of arguments passed from JavaScript vs the number
125053        of arguments passed to the corresponding C++ method. These numbers can be different since
125054        the parameter declared via [CallWith] is generated in the bindings instead of being passed
125055        from JavaScript.
125056
125057        Test: storage/indexeddb/idb-objectstore-request.html
125058
125059        * bindings/scripts/CodeGeneratorJS.pm:
125060        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
125061        (WebDOMTestObj::withScriptExecutionContext):
125062        * bindings/scripts/test/CPP/WebDOMTestObj.h:
125063        * bindings/scripts/test/JS/JSTestObj.cpp:
125064        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
125065        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
125066        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
125067        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
125068
1250692010-06-09  MORITA Hajime  <morrita@google.com>
125070
125071        Reviewed by Kent Tamura.
125072
125073        Refactoring: Simple shadow elements should be factored out .
125074        https://bugs.webkit.org/show_bug.cgi?id=40400
125075        
125076        Pulled ShadowElement class up from SliderThumbElement,
125077        ProgressValueElement, ShadowInputElement. 
125078        And renamed ProgressValueElement to ShadowBlockElement.
125079
125080        No new tests. Because there is no functional change.
125081
125082        * CMakeLists.txt:
125083        * GNUmakefile.am:
125084        * WebCore.gypi:
125085        * WebCore.pro:
125086        * WebCore.vcproj/WebCore.vcproj:
125087        * WebCore.xcodeproj/project.pbxproj:
125088        * rendering/RenderFileUploadControl.cpp:
125089        * rendering/RenderProgress.cpp:
125090        (WebCore::RenderProgress::updateValuePartState):
125091        * rendering/RenderProgress.h:
125092        * rendering/RenderSlider.cpp:
125093        (WebCore::SliderThumbElement::SliderThumbElement):
125094        (WebCore::SliderThumbElement::defaultEventHandler):
125095        (WebCore::SliderThumbElement::detach):
125096        * rendering/ShadowElement.cpp: Added.
125097        (WebCore::ShadowBlockElement::create):
125098        (WebCore::ShadowBlockElement::ShadowBlockElement):
125099        (WebCore::ShadowInputElement::create):
125100        (WebCore::ShadowInputElement::ShadowInputElement):
125101        * rendering/ShadowElement.h: Added.
125102        (WebCore::ShadowElement::ShadowElement):
125103        (WebCore::ShadowElement::isShadowNode):
125104        (WebCore::ShadowElement::shadowParentNode):
125105
1251062010-06-10  Eric Seidel  <eric@webkit.org>
125107
125108        Reviewed by Adam Barth.
125109
125110        Reduce FrameView.h includes to speed up build times
125111        https://bugs.webkit.org/show_bug.cgi?id=40408
125112
125113        Another fix for Qt.
125114
125115        * page/Frame.h:
125116         - Include CSSMutableStyleDeclaration.h since it's used by m_typingStyle = 0;
125117
1251182010-06-10  Eric Seidel  <eric@webkit.org>
125119
125120        Reviewed by Adam Barth.
125121
125122        Reduce FrameView.h includes to speed up build times
125123        https://bugs.webkit.org/show_bug.cgi?id=40408
125124
125125        More attempted build fixes for Tiger and Qt.
125126
125127        * page/Frame.cpp:
125128        * page/Frame.h:
125129
1251302010-06-10  Eric Seidel  <eric@webkit.org>
125131
125132        Reviewed by Adam Barth.
125133
125134        Reduce FrameView.h includes to speed up build times
125135        https://bugs.webkit.org/show_bug.cgi?id=40408
125136
125137        Add a few more RenderLayer.h includes to fix non-mac builds.
125138
125139        * page/FrameView.cpp:
125140        * rendering/RenderObject.cpp:
125141        * rendering/RenderTreeAsText.cpp:
125142
1251432010-06-10  Eric Seidel  <eric@webkit.org>
125144
125145        Reviewed by Adam Barth.
125146
125147        Reduce FrameView.h includes to speed up build times
125148        https://bugs.webkit.org/show_bug.cgi?id=40408
125149
125150        Cleaned up FrameView.h includes and then propagated the
125151        cascade of includes to the necessary .cpp files.
125152        This should reduce the set of files rebuilt every
125153        time FrameView.h changes, and should also reduce the size
125154        of some .o files.
125155
125156        No functional changes, thus no tests.
125157
125158        * accessibility/AccessibilityRenderObject.cpp:
125159        * dom/ContainerNode.cpp:
125160        * dom/Document.cpp:
125161        * dom/Element.cpp:
125162        * dom/EventTarget.h:
125163        * dom/Node.cpp:
125164        * editing/EditorCommand.cpp:
125165        * editing/SelectionController.cpp:
125166        * html/HTML5Tokenizer.cpp:
125167        (WebCore::HTML5Tokenizer::script):
125168         - No need for this to be inline.  Being inline required
125169           Frame.h in the header, which causes huge include cascade.
125170        * html/HTML5Tokenizer.h:
125171        * page/DragController.cpp:
125172        * page/EventHandler.cpp:
125173        * page/Frame.h:
125174        * page/FrameView.h:
125175        * page/PrintContext.cpp:
125176        * page/SpatialNavigation.cpp:
125177        * rendering/RenderBlock.cpp:
125178        * rendering/RenderBlockLineLayout.cpp:
125179        * rendering/RenderImage.cpp:
125180        * rendering/RenderInline.cpp:
125181        * rendering/RenderObject.h:
125182        * rendering/RenderTextControlSingleLine.cpp:
125183        * rendering/RenderWidget.cpp:
125184        * rendering/SVGRenderSupport.cpp:
125185
1251862010-06-10  Adam Barth  <abarth@webkit.org>
125187
125188        Reviewed by Eric Seidel.
125189
125190        Move HTML5 entity parser to its own file
125191        https://bugs.webkit.org/show_bug.cgi?id=40406
125192
125193        Moving this algorithm to its own file better encapsulates its
125194        dependencies and makes it callable from other parts of WebCore.
125195
125196        * Android.mk:
125197        * CMakeLists.txt:
125198        * GNUmakefile.am:
125199        * WebCore.gypi:
125200        * WebCore.pro:
125201        * WebCore.vcproj/WebCore.vcproj:
125202        * WebCore.xcodeproj/project.pbxproj:
125203        * html/HTML5EntityParser.cpp: Copied from WebCore/html/HTML5Lexer.cpp.
125204        (WebCore::):
125205        (WebCore::consumeHTML5Entity):
125206        * html/HTML5EntityParser.h: Copied from WebCore/html/HTML5Lexer.h.
125207        * html/HTML5Lexer.cpp:
125208        (WebCore::HTML5Lexer::processEntity):
125209        (WebCore::HTML5Lexer::nextToken):
125210        * html/HTML5Lexer.h:
125211
1252122010-06-09  Tony Gentilcore  <tonyg@chromium.org>
125213
125214        Reviewed by Adam Barth.
125215
125216        HTML5 Parser: Fix fast/profiler tests that depend on event handler line numbers
125217        https://bugs.webkit.org/show_bug.cgi?id=40393
125218
125219        This emulated the old behavior in HTMLTokenizer:processToken()
125220
125221        No new tests because covered by:
125222         - fast/profiler/dead-time.html
125223         - fast/profiler/inline-event-handler.html
125224         - fast/profiler/stop-profiling-after-setTimeout.html
125225         - fast/profiler/throw-exception-from-eval.html
125226
125227        * html/HTML5Tokenizer.cpp:
125228        (WebCore::HTML5Tokenizer::pumpLexer):
125229
1252302010-06-09  Alexey Proskuryakov  <ap@apple.com>
125231
125232        Reviewed by Dan Bernstein.
125233
125234        https://bugs.webkit.org/show_bug.cgi?id=9504
125235        img tag rewritten by innerHTML doesn't use image map
125236
125237        Test: fast/dom/replaced-image-map.html
125238
125239        * html/HTMLMapElement.cpp:
125240        (WebCore::HTMLMapElement::~HTMLMapElement): Destructor is not a good place to make changes
125241        that affect page behavior, because destructors are called by garbage collector. Don't
125242        undregister the image map from here.
125243        (WebCore::HTMLMapElement::parseMappedAttribute): Only tell document about the map if it's
125244        actually in document. A map in a detached subtree isn't used by Firefox at least.
125245        (WebCore::HTMLMapElement::insertedIntoDocument): Register the map.
125246        (WebCore::HTMLMapElement::removedFromDocument): Unregister the map.
125247
125248        * html/HTMLMapElement.h: Added insertedIntoDocument/removedFromDocument overrides.
125249
1252502010-06-09  Roland Steiner  <rolandsteiner@chromium.org>
125251
125252        Reviewed by Ojan Vafai.
125253
125254        Bug 35632 -  htmlediting.cpp : isEmptyTableCell() is incomplete
125255        https://bugs.webkit.org/show_bug.cgi?id=35632
125256
125257        Correct isEmptyTableCell to check for the presence of other renderer
125258        children.
125259
125260        Test: editing/deleting/delete-br-in-last-table-cell.html
125261
125262        * editing/htmlediting.cpp:
125263        (WebCore::isEmptyTableCell):
125264
1252652010-06-09  Qi Zhang  <qi.2.zhang@nokia.com>
125266
125267        Reviewed by Laszlo Gombos.
125268
125269        [Qt] Failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arcTo.transformation.html
125270        https://bugs.webkit.org/show_bug.cgi?id=38598
125271
125272        In path transform function handle path only have moveElement case.
125273
125274        * platform/graphics/qt/PathQt.cpp:
125275        (WebCore::Path::transform):
125276
1252772010-06-09  Anton Muhin  <antonm@chromium.org>
125278
125279        Reviewed by Nate Chapin.
125280
125281        [v8] First phase of switching to new named property query API
125282        https://bugs.webkit.org/show_bug.cgi?id=40303
125283
125284        To allow better management of attributes of intercepted properties,
125285        we're starting to switch to new named property query API which
125286        now could return attributes instead of simple property present/absent
125287        flag.  The next step would remove USE_NEW_QUERY_CALLBACK, then
125288        v8 would have them enabled by default.
125289
125290        * bindings/scripts/CodeGeneratorV8.pm:
125291        * bindings/v8/NPV8Object.cpp:
125292        * bindings/v8/ScriptArray.cpp:
125293        * bindings/v8/ScriptCallStack.cpp:
125294        * bindings/v8/SerializedScriptValue.cpp:
125295        * bindings/v8/V8Binding.cpp:
125296        * bindings/v8/V8DOMWrapper.cpp:
125297        * bindings/v8/V8GCController.cpp:
125298        * bindings/v8/V8IsolatedContext.cpp:
125299        * bindings/v8/V8NPObject.cpp:
125300        (WebCore::npObjectQueryProperty):
125301        * bindings/v8/V8Proxy.cpp:
125302        * bindings/v8/custom/V8PopStateEventCustom.cpp:
125303        * bindings/v8/custom/V8StorageCustom.cpp:
125304        (WebCore::V8Storage::namedPropertyQuery):
125305        * config.h:
125306
1253072010-06-09  Steve Block  <steveblock@google.com>
125308
125309        Reviewed by Jeremy Orlow.
125310
125311        Need to include V8Proxy.h in V8 generated bindings for toV8Context()
125312        https://bugs.webkit.org/show_bug.cgi?id=40290
125313
125314        No new tests, build fix only.
125315
125316        * bindings/scripts/CodeGeneratorV8.pm:
125317
1253182010-06-09  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
125319
125320        Reviewed by Kenneth Rohde Christiansen.
125321
125322        WebGL rendering context does not activate unless accelerated
125323        compositing is enabled from settings.
125324        https://bugs.webkit.org/show_bug.cgi?id=37772
125325
125326        * html/HTMLCanvasElement.cpp:
125327        (WebCore::HTMLCanvasElement::getContext):
125328
1253292010-06-09  Yong Li  <yoli@rim.com>
125330
125331        Reviewed by George Staikos.
125332
125333        https://bugs.webkit.org/show_bug.cgi?id=40252
125334        Make image down-sampling threshold runtime adjustable.
125335
125336        No new test needed.
125337
125338        * platform/graphics/ImageSource.cpp:
125339        (WebCore::ImageSource::setData):
125340        * platform/graphics/ImageSource.h:
125341        (WebCore::ImageSource::maxPixelsPerDecodedImage):
125342        (WebCore::ImageSource::setMaxPixelsPerDecodedImage):
125343
1253442010-06-09  Adam Barth  <abarth@webkit.org>
125345
125346        Reviewed by Eric Seidel.
125347
125348        Fix handling of bytes received from the network while in document.write
125349        https://bugs.webkit.org/show_bug.cgi?id=40356
125350
125351        The old tokenizer has specially logic for handling the case of
125352        receiving bytes from the network while in a nested call to
125353        document.write.  This patch implements similar logic for the HTML5
125354        tokenizer.  Also, this patch abstracts the tricky shuffling of
125355        SegmentedStrings behind a simple API.
125356
125357        I'm not sure how to trigger this case.  My guess is we can trigger it
125358        using a nested event loop, e.g., via alert(), but I'm not sure how to
125359        test that in a LayoutTest.  There don't appear to be any LayoutTests
125360        that currently test this behavior despite it being present in the old
125361        tokenizer.
125362
125363        * html/HTML5Tokenizer.cpp:
125364        (WebCore::HTML5Tokenizer::pumpLexer):
125365        (WebCore::HTML5Tokenizer::write):
125366            - Added a branch for the |append| argument.
125367        (WebCore::HTML5Tokenizer::end):
125368        (WebCore::HTML5Tokenizer::finish):
125369        (WebCore::HTML5Tokenizer::executeScript):
125370            - Switch over to using a RAII pattern for recording and restoring
125371              insertion points.
125372        * html/HTML5Tokenizer.h:
125373        (WebCore::HTML5Tokenizer::InputStream::InputStream):
125374        (WebCore::HTML5Tokenizer::InputStream::appendToEnd):
125375        (WebCore::HTML5Tokenizer::InputStream::insertAtCurrentInsertionPoint):
125376        (WebCore::HTML5Tokenizer::InputStream::close):
125377            - Putting the close() method on InputStream makes it much easier to
125378              handle EOF.  We now just close the last buffer in the stream when
125379              the network says it's done.
125380        (WebCore::HTML5Tokenizer::InputStream::current):
125381            - This class could be moved to its own file, but it shouldn't be
125382              used outside of the tokenizer.
125383        (WebCore::HTML5Tokenizer::InsertionPointRecord::InsertionPointRecord):
125384        (WebCore::HTML5Tokenizer::InsertionPointRecord::~InsertionPointRecord):
125385            - A simple RAII class for managing saved insertion points.
125386        * platform/text/SegmentedString.cpp:
125387        (WebCore::SegmentedString::operator=):
125388            - Fix a related bug where m_closed was not being copied properly in
125389              the assignment operator.
125390
1253912010-06-09  Tony Gentilcore  <tonyg@chromium.org>
125392
125393        Reviewed by Adam Barth.
125394
125395        Fix fast/parser/hex-entities-length.html for HTML5 parser
125396        https://bugs.webkit.org/show_bug.cgi?id=40385
125397
125398        Stripping surrogate pair values appears to be a problem with the spec
125399        in "Preprocessing the input stream." Minefield doesn't appear to
125400        implement the part in question. So this patch removes that guard and
125401        adds a FIXME to track the issue.
125402
125403        No new tests because covered by fast/parser/hex-entities-length.html
125404
125405        * html/HTML5Lexer.h:
125406        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
125407
1254082010-06-09  Kenneth Russell  <kbr@google.com>
125409
125410        Reviewed by Dimitri Glazkov.
125411
125412        Update readPixels to take ArrayBufferView rather than returning it
125413        https://bugs.webkit.org/show_bug.cgi?id=40322
125414
125415        No new tests; covered by existing tests, which have been modified.
125416
125417        * html/canvas/WebGLRenderingContext.cpp:
125418        (WebCore::WebGLRenderingContext::readPixels):
125419        * html/canvas/WebGLRenderingContext.h:
125420        * html/canvas/WebGLRenderingContext.idl:
125421
1254222010-06-09  Enrico Ros  <eros@codeaurora.org>
125423
125424        Reviewed by Ariya Hidayat.
125425
125426        Fix drawing zero-sized gradients on Canvas.
125427        https://bugs.webkit.org/show_bug.cgi?id=40340
125428
125429        HTML5 draft says that nothing must be painted if the gradient start
125430        point equals the stop point.
125431
125432        This commit fixes the following canvas test:
125433        http://philip.html5.org/tests/canvas/suite/tests/2d.gradient.interpolate.zerosize.html
125434
125435        * html/canvas/CanvasRenderingContext2D.cpp:
125436        (WebCore::CanvasRenderingContext2D::fillRect): skip zero-sized linear gradients
125437        * platform/graphics/Gradient.h:
125438        (WebCore::Gradient::isRadial): made public
125439        (WebCore::Gradient::isZeroSize): true if start == stop
125440
1254412010-06-09  Leandro Pereira  <leandro@profusion.mobi>
125442
125443        Reviewed by Adam Treat.
125444
125445        [EFL] Allow building core libraries as shared objects to speed up
125446        linking time on machines with small amounts of memory.
125447        http://webkit.org/b/39899
125448
125449        * CMakeLists.txt: If building with shared core, install the lib.
125450        Remove npapi.cpp (causes conflicts when linking dynamically).
125451        * CMakeListsEfl.txt: EFL libraries are needed to link dynamically.
125452
1254532010-06-09  Mark Rowe  <mrowe@apple.com>
125454
125455        Reviewed by Adele Peterson.
125456
125457        <rdar://problem/8070662> REGRESSION (r51629): WebBackForwardList created via -init crashes when -addItem: is called.
125458
125459        A WebBackForwardList created via -init results in a BackForwardList being created with a null m_page.
125460        BackForwardList needs to be careful not to dereference m_page without first ensuring it's not null.
125461
125462        * history/BackForwardList.cpp:
125463        (WebCore::BackForwardList::addItem): Null-check m_page.
125464        (WebCore::BackForwardList::goBack): Ditto.
125465        (WebCore::BackForwardList::goForward): Ditto.
125466        (WebCore::BackForwardList::goToItem): Ditto.
125467        (WebCore::BackForwardList::setCapacity): Ditto.
125468
1254692010-06-09  Kwang Yul Seo  <skyul@company100.net>
125470
125471        Reviewed by Kent Tamura.
125472
125473        [BREWMP] Add dummy Context Menu implementation
125474        https://bugs.webkit.org/show_bug.cgi?id=40223
125475
125476        Brew MP does not use Context Menu. Add dummy implementation.
125477
125478        * platform/brew/ContextMenuBrew.cpp: Added.
125479        (WebCore::ContextMenu::ContextMenu):
125480        (WebCore::ContextMenu::~ContextMenu):
125481        (WebCore::ContextMenu::itemCount):
125482        (WebCore::ContextMenu::insertItem):
125483        (WebCore::ContextMenu::appendItem):
125484        (WebCore::ContextMenu::itemWithAction):
125485        (WebCore::ContextMenu::itemAtIndex):
125486        (WebCore::ContextMenu::setPlatformDescription):
125487        (WebCore::ContextMenu::platformDescription):
125488        (WebCore::ContextMenu::releasePlatformDescription):
125489        * platform/brew/ContextMenuItemBrew.cpp: Added.
125490        (WebCore::ContextMenuItem::ContextMenuItem):
125491        (WebCore::ContextMenuItem::~ContextMenuItem):
125492        (WebCore::ContextMenuItem::releasePlatformDescription):
125493        (WebCore::ContextMenuItem::type):
125494        (WebCore::ContextMenuItem::action):
125495        (WebCore::ContextMenuItem::title):
125496        (WebCore::ContextMenuItem::platformSubMenu):
125497        (WebCore::ContextMenuItem::setType):
125498        (WebCore::ContextMenuItem::setAction):
125499        (WebCore::ContextMenuItem::setTitle):
125500        (WebCore::ContextMenuItem::setSubMenu):
125501        (WebCore::ContextMenuItem::setChecked):
125502        (WebCore::ContextMenuItem::setEnabled):
125503        (WebCore::ContextMenuItem::enabled):
125504
1255052010-06-09  Kwang Yul Seo  <skyul@company100.net>
125506
125507        Reviewed by Kent Tamura.
125508
125509        [BREWMP] Port Clipboard
125510        https://bugs.webkit.org/show_bug.cgi?id=35734
125511
125512        Add dummy Clipboard.
125513
125514        * platform/brew/ClipboardBrew.cpp: Added.
125515        (WebCore::ClipboardBrew::ClipboardBrew):
125516        (WebCore::ClipboardBrew::~ClipboardBrew):
125517        (WebCore::ClipboardBrew::clearData):
125518        (WebCore::ClipboardBrew::clearAllData):
125519        (WebCore::ClipboardBrew::getData):
125520        (WebCore::ClipboardBrew::setData):
125521        (WebCore::ClipboardBrew::types):
125522        (WebCore::ClipboardBrew::files):
125523        (WebCore::ClipboardBrew::setDragImage):
125524        (WebCore::ClipboardBrew::setDragImageElement):
125525        (WebCore::ClipboardBrew::createDragImage):
125526        (WebCore::ClipboardBrew::declareAndWriteDragImage):
125527        (WebCore::ClipboardBrew::writeURL):
125528        (WebCore::ClipboardBrew::writeRange):
125529        (WebCore::ClipboardBrew::writePlainText):
125530        (WebCore::ClipboardBrew::hasData):
125531        * platform/brew/ClipboardBrew.h: Added.
125532
1255332010-06-09  Anders Bakken  <agbakken@gmail.com>
125534
125535        Reviewed by David Levin.
125536
125537        [Qt] ClipboardQt.cpp has coding-style errors
125538        https://bugs.webkit.org/show_bug.cgi?id=39781
125539
125540        * platform/qt/ClipboardQt.cpp:
125541        (WebCore::ClipboardQt::declareAndWriteDragImage):
125542
1255432010-06-09  Kenneth Russell  <kbr@google.com>
125544
125545        Reviewed by Dimitri Glazkov.
125546
125547        Rename FloatArray to Float32Array
125548        https://bugs.webkit.org/show_bug.cgi?id=40323
125549
125550        Used do-webcore-rename to perform renaming. Manually undid
125551        incorrect changes to WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp,
125552        WebCore/manual-tests/resources/ArrayParameterTestApplet.java and
125553        ArrayParameterTestApplet.class. Updated LayoutTests. Built and ran
125554        all layout tests on Safari; built Chromium and ran selected WebGL
125555        tests.
125556
125557        * CMakeLists.txt:
125558        * DerivedSources.make:
125559        * GNUmakefile.am:
125560        * WebCore.gypi:
125561        * WebCore.pri:
125562        * WebCore.pro:
125563        * WebCore.xcodeproj/project.pbxproj:
125564        * bindings/generic/RuntimeEnabledFeatures.h:
125565        (WebCore::RuntimeEnabledFeatures::float32ArrayEnabled):
125566        * bindings/js/JSArrayBufferViewCustom.cpp:
125567        (WebCore::toJS):
125568        * bindings/js/JSDOMWindowCustom.cpp:
125569        (WebCore::JSDOMWindow::float32Array):
125570        (WebCore::JSDOMWindow::webGLFloatArray):
125571        * bindings/js/JSFloat32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSFloatArrayConstructor.cpp.
125572        (WebCore::):
125573        (WebCore::JSFloat32ArrayConstructor::JSFloat32ArrayConstructor):
125574        (WebCore::constructCanvasFloatArray):
125575        (WebCore::JSFloat32ArrayConstructor::getConstructData):
125576        * bindings/js/JSFloat32ArrayConstructor.h: Copied from WebCore/bindings/js/JSFloatArrayConstructor.h.
125577        * bindings/js/JSFloat32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSFloatArrayCustom.cpp.
125578        (WebCore::JSFloat32Array::indexSetter):
125579        (WebCore::toJS):
125580        (WebCore::JSFloat32Array::set):
125581        * bindings/js/JSFloatArrayConstructor.cpp: Removed.
125582        * bindings/js/JSFloatArrayConstructor.h: Removed.
125583        * bindings/js/JSFloatArrayCustom.cpp: Removed.
125584        * bindings/js/JSWebGLRenderingContextCustom.cpp:
125585        (WebCore::dataFunctionf):
125586        (WebCore::dataFunctionMatrix):
125587        * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
125588        (WebCore::toV8):
125589        * bindings/v8/custom/V8DOMWindowCustom.cpp:
125590        (WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter):
125591        * bindings/v8/custom/V8Float32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8FloatArrayCustom.cpp.
125592        (WebCore::V8Float32Array::constructorCallback):
125593        (WebCore::V8Float32Array::setCallback):
125594        (WebCore::toV8):
125595        * bindings/v8/custom/V8FloatArrayCustom.cpp: Removed.
125596        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
125597        (WebCore::vertexAttribAndUniformHelperf):
125598        (WebCore::uniformMatrixHelper):
125599        * html/canvas/Float32Array.cpp: Copied from WebCore/html/canvas/FloatArray.cpp.
125600        (WebCore::Float32Array::create):
125601        (WebCore::Float32Array::Float32Array):
125602        (WebCore::Float32Array::slice):
125603        * html/canvas/Float32Array.h: Copied from WebCore/html/canvas/FloatArray.h.
125604        * html/canvas/Float32Array.idl: Copied from WebCore/html/canvas/FloatArray.idl.
125605        * html/canvas/FloatArray.cpp: Removed.
125606        * html/canvas/FloatArray.h: Removed.
125607        * html/canvas/FloatArray.idl: Removed.
125608        * html/canvas/WebGLGetInfo.cpp:
125609        (WebCore::WebGLGetInfo::WebGLGetInfo):
125610        (WebCore::WebGLGetInfo::getWebGLFloatArray):
125611        * html/canvas/WebGLGetInfo.h:
125612        * html/canvas/WebGLRenderingContext.cpp:
125613        (WebCore::WebGLRenderingContext::getUniform):
125614        (WebCore::WebGLRenderingContext::getVertexAttrib):
125615        (WebCore::WebGLRenderingContext::uniform1fv):
125616        (WebCore::WebGLRenderingContext::uniform2fv):
125617        (WebCore::WebGLRenderingContext::uniform3fv):
125618        (WebCore::WebGLRenderingContext::uniform4fv):
125619        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
125620        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
125621        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
125622        (WebCore::WebGLRenderingContext::vertexAttrib1fv):
125623        (WebCore::WebGLRenderingContext::vertexAttrib2fv):
125624        (WebCore::WebGLRenderingContext::vertexAttrib3fv):
125625        (WebCore::WebGLRenderingContext::vertexAttrib4fv):
125626        (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
125627        * html/canvas/WebGLRenderingContext.h:
125628        * html/canvas/WebGLRenderingContext.idl:
125629        * page/DOMWindow.idl:
125630        * platform/graphics/GraphicsContext3D.h:
125631        * platform/graphics/mac/GraphicsContext3DMac.cpp:
125632        * platform/graphics/qt/GraphicsContext3DQt.cpp:
125633
1256342010-06-09  Eric Seidel  <eric@webkit.org>
125635
125636        Reviewed by Adam Barth.
125637
125638        HTML5 Parser needs to integrate with the XSSAuditor
125639        https://bugs.webkit.org/show_bug.cgi?id=40287
125640
125641        This fixes most of the XSSAuditor tests, except for the ones
125642        which rely on the srcValue "context".  The previous HTMLTokenizer
125643        implementation was both Lexer and ScriptRunner and thus could
125644        provide the XSSAuditor with the un-modified attribute source.
125645        This naive implementation will fail the context-sensitive tests
125646        but Adam Barth says he'll just have to find a new way to provide
125647        the required information to the XSSAuditor in a later patch.
125648
125649        Covered by numerous http/tests/security/xssAuditor tests.
125650
125651        * html/HTML5ScriptRunner.cpp:
125652        (WebCore::HTML5ScriptRunner::requestScript):
125653         - Ask the HTML5ScriptRunner host before running any scripts.
125654        * html/HTML5ScriptRunnerHost.h:
125655         - Add a shouldLoadExternalScriptFromSrc declaration.
125656        * html/HTML5Tokenizer.cpp:
125657        (WebCore::HTML5Tokenizer::shouldLoadExternalScriptFromSrc):
125658         - Ask the XSSAuditor if we're allowed to run the passed script.
125659        * html/HTML5Tokenizer.h:
125660
1256612010-06-09  Tony Gentilcore  <tonyg@chromium.org>
125662
125663        Reviewed by Adam Barth.
125664
125665        Fix script-after-frameset test in HTML5 parser
125666        https://bugs.webkit.org/show_bug.cgi?id=40274
125667
125668        The old HTMLTokenizer enforced this in scriptHandler(). We don't use
125669        that code anymore, so it needs to be implemented. The spec does this
125670        as a part of "insertion mode"->"after frameset", so this adds an
125671        InsertionMode enum instead of a one-off boolean.
125672
125673        No new tests because covered by fast/tokenizer/script-after-frameset.html
125674
125675        * html/HTML5TreeBuilder.cpp:
125676        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
125677        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
125678        * html/HTML5TreeBuilder.h:
125679        (WebCore::HTML5TreeBuilder::):
125680        (WebCore::HTML5TreeBuilder::setInsertionMode):
125681        (WebCore::HTML5TreeBuilder::insertionMode):
125682
1256832010-06-09  Kwang Yul Seo  <skyul@company100.net>
125684
125685        Reviewed by Kent Tamura.
125686
125687        [BREWMP] Add EventLoop
125688        https://bugs.webkit.org/show_bug.cgi?id=39401
125689
125690        BREW MP does not have an explicit event loop. Add dummy EventLoop::cycle.
125691
125692        * platform/brew/EventLoopBrew.cpp: Added.
125693        (WebCore::EventLoop::cycle):
125694
1256952010-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
125696
125697        Unreviewed, rolling out r60889.
125698        http://trac.webkit.org/changeset/60889
125699        https://bugs.webkit.org/show_bug.cgi?id=40365
125700
125701        gtk bot has some kind of memory corruption (Requested by
125702        loislo on #webkit).
125703
125704        * inspector/InspectorClient.h:
125705        * inspector/InspectorController.cpp:
125706        (WebCore::InspectorController::setFrontend):
125707        * inspector/InspectorController.h:
125708        * inspector/InspectorFrontend.cpp:
125709        (WebCore::InspectorFrontend::InspectorFrontend):
125710        * inspector/InspectorFrontend.h:
125711        * inspector/InspectorFrontendClientLocal.cpp:
125712        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
125713        * inspector/InspectorValues.cpp:
125714        (WebCore::InspectorObject::writeJSON):
125715        * inspector/front-end/inspector.js:
125716        * loader/EmptyClients.h:
125717
1257182010-06-09  Kent Tamura  <tkent@chromium.org>
125719
125720        Reviewed by Eric Carlson.
125721
125722        [Windows] Build fix on Japanese Windows
125723        https://bugs.webkit.org/show_bug.cgi?id=40358
125724
125725        cl.exe on Japanese Windows assumes files with invalid CP932
125726        sequences broken and doesn't build them at all.
125727
125728        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Remove non-ASCII characters
125729        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: ditto.
125730        * platform/graphics/win/WKCAImageQueue.cpp: ditto.
125731        * platform/graphics/win/WKCAImageQueue.h: ditto.
125732
1257332010-06-09  Pavel Podivilov  <podivilov@chromium.org>
125734
125735        Reviewed by Yury Semikhatsky.
125736
125737        Web Inspector: Add isDebuggerAlwaysEnabled method to ScriptDebugServer.
125738        This method returns true if debugger should always be enabled when
125739        frontend is attached.
125740        https://bugs.webkit.org/show_bug.cgi?id=40289
125741
125742        * bindings/js/ScriptDebugServer.cpp:
125743        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
125744        * bindings/js/ScriptDebugServer.h:
125745        * bindings/v8/ScriptDebugServer.cpp:
125746        (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
125747        * bindings/v8/ScriptDebugServer.h:
125748        * inspector/InspectorController.cpp:
125749        (WebCore::InspectorController::setFrontend):
125750
1257512010-06-07  Ilya Tikhonovsky  <loislo@chromium.org>
125752
125753        Reviewed by Pavel Feldman.
125754
125755        WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
125756        data from inspected page to WebInspector as JSON string via http. The native
125757        serialization to JSON string is supported by InspectorValue's classes. This patch
125758        has the implementation of sendMessageToFrontend function. WebKit version of it still
125759        uses ScriptFunctionCall and will be switched to another transport a little bit later.
125760        https://bugs.webkit.org/show_bug.cgi?id=40134
125761
125762        * inspector/InspectorClient.h:
125763        * inspector/InspectorController.cpp:
125764        (WebCore::InspectorController::connectFrontend):
125765        (WebCore::InspectorController::disconnectFrontend):
125766        * inspector/InspectorController.h:
125767        * inspector/InspectorFrontend.cpp:
125768        (WebCore::InspectorFrontend::InspectorFrontend):
125769        * inspector/InspectorFrontend.h:
125770        * inspector/InspectorFrontendClientLocal.cpp:
125771        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
125772        * inspector/InspectorValues.cpp:
125773        (WebCore::InspectorObject::writeJSON):
125774        * inspector/front-end/inspector.js:
125775        (WebInspector.dispatchMessageToFrontend):
125776        * loader/EmptyClients.h:
125777        (WebCore::EmptyInspectorClient::sendMessageToFrontend):
125778
1257792010-06-09  Csaba Osztrogonác  <ossy@webkit.org>
125780
125781        Reviewed by Dirk Schulze.
125782
125783        [Qt] Imperfect dependency for generated SVGNames.cpp
125784        https://bugs.webkit.org/show_bug.cgi?id=40359
125785
125786        * WebCore.pri: Missing dependency added.
125787
1257882010-06-08  Dirk Schulze  <krit@webkit.org>
125789
125790        Reviewed by Nikolas Zimmermann.
125791
125792        Implement non-scaling-stroke (from SVG Tiny 1.2, also in Opera)
125793        https://bugs.webkit.org/show_bug.cgi?id=31438
125794        
125795        This is the implementation of the SVG property vector-effect according
125796        to the specification of SVG Tiny 1.2.
125797        getScreenCTM() was not able to calculate the transformation matrix in
125798        comparison to the host coordinate system for objects, that get refereced
125799        by a use element. This is fixed and covered by the the new test as well.
125800        This patch is based upon a patch of Jeff Schiller.
125801
125802        Test: svg/custom/non-scaling-stroke.svg
125803
125804        * css/CSSComputedStyleDeclaration.cpp: Added CSSPropertyVectorEffect.
125805        (WebCore::):
125806        * css/CSSPrimitiveValueMappings.h:
125807        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
125808        (WebCore::CSSPrimitiveValue::operator EVectorEffect):
125809        * css/SVGCSSComputedStyleDeclaration.cpp:
125810        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
125811        * css/SVGCSSParser.cpp:
125812        (WebCore::CSSParser::parseSVGValue):
125813        * css/SVGCSSPropertyNames.in:
125814        * css/SVGCSSStyleSelector.cpp:
125815        (WebCore::CSSStyleSelector::applySVGProperty):
125816        * css/SVGCSSValueKeywords.in: Add vector-effect value non-scaling-stroke.
125817        * rendering/RenderPath.cpp: Revert transformations to ctm and transform path instead.
125818        (WebCore::fillAndStrokePath):
125819        * rendering/RenderSVGResourceContainer.h:
125820        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
125821        * rendering/RenderSVGResourceGradient.cpp: Transform the gradient with the screenCTM.
125822        (WebCore::RenderSVGResourceGradient::applyResource):
125823        * rendering/RenderSVGResourcePattern.cpp: Transform the pattern with the screenCTM.
125824        (WebCore::RenderSVGResourcePattern::applyResource):
125825        * rendering/style/SVGRenderStyle.h: Added vector-effect property, not interited.
125826        (WebCore::SVGRenderStyle::NonInheritedFlags::):
125827        (WebCore::SVGRenderStyle::setBitDefaults):
125828        * rendering/style/SVGRenderStyleDefs.h: Added enums for vector-effect.
125829        (WebCore::):
125830        * svg/SVGLocatable.cpp: Calculate screenCTM for <use> referenced objects.
125831        (WebCore::SVGLocatable::computeCTM):
125832        * svg/SVGStyledElement.cpp:
125833        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
125834        * svg/svgattrs.in:
125835
1258362010-06-08  Mark Rowe  <mrowe@apple.com>
125837
125838        Reviewed by Adele Peterson.
125839
125840        <rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK
125841
125842        Revert the change to ContextMenu::addInspectElementItem from r56051. It was made without
125843        explanation and broke a reliance that WebKit has on the presence of a separator before the
125844        Inspect Element menu item. This also restores the context menu item to the correct location
125845        at the bottom of the context menu in applications built against the Mac OS X 10.4 SDK.
125846
125847        * platform/ContextMenu.cpp:
125848        (WebCore::ContextMenu::addInspectElementItem):
125849
1258502010-06-08  Roland Steiner  <rolandsteiner@chromium.org>
125851
125852        Unreviewed build fix
125853
125854        Bug 38145 - Validate *tex* functions input parameters according to ES2 conformance
125855        https://bugs.webkit.org/show_bug.cgi?id=38145
125856        https://bugs.webkit.org/show_bug.cgi?id=40346
125857
125858        Fix for 38145 broke the build ('log2 not found' on Windows),
125859        the fix from 40346 also didn't catch ('log ambiguous').
125860
125861        2nd quick fix: add explicit casts to double and use double constants.
125862
125863        No new tests.
125864
125865        * html/canvas/WebGLRenderingContext.cpp:
125866        (WebCore::WebGLRenderingContext::validateTexFuncParameters):
125867
1258682010-05-18  Yuzo Fujishima  <yuzo@google.com>
125869
125870        Reviewed by Shinichiro Hamaji.
125871
125872        Fix for Bug 34529 -  [CSSOM] issues with cssText and selectorText
125873        Serialize selector as per http://dev.w3.org/csswg/cssom/#serializing-selectors
125874        Without this patch, for example, selectors containing ':' or '.' are not properly serialized.
125875        https://bugs.webkit.org/show_bug.cgi?id=34529
125876
125877        Test: fast/css/selector-text-escape.html
125878
125879        * Android.mk:
125880        * CMakeLists.txt:
125881        * GNUmakefile.am:
125882        * WebCore.gypi:
125883        * WebCore.pro:
125884        * WebCore.vcproj/WebCore.vcproj:
125885        * WebCore.xcodeproj/project.pbxproj:
125886        * css/CSSOMUtils.cpp: Added.
125887        (WebCore::appendCharacter):
125888        (WebCore::serializeCharacter):
125889        (WebCore::serializeCharacterAsCodePoint):
125890        (WebCore::serializeIdentifier):
125891        (WebCore::serializeString):
125892        * css/CSSOMUtils.h: Added.
125893        * css/CSSSelector.cpp:
125894        (WebCore::CSSSelector::selectorText):
125895
1258962010-06-08  Ryosuke Niwa  <rniwa@webkit.org>
125897
125898        Reviewed by Justin Garcia
125899
125900        InsertListCommand needs cleanup
125901        https://bugs.webkit.org/show_bug.cgi?id=36430
125902
125903        Separated code for listifying and unlistifying paragraphs.
125904        Also isolated the dependency on the selection in doApply.
125905
125906        No test is added since this is a cleanup.
125907
125908        * editing/InsertListCommand.cpp:
125909        (WebCore::InsertListCommand::doApply): isolated code to listify / unlistify paragraphs
125910        (WebCore::InsertListCommand::unlistifyParagraph): ditto
125911        (WebCore::InsertListCommand::listifyParagraph): ditto
125912        * editing/InsertListCommand.h:
125913
1259142010-06-08  Kenneth Russell  <kbr@google.com>
125915
125916        Unreviewed, build fix.
125917
125918        Fix build breakage from 38145
125919        https://bugs.webkit.org/show_bug.cgi?id=40346
125920
125921        The fix for bug 38145 broke the Chromium Win build because
125922        Microsoft's cmath doesn't define log2. Suggested fix by zmo is to
125923        change log2(x) to log(x) / log(2). Built and ran WebGL layout
125924        tests in Safari on Mac OS X. Changed download mirrors for
125925        python-irclib to working ones.
125926
125927        * html/canvas/WebGLRenderingContext.cpp:
125928        (WebCore::WebGLRenderingContext::validateTexFuncParameters):
125929
1259302010-06-08  Zhenyao Mo  <zmo@google.com>
125931
125932        Reviewed by Dimitri Glazkov.
125933
125934        Validate *tex* functions input parameters according to ES2 conformance
125935        https://bugs.webkit.org/show_bug.cgi?id=38145
125936
125937        Test: fast/canvas/webgl/tex-input-validation.html
125938
125939        * html/canvas/WebGLFramebuffer.cpp:
125940        (WebCore::WebGLFramebuffer::getColorBufferFormat): Get color buffer internalformat.
125941        * html/canvas/WebGLFramebuffer.h: Ditto.
125942        * html/canvas/WebGLRenderingContext.cpp:
125943        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with max tex units and max texture size.
125944        (WebCore::WebGLRenderingContext::copyTexImage2D): Validate input parameters.
125945        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
125946        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
125947        (WebCore::WebGLRenderingContext::texParameterf): Ditto.
125948        (WebCore::WebGLRenderingContext::texParameteri): Ditto.
125949        (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
125950        (WebCore::WebGLRenderingContext::handleNPOTTextures): Deal with max tex units.
125951        (WebCore::WebGLRenderingContext::isTexInternalformatColorBufferCombinationValid): Check whether the texture format and framebuffer color buffer internalformat combination is valid.
125952        (WebCore::WebGLRenderingContext::getTextureBinding): get the current bound texture for given target.
125953        (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): Validate input format/type for *tex* functions.
125954        (WebCore::WebGLRenderingContext::validateTexFuncParameters): Validate input parameters for *tex* functions.
125955        (WebCore::WebGLRenderingContext::texParameter): Base function for texParameteri and texParameterf.
125956        * html/canvas/WebGLRenderingContext.h: Deal with max tex units.
125957        * html/canvas/WebGLTexture.cpp:
125958        (WebCore::WebGLTexture::WebGLTexture): Cache internalformat.
125959        * html/canvas/WebGLTexture.h: Ditto.
125960        (WebCore::WebGLTexture::setInternalformat):
125961        (WebCore::WebGLTexture::getInternalformat):
125962        * platform/graphics/GraphicsContext3D.cpp: internalformat and format need to be the same.
125963        (WebCore::GraphicsContext3D::extractImageData):
125964
1259652010-06-08  Erik Arvidsson  <arv@chromium.org>
125966
125967        Reviewed by Ojan Vafai.
125968
125969        REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
125970        https://bugs.webkit.org/show_bug.cgi?id=38548
125971
125972        Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html
125973
125974        * page/FocusController.cpp:
125975        (WebCore::clearSelectionIfNeeded): Make sure we do not clear selection when canStartSelection
125976                                           returns false.
125977
1259782010-06-08  Enrico Ros  <eros@codeaurora.org>
125979
125980        Reviewed by Ariya Hidayat.
125981
125982        [Qt] Crashfix on Path::contains
125983        https://bugs.webkit.org/show_bug.cgi?id=40253
125984
125985        Fix accessing the first item of an empty vector, that happens when
125986        CanvasRenderingContext2D::isPointInPath is invoked over a borderless
125987        path (e.g. a path made of just a MoveTo operation).
125988
125989        * platform/graphics/qt/PathQt.cpp:
125990        (WebCore::isPointOnPathBorder):
125991
1259922010-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
125993
125994        Unreviewed, rolling out r60859.
125995        http://trac.webkit.org/changeset/60859
125996        https://bugs.webkit.org/show_bug.cgi?id=40334
125997
125998        Included debugging statements. Caused a test to fail.
125999        (Requested by ojan on #webkit).
126000
126001        * page/FocusController.cpp:
126002        (WebCore::clearSelectionIfNeeded):
126003
1260042010-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
126005
126006        Unreviewed, rolling out r60858.
126007        http://trac.webkit.org/changeset/60858
126008        https://bugs.webkit.org/show_bug.cgi?id=40325
126009
126010        Qt needs a clean build. Rolling out the patch for now and fix
126011        it tomorrow (Requested by krit on #webkit).
126012
126013        * css/CSSComputedStyleDeclaration.cpp:
126014        (WebCore::):
126015        * css/CSSPrimitiveValueMappings.h:
126016        * css/SVGCSSComputedStyleDeclaration.cpp:
126017        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
126018        * css/SVGCSSParser.cpp:
126019        (WebCore::CSSParser::parseSVGValue):
126020        * css/SVGCSSPropertyNames.in:
126021        * css/SVGCSSStyleSelector.cpp:
126022        (WebCore::CSSStyleSelector::applySVGProperty):
126023        * css/SVGCSSValueKeywords.in:
126024        * rendering/RenderPath.cpp:
126025        (WebCore::fillAndStrokePath):
126026        * rendering/RenderSVGResourceContainer.h:
126027        * rendering/RenderSVGResourceGradient.cpp:
126028        (WebCore::RenderSVGResourceGradient::applyResource):
126029        * rendering/RenderSVGResourcePattern.cpp:
126030        (WebCore::RenderSVGResourcePattern::applyResource):
126031        * rendering/style/SVGRenderStyle.h:
126032        (WebCore::SVGRenderStyle::NonInheritedFlags::):
126033        (WebCore::SVGRenderStyle::setBitDefaults):
126034        * rendering/style/SVGRenderStyleDefs.h:
126035        (WebCore::):
126036        * svg/SVGLocatable.cpp:
126037        (WebCore::SVGLocatable::computeCTM):
126038        * svg/SVGStyledElement.cpp:
126039        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
126040        * svg/svgattrs.in:
126041
1260422010-06-08  Daniel Bates  <dbates@rim.com>
126043
126044        Unreviewed, fix Xcode project file after change-set 60841.
126045
126046        Xcode is not happy about the entries for files EditingBehavior.h and
126047        EditingBehaviorTypes.h that were added in change-set 60841 (Bug # 39854).
126048        Lets make Xcode happy.
126049
126050        Also, lets place these entries in alphabetic order.
126051
126052        * WebCore.xcodeproj/project.pbxproj:
126053
1260542010-06-08  Erik Arvidsson  <arv@chromium.org>
126055
126056        Reviewed by Ojan Vafai.
126057
126058        REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
126059        https://bugs.webkit.org/show_bug.cgi?id=38548
126060
126061        We should not clear the selection when canStartSelection returns false.
126062
126063        Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html
126064
126065        * page/FocusController.cpp:
126066        (WebCore::clearSelectionIfNeeded): Make sure we do not clear selection when canStartSelection
126067                                           returns false.
126068
1260692010-06-08  Dirk Schulze  <krit@webkit.org>
126070
126071        Reviewed by Nikolas Zimmermann.
126072
126073        Implement non-scaling-stroke (from SVG Tiny 1.2, also in Opera)
126074        https://bugs.webkit.org/show_bug.cgi?id=31438
126075        
126076        This is the implementation of the SVG property vector-effect according
126077        to the specification of SVG Tiny 1.2.
126078        getScreenCTM() was not able to calculate the transformation matrix in
126079        comparison to the host coordinate system for objects, that get refereced
126080        by a use element. This is fixed and covered by the the new test as well.
126081        This patch is based upon a patch of Jeff Schiller.
126082
126083        Test: svg/custom/non-scaling-stroke.svg
126084
126085        * css/CSSComputedStyleDeclaration.cpp: Added CSSPropertyVectorEffect.
126086        (WebCore::):
126087        * css/CSSPrimitiveValueMappings.h:
126088        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
126089        (WebCore::CSSPrimitiveValue::operator EVectorEffect):
126090        * css/SVGCSSComputedStyleDeclaration.cpp:
126091        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
126092        * css/SVGCSSParser.cpp:
126093        (WebCore::CSSParser::parseSVGValue):
126094        * css/SVGCSSPropertyNames.in:
126095        * css/SVGCSSStyleSelector.cpp:
126096        (WebCore::CSSStyleSelector::applySVGProperty):
126097        * css/SVGCSSValueKeywords.in: Add vector-effect value non-scaling-stroke.
126098        * rendering/RenderPath.cpp: Revert transformations to ctm and transform path instead.
126099        (WebCore::fillAndStrokePath):
126100        * rendering/RenderSVGResourceContainer.h:
126101        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
126102        * rendering/RenderSVGResourceGradient.cpp: Transform the gradient with the screenCTM.
126103        (WebCore::RenderSVGResourceGradient::applyResource):
126104        * rendering/RenderSVGResourcePattern.cpp: Transform the pattern with the screenCTM.
126105        (WebCore::RenderSVGResourcePattern::applyResource):
126106        * rendering/style/SVGRenderStyle.h: Added vector-effect property, not interited.
126107        (WebCore::SVGRenderStyle::NonInheritedFlags::):
126108        (WebCore::SVGRenderStyle::setBitDefaults):
126109        * rendering/style/SVGRenderStyleDefs.h: Added enums for vector-effect.
126110        (WebCore::):
126111        * svg/SVGLocatable.cpp: Calculate screenCTM for <use> referenced objects.
126112        (WebCore::SVGLocatable::computeCTM):
126113        * svg/SVGStyledElement.cpp:
126114        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
126115        * svg/svgattrs.in:
126116
1261172010-06-08  Alexey Proskuryakov  <ap@apple.com>
126118
126119        * GNUmakefile.am: Also adding platform/Cursor.cpp to Gtk build.
126120
1261212010-06-08  Csaba Osztrogonác  <ossy@webkit.org>
126122
126123        [Qt] Unreviewed buildfix after r60849.
126124
126125        * WebCore.pro: platform/Cursor.cpp is added to Qt build system.
126126
1261272010-06-08  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
126128
126129        Unreviewed Buildbot fix.
126130
126131        Reset the Qt TextBreakIterator when reusing it.
126132
126133        * platform/text/qt/TextBreakIteratorQt.cpp:
126134        (WebCore::setUpIterator):
126135
1261362010-06-04  Alexey Proskuryakov  <ap@apple.com>
126137
126138        Reviewed by John Sullivan.
126139
126140        https://bugs.webkit.org/show_bug.cgi?id=15779
126141        <rdar://problem/8002964> Custom CSS .cur cursor anchor point is ignored
126142
126143        Test: manual-tests/cur-hotspot.html
126144
126145        Currently, this patch only has effect in Safari 5 on Windows. Other platforms will need
126146        to implement getting hot spot information from .cur files.
126147
126148        * WebCore.vcproj/WebCore.vcproj:
126149        * WebCore.xcodeproj/project.pbxproj:
126150        Added Cursor.cpp. Looks like TextWrangler fixed line endings in vcproj file.
126151
126152        * css/CSSCursorImageValue.cpp:
126153        (WebCore::CSSCursorImageValue::CSSCursorImageValue): Renamed "hotspot" to "hotSpot" to match
126154        other code.
126155        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Ditto. Added a FIXME about possibly
126156        incorrect code for resolving differences with CSS specified hotspot.
126157
126158        * css/CSSCursorImageValue.h:
126159        (WebCore::CSSCursorImageValue::create):
126160        (WebCore::CSSCursorImageValue::hotSpot):
126161        Renamed "hotspot" to "hotSpot" to match other code.
126162
126163        * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Start with an invalid value for hot
126164        spot, so that we can differentiate between missing and (0, 0) CSS hot spots. Missing and
126165        invalid (-1, -1) are treated identically by Firefox, so we don't need to differentiate these.
126166
126167        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): Renamed "hotspot" to
126168        "hotSpot" to match other code.
126169
126170        * page/EventHandler.cpp: (WebCore::EventHandler::selectCursor): Don't ignore cursors with
126171        invalid CSS hot spots. Firefox ignores only the hot spot, not the whole cursor in this case
126172        (and IE doesn't support CSS3 cursor declarations).
126173
126174        * platform/Cursor.cpp: Added. (WebCore::determineHotSpot): Added a function that decides
126175        where hot spot is, provided an image and a possible out of band coordinate specification.
126176
126177        * platform/Cursor.h: Added determineHotSpot().
126178
126179        * platform/graphics/BitmapImage.cpp:
126180        (WebCore::BitmapImage::getHotSpot):
126181        * platform/graphics/BitmapImage.h:
126182        * platform/graphics/Image.h:
126183        (WebCore::Image::getHotSpot):
126184        * platform/graphics/ImageSource.cpp:
126185        (WebCore::ImageSource::getHotSpot):
126186        * platform/graphics/ImageSource.h:
126187        Added plumbing to get hot spot data from an image provider.
126188
126189        * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::getHotSpot): CG implemantation.
126190
126191        * platform/mac/CursorMac.mm: (WebCore::createCustomCursor): Call determineHotSpot() to 
126192        determine where hot spot should be.
126193        (WebCore::Cursor::Cursor): Renamed "hotspot" to "hotSpot" to match other code.
126194
126195        * platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor): Call determineHotSpot() to determine
126196        where hot spot should be.
126197
126198        * platform/gtk/CursorGtk.cpp: (WebCore::Cursor::Cursor): Ditto. This must be done despite
126199        this platform not having an implementation for ImageSource::getHotSpot(), because we no longer
126200        check for out of bounds hot spots in EventHandler::selectCursor().
126201
126202        * platform/qt/CursorQt.cpp: (WebCore::Cursor::Cursor): Ditto.
126203
1262042010-06-08  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
126205
126206        Reviewed by Antti Koivisto.
126207
126208        [Qt] TextBreakIterator Qt performance
126209        https://bugs.webkit.org/show_bug.cgi?id=39958
126210
126211        Rework TextBreakIteratorQt to be more in line with the ICU version.
126212
126213        We now reuse iterators where ever possible. The string data is compared
126214        with memcmp, which should be faster than using a hash, as you need
126215        to traverse the full buffer in the case the strings don't match,
126216        where as the compare would fail quickly.
126217
126218        * platform/text/qt/TextBreakIteratorQt.cpp:
126219        (WebCore::TextBreakIterator::TextBreakIterator):
126220        (WebCore::setUpIterator):
126221        (WebCore::wordBreakIterator):
126222        (WebCore::characterBreakIterator):
126223        (WebCore::lineBreakIterator):
126224        (WebCore::sentenceBreakIterator):
126225
1262262010-06-08  Andras Becsi  <abecsi@webkit.org>
126227
126228        Unreviewed build fix after r60785.
126229
126230        [GTK] Add missing GtkVersioning.h include to fix the build
126231        on older GTK+ versions.
126232
126233        No new tests needed.
126234
126235        * platform/gtk/WidgetGtk.cpp:
126236
1262372010-06-08  Yury Semikhatsky  <yurys@chromium.org>
126238
126239        Reviewed by Pavel Feldman.
126240
126241        Web Inspector: extend ScriptDebugServer to support script source editing
126242        https://bugs.webkit.org/show_bug.cgi?id=40297
126243
126244        * bindings/js/ScriptDebugServer.cpp:
126245        (WebCore::ScriptDebugServer::editScriptSource):
126246        * bindings/js/ScriptDebugServer.h:
126247        * bindings/v8/ScriptDebugServer.cpp:
126248        (WebCore::ScriptDebugServer::editScriptSource):
126249        * bindings/v8/ScriptDebugServer.h:
126250        * inspector/InspectorBackend.cpp:
126251        (WebCore::InspectorBackend::editScriptSource):
126252        * inspector/InspectorBackend.h:
126253        * inspector/InspectorBackend.idl:
126254        * inspector/InspectorController.cpp:
126255        (WebCore::InspectorController::InspectorController):
126256        (WebCore::InspectorController::disableDebugger):
126257        (WebCore::InspectorController::editScriptSource):
126258        (WebCore::InspectorController::currentCallFrames):
126259        (WebCore::InspectorController::didPause):
126260        (WebCore::InspectorController::didContinue):
126261        * inspector/InspectorController.h:
126262        * inspector/InspectorFrontend.cpp:
126263        (WebCore::InspectorFrontend::didEditScriptSource):
126264        * inspector/InspectorFrontend.h:
126265        * inspector/front-end/Script.js:
126266        * inspector/front-end/ScriptsPanel.js:
126267        (WebInspector.ScriptsPanel.prototype.canEditScripts):
126268        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
126269        (WebInspector.ScriptsPanel.prototype.editScriptSource):
126270        * inspector/front-end/Settings.js:
126271        * inspector/front-end/SourceView.js:
126272        (WebInspector.SourceView.prototype._editLine):
126273        * inspector/front-end/TextViewer.js:
126274        (WebInspector.TextViewer.prototype._handleDoubleClick):
126275        (WebInspector.TextViewer.prototype._commitEditingLine):
126276        * inspector/front-end/inspector.css:
126277        (#scripts-files option.extension-script):
126278
1262792010-06-08  Antonio Gomes  <tonikitoo@webkit.org>
126280
126281        Reviewed by Ojan Vafai and Darin Adler.
126282
126283        Refactor platform dependent editing behavior code out of Settings
126284        https://bugs.webkit.org/show_bug.cgi?id=39854
126285
126286        As per discussion in bug 36627, Darin Adler suggested: "before the addition of any new EditingBehavior,
126287        I think we to add functions to translate the overall behavior policy into specific behaviors rather than
126288        directly saying 'behavior == Mac' or 'behavior == Windows'. Helper functions that expression the different
126289        rules in plain language.". Patch addresses this request.
126290
126291        No behavior change, so no new tests.
126292
126293        * GNUmakefile.am:
126294        * WebCore.pro:
126295        * WebCore/WebCore.vcproj/WebCore.vcproj
126296        * WebCore/WebCore.xcodeproj/project.pbxproj
126297        * page/Settings.cpp:
126298        (WebCore::Settings::Settings):
126299        * page/Settings.h: Moved out EditingBehavior enum to WebCore/editing/EditingBehaviorTypes.h,
126300        and renamed to EditingBehaviorTypes.
126301        (WebCore::Settings::setEditingBehaviorType): Renamed from setEditingBehavior.
126302        (WebCore::Settings::editingBehaviorType): Renamed from editingBehavior.
126303        * editing/EditingBehavior.h: Added.
126304        (WebCore::EditingBehavior::EditingBehavior): Class to work as a central point for
126305        editing behavior that might have to be handled differently in the different platforms/ports.
126306        Class should be not used or instantiated directly, but rather implicitly constructed
126307        through the Editor class.
126308        (WebCore::EditingBehavior::shouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom):
126309        (WebCore::EditingBehavior::shouldConsiderSelectionAsDirectional):
126310        (WebCore::EditingBehavior::shouldCenterAlignWhenSelectionIsRevealed):
126311        * editing/EditingBehaviorTypes.h: Added.
126312        (WebCore::):
126313        * editing/Editor.cpp:
126314        (WebCore::Editor::behavior): Getter for EditingBehavior class.
126315        * editing/Editor.h:
126316        * editing/EditorCommand.cpp:
126317        (WebCore::executeToggleStyle):
126318        * editing/SelectionController.cpp:
126319        (WebCore::SelectionController::setSelection):
126320        (WebCore::SelectionController::setIsDirectional):
126321        (WebCore::SelectionController::positionForPlatform):
126322        (WebCore::SelectionController::modify):
126323        * page/EventHandler.cpp:
126324        (WebCore::EventHandler::handleMousePressEventSingleClick):
126325        * rendering/RenderBlock.cpp:
126326        (WebCore::RenderBlock::positionForPointWithInlineChildren):
126327
126328        - Call sites will look like:
126329        if (frame->editor()->behavior().shouldThisIfThat()))
126330           // do something
126331
1263322010-06-08  Steve Block  <steveblock@google.com>
126333
126334        Reviewed by Jeremy Orlow.
126335
126336        Prevent Geolocation making callbacks to a ScriptExecutionContext that no longer exists
126337        https://bugs.webkit.org/show_bug.cgi?id=40162
126338
126339        Before making callbacks, we check that the relevant ScriptExecutionContext still exists.
126340        To achieve this, the callbacks inherit from ActiveDOMObject.
126341
126342        The ScriptExecutionContext is ref'ed from script, so may not be GC'ed for some time after
126343        it is disconnected from its frame. Making the callback currently involves accessing the
126344        Frame, so an additional check for the Frame is required.
126345
126346        This change also prevents the V8 bindings from incorrectly holding a reference to the Frame.
126347
126348        Test: fast/dom/Geolocation/callback-to-deleted-context.html
126349
126350        * bindings/js/JSCallbackData.cpp:
126351        (WebCore::JSCallbackData::invokeCallback):
126352        * bindings/js/JSCustomPositionCallback.cpp:
126353        (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
126354        (WebCore::JSCustomPositionCallback::handleEvent):
126355        * bindings/js/JSCustomPositionErrorCallback.cpp:
126356        (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
126357        (WebCore::JSCustomPositionErrorCallback::handleEvent):
126358        * bindings/v8/custom/V8CustomPositionCallback.cpp:
126359        (WebCore::V8CustomPositionCallback::V8CustomPositionCallback):
126360        (WebCore::V8CustomPositionCallback::handleEvent):
126361        * bindings/v8/custom/V8CustomPositionCallback.h:
126362        (WebCore::V8CustomPositionCallback::create):
126363        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
126364        (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback):
126365        (WebCore::V8CustomPositionErrorCallback::handleEvent):
126366        * bindings/v8/custom/V8CustomPositionErrorCallback.h:
126367        (WebCore::V8CustomPositionErrorCallback::create):
126368        * bindings/v8/custom/V8GeolocationCustom.cpp:
126369        (WebCore::createPositionCallback):
126370        (WebCore::createPositionErrorCallback):
126371        * page/PositionCallback.h:
126372        (WebCore::PositionCallback::PositionCallback):
126373        * page/PositionErrorCallback.h:
126374        (WebCore::PositionErrorCallback::PositionErrorCallback):
126375
1263762010-06-08  Xan Lopez  <xlopez@igalia.com>
126377
126378        Reviewed by Gustavo Noronha.
126379
126380        [GTK] Avoid duplicated signals in DOM bindings
126381        https://bugs.webkit.org/show_bug.cgi?id=40170
126382
126383        Do not create duplicated event signals between a class and its
126384        ancestor.
126385
126386        * bindings/scripts/CodeGeneratorGObject.pm:
126387
1263882010-06-08  MORITA Hajime  <morrita@google.com>
126389
126390        Unreviewd. Touched the file to force rebuild.
126391
126392        * html/HTMLMeterElement.idl:
126393
1263942010-06-08  Vangelis Kokkevis  <vangelis@chromium.org>
126395
126396        Reviewed by Dimitri Glazkov.
126397
126398        [Chromium] Fix the math for transform matrices of composited layers. There
126399        were problems both with how content layers were setting their position and
126400        how the overal matrix stack was computed when the layer anchor isn't at the
126401        center of the layer.
126402        https://bugs.webkit.org/post_bug.cgi
126403
126404        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
126405        (WebCore::GraphicsLayerChromium::updateContentsRect):
126406        * platform/graphics/chromium/LayerRendererChromium.cpp:
126407        (WebCore::LayerRendererChromium::updateLayersRecursive):
126408        (WebCore::LayerRendererChromium::drawLayer):
126409
1264102010-06-07  Eric Seidel  <eric@webkit.org>
126411
126412        Reviewed by Adam Barth.
126413
126414        HTML5Lexer does not handle <div FOO ><img><img></div> correctly
126415        https://bugs.webkit.org/show_bug.cgi?id=40283
126416
126417        Fix a typo in the AfterAttributeNameState.
126418        The compiler really should have caught this since the typo
126419        resulted in unreachable code.
126420
126421        Tests:
126422         10 tables/mozilla/marvin/colgroup* tests.
126423         Also added a new sub-test in html5lib/resources/webkit01.dat
126424
126425        * html/HTML5Lexer.cpp:
126426        (WebCore::HTML5Lexer::nextToken):
126427         - Fix typo of = instead of >
126428
1264292010-06-08  Adam Barth  <abarth@webkit.org>
126430
126431        Reviewed by Eric Seidel.
126432
126433        Implement HTML5's forceQuirks flag
126434        https://bugs.webkit.org/show_bug.cgi?id=40284
126435
126436        I didn't implement this before because I didn't know how to test it,
126437        but now I do.
126438        
126439        Tests:
126440          * fast/doctypes/doctype-parsing.html.
126441
126442        When we actually implement the quirks mode handling in the tree
126443        builder, we'll probably want to add to this test.
126444
126445        * html/HTML5Lexer.cpp:
126446        (WebCore::HTML5Lexer::nextToken):
126447        * html/HTML5Token.h:
126448        (WebCore::HTML5Token::forceQuirks):
126449        (WebCore::HTML5Token::setForceQuirks):
126450        * html/HTML5TreeBuilder.cpp:
126451        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
126452        * html/HTMLParser.cpp:
126453        (WebCore::HTMLParser::parseDoctypeToken):
126454        * html/HTMLTokenizer.h:
126455        (WebCore::DoctypeToken::reset):
126456
1264572010-06-08  Adam Barth  <abarth@webkit.org>
126458
126459        Reviewed by Eric Seidel.
126460
126461        Remove ASSERT in ~HTML5Tokenizer
126462        https://bugs.webkit.org/show_bug.cgi?id=40282
126463
126464        We thought this ASSERT would be a good idea, but the problem is that
126465        this object is deleted without warning in some circumstances, so
126466        there's no way to know whether it has reached the end of its state
126467        machine.
126468
126469        * html/HTML5Tokenizer.cpp:
126470        (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
126471
1264722010-06-07  MORITA Hajime  <morrita@google.com>
126473
126474        Reviewed by Kent Tamura.
126475
126476        [Mac] <meter> elements should be rendered as level indicators.        
126477        https://bugs.webkit.org/show_bug.cgi?id=40217
126478
126479        Implemented RenderThemeMac::paintMeter() using NSLevelIndicatorCell.
126480        
126481        This change also added new -webkit-appearance values to select the
126482        style of level indicators:
126483        
126484        - relevancy-level-indicator,
126485        - continuous-capacity-level-indicator,
126486        - discrete-capacity-level-indicator, and 
126487        - rating-level-indicator.
126488        
126489        The size of elements are adjusted based on the bounds of the indicator
126490        to make room for painting whole indicator cells.
126491
126492        Tests: fast/dom/HTMLMeterElement/meter-appearances-capacity.html
126493               fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html
126494               fast/dom/HTMLMeterElement/meter-optimums.html
126495
126496        * css/CSSPrimitiveValueMappings.h:
126497        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
126498        * css/CSSValueKeywords.in:
126499        * html/HTMLMeterElement.cpp:
126500        (WebCore::HTMLMeterElement::gaugeRegion):
126501        * html/HTMLMeterElement.h:
126502        (WebCore::HTMLMeterElement::):
126503        * platform/ThemeTypes.h:
126504        (WebCore::):
126505        * rendering/RenderMeter.cpp:
126506        (WebCore::RenderMeter::calcWidth):
126507        (WebCore::RenderMeter::calcHeight):
126508        * rendering/RenderMeter.h:
126509        * rendering/RenderTheme.cpp:
126510        (WebCore::RenderTheme::adjustStyle):
126511        (WebCore::RenderTheme::paint):
126512        (WebCore::RenderTheme::paintBorderOnly):
126513        (WebCore::RenderTheme::paintDecorations):
126514        (WebCore::RenderTheme::meterSizeForBounds):
126515        * rendering/RenderTheme.h:
126516        * rendering/RenderThemeMac.h:
126517        * rendering/RenderThemeMac.mm:
126518        (WebCore::RenderThemeMac::meterSizeForBounds):
126519        (WebCore::RenderThemeMac::paintMeter):
126520        (WebCore::RenderThemeMac::levelIndicatorStyleFor):
126521        (WebCore::RenderThemeMac::levelIndicatorFor):
126522
1265232010-06-07  MORITA Hajime  <morrita@google.com>
126524        
126525        Reviewed by Kent Tamura.
126526        
126527        [Mac] ENABLE_METER_TAG should be enabled.
126528        https://bugs.webkit.org/show_bug.cgi?id=40219
126529        
126530        * Configurations/FeatureDefines.xcconfig:
126531        * WebCore.xcodeproj/project.pbxproj:
126532        
1265332010-06-07  Eric Seidel  <eric@webkit.org>
126534
126535        Unreviewed.  Just commit an edit Xcode keeps making automatically.
126536
126537        It appears someone hand-edited the file, Xcode no-like.
126538
126539        * WebCore.xcodeproj/project.pbxproj:
126540
1265412010-06-07  Eric Seidel  <eric@webkit.org>
126542
126543        Reviewed by Adam Barth.
126544
126545        HTML5 Parser fails script-tests which use document.write
126546        https://bugs.webkit.org/show_bug.cgi?id=40276
126547
126548        We were leaving the TreeBuilder paused when executing the scripts
126549        resulting in document.write() calls being ignored.
126550
126551        I don't see a good way to ASSERT this correct behavior, since
126552        the HTML5ScriptRunner and the HTML5TreeBuilder do not know about
126553        each other.  We should never have document.write() called while
126554        the HTML5TreeBuilder is paused, however both document.write and
126555        the network call the same HTML5Tokenizer::write method.  It's OK
126556        to be paused when the network writes, but during document.write
126557        (or any other script execution).
126558
126559        Tested by all of fast/url and numerous other tests.
126560
126561        * html/HTML5Tokenizer.cpp:
126562        (WebCore::HTML5Tokenizer::notifyFinished):
126563         - Unpause the treebuilder before executing scripts.
126564        (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
126565         - Unpause the treebuilder before executing scripts.
126566
1265672010-06-07  Eric Seidel  <eric@webkit.org>
126568
126569        Reviewed by Adam Barth.
126570
126571        HTML5 Parser hits ASSERT in fast/events/stop-load-in-unload-handler-using-document-write.html
126572        https://bugs.webkit.org/show_bug.cgi?id=40268
126573
126574        Teach HTML5Tokenizer about m_parserStopped.
126575
126576        While tracking down how m_parserStopped was used, I found
126577        several useless implementations of stopParsing() which I removed.
126578
126579        I also found a comment in HTMLTokenizer which still talks about the
126580        "part" (an old class now split into Frame, Page, FrameLoader, etc.)
126581        and an nearly empty FrameLoader::tokenizerProcessedData which I just
126582        inlined into its one caller.
126583
126584        Tests:
126585         fast/events/stop-load-in-unload-handler-using-document-write.html
126586         http/tests/security/xssAuditor/full-block-base-href.html
126587
126588        * html/HTML5Tokenizer.cpp:
126589        (WebCore::HTML5Tokenizer::pumpLexerIfPossible):
126590         - New method used instead of direct calls to pumpLexer for when
126591           callers would like to pump the lexer if possible, but don't want
126592           to check if the parser is stopped, etc.
126593        (WebCore::HTML5Tokenizer::pumpLexer):
126594         - Added an ASSERT that the parser is not stopped.
126595         - Stop pumping if the parser is stopped.
126596        (WebCore::HTML5Tokenizer::write):
126597         - Ignore the write if the parser is already stopped.
126598        (WebCore::HTML5Tokenizer::end):
126599        (WebCore::HTML5Tokenizer::attemptToEnd):
126600         - Move comment back to finish() which was incorrectly moved here.
126601        (WebCore::HTML5Tokenizer::endIfDelayed):
126602        (WebCore::HTML5Tokenizer::finish):
126603         - Move comment back here from attemptToEnd()
126604        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
126605         - Remove a bogus ASSERT.  The lexer will stop when it needs
126606           more data, which may not necessarily mean m_source.isEmpty().
126607        * html/HTML5Tokenizer.h:
126608         - Add pumpLexerIfPossible().
126609        * html/HTMLTokenizer.cpp:
126610        (WebCore::HTMLTokenizer::stopParsing):
126611         - Add a FIXME about if we really should call checkCompleted() here.
126612         - Inline FrameLoader::tokenizerProcessedData() since this was the only caller.
126613        * loader/FrameLoader.cpp:
126614         - Remove tokenizerProcessedData()
126615        * loader/FrameLoader.h:
126616         - Remove tokenizerProcessedData()
126617        * loader/MediaDocument.cpp:
126618         - Remove unneeded Tokenizer::stopParsing() override.
126619        * loader/PluginDocument.cpp:
126620         - Remove unneeded Tokenizer::stopParsing() override.
126621        * loader/SinkDocument.cpp:
126622         - Remove unneeded Tokenizer::stopParsing() override.
126623
1266242010-06-07  Adam Barth  <abarth@webkit.org>
126625
126626        Reviewed by Eric Seidel.
126627
126628        Fix XFrameOptions and xssAuditor crashes in HTML5 parser
126629        https://bugs.webkit.org/show_bug.cgi?id=40265
126630
126631        We're not supposed to call end() while the tokenizer's write() method.
126632        This causes a bunch of LayoutTests to crash.  In particular, this patch
126633        fixes crashes in the following tests:
126634
126635        Tests:
126636          * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
126637          * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
126638          * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html
126639          * http/tests/security/xssAuditor/full-block-base-href.html
126640          * http/tests/security/xssAuditor/full-block-get-from-iframe.html
126641          * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html
126642          * http/tests/security/xssAuditor/full-block-link-onclick.html
126643          * http/tests/security/xssAuditor/full-block-post-from-iframe.html
126644          * http/tests/security/xssAuditor/full-block-script-tag.html
126645          * http/tests/security/xssAuditor/xss-protection-parsing-01.html
126646
126647        * html/HTML5Tokenizer.cpp:
126648        (WebCore::):
126649        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
126650        (WebCore::HTML5Tokenizer::write):
126651        (WebCore::HTML5Tokenizer::attemptToEnd):
126652        (WebCore::HTML5Tokenizer::endIfDelayed):
126653        (WebCore::HTML5Tokenizer::finish):
126654        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
126655        * html/HTML5Tokenizer.h:
126656        (WebCore::HTML5Tokenizer::inWrite):
126657
1266582010-06-07  Eric Seidel  <eric@webkit.org>
126659
126660        Reviewed by Adam Barth.
126661
126662        HTML5 parser hits ASSERT in http/tests/misc/window-dot-stop.html
126663        https://bugs.webkit.org/show_bug.cgi?id=40264
126664
126665        * html/HTML5Tokenizer.cpp:
126666        (WebCore::HTML5Tokenizer::executeScript):
126667
1266682010-06-07  Kinuko Yasuda  <kinuko@chromium.org>
126669
126670        Unreviewed.
126671
126672        Avoid "warning: no previous prototype for" in Snow Leopard compilation.
126673
126674        * platform/BlobItem.cpp: Added static to getFileSnapshotModificationTime().
126675
1266762010-06-07  Kinuko Yasuda  <kinuko@chromium.org>
126677
126678        Reviewed by Jian Li.
126679
126680        Refactor FormData and Blob for better support of Blobs synthesized by BlobBuilder.
126681        https://bugs.webkit.org/show_bug.cgi?id=39083
126682
126683        - Introduces a new class BlobItem as a basic component of Blob and FormDataList.
126684        - File would become a special type of Blob that contains only one FileBlobItem.
126685        - Fix the dependency violation in FormData so that the files under platform/ do not include any html/ files.
126686
126687        The patch doesn't support the latest File API changes (e.g. type,
126688        url and slice's type parameters) and should not change any of its
126689        existing behaviors.
126690
126691        The existing tests should be able to be used for regression.
126692
126693        * CMakeLists.txt:
126694        * GNUmakefile.am:
126695        * WebCore.gypi:
126696        * WebCore.pro:
126697        * WebCore.vcproj/WebCore.vcproj:
126698        * WebCore.xcodeproj/project.pbxproj:
126699        * html/Blob.cpp:
126700        (WebCore::Blob::Blob):
126701        (WebCore::Blob::size):
126702        (WebCore::Blob::path):
126703        (WebCore::Blob::append):
126704        (WebCore::Blob::slice):
126705        * html/Blob.h:
126706        (WebCore::Blob::create):
126707        (WebCore::Blob::type):
126708        (WebCore::Blob::items):
126709        (WebCore::Blob::Blob):
126710        * html/File.cpp:
126711        (WebCore::File::File):
126712        (WebCore::File::name):
126713        * html/File.h:
126714        (WebCore::File::fileName):
126715        * html/FileReader.cpp:
126716        (WebCore::FileReader::readAsBinaryString):
126717        (WebCore::FileReader::readAsText):
126718        * html/FileStream.cpp:
126719        (WebCore::FileStream::openForRead):
126720        * html/FormDataList.cpp:
126721        (WebCore::FormDataList::appendString): Moved the line ending fix logic to StringBlobItem::convertToCString.
126722        (WebCore::FormDataList::appendBlob):
126723        * html/FormDataList.h:
126724        (WebCore::FormDataList::items):
126725        * html/HTMLFormElement.cpp:
126726        (WebCore::HTMLFormElement::createFormData):
126727        * html/HTMLProgressElement.cpp:
126728        * platform/BlobItem.cpp: Added.
126729        * platform/BlobItem.h: Added.
126730        * platform/network/FormData.cpp:
126731        (WebCore::FormDataElement::FormDataElement):
126732        (WebCore::FormData::create):
126733        (WebCore::FormData::createMultiPart):
126734        (WebCore::FormData::deepCopy):
126735        (WebCore::FormData::appendData):
126736        (WebCore::FormData::appendString):
126737        (WebCore::FormData::appendFile):
126738        (WebCore::FormData::appendFileRange):
126739        (WebCore::FormData::appendItems):
126740        (WebCore::FormData::appendItem):
126741        (WebCore::FormData::appendKeyValuePairItems):
126742        * platform/network/FormData.h:
126743        (WebCore::operator!=):
126744        * platform/network/mac/FormDataStreamMac.mm:
126745        (WebCore::closeCurrentStream):
126746        (WebCore::advanceCurrentStream):
126747        (WebCore::formCreate):
126748        (WebCore::formRead):
126749        (WebCore::setHTTPBody):
126750        * xml/XMLHttpRequest.cpp:
126751        (WebCore::XMLHttpRequest::send):
126752
1267532010-06-07  Vangelis Kokkevis  <vangelis@chromium.org>
126754
126755        Reviewed by Dimitri Glazkov.
126756
126757        [chromium] Decoupled transform matrix update of composited layers from
126758        drawing and interposed a sorting step so that the layers are now composited
126759        back to front to get transparency working correctly. Also added missing code
126760        for the preserves3D CSS property.
126761
126762        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
126763        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
126764        * platform/graphics/chromium/LayerChromium.h:
126765        (WebCore::LayerChromium::setDrawTransform):
126766        (WebCore::LayerChromium::drawTransform):
126767        (WebCore::LayerChromium::setDrawOpacity):
126768        (WebCore::LayerChromium::drawOpacity):
126769        (WebCore::LayerChromium::preserves3D):
126770        * platform/graphics/chromium/LayerRendererChromium.cpp:
126771        (WebCore::compareLayerZ):
126772        (WebCore::LayerRendererChromium::drawLayers):
126773        (WebCore::LayerRendererChromium::updateLayersRecursive):
126774        (WebCore::LayerRendererChromium::drawLayer):
126775        * platform/graphics/chromium/LayerRendererChromium.h:
126776
1267772010-06-07  Anton Muhin  <antonm@chromium.org>
126778
126779        Reviewed by Nate Chapin.
126780
126781        [Chromium] convert a key to AtomicString in V8NodeList::namedPropertyGetter
126782        https://bugs.webkit.org/show_bug.cgi?id=40238
126783
126784        Comparison to "length" below could be performed faster in this (major) case
126785        as it would only require direct pointer comparison (cf. to full text
126786        comparison if key is converted to WebCore::String.)
126787
126788        * bindings/v8/custom/V8NodeListCustom.cpp:
126789        (WebCore::V8NodeList::namedPropertyGetter):
126790
1267912010-06-07  Ariya Hidayat  <ariya.hidayat@codeaurora.org>
126792
126793        Reviewed by Kenneth Rohde Christiansen.
126794
126795        [Qt] Fix GraphicsContext::clipOut to take the transformation matrix into account.
126796
126797        * platform/graphics/qt/GraphicsContextQt.cpp:
126798        (WebCore::GraphicsContext::clipOut):
126799
1268002010-06-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
126801
126802        Reviewed by Xan Lopez.
126803
126804        [gtk] web fonts not loaded properly in scribd html5 reader
126805        https://bugs.webkit.org/show_bug.cgi?id=38758
126806
126807        Avoid always giving a positive reply in createFontPlatformData. We
126808        do not want every non-existing family name to be considered a hit,
126809        or weird usage of local sources in @font-face rules will make
126810        WebKitGTK+ never consider the online fonts.
126811
126812        * GNUmakefile.am:
126813        * platform/graphics/cairo/FontCacheCairo.cpp:
126814        (WebCore::isWellKnownFontName):
126815        (WebCore::FontCache::createFontPlatformData):
126816        * platform/graphics/cairo/GOwnPtrCairo.cpp: Added.
126817        (WTF::FcPattern):
126818        (WTF::FcObjectSet):
126819        (WTF::FcFontSet):
126820        * platform/graphics/cairo/GOwnPtrCairo.h: Added.
126821
1268222010-06-07  Adam Barth  <abarth@webkit.org>
126823
126824        Reviewed by Eric Seidel.
126825
126826        "Fix" fast/dom/stripNullFromTextNodes.html in HTML5 parser
126827        https://bugs.webkit.org/show_bug.cgi?id=40200
126828
126829        The proper handling of null characters is to replace them with U+FFFD.
126830        This patch "fixes" fast/dom/stripNullFromTextNodes.html in the sense
126831        that it makes it give the proper output w.r.t. HTML5.  However, that
126832        doesn't match the behavior of the old parser, which just stripped the
126833        nulls.
126834
126835        * html/HTML5Lexer.h:
126836        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
126837
1268382010-06-07  Adam Barth  <abarth@webkit.org>
126839
126840        Reviewed by Eric Seidel.
126841
126842        HTML5 parser should normalize line endings
126843        https://bugs.webkit.org/show_bug.cgi?id=40199
126844
126845        When reading characters from the source, we need to normalize line
126846        endings, which means treating \r as \n and folding \r\n sequences into
126847        a single \n.  Doing this requires a slightly tighter pattern for
126848        advancing the source (to make sure we update our state machine
126849        correctly).
126850
126851        Fixes fast/css/first-child-pseudo-class.html and hundreds of other
126852        LayoutTests in the HTML5 parser.
126853
126854        * html/HTML5Lexer.cpp:
126855        (WebCore::HTML5Lexer::nextToken):
126856        * html/HTML5Lexer.h:
126857        (WebCore::HTML5Lexer::InputStreamPreprocessor::LineEndingNormalizer):
126858            - Introduced InputStreamPreprocessor to keep track of our line
126859              endings state machine.  This class will grow to eventually do
126860              all the input stream preprocessing required by the HTML5 spec.
126861        (WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter):
126862            - We need to be careful not to read *source more than
126863              once because we need to know whether we've transformed the
126864              character.  Keeping the next input character in this state
126865              machine requires some careful coding, but seems advantageous.
126866        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
126867        (WebCore::HTML5Lexer::InputStreamPreprocessor::advance):
126868
1268692010-06-07  Andrei Popescu  <andreip@google.com>
126870
126871        Reviewed by Jeremy Orlow.
126872
126873        run-bindings-tests results broken by Changeset 60776
126874        https://bugs.webkit.org/show_bug.cgi?id=40230
126875
126876        The change to CodeGeneratorJS.pm in 
126877        http://trac.webkit.org/changeset/60776/trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm
126878        added the possibility to use [CallWith=ScriptExecutionContext] in idl files.
126879
126880        Before the above change was submitted, CodeGeneratorJS.pm was modified so that native
126881        functions return EncodedJSValue instead of JSValues. This was done in
126882        http://trac.webkit.org/changeset/60631/trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm
126883
126884        This CL updates the CodeGeneratorJS.pm to correctly return an EncodedJSValue in the case
126885        where the ScriptExecutionContext pointer is 0 at the time when the native function is invoked.
126886
126887        No new tests, just fixing run-bindings-tests.
126888
126889        * bindings/scripts/CodeGeneratorJS.pm:
126890        * bindings/scripts/test/JS/JSTestObj.cpp:
126891        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
126892        * bindings/scripts/test/JS/JSTestObj.h:
126893
1268942010-06-07  Kwang Yul Seo  <skyul@company100.net>
126895
126896        Reviewed by Eric Seidel.
126897
126898        [BREWMP] Add dummy SearchPopupMenu implementation
126899        https://bugs.webkit.org/show_bug.cgi?id=40224
126900
126901        Add dummy implementation of SearchPopupMenu.
126902
126903        * platform/brew/SearchPopupMenuBrew.cpp: Added.
126904        (WebCore::SearchPopupMenu::saveRecentSearches):
126905        (WebCore::SearchPopupMenu::loadRecentSearches):
126906        (WebCore::SearchPopupMenu::SearchPopupMenu):
126907        (WebCore::SearchPopupMenu::enabled):
126908
1269092010-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
126910
126911        Unreviewed, reverting my HTML comment parsing change as it
126912        breaks Gtk and Qt.
126913
126914        * html/HTMLTokenizer.cpp:
126915        (WebCore::HTMLTokenizer::parseComment):
126916        (WebCore::HTMLTokenizer::parseTag):
126917        * html/HTMLTokenizer.h:
126918
1269192010-06-07  Martin Robinson  <mrobinson@igalia.com>
126920
126921        Reviewed by Oliver Hunt.
126922
126923        [GTK] HTML5 input type=range is not drawn
126924        https://bugs.webkit.org/show_bug.cgi?id=39561
126925
126926        Support HTML5 range widgets. They are now drawn using the standard
126927        GTK+ theme drawing mechanism.
126928
126929        * platform/gtk/RenderThemeGtk.cpp:
126930        (WebCore::supportsFocus): Add focus support for parts of sliders.
126931        (WebCore::setMozillaState):
126932        Add the GtkThemeWidgetType argument and honor depressed states for slider thumbs.
126933        (WebCore::paintMozillaGtkWidget): Pass in the widget type to setMozillaState.
126934        (WebCore::RenderThemeGtk::paintSliderTrack): Added.
126935        (WebCore::RenderThemeGtk::adjustSliderTrackStyle): Added.
126936        (WebCore::RenderThemeGtk::paintSliderThumb): Added.
126937        (WebCore::RenderThemeGtk::adjustSliderThumbStyle): Added.
126938        (WebCore::RenderThemeGtk::adjustSliderThumbSize): Added support for non-media sliders.
126939        * platform/gtk/RenderThemeGtk.h: Added new method declarations.
126940
1269412010-06-07  Martin Robinson  <mrobinson@igalia.com>
126942
126943        Reviewed by Xan Lopez.
126944
126945        [GTK] gtk_widget_get_window should replace widget->window
126946        https://bugs.webkit.org/show_bug.cgi?id=40180
126947
126948        Replace all uses of widget->window with gtk_widget_get_window. For older
126949        GTK+ versions, #define gtk_widget_get_window in GtkVersioning.h.
126950
126951        No tests necessary as functionality has not changed.
126952
126953        * platform/gtk/GtkPluginWidget.cpp:
126954        (WebCore::GtkPluginWidget::invalidateRect): Replace widget->window use.
126955        * platform/gtk/GtkVersioning.h: Add gtk_widget_get_window for old GTK+ versions.
126956        * platform/gtk/PlatformScreenGtk.cpp: 
126957        (WebCore::getVisual): Replace widget->window use.
126958        (WebCore::screenRect): Ditto.
126959        * platform/gtk/PopupMenuGtk.cpp:
126960        (WebCore::PopupMenu::show): Ditto.
126961        * platform/gtk/WidgetGtk.cpp:
126962        (WebCore::gdkDrawable): Ditto.
126963        (WebCore::Widget::setCursor): Ditto.
126964
1269652010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>
126966
126967        Reviewed by Sam Weinig.
126968
126969        Add CPP bindings generator
126970        https://bugs.webkit.org/show_bug.cgi?id=38279
126971
126972        Add CPP bindings generator used in Olympia platform.
126973        We can succesfully generate cpp bindings for all IDLs except:
126974        - DOMWindow.idl / EventTarget.idl (filtered out in the IDL list in DerivedSources.make for non-jsc/v8 generators anyways, so no problem at all)
126975        - inspector/ (not needed for us at all)
126976        - svg/ (needs custom handling, related to animated attributes)
126977
126978        All generated files are free of style issues: "Total errors found: 0 in 510 files"
126979        Not integrated in any build system so far, though I've successfully tested on Mac and inside Olympia, of course.
126980
126981        * bindings/cpp: Added.
126982        * bindings/cpp/WebDOMCString.cpp: Added.
126983        (WebDOMCString::reset):
126984        (WebDOMCString::assign):
126985        (WebDOMCString::length):
126986        (WebDOMCString::data):
126987        (WebDOMCString::utf16):
126988        (WebDOMCString::fromUTF16):
126989        (WebDOMCString::WebDOMCString):
126990        (WebDOMCString::operator=):
126991        (WebDOMCString::operator WTF::CString):
126992        * bindings/cpp/WebDOMCString.h: Added.
126993        (WebDOMCString::~WebDOMCString):
126994        (WebDOMCString::WebDOMCString):
126995        (WebDOMCString::operator=):
126996        (WebDOMCString::isEmpty):
126997        (WebDOMCString::isNull):
126998        * bindings/cpp/WebDOMEventListenerCustom.cpp: Added.
126999        (WebDOMEventListener::handleEvent):
127000        (toWebKit):
127001        * bindings/cpp/WebDOMEventTarget.cpp: Added.
127002        (WebDOMEventTarget::WebDOMEventTargetPrivate::WebDOMEventTargetPrivate):
127003        (WebDOMEventTarget::WebDOMEventTarget):
127004        (WebDOMEventTarget::~WebDOMEventTarget):
127005        (WebDOMEventTarget::impl):
127006        (toWebCore):
127007        (toWebKit):
127008        * bindings/cpp/WebDOMEventTarget.h: Added.
127009        * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Added.
127010        (documentWrite):
127011        (WebDOMHTMLDocument::write):
127012        (WebDOMHTMLDocument::writeln):
127013        * bindings/cpp/WebDOMNodeCustom.cpp: Added.
127014        (WebDOMNode::insertBefore):
127015        (WebDOMNode::replaceChild):
127016        (WebDOMNode::removeChild):
127017        (WebDOMNode::appendChild):
127018        (WebDOMNode::addEventListener):
127019        (WebDOMNode::removeEventListener):
127020        * bindings/cpp/WebDOMObject.h: Added.
127021        (WebDOMObject::WebDOMObject):
127022        (WebDOMObject::~WebDOMObject):
127023        * bindings/cpp/WebDOMString.cpp: Added.
127024        (WebDOMString::reset):
127025        (WebDOMString::assign):
127026        (WebDOMString::length):
127027        (WebDOMString::data):
127028        (WebDOMString::utf8):
127029        (WebDOMString::fromUTF8):
127030        (WebDOMString::WebDOMString):
127031        (WebDOMString::operator=):
127032        (WebDOMString::operator WebCore::String):
127033        (WebDOMString::operator WebCore::AtomicString):
127034        (WebDOMString::equals):
127035        * bindings/cpp/WebDOMString.h: Added.
127036        (WebDOMString::~WebDOMString):
127037        (WebDOMString::WebDOMString):
127038        (WebDOMString::operator=):
127039        (WebDOMString::isEmpty):
127040        (WebDOMString::isNull):
127041        * bindings/cpp/WebExceptionHandler.cpp: Added.
127042        (globalExceptionHandler):
127043        (webInstallExceptionHandler):
127044        (webRaiseDOMException):
127045        * bindings/cpp/WebExceptionHandler.h: Added.
127046        (webDOMRaiseError):
127047        * bindings/cpp/WebNativeEventListener.cpp: Added.
127048        (WebNativeEventListener::WebNativeEventListener):
127049        (WebNativeEventListener::~WebNativeEventListener):
127050        (WebNativeEventListener::handleEvent):
127051        (WebNativeEventListener::reportError):
127052        (WebNativeEventListener::operator==):
127053        * bindings/cpp/WebNativeEventListener.h: Added.
127054        (WebNativeEventListener::create):
127055        (WebNativeEventListener::cast):
127056        * bindings/scripts/CodeGeneratorCPP.pm: Added.
127057        * bindings/scripts/test/CPP: Added.
127058        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Added.
127059        (WebDOMTestCallback::WebDOMTestCallbackPrivate::WebDOMTestCallbackPrivate):
127060        (WebDOMTestCallback::WebDOMTestCallback):
127061        (WebDOMTestCallback::impl):
127062        (WebDOMTestCallback::~WebDOMTestCallback):
127063        (WebDOMTestCallback::callbackWithClass1Param):
127064        (WebDOMTestCallback::callbackWithClass2Param):
127065        (WebDOMTestCallback::callbackWithNonBoolReturnType):
127066        (toWebCore):
127067        (toWebKit):
127068        * bindings/scripts/test/CPP/WebDOMTestCallback.h: Added.
127069        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Added.
127070        (WebDOMTestInterface::WebDOMTestInterfacePrivate::WebDOMTestInterfacePrivate):
127071        (WebDOMTestInterface::WebDOMTestInterface):
127072        (WebDOMTestInterface::impl):
127073        (WebDOMTestInterface::~WebDOMTestInterface):
127074        (toWebCore):
127075        (toWebKit):
127076        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Added.
127077        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Added.
127078        (WebDOMTestObj::WebDOMTestObjPrivate::WebDOMTestObjPrivate):
127079        (WebDOMTestObj::WebDOMTestObj):
127080        (WebDOMTestObj::impl):
127081        (WebDOMTestObj::~WebDOMTestObj):
127082        (WebDOMTestObj::readOnlyIntAttr):
127083        (WebDOMTestObj::readOnlyStringAttr):
127084        (WebDOMTestObj::readOnlyTestObjAttr):
127085        (WebDOMTestObj::intAttr):
127086        (WebDOMTestObj::setIntAttr):
127087        (WebDOMTestObj::longLongAttr):
127088        (WebDOMTestObj::setLongLongAttr):
127089        (WebDOMTestObj::unsignedLongLongAttr):
127090        (WebDOMTestObj::setUnsignedLongLongAttr):
127091        (WebDOMTestObj::stringAttr):
127092        (WebDOMTestObj::setStringAttr):
127093        (WebDOMTestObj::testObjAttr):
127094        (WebDOMTestObj::setTestObjAttr):
127095        (WebDOMTestObj::attrWithException):
127096        (WebDOMTestObj::setAttrWithException):
127097        (WebDOMTestObj::attrWithSetterException):
127098        (WebDOMTestObj::setAttrWithSetterException):
127099        (WebDOMTestObj::attrWithGetterException):
127100        (WebDOMTestObj::setAttrWithGetterException):
127101        (WebDOMTestObj::scriptStringAttr):
127102        (WebDOMTestObj::voidMethod):
127103        (WebDOMTestObj::voidMethodWithArgs):
127104        (WebDOMTestObj::intMethod):
127105        (WebDOMTestObj::intMethodWithArgs):
127106        (WebDOMTestObj::objMethod):
127107        (WebDOMTestObj::objMethodWithArgs):
127108        (WebDOMTestObj::methodThatRequiresAllArgs):
127109        (WebDOMTestObj::methodThatRequiresAllArgsAndThrows):
127110        (WebDOMTestObj::serializedValue):
127111        (WebDOMTestObj::methodWithException):
127112        (WebDOMTestObj::addEventListener):
127113        (WebDOMTestObj::removeEventListener):
127114        (WebDOMTestObj::withDynamicFrame):
127115        (WebDOMTestObj::withDynamicFrameAndArg):
127116        (WebDOMTestObj::withDynamicFrameAndOptionalArg):
127117        (WebDOMTestObj::withScriptStateVoid):
127118        (WebDOMTestObj::withScriptStateObj):
127119        (WebDOMTestObj::withScriptStateVoidException):
127120        (WebDOMTestObj::withScriptStateObjException):
127121        (WebDOMTestObj::methodWithOptionalArg):
127122        (WebDOMTestObj::methodWithNonOptionalArgAndOptionalArg):
127123        (WebDOMTestObj::methodWithNonOptionalArgAndTwoOptionalArgs):
127124        (toWebCore):
127125        (toWebKit):
127126        * bindings/scripts/test/CPP/WebDOMTestObj.h: Added.
127127        * css/StyleSheet.idl: Export helper method isCSSStyleSheet() for cpp bindings only.
127128        * dom/CustomEvent.idl: Disabled for cpp bindings, needs arbitary input parameter handling support ('DOMObject' type).
127129        * dom/Document.idl: Ignore getCSSCanvasContext() for cpp bindings and export helper method isHTMLDocument() (cpp bindings only).
127130        * dom/Event.idl: Export isMutationEvent()/isMouseEvent()/isUIEvent() helpers for cpp bindings only.
127131        * dom/EventListener.h: Add CPPEventListenerType.
127132        * dom/Node.idl: addEventListener/removeEventListener need [Custom] flag for cpp bindings.
127133        * dom/PopStateEvent.idl: Disabled just like CustomEvent, for the same reason ("any" argument type handling).
127134        * html/HTMLCanvasElement.idl: Disable getContext() method for cpp bindings, as it's done for objc bindings.
127135        * html/HTMLDocument.idl: Add [NoCPPCustom] marker for open(), as we're just autogenerating it.
127136        * html/HTMLInputElement.idl: Disable valueAsDate() method for cpp bindings, as we're missing native 'Date' type support.
127137        * html/TextMetrics.h: Add missing PassRefPtr.h include.
127138        * html/canvas/CanvasRenderingContext2D.idl: Disable methods (setLineCap, etc..) for cpp bindings whose names clash with property setters.
127139        * page/AbstractView.idl: Rename 'Media' type to 'StyleMedia' - this should have been done before.
127140        * page/Location.idl: Disable several methods which would need a custom implementation for the cpp bindings.
127141        * page/WebKitPoint.h: Add missing PassRefPtr.h include.
127142        * storage/SQLResultSet.idl: Correct type from 'long' to 'long long', for cpp bindings only though as it wouldn't build on Chromium/V8.
127143        * workers/DedicatedWorkerContext.idl: Disable postMessage() for now when using cpp bindings, would need custom code for us.
127144        * workers/WorkerContext.idl: Hide constructors from cpp bindings.
127145
1271462010-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
127147
127148        Reviewed by Alexey Proskuryakov.
127149
127150        Space should be allowed between -- and > in comment end
127151        https://bugs.webkit.org/show_bug.cgi?id=21945
127152
127153        Implemented the HTML comment parsing algorithm so that we match HTML5 and
127154        FF when parsing comments. Missing from this patch is
127155        the parser errors, which will be added in a follow up patch.
127156
127157        Added tests cases for broken comments.
127158
127159        Tests: fast/parser/broken-comment-1.html
127160               fast/parser/broken-comment-2.html
127161               fast/parser/broken-comment-3.html
127162               fast/parser/broken-comment-4.html
127163               fast/parser/broken-comment-5.html
127164               fast/parser/broken-comment-6.html
127165               fast/parser/broken-comment-in-head-1.html
127166               fast/parser/broken-comment-in-head-2.html
127167               fast/parser/broken-comment-in-head-3.html
127168               fast/parser/broken-comment-in-head-4.html
127169               fast/parser/broken-comment-in-head-5.html
127170
127171        * html/HTMLTokenizer.cpp:
127172        (WebCore::HTMLTokenizer::parseComment): Now we use a state machine
127173        that matches the HTML5 specification.
127174        (WebCore::HTMLTokenizer::emitCommentToken): This emits the comment token
127175        and keep some of the original behavior as parseComment is called in wrong
127176        context (inside a <title> for example). Added a more explicit comment about
127177        this.
127178        (WebCore::HTMLTokenizer::parseTag): Remove the handling of <!--> in quirks mode.
127179        HTML5 specifies that we should accept this in strict mode too.
127180        * html/HTMLTokenizer.h:
127181        (WebCore::HTMLTokenizer::): Added a new enum for the comment parsing state.
127182
1271832010-06-07  Mahesh Kulakrni  <mahesh.kulkarni@nokia.com>
127184
127185        Reviewed by Simon Hausmann.
127186
127187        [QT] QT_BEARER flag is not enabled on S60 properly
127188        https://bugs.webkit.org/show_bug.cgi?id=39357
127189
127190        enable QT_BEARER for all platform based on qtmobility + 
127191        bearer module availability or for qt 4.7+
127192
127193        * WebCore.pri: 
127194
1271952010-06-07  Leon Clarke  <leonclarke@google.com>
127196
127197        Reviewed by Jeremy Orlow.
127198
127199        Fix indexeddb idls in android makefile
127200        https://bugs.webkit.org/show_bug.cgi?id=40169
127201
127202        No new tests. Android-specific build fix.
127203
127204        * Android.derived.v8bindings.mk:
127205
1272062010-06-07  Andrei Popescu  <andreip@google.com>
127207
127208        Reviewed by Jeremy Orlow.
127209
127210        [indexedDB] It is impossible to create object stores
127211        https://bugs.webkit.org/show_bug.cgi?id=40054
127212
127213        No new tests. Layout tests will be added separately.
127214
127215        * Android.mk:
127216        * CMakeLists.txt:
127217        * GNUmakefile.am:
127218        * WebCore.gypi:
127219        * WebCore.pro:
127220        * WebCore.vcproj/WebCore.vcproj:
127221        * WebCore.xcodeproj/project.pbxproj:
127222        * bindings/scripts/CodeGeneratorJS.pm:
127223        * bindings/scripts/CodeGeneratorV8.pm:
127224        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
127225        (webkit_dom_test_obj_with_script_execution_context):
127226        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
127227        * bindings/scripts/test/JS/JSTestObj.cpp:
127228        (WebCore::):
127229        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
127230        * bindings/scripts/test/JS/JSTestObj.h:
127231        * bindings/scripts/test/ObjC/DOMTestObj.h:
127232        * bindings/scripts/test/ObjC/DOMTestObj.mm:
127233        (-[DOMTestObj withScriptExecutionContext]):
127234        * bindings/scripts/test/TestObj.idl:
127235        * bindings/scripts/test/V8/V8TestObj.cpp:
127236        (WebCore::TestObjInternal::withScriptExecutionContextCallback):
127237        (WebCore::):
127238        * page/DOMWindow.cpp:
127239        (WebCore::DOMWindow::clear):
127240        (WebCore::DOMWindow::indexedDB):
127241        * storage/IDBCallbacks.h:
127242        * storage/IDBDatabase.h:
127243        * storage/IDBDatabaseImpl.cpp:
127244        (WebCore::IDBDatabaseImpl::createObjectStore):
127245        * storage/IDBDatabaseImpl.h:
127246        * storage/IDBDatabaseRequest.cpp:
127247        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
127248        (WebCore::IDBDatabaseRequest::createObjectStore):
127249        * storage/IDBDatabaseRequest.h:
127250        * storage/IDBDatabaseRequest.idl:
127251        * storage/IDBObjectStore.cpp: Removed.
127252        * storage/IDBObjectStore.h:
127253        (WebCore::IDBObjectStore::~IDBObjectStore):
127254        * storage/IDBObjectStoreImpl.cpp: Added.
127255        (WebCore::IDBObjectStoreImpl::~IDBObjectStoreImpl):
127256        (WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
127257        (WebCore::IDBObjectStoreImpl::indexNames):
127258        (WebCore::IDBObjectStoreImpl::createIndex):
127259        (WebCore::IDBObjectStoreImpl::index):
127260        (WebCore::IDBObjectStoreImpl::removeIndex):
127261        * storage/IDBObjectStoreImpl.h: Added.
127262        (WebCore::IDBObjectStoreImpl::create):
127263        (WebCore::IDBObjectStoreImpl::name):
127264        (WebCore::IDBObjectStoreImpl::keyPath):
127265        * storage/IDBObjectStoreRequest.cpp:
127266        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
127267        * storage/IDBObjectStoreRequest.h:
127268        (WebCore::IDBObjectStoreRequest::create):
127269        * storage/IDBRequest.cpp:
127270        (WebCore::IDBRequest::onSuccess):
127271        * storage/IDBRequest.h:
127272        * storage/IndexedDatabaseRequest.cpp:
127273        (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
127274        (WebCore::IndexedDatabaseRequest::open):
127275        * storage/IndexedDatabaseRequest.h:
127276        (WebCore::IndexedDatabaseRequest::create):
127277        * storage/IndexedDatabaseRequest.idl:
127278
1272792010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>
127280
127281        Not reviewed. Updated run-bindings-tests results.
127282
127283        * bindings/scripts/test/JS/JSTestInterface.cpp:
127284        (WebCore::JSTestInterfaceConstructor::constructTestInterface):
127285        * bindings/scripts/test/JS/JSTestObj.cpp:
127286        (WebCore::jsTestObjPrototypeFunctionVoidMethod):
127287        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
127288        (WebCore::jsTestObjPrototypeFunctionIntMethod):
127289        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
127290        (WebCore::jsTestObjPrototypeFunctionObjMethod):
127291        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
127292        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
127293        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
127294        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
127295        (WebCore::jsTestObjPrototypeFunctionMethodWithException):
127296        (WebCore::jsTestObjPrototypeFunctionCustomMethod):
127297        (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
127298        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
127299        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
127300        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
127301        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
127302        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
127303        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
127304        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
127305        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
127306        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
127307        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
127308        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
127309        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
127310        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
127311        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
127312        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
127313        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
127314        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
127315        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
127316        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
127317        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
127318        * bindings/scripts/test/JS/JSTestObj.h:
127319
1273202010-06-07  Pavel Podivilov  <podivilov@chromium.org>
127321
127322        Reviewed by Pavel Feldman.
127323
127324        Web Inspector: Implement JSON parsing for InspectorValue.
127325        https://bugs.webkit.org/show_bug.cgi?id=40064
127326
127327        * inspector/InspectorValues.cpp:
127328        (WebCore::):
127329        (WebCore::InspectorValue::asBool):
127330        (WebCore::InspectorValue::asNumber):
127331        (WebCore::InspectorValue::asString):
127332        (WebCore::InspectorValue::asObject):
127333        (WebCore::InspectorValue::asArray):
127334        (WebCore::InspectorValue::readJSON):
127335        (WebCore::InspectorValue::writeJSON):
127336        (WebCore::InspectorBasicValue::asBool):
127337        (WebCore::InspectorBasicValue::asNumber):
127338        (WebCore::InspectorBasicValue::writeJSON):
127339        (WebCore::InspectorString::asString):
127340        (WebCore::InspectorObject::asObject):
127341        (WebCore::InspectorObject::getBool):
127342        (WebCore::InspectorObject::getNumber):
127343        (WebCore::InspectorObject::getString):
127344        (WebCore::InspectorObject::getObject):
127345        (WebCore::InspectorObject::getArray):
127346        (WebCore::InspectorObject::get):
127347        (WebCore::InspectorArray::asArray):
127348        * inspector/InspectorValues.h:
127349        (WebCore::InspectorObject::begin):
127350        (WebCore::InspectorObject::end):
127351
1273522010-06-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
127353
127354        Reviewed by Simon Hausmann.
127355
127356        [Qt] Fix text selection drawing.
127357        https://bugs.webkit.org/show_bug.cgi?id=40221
127358
127359        The regression was introduced in r60169.
127360
127361        * platform/graphics/qt/FontQt.cpp:
127362        (WebCore::drawTextCommon):
127363
1273642010-06-07  Yury Semikhatsky  <yurys@chromium.org>
127365
127366        Reviewed by Pavel Feldman.
127367
127368        Web Inspector: should be possible to distinguish extension scripts from main world scripts
127369        https://bugs.webkit.org/show_bug.cgi?id=40220
127370
127371        * bindings/js/ScriptDebugServer.cpp: remove global listeners set which is not used anymore.
127372        (WebCore::ScriptDebugServer::dispatchDidParseSource): pass script wrold type to the listeners.
127373        (WebCore::currentWorldType):
127374        (WebCore::ScriptDebugServer::sourceParsed):
127375        * bindings/js/ScriptDebugServer.h:
127376        * bindings/v8/ScriptDebugServer.cpp:
127377        (WebCore::ScriptDebugServer::dispatchDidParseSource):
127378        * inspector/InspectorController.cpp:
127379        (WebCore::InspectorController::didParseSource):
127380        * inspector/InspectorController.h:
127381        * inspector/InspectorFrontend.cpp:
127382        (WebCore::InspectorFrontend::parsedScriptSource):
127383        * inspector/InspectorFrontend.h:
127384        * inspector/ScriptDebugListener.h: pass type of the isolated world where the script was compiled to didParseSource.
127385        (WebCore::):
127386        * inspector/front-end/InjectedScript.js:
127387        (injectedScriptConstructor):
127388        * inspector/front-end/Script.js:
127389        (WebInspector.Script):
127390        * inspector/front-end/ScriptsPanel.js:
127391        (WebInspector.ScriptsPanel.prototype.addScript):
127392        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): use different style to highlight content scripts.
127393        * inspector/front-end/inspector.css:
127394        (#scripts-files option.extension-script):
127395        * inspector/front-end/inspector.js:
127396        (WebInspector.parsedScriptSource):
127397
1273982010-06-06  MORITA Hajime  <morrita@google.com>
127399
127400        Unreviewd, Chromium windows build fix.
127401
127402        * rendering/RenderThemeChromiumWin.cpp:
127403        (WebCore::RenderThemeChromiumWin::paintProgressBar):
127404
1274052010-06-06  MORITA Hajime  <morrita@google.com>
127406
127407        Reviewed by Kent Tamura.
127408
127409        ASSERTION FAILED with -webkit-appearance:progress-bar for non <progress> elements
127410        https://bugs.webkit.org/show_bug.cgi?id=40158
127411
127412        paintProgressBar() and paintMeter() assumed given RenderObject is
127413        RenderProgress or RenderMeter respectively, but arbitrary elements
127414        can have -webkit-appearance: progress-bar and such elements
127415        violates that assumption. So this change added type check before
127416        downcasting the RenderObject.
127417
127418        * platform/qt/RenderThemeQt.cpp:
127419        (WebCore::RenderThemeQt::paintProgressBar):
127420        * rendering/RenderTheme.cpp:
127421        (WebCore::RenderTheme::paintMeter):
127422        * rendering/RenderThemeChromiumSkia.cpp:
127423        (WebCore::RenderThemeChromiumSkia::paintProgressBar):
127424        * rendering/RenderThemeChromiumWin.cpp:
127425        (WebCore::RenderThemeChromiumWin::paintProgressBar):
127426        * rendering/RenderThemeMac.mm:
127427        (WebCore::RenderThemeMac::paintProgressBar):
127428
1274292010-06-06  Gavin Barraclough  <barraclough@apple.com>
127430
127431        Reviewed by NOBODY (Qt build fix pt 2).
127432
127433        * bridge/qt/qt_runtime.cpp:
127434        (JSC::Bindings::findMethodIndex):
127435        (JSC::Bindings::QtRuntimeMetaMethod::call):
127436        (JSC::Bindings::QtRuntimeConnectionMethod::call):
127437
1274382010-06-06  Gavin Barraclough  <barraclough@apple.com>
127439
127440        Reviewed by NOBODY (Qt build fix).
127441
127442        * bridge/qt/qt_runtime.cpp:
127443        (JSC::Bindings::findMethodIndex):
127444        (JSC::Bindings::QtRuntimeMetaMethod::call):
127445        (JSC::Bindings::QtRuntimeConnectionMethod::call):
127446
1274472010-06-06  Gavin Barraclough  <barraclough@apple.com>
127448
127449        Reviewed by Sam Weinig.
127450
127451        Bug 40214 - Clean up error construction / throwing in JSC.
127452        
127453        The one egregious insanity here is that creating an error requires
127454        a VM-entry-esqe-host call (the string argument is wrapped as a JS
127455        object & pushed on the RegisterFile, then unwrapped back to a
127456        UString).  Changing this also means you only require a global
127457        object, not an ExecState, to create an error.
127458
127459        The methods to create error objects are also parameterized
127460        requiring a switch on the type, which can be made cleaner and
127461        faster by moving to a separate method per error type.  Code to add
127462        divot information to error had been duplicated, and is coalesced
127463        back into a single function.
127464
127465        Convenience methods added to create & throw type & syntax error
127466        with a default error message, since this is a common case.
127467
127468        Also, errors are currently thrown either using
127469        "throwError(exec, error)" or "exec->setException(error)" - unify
127470        on the former, since this is more commonly used.  Add
127471        "throwVMError(exec, error)" equivalents, as a convenience for
127472        cases where the result was being wrapped in "JSValue::encode(...)".
127473
127474        * WebCore.xcodeproj/project.pbxproj:
127475        * bindings/js/JSArrayBufferConstructor.h:
127476        (WebCore::construct):
127477        * bindings/js/JSArrayBufferViewHelper.h:
127478        (WebCore::setWebGLArrayHelper):
127479        * bindings/js/JSAudioConstructor.cpp:
127480        (WebCore::constructAudio):
127481        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
127482        (WebCore::JSCanvasRenderingContext2D::setFillColor):
127483        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
127484        (WebCore::JSCanvasRenderingContext2D::drawImage):
127485        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
127486        (WebCore::JSCanvasRenderingContext2D::setShadow):
127487        (WebCore::JSCanvasRenderingContext2D::createPattern):
127488        (WebCore::JSCanvasRenderingContext2D::fillText):
127489        (WebCore::JSCanvasRenderingContext2D::strokeText):
127490        * bindings/js/JSClipboardCustom.cpp:
127491        (WebCore::JSClipboard::clearData):
127492        (WebCore::JSClipboard::getData):
127493        (WebCore::JSClipboard::setDragImage):
127494        * bindings/js/JSDOMBinding.cpp:
127495        (WebCore::setDOMException):
127496        (WebCore::toJSSequence):
127497        * bindings/js/JSDOMWrapper.cpp:
127498        (WebCore::DOMObject::defineOwnProperty):
127499        * bindings/js/JSDesktopNotificationsCustom.cpp:
127500        (WebCore::JSNotificationCenter::requestPermission):
127501        * bindings/js/JSEventSourceConstructor.cpp:
127502        (WebCore::constructEventSource):
127503        * bindings/js/JSHTMLDocumentCustom.cpp:
127504        (WebCore::JSHTMLDocument::open):
127505        * bindings/js/JSHTMLInputElementCustom.cpp:
127506        (WebCore::JSHTMLInputElement::selectionStart):
127507        (WebCore::JSHTMLInputElement::setSelectionStart):
127508        (WebCore::JSHTMLInputElement::selectionEnd):
127509        (WebCore::JSHTMLInputElement::setSelectionEnd):
127510        (WebCore::JSHTMLInputElement::setSelectionRange):
127511        * bindings/js/JSImageConstructor.cpp:
127512        (WebCore::constructImage):
127513        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
127514        (WebCore::JSJavaScriptCallFrame::evaluate):
127515        * bindings/js/JSMessageChannelConstructor.cpp:
127516        (WebCore::JSMessageChannelConstructor::construct):
127517        * bindings/js/JSMessagePortCustom.cpp:
127518        (WebCore::fillMessagePortArray):
127519        * bindings/js/JSOptionConstructor.cpp:
127520        (WebCore::constructHTMLOptionElement):
127521        * bindings/js/JSSVGMatrixCustom.cpp:
127522        (WebCore::JSSVGMatrix::multiply):
127523        * bindings/js/JSSharedWorkerConstructor.cpp:
127524        (WebCore::constructSharedWorker):
127525        * bindings/js/JSWebGLRenderingContextCustom.cpp:
127526        (WebCore::JSWebGLRenderingContext::bufferData):
127527        (WebCore::JSWebGLRenderingContext::bufferSubData):
127528        (WebCore::getObjectParameter):
127529        (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
127530        (WebCore::JSWebGLRenderingContext::getParameter):
127531        (WebCore::JSWebGLRenderingContext::getProgramParameter):
127532        (WebCore::JSWebGLRenderingContext::getShaderParameter):
127533        (WebCore::JSWebGLRenderingContext::getUniform):
127534        (WebCore::JSWebGLRenderingContext::texImage2D):
127535        (WebCore::JSWebGLRenderingContext::texSubImage2D):
127536        (WebCore::dataFunctionf):
127537        (WebCore::dataFunctioni):
127538        (WebCore::dataFunctionMatrix):
127539        * bindings/js/JSWebSocketConstructor.cpp:
127540        (WebCore::constructWebSocket):
127541        * bindings/js/JSWebSocketCustom.cpp:
127542        (WebCore::JSWebSocket::send):
127543        * bindings/js/JSWorkerConstructor.cpp:
127544        (WebCore::constructWorker):
127545        * bindings/js/JSXMLHttpRequestConstructor.cpp:
127546        (WebCore::constructXMLHttpRequest):
127547        * bindings/js/JSXMLHttpRequestCustom.cpp:
127548        (WebCore::JSXMLHttpRequest::open):
127549        * bindings/js/SerializedScriptValue.cpp:
127550        (WebCore::BaseWalker::throwStackOverflow):
127551        (WebCore::BaseWalker::throwInterruptedException):
127552        (WebCore::SerializingTreeWalker::startArray):
127553        (WebCore::SerializingTreeWalker::startObject):
127554        * bindings/js/WorkerScriptController.cpp:
127555        (WebCore::WorkerScriptController::setException):
127556        * bindings/scripts/CodeGeneratorJS.pm:
127557        * bridge/c/c_instance.cpp:
127558        (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
127559        (JSC::Bindings::CInstance::invokeMethod):
127560        (JSC::Bindings::CInstance::invokeDefaultMethod):
127561        (JSC::Bindings::CInstance::invokeConstruct):
127562        * bridge/jni/jsc/JNIBridgeJSC.cpp:
127563        (JavaField::dispatchValueFromInstance):
127564        (JavaField::dispatchSetValueToInstance):
127565        * bridge/jni/jsc/JavaInstanceJSC.cpp:
127566        (JavaInstance::invokeMethod):
127567        * bridge/objc/objc_instance.mm:
127568        (ObjcInstance::moveGlobalExceptionToExecState):
127569        (ObjcInstance::invokeMethod):
127570        * bridge/objc/objc_runtime.mm:
127571        (JSC::Bindings::ObjcField::valueFromInstance):
127572        (JSC::Bindings::ObjcField::setValueToInstance):
127573        (JSC::Bindings::ObjcArray::setValueAt):
127574        (JSC::Bindings::ObjcArray::valueAt):
127575        (JSC::Bindings::callObjCFallbackObject):
127576        * bridge/objc/objc_utility.h:
127577        * bridge/objc/objc_utility.mm:
127578        (JSC::Bindings::throwError):
127579        * bridge/runtime_array.cpp:
127580        (JSC::RuntimeArray::put):
127581        * bridge/runtime_method.cpp:
127582        (JSC::callRuntimeMethod):
127583        * bridge/runtime_object.cpp:
127584        (JSC::Bindings::RuntimeObject::throwInvalidAccessError):
127585
1275862010-06-06  Dirk Schulze  <krit@webkit.org>
127587
127588        Reviewed by Nikolas Zimmermann.
127589
127590        hit testing does not respect clip paths
127591        https://bugs.webkit.org/show_bug.cgi?id=15162
127592
127593        Test: svg/dynamic-updates/SVGClipPath-influences-hitTesting.html
127594        
127595        Added a check, if a float point is not only in the shape/object boundaries
127596        but also is not in the clipped away area of a clipPath.
127597
127598        * rendering/HitTestRequest.h:
127599        (WebCore::HitTestRequest::):
127600        (WebCore::HitTestRequest::svgClipContent):
127601        * rendering/RenderPath.cpp:
127602        (WebCore::RenderPath::fillContains):
127603        (WebCore::RenderPath::nodeAtFloatPoint):
127604        * rendering/RenderPath.h:
127605        * rendering/RenderSVGContainer.cpp:
127606        (WebCore::RenderSVGContainer::nodeAtFloatPoint):
127607        * rendering/RenderSVGImage.cpp:
127608        (WebCore::RenderSVGImage::nodeAtFloatPoint):
127609        * rendering/RenderSVGResourceClipper.cpp:
127610        (WebCore::RenderSVGResourceClipper::hitTestClipContent):
127611        * rendering/RenderSVGResourceClipper.h:
127612        * rendering/RenderSVGText.cpp:
127613        (WebCore::RenderSVGText::nodeAtFloatPoint):
127614        * rendering/SVGRenderSupport.cpp:
127615        (WebCore::pointInClippingArea):
127616        * rendering/SVGRenderSupport.h:
127617
1276182010-06-06  Dirk Schulze  <krit@webkit.org>
127619
127620        Reviewed by Nikolas Zimmermann.
127621
127622        SVG Pattern/Gradient clean-up
127623        https://bugs.webkit.org/show_bug.cgi?id=40205
127624
127625        Transformations of SVG Patterns and Gradients can be bundeled.
127626        This calculation also needs just to be calculated once. It's not a great speed-up for most platforms,
127627        but a clean-up and preparation for new features like vectorEffects and others.
127628        Now, that we don't recalucluate the gradient and its transformations, it was necessary to add a way
127629        to transform alreday existing gradients on Cairo. This is done in the same way like Skia transforms
127630        gradients after they were created.
127631        
127632        This patch doesn't change functionality, so no new tests added.
127633
127634        * platform/graphics/Gradient.cpp:
127635        * platform/graphics/cairo/GradientCairo.cpp:
127636        (WebCore::Gradient::setPlatformGradientSpaceTransform):
127637        * rendering/RenderSVGResourceGradient.cpp:
127638        (WebCore::RenderSVGResourceGradient::applyResource):
127639        * rendering/RenderSVGResourceGradient.h:
127640        * rendering/RenderSVGResourcePattern.cpp:
127641        (WebCore::RenderSVGResourcePattern::applyResource):
127642        (WebCore::RenderSVGResourcePattern::createTileImage):
127643        (WebCore::RenderSVGResourcePattern::buildPattern):
127644        * rendering/RenderSVGResourcePattern.h:
127645
1276462010-06-05  Dumitru Daniliuc  <dumi@chromium.org>
127647
127648        Unreviewed, typo/build fix.
127649
127650        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
127651        (WebCore::V8SQLStatementErrorCallback::handleEvent):
127652
1276532010-05-28  Dumitru Daniliuc  <dumi@chromium.org>
127654
127655        Reviewed by Adam Barth.
127656
127657        Do not pass empty handles to v8.
127658        https://bugs.webkit.org/show_bug.cgi?id=39896
127659
127660        Passing an empty handle to v8 results in a crash with a stack
127661        trace that doesn't give us much information about the cause of the
127662        crash. Instead, if we check the handles we pass to v8 and crash
127663        when they are empty, we do not make things worse, and should get a
127664        more informative stack trace.
127665
127666        * bindings/scripts/CodeGeneratorV8.pm:
127667        * bindings/scripts/test/V8/V8TestCallback.cpp:
127668        (WebCore::V8TestCallback::callbackWithClass1Param):
127669        (WebCore::V8TestCallback::callbackWithClass2Param):
127670        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
127671        (WebCore::V8SQLStatementErrorCallback::handleEvent):
127672
1276732010-05-30  Antonio Gomes  <tonikitoo@webkit.org>
127674
127675        Reviewed by Darin Adler.
127676
127677        Add a convenient helper getter for Frame* to RenderObject
127678        https://bugs.webkit.org/show_bug.cgi?id=39928
127679
127680        document()->frame() is being called enough from RenderObject derivated classes
127681        that it worth adding a helper Frame getter as a shortcut.
127682
127683        No behavior change, so no new tests.
127684
127685        * accessibility/AccessibilityRenderObject.cpp:
127686        (WebCore::AccessibilityRenderObject::isOffScreen):
127687        (WebCore::AccessibilityRenderObject::stringValue):
127688        (WebCore::AccessibilityRenderObject::selection):
127689        (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
127690        * page/EventHandler.cpp:
127691        (WebCore::canAutoscroll):
127692        * rendering/InlineTextBox.cpp:
127693        (WebCore::InlineTextBox::paint):
127694        (WebCore::InlineTextBox::paintCustomHighlight):
127695        (WebCore::InlineTextBox::paintTextMatchMarker):
127696        * rendering/RenderBlock.cpp:
127697        (WebCore::RenderBlock::paintCaret):
127698        * rendering/RenderBox.cpp:
127699        (WebCore::RenderBox::paintCustomHighlight):
127700        * rendering/RenderDataGrid.cpp:
127701        (WebCore::RenderDataGrid::isActive):
127702        * rendering/RenderFrameSet.cpp:
127703        (WebCore::RenderFrameSet::flattenFrameSet):
127704        * rendering/RenderImage.cpp:
127705        (WebCore::RenderImage::paintFocusRings):
127706        * rendering/RenderInline.cpp:
127707        (WebCore::RenderInline::addDashboardRegions):
127708        * rendering/RenderLayer.cpp:
127709        (WebCore::RenderLayer::~RenderLayer):
127710        (WebCore::RenderLayer::panScrollFromPoint):
127711        (WebCore::RenderLayer::scrollByRecursively):
127712        (WebCore::RenderLayer::scrollToOffset):
127713        (WebCore::RenderLayer::autoscroll):
127714        (WebCore::RenderLayer::isActive):
127715        (showLayerTree):
127716        * rendering/RenderLayerBacking.cpp:
127717        (WebCore::inspectorTimelineAgent):
127718        * rendering/RenderListBox.cpp:
127719        (WebCore::RenderListBox::paintItemForeground):
127720        (WebCore::RenderListBox::paintItemBackground):
127721        (WebCore::RenderListBox::panScroll):
127722        (WebCore::RenderListBox::autoscroll):
127723        (WebCore::RenderListBox::isActive):
127724        * rendering/RenderObject.cpp:
127725        (WebCore::RenderObject::~RenderObject):
127726        (WebCore::RenderObject::selectionBackgroundColor):
127727        (WebCore::RenderObject::selectionForegroundColor):
127728        (WebCore::RenderObject::destroy):
127729        (WebCore::RenderObject::addDashboardRegions):
127730        (WebCore::RenderObject::animation):
127731        * rendering/RenderObject.h:
127732        (WebCore::RenderObject::document):
127733        (WebCore::RenderObject::frame):
127734
1277352010-06-05  Jonathan Kliegman  <kliegs@chromium.org>
127736
127737        Reviewed by Dirk Schulze.
127738
127739        SVG doesn't support rgba colors
127740        https://bugs.webkit.org/show_bug.cgi?id=16183
127741
127742        Enabled processing of rgba, hsl and hsla color specifications
127743        for SVG files.  SVG spec calls for CSS2 but common usage and
127744        other browsers suppor CSS3 colors being used in SVG files
127745
127746        Removed unused svg paramater from CSSParser::parseColorFromValue
127747
127748        Tests: svg/custom/fill-opacity-hsl.svg
127749               svg/custom/fill-opacity-rgba.svg
127750
127751        * css/CSSParser.cpp:
127752        (WebCore::CSSParser::parseColorFromValue):
127753        * css/CSSParser.h:
127754        * css/SVGCSSParser.cpp:
127755        (WebCore::CSSParser::parseSVGValue):
127756        (WebCore::CSSParser::parseSVGPaint):
127757        (WebCore::CSSParser::parseSVGColor):
127758        * svg/SVGColor.cpp:
127759        (WebCore::SVGColor::colorFromRGBColorString):
127760
1277612010-06-05  Anders Bakken  <agbakken@gmail.com>
127762
127763        Reviewed by Eric Seidel.
127764
127765        [Qt] ContextMenuItemQt.cpp has coding-style errors
127766        https://bugs.webkit.org/show_bug.cgi?id=39780
127767
127768        * platform/qt/ContextMenuItemQt.cpp:
127769
1277702010-06-05  Anders Bakken  <agbakken@gmail.com>
127771
127772        Reviewed by Eric Seidel.
127773
127774        [Qt] ContextMenuQt.cpp has coding-style errors
127775        https://bugs.webkit.org/show_bug.cgi?id=39779
127776
127777        * platform/qt/ContextMenuQt.cpp:
127778
1277792010-06-05  Anders Bakken  <agbakken@gmail.com>
127780
127781        Reviewed by Eric Seidel.
127782
127783        [Qt] DragDataQt.cpp has coding-style errors
127784        https://bugs.webkit.org/show_bug.cgi?id=39777
127785
127786        * platform/qt/DragDataQt.cpp:
127787
1277882010-06-05  Anders Bakken  <agbakken@gmail.com>
127789
127790        Reviewed by Eric Seidel.
127791
127792        [Qt] FileChooserQt.cpp has coding-style errors
127793        https://bugs.webkit.org/show_bug.cgi?id=39776
127794
127795        * platform/qt/FileChooserQt.cpp:
127796
1277972010-06-05  Anders Bakken  <agbakken@gmail.com>
127798
127799        Reviewed by Eric Seidel.
127800
127801        [Qt] FileSystemQt.cpp has coding-style errors
127802        https://bugs.webkit.org/show_bug.cgi?id=39775
127803
127804        * platform/qt/FileSystemQt.cpp:
127805
1278062010-06-05  Anders Bakken  <agbakken@gmail.com>
127807
127808        Reviewed by Eric Seidel.
127809
127810        [Qt] KURLQt.cpp has coding-style errors
127811        https://bugs.webkit.org/show_bug.cgi?id=39774
127812
127813        * platform/qt/KURLQt.cpp:
127814
1278152010-06-05  Anders Bakken  <agbakken@gmail.com>
127816
127817        Reviewed by Eric Seidel.
127818
127819        [Qt] LoggingQt.cpp has coding-style errors
127820        https://bugs.webkit.org/show_bug.cgi?id=39772
127821
127822        * platform/qt/LoggingQt.cpp:
127823
1278242010-06-05  Anders Bakken  <agbakken@gmail.com>
127825
127826        Reviewed by Eric Seidel.
127827
127828        [Qt] PlatformKeyboardEventQt.cpp has coding-style errors
127829        https://bugs.webkit.org/show_bug.cgi?id=39770
127830
127831        * platform/qt/PlatformKeyboardEventQt.cpp:
127832        (WebCore::keyIdentifierForQtKeyCode):
127833        (WebCore::windowsKeyCodeForKeyEvent):
127834        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
127835
1278362010-06-05  Anders Bakken  <agbakken@gmail.com>
127837
127838        Reviewed by Eric Seidel.
127839
127840        [Qt] PlatformScreenQt.cpp has coding-style errors
127841        https://bugs.webkit.org/show_bug.cgi?id=39768
127842
127843        * platform/qt/PlatformMouseEventQt.cpp:
127844        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
127845
1278462010-06-05  Anders Bakken  <agbakken@gmail.com>
127847
127848        Reviewed by Eric Seidel.
127849
127850        [Qt] RenderThemeQt.cpp has coding-style errors
127851        https://bugs.webkit.org/show_bug.cgi?id=39767
127852
127853        * platform/qt/RenderThemeQt.cpp:
127854
1278552010-06-05  Anders Bakken  <agbakken@gmail.com>
127856
127857        Reviewed by Eric Seidel.
127858
127859        [Qt] ScrollbarQt.cpp has coding-style errors
127860        https://bugs.webkit.org/show_bug.cgi?id=39765
127861
127862        * platform/qt/ScrollbarQt.cpp:
127863
1278642010-06-04  Adam Barth  <abarth@webkit.org>
127865
127866        Reviewed by Eric Seidel.
127867
127868        Make HTML5Lexer go fast
127869        https://bugs.webkit.org/show_bug.cgi?id=40048
127870
127871        This patch changes us from using a jump table for each character to
127872        using absolute jumps between parser states.  This appears to be about a
127873        1% improvement on the parser bench mark (which is 1/10th of what we
127874        need to catch the old parser).
127875
127876        I've kept the underlying logic as close to the old logic as possible.
127877        This new form will make it easier to handle the input stream part of
127878        the spec and to make further performance improvements.
127879
127880        * html/HTML5Lexer.cpp:
127881        (WebCore::HTML5Lexer::reset):
127882        (WebCore::HTML5Lexer::nextToken):
127883        (WebCore::HTML5Lexer::emitCurrentToken):
127884        * html/HTML5Lexer.h:
127885
1278862010-06-04  Adam Barth  <abarth@webkit.org>
127887
127888        Reviewed by Darin Adler.
127889
127890        HTML5 parser should be within 1% of old parser performance
127891        https://bugs.webkit.org/show_bug.cgi?id=40172
127892
127893        Stop using adopt().  I think this function is cause us to do extra
127894        mallocs that are hurting performance.  Instead of caching AtomicString
127895        on HTML5Token, just use the AtomicString on the old token.  Also,
127896        reserve inline capacity for 10 attributes.
127897
127898        * html/HTML5Lexer.cpp:
127899        (WebCore::HTML5Lexer::isAppropriateEndTag):
127900        * html/HTML5Lexer.h:
127901        * html/HTML5Token.h:
127902        (WebCore::HTML5Token::beginStartTag):
127903        (WebCore::HTML5Token::beginEndTag):
127904        (WebCore::HTML5Token::beginCharacter):
127905        (WebCore::HTML5Token::beginComment):
127906        (WebCore::HTML5Token::beginDOCTYPE):
127907        (WebCore::HTML5Token::name):
127908        (WebCore::HTML5Token::characters):
127909        (WebCore::HTML5Token::comment):
127910        * html/HTML5TreeBuilder.cpp:
127911        (WebCore::convertToOldStyle):
127912        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
127913
1279142010-06-04  Anders Bakken  <agbakken@gmail.com>
127915
127916        Reviewed by Eric Seidel.
127917
127918        [Qt] ScrollbarThemeQt.cpp has coding-style errors
127919        https://bugs.webkit.org/show_bug.cgi?id=39764
127920
127921        * platform/qt/ScrollbarThemeQt.cpp:
127922        (WebCore::scPart):
127923        (WebCore::scrollbarPart):
127924        (WebCore::styleOptionSlider):
127925
1279262010-06-04  Anders Bakken  <agbakken@gmail.com>
127927
127928        Reviewed by Eric Seidel.
127929
127930        [Qt] SharedTimerQt.cpp has coding-style errors
127931        https://bugs.webkit.org/show_bug.cgi?id=39763
127932
127933        * platform/qt/SharedTimerQt.cpp:
127934
1279352010-06-04  Anders Bakken  <agbakken@gmail.com>
127936
127937        Reviewed by Eric Seidel.
127938
127939        WidgetQt.cpp has coding-style errors
127940        https://bugs.webkit.org/show_bug.cgi?id=39759
127941
127942        * platform/qt/WidgetQt.cpp:
127943
1279442010-06-04  Anders Bakken  <agbakken@gmail.com>
127945
127946        Reviewed by Eric Seidel.
127947
127948        TemporaryLinkStubsQt.cpp has coding-style errors
127949        https://bugs.webkit.org/show_bug.cgi?id=39761
127950
127951        * platform/qt/TemporaryLinkStubsQt.cpp:
127952
1279532010-06-04  Anders Bakken  <agbakken@gmail.com>
127954
127955        Reviewed by Eric Seidel.
127956
127957        [Qt] SoundQt.cpp has coding-style errors
127958        https://bugs.webkit.org/show_bug.cgi?id=39762
127959
127960        * platform/qt/SoundQt.cpp:
127961
1279622010-06-04  Andreas Kling  <andreas.kling@nokia.com>
127963
127964        Reviewed by Dirk Schulze.
127965
127966        Canvas createPattern(img, repetition) shouldn't throw INVALID_STATE_ERR when !img.complete
127967        https://bugs.webkit.org/show_bug.cgi?id=40166
127968
127969        Spec link:
127970        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createpattern
127971
127972        Test: http/tests/misc/canvas-pattern-from-incremental-image.html (updated)
127973
127974        * html/canvas/CanvasRenderingContext2D.cpp:
127975        (WebCore::CanvasRenderingContext2D::createPattern):
127976
1279772010-06-04  Anders Bakken  <agbakken@gmail.com>
127978
127979        Reviewed by David Levin.
127980
127981        [Qt] Localizations.cpp has coding-style errors
127982        https://bugs.webkit.org/show_bug.cgi?id=39773
127983
127984        * platform/qt/Localizations.cpp:
127985        (WebCore::localizedMediaTimeDescription):
127986
1279872010-06-04  Lyon Chen  <liachen@rim.com>
127988
127989        Reviewed by Darin Adler.
127990
127991        ApplicationCacheStorage::storeNewestCache() Crash WebKit when openDatabase(true) failed
127992        https://bugs.webkit.org/show_bug.cgi?id=40074
127993
127994        Adding m_database.isOpen() check for every openDatabase(true) call, this is needed because
127995        openDatabase(true) could still fail, for example when cacheStorage is full or no longer available.
127996
127997        * loader/appcache/ApplicationCacheStorage.cpp:
127998        (WebCore::ApplicationCacheStorage::store):
127999        (WebCore::ApplicationCacheStorage::storeNewestCache):
128000
1280012010-06-04  Sheriff Bot  <webkit.review.bot@gmail.com>
128002
128003        Unreviewed, rolling out r60684.
128004        http://trac.webkit.org/changeset/60684
128005        https://bugs.webkit.org/show_bug.cgi?id=40196
128006
128007        This patch broke chromium reliability tests (Requested by
128008        tonyg-cr on #webkit).
128009
128010        * bindings/v8/ScriptSourceCode.h:
128011        (WebCore::ScriptSourceCode::ScriptSourceCode):
128012        * bindings/v8/V8Proxy.cpp:
128013        (WebCore::V8Proxy::compileScript):
128014        (WebCore::V8Proxy::evaluate):
128015        * bindings/v8/V8Proxy.h:
128016
1280172010-06-04  Chris Fleizach  <cfleizach@apple.com>
128018
128019        Reviewed by David Kilzer.
128020
128021        AX: need an aria-help
128022        https://bugs.webkit.org/show_bug.cgi?id=40010
128023
128024        Test: accessibility/aria-help.html
128025
128026        * accessibility/AccessibilityRenderObject.cpp:
128027        (WebCore::AccessibilityRenderObject::helpText):
128028        * html/HTMLAttributeNames.in:
128029
1280302010-06-04  Andreas Kling  <andreas.kling@nokia.com>
128031
128032        Reviewed by Tor Arne Vestbø.
128033
128034        [Qt] Canvas arc() with zero radius should draw a line to the start point
128035        https://bugs.webkit.org/show_bug.cgi?id=40164
128036
128037        Spec link:
128038        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc
128039
128040        * platform/graphics/qt/PathQt.cpp:
128041        (WebCore::Path::addArc):
128042
1280432010-06-04  Martin Robinson  <mrobinson@igalia.com>
128044
128045        Reviewed by Xan Lopez.
128046
128047        [GTK] RenderThemeGtk leaks memory
128048        https://bugs.webkit.org/show_bug.cgi?id=40168
128049
128050        Call gtk_widget_destroy in the RenderThemeGtk destructor. This cleans
128051        up all widget resources when a theme is destroyed.
128052
128053        No new tests, because functionality has not changed.
128054
128055        * platform/gtk/RenderThemeGtk.cpp:
128056        (WebCore::RenderThemeGtk::~RenderThemeGtk): Call gtk_widget_destroy on m_gtkWindow.
128057
1280582010-06-04  Martin Robinson  <mrobinson@igalia.com>
128059
128060        Reviewed by Xan Lopez.
128061
128062        [GTK] RenderThemeGtk leaks memory
128063        https://bugs.webkit.org/show_bug.cgi?id=40168
128064
128065        Remove the use of releaseRef to assign a value to a RefPtr. This results in
128066        the original pointer taking an extra reference.
128067
128068        * platform/gtk/RenderThemeGtk.cpp:
128069        (WebCore::RenderThemeGtk::initMediaStyling): Remove the use of releaseRef here.
128070
1280712010-06-04  Adam Barth  <abarth@webkit.org>
128072
128073        Reviewed by Gavin Barraclough.
128074
128075        Try to fix the windows build
128076        https://bugs.webkit.org/show_bug.cgi?id=40189
128077
128078        Suppress the "unreachable code" warning because we want to assert that
128079        we don't reach certain code points.
128080
128081        * html/HTML5Lexer.cpp:
128082
1280832010-06-04  Adam Barth  <abarth@webkit.org>
128084
128085        Reviewed by Eric Seidel.
128086
128087        Make HTML5Lexer go fast
128088        https://bugs.webkit.org/show_bug.cgi?id=40048
128089
128090        A couple more cases like the previous patch that I missed.
128091
128092        * html/HTML5Lexer.cpp:
128093        (WebCore::HTML5Lexer::nextToken):
128094
1280952010-06-04  Adam Barth  <abarth@webkit.org>
128096
128097        Reviewed by Eric Seidel.
128098
128099        Make HTML5Lexer go fast
128100        https://bugs.webkit.org/show_bug.cgi?id=40048
128101
128102        Make all the state transitions in the machine explicit.  This allows us
128103        to remove all the break statements, which won't work correctly after we
128104        change the macro definitions.
128105
128106        Also, while I was looking at every line of code, I fixed a bunch of the
128107        one-line-if style errors introduces in my previous patches.
128108
128109        * html/HTML5Lexer.cpp:
128110        (WebCore::HTML5Lexer::nextToken):
128111
1281122010-06-04  Gavin Barraclough  <barraclough@apple.com>
128113
128114        Reviewed by Oliver Hunt.
128115
128116        Bug 40187 - Change function signature of NativeConstructor to match NativeFunction
128117
128118        Mostly for consistency, but constructor & args arguments are redundant,
128119        and this will help if we wish to be able to JIT calls to more constructors.
128120
128121        * bindings/js/JSArrayBufferConstructor.cpp:
128122        (WebCore::constructCanvasArrayBuffer):
128123        * bindings/js/JSAudioConstructor.cpp:
128124        (WebCore::constructAudio):
128125        * bindings/js/JSEventSourceConstructor.cpp:
128126        (WebCore::constructEventSource):
128127        * bindings/js/JSFloatArrayConstructor.cpp:
128128        (WebCore::constructCanvasFloatArray):
128129        * bindings/js/JSImageConstructor.cpp:
128130        (WebCore::constructImage):
128131        * bindings/js/JSInt16ArrayConstructor.cpp:
128132        (WebCore::constructCanvasShortArray):
128133        * bindings/js/JSInt32ArrayConstructor.cpp:
128134        (WebCore::constructCanvasIntArray):
128135        * bindings/js/JSInt8ArrayConstructor.cpp:
128136        (WebCore::constructCanvasByteArray):
128137        * bindings/js/JSMessageChannelConstructor.cpp:
128138        (WebCore::JSMessageChannelConstructor::construct):
128139        * bindings/js/JSMessageChannelConstructor.h:
128140        * bindings/js/JSOptionConstructor.cpp:
128141        (WebCore::constructHTMLOptionElement):
128142        * bindings/js/JSSharedWorkerConstructor.cpp:
128143        (WebCore::constructSharedWorker):
128144        * bindings/js/JSUint16ArrayConstructor.cpp:
128145        (WebCore::constructCanvasUnsignedShortArray):
128146        * bindings/js/JSUint32ArrayConstructor.cpp:
128147        (WebCore::constructCanvasUnsignedIntArray):
128148        * bindings/js/JSUint8ArrayConstructor.cpp:
128149        (WebCore::constructCanvasUnsignedByteArray):
128150        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
128151        (WebCore::constructWebKitCSSMatrix):
128152        * bindings/js/JSWebKitPointConstructor.cpp:
128153        (WebCore::constructWebKitPoint):
128154        * bindings/js/JSWebSocketConstructor.cpp:
128155        (WebCore::constructWebSocket):
128156        * bindings/js/JSWorkerConstructor.cpp:
128157        (WebCore::constructWorker):
128158        * bindings/js/JSXMLHttpRequestConstructor.cpp:
128159        (WebCore::constructXMLHttpRequest):
128160        * bindings/js/JSXSLTProcessorConstructor.cpp:
128161        (WebCore::constructXSLTProcessor):
128162        * bindings/scripts/CodeGeneratorJS.pm:
128163        * bridge/runtime_object.cpp:
128164        (JSC::Bindings::callRuntimeConstructor):
128165
1281662010-06-04  Adam Barth  <abarth@webkit.org>
128167
128168        Reviewed by Eric Seidel.
128169
128170        Make HTML5Lexer go fast
128171        https://bugs.webkit.org/show_bug.cgi?id=40048
128172
128173        Change the intent of the loop to match what it's going to be once we
128174        remove the loop.  This is a whitespace only change that will make the
128175        final diff much, much smaller.  Sorry for the transient ugly style.
128176
128177        * html/HTML5Lexer.cpp:
128178        (WebCore::HTML5Lexer::nextToken):
128179
1281802010-06-04  Adam Barth  <abarth@webkit.org>
128181
128182        Reviewed by Eric Seidel.
128183
128184        Make HTML5Lexer go fast
128185        https://bugs.webkit.org/show_bug.cgi?id=40048
128186
128187        Introduce ADVANCE_TO macro.  This is the last macro we need to
128188        introduce.
128189
128190        * html/HTML5Lexer.cpp:
128191        (WebCore::HTML5Lexer::nextToken):
128192
1281932010-06-04  Adam Barth  <abarth@webkit.org>
128194
128195        Reviewed by Eric Seidel.
128196
128197        Make HTML5Lexer go fast
128198        https://bugs.webkit.org/show_bug.cgi?id=40048
128199
128200        Fix the rest of the RECONSUME_IN cases that were missed by our script.
128201        Also, reorder some assigment to prepare for the ADVANCE_TO patch.
128202
128203        * html/HTML5Lexer.cpp:
128204        (WebCore::HTML5Lexer::nextToken):
128205
1282062010-06-04  Adam Barth  <abarth@webkit.org>
128207
128208        Reviewed by Eric Seidel.
128209
128210        Make HTML5Lexer go fast
128211        https://bugs.webkit.org/show_bug.cgi?id=40048
128212
128213        This patch handles the FLUSH_AND_ADVANCE_TO case.  Again, this patch
128214        introduces style errors that will be fixed shortly.
128215
128216        * html/HTML5Lexer.cpp:
128217        (WebCore::HTML5Lexer::nextToken):
128218
1282192010-06-04  Adam Barth  <abarth@webkit.org>
128220
128221        Reviewed by Eric Seidel.
128222
128223        Make HTML5Lexer go fast
128224        https://bugs.webkit.org/show_bug.cgi?id=40048
128225
128226        This patch handles the FLUSH_EMIT_AND_RESUME_IN case.  This patch
128227        introduces some bad style w.r.t. one-line if statements, but we'll fix
128228        them all automatically in cleanup patch when we're done.
128229
128230        * html/HTML5Lexer.cpp:
128231        (WebCore::HTML5Lexer::nextToken):
128232
1282332010-06-04  Adam Barth  <abarth@webkit.org>
128234
128235        Reviewed by Eric Seidel.
128236
128237        Make HTML5Lexer go fast
128238        https://bugs.webkit.org/show_bug.cgi?id=40048
128239
128240        More small steps.  This patch deals with emitting tokens.
128241
128242        * html/HTML5Lexer.cpp:
128243        (WebCore::HTML5Lexer::nextToken):
128244
1282452010-06-04  Adam Barth  <abarth@webkit.org>
128246
128247        Reviewed by Eric Seidel.
128248
128249        Make HTML5Lexer go fast
128250        https://bugs.webkit.org/show_bug.cgi?id=40048
128251
128252        The next step: using macros to delimit each state.  Evetually, we're
128253        going to change what these macros expand to.
128254
128255        * html/HTML5Lexer.cpp:
128256        (WebCore::HTML5Lexer::nextToken):
128257
1282582010-06-04  Adam Barth  <abarth@webkit.org>
128259
128260        Reviewed by Eric Seidel.
128261
128262        Make HTML5Lexer go fast
128263        https://bugs.webkit.org/show_bug.cgi?id=40048
128264
128265        We're going to do this patch in small steps to make it easier to verify correctness.
128266
128267        * html/HTML5Lexer.cpp:
128268        (WebCore::HTML5Lexer::nextToken):
128269
1282702010-06-04  Jay Civelli  <jcivelli@chromium.org>
128271
128272        Reviewed by David Levin.
128273
128274        [chromium] Adding support for the left and right Windows keys to the
128275                   NativeWebKeyboardEvent.
128276        https://bugs.webkit.org/show_bug.cgi?id=39752
128277
128278        * platform/chromium/KeyCodeConversionGtk.cpp:
128279        (WebCore::windowsKeyCodeForKeyEvent):
128280
1282812010-06-04  Dirk Schulze  <krit@webkit.org>
128282
128283        Reviewed by Nikolas Zimmermann.
128284
128285        SVG filter on filter don't work
128286        https://bugs.webkit.org/show_bug.cgi?id=32708
128287        
128288        Any child of <text> was not allowed to use the same filter as the text root. 
128289        I couldn't found any reason in the SVG specification that legimitate this.
128290        Only batik also doesn't allow the same filter on the text root as on it's childs,
128291        while any other effect is still allowed.
128292        I removed this limitation so that the result looks like the result on Firefox.
128293
128294        Test: svg/filters/filter-on-filter-for-text.svg
128295
128296        * rendering/SVGRenderSupport.cpp:
128297        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
128298        * rendering/SVGRenderSupport.h:
128299        * rendering/SVGRootInlineBox.cpp:
128300        (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
128301        (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
128302        (WebCore::SVGRootInlineBox::paint):
128303
1283042010-06-04  Nate Chapin  <japhet@chromium.org>
128305
128306        Reviewed by Adam Barth.
128307
128308        Factor PageCache functionality out of FrameLoader and into
128309        PageCache itself.
128310
128311        https://bugs.webkit.org/show_bug.cgi?id=39382
128312
128313        Refactor only, so no new tests.
128314
128315        * history/PageCache.cpp:
128316        (WebCore::pageCacheLogPrefix):
128317        (WebCore::pageCacheLog):
128318        (WebCore::logCanCacheFrameDecision):
128319        (WebCore::logCanCachePageDecision):
128320        (WebCore::PageCache::canCachePageContainingThisFrame):
128321        (WebCore::PageCache::canCache):
128322        (WebCore::PageCache::add):
128323        (WebCore::PageCache::get):
128324        * history/PageCache.h:
128325        * loader/DocumentLoader.cpp:
128326        (WebCore::DocumentLoader::commitIfReady):
128327        * loader/FrameLoader.cpp:
128328        (WebCore::FrameLoader::commitProvisionalLoad):
128329        (WebCore::FrameLoader::prepareForCachedPageRestore):
128330        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
128331        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
128332        (WebCore::FrameLoader::navigateToDifferentDocument):
128333        * loader/FrameLoader.h:
128334        (WebCore::FrameLoader::quickRedirectComing):
128335        * svg/graphics/SVGImage.cpp:
128336        (WebCore::SVGImage::dataChanged):
128337
1283382010-06-04  Ilya Tikhonovsky  <loislo@chromium.org>
128339
128340        Reviewed by Pavel Feldman.
128341
128342        WebInspector: Web Inspector: it would be better to push object properties to JSON string in order of insertion.
128343        https://bugs.webkit.org/show_bug.cgi?id=40140
128344
128345        * inspector/InspectorValues.cpp:
128346        (WebCore::InspectorObject::writeJSON):
128347        * inspector/InspectorValues.h:
128348        (WebCore::InspectorObject::setBool):
128349        (WebCore::InspectorObject::setNumber):
128350        (WebCore::InspectorObject::setString):
128351        (WebCore::InspectorObject::set):
128352
1283532010-06-04  Tony Gentilcore  <tonyg@chromium.org>
128354
128355        Reviewed by Adam Barth.
128356
128357        Persist V8's ScriptData to the memory cache.
128358        https://bugs.webkit.org/show_bug.cgi?id=38661
128359
128360        This stores V8's ScriptData in the memory cache and also causes the
128361        network platform layer to be notified of the available cacheable
128362        metadata.
128363
128364        Chromium's morejs benchmark shows a 3-4% improvement on fast hardware.
128365
128366        No new tests because no new functionality.
128367
128368        * bindings/v8/ScriptSourceCode.h:
128369        (WebCore::ScriptSourceCode::ScriptSourceCode):
128370        (WebCore::ScriptSourceCode::cachedScript):
128371        * bindings/v8/V8Proxy.cpp:
128372        (WebCore::V8Proxy::compileScript):
128373        (WebCore::V8Proxy::precompileScript):
128374        (WebCore::V8Proxy::evaluate):
128375        * bindings/v8/V8Proxy.h:
128376
1283772010-06-04  Tony Gentilcore  <tonyg@chromium.org>
128378
128379        Reviewed by Adam Barth.
128380
128381        Utilize new takeFirst() method where appropriate.
128382        https://bugs.webkit.org/show_bug.cgi?id=40089
128383
128384        No new tests because no new functionality.
128385
128386        * css/CSSStyleSheet.cpp:
128387        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
128388        * dom/XMLTokenizerLibxml2.cpp:
128389        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
128390        * html/HTMLTokenizer.cpp:
128391        (WebCore::HTMLTokenizer::reset):
128392        (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
128393        * platform/text/SegmentedString.cpp:
128394        (WebCore::SegmentedString::advanceSubstring):
128395        * storage/Database.cpp:
128396        (WebCore::Database::scheduleTransaction):
128397        * storage/SQLTransaction.cpp:
128398        (WebCore::SQLTransaction::getNextStatement):
128399        * storage/SQLTransactionCoordinator.cpp:
128400        (WebCore::SQLTransactionCoordinator::processPendingTransactions):
128401
1284022010-06-04  Nikita Vasilyev  <me@elv1s.ru>
128403
128404        Reviewed by Pavel Feldman.
128405
128406        Web Inspector: better Function.prototype.bind for the internal code.
128407
128408        In the "Event Listeners" pane show handler function instead of Function.prototype.bind.
128409
128410        https://bugs.webkit.org/show_bug.cgi?id=40080
128411
128412        * inspector/front-end/utilities.js:
128413        (Function.prototype.bind.bound):
128414        (Function.prototype.bind.bound.toString):
128415        (Function.prototype.bind):
128416
1284172010-06-04  Alexander Pavlov  <apavlov@chromium.org>
128418
128419        Unreviewed, fix Qt build.
128420
128421        Add references to a new file.
128422
128423        * WebCore.gypi:
128424        * WebCore.vcproj/WebCore.vcproj:
128425        * inspector/front-end/WebKit.qrc:
128426
1284272010-06-04  Alexander Pavlov  <apavlov@chromium.org>
128428
128429        Reviewed by Pavel Feldman.
128430
128431        Web Inspector: Eliminate direct dependency of StylesSidebarPane on InspectorBackend
128432        https://bugs.webkit.org/show_bug.cgi?id=40069
128433
128434        No new tests are needed, as this is a refactoring.
128435
128436        * inspector/front-end/CSSStyleModel.js: Added.
128437        (WebInspector.CSSStyleModel):
128438        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
128439        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
128440        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
128441        (WebInspector.CSSStyleModel.prototype.addRule):
128442        (WebInspector.CSSStyleModel.prototype.toggleStyleEnabled):
128443        (WebInspector.CSSStyleModel.prototype.setCSSText):
128444        (WebInspector.CSSStyleModel.prototype.applyStyleText):
128445        * inspector/front-end/StylesSidebarPane.js:
128446        (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
128447        (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
128448        (WebInspector.StylesSidebarPane.prototype.update):
128449        (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
128450        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
128451        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
128452        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
128453        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
128454        (WebInspector.StylePropertyTreeElement.prototype.):
128455        (WebInspector.StylePropertyTreeElement.prototype):
128456        * inspector/front-end/inspector.html:
128457        * inspector/front-end/inspector.js:
128458        (WebInspector.loaded):
128459
1284602010-06-04  Simon Hausmann  <simon.hausmann@nokia.com>
128461
128462        Reviewed by Tor Arne Vestbø.
128463
128464        [Qt] Compilation fails when compiling against Qt 4.7 and Qt Mobility is installed
128465        https://bugs.webkit.org/show_bug.cgi?id=40116
128466
128467        CONFIG += mobility has the side-effect of pulling in mobility includes, which conflict
128468        with Qt 4.7's bearer managenent includes and break the build.
128469
128470        * WebCore.pro:
128471
1284722010-06-04  Vangelis Kokkevis  <vangelis@chromium.org>
128473
128474        Reviewed by Dimitri Glazkov.
128475
128476        [chromium] Fix scrolling bug with pages using accelerated compositing.
128477        https://bugs.webkit.org/show_bug.cgi?id=40037
128478
128479        * platform/graphics/chromium/LayerRendererChromium.cpp:
128480        (WebCore::LayerRendererChromium::LayerRendererChromium):
128481        (WebCore::LayerRendererChromium::drawLayers):
128482
1284832010-06-04  Matthew Delaney  <mdelaney@apple.com>
128484
128485        Reviewed by Darin Adler.
128486
128487        CG implementation needed for compression quality in canvas.toDataURL
128488        https://bugs.webkit.org/show_bug.cgi?id=38492
128489
128490        Took toDataURL.jpeg.quality.basic.html test off of Skipped list. Passes.
128491
128492        Went the route of avoiding in-band signaling to flag the use of a quality 
128493        parameter or not. So, instead of simply passing the quality down as a
128494        double, instead I pass a reference to the quality parameter from where
128495        it comes in just after the JS bindings. Thus, no need for any global
128496        constants to signify when the quality is not specified. Updated the other 
128497        platforms to support this (qt was on the only one currently with any
128498        implementation). 
128499
128500        * bindings/js/JSHTMLCanvasElementCustom.cpp: Moved range check logic for quality parameter down lower. Updated
128501        call to toDataURL to use double* instead of just passing the quality directly.
128502        (WebCore::JSHTMLCanvasElement::toDataURL):
128503        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Updated toDataURL call to pass double*
128504        (WebCore::V8HTMLCanvasElement::toDataURLCallback):
128505        * dom/CanvasSurface.cpp: Updated method prototype.
128506        (WebCore::CanvasSurface::toDataURL):
128507        * dom/CanvasSurface.h: Updated method prototype.
128508        (WebCore::CanvasSurface::toDataURL):
128509        * platform/graphics/ImageBuffer.h: Updated method signature to use double* for quality param.
128510        * platform/graphics/cairo/ImageBufferCairo.cpp: Updated prototype for consistency.
128511        (WebCore::ImageBuffer::toDataURL):
128512        * platform/graphics/cg/ImageBufferCG.cpp: Implemented support for quality parametejr when jpeg MIME type used.
128513        (WebCore::jpegUTI):
128514        (WebCore::utiFromMIMEType):
128515        (WebCore::ImageBuffer::toDataURL):
128516        * platform/graphics/haiku/ImageBufferHaiku.cpp: Updated prototype for consistency.
128517        (WebCore::ImageBuffer::toDataURL):
128518        * platform/graphics/qt/ImageBufferQt.cpp: Updated prototype for consistency.
128519        (WebCore::ImageBuffer::toDataURL):
128520        * platform/graphics/skia/ImageBufferSkia.cpp: Updated prototype for consistency.
128521        (WebCore::ImageBuffer::toDataURL):
128522        * platform/graphics/wince/ImageBufferWince.cpp: Updated prototype for consistency.
128523        (WebCore::ImageBuffer::toDataURL):
128524        * platform/graphics/wx/ImageBufferWx.cpp: Updated prototype for consistency.
128525        (WebCore::ImageBuffer::toDataURL):
128526
1285272010-06-04  Alejandro G. Castro  <alex@igalia.com>
128528
128529        Reviewed by Xan Lopez.
128530
128531        Leaks in listDirectory
128532        https://bugs.webkit.org/show_bug.cgi?id=40008
128533
128534        Fixed both leaks.
128535
128536        * platform/gtk/FileSystemGtk.cpp:
128537        (WebCore::listDirectory):
128538
1285392010-06-04  Anton Muhin  <antonm@chromium.org>
128540
128541        Reviewed by Nate Chapin.
128542
128543        [Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
128544        https://bugs.webkit.org/show_bug.cgi?id=39877
128545
128546        This patch makes callbacks invoked on named items addition/removal
128547        install API accessors and thus there is no more need in
128548        named and indexed interceptors on HTMLDocument which
128549        speeds up invocation of methods on document.
128550
128551        * bindings/scripts/CodeGeneratorV8.pm:
128552        * bindings/v8/ScriptController.cpp:
128553        (WebCore::ScriptController::namedItemAdded):
128554        (WebCore::ScriptController::namedItemRemoved):
128555        * bindings/v8/V8DOMWindowShell.cpp:
128556        (WebCore::checkDocumentWrapper):
128557        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
128558        (WebCore::getter):
128559        (WebCore::V8DOMWindowShell::namedItemAdded):
128560        (WebCore::V8DOMWindowShell::namedItemRemoved):
128561        * bindings/v8/V8DOMWindowShell.h:
128562        * bindings/v8/V8DOMWrapper.cpp:
128563        (WebCore::V8DOMWrapper::instantiateV8Object):
128564        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
128565        (WebCore::V8HTMLDocument::WrapInShadowObject):
128566        (WebCore::V8HTMLDocument::GetNamedProperty):
128567        (WebCore::V8HTMLDocument::allAccessorSetter):
128568        (WebCore::toV8):
128569
1285702010-06-04  Kwang Yul Seo  <skyul@company100.net>
128571
128572        Reviewed by Kent Tamura.
128573
128574        Change filenameFromString to return CString
128575        https://bugs.webkit.org/show_bug.cgi?id=39494
128576
128577        filenameFromString returns a newly allocated string and the caller must
128578        free the string. GTK and EFL ports use g_free while all others ports use
128579        fastFree. This is confusing because the same function behaves
128580        differently with respect to ports. Change filenameFromString to return
128581        CString.
128582
128583        * platform/FileSystem.cpp:
128584        (WebCore::filenameFromString):
128585        * platform/FileSystem.h:
128586        * platform/efl/FileSystemEfl.cpp:
128587        (WebCore::filenameFromString):
128588        * platform/gtk/FileChooserGtk.cpp:
128589        (WebCore::FileChooser::basenameForWidth):
128590        * platform/gtk/FileSystemGtk.cpp:
128591        (WebCore::filenameFromString):
128592        (WebCore::filenameForDisplay):
128593        (WebCore::fileExists):
128594        (WebCore::deleteFile):
128595        (WebCore::deleteEmptyDirectory):
128596        (WebCore::getFileSize):
128597        (WebCore::getFileModificationTime):
128598        (WebCore::makeAllDirectories):
128599        (WebCore::pathGetFileName):
128600        (WebCore::directoryName):
128601        (WebCore::listDirectory):
128602        * platform/gtk/SharedBufferGtk.cpp:
128603        (WebCore::SharedBuffer::createWithContentsOfFile):
128604        * platform/network/soup/ResourceHandleSoup.cpp:
128605        (WebCore::startHttp):
128606        * platform/posix/SharedBufferPOSIX.cpp:
128607        (WebCore::SharedBuffer::createWithContentsOfFile):
128608
1286092010-06-04  No'am Rosenthal  <noam.rosenthal@nokia.com>
128610
128611        Reviewed by Kenneth Rohde Christiansen.
128612
128613        [Qt] Fix compilation with QT_NO_FEATURE
128614        https://bugs.webkit.org/show_bug.cgi?id=38324
128615
128616        The #ifdef QT_NO_GRAPHICSEFFECT was in the wrong place, would have
128617        made AC not work at all.
128618
128619        No new tests.
128620
128621        * platform/graphics/qt/GraphicsLayerQt.cpp:
128622        (WebCore::GraphicsLayerQtImpl::flushChanges):
128623
1286242010-06-04  Qi Zhang  <qi.2.zhang@nokia.com>
128625
128626        Reviewed by Laszlo Gombos.
128627
128628        [Qt] Failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arcTo.ensuresubpath.1.html
128629        https://bugs.webkit.org/show_bug.cgi?id=38645
128630
128631        Path arcto function need to ensure there is subpath before it.
128632
128633        * platform/graphics/qt/PathQt.cpp:
128634        (WebCore::Path::addArcTo):
128635
1286362010-06-04  Qi Zhang  <qi.2.zhang@nokia.com>
128637
128638        Reviewed by Laszlo Gombos.
128639
128640        [Qt] failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arc.angle.3.html
128641        https://bugs.webkit.org/show_bug.cgi?id=38537
128642
128643        For path.arc function handle span > 2PI
128644
128645        * platform/graphics/qt/PathQt.cpp:
128646        (WebCore::Path::addArc):
128647
1286482010-06-04  Zhenyao Mo  <zmo@google.com>
128649
128650        Reviewed by Dimitri Glazkov.
128651
128652        Set attributes.stencil to false by default at context creation
128653        https://bugs.webkit.org/show_bug.cgi?id=40090
128654
128655        * platform/graphics/GraphicsContext3D.h: Set default attributes.stencil to false.
128656        (WebCore::GraphicsContext3D::Attributes::Attributes):
128657
1286582010-06-03  Abhishek Arya  <inferno@chromium.org>
128659
128660        Reviewed by Eric Carlson.
128661
128662        Fix a crash when trying to use an invalid media src url by
128663        moving the isValid url checks to a central location in
128664        isSafeToLoadURL function. Also added an empty string check
128665        in DocumentLoader::didTellClientAboutLoad.
128666
128667        Test: media/invalid-media-url-crash.html
128668
128669        * html/HTMLMediaElement.cpp:
128670        (WebCore::HTMLMediaElement::isSafeToLoadURL):
128671        (WebCore::HTMLMediaElement::selectNextSourceChild):
128672        (WebCore::HTMLMediaElement::getPluginProxyParams):
128673        * loader/DocumentLoader.h:
128674        (WebCore::DocumentLoader::didTellClientAboutLoad):
128675
1286762010-06-03  Sheriff Bot  <webkit.review.bot@gmail.com>
128677
128678        Unreviewed, rolling out r60642.
128679        http://trac.webkit.org/changeset/60642
128680        https://bugs.webkit.org/show_bug.cgi?id=40151
128681
128682        Broke rendering of border images on rotated elements
128683        (Requested by jamesr on #webkit).
128684
128685        * platform/graphics/GraphicsContext.cpp:
128686        (WebCore::GraphicsContext::drawImage):
128687        (WebCore::GraphicsContext::drawTiledImage):
128688        * platform/graphics/GraphicsContext.h:
128689        * rendering/RenderBoxModelObject.cpp:
128690        (WebCore::RenderBoxModelObject::paintNinePieceImage):
128691
1286922010-06-03  Damian Kaleta  <dkaleta@apple.com>
128693
128694        Reviewed by Beth Dakin.
128695
128696        Pixel cracks in border images when drawing with a scale factor > 1
128697        <rdar://problem/7994266>pixel cracks in border images
128698        https://bugs.webkit.org/show_bug.cgi?id=15720
128699        
128700        * platform/graphics/GraphicsContext.cpp:
128701        (WebCore::GraphicsContext::drawImage):
128702        (WebCore::GraphicsContext::drawTiledImage):
128703        * platform/graphics/GraphicsContext.h: Added two new methods to support drawing using FloatRect.
128704        If the boolean flag roundToPixels is true, the pixels are adjusted with the pixel boundaries.
128705        * rendering/RenderBoxModelObject.cpp:
128706        (WebCore::RenderBoxModelObject::paintNinePieceImage):
128707
1287082010-06-03  James Robinson  <jamesr@chromium.org>
128709
128710        Reviewed by Dan Bernstein.
128711
128712        Take container's scroll offset and clip into account when initializing LayoutState
128713        https://bugs.webkit.org/show_bug.cgi?id=38506
128714
128715        When doing a subtree layout, the initial LayoutState creation needs to
128716        take the layout root container's offset and its scroll offset into account
128717        to create the initial offset.  Otherwise if a subtree layout occurs
128718        for a layout root whose container has a non-zero scroll offset
128719        the LayoutState's offset and clip are wrong, resulting in a mispaint.
128720        See the test cases for examples.
128721
128722        Tests: fast/repaint/layout-state-scrolloffset.html
128723               fast/repaint/layout-state-scrolloffset2.html
128724               fast/repaint/layout-state-scrolloffset3.html
128725
128726        * rendering/LayoutState.cpp:
128727        (WebCore::LayoutState::LayoutState):
128728
1287292010-06-03  Gavin Barraclough  <barraclough@apple.com>
128730
128731        Reviewed by NOBODY (speculative Qt build fix II).
128732
128733        * bridge/qt/qt_runtime.cpp:
128734        (JSC::Bindings::QtRuntimeMetaMethod::call):
128735        (JSC::Bindings::QtRuntimeConnectionMethod::call):
128736
1287372010-06-03  Gavin Barraclough  <barraclough@apple.com>
128738
128739        Reviewed by NOBODY (speculative Qt build fix).
128740
128741        * bridge/qt/qt_runtime.cpp:
128742        (JSC::Bindings::QtRuntimeMetaMethod::call):
128743        (JSC::Bindings::QtRuntimeConnectionMethod::call):
128744
1287452010-06-02  Gavin Barraclough  <barraclough@apple.com>
128746
128747        Reviewed by Oliver Hunt.
128748
128749        Bug 40094 - The return type of NativeFunction should be EncodedJSValue
128750        On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
128751
128752        * bindings/js/JSCallbackData.cpp:
128753        (WebCore::JSCallbackData::invokeCallback):
128754        * bindings/js/JSCustomXPathNSResolver.cpp:
128755        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
128756        * bindings/js/JSEventListener.cpp:
128757        (WebCore::JSEventListener::handleEvent):
128758        * bindings/js/JSHTMLAllCollectionCustom.cpp:
128759        (WebCore::callHTMLAllCollection):
128760        * bindings/js/JSHTMLCollectionCustom.cpp:
128761        (WebCore::callHTMLCollection):
128762        * bindings/js/JSHTMLDocumentCustom.cpp:
128763        (WebCore::JSHTMLDocument::open):
128764        * bindings/js/JSInjectedScriptHostCustom.cpp:
128765        (WebCore::InjectedScriptHost::createInjectedScript):
128766        * bindings/js/JSNodeFilterCondition.cpp:
128767        (WebCore::JSNodeFilterCondition::acceptNode):
128768        * bindings/js/JSNodeListCustom.cpp:
128769        (WebCore::callNodeList):
128770        * bindings/js/JSPluginElementFunctions.cpp:
128771        (WebCore::callPlugin):
128772        * bindings/js/ScheduledAction.cpp:
128773        (WebCore::ScheduledAction::create):
128774        (WebCore::ScheduledAction::executeFunctionInContext):
128775        * bindings/js/ScriptFunctionCall.cpp:
128776        (WebCore::ScriptFunctionCall::call):
128777        * bindings/js/SerializedScriptValue.cpp:
128778        (WebCore::SerializingTreeWalker::convertIfTerminal):
128779        * bindings/objc/WebScriptObject.mm:
128780        (-[WebScriptObject callWebScriptMethod:withArguments:]):
128781        * bindings/scripts/CodeGeneratorJS.pm:
128782        * bridge/NP_jsobject.cpp:
128783        (_NPN_InvokeDefault):
128784        (_NPN_Invoke):
128785        (_NPN_Construct):
128786        * bridge/jni/jni_jsobject.mm:
128787        (JavaJSObject::call):
128788        * bridge/objc/objc_runtime.mm:
128789        (JSC::Bindings::callObjCFallbackObject):
128790        * bridge/runtime_method.cpp:
128791        (JSC::callRuntimeMethod):
128792        * bridge/runtime_object.cpp:
128793        (JSC::Bindings::callRuntimeObject):
128794
1287952010-06-03  Sheriff Bot  <webkit.review.bot@gmail.com>
128796
128797        Unreviewed, rolling out r60614.
128798        http://trac.webkit.org/changeset/60614
128799        https://bugs.webkit.org/show_bug.cgi?id=40123
128800
128801        It made fast/dom/Window/window-postmessage-clone.html fail on
128802        Mac bots (Requested by Ossy on #webkit).
128803
128804        * Android.derived.jscbindings.mk:
128805        * Android.derived.v8bindings.mk:
128806        * Android.mk:
128807        * CMakeLists.txt:
128808        * DerivedSources.cpp:
128809        * DerivedSources.make:
128810        * GNUmakefile.am:
128811        * WebCore.gypi:
128812        * WebCore.pri:
128813        * WebCore.pro:
128814        * bindings/generic/RuntimeEnabledFeatures.cpp:
128815        * bindings/generic/RuntimeEnabledFeatures.h:
128816        * bindings/js/JSEventCustom.cpp:
128817        (WebCore::toJS):
128818        * bindings/v8/custom/V8EventCustom.cpp:
128819        (WebCore::toV8):
128820        * dom/Document.cpp:
128821        (WebCore::Document::createEvent):
128822        (WebCore::Document::addListenerTypeIfNeeded):
128823        * dom/Document.h:
128824        (WebCore::Document::):
128825        * dom/Document.idl:
128826        * dom/Element.h:
128827        * dom/Element.idl:
128828        * dom/Event.cpp:
128829        (WebCore::Event::fromUserGesture):
128830        * dom/Event.h:
128831        * dom/EventNames.h:
128832        * dom/TransformActionEvent.cpp: Removed.
128833        * dom/TransformActionEvent.h: Removed.
128834        * dom/TransformActionEvent.idl: Removed.
128835        * html/HTMLAttributeNames.in:
128836        * html/HTMLElement.cpp:
128837        (WebCore::HTMLElement::parseMappedAttribute):
128838        * page/DOMWindow.h:
128839        * page/DOMWindow.idl:
128840
1288412010-06-03  Yury Semikhatsky  <yurys@chromium.org>
128842
128843        Reviewed by Pavel Feldman.
128844
128845        [v8] Web Inspector: show "Object" as description for values with anonymous constructor
128846        https://bugs.webkit.org/show_bug.cgi?id=40121
128847
128848        * inspector/front-end/InjectedScript.js:
128849        (injectedScriptConstructor):
128850
1288512010-06-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
128852
128853        Reviewed by Simon Hausmann.
128854
128855        [Qt] Fix NPAPI support on Mac OS X/Cocoa-32
128856
128857        qt_mac_window_for() returns a NSWindow on Cocoa, so we were
128858        passing in a NSWindow instead of a WindowRef as part of the
128859        NP_CGContext.
128860
128861        https://bugs.webkit.org/show_bug.cgi?id=38762
128862
128863        * WebCore.gypi: Reflect rename
128864        * WebCore.pro: Reflect rename
128865        * plugins/mac/PluginViewMac.cpp: Renamed to PluginViewMac.mm
128866        and fix bug by getting the Carbon windowRef from the NSWindow.
128867        * wscript: Reflect rename
128868
1288692010-06-03  Kim Grönholm  <kim.1.gronholm@nokia.com>
128870
128871        Reviewed by Simon Hausmann.
128872
128873        Add TransformActionEvent support
128874        https://bugs.webkit.org/show_bug.cgi?id=39757
128875
128876        Added only the necessary TransformAction event interfaces and not e.g.
128877        any eventhandler hooks that generate and dispatch them.
128878
128879        Test: fast/events/transformaction/create-transformaction-event.html
128880        More tests will be added with the machinery that generates and
128881        dispatches these events.
128882
128883        * Android.derived.jscbindings.mk:
128884        * Android.derived.v8bindings.mk:
128885        * Android.mk:
128886        * CMakeLists.txt:
128887        * DerivedSources.cpp:
128888        * DerivedSources.make:
128889        * GNUmakefile.am:
128890        * WebCore.gypi:
128891        * WebCore.pri:
128892        * WebCore.pro:
128893        * bindings/generic/RuntimeEnabledFeatures.cpp:
128894        * bindings/generic/RuntimeEnabledFeatures.h:
128895        (WebCore::RuntimeEnabledFeatures::transformactionEnabled):
128896        (WebCore::RuntimeEnabledFeatures::setTransformActionEnabled):
128897        (WebCore::RuntimeEnabledFeatures::ontransformactionstartEnabled):
128898        (WebCore::RuntimeEnabledFeatures::ontransformactionupdateEnabled):
128899        (WebCore::RuntimeEnabledFeatures::ontransformactionendEnabled):
128900        * bindings/js/JSEventCustom.cpp:
128901        (WebCore::toJS):
128902        * bindings/v8/custom/V8EventCustom.cpp:
128903        (WebCore::toV8):
128904        * dom/Document.cpp:
128905        (WebCore::Document::createEvent):
128906        (WebCore::Document::addListenerTypeIfNeeded):
128907        * dom/Document.h:
128908        (WebCore::Document::):
128909        * dom/Document.idl:
128910        * dom/Element.h:
128911        * dom/Element.idl:
128912        * dom/Event.cpp:
128913        (WebCore::Event::isTransformActionEvent):
128914        (WebCore::Event::fromUserGesture):
128915        * dom/Event.h:
128916        * dom/EventNames.h:
128917        * dom/TransformActionEvent.cpp: Added.
128918        (WebCore::TransformActionEvent::TransformActionEvent):
128919        (WebCore::TransformActionEvent::initTransformActionEvent):
128920        * dom/TransformActionEvent.h: Added.
128921        (WebCore::TransformActionEvent::create):
128922        (WebCore::TransformActionEvent::translateX):
128923        (WebCore::TransformActionEvent::translateY):
128924        (WebCore::TransformActionEvent::translateSpeedX):
128925        (WebCore::TransformActionEvent::translateSpeedY):
128926        (WebCore::TransformActionEvent::scale):
128927        (WebCore::TransformActionEvent::scaleSpeed):
128928        (WebCore::TransformActionEvent::rotate):
128929        (WebCore::TransformActionEvent::rotateSpeed):
128930        (WebCore::TransformActionEvent::TransformActionEvent):
128931        (WebCore::TransformActionEvent::isTransformActionEvent):
128932        * dom/TransformActionEvent.idl: Added.
128933        * html/HTMLAttributeNames.in:
128934        * html/HTMLElement.cpp:
128935        (WebCore::HTMLElement::parseMappedAttribute):
128936        * page/DOMWindow.h:
128937        * page/DOMWindow.idl:
128938
1289392010-06-03  Pavel Feldman  <pfeldman@chromium.org>
128940
128941        Reviewed by Yury Semikhatsky.
128942
128943        Web Inspector: a number of fixes that make InspectorController
128944        happy with null redirects.
128945
128946        https://bugs.webkit.org/show_bug.cgi?id=40109
128947
128948        * inspector/InspectorController.cpp:
128949        (WebCore::InspectorController::willSendRequest):
128950        (WebCore::InspectorController::didReceiveResponse):
128951        (WebCore::InspectorController::didReceiveContentLength):
128952        (WebCore::InspectorController::didFinishLoading):
128953        (WebCore::InspectorController::didFailLoading):
128954
1289552010-06-03  Pavel Feldman  <pfeldman@chromium.org>
128956
128957        Not reviewed. Rolling out aggressive cache part of the r60391
128958        described in the bug below. It was orthogonal to the rest of
128959        the patch and caused regression.
128960
128961        https://bugs.webkit.org/show_bug.cgi?id=37364
128962
128963        * platform/graphics/skia/ImageSkia.cpp:
128964        (WebCore::drawResampledBitmap):
128965
1289662010-06-02  Darin Fisher  <darin@chromium.org>
128967
128968        Reviewed by Brady Eidson.
128969
128970        location.href and outgoing referrer not updated properly by
128971        pushState/replaceState
128972        https://bugs.webkit.org/show_bug.cgi?id=40027
128973
128974        Tests: fast/loader/stateobjects/pushstate-updates-location.html
128975               fast/loader/stateobjects/replacestate-updates-location.html
128976               http/tests/navigation/pushstate-updates-referrer.html
128977               http/tests/navigation/replacestate-updates-referrer.html
128978
128979        * dom/Document.cpp:
128980        (WebCore::Document::updateURLForPushOrReplaceState):
128981        Update the FrameLoader's notion of the current URL as well!
128982
128983        * loader/FrameLoader.cpp:
128984        (WebCore::FrameLoader::loadInSameDocument):
128985        Use the 'url' parameter instead of m_URL since m_URL might have
128986        changed during the handling of the PopState event.  Eventually,
128987        this will become irrelevant since the PopState event should be
128988        dispatched asynchronously, but just in case we patch HashChange
128989        to be asynchronous before PopState, this change would be needed.
128990
1289912010-06-02  Eric Seidel  <eric@webkit.org>
128992
128993        Reviewed by Adam Barth.
128994
128995        REGRESSION(60409): document.write is not synchronous when using the HTML5 parser
128996        https://bugs.webkit.org/show_bug.cgi?id=40047
128997
128998        The HTML5 spec states that we should "spin the event loop" while
128999        waiting for stylesheets to load.  Currently we do that by yielding
129000        out of the parser when stylesheets are loading.  Because it was easy
129001        we made inline <scripts> yield for stylesheet loads as well.  However,
129002        this caused document.write() to return after encountering the first
129003        inline <script> tag in many cases which is incorrect.  document.write
129004        is supposed to block until the entire document is parsed (including)
129005        executing inline script tags.  To match the exiting parser, we'll just
129006        make inline <script> tags not block on stylesheets for now.
129007
129008        This is tested by WebCore/benchmarks/html-parser.html as well
129009        as likely several other tests in LayoutTests which we haven't
129010        triaged yet.
129011
129012        * html/HTML5ScriptRunner.cpp:
129013        (WebCore::HTML5ScriptRunner::executeScript):
129014         - ASSERT that either stylesheets have loaded or we're executing an
129015           inline <script> tag.
129016        (WebCore::HTML5ScriptRunner::runScript):
129017         - Remove the code to block inline <script> tags on stylesheet loads.
129018
1290192010-06-02  MORITA Hajime  <morrita@google.com>
129020
129021        Unreviewd, Chromium windows build fix.
129022
129023        * rendering/RenderThemeChromiumWin.cpp:
129024        (WebCore::RenderThemeChromiumWin::paintProgressBar):
129025
1290262010-06-02  MORITA Hajime  <morrita@google.com>
129027
129028        Reviewed by Kent Tamura.
129029        
129030        [Chromium] Linux: progress bar image pieces should be painted with same resampling mode
129031        https://bugs.webkit.org/show_bug.cgi?id=40045
129032
129033        computeResamplingMode(), used by Image::drawPattern() and
129034        BitmapImage::draw(), chooses an image resampling mode based on the
129035        size of given image and the destination rectangle. But when
129036        painting single component (i.e. a progress bar) from multiple
129037        images, it can choose different resampling modes for images of
129038        same component. That difference creates unexpected visual artifacts
129039        like seams between images of single component.
129040        
129041        This change introduced "image resampling hint" to allow callers to
129042        control the resampling mode. Using the hint,
129043        RenderThemeChromiumSkia now able to hold same resampling mode
129044        during draw a progress bar.
129045        
129046        No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
129047        enabled on chromium.
129048        
129049        * platform/graphics/skia/ImageSkia.cpp:
129050        (WebCore::computeResamplingMode):
129051        * platform/graphics/skia/PlatformContextSkia.cpp:
129052        (PlatformContextSkia::save):        
129053        (PlatformContextSkia::setImageResamplingHint): Added
129054        (PlatformContextSkia::clearImageResamplingHint): Added
129055        (PlatformContextSkia::hasImageResamplingHint): Added
129056        (PlatformContextSkia::imageResamplingHint): Added
129057        * platform/graphics/skia/PlatformContextSkia.h:
129058        * rendering/RenderThemeChromiumSkia.cpp:
129059        (WebCore::RenderThemeChromiumSkia::paintProgressBar):
129060
1290612010-06-03  MORITA Hajime  <morrita@google.com>
129062
129063        Reviewed by Kent Tamura.
129064
129065        [Chromium] Support HTML5 <progress> element on Linux.
129066        https://bugs.webkit.org/show_bug.cgi?id=37310
129067        
129068        Implemented RenderThemeChromiumSkia::paintProgressBar(), extracing
129069        determinateProgressValueRectFor() from RenderThemeChromiumWin to
129070        RenderThemeChromiumSkia
129071        
129072        No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
129073        enabled on chromium.
129074
129075        * rendering/RenderThemeChromiumSkia.cpp:
129076        (WebCore::RenderThemeChromiumSkia::determinateProgressValueRectFor):
129077        (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
129078        (WebCore::RenderThemeChromiumSkia::animationRepeatIntervalForProgressBar):
129079        (WebCore::RenderThemeChromiumSkia::animationDurationForProgressBar):
129080        (WebCore::RenderThemeChromiumSkia::paintProgressBar):
129081        (WebCore::RenderThemeChromiumSkia::progressValueRectFor):
129082        * rendering/RenderThemeChromiumSkia.h:
129083        * rendering/RenderThemeChromiumWin.cpp:
129084        (WebCore::RenderThemeChromiumWin::paintProgressBar):
129085
1290862010-06-02  Nico Weber  <thakis@chromium.org>
129087
129088        Reviewed by Simon Fraser.
129089
129090        Scroll events are sent twice per keypress for ports that don't have a platformWidget scrollbar
129091        https://bugs.webkit.org/show_bug.cgi?id=39918
129092
129093        This was regressed by http://trac.webkit.org/changeset/58615 . Fix this by slightly tweaking
129094        that patch.
129095
129096        Test: editing/input/page-up-down-scrolls.html
129097
129098        * page/FrameView.cpp:
129099        (WebCore::FrameView::scrollPositionChanged):
129100        * page/FrameView.h:
129101        * platform/ScrollView.cpp:
129102        (WebCore::ScrollView::valueChanged):
129103        * platform/ScrollView.h:
129104        (WebCore::ScrollView::repaintFixedElementsAfterScrolling):
129105
1291062010-06-02  Andrey Kosyakov  <caseq@chromium.org>
129107
129108        Reviewed by Pavel Feldman.
129109
129110        Web Inspector: use platform-specific key designations in shortcuts help for mac
129111        https://bugs.webkit.org/show_bug.cgi?id=39158
129112
129113        * inspector/front-end/KeyboardShortcut.js:
129114        (WebInspector.KeyboardShortcut.shortcutToString):
129115        (WebInspector.KeyboardShortcut._keyName):
129116        (WebInspector.KeyboardShortcut._modifiersToString):
129117        * inspector/front-end/inspector.js:
129118        (WebInspector._registerShortcuts):
129119
1291202010-06-02  Kenneth Russell  <kbr@google.com>
129121
129122        Reviewed by Darin Fisher.
129123
129124        Enable WebGL on more platforms even if accelerated compositing is disabled
129125        https://bugs.webkit.org/show_bug.cgi?id=40085
129126
129127        Conditionalize the code which prevents a WebGL rendering context
129128        from being created if accelerated compositing is disabled.
129129        Currently Chromium is the only port which will create a context if
129130        accelerated compositing is disabled; other ports may opt in to
129131        this code path if desired.
129132
129133        Tested with existing WebGL layout tests in Safari and Chromium on
129134        Mac OS X.
129135
129136        * html/HTMLCanvasElement.cpp:
129137        (WebCore::HTMLCanvasElement::getContext):
129138
1291392010-06-02  Sheriff Bot  <webkit.review.bot@gmail.com>
129140
129141        Unreviewed, rolling out r60580.
129142        http://trac.webkit.org/changeset/60580
129143        https://bugs.webkit.org/show_bug.cgi?id=40087
129144
129145        This broke dragging links if the selection was in a
129146        contentEditable element. (Requested by arv on #webkit).
129147
129148        * page/FocusController.cpp:
129149        (WebCore::clearSelectionIfNeeded):
129150
1291512010-06-02  Erik Arvidsson  <arv@chromium.org>
129152
129153        Reviewed by Ojan Vafai.
129154
129155        REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
129156        https://bugs.webkit.org/show_bug.cgi?id=38548
129157
129158        Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html
129159
129160        * page/FocusController.cpp:
129161        (WebCore::clearSelectionIfNeeded):
129162
1291632010-06-02  David Hyatt  <hyatt@apple.com>
129164
129165        Reviewed by Anders Carlsson.
129166
129167        Just disable the current version of multi-column layout completely when the new
129168        pagination model is in effect.
129169
129170        * rendering/RenderBlock.cpp:
129171        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
129172
1291732010-06-02  David Hyatt  <hyatt@apple.com>
129174
129175        Reviewed by Anders Carlsson.
129176
129177        Turn off unforced page breaking at paint time when the new page breaking model is being used.
129178
129179        * rendering/RenderLineBoxList.cpp:
129180        (WebCore::RenderLineBoxList::paint):
129181
1291822010-06-02  David Hyatt  <hyatt@apple.com>
129183
129184        Reviewed by Anders Carlsson.
129185
129186        Don't check page break properties at paint time if we're using the new page breaking model.
129187
129188        * rendering/RenderBlock.cpp:
129189        (WebCore::RenderBlock::paintChildren):
129190
1291912010-06-02  Nate Chapin  <japhet@chromium.org>
129192
129193        Reviewed by Dimitri Glazkov.
129194
129195        [V8] Fix an infinite recursion crash when trying to wrap
129196        media elements without a media player.
129197
129198        No test because there isn't a good way to ensure the media player
129199        is off.
129200
129201        * dom/make_names.pl: Call, e.g., V8HTMLElement::wrap(HTMLElement*)
129202          instead of toV8(HTMLElement*).
129203
1292042010-06-02  Yael Aharon  <yael.aharon@nokia.com>
129205
129206        Reviewed by Darin Adler.
129207
129208        Notification object ref counting is not correct.
129209        https://bugs.webkit.org/show_bug.cgi?id=39998
129210
129211        Return PassRefPtr<Notification> instead of a raw pointer from the create methods
129212        for Web Notifications. 
129213
129214        No new tests are needed, as existing tests show the problem when sending the 
129215        "display" event asynchronously.
129216
129217        * notifications/Notification.h:
129218        (WebCore::Notification::create):
129219        * notifications/NotificationCenter.h:
129220        (WebCore::NotificationCenter::createHTMLNotification):
129221        (WebCore::NotificationCenter::createNotification):
129222
1292232010-06-02  Mikhail Naganov  <mnaganov@chromium.org>
129224
129225        Reviewed by Yury Semikhatsky.
129226
129227        Web Inspector: add Console API for retrieving memory stats
129228
129229        Add 'console.memory' property which returns an object. Currently
129230        it has two fields: totalJSHeapSize and usedJSHeapSize. Later, it can be
129231        extended for reporting total browser's memory consumption.
129232
129233        https://bugs.webkit.org/show_bug.cgi?id=39646
129234
129235        * CMakeLists.txt:
129236        * DerivedSources.cpp:
129237        * DerivedSources.make:
129238        * GNUmakefile.am:
129239        * WebCore.gypi:
129240        * WebCore.pri:
129241        * WebCore.pro:
129242        * WebCore.vcproj/WebCore.vcproj:
129243        * WebCore.xcodeproj/project.pbxproj:
129244        * bindings/js/JSBindingsAllInOne.cpp:
129245        * bindings/js/JSConsoleCustom.cpp:
129246        (WebCore::JSConsole::memory):
129247        * bindings/v8/custom/V8ConsoleCustom.cpp:
129248        (WebCore::V8Console::memoryAccessorGetter):
129249        * page/Console.h:
129250        * page/Console.idl:
129251        * page/MemoryInfo.cpp: Added.
129252        (WebCore::MemoryInfo::MemoryInfo):
129253        * page/MemoryInfo.h: Added.
129254        (WebCore::MemoryInfo::create):
129255        (WebCore::MemoryInfo::totalJSHeapSize):
129256        (WebCore::MemoryInfo::usedJSHeapSize):
129257        * page/MemoryInfo.idl: Added.
129258
1292592010-06-02  Yury Semikhatsky  <yurys@chromium.org>
129260
129261        Reviewed by Pavel Feldman.
129262
129263        Web Inspector: support "Continue to Here" in debugger
129264        https://bugs.webkit.org/show_bug.cgi?id=39953
129265
129266        * English.lproj/localizedStrings.js:
129267        * inspector/front-end/BreakpointManager.js:
129268        (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
129269        (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
129270        (WebInspector.BreakpointManager.prototype.addBreakpoint):
129271        * inspector/front-end/ScriptView.js:
129272        (WebInspector.ScriptView):
129273        (WebInspector.ScriptView.prototype._continueToLine):
129274        * inspector/front-end/ScriptsPanel.js:
129275        (WebInspector.ScriptsPanel.prototype.continueToLine):
129276        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
129277        * inspector/front-end/SourceFrame.js:
129278        (WebInspector.SourceFrame):
129279        * inspector/front-end/SourceView.js:
129280        (WebInspector.SourceView):
129281        (WebInspector.SourceView.prototype._continueToLine):
129282        (WebInspector.SourceView.prototype.updateLocalContent):
129283
1292842010-06-02  Mikhail Naganov  <mnaganov@chromium.org>
129285
129286        Unreviewed, rolling out r60563.
129287        http://trac.webkit.org/changeset/60563
129288        https://bugs.webkit.org/show_bug.cgi?id=39646
129289
129290        windows build failed
129291
129292        * CMakeLists.txt:
129293        * DerivedSources.cpp:
129294        * DerivedSources.make:
129295        * GNUmakefile.am:
129296        * WebCore.gypi:
129297        * WebCore.pri:
129298        * WebCore.pro:
129299        * WebCore.vcproj/WebCore.vcproj:
129300        * WebCore.xcodeproj/project.pbxproj:
129301        * bindings/js/JSConsoleCustom.cpp:
129302        * bindings/v8/custom/V8ConsoleCustom.cpp:
129303        * page/Console.h:
129304        * page/Console.idl:
129305        * page/MemoryInfo.cpp: Removed.
129306        * page/MemoryInfo.h: Removed.
129307        * page/MemoryInfo.idl: Removed.
129308
1293092010-06-02  Mikhail Naganov  <mnaganov@chromium.org>
129310
129311        Reviewed by Yury Semikhatsky.
129312
129313        Web Inspector: add Console API for retrieving memory stats
129314
129315        Add 'console.memory' property which returns an object. Currently
129316        it has two fields: totalJSHeapSize and usedJSHeapSize. Later, it can be
129317        extended for reporting total browser's memory consumption.
129318
129319        https://bugs.webkit.org/show_bug.cgi?id=39646
129320
129321        * CMakeLists.txt:
129322        * DerivedSources.cpp:
129323        * DerivedSources.make:
129324        * GNUmakefile.am:
129325        * WebCore.gypi:
129326        * WebCore.pri:
129327        * WebCore.pro:
129328        * WebCore.vcproj/WebCore.vcproj:
129329        * WebCore.xcodeproj/project.pbxproj:
129330        * bindings/js/JSConsoleCustom.cpp:
129331        (WebCore::JSConsole::memory):
129332        * bindings/v8/custom/V8ConsoleCustom.cpp:
129333        (WebCore::V8Console::memoryAccessorGetter):
129334        * page/Console.h:
129335        * page/Console.idl:
129336        * page/MemoryInfo.cpp: Added.
129337        (WebCore::MemoryInfo::MemoryInfo):
129338        * page/MemoryInfo.h: Added.
129339        (WebCore::MemoryInfo::create):
129340        (WebCore::MemoryInfo::totalJSHeapSize):
129341        (WebCore::MemoryInfo::usedJSHeapSize):
129342        * page/MemoryInfo.idl: Added.
129343
1293442010-06-02  Pavel Feldman  <pfeldman@chromium.org>
129345
129346        Reviewed by Yury Semikhatsky.
129347
129348        Web Inspector: add test for resource parameters.
129349
129350        https://bugs.webkit.org/show_bug.cgi?id=40026
129351        
129352        Test: http/tests/inspector/resource-parameters.html
129353
129354        * inspector/front-end/HAREntry.js:
129355        (WebInspector.HAREntry.prototype._buildParameters):
129356        * inspector/front-end/Resource.js:
129357        (WebInspector.Resource.prototype._parseParameters):
129358        * inspector/front-end/ResourceView.js:
129359        (WebInspector.ResourceView.prototype._refreshParms):
129360
1293612010-06-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
129362
129363        Reviewed by Simon Hausmann.
129364
129365        [Qt] Fix make install on Symbian for headers in package builds when INSTALL_HEADERS is not defined
129366
129367        First we wrote inst_headers.output with $$[QT_INSTALL_HEADERS] and then
129368        overwrote it with the $$INSTALL_HEADERS variant without checking if the
129369        variable was set.
129370
129371        Fixed and cleaned up the logic of falling back to $$[QT_INSTALL_HEADERS].
129372
129373        * WebCore.pro:
129374
1293752010-06-02  Xan Lopez  <xlopez@igalia.com>
129376
129377        Reviewed by Gustavo Noronha.
129378
129379        [GTK] Style fixes for the generated code in DOM bindings
129380        https://bugs.webkit.org/show_bug.cgi?id=39949
129381
129382        Get rid of extra spaces and wrong indentation in the generated
129383        code.
129384
129385        * bindings/scripts/CodeGeneratorGObject.pm:
129386        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
129387        (webkit_dom_test_callback_callback_with_class1param):
129388        (webkit_dom_test_callback_callback_with_class2param):
129389        (webkit_dom_test_callback_callback_with_non_bool_return_type):
129390        (webkit_dom_test_callback_set_property):
129391        (webkit_dom_test_callback_get_property):
129392        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
129393        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
129394        (webkit_dom_test_interface_set_property):
129395        (webkit_dom_test_interface_get_property):
129396        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
129397        (webkit_dom_test_obj_void_method):
129398        (webkit_dom_test_obj_void_method_with_args):
129399        (webkit_dom_test_obj_int_method):
129400        (webkit_dom_test_obj_int_method_with_args):
129401        (webkit_dom_test_obj_obj_method):
129402        (webkit_dom_test_obj_obj_method_with_args):
129403        (webkit_dom_test_obj_method_that_requires_all_args):
129404        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
129405        (webkit_dom_test_obj_serialized_value):
129406        (webkit_dom_test_obj_method_with_exception):
129407        (webkit_dom_test_obj_with_dynamic_frame):
129408        (webkit_dom_test_obj_with_dynamic_frame_and_arg):
129409        (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
129410        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
129411        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
129412        (webkit_dom_test_obj_with_script_state_void):
129413        (webkit_dom_test_obj_with_script_state_obj):
129414        (webkit_dom_test_obj_with_script_state_void_exception):
129415        (webkit_dom_test_obj_with_script_state_obj_exception):
129416        (webkit_dom_test_obj_method_with_optional_arg):
129417        (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
129418        (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
129419        (webkit_dom_test_obj_get_read_only_int_attr):
129420        (webkit_dom_test_obj_get_read_only_string_attr):
129421        (webkit_dom_test_obj_get_read_only_test_obj_attr):
129422        (webkit_dom_test_obj_get_int_attr):
129423        (webkit_dom_test_obj_set_int_attr):
129424        (webkit_dom_test_obj_get_long_long_attr):
129425        (webkit_dom_test_obj_set_long_long_attr):
129426        (webkit_dom_test_obj_get_unsigned_long_long_attr):
129427        (webkit_dom_test_obj_set_unsigned_long_long_attr):
129428        (webkit_dom_test_obj_get_string_attr):
129429        (webkit_dom_test_obj_set_string_attr):
129430        (webkit_dom_test_obj_get_test_obj_attr):
129431        (webkit_dom_test_obj_set_test_obj_attr):
129432        (webkit_dom_test_obj_get_attr_with_exception):
129433        (webkit_dom_test_obj_set_attr_with_exception):
129434        (webkit_dom_test_obj_get_attr_with_setter_exception):
129435        (webkit_dom_test_obj_set_attr_with_setter_exception):
129436        (webkit_dom_test_obj_get_attr_with_getter_exception):
129437        (webkit_dom_test_obj_set_attr_with_getter_exception):
129438        (webkit_dom_test_obj_get_script_string_attr):
129439        (webkit_dom_test_obj_set_property):
129440        (webkit_dom_test_obj_get_property):
129441        (webkit_dom_test_obj_class_init):
129442        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
129443
1294442010-06-02  Andrey Kosyakov  <caseq@chromium.org>
129445
129446        Reviewed by Pavel Feldman.
129447
129448        WebInspector: Added conversion of inspector's resource representation into HAR.
129449        Moved common resource accessors from ResourceView to Resource.
129450        https://bugs.webkit.org/show_bug.cgi?id=30567
129451
129452        Test: http/tests/inspector/resource-har-conversion.html
129453
129454        * WebCore.gypi:
129455        * WebCore.vcproj/WebCore.vcproj:
129456        * inspector/front-end/HAREntry.js: Added.
129457        (WebInspector.HAREntry):
129458        (WebInspector.HAREntry.prototype.build):
129459        (WebInspector.HAREntry.prototype._buildRequest):
129460        (WebInspector.HAREntry.prototype._buildResponse):
129461        (WebInspector.HAREntry.prototype._buildContent):
129462        (WebInspector.HAREntry.prototype._buildTimings):
129463        (WebInspector.HAREntry.prototype._buildHeaders):
129464        (WebInspector.HAREntry.prototype._buildPostData):
129465        (WebInspector.HAREntry.prototype._buildParameters):
129466        (WebInspector.HAREntry.prototype._buildParameter):
129467        (WebInspector.HAREntry.prototype._toMilliseconds):
129468        * inspector/front-end/Resource.js:
129469        (WebInspector.Resource):
129470        (WebInspector.Resource.prototype.set url):
129471        (WebInspector.Resource.prototype.get receiveDuration):
129472        (WebInspector.Resource.prototype.requestHeaderValue):
129473        (WebInspector.Resource.prototype.get requestFormData):
129474        (WebInspector.Resource.prototype.set requestFormData):
129475        (WebInspector.Resource.prototype.responseHeaderValue):
129476        (WebInspector.Resource.prototype.get queryParameters):
129477        (WebInspector.Resource.prototype.get formParameters):
129478        (WebInspector.Resource.prototype._parseParameters):
129479        (WebInspector.Resource.prototype._headerValue):
129480        * inspector/front-end/ResourceView.js:
129481        (WebInspector.ResourceView.prototype._refreshQueryString):
129482        (WebInspector.ResourceView.prototype._refreshFormData):
129483        (WebInspector.ResourceView.prototype._refreshParms):
129484        * inspector/front-end/WebKit.qrc:
129485        * inspector/front-end/inspector.html:
129486
1294872010-06-02  Sheriff Bot  <webkit.review.bot@gmail.com>
129488
129489        Unreviewed, rolling out r60547.
129490        http://trac.webkit.org/changeset/60547
129491        https://bugs.webkit.org/show_bug.cgi?id=40051
129492
129493        It made fast/overflow/overflow-with-local-background-
129494        attachment.html crash (Requested by Ossy on #webkit).
129495
129496        * notifications/Notification.h:
129497        (WebCore::Notification::create):
129498        * notifications/NotificationCenter.h:
129499        (WebCore::NotificationCenter::createHTMLNotification):
129500        (WebCore::NotificationCenter::createNotification):
129501
1295022010-06-02  Eric Seidel  <eric@webkit.org>
129503
129504        Reviewed by Adam Barth.
129505
129506        HTML5 parser does not track line numbers
129507        https://bugs.webkit.org/show_bug.cgi?id=39984
129508
129509        This adds rudimentary line-number tracking to the HTML5Lexer.
129510        We'll still need to handle \r\n cases eventually, but this
129511        fixes the vast majority of our line-number related failures.
129512
129513        Fixes 268 layout tests. :)
129514
129515        * html/HTML5Lexer.cpp:
129516        (WebCore::HTML5Lexer::reset):
129517         - Reset m_lineNumber to 0.
129518        (WebCore::HTML5Lexer::consumeEntity):
129519         - Pass m_lineNumber to advance().
129520        (WebCore::HTML5Lexer::nextToken):
129521         - Pass m_lineNumber to advance().
129522        * html/HTML5Lexer.h:
129523        (WebCore::HTML5Lexer::lineNumber):
129524         - Expose m_lineNumber for HTML5Tokenizer.
129525        (WebCore::HTML5Lexer::columnNumber):
129526         - Mirrors the implementation in the old HTMLTokenizer.
129527           we might some day support column number tracking in
129528           the Lexer.  It certainly would be possible.
129529        * html/HTML5ScriptRunner.cpp:
129530        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
129531         - ASSERT we're passed a host.
129532        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
129533         - Use PendingScript.startingLineNumber when PendingScript is an inline script.
129534        (WebCore::HTML5ScriptRunner::execute):
129535         - Now expects a start line number passed from the TreeBuilder.
129536        (WebCore::HTML5ScriptRunner::runScript):
129537         - Now expects a start line number.
129538        * html/HTML5ScriptRunner.h:
129539        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
129540         - Track startingLineNumber for any inline script.
129541        * html/HTML5Tokenizer.cpp:
129542        (WebCore::HTML5Tokenizer::begin):
129543         - Add a FIXME.  The old HTMLTokenizer resets its "lexer" state here.
129544        (WebCore::HTML5Tokenizer::pumpLexer):
129545         - Pass scriptStartLine to the HTML5ScriptRunner
129546        (WebCore::HTML5Tokenizer::lineNumber):
129547         - Implementation for Tokenizer.h
129548        (WebCore::HTML5Tokenizer::columnNumber):
129549         - Implementation for Tokenizer.h
129550        * html/HTML5Tokenizer.h:
129551        * html/HTML5TreeBuilder.cpp:
129552        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
129553         - Initialize the new line number tracking variables.
129554        (WebCore::HTML5TreeBuilder::handleScriptEndTag):
129555         - Save off the line number from the start tag to pass to the ScriptRunner.
129556        (WebCore::HTML5TreeBuilder::takeScriptToProcess):
129557         - Return the line number from the start tag.
129558        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
129559         - Save off the line number of ever script start tag we see.
129560        * html/HTML5TreeBuilder.h:
129561         - Keep both the line number of the last start tag, and the
129562           line number of the script we know we're expecting our caller to
129563           run before resuming parsing.  These are separate to keep the code
129564           clean, especially since the last script start tag line number is
129565           a hack specific to using the old HTMLParser.
129566
1295672010-06-02  Joseph Pecoraro  <joepeck@webkit.org>
129568
129569        Reviewed by Pavel Feldman.
129570
129571        Web Inspector: Timeline should nicely format the Timer timeout
129572        https://bugs.webkit.org/show_bug.cgi?id=40040
129573
129574        * inspector/front-end/TimelinePanel.js:
129575        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): Format the Timer's timeout time.
129576
1295772010-06-02  Vangelis Kokkevis  <vangelis@chromium.org>
129578
129579        Reviewed by Dimitri Glazkov.
129580
129581        [Chromium] Clamp dirtyRect updates of composited layer contents to the size
129582        of the layer to avoid writing outside texture bounds.
129583        https://bugs.webkit.org/show_bug.cgi?id=40030
129584
129585        * platform/graphics/chromium/LayerChromium.cpp:
129586        (WebCore::LayerChromium::updateTextureContents):
129587
1295882010-06-02  Yael Aharon  <yael.aharon@nokia.com>
129589
129590        Reviewed by Darin Adler.
129591
129592        Notification object ref counting is not correct.
129593        https://bugs.webkit.org/show_bug.cgi?id=39998
129594
129595        Return PassRefPtr<Notification> instead of a raw pointer from the create methods
129596        for Web Notifications. 
129597
129598        No new tests are needed, as existing tests show the problem when sending the 
129599        "display" event asynchronously.
129600
129601        * notifications/Notification.h:
129602        (WebCore::Notification::create):
129603        * notifications/NotificationCenter.h:
129604        (WebCore::NotificationCenter::createHTMLNotification):
129605        (WebCore::NotificationCenter::createNotification):
129606
1296072010-06-02  Qi Zhang  <qi.2.zhang@nokia.com>
129608
129609        Reviewed by Dirk Schulze.
129610
129611        [Qt] Image shadow doesn't work
129612        https://bugs.webkit.org/show_bug.cgi?id=37804
129613
129614        Implement the code for image shadow
129615
129616        * platform/graphics/qt/ImageQt.cpp:
129617        (WebCore::BitmapImage::draw):
129618
1296192010-06-02  Vangelis Kokkevis  <vangelis@chromium.org>
129620
129621        Reviewed by Darin Fisher.
129622
129623        Adding the precision qualifier to fragment shaders used by the GL
129624        compositor in chromium to turn them into valid GLSL ES.
129625        https://bugs.webkit.org/show_bug.cgi?id=40022
129626
129627        * platform/graphics/chromium/LayerRendererChromium.cpp:
129628        (WebCore::LayerRendererChromium::initializeSharedGLObjects):
129629
1296302010-06-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
129631
129632        Reviewed by David Levin.
129633
129634        Fix type qualifier is meaningless on cast type in SVGFEColorMatrixElement::build
129635        https://bugs.webkit.org/show_bug.cgi?id=40015
129636
129637        No new tests as there is no new functionality.
129638
129639        Remove const from the cast type.
129640
129641        * svg/SVGFEColorMatrixElement.cpp:
129642        (WebCore::SVGFEColorMatrixElement::build):
129643
1296442010-06-02  Sterling Swigart  <sswigart@google.com>
129645
129646        Reviewed by David Levin.
129647
129648        Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
129649        https://bugs.webkit.org/show_bug.cgi?id=39906
129650
129651        * Configurations/FeatureDefines.xcconfig:
129652        * GNUmakefile.am:
129653        * WebCore.pri:
129654
1296552010-06-01  Dirk Schulze  <krit@webkit.org>
129656
129657        Reviewed by Nikolas Zimmermann.
129658
129659        SVG repaintRect should be empty if content got clipped away
129660        https://bugs.webkit.org/show_bug.cgi?id=39965
129661        
129662        The SVG repaintRect of the renderer was not empty, if the content got clipped away.
129663        The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
129664        relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
129665        We apply the object to the resource on painting at the moment.
129666        With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
129667        This can cause problems, if the resource get changed by animations or scripts.
129668        On a change, the resource tells all it's callers to relayout.
129669        If the reference to the caller (our RenderObject) is missing, the object won't ever update
129670        and therefore won't get drawn.
129671        We already have LayoutTests that cover this problem. The complete repaintRect calculation
129672        (including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
129673        This eliminates redundant code.
129674
129675        * rendering/RenderPath.cpp:
129676        (WebCore::RenderPath::updateCachedBoundaries):
129677        * rendering/RenderSVGContainer.cpp:
129678        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
129679        * rendering/RenderSVGImage.cpp:
129680        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
129681        * rendering/RenderSVGResource.h:
129682        * rendering/RenderSVGResourceClipper.cpp:
129683        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
129684        * rendering/RenderSVGResourceClipper.h:
129685        * rendering/RenderSVGResourceFilter.cpp:
129686        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
129687        * rendering/RenderSVGResourceFilter.h:
129688        * rendering/RenderSVGResourceGradient.h:
129689        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
129690        * rendering/RenderSVGResourceMarker.h:
129691        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
129692        * rendering/RenderSVGResourceMasker.cpp:
129693        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
129694        * rendering/RenderSVGResourceMasker.h:
129695        * rendering/RenderSVGResourcePattern.h:
129696        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
129697        * rendering/RenderSVGResourceSolidColor.h:
129698        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
129699        * rendering/RenderSVGText.cpp:
129700        (WebCore::RenderSVGText::strokeBoundingBox):
129701        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
129702        * rendering/SVGRenderSupport.cpp:
129703        (WebCore::SVGRenderBase::intersectRepaintRectWithResources):
129704        * rendering/SVGRenderSupport.h:
129705        * rendering/SVGRenderTreeAsText.cpp:
129706        (WebCore::writeResources):
129707        * rendering/style/SVGRenderStyle.h:
129708        (WebCore::SVGRenderStyle::hasClipper):
129709        (WebCore::SVGRenderStyle::hasMasker):
129710        (WebCore::SVGRenderStyle::hasFilter):
129711
1297122010-06-01  Sheriff Bot  <webkit.review.bot@gmail.com>
129713
129714        Unreviewed, rolling out r60539.
129715        http://trac.webkit.org/changeset/60539
129716        https://bugs.webkit.org/show_bug.cgi?id=40043
129717
129718        Accidentally added an unreviewed and invalid change to the
129719        patch. (Requested by krit on #webkit).
129720
129721        * rendering/RenderPath.cpp:
129722        (WebCore::RenderPath::updateCachedBoundaries):
129723        * rendering/RenderSVGContainer.cpp:
129724        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
129725        * rendering/RenderSVGImage.cpp:
129726        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
129727        * rendering/RenderSVGResource.h:
129728        * rendering/RenderSVGResourceClipper.cpp:
129729        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
129730        * rendering/RenderSVGResourceClipper.h:
129731        * rendering/RenderSVGResourceFilter.cpp:
129732        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
129733        * rendering/RenderSVGResourceFilter.h:
129734        * rendering/RenderSVGResourceGradient.h:
129735        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
129736        * rendering/RenderSVGResourceMarker.h:
129737        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
129738        * rendering/RenderSVGResourceMasker.cpp:
129739        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
129740        * rendering/RenderSVGResourceMasker.h:
129741        * rendering/RenderSVGResourcePattern.h:
129742        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
129743        * rendering/RenderSVGResourceSolidColor.h:
129744        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
129745        * rendering/RenderSVGText.cpp:
129746        (WebCore::RenderSVGText::strokeBoundingBox):
129747        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
129748        * rendering/SVGRenderSupport.cpp:
129749        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
129750        (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
129751        (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
129752        * rendering/SVGRenderSupport.h:
129753        * rendering/SVGRenderTreeAsText.cpp:
129754        (WebCore::writeResources):
129755        * rendering/style/SVGRenderStyle.h:
129756        * svg/SVGColor.cpp:
129757        (WebCore::SVGColor::colorFromRGBColorString):
129758
1297592010-06-01  Dirk Schulze  <krit@webkit.org>
129760
129761        Reviewed by Nikolas Zimmermann.
129762
129763        SVG repaintRect should be empty if content got clipped away
129764        https://bugs.webkit.org/show_bug.cgi?id=39965
129765        
129766        The SVG repaintRect of the renderer was not empty, if the content got clipped away.
129767        The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
129768        relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
129769        We apply the object to the resource on painting at the moment.
129770        With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
129771        This can cause problems, if the resource get changed by animations or scripts.
129772        On a change, the resource tells all it's callers to relayout.
129773        If the reference to the caller (our RenderObject) is missing, the object won't ever update
129774        and therefore won't get drawn.
129775        We already have LayoutTests that cover this problem. The complete repaintRect calculation
129776        (including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
129777        This eliminates redundant code.
129778
129779        * rendering/RenderPath.cpp:
129780        (WebCore::RenderPath::updateCachedBoundaries):
129781        * rendering/RenderSVGContainer.cpp:
129782        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
129783        * rendering/RenderSVGImage.cpp:
129784        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
129785        * rendering/RenderSVGResource.h:
129786        * rendering/RenderSVGResourceClipper.cpp:
129787        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
129788        * rendering/RenderSVGResourceClipper.h:
129789        * rendering/RenderSVGResourceFilter.cpp:
129790        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
129791        * rendering/RenderSVGResourceFilter.h:
129792        * rendering/RenderSVGResourceGradient.h:
129793        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
129794        * rendering/RenderSVGResourceMarker.h:
129795        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
129796        * rendering/RenderSVGResourceMasker.cpp:
129797        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
129798        * rendering/RenderSVGResourceMasker.h:
129799        * rendering/RenderSVGResourcePattern.h:
129800        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
129801        * rendering/RenderSVGResourceSolidColor.h:
129802        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
129803        * rendering/RenderSVGText.cpp:
129804        (WebCore::RenderSVGText::strokeBoundingBox):
129805        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
129806        * rendering/SVGRenderSupport.cpp:
129807        (WebCore::SVGRenderBase::intersectRepaintRectWithResources):
129808        * rendering/SVGRenderSupport.h:
129809        * rendering/SVGRenderTreeAsText.cpp:
129810        (WebCore::writeResources):
129811        * rendering/style/SVGRenderStyle.h:
129812        (WebCore::SVGRenderStyle::hasClipper):
129813        (WebCore::SVGRenderStyle::hasMasker):
129814        (WebCore::SVGRenderStyle::hasFilter):
129815
1298162010-06-01  Sheriff Bot  <webkit.review.bot@gmail.com>
129817
129818        Unreviewed, rolling out r60530.
129819        http://trac.webkit.org/changeset/60530
129820        https://bugs.webkit.org/show_bug.cgi?id=40041
129821
129822        resource-har-conversion failed on GTK (Requested by abarth on
129823        #webkit).
129824
129825        * WebCore.gypi:
129826        * WebCore.vcproj/WebCore.vcproj:
129827        * inspector/front-end/HAREntry.js: Removed.
129828        * inspector/front-end/Resource.js:
129829        (WebInspector.Resource):
129830        (WebInspector.Resource.prototype.set url):
129831        * inspector/front-end/ResourceView.js:
129832        (WebInspector.ResourceView.prototype._refreshQueryString):
129833        (WebInspector.ResourceView.prototype._refreshFormData):
129834        (WebInspector.ResourceView.prototype._refreshParms):
129835        * inspector/front-end/WebKit.qrc:
129836        * inspector/front-end/inspector.html:
129837
1298382010-06-01  No'am Rosenthal  <noam.rosenthal@nokia.com>
129839
129840        Reviewed by Kenneth Rohde Christiansen.
129841
129842        [Qt] GraphicsLayer: warnings when reloading page
129843        https://bugs.webkit.org/show_bug.cgi?id=39694
129844
129845        Made sure recaching and masks aren't attempted on zero-size layers.
129846
129847        No new tests. Old tests (e.g. LayoutTests/compositing/masks) show the problem.
129848
129849        * platform/graphics/qt/GraphicsLayerQt.cpp:
129850        (WebCore::MaskEffectQt::draw):
129851        (WebCore::GraphicsLayerQtImpl::recache):
129852
1298532010-06-01  anton muhin  <antonm@google.com>
129854
129855        Reviewed by Nate Chapin.
129856
129857        [Chromium] enforce presence of named property query callback if named property enumerator is present
129858        https://bugs.webkit.org/show_bug.cgi?id=40006
129859        We need to be able to distinguish between enumerable and not enumerable properties
129860        in the presence of named interceptor.  V8 is migrating to use query
129861        callback to report enumerable properties and fallback check---
129862        using getter callback---would report properties as not enumerable.
129863        Thus if there is an enumerator callback, there should be query callback as well.
129864        (see V8's r4751).
129865
129866        * bindings/scripts/CodeGeneratorV8.pm:
129867        * bindings/v8/V8NPObject.cpp:
129868        (WebCore::npObjectQueryProperty):
129869        (WebCore::createV8ObjectForNPObject):
129870        * bindings/v8/custom/V8StorageCustom.cpp:
129871        (WebCore::V8Storage::namedPropertyQuery):
129872
1298732010-06-01  Andrey Kosyakov  <caseq@chromium.org>
129874
129875        Reviewed by Pavel Feldman.
129876
129877        WebInspector: Added conversion of inspector's resource representation into HAR.
129878        Moved common resource accessors from ResourceView to Resource.
129879        https://bugs.webkit.org/show_bug.cgi?id=30567
129880
129881        Test: http/tests/inspector/resource-har-conversion.html
129882
129883        * WebCore.gypi:
129884        * WebCore.vcproj/WebCore.vcproj:
129885        * inspector/front-end/HAREntry.js: Added.
129886        (WebInspector.HAREntry):
129887        (WebInspector.HAREntry.prototype.build):
129888        (WebInspector.HAREntry.prototype._buildRequest):
129889        (WebInspector.HAREntry.prototype._buildResponse):
129890        (WebInspector.HAREntry.prototype._buildContent):
129891        (WebInspector.HAREntry.prototype._buildTimings):
129892        (WebInspector.HAREntry.prototype._buildHeaders):
129893        (WebInspector.HAREntry.prototype._buildPostData):
129894        (WebInspector.HAREntry.prototype._buildParameters):
129895        (WebInspector.HAREntry.prototype._buildParameter):
129896        (WebInspector.HAREntry.prototype._toMilliseconds):
129897        * inspector/front-end/Resource.js:
129898        (WebInspector.Resource):
129899        (WebInspector.Resource.prototype.set url):
129900        (WebInspector.Resource.prototype.get receiveDuration):
129901        (WebInspector.Resource.prototype.requestHeaderValue):
129902        (WebInspector.Resource.prototype.get requestFormData):
129903        (WebInspector.Resource.prototype.set requestFormData):
129904        (WebInspector.Resource.prototype.responseHeaderValue):
129905        (WebInspector.Resource.prototype.get queryParameters):
129906        (WebInspector.Resource.prototype.get formParameters):
129907        (WebInspector.Resource.prototype._parseParameters):
129908        (WebInspector.Resource.prototype._headerValue):
129909        * inspector/front-end/ResourceView.js:
129910        (WebInspector.ResourceView.prototype._refreshQueryString):
129911        (WebInspector.ResourceView.prototype._refreshFormData):
129912        (WebInspector.ResourceView.prototype._refreshParms):
129913        * inspector/front-end/WebKit.qrc:
129914        * inspector/front-end/inspector.html:
129915
1299162010-06-01  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
129917
129918        Reviewed by Kenneth Rohde Christiansen.
129919
129920        Fix "variable may be used before being set" warning in TextResourceDecoder::checkForHeadCharset
129921        https://bugs.webkit.org/show_bug.cgi?id=40001
129922
129923        No new tests as there is no new functionality.
129924
129925        Initialize len to 0 just to eliminate the compiler warning.
129926
129927        * loader/TextResourceDecoder.cpp:
129928        (WebCore::TextResourceDecoder::checkForHeadCharset):
129929
1299302010-06-01  Ilya Tikhonovsky  <loislo@chromium.org>
129931
129932        Reviewed by Pavel Feldman.
129933
129934        WebInspector: Safari specific files InspectorFrontendClientLocal were removed from chromium project.
129935        https://bugs.webkit.org/show_bug.cgi?id=39993
129936
129937        * WebCore.gypi:
129938
1299392010-06-01  Andreas Kling  <andreas.kling@nokia.com>
129940
129941        Reviewed by Darin Adler.
129942
129943        Fix broken code generation in GenerateParametersCheckExpression.
129944        https://bugs.webkit.org/show_bug.cgi?id=39960
129945
129946        * bindings/scripts/CodeGeneratorJS.pm:
129947        * bindings/scripts/test/JS/JSTestObj.cpp: Updated baseline.
129948
1299492010-06-01  Mark Rowe  <mrowe@apple.com>
129950
129951        Rubber-stamped by Adam Roben.
129952
129953        Remove Breakpoint.js. It was emptied in r60450 but for some reason it was not
129954        deleted at that time. The presence of empty files within the inspector's resource
129955        folder causes Mac OS X production builds to fail.
129956
129957        * inspector/front-end/Breakpoint.js: Removed.
129958
1299592010-05-24  James Hawkins  <jhawkins@chromium.org>
129960
129961        Reviewed by Darin Fisher.
129962
129963        Added ability for PopupMenuClient to signal when
129964        * selection changed, and
129965        * selection cleared.
129966
129967        https://bugs.webkit.org/show_bug.cgi?id=39639
129968
129969        No new tests because this functionality is intentionally hidden from
129970        everything other than renderer.
129971
129972        * platform/PopupMenuClient.h:
129973        * platform/chromium/PopupMenuChromium.cpp:
129974        (WebCore::PopupListBox::selectIndex):
129975        (WebCore::PopupListBox::clearSelection):
129976        * rendering/RenderMenuList.h:
129977        (WebCore::RenderMenuList::RenderMenuList::selectionChanged):
129978        (WebCore::RenderMenuList::RenderMenuList::selectionCleared):
129979        * rendering/RenderTextControlSingleLine.h:
129980        (WebCore::RenderTextControlSingleLine::selectionChanged):
129981        (WebCore::RenderTextControlSingleLine::selectionCleared):
129982
1299832010-06-01  Dumitru Daniliuc  <dumi@chromium.org>
129984
129985        Reviewed by Dimitri Glazkov.
129986
129987        Check if a database needs to be auto-vacuumed only after transactions that have deleted something.
129988        https://bugs.webkit.org/show_bug.cgi?id=39688
129989
129990        * storage/Database.cpp:
129991        (WebCore::Database::resetDeletes):
129992        (WebCore::Database::hadDeletes):
129993        * storage/Database.h:
129994        * storage/DatabaseAuthorizer.cpp:
129995        (WebCore::DatabaseAuthorizer::resetDeletes):
129996        (WebCore::DatabaseAuthorizer::dropTable):
129997        (WebCore::DatabaseAuthorizer::dropTempTable):
129998        (WebCore::DatabaseAuthorizer::dropIndex):
129999        (WebCore::DatabaseAuthorizer::dropTempIndex):
130000        (WebCore::DatabaseAuthorizer::dropTrigger):
130001        (WebCore::DatabaseAuthorizer::dropTempTrigger):
130002        (WebCore::DatabaseAuthorizer::dropView):
130003        (WebCore::DatabaseAuthorizer::dropTempView):
130004        (WebCore::DatabaseAuthorizer::dropVTable):
130005        (WebCore::DatabaseAuthorizer::allowDelete):
130006        (WebCore::DatabaseAuthorizer::updateDeletesBasedOnTableName): Added.
130007        * storage/DatabaseAuthorizer.h:
130008        (WebCore::DatabaseAuthorizer::hadDeletes):
130009        * storage/SQLTransaction.cpp:
130010        (WebCore::SQLTransaction::openTransactionAndPreflight):
130011        (WebCore::SQLTransaction::postflightAndCommit):
130012
1300132010-06-01  David Hyatt  <hyatt@apple.com>
130014
130015        Reviewed by Anders Carlsson.
130016
130017        Add a preference for paginating during layout (the new model for computing page breaks).
130018
130019        * page/Settings.cpp:
130020        (WebCore::Settings::Settings):
130021        * page/Settings.h:
130022        (WebCore::Settings::setPaginateDuringLayoutEnabled):
130023        (WebCore::Settings::paginateDuringLayoutEnabled):
130024
1300252010-06-01  Dumitru Daniliuc  <dumi@chromium.org>
130026
130027        Reviewed by Adam Barth.
130028
130029        Clean up the DB classes in preparation for a bigger refactoring.
130030        https://bugs.webkit.org/show_bug.cgi?id=39041
130031
130032        * storage/ChangeVersionWrapper.cpp:
130033        * storage/ChangeVersionWrapper.h:
130034        * storage/Database.cpp:
130035        (WebCore::Database::Database):
130036        (WebCore::Database::lastActionChangedDatabase):
130037        (WebCore::Database::lastActionWasInsert):
130038        (WebCore::Database::inProgressTransactionCompleted):
130039        (WebCore::Database::securityOrigin):
130040        * storage/Database.h:
130041        (WebCore::Database::sqliteDatabase):
130042        (WebCore::Database::databaseDebugName):
130043        * storage/DatabaseTask.cpp:
130044        (WebCore::DatabaseTransactionTask::doPerformTask):
130045        * storage/DatabaseTask.h:
130046        * storage/SQLStatement.cpp:
130047        (WebCore::SQLStatement::execute):
130048        * storage/SQLStatement.h:
130049        * storage/SQLTransaction.cpp:
130050        (WebCore::SQLTransaction::SQLTransaction):
130051        (WebCore::SQLTransaction::openTransactionAndPreflight):
130052        (WebCore::SQLTransaction::runStatements):
130053        (WebCore::SQLTransaction::runCurrentStatement):
130054        (WebCore::SQLTransaction::postflightAndCommit):
130055        (WebCore::SQLTransaction::cleanupAfterSuccessCallback):
130056        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
130057        * storage/SQLTransaction.h:
130058
1300592010-06-01  Rob Buis  <rwlbuis@gmail.com>
130060
130061        Reviewed by Nikolas Zimmermann.
130062
130063        Large SVG rect with shadow fails to render
130064        https://bugs.webkit.org/show_bug.cgi?id=38851
130065
130066        Store intermediate shadow calculation in floats to prevent integer overflow.
130067
130068        Test: svg/filters/shadow-on-rect-large.svg
130069
130070        * rendering/style/SVGRenderStyle.cpp:
130071        (WebCore::getSVGShadowExtent):
130072        (WebCore::SVGRenderStyle::inflateForShadow):
130073
1300742010-06-01  Jer Noble  <jer.noble@apple.com>
130075
130076        Reviewed by Sam Weinig.
130077
130078        QuickTime 7.6.4 + Safari Nightly = Crash
130079        https://bugs.webkit.org/show_bug.cgi?id=40019
130080        rdar://problem/8035443
130081        
130082        Check the return value of QTCFPropertyListCreateXMLData before calling CFDataGetLength().
130083
130084        * platform/graphics/win/QTCFDictionary.cpp:
130085        (QTCFDictionaryCreateCopyWithDataCallback):
130086
1300872010-06-01  Rob Buis  <rwlbuis@gmail.com>
130088
130089        Reviewed by Dirk Schulze.
130090
130091        Manipulating SVG element attributes in Javascript does not work as expected
130092        https://bugs.webkit.org/show_bug.cgi?id=34328
130093
130094        Reset the viewBox to be empty when removing the viewBox attribute.
130095
130096        Test: svg/custom/svg-viewBox-dynamic.html
130097
130098        * svg/SVGFitToViewBox.cpp:
130099        (WebCore::SVGFitToViewBox::parseViewBox):
130100        (WebCore::SVGFitToViewBox::parseMappedAttribute):
130101        * svg/SVGFitToViewBox.h:
130102        * svg/SVGViewSpec.cpp:
130103        (WebCore::SVGViewSpec::setViewBoxString):
130104        (WebCore::SVGViewSpec::parseViewSpec):
130105
1301062010-06-01  Chris Fleizach  <cfleizach@apple.com>
130107
130108        Reviewed by Beth Dakin.
130109
130110        AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
130111        https://bugs.webkit.org/show_bug.cgi?id=39324
130112 
130113        There are some parameters that super handles that are not explicitly returned by the list of the element's attributes.
130114        In those cases, super should handle.
130115
130116        * accessibility/mac/AccessibilityObjectWrapper.mm:
130117        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
130118
1301192010-05-28  David Hyatt  <hyatt@apple.com>
130120
130121        Reviewed by Beth Dakin.
130122
130123        https://bugs.webkit.org/show_bug.cgi?id=15550, complete implementation of column-span.  Add support for nested column
130124        spans.  When a column span is nested inside multiple enclosing blocks, the blocks have to be split around the column-span.
130125        We do this using block element continuations, the same kind of solution we employed for blocks inside inlines.
130126        
130127        The code for block continuations is very similar to the code for inline continuations.  It may be possible to refactor the
130128        code into RenderBoxModelObject so that more of it can be shared, but this first pass avoids that so as not to risk
130129        causing any regressions in core rendering.
130130
130131        Note also that - just as with inline continuations - you can't unsplit block continuations yet.  There is no technical limitation
130132        here... the functions just need to be written to handle it.
130133        
130134        Added new tests in fast/multicol/span.
130135
130136        * rendering/RenderBlock.cpp:
130137        (WebCore::RenderBlock::styleDidChange):
130138        (WebCore::RenderBlock::continuationBefore):
130139        (WebCore::RenderBlock::addChildToContinuation):
130140        (WebCore::RenderBlock::containingColumnsBlock):
130141        (WebCore::RenderBlock::clone):
130142        (WebCore::RenderBlock::splitBlocks):
130143        (WebCore::RenderBlock::splitFlow):
130144        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
130145        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
130146        (WebCore::RenderBlock::columnsBlockForSpanningElement):
130147        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
130148        (WebCore::RenderBlock::addChild):
130149        (WebCore::RenderBlock::addChildIgnoringContinuation):
130150        (WebCore::RenderBlock::blockElementContinuation):
130151        (WebCore::RenderBlock::layoutColumns):
130152        * rendering/RenderBlock.h:
130153
1301542010-06-01  Alexey Proskuryakov  <ap@apple.com>
130155
130156        Build fix.
130157
130158        Hopefully, touching WebCore.base.exp will actually rebuild the export file.
130159
130160        * WebCore.Geolocation.exp:
130161        * WebCore.base.exp:
130162
1301632010-06-01  Dumitru Daniliuc  <dumi@chromium.org>
130164
130165        Reviewed by Adam Barth.
130166
130167        Execute void callbacks in the context they were created in.
130168        https://bugs.webkit.org/show_bug.cgi?id=39145
130169
130170        * bindings/v8/custom/V8CustomVoidCallback.cpp:
130171        (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
130172        (WebCore::V8CustomVoidCallback::handleEvent):
130173        * bindings/v8/custom/V8CustomVoidCallback.h:
130174
1301752010-06-01  Alexey Proskuryakov  <ap@apple.com>
130176
130177        Reviewed by Sam Weinig.
130178
130179        https://bugs.webkit.org/show_bug.cgi?id=39434
130180        REGRESSION (r59811): Geolocation callbacks cannot be created
130181
130182        * DerivedSources.make: Don't append both WebCore.Geolocation.exp and WebCore.ClientBasedGeolocation.exp,
130183        they are mutually exclusive.
130184
130185        * WebCore.Geolocation.exp: Touched to force .exp file rebuild.
130186
130187        * WebCore.xcodeproj/project.pbxproj: Removed GeolocationService related files.
130188
130189        * bindings/js/JSGeolocationCustom.cpp:
130190        (WebCore::createPositionCallback): Functions defined in JavaScript code no longer inherit
130191        from InternalFunction, they inherit from JSFunction. This check is still imperfect, because
130192        it's not clear what definition of "function" should really be used, if any - other bindings
130193        code never checks callback type.
130194        (WebCore::createPositionErrorCallback): Ditto.
130195
130196        * page/Geolocation.h: Don't include GeolocationService.h unless it's going to be used.
130197
1301982010-06-01  Jeremy Orlow  <jorlow@chromium.org>
130199
130200        Reviewed by Darin Fisher.
130201
130202        IndexedDB cleanup
130203        https://bugs.webkit.org/show_bug.cgi?id=40007
130204
130205        Remove the exception code parameter since this function can no longer
130206        cause an exception.
130207
130208        * storage/IDBObjectStoreRequest.idl:
130209        * storage/IndexedDatabase.h:
130210        * storage/IndexedDatabaseImpl.cpp:
130211        (WebCore::IndexedDatabaseImpl::open):
130212        * storage/IndexedDatabaseImpl.h:
130213        * storage/IndexedDatabaseRequest.cpp:
130214        (WebCore::IndexedDatabaseRequest::open):
130215        * storage/IndexedDatabaseRequest.h:
130216        * storage/IndexedDatabaseRequest.idl:
130217
1302182010-06-01  Martin Robinson  <mrobinson@igalia.com>
130219
130220        Reviewed by Xan Lopez.
130221
130222        [GTK] Double clicks cause three button press events
130223        https://bugs.webkit.org/show_bug.cgi?id=38853
130224
130225        Add GOwnPtr wrapper for GdkEvent and expose a setter for
130226        PlatformMouseEvent::m_clickCount.
130227
130228        * GNUmakefile.am: Add GOwnPtrGtk.{cpp,h} to the sources list.
130229        * platform/PlatformMouseEvent.h: 
130230        (WebCore::PlatformMouseEvent::setClickCount): Added.
130231        * platform/gtk/GOwnPtrGtk.cpp: Added.
130232        (WTF::GdkEvent):
130233        * platform/gtk/GOwnPtrGtk.h: Added.
130234
1302352010-06-01  Adam Langley  <agl@chromium.org>
130236
130237        Reviewed by Eric Seidel.
130238
130239        [chromium] respect the user's embedded bitmap settings on Linux.
130240
130241        We plumbed everything through Skia and Chrome, but forgot to connect
130242        the two wires inside WebCore.
130243
130244        (Note: no layout test because test_shell forces this option off. Also,
130245         the test font which triggers this behaviour is 32MB.)
130246
130247        https://bugs.webkit.org/show_bug.cgi?id=39894
130248        http://code.google.com/p/chromium/issues/detail?id=21149
130249
130250        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
130251        (WebCore::FontPlatformData::setupPaint):
130252
1302532010-06-01  Simon Hausmann  <simon.hausmann@nokia.com>
130254
130255        Reviewed by Laszlo Gombos.
130256
130257        [Qt] Fix installation of the QtWebKit module .pri file when building inside of Qt
130258
130259        * WebCore.pro:
130260
1302612010-06-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
130262
130263        Reviewed by Simon Hausmann.
130264
130265        [Qt] Fix a QtWebKit.pc corruption problem.
130266        https://bugs.webkit.org/show_bug.cgi?id=36826
130267
130268        The problem occurs while installing QtWebKit from trunk
130269        or a source package.
130270
130271        * WebCore.pro:
130272
1302732010-06-01  Simon Hausmann  <simon.hausmann@nokia.com>
130274
130275        Reviewed by Laszlo Gombos.
130276
130277        [Qt] Fix Symbian package dependencies of apps against QtWebKit when installing into Qt
130278
130279        Install the versioning qt_webkit_version.pri into $$[QMAKE_MKSPECS]/modules, which is
130280        where mkspecs/features/qt.prf expects it.
130281
130282        * WebCore.pro:
130283
1302842010-06-01  Sheriff Bot  <webkit.review.bot@gmail.com>
130285
130286        Unreviewed, rolling out r60470.
130287        http://trac.webkit.org/changeset/60470
130288        https://bugs.webkit.org/show_bug.cgi?id=39990
130289
130290        Need to rollout until bot can be updated (Requested by jorlow
130291        on #webkit).
130292
130293        * bindings/scripts/CodeGeneratorV8.pm:
130294        * bindings/v8/ScriptController.cpp:
130295        (WebCore::ScriptController::namedItemAdded):
130296        (WebCore::ScriptController::namedItemRemoved):
130297        * bindings/v8/V8DOMWindowShell.cpp:
130298        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
130299        * bindings/v8/V8DOMWindowShell.h:
130300        * bindings/v8/V8DOMWrapper.cpp:
130301        (WebCore::V8DOMWrapper::instantiateV8Object):
130302        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
130303        (WebCore::V8HTMLDocument::namedPropertyDeleter):
130304        (WebCore::V8HTMLDocument::namedPropertyGetter):
130305        (WebCore::V8HTMLDocument::indexedPropertyGetter):
130306        (WebCore::V8HTMLDocument::allAccessorSetter):
130307        (WebCore::toV8):
130308
1303092010-06-01  Anton Muhin  <antonm@chromium.org>
130310
130311        Reviewed by Nate Chapin.
130312
130313        [Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
130314        https://bugs.webkit.org/show_bug.cgi?id=39877
130315
130316        This patch makes callbacks invoked on named items addition/removal
130317        install API accessors and thus there is no more need in
130318        named and indexed interceptors on HTMLDocument which
130319        speeds up invocation of methods on document.
130320
130321        * bindings/scripts/CodeGeneratorV8.pm:
130322        * bindings/v8/ScriptController.cpp:
130323        (WebCore::ScriptController::namedItemAdded):
130324        (WebCore::ScriptController::namedItemRemoved):
130325        * bindings/v8/V8DOMWindowShell.cpp:
130326        (WebCore::checkDocumentWrapper):
130327        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
130328        (WebCore::getter):
130329        (WebCore::V8DOMWindowShell::namedItemAdded):
130330        (WebCore::V8DOMWindowShell::namedItemRemoved):
130331        * bindings/v8/V8DOMWindowShell.h:
130332        * bindings/v8/V8DOMWrapper.cpp:
130333        (WebCore::V8DOMWrapper::instantiateV8Object):
130334        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
130335        (WebCore::V8HTMLDocument::WrapInShadowObject):
130336        (WebCore::V8HTMLDocument::GetNamedProperty):
130337        (WebCore::V8HTMLDocument::allAccessorSetter):
130338        (WebCore::toV8):
130339
1303402010-06-01  Zoltan Herczeg  <zherczeg@webkit.org>
130341
130342        Reviewed by Dirk Schulze.
130343
130344        Make the spot light anti-alias effect look similar to SVG expected values.
130345        https://bugs.webkit.org/show_bug.cgi?id=39477
130346
130347        The W3 standard only mention, that the edge of the spotlight should be
130348        anti-aliased but it does not specify how. The provided expected values
130349        gives some hint about their intentions. The algorithm uses a fixed
130350        range, which computed as follows: let a = cos(spot light cutoff range)
130351        the light fades off in the [a-0.016, a] range.
130352
130353        Test: svg/W3C-SVG-1.1/filters-light-04-f.svg
130354        Updated pixel test: svg/W3C-SVG-1.1/filters-light-01-f.svg
130355
130356        * svg/graphics/filters/SVGLightSource.cpp:
130357        (WebCore::SpotLightSource::initPaintingData):
130358
1303592010-05-31  Adam Barth  <abarth@webkit.org>
130360
130361        Reviewed by Eric Seidel.
130362
130363        Fix default action for EndTagOpenState
130364        https://bugs.webkit.org/show_bug.cgi?id=39982
130365
130366        Add a test for a bogus end tag to webkit01.dat and update expected
130367        results now that we pass some more tests.
130368
130369        Adding this test revealed a bug in resuming the bogus comment state.
130370        I've left these broken expectations, but I'll fix the bug in a future
130371        patch. (The bug existed prior to this patch, just not the test.)
130372
130373        * html5lib/resources/webkit01.dat:
130374        * html5lib/runner-expected-html5.txt:
130375        * html5lib/webkit-resumer-expected-html5.txt:
130376
1303772010-05-31  Lyon Chen  <liachen@rim.com>
130378
130379        Reviewed by Kent Tamura.
130380
130381        Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
130382        https://bugs.webkit.org/show_bug.cgi?id=35530
130383
130384        Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.
130385
130386        * accessibility/AccessibilityRenderObject.cpp:
130387        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
130388        (WebCore::AccessibilityRenderObject::doAXRangeForLine):
130389        * editing/Editor.cpp:
130390        (WebCore::Editor::deleteWithDirection):
130391        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
130392        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
130393        * editing/EditorCommand.cpp:
130394        (WebCore::executeDeleteBackward):
130395        (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter):
130396        (WebCore::executeDeleteForward):
130397        (WebCore::executeDeleteToBeginningOfLine):
130398        (WebCore::executeDeleteToBeginningOfParagraph):
130399        (WebCore::executeDeleteToEndOfLine):
130400        (WebCore::executeDeleteToEndOfParagraph):
130401        (WebCore::executeDeleteWordBackward):
130402        (WebCore::executeDeleteWordForward):
130403        (WebCore::executeForwardDelete):
130404        (WebCore::executeMoveBackward):
130405        (WebCore::executeMoveBackwardAndModifySelection):
130406        (WebCore::executeMoveDown):
130407        (WebCore::executeMoveDownAndModifySelection):
130408        (WebCore::executeMoveForward):
130409        (WebCore::executeMoveForwardAndModifySelection):
130410        (WebCore::executeMoveLeft):
130411        (WebCore::executeMoveLeftAndModifySelection):
130412        (WebCore::executeMovePageDown):
130413        (WebCore::executeMovePageDownAndModifySelection):
130414        (WebCore::executeMovePageUp):
130415        (WebCore::executeMovePageUpAndModifySelection):
130416        (WebCore::executeMoveRight):
130417        (WebCore::executeMoveRightAndModifySelection):
130418        (WebCore::executeMoveToBeginningOfDocument):
130419        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
130420        (WebCore::executeMoveToBeginningOfLine):
130421        (WebCore::executeMoveToBeginningOfLineAndModifySelection):
130422        (WebCore::executeMoveToBeginningOfParagraph):
130423        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
130424        (WebCore::executeMoveToBeginningOfSentence):
130425        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
130426        (WebCore::executeMoveToEndOfDocument):
130427        (WebCore::executeMoveToEndOfDocumentAndModifySelection):
130428        (WebCore::executeMoveToEndOfSentence):
130429        (WebCore::executeMoveToEndOfSentenceAndModifySelection):
130430        (WebCore::executeMoveToEndOfLine):
130431        (WebCore::executeMoveToEndOfLineAndModifySelection):
130432        (WebCore::executeMoveToEndOfParagraph):
130433        (WebCore::executeMoveToEndOfParagraphAndModifySelection):
130434        (WebCore::executeMoveParagraphBackwardAndModifySelection):
130435        (WebCore::executeMoveParagraphForwardAndModifySelection):
130436        (WebCore::executeMoveUp):
130437        (WebCore::executeMoveUpAndModifySelection):
130438        (WebCore::executeMoveWordBackward):
130439        (WebCore::executeMoveWordBackwardAndModifySelection):
130440        (WebCore::executeMoveWordForward):
130441        (WebCore::executeMoveWordForwardAndModifySelection):
130442        (WebCore::executeMoveWordLeft):
130443        (WebCore::executeMoveWordLeftAndModifySelection):
130444        (WebCore::executeMoveWordRight):
130445        (WebCore::executeMoveWordRightAndModifySelection):
130446        (WebCore::executeMoveToLeftEndOfLine):
130447        (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
130448        (WebCore::executeMoveToRightEndOfLine):
130449        (WebCore::executeMoveToRightEndOfLineAndModifySelection):
130450        * editing/SelectionController.cpp:
130451        (WebCore::SelectionController::willBeModified):
130452        (WebCore::SelectionController::modify):
130453        * editing/SelectionController.h:
130454        (WebCore::SelectionController::):
130455        * editing/TypingCommand.cpp:
130456        (WebCore::TypingCommand::deleteKeyPressed):
130457        (WebCore::TypingCommand::forwardDeleteKeyPressed):
130458        * page/DOMSelection.cpp:
130459        (WebCore::DOMSelection::modify):
130460        (WebCore::DOMSelection::deleteFromDocument):
130461        * page/EventHandler.cpp:
130462        (WebCore::EventHandler::handleKeyboardSelectionMovement):
130463
1304642010-05-31  Eric Seidel <eric@webkit.org>
130465
130466        Reviewed by Adam Barth.
130467
130468        REGRESSION(60409): window.onload never fires when using HTML5 parser
130469        https://bugs.webkit.org/show_bug.cgi?id=39981
130470
130471        * html/HTML5Tokenizer.cpp:
130472        (WebCore::HTML5Tokenizer::finish):
130473         - The logic was just wrong here.  We should only be setting
130474           m_wasWaitingOnScriptsDuringFinish if isWaitingForScripts()
130475           is true, and we should be calling end() when it is not.
130476        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
130477         - Add another ASSERT to catch cases like this.
130478        * html/HTML5TreeBuilder.cpp:
130479        (WebCore::HTML5TreeBuilder::finished):
130480         - Add a comment about why we don't need to call m_document->finishedParsing()
130481
1304822010-05-31  Tony Chang  <tony@chromium.org>
130483
130484        Reviewed by Dan Bernstein.
130485
130486        REGRESSION (r58665): Infinite recursion in Position::getInlineBoxAndOffset()
130487        https://bugs.webkit.org/show_bug.cgi?id=39946
130488        
130489        r58665 added an infinite recursion check, but didn't take into consideration recursion between two
130490        Positions.  This adds a check for when
130491        downstreamIgnoringEditingBoundaries(p1) == p2 and upstreamIgnoringEditingBoundaries(p2) == p1
130492
130493        Test: editing/selection/mixed-editability-12.html
130494
130495        * dom/Position.cpp:
130496        (WebCore::Position::getInlineBoxAndOffset):
130497
1304982010-05-31  Leo Yang  <leo.yang@torchmobile.com.cn>
130499
130500        Reviewed by George Staikos.
130501
130502        Fix canvas.toDataURL(type, quality, ...) to let it support quality parameter. 
130503        And implement it in Qt port. 
130504        https://bugs.webkit.org/show_bug.cgi?id=37304
130505
130506        Tests: platform/qt/fast/canvas/toDataURL-jpeg-alpha.html
130507               platform/qt/fast/canvas/toDataURL-jpeg-primarycolors.html
130508               platform/qt/fast/canvas/toDataURL-jpeg-quality-basic.html
130509               platform/qt/fast/canvas/toDataURL-jpeg-quality-notnumber.html
130510               platform/qt/fast/canvas/toDataURL-jpeg-quality-outsiderange.html
130511
130512        * bindings/js/JSHTMLCanvasElementCustom.cpp:
130513        (WebCore::JSHTMLCanvasElement::toDataURL):
130514        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
130515        (WebCore::V8HTMLCanvasElement::toDataURLCallback):
130516        * dom/CanvasSurface.cpp:
130517        (WebCore::CanvasSurface::toDataURL):
130518        * dom/CanvasSurface.h:
130519        (WebCore::CanvasSurface::toDataURL):
130520        * html/HTMLCanvasElement.idl:
130521        * platform/graphics/ImageBuffer.h:
130522        * platform/graphics/cairo/ImageBufferCairo.cpp:
130523        (WebCore::ImageBuffer::toDataURL):
130524        * platform/graphics/cg/ImageBufferCG.cpp:
130525        (WebCore::ImageBuffer::toDataURL):
130526        * platform/graphics/haiku/ImageBufferHaiku.cpp:
130527        (WebCore::ImageBuffer::toDataURL):
130528        * platform/graphics/qt/ImageBufferQt.cpp:
130529        (WebCore::ImageBuffer::toDataURL):
130530        * platform/graphics/skia/ImageBufferSkia.cpp:
130531        (WebCore::ImageBuffer::toDataURL):
130532        * platform/graphics/wince/ImageBufferWince.cpp:
130533        (WebCore::ImageBuffer::toDataURL):
130534        * platform/graphics/wx/ImageBufferWx.cpp:
130535        (WebCore::ImageBuffer::toDataURL):
130536
1305372010-05-31  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
130538
130539        Reviewed by Kenneth Rohde Christiansen.
130540
130541        [EFL] Add Context Menu implementation
130542        https://bugs.webkit.org/show_bug.cgi?id=39821
130543
130544        * platform/ContextMenu.h: add port-specific attributes.
130545        * platform/ContextMenuItem.h: create PlatformMenuItemDescription as in
130546        other ports
130547        (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
130548        * platform/efl/ContextMenuEfl.cpp:implement needed methods for this
130549        port.
130550        (WebCore::ContextMenu::ContextMenu):
130551        (WebCore::ContextMenu::~ContextMenu):
130552        (WebCore::ContextMenu::appendItem):
130553        (WebCore::ContextMenu::setPlatformDescription):
130554        (WebCore::ContextMenu::releasePlatformDescription):
130555        * platform/efl/ContextMenuItemEfl.cpp:  implement needed methods for
130556        this port.
130557        (WebCore::ContextMenuItem::ContextMenuItem):
130558        (WebCore::ContextMenuItem::~ContextMenuItem):
130559        (WebCore::ContextMenuItem::releasePlatformDescription):
130560        (WebCore::ContextMenuItem::type):
130561        (WebCore::ContextMenuItem::setType):
130562        (WebCore::ContextMenuItem::action):
130563        (WebCore::ContextMenuItem::setAction):
130564        (WebCore::ContextMenuItem::title):
130565        (WebCore::ContextMenuItem::setTitle):
130566        (WebCore::ContextMenuItem::platformSubMenu):
130567        (WebCore::ContextMenuItem::setSubMenu):
130568        (WebCore::ContextMenuItem::checked):
130569        (WebCore::ContextMenuItem::setChecked):
130570        (WebCore::ContextMenuItem::enabled):
130571        (WebCore::ContextMenuItem::setEnabled):
130572
1305732010-05-31  Ilya Tikhonovsky  <loislo@chromium.org>
130574
130575        Reviewed by Pavel Feldman.
130576
130577        WebInspector: Classes for native serialization to JSON were implemented.
130578        https://bugs.webkit.org/show_bug.cgi?id=34204
130579
130580        * GNUmakefile.am:
130581        * WebCore.Inspector.exp:
130582        * WebCore.gypi:
130583        * WebCore.pro:
130584        * WebCore.vcproj/WebCore.vcproj:
130585        * WebCore.xcodeproj/project.pbxproj:
130586        * inspector/InspectorValues.cpp: Added.
130587        (WebCore::escapeChar):
130588        (WebCore::doubleQuoteString):
130589        (WebCore::InspectorBaseValue::toJSONString):
130590        (WebCore::InspectorBaseValue::writeJSON):
130591        (WebCore::InspectorValue::writeJSON):
130592        (WebCore::InspectorString::writeJSON):
130593        (WebCore::InspectorObject::writeJSON):
130594        (WebCore::InspectorArray::writeJSON):
130595        * inspector/InspectorValues.h: Added.
130596        (WebCore::InspectorBaseValue::InspectorBaseValue):
130597        (WebCore::InspectorBaseValue::~InspectorBaseValue):
130598        (WebCore::InspectorBaseValue::null):
130599        (WebCore::InspectorBaseValue::):
130600        (WebCore::InspectorBaseValue::type):
130601        (WebCore::InspectorValue::create):
130602        (WebCore::InspectorValue::InspectorValue):
130603        (WebCore::InspectorValue::):
130604        (WebCore::InspectorString::create):
130605        (WebCore::InspectorString::InspectorString):
130606        (WebCore::InspectorObject::create):
130607        (WebCore::InspectorObject::~InspectorObject):
130608        (WebCore::InspectorObject::InspectorObject):
130609        (WebCore::InspectorArray::create):
130610        (WebCore::InspectorArray::~InspectorArray):
130611        (WebCore::InspectorArray::length):
130612        (WebCore::InspectorArray::InspectorArray):
130613        (WebCore::InspectorObject::setBool):
130614        (WebCore::InspectorObject::setNumber):
130615        (WebCore::InspectorObject::setString):
130616        (WebCore::InspectorObject::set):
130617        (WebCore::InspectorArray::pushBool):
130618        (WebCore::InspectorArray::pushNumber):
130619        (WebCore::InspectorArray::pushString):
130620        (WebCore::InspectorArray::push):
130621
1306222010-05-31  Olivier Goffart <olivier.goffart@nokia.com>
130623
130624        Reviewed by Oliver Hunt.
130625
130626        [PATCH] compilation error with clang in JSDOMBinding.h
130627        https://bugs.webkit.org/show_bug.cgi?id=39945
130628
130629        JSNode is only forward declared at this point. And since neither
130630        "wrapper" nor JSValue are type-dependent. Compilers should report errors
130631        at the first compilation pass.
130632
130633        The fix is to move the conversion the line above, as the call to the
130634        function getCachedDOMNodeWrapper is type-dependent, the conversion will
130635        happen at template-instantiation time.
130636
130637        See also http://llvm.org/bugs/show_bug.cgi?id=7244
130638
130639        * bindings/js/JSDOMBinding.h:
130640        (WebCore::getDOMNodeWrapper):
130641
1306422010-05-31  Pavel Podivilov  <podivilov@chromium.org>
130643
130644        Reviewed by Pavel Feldman.
130645
130646        Web Inspector: Moved breakpoints add/remove logic to the BreakpointManager.
130647
130648        https://bugs.webkit.org/show_bug.cgi?id=14190
130649
130650        * WebCore.gypi:
130651        * WebCore.vcproj/WebCore.vcproj:
130652        * inspector/front-end/Breakpoint.js:
130653        * inspector/front-end/BreakpointManager.js: Added.
130654        (WebInspector.BreakpointManager):
130655        (WebInspector.BreakpointManager.prototype.addBreakpoint):
130656        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
130657        (WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
130658        (WebInspector.BreakpointManager.prototype.breakpointsForURL):
130659        (WebInspector.BreakpointManager.prototype.reset):
130660        (WebInspector.BreakpointManager.prototype._saveBreakpointOnBackend):
130661        (WebInspector.BreakpointManager.prototype._removeBreakpointFromBackend):
130662        (WebInspector.Breakpoint):
130663        (WebInspector.Breakpoint.prototype.get enabled):
130664        (WebInspector.Breakpoint.prototype.set enabled):
130665        (WebInspector.Breakpoint.prototype.get sourceText):
130666        (WebInspector.Breakpoint.prototype.set sourceText):
130667        (WebInspector.Breakpoint.prototype.get label):
130668        (WebInspector.Breakpoint.prototype.get id):
130669        (WebInspector.Breakpoint.prototype.get condition):
130670        (WebInspector.Breakpoint.prototype.set condition):
130671        * inspector/front-end/BreakpointsSidebarPane.js:
130672        (WebInspector.BreakpointsSidebarPane):
130673        (WebInspector.BreakpointsSidebarPane.prototype.reset):
130674        (WebInspector.BreakpointsSidebarPane.prototype._breakpointAdded):
130675        (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
130676        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
130677        * inspector/front-end/Object.js:
130678        (WebInspector.Object.prototype.dispatchEventToListeners):
130679        * inspector/front-end/ScriptView.js:
130680        (WebInspector.ScriptView.prototype._addBreakpoint):
130681        * inspector/front-end/ScriptsPanel.js:
130682        (WebInspector.ScriptsPanel):
130683        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
130684        (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
130685        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
130686        (WebInspector.ScriptsPanel.prototype.editScriptSource):
130687        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
130688        * inspector/front-end/SourceFrame.js:
130689        (WebInspector.SourceFrame.prototype._contextMenu):
130690        * inspector/front-end/SourceView.js:
130691        (WebInspector.SourceView.prototype._addBreakpoint):
130692        (WebInspector.SourceView.prototype._removeBreakpoint):
130693        * inspector/front-end/WebKit.qrc:
130694        * inspector/front-end/inspector.html:
130695        * inspector/front-end/inspector.js:
130696        (WebInspector.loaded):
130697        (WebInspector.restoredBreakpoint):
130698        (WebInspector.reset):
130699
1307002010-05-31  Alexander Pavlov  <apavlov@chromium.org>
130701
130702        Unreviewed, build fix.
130703
130704        Add references to inspector/front-end/TabbedPane.js wherever applicable.
130705
130706        * WebCore.gypi:
130707        * WebCore.vcproj/WebCore.vcproj:
130708        * inspector/front-end/WebKit.qrc:
130709
1307102010-05-31  Alexander Pavlov  <apavlov@chromium.org>
130711
130712        Unreviewed, add a file not added in r60445.
130713
130714        * inspector/front-end/TabbedPane.js: Added
130715
1307162010-05-31  Martin Robinson  <mrobinson@igalia.com>
130717
130718        Reviewed by Gustavo Noronha Silva.
130719
130720        [GTK] Text copied from a WebView cannot be pasted into gnome-terminal
130721        https://bugs.webkit.org/show_bug.cgi?id=39827
130722
130723        Switch all methods in Pasteboard to use the PasteboardHelper + DataObjectGtk
130724        approach used in other parts of WebKit GTK+.
130725
130726        * platform/gtk/PasteboardGtk.cpp:
130727        (WebCore::Pasteboard::writeSelection): Switch to using PasteboardHelper.
130728        (WebCore::Pasteboard::writePlainText): Ditto.
130729        (WebCore::Pasteboard::writeURL): Ditto.
130730        (WebCore::Pasteboard::writeImage): Ditto.
130731        (WebCore::Pasteboard::clear): Small cleanup.
130732        (WebCore::Pasteboard::documentFragment): Switch to using PasteboardHelper.
130733        (WebCore::Pasteboard::plainText): Ditto.
130734
1307352010-05-31  Darin Adler  <darin@apple.com>
130736
130737        Updated bindings test results for change in JavaScript host calling convention change
130738        from 2 days ago.
130739
130740        * bindings/scripts/test/JS/JSTestObj.cpp: Regenerated and inspected to see that the new
130741        result is correct.
130742        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
130743
1307442010-05-31  Alexander Pavlov  <apavlov@chromium.org>
130745
130746        Reviewed by Pavel Feldman.
130747
130748        Web Inspector: Implement additional tabs support in ResourceView
130749        https://bugs.webkit.org/show_bug.cgi?id=39822
130750
130751        * inspector/front-end/ResourceView.js:
130752        (WebInspector.ResourceView):
130753        (WebInspector.ResourceView.prototype._selectHeadersTab):
130754        (WebInspector.ResourceView.prototype._innerSelectContentTab):
130755        * inspector/front-end/SourceView.js:
130756        (WebInspector.SourceView.prototype.show):
130757        (WebInspector.SourceView.prototype.hide):
130758        (WebInspector.SourceView.prototype.resize):
130759        (WebInspector.SourceView.prototype.updateLocalContent):
130760        (WebInspector.SourceView.prototype.selectLocalContentTab):
130761        * inspector/front-end/TabbedPane.js: Added.
130762        (WebInspector.TabbedPane):
130763        (WebInspector.TabbedPane.prototype.appendTab):
130764        (WebInspector.TabbedPane.prototype.tabObjectForId):
130765        (WebInspector.TabbedPane.prototype.hideTab):
130766        (WebInspector.TabbedPane.prototype.selectTabById):
130767        * inspector/front-end/TextViewer.js:
130768        (WebInspector.TextViewer.prototype._getSelection):
130769        * inspector/front-end/inspector.html:
130770
1307712010-05-31  Alexander Pavlov  <apavlov@chromium.org>
130772
130773        Reviewed by Pavel Feldman.
130774
130775        Web Inspector: Implement retrieval of CSS stylesheets for source editing
130776        https://bugs.webkit.org/show_bug.cgi?id=39833
130777
130778        Test: inspector/styles-source-offsets.html
130779
130780        * css/CSSParser.cpp:
130781        (WebCore::CSSParser::CSSParser):
130782        (WebCore::CSSParser::parseSheet):
130783        (WebCore::CSSParser::createStyleRule):
130784        * css/CSSParser.h:
130785        * inspector/InspectorBackend.cpp:
130786        (WebCore::InspectorBackend::getStyleSheet):
130787        (WebCore::InspectorBackend::getRuleRangesForStyleSheetId):
130788        * inspector/InspectorBackend.h:
130789        * inspector/InspectorBackend.idl:
130790        * inspector/InspectorCSSStore.cpp:
130791        (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
130792        (WebCore::InspectorCSSStore::asCSSStyleRule):
130793        (WebCore::InspectorCSSStore::styleSheetForId):
130794        * inspector/InspectorCSSStore.h:
130795        * inspector/InspectorDOMAgent.cpp:
130796        (WebCore::InspectorDOMAgent::getStyleSheet):
130797        (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
130798        (WebCore::InspectorDOMAgent::buildObjectForStyle):
130799        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
130800        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
130801        (WebCore::InspectorDOMAgent::buildObjectForRule):
130802        (WebCore::InspectorDOMAgent::getParentStyleSheet):
130803        * inspector/InspectorDOMAgent.h:
130804        * inspector/InspectorFrontend.cpp:
130805        (WebCore::InspectorFrontend::didGetStyleSheet):
130806        * inspector/InspectorFrontend.h:
130807        * inspector/front-end/DOMAgent.js:
130808        (WebInspector.CSSStyleDeclaration):
130809
1308102010-05-31  Philippe Normand  <pnormand@igalia.com>
130811
130812        Reviewed by Xan Lopez.
130813
130814        [GStreamer] float variables misused
130815        https://bugs.webkit.org/show_bug.cgi?id=38842
130816
130817        Use 0.0f for float variables instead of 0.0. Also added some
130818        missing casts around GST_SECOND.
130819
130820        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
130821        (WebCore::playbackPosition):
130822        (WebCore::MediaPlayerPrivateGStreamer::duration):
130823        (WebCore::MediaPlayerPrivateGStreamer::currentTime):
130824        (WebCore::MediaPlayerPrivateGStreamer::seek):
130825        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
130826        (WebCore::MediaPlayerPrivateGStreamer::setRate):
130827        (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
130828        (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
130829        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
130830
1308312010-05-31  Steve Block  <steveblock@google.com>
130832
130833        Unreviewed, rolling out r60069.
130834        http://trac.webkit.org/changeset/60069
130835        https://bugs.webkit.org/show_bug.cgi?id=39288
130836
130837        Roll out r60069 while the need for Geolocation::stop() is
130838        investigated.
130839
130840        * loader/FrameLoader.cpp:
130841        (WebCore::FrameLoader::stopLoading):
130842        * page/Geolocation.cpp:
130843        (WebCore::Geolocation::disconnectFrame):
130844        * page/Geolocation.h:
130845
1308462010-05-31  Olivier Tilloy  <olivier@tilloy.net>
130847
130848        Reviewed by Gustavo Noronha Silva.
130849
130850        [Gtk] Implement RenderThemeGtk::systemColor to apply the correct colors
130851        from the current GTK theme.
130852        https://bugs.webkit.org/show_bug.cgi?id=37779
130853
130854        * platform/gtk/RenderThemeGtk.cpp:
130855        (WebCore::RenderThemeGtk::RenderThemeGtk):
130856        (WebCore::RenderThemeGtk::systemColor):
130857        (WebCore::RenderThemeGtk::gtkButton):
130858        * platform/gtk/RenderThemeGtk.h:
130859
1308602010-05-31  Dirk Schulze  <krit@webkit.org>
130861
130862        Reviewed by Nikolas Zimmermann.
130863
130864        SVG Filter: Crash if parent and child elements use the same filter
130865        https://bugs.webkit.org/show_bug.cgi?id=39536
130866
130867        If a parent and a child used the same filter, the temporary saved
130868        context reference got overwritten by the child. The reference is
130869        stored in FilterData now. FilterData depends to the target object
130870        and avoids overwriting any reference.
130871
130872        Test: svg/filters/parent-children-with-same-filter.svg
130873
130874        * rendering/RenderSVGResourceFilter.cpp:
130875        (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
130876        (WebCore::RenderSVGResourceFilter::applyResource):
130877        (WebCore::RenderSVGResourceFilter::postApplyResource):
130878        * rendering/RenderSVGResourceFilter.h:
130879
1308802010-05-31  Xan Lopez  <xlopez@igalia.com>
130881
130882        Reviewed by Gustavo Noronha.
130883
130884        Fix all compiler warnings.
130885
130886        * plugins/gtk/gtk2xtbin.c:
130887        (xt_event_dispatch):
130888        (gtk_xtbin_get_type):
130889        (gtk_xtbin_set_position):
130890        (xt_add_focus_listener):
130891        (xt_remove_focus_listener):
130892
1308932010-05-31  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
130894
130895        Reviewed by Simon Hausmann.
130896
130897        [Qt] Escape backslashes in the .pro files
130898
130899        qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.
130900
130901        * WebCore.pro:
130902
1309032010-05-31  Anton Muhin  <antonm@chromium.org>
130904
130905        Reviewed by Darin Adler.
130906
130907        Make NodeList getters take AtomicString instead of plain String
130908        https://bugs.webkit.org/show_bug.cgi?id=39892
130909
130910        Those methods turn String into AtomicString later.  And this conversion
130911        is faster if underlying string is already atomic.
130912        That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
130913        I don't know if Safari benefits from it.
130914
130915        * dom/Node.cpp:
130916        (WebCore::Node::getElementsByTagName):
130917        (WebCore::Node::getElementsByTagNameNS):
130918        * dom/Node.h:
130919
1309202010-05-30  Adam Barth  <abarth@webkit.org>
130921
130922        Reviewed by Darin Adler.
130923
130924        Fix LayoutTests/fast/parser/xml-declaration-missing-ending-mark.html in HTML5 parser
130925        https://bugs.webkit.org/show_bug.cgi?id=39939
130926
130927        Turns out we need to implement the bogus comment state.  :)
130928
130929        * html/HTML5Lexer.cpp:
130930        (WebCore::HTML5Lexer::nextToken):
130931
1309322010-05-30  Eric Seidel  <eric@webkit.org>
130933
130934        Reviewed by Adam Barth.
130935
130936        fast/tokenizer/write-partial-entity.html hits ASSERT SegmentedString in the HTML5 Parser
130937        https://bugs.webkit.org/show_bug.cgi?id=39935
130938
130939        Test: fast/tokenizer/write-partial-entity.html
130940
130941        * html/HTML5Tokenizer.cpp:
130942        (WebCore::HTML5Tokenizer::executeScript):
130943         - Use m_source.append(oldInsertionPoint) instead of
130944           oldInsertionPoint.prepend(m_source) because m_source may have had
130945           characters pushed onto it and prepend() does not handle that case.
130946
1309472010-05-30  Lyon Chen  <liachen@rim.com>
130948
130949        Reviewed by Kent Tamura.
130950
130951        This is a coding style cleanup before fixing to bug 35530.
130952
130953        Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
130954        https://bugs.webkit.org/show_bug.cgi?id=35530
130955
130956        * editing/Editor.cpp:
130957        (WebCore::Editor::deleteWithDirection):
130958        (WebCore::Editor::fontForSelection):
130959        (WebCore::Editor::applyStyle):
130960        (WebCore::Editor::applyParagraphStyle):
130961        (WebCore::Editor::applyStyleToSelection):
130962        (WebCore::Editor::applyParagraphStyleToSelection):
130963        (WebCore::triStateOfStyleInComputedStyle):
130964        (WebCore::Editor::selectionStartHasStyle):
130965        (WebCore::Editor::selectionHasStyle):
130966        (WebCore::Editor::paste):
130967        (WebCore::Editor::ignoreSpelling):
130968        (WebCore::Editor::learnSpelling):
130969        (WebCore::findFirstMisspellingInRange):
130970        (WebCore::findFirstGrammarDetailInRange):
130971        (WebCore::findFirstBadGrammarInRange):
130972        (WebCore::findFirstMisspellingOrBadGrammarInRange):
130973        (WebCore::Editor::advanceToNextMisspelling):
130974        (WebCore::Editor::isSelectionMisspelled):
130975        (WebCore::isRangeUngrammatical):
130976        (WebCore::Editor::guessesForMisspelledSelection):
130977        (WebCore::guessesForMisspelledOrUngrammaticalRange):
130978        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
130979        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
130980        * editing/EditorCommand.cpp:
130981        (WebCore::applyCommandToFrame):
130982        (WebCore::executeToggleStyleInList):
130983        (WebCore::executeApplyParagraphStyle):
130984        (WebCore::executeDelete):
130985        (WebCore::executeForwardDelete):
130986        (WebCore::executeInsertLineBreak):
130987        (WebCore::supportedCopyCut):
130988        (WebCore::supportedPaste):
130989        (WebCore::enabledDelete):
130990        * editing/SelectionController.cpp:
130991        (WebCore::SelectionController::modifyExtendingRight):
130992        (WebCore::SelectionController::modifyExtendingForward):
130993        (WebCore::SelectionController::modifyMovingRight):
130994        (WebCore::SelectionController::modifyMovingForward):
130995        (WebCore::SelectionController::modifyExtendingLeft):
130996        (WebCore::SelectionController::modifyExtendingBackward):
130997        (WebCore::SelectionController::modifyMovingLeft):
130998        (WebCore::SelectionController::modifyMovingBackward):
130999        (WebCore::SelectionController::modify):
131000        (WebCore::SelectionController::xPosForVerticalArrowNavigation):
131001        (WebCore::SelectionController::debugRenderer):
131002        * editing/TypingCommand.cpp:
131003        (WebCore::TypingCommand::deleteKeyPressed):
131004        (WebCore::TypingCommand::forwardDeleteKeyPressed):
131005        (WebCore::TypingCommand::insertLineBreak):
131006        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
131007        (WebCore::TypingCommand::insertParagraphSeparator):
131008        (WebCore::TypingCommand::doApply):
131009        (WebCore::TypingCommand::insertText):
131010        (WebCore::TypingCommand::updatePreservesTypingStyle):
131011        * page/EventHandler.cpp:
131012        (WebCore::EventHandler::handleMousePressEvent):
131013        (WebCore::EventHandler::handleMouseReleaseEvent):
131014        (WebCore::EventHandler::selectCursor):
131015        (WebCore::EventHandler::canHandleDragAndDropForTarget):
131016        (WebCore::EventHandler::dispatchMouseEvent):
131017        (WebCore::EventHandler::sendContextMenuEvent):
131018        (WebCore::EventHandler::handleKeyboardSelectionMovement):
131019        (WebCore::EventHandler::handleDrag):
131020
1310212010-05-30  Daniel Bates  <dbates@rim.com>
131022
131023        Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.
131024
131025        * html/HTMLFormControlElement.h:
131026        (WebCore::HTMLFormControlElement::isEnabledFormControl):
131027        (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
131028        (WebCore::HTMLFormControlElement::isFormControlElement):
131029        * html/HTMLInputElement.h:
131030        (WebCore::HTMLInputElement::isPasswordField):
131031
1310322010-05-30  Darin Adler  <darin@apple.com>
131033
131034        Reviewed by Sam Weinig.
131035
131036        Make more HTML DOM members private, especially constructors, third and final batch
131037        https://bugs.webkit.org/show_bug.cgi?id=39916
131038
131039        * dom/Document.cpp:
131040        (WebCore::Document::implicitClose):
131041        * editing/DeleteButtonController.cpp:
131042        (WebCore::DeleteButtonController::createDeletionUI):
131043        * editing/EditorCommand.cpp:
131044        (WebCore::executeInsertHorizontalRule):
131045        (WebCore::executeInsertImage):
131046        * editing/htmlediting.cpp:
131047        (WebCore::createDefaultParagraphElement):
131048        (WebCore::createListItemElement):
131049        * html/HTMLParser.cpp:
131050        (WebCore::HTMLParser::handleError):
131051        (WebCore::HTMLParser::headCreateErrorCheck):
131052        (WebCore::HTMLParser::formCreateErrorCheck):
131053        (WebCore::HTMLParser::createHead):
131054        (WebCore::HTMLParser::handleIsindex):
131055        (WebCore::HTMLParser::finished):
131056        * html/HTMLViewSourceDocument.cpp:
131057        (WebCore::HTMLViewSourceDocument::createContainingTable):
131058        * rendering/RenderTextControl.cpp:
131059        (WebCore::RenderTextControl::createSubtreeIfNeeded):
131060        * rendering/RenderTextControlSingleLine.cpp:
131061        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
131062        Use create instead of new to create HTML elements.
131063
131064        * html/HTMLFormCollection.cpp:
131065        (WebCore::HTMLFormCollection::formCollectionInfo):
131066        (WebCore::HTMLFormCollection::item):
131067        (WebCore::HTMLFormCollection::getNamedFormItem):
131068        (WebCore::HTMLFormCollection::updateNameCache):
131069        * html/HTMLFormControlElement.h:
131070        Updated for name and privacy changes in HTMLFormElement.
131071
131072        * html/HTMLFormElement.cpp:
131073        (WebCore::HTMLFormElement::HTMLFormElement):
131074        (WebCore::HTMLFormElement::create):
131075        (WebCore::HTMLFormElement::~HTMLFormElement):
131076        (WebCore::HTMLFormElement::length):
131077        (WebCore::HTMLFormElement::submitImplicitly):
131078        (WebCore::HTMLFormElement::createFormData):
131079        (WebCore::HTMLFormElement::submit):
131080        (WebCore::HTMLFormElement::reset):
131081        (WebCore::HTMLFormElement::formElementIndex):
131082        (WebCore::HTMLFormElement::registerFormElement):
131083        (WebCore::HTMLFormElement::removeFormElement):
131084        (WebCore::HTMLFormElement::registerImgElement):
131085        (WebCore::HTMLFormElement::removeImgElement):
131086        (WebCore::HTMLFormElement::defaultButton):
131087        (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
131088        (WebCore::HTMLFormElement::addElementAlias):
131089        (WebCore::HTMLFormElement::documentDidBecomeActive):
131090        * html/HTMLFormElement.h:
131091        Added create functions. Made constructors and other members private.
131092        Used an OwnPtr for m_elementAliases. Renamed collectionInfo to
131093        m_collectionCache and used an OwnPtr for it. Renamed formElements to
131094        m_associatedElements (since its contents are what HTML5 calls
131095        "form-associated element", not form elements). Renamed imgElements to
131096        m_imageElements.
131097
131098        * html/HTMLFrameSetElement.cpp:
131099        (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
131100        (WebCore::HTMLFrameSetElement::create):
131101        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
131102        * html/HTMLFrameSetElement.h:
131103        Added create functions. Made constructors and other members private.
131104        Renamed m_rows and m_cols to m_rowLengths and m_colLengths and used
131105        OwnArrayPtr for both.
131106
131107        * html/HTMLLabelElement.cpp:
131108        (WebCore::nodeAsLabelableFormControl): Made this cast to Element instead
131109        of HTMLElement, since isFormControlElement is available on Element.
131110        (WebCore::HTMLLabelElement::HTMLLabelElement):
131111        (WebCore::HTMLLabelElement::create):
131112        * html/HTMLLabelElement.h:
131113        Added create functions. Made constructors and other members private.
131114
131115        * html/HTMLLegendElement.cpp:
131116        (WebCore::HTMLLegendElement::HTMLLegendElement):
131117        (WebCore::HTMLLegendElement::create):
131118        (WebCore::HTMLLegendElement::associatedControl):
131119        (WebCore::HTMLLegendElement::focus):
131120        (WebCore::HTMLLegendElement::accessKeyAction):
131121        * html/HTMLLegendElement.h:
131122        Added create functions. Made constructors and other members private.
131123        Renamed formElement to associatedControl since hte control associated
131124        with this legend is not a "form element".
131125
131126        * editing/DeleteButton.cpp:
131127        (WebCore::DeleteButton::DeleteButton):
131128        (WebCore::DeleteButton::create):
131129        * editing/DeleteButton.h:
131130        * html/HTMLDivElement.cpp:
131131        (WebCore::HTMLDivElement::HTMLDivElement):
131132        (WebCore::HTMLDivElement::create):
131133        * html/HTMLDivElement.h:
131134        * html/HTMLFontElement.cpp:
131135        (WebCore::HTMLFontElement::create):
131136        * html/HTMLFontElement.h:
131137        * html/HTMLHRElement.cpp:
131138        (WebCore::HTMLHRElement::HTMLHRElement):
131139        (WebCore::HTMLHRElement::create):
131140        * html/HTMLHRElement.h:
131141        * html/HTMLHeadElement.cpp:
131142        (WebCore::HTMLHeadElement::HTMLHeadElement):
131143        (WebCore::HTMLHeadElement::create):
131144        * html/HTMLHeadElement.h:
131145        * html/HTMLHeadingElement.cpp:
131146        (WebCore::HTMLHeadingElement::HTMLHeadingElement):
131147        (WebCore::HTMLHeadingElement::create):
131148        * html/HTMLHeadingElement.h:
131149        * html/HTMLHtmlElement.cpp:
131150        (WebCore::HTMLHtmlElement::HTMLHtmlElement):
131151        (WebCore::HTMLHtmlElement::create):
131152        * html/HTMLHtmlElement.h:
131153        * html/HTMLImageElement.cpp:
131154        (WebCore::HTMLImageElement::HTMLImageElement):
131155        (WebCore::HTMLImageElement::create):
131156        * html/HTMLImageElement.h:
131157        * html/HTMLInputElement.cpp:
131158        (WebCore::HTMLInputElement::HTMLInputElement):
131159        (WebCore::HTMLInputElement::create):
131160        (WebCore::HTMLInputElement::createTemporaryFormForIsIndex):
131161        * html/HTMLInputElement.h:
131162        * html/HTMLIsIndexElement.cpp:
131163        (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
131164        (WebCore::HTMLIsIndexElement::create):
131165        * html/HTMLIsIndexElement.h:
131166        * html/HTMLLIElement.cpp:
131167        (WebCore::HTMLLIElement::HTMLLIElement):
131168        (WebCore::HTMLLIElement::create):
131169        * html/HTMLLIElement.h:
131170        * html/HTMLLinkElement.cpp:
131171        (WebCore::HTMLLinkElement::HTMLLinkElement):
131172        (WebCore::HTMLLinkElement::create):
131173        * html/HTMLLinkElement.h:
131174        Added create functions. Made constructors and other members private.
131175
131176        * html/HTMLTagNames.in: Removed the createWithNew flag from all the
131177        tags that were still using it: div, font, form, frameset, h1, h2, h3,
131178        h4, h5, h6, head, hr, html, image, img, input, ins, isindex, label,
131179        legend, li, and link.
131180
131181        * html/HTMLTextAreaElement.h: Removed unneeded definition of the readOnly
131182        function, since the one in HTMLFormElement does the same thing.
131183
131184        * loader/ImageDocument.cpp:
131185        (WebCore::ImageDocumentElement::ImageDocumentElement):
131186        (WebCore::ImageDocumentElement::create):
131187        (WebCore::ImageDocument::createDocumentStructure):
131188        Added create functions. Made constructors and other members private.
131189
131190        * page/DragController.cpp:
131191        (WebCore::DragController::concludeEditDrag): Use the non-virtual disabled
131192        function instead of the virtual isEnabledFormControl function, which just
131193        turns around and calls the disabled function.
131194
131195        * rendering/MediaControlElements.cpp:
131196        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
131197        (WebCore::MediaControlShadowRootElement::create):
131198        (WebCore::MediaControlElement::MediaControlElement):
131199        (WebCore::MediaControlElement::create):
131200        (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
131201        (WebCore::MediaControlTimelineContainerElement::create):
131202        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
131203        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
131204        (WebCore::MediaControlVolumeSliderContainerElement::create):
131205        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
131206        (WebCore::MediaControlStatusDisplayElement::create):
131207        (WebCore::MediaControlStatusDisplayElement::update):
131208        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
131209        (WebCore::MediaControlInputElement::MediaControlInputElement):
131210        (WebCore::MediaControlInputElement::styleForElement):
131211        (WebCore::MediaControlInputElement::rendererIsNeeded):
131212        (WebCore::MediaControlInputElement::attach):
131213        (WebCore::MediaControlInputElement::updateStyle):
131214        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
131215        (WebCore::MediaControlMuteButtonElement::create):
131216        (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
131217        (WebCore::MediaControlMuteButtonElement::updateDisplayType):
131218        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
131219        (WebCore::MediaControlPlayButtonElement::create):
131220        (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
131221        (WebCore::MediaControlPlayButtonElement::updateDisplayType):
131222        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
131223        (WebCore::MediaControlSeekButtonElement::create):
131224        (WebCore::MediaControlSeekButtonElement::isForwardButton):
131225        (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
131226        (WebCore::MediaControlSeekButtonElement::seekTimerFired):
131227        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
131228        (WebCore::MediaControlRewindButtonElement::create):
131229        (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
131230        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
131231        (WebCore::MediaControlReturnToRealtimeButtonElement::create):
131232        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
131233        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
131234        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
131235        (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
131236        (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
131237        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
131238        (WebCore::MediaControlTimelineElement::create):
131239        (WebCore::MediaControlTimelineElement::defaultEventHandler):
131240        (WebCore::MediaControlTimelineElement::update):
131241        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
131242        (WebCore::MediaControlVolumeSliderElement::create):
131243        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
131244        (WebCore::MediaControlVolumeSliderElement::update):
131245        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
131246        (WebCore::MediaControlFullscreenButtonElement::create):
131247        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
131248        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
131249        (WebCore::MediaControlTimeDisplayElement::create):
131250        * rendering/MediaControlElements.h:
131251        Added create functions. Made constructors and other members private.
131252
131253        * rendering/RenderFileUploadControl.cpp:
131254        (WebCore::ShadowInputElement::ShadowInputElement):
131255        (WebCore::ShadowInputElement::create):
131256        (WebCore::RenderFileUploadControl::updateFromElement):
131257        Added create functions. Made constructors and other members private.
131258
131259        * rendering/RenderMedia.cpp:
131260        (WebCore::RenderMedia::createControlsShadowRoot):
131261        (WebCore::RenderMedia::createPanel):
131262        (WebCore::RenderMedia::createMuteButton):
131263        (WebCore::RenderMedia::createPlayButton):
131264        (WebCore::RenderMedia::createSeekBackButton):
131265        (WebCore::RenderMedia::createSeekForwardButton):
131266        (WebCore::RenderMedia::createRewindButton):
131267        (WebCore::RenderMedia::createReturnToRealtimeButton):
131268        (WebCore::RenderMedia::createToggleClosedCaptionsButton):
131269        (WebCore::RenderMedia::createStatusDisplay):
131270        (WebCore::RenderMedia::createTimelineContainer):
131271        (WebCore::RenderMedia::createTimeline):
131272        (WebCore::RenderMedia::createVolumeSliderContainer):
131273        (WebCore::RenderMedia::createVolumeSlider):
131274        (WebCore::RenderMedia::createCurrentTimeDisplay):
131275        (WebCore::RenderMedia::createTimeRemainingDisplay):
131276        (WebCore::RenderMedia::createFullscreenButton):
131277        Use create instead of new.
131278
131279        * rendering/RenderProgress.cpp:
131280        (WebCore::ProgressValueElement::ProgressValueElement):
131281        (WebCore::ProgressValueElement::create):
131282        (WebCore::RenderProgress::updateValuePartState):
131283        * rendering/RenderSlider.cpp:
131284        (WebCore::SliderThumbElement::SliderThumbElement):
131285        (WebCore::SliderThumbElement::create):
131286        (WebCore::RenderSlider::updateFromElement):
131287        Added create functions. Made constructors and other members private.
131288
131289        * rendering/TextControlInnerElements.cpp:
131290        (WebCore::TextControlInnerElement::TextControlInnerElement):
131291        (WebCore::TextControlInnerElement::create):
131292        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
131293        (WebCore::TextControlInnerTextElement::create):
131294        (WebCore::TextControlInnerTextElement::defaultEventHandler):
131295        (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
131296        (WebCore::SearchFieldResultsButtonElement::create):
131297        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
131298        (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
131299        (WebCore::SearchFieldCancelButtonElement::create):
131300        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
131301        (WebCore::SpinButtonElement::SpinButtonElement):
131302        (WebCore::SpinButtonElement::create):
131303        (WebCore::SpinButtonElement::defaultEventHandler):
131304        * rendering/TextControlInnerElements.h:
131305        Added create functions. Made constructors and other members private.
131306
1313072010-05-30  Xan Lopez  <xlopez@igalia.com>
131308
131309        Reviewed by Darin Adler.
131310
131311        Incorrect build dependencies for GObject DOM Bindings
131312        https://bugs.webkit.org/show_bug.cgi?id=39932
131313
131314        -include does not execute the implicit % expansion, we have to do
131315        it manually.
131316
131317        * GNUmakefile.am:
131318
1313192010-05-30  Robert Hogan  <robert@webkit.org>
131320
131321        Reviewed by Kenneth Rohde Christiansen.
131322
131323        [Qt] Enhance Qt DRT implementation to support platform scroll wheel events.
131324
131325        https://bugs.webkit.org/show_bug.cgi?id=36004
131326
131327        Fix the bug in webkit.org/b/29601 for Qt.  A delta not divisible by 120
131328        indicates a device that is sending fine-resolution scroll events, so
131329        use the delta as the number of pixels to scroll.
131330
131331        * platform/qt/WheelEventQt.cpp:
131332        (WebCore::PlatformWheelEvent::applyDelta):
131333
1313342010-05-30  Jessie Berlin  <jberlin@webkit.org>
131335
131336        Reviewed by Pavel Feldman.
131337
131338        https://bugs.webkit.org/show_bug.cgi?id=39224
131339        Bug 39224 - Web Inspector: There should be a way to clean up profiles
131340
131341        Adds a button to clear the profiles from the profiles panel like that
131342        used for the console, the audits panel, and the timeline panel.
131343        Consolidates the css rules, since they all use the same image.
131344        Also allows for individual profiles to be deleted via the keyboard
131345        (U+0008 or U+007F) and uses this new schema for the Elements Tree.
131346
131347        * English.lproj/localizedStrings.js:
131348        Add tooltip text for the button to clear the profiles pane.
131349
131350        * inspector/InspectorBackend.idl:
131351        Add ability to remove the profiles from the backend when they are
131352        deleted or cleared in the frontend.
131353        * inspector/InspectorBackend.cpp:
131354        (WebCore::InspectorBackend::removeProfile):
131355        (WebCore::InspectorBackend::clearProfiles):
131356        * inspector/InspectorBackend.h:
131357        * inspector/InspectorController.cpp:
131358        (WebCore::InspectorController::removeProfile):
131359        (WebCore::InspectorController::clearProfiles):
131360        * inspector/InspectorController.h:
131361
131362        * inspector/front-end/AuditsPanel.js:
131363        (WebInspector.AuditsPanel):
131364        Use the 'clear-status-bar-item' class.
131365        * inspector/front-end/ChangesView.js:
131366        (WebInspector.ChangesView):
131367        * inspector/front-end/TimelinePanel.js:
131368        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
131369        * inspector/front-end/audits.css:
131370        * inspector/front-end/inspector.css:
131371        (.clear-status-bar-item .glyph):
131372        * inspector/front-end/inspector.html:
131373
131374        * inspector/front-end/ElementsTreeOutline.js:
131375        Replace the keyDown handler on the Outline with specific methods to
131376        handle delete and enter on the TreeElements.
131377        (WebInspector.ElementsTreeOutline):
131378        (WebInspector.ElementsTreeOutline.prototype.get editing):
131379        Return whether or not an element in the tree is currently being edited.
131380        (WebInspector.ElementsTreeElement.prototype.ondelete):
131381        (WebInspector.ElementsTreeElement.prototype.onenter):
131382
131383        * inspector/front-end/Panel.js:
131384        (WebInspector.Panel.prototype.createSidebar):
131385        Make the TreeOutline for a Panel's sidebar aware of its enclosing Panel.
131386
131387        * inspector/front-end/ProfilesPanel.js:
131388        (WebInspector.ProfilesPanel):
131389        Add the clear button.
131390        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
131391        (WebInspector.ProfilesPanel.prototype._clearProfiles):
131392        Remove the profiles from the backend, the reset the frontend interface.
131393        (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
131394        Remove the profile from both the frontend and the backend, and clear the
131395        view when the last profile is removed.
131396        (WebInspector.ProfilesPanel.prototype._updateInterface):
131397        Hide the clear button when profiling is disabled.
131398        (WebInspector.ProfileSidebarTreeElement.prototype.onselect):
131399        Replace access to global variable with reference to the Panel held by the
131400        TreeOutline.
131401        (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
131402        Remove the profile corresponding the tree element when the user deletes
131403        that tree element.
131404
131405        * inspector/front-end/treeoutline.js:
131406        (TreeOutline.prototype._treeKeyDown):
131407        Allow the selected tree element to handle the user pressing a delete
131408        key or enter key.
131409
1314102010-05-29  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
131411
131412        Reviewed by Darin Adler.
131413
131414        Check if a CC environment variable is defined before hard-coding gcc's
131415        path. Simply hard-coding it breaks cross-compilation and Linux
131416        distributions with more than one gcc installed (or not in the default
131417        path).
131418        https://bugs.webkit.org/show_bug.cgi?id=35551
131419
131420        No new functionality, so no new tests.
131421
131422        * bindings/scripts/CodeGeneratorObjC.pm:
131423        * bindings/scripts/IDLParser.pm:
131424        * dom/make_names.pl:
131425
1314262010-05-29  Pavel Feldman  <pfeldman@chromium.org>
131427
131428        Reviewed by Timothy Hatcher.
131429
131430        Web Inspector: [REGRESSION] caller locations are not shown on Timeline Panel.
131431
131432        https://bugs.webkit.org/show_bug.cgi?id=39923
131433
131434        * inspector/front-end/TimelinePanel.js:
131435        (WebInspector.TimelinePanel.FormattedRecord):
131436        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
131437        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
131438
1314392010-05-29  Eric Seidel  <eric@webkit.org>
131440
131441        Reviewed by Adam Barth.
131442
131443        HTML5 parser should block script execution until stylesheets load
131444        https://bugs.webkit.org/show_bug.cgi?id=39903
131445
131446        All <script> tag execution now blocks on stylesheet load, including
131447        inline <script> content which the old parser doesn't support blocking.
131448
131449        Hyatt says we could now get rid of updateLayoutIgnorePendingStylesheets
131450        once our primary parser knows how to wait for stylesheets
131451        before executing inline <script> content.
131452
131453        All of http/tests/local passes in --html5-parser mode now.
131454        Also fixed fast/parser/tokenizer-close-during-document-write.html.
131455
131456        * html/HTML5ScriptRunner.cpp:
131457        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
131458         - Added a m_hasScriptsWaitingForStylesheets bool so that we can
131459           detect when we're actually waiting on stylesheets or not.
131460           If we're not waiting on stylesheets then we're still parsing and
131461           executing scripts would cause parser/script reentrancy and bad news bears.
131462        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
131463         - Re-enable the check that the stylesheets have loaded.
131464        (WebCore::HTML5ScriptRunner::executePendingScript):
131465         - ASSERT that stylesheets have loaded.
131466        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
131467         - ASSERT that this is never called reentrantly.
131468        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
131469         - Execute any scripts which were blocked on stylesheet loads.
131470         - ASSERT (in two ways) that this is never called reentrantly.
131471        * html/HTML5ScriptRunner.h:
131472        (WebCore::HTML5ScriptRunner::hasScriptsWaitingForStylesheets):
131473         - Callers need to check this before calling executeScriptsWaitingForLoad.
131474        (WebCore::HTML5ScriptRunner::inScriptExecution):
131475         - Used by callers to ASSERT that we're not called re-entrantly.
131476        * html/HTML5Tokenizer.cpp:
131477        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
131478         - Add m_hasScriptsWaitingForStylesheets for tracking if we've paused
131479           due to stylesheets or not.  Callers need to know this to know if they
131480           should ignore executeScriptsWaitingForStylesheets calls from
131481           Document (which may be generated when parsing </script> tags).
131482           We only care about executeScriptsWaitingForStylesheets calls when
131483           we've actually blocked the parser due to waiting on a stylesheet load.
131484        (WebCore::HTML5Tokenizer::end):
131485         - Move m_source.close() back to this method now that I understand more
131486           about when finish() is called.  This should fix several layout test ASSERTS.
131487        (WebCore::HTML5Tokenizer::finish):
131488         - This should not close m_source since scripts may still write to
131489           the document.  Set m_wasWaitingOnScriptsDuringFinish to indicate
131490           that we were not able to end parsing during finish.
131491        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
131492         - ASSERT that this is never caller re-entrantly.
131493        (WebCore::HTML5Tokenizer::executeScript):
131494         - ASSERT that the ScriptRunner always thinks we're running scripts when this is called.
131495        (WebCore::HTML5Tokenizer::executingScript):
131496         - Added implementation to fix fast/parser/tokenizer-close-during-document-write.html
131497        (WebCore::HTML5Tokenizer::notifyFinished):
131498         - ASSERT that this is never called re-entrantly.
131499        (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
131500         - Call the ScriptRunner to tell it that stylesheets have loaded if
131501           it is blocked on stylesheet loads.
131502         - ASSERT(m_hasScriptsWaitingForStylesheets).  We can't just assert
131503           isPaused() since we may be paused for script loads.
131504        * html/HTML5Tokenizer.h:
131505
1315062010-05-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
131507
131508        Reviewed by Darin Adler.
131509
131510        Remove set but never used variables
131511        https://bugs.webkit.org/show_bug.cgi?id=35252
131512
131513        No new tests as there is no new functionality.
131514
131515        * accessibility/AccessibilityRenderObject.cpp:
131516        (WebCore::lastChildConsideringContinuation):
131517        * css/CSSFontSelector.cpp:
131518        (WebCore::CSSFontSelector::addFontFaceRule):
131519        * css/CSSParser.cpp:
131520        (WebCore::CSSParser::parseFontFaceUnicodeRange):
131521        * editing/InsertParagraphSeparatorCommand.cpp:
131522        (WebCore::InsertParagraphSeparatorCommand::doApply):
131523        * loader/appcache/ApplicationCacheStorage.cpp:
131524        (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
131525        * page/EventHandler.cpp:
131526        (WebCore::EventHandler::handleWheelEvent):
131527        * page/animation/AnimationBase.cpp:
131528        (WebCore::AnimationBase::getTimeToNextEvent):
131529        * rendering/AutoTableLayout.cpp:
131530        (WebCore::AutoTableLayout::recalcColumn):
131531        (WebCore::AutoTableLayout::layout):
131532        * rendering/RenderBlock.cpp:
131533        (WebCore::RenderBlock::calcInlinePrefWidths):
131534        * rendering/RenderSVGResourceClipper.cpp:
131535        (WebCore::RenderSVGResourceClipper::createClipData):
131536        * storage/DatabaseTracker.cpp:
131537        (WebCore::DatabaseTracker::canEstablishDatabase):
131538
1315392010-05-29  Sheriff Bot  <webkit.review.bot@gmail.com>
131540
131541        Unreviewed, rolling out r60405.
131542        http://trac.webkit.org/changeset/60405
131543        https://bugs.webkit.org/show_bug.cgi?id=39921
131544
131545        It broke GTK build. (Requested by Ossy on #webkit).
131546
131547        * dom/Node.cpp:
131548        (WebCore::Node::getElementsByTagName):
131549        (WebCore::Node::getElementsByTagNameNS):
131550        * dom/Node.h:
131551
1315522010-05-29  Anton Muhin  <antonm@chromium.org>
131553
131554        Reviewed by Darin Adler.
131555
131556        Make NodeList getters take AtomicString instead of plain String
131557        https://bugs.webkit.org/show_bug.cgi?id=39892
131558
131559        Those methods turn String into AtomicString later.  And this conversion
131560        is faster if underlying string is already atomic.
131561        That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
131562        I don't know if Safari benefits from it.
131563
131564        * dom/Node.cpp:
131565        (WebCore::Node::getElementsByTagName):
131566        (WebCore::Node::getElementsByTagNameNS):
131567        * dom/Node.h:
131568
1315692010-05-29  Justin Schuh  <jschuh@chromium.org>
131570
131571        Reviewed by Adam Barth.
131572
131573        Allow descendant frame navigation for file URLs when allowFileAccessFromFileURLs is false
131574        https://bugs.webkit.org/show_bug.cgi?id=39750
131575
131576        Fix for local HTML package breakage when each file is its own origin. 
131577        In this case we should allow descendant file: frames to navigate each 
131578        other when they share the same top frame.
131579
131580        Test: fast/frames/location-change-no-file-access.html
131581
131582        * loader/FrameLoader.cpp:
131583        (WebCore::FrameLoader::shouldAllowNavigation):
131584
1315852010-05-29  Geoffrey Garen  <ggaren@apple.com>
131586
131587        Qt build fix: Updated for ArgList changes.
131588
131589        * bridge/qt/qt_runtime.cpp:
131590        (JSC::Bindings::QtRuntimeConnectionMethod::call):
131591
1315922010-05-29  Geoffrey Garen  <ggaren@apple.com>
131593
131594        Qt build fix: Updated for ArgList changes.
131595
131596        * bridge/qt/qt_runtime.cpp:
131597        (JSC::Bindings::QtRuntimeMetaMethod::call):
131598        (JSC::Bindings::QtRuntimeConnectionMethod::call):
131599
1316002010-05-29  Geoffrey Garen  <ggaren@apple.com>
131601
131602        Qt build fix: Updated for ArgList changes.
131603
131604        * bridge/qt/qt_pixmapruntime.cpp:
131605        (JSC::Bindings::QtPixmapInstance::invokeMethod):
131606        * bridge/qt/qt_runtime.cpp:
131607        (JSC::Bindings::findMethodIndex):
131608        (JSC::Bindings::QtRuntimeMetaMethod::call):
131609        (JSC::Bindings::QtRuntimeConnectionMethod::call):
131610        * bridge/qt/qt_runtime.h:
131611
1316122010-05-29  Geoffrey Garen  <ggaren@apple.com>
131613
131614        Qt build fix: Updated for ArgList changes.
131615
131616        * bridge/qt/qt_pixmapruntime.cpp:
131617        (JSC::Bindings::QtPixmapAssignToElementMethod::invoke):
131618        (JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
131619        (JSC::Bindings::QtPixmapToStringMethod::invoke):
131620        (JSC::Bindings::QtPixmapInstance::invokeMethod):
131621        * bridge/qt/qt_pixmapruntime.h:
131622
1316232010-05-29  Geoffrey Garen  <ggaren@apple.com>
131624
131625        Qt build fix: Keep this borken class limping along.
131626
131627        * bridge/qt/qt_instance.cpp:
131628        (JSC::Bindings::QtInstance::invokeMethod):
131629        * bridge/qt/qt_instance.h:
131630
1316312010-05-28  Geoffrey Garen  <ggaren@apple.com>
131632
131633        Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
131634
131635        Simplified the host calling convention.
131636
131637        PART ONE: Functional code changes.
131638        
131639        [ None in WebCore ]
131640        
131641        PART TWO: Global search and replace.
131642        
131643        In the areas below, I used global search-and-replace to change
131644            (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
131645            args.size() => exec->argumentCount()
131646            args.at(i) => exec->argument(i)
131647
131648        * bindings/js/JSArrayBufferViewCustom.cpp:
131649        (WebCore::JSArrayBufferView::slice):
131650        * bindings/js/JSArrayBufferViewHelper.h:
131651        (WebCore::setWebGLArrayHelper):
131652        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
131653        (WebCore::JSCanvasRenderingContext2D::setFillColor):
131654        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
131655        (WebCore::JSCanvasRenderingContext2D::strokeRect):
131656        (WebCore::JSCanvasRenderingContext2D::drawImage):
131657        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
131658        (WebCore::JSCanvasRenderingContext2D::setShadow):
131659        (WebCore::JSCanvasRenderingContext2D::createPattern):
131660        (WebCore::JSCanvasRenderingContext2D::createImageData):
131661        (WebCore::JSCanvasRenderingContext2D::putImageData):
131662        (WebCore::JSCanvasRenderingContext2D::fillText):
131663        (WebCore::JSCanvasRenderingContext2D::strokeText):
131664        * bindings/js/JSClipboardCustom.cpp:
131665        (WebCore::JSClipboard::clearData):
131666        (WebCore::JSClipboard::getData):
131667        (WebCore::JSClipboard::setDragImage):
131668        * bindings/js/JSDOMApplicationCacheCustom.cpp:
131669        (WebCore::JSDOMApplicationCache::hasItem):
131670        (WebCore::JSDOMApplicationCache::add):
131671        (WebCore::JSDOMApplicationCache::remove):
131672        * bindings/js/JSDOMFormDataCustom.cpp:
131673        (WebCore::JSDOMFormData::append):
131674        * bindings/js/JSDOMWindowCustom.cpp:
131675        (WebCore::JSDOMWindow::open):
131676        (WebCore::JSDOMWindow::showModalDialog):
131677        (WebCore::JSDOMWindow::postMessage):
131678        (WebCore::JSDOMWindow::setTimeout):
131679        (WebCore::JSDOMWindow::setInterval):
131680        (WebCore::JSDOMWindow::addEventListener):
131681        (WebCore::JSDOMWindow::removeEventListener):
131682        (WebCore::JSDOMWindow::openDatabase):
131683        * bindings/js/JSDatabaseCustom.cpp:
131684        (WebCore::JSDatabase::changeVersion):
131685        (WebCore::createTransaction):
131686        (WebCore::JSDatabase::transaction):
131687        (WebCore::JSDatabase::readTransaction):
131688        * bindings/js/JSDatabaseSyncCustom.cpp:
131689        (WebCore::JSDatabaseSync::changeVersion):
131690        (WebCore::createTransaction):
131691        (WebCore::JSDatabaseSync::transaction):
131692        (WebCore::JSDatabaseSync::readTransaction):
131693        * bindings/js/JSDedicatedWorkerContextCustom.cpp:
131694        (WebCore::JSDedicatedWorkerContext::postMessage):
131695        * bindings/js/JSDesktopNotificationsCustom.cpp:
131696        (WebCore::JSNotificationCenter::requestPermission):
131697        * bindings/js/JSFloatArrayCustom.cpp:
131698        (WebCore::JSFloatArray::set):
131699        * bindings/js/JSGeolocationCustom.cpp:
131700        (WebCore::JSGeolocation::getCurrentPosition):
131701        (WebCore::JSGeolocation::watchPosition):
131702        * bindings/js/JSHTMLAllCollectionCustom.cpp:
131703        (WebCore::callHTMLAllCollection):
131704        (WebCore::JSHTMLAllCollection::item):
131705        (WebCore::JSHTMLAllCollection::namedItem):
131706        * bindings/js/JSHTMLCanvasElementCustom.cpp:
131707        (WebCore::JSHTMLCanvasElement::getContext):
131708        * bindings/js/JSHTMLCollectionCustom.cpp:
131709        (WebCore::callHTMLCollection):
131710        (WebCore::JSHTMLCollection::item):
131711        (WebCore::JSHTMLCollection::namedItem):
131712        * bindings/js/JSHTMLDocumentCustom.cpp:
131713        (WebCore::JSHTMLDocument::open):
131714        (WebCore::documentWrite):
131715        (WebCore::JSHTMLDocument::write):
131716        (WebCore::JSHTMLDocument::writeln):
131717        * bindings/js/JSHTMLInputElementCustom.cpp:
131718        (WebCore::JSHTMLInputElement::setSelectionRange):
131719        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
131720        (WebCore::JSHTMLOptionsCollection::add):
131721        (WebCore::JSHTMLOptionsCollection::remove):
131722        * bindings/js/JSHTMLSelectElementCustom.cpp:
131723        (WebCore::JSHTMLSelectElement::remove):
131724        * bindings/js/JSHistoryCustom.cpp:
131725        (WebCore::JSHistory::pushState):
131726        (WebCore::JSHistory::replaceState):
131727        * bindings/js/JSInjectedScriptHostCustom.cpp:
131728        (WebCore::JSInjectedScriptHost::databaseForId):
131729        (WebCore::JSInjectedScriptHost::currentCallFrame):
131730        (WebCore::JSInjectedScriptHost::nodeForId):
131731        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
131732        (WebCore::JSInjectedScriptHost::selectDatabase):
131733        (WebCore::JSInjectedScriptHost::selectDOMStorage):
131734        (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
131735        * bindings/js/JSInspectorFrontendHostCustom.cpp:
131736        (WebCore::JSInspectorFrontendHost::platform):
131737        (WebCore::JSInspectorFrontendHost::port):
131738        (WebCore::JSInspectorFrontendHost::showContextMenu):
131739        * bindings/js/JSInt16ArrayCustom.cpp:
131740        (WebCore::JSInt16Array::set):
131741        * bindings/js/JSInt32ArrayCustom.cpp:
131742        (WebCore::JSInt32Array::set):
131743        * bindings/js/JSInt8ArrayCustom.cpp:
131744        (WebCore::JSInt8Array::set):
131745        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
131746        (WebCore::JSJavaScriptCallFrame::evaluate):
131747        (WebCore::JSJavaScriptCallFrame::scopeType):
131748        * bindings/js/JSLocationCustom.cpp:
131749        (WebCore::JSLocation::replace):
131750        (WebCore::JSLocation::reload):
131751        (WebCore::JSLocation::assign):
131752        (WebCore::JSLocation::toString):
131753        * bindings/js/JSMessageEventCustom.cpp:
131754        (WebCore::JSMessageEvent::initMessageEvent):
131755        * bindings/js/JSMessagePortCustom.cpp:
131756        (WebCore::JSMessagePort::postMessage):
131757        * bindings/js/JSMessagePortCustom.h:
131758        (WebCore::handlePostMessage):
131759        * bindings/js/JSNodeCustom.cpp:
131760        (WebCore::JSNode::insertBefore):
131761        (WebCore::JSNode::replaceChild):
131762        (WebCore::JSNode::removeChild):
131763        (WebCore::JSNode::appendChild):
131764        * bindings/js/JSNodeListCustom.cpp:
131765        (WebCore::callNodeList):
131766        * bindings/js/JSPluginElementFunctions.cpp:
131767        (WebCore::callPlugin):
131768        * bindings/js/JSSQLResultSetRowListCustom.cpp:
131769        (WebCore::JSSQLResultSetRowList::item):
131770        * bindings/js/JSSQLTransactionCustom.cpp:
131771        (WebCore::JSSQLTransaction::executeSql):
131772        * bindings/js/JSSQLTransactionSyncCustom.cpp:
131773        (WebCore::JSSQLTransactionSync::executeSql):
131774        * bindings/js/JSSVGLengthCustom.cpp:
131775        (WebCore::JSSVGLength::convertToSpecifiedUnits):
131776        * bindings/js/JSSVGMatrixCustom.cpp:
131777        (WebCore::JSSVGMatrix::multiply):
131778        (WebCore::JSSVGMatrix::inverse):
131779        (WebCore::JSSVGMatrix::rotateFromVector):
131780        * bindings/js/JSSVGPODListCustom.h:
131781        (WebCore::JSSVGPODListCustom::clear):
131782        (WebCore::JSSVGPODListCustom::initialize):
131783        (WebCore::JSSVGPODListCustom::getItem):
131784        (WebCore::JSSVGPODListCustom::insertItemBefore):
131785        (WebCore::JSSVGPODListCustom::replaceItem):
131786        (WebCore::JSSVGPODListCustom::removeItem):
131787        (WebCore::JSSVGPODListCustom::appendItem):
131788        * bindings/js/JSSVGPathSegListCustom.cpp:
131789        (WebCore::JSSVGPathSegList::clear):
131790        (WebCore::JSSVGPathSegList::initialize):
131791        (WebCore::JSSVGPathSegList::getItem):
131792        (WebCore::JSSVGPathSegList::insertItemBefore):
131793        (WebCore::JSSVGPathSegList::replaceItem):
131794        (WebCore::JSSVGPathSegList::removeItem):
131795        (WebCore::JSSVGPathSegList::appendItem):
131796        * bindings/js/JSUint16ArrayCustom.cpp:
131797        (WebCore::JSUint16Array::set):
131798        * bindings/js/JSUint32ArrayCustom.cpp:
131799        (WebCore::JSUint32Array::set):
131800        * bindings/js/JSUint8ArrayCustom.cpp:
131801        (WebCore::JSUint8Array::set):
131802        * bindings/js/JSWebGLRenderingContextCustom.cpp:
131803        (WebCore::JSWebGLRenderingContext::bufferData):
131804        (WebCore::JSWebGLRenderingContext::bufferSubData):
131805        (WebCore::getObjectParameter):
131806        (WebCore::JSWebGLRenderingContext::getBufferParameter):
131807        (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
131808        (WebCore::JSWebGLRenderingContext::getParameter):
131809        (WebCore::JSWebGLRenderingContext::getProgramParameter):
131810        (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
131811        (WebCore::JSWebGLRenderingContext::getShaderParameter):
131812        (WebCore::JSWebGLRenderingContext::getTexParameter):
131813        (WebCore::JSWebGLRenderingContext::getUniform):
131814        (WebCore::JSWebGLRenderingContext::getVertexAttrib):
131815        (WebCore::JSWebGLRenderingContext::texImage2D):
131816        (WebCore::JSWebGLRenderingContext::texSubImage2D):
131817        (WebCore::dataFunctionf):
131818        (WebCore::dataFunctioni):
131819        (WebCore::dataFunctionMatrix):
131820        (WebCore::JSWebGLRenderingContext::uniform1fv):
131821        (WebCore::JSWebGLRenderingContext::uniform1iv):
131822        (WebCore::JSWebGLRenderingContext::uniform2fv):
131823        (WebCore::JSWebGLRenderingContext::uniform2iv):
131824        (WebCore::JSWebGLRenderingContext::uniform3fv):
131825        (WebCore::JSWebGLRenderingContext::uniform3iv):
131826        (WebCore::JSWebGLRenderingContext::uniform4fv):
131827        (WebCore::JSWebGLRenderingContext::uniform4iv):
131828        (WebCore::JSWebGLRenderingContext::uniformMatrix2fv):
131829        (WebCore::JSWebGLRenderingContext::uniformMatrix3fv):
131830        (WebCore::JSWebGLRenderingContext::uniformMatrix4fv):
131831        (WebCore::JSWebGLRenderingContext::vertexAttrib1fv):
131832        (WebCore::JSWebGLRenderingContext::vertexAttrib2fv):
131833        (WebCore::JSWebGLRenderingContext::vertexAttrib3fv):
131834        (WebCore::JSWebGLRenderingContext::vertexAttrib4fv):
131835        * bindings/js/JSWebSocketCustom.cpp:
131836        (WebCore::JSWebSocket::send):
131837        * bindings/js/JSWorkerContextCustom.cpp:
131838        (WebCore::JSWorkerContext::importScripts):
131839        (WebCore::JSWorkerContext::setTimeout):
131840        (WebCore::JSWorkerContext::setInterval):
131841        (WebCore::JSWorkerContext::openDatabase):
131842        (WebCore::JSWorkerContext::openDatabaseSync):
131843        * bindings/js/JSWorkerCustom.cpp:
131844        (WebCore::JSWorker::postMessage):
131845        * bindings/js/JSXMLHttpRequestCustom.cpp:
131846        (WebCore::JSXMLHttpRequest::open):
131847        (WebCore::JSXMLHttpRequest::send):
131848        * bindings/js/JSXSLTProcessorCustom.cpp:
131849        (WebCore::JSXSLTProcessor::importStylesheet):
131850        (WebCore::JSXSLTProcessor::transformToFragment):
131851        (WebCore::JSXSLTProcessor::transformToDocument):
131852        (WebCore::JSXSLTProcessor::setParameter):
131853        (WebCore::JSXSLTProcessor::getParameter):
131854        (WebCore::JSXSLTProcessor::removeParameter):
131855        * bindings/js/ScheduledAction.cpp:
131856        (WebCore::ScheduledAction::create):
131857        (WebCore::ScheduledAction::ScheduledAction):
131858        * bindings/js/ScheduledAction.h:
131859        * bindings/js/ScriptCallFrame.cpp:
131860        (WebCore::ScriptCallFrame::ScriptCallFrame):
131861        * bindings/js/ScriptCallFrame.h:
131862        * bindings/js/ScriptCallStack.cpp:
131863        (WebCore::ScriptCallStack::ScriptCallStack):
131864        (WebCore::ScriptCallStack::initialize):
131865        * bindings/js/ScriptCallStack.h:
131866        * bindings/scripts/CodeGeneratorJS.pm:
131867        * bridge/c/c_instance.cpp:
131868        (JSC::Bindings::CInstance::invokeMethod):
131869        (JSC::Bindings::CInstance::invokeDefaultMethod):
131870        * bridge/c/c_instance.h:
131871        * bridge/jni/jsc/JavaInstanceJSC.cpp:
131872        (JavaInstance::invokeMethod):
131873        * bridge/jni/jsc/JavaInstanceJSC.h:
131874        * bridge/jsc/BridgeJSC.h:
131875        (JSC::Bindings::Instance::invokeDefaultMethod):
131876        * bridge/objc/objc_instance.h:
131877        * bridge/objc/objc_instance.mm:
131878        (ObjcInstance::invokeMethod):
131879        (ObjcInstance::invokeObjcMethod):
131880        (ObjcInstance::invokeDefaultMethod):
131881        * bridge/objc/objc_runtime.mm:
131882        (JSC::Bindings::callObjCFallbackObject):
131883        * bridge/runtime_method.cpp:
131884        (JSC::callRuntimeMethod):
131885        * bridge/runtime_object.cpp:
131886        (JSC::Bindings::callRuntimeObject):
131887
1318882010-05-28  Stephen White  <senorblanco@chromium.org>
131889
131890        Reviewed by Darin Fisher.
131891
131892        Implement GraphicsContext::setImageInterpolation() for the Chromium
131893        port.  This is preparatory work for bug 38233.  A number of
131894        background-resize tests will need a rebaseline, since the images are
131895        taken during the initial "low quality" phase (<800ms).
131896
131897        [CHROMIUM] Chromium port should support image interpolation quality
131898        https://bugs.webkit.org/show_bug.cgi?id=38686
131899
131900        Covered by fast/backgrounds/size/backgroundSize15.html, and others.
131901
131902        * platform/graphics/skia/GraphicsContextSkia.cpp:
131903        Implement WebCore::GraphicsContext::setImageInterpolationQuality.
131904        * platform/graphics/skia/ImageSkia.cpp:
131905        (WebCore::computeResamplingMode):  Only enable high quality
131906        interpolation if it has been requested in the GraphicsContext.
131907        (WebCore::drawResampledBitmap):  Enable cacheing of resampled images
131908        even if the size is not full (fix from Brett Wilson).
131909        (WebCore::paintSkBitmap):  Pass in the PlatformContextSkia to
131910        computeResamplingMode, so it can query it for interpolation quality.
131911        (WebCore::Image::drawPattern):  Ibid.
131912        * platform/graphics/skia/PlatformContextSkia.cpp:
131913        (PlatformContextSkia::State::State):
131914        (PlatformContextSkia::interpolationQuality):
131915        (PlatformContextSkia::setInterpolationQuality):
131916        * platform/graphics/skia/PlatformContextSkia.h:
131917        Add a member fn and accessors to retain the image interpolation quality
131918        in the platform context, and to save/restore it with the state.
131919
1319202010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
131921
131922        Reviewed by Kenneth Rohde Christiansen.
131923
131924        [EFL] Remove compiler warnings about uninitialized variable.
131925        https://bugs.webkit.org/show_bug.cgi?id=39871
131926
131927        No new tests, just cosmetic changes.
131928
131929        * platform/efl/WidgetEfl.cpp:
131930        (WebCore::Widget::applyCursor):
131931
1319322010-05-28  Vangelis Kokkevis  <vangelis@chromium.org>
131933
131934        Reviewed by Dimitri Glazkov.
131935
131936        Prevent chromium composited layers from rendering on top of the scrollbars.
131937        https://bugs.webkit.org/show_bug.cgi?id=39851
131938
131939        * platform/graphics/chromium/LayerRendererChromium.cpp:
131940        (WebCore::LayerRendererChromium::drawLayers):
131941
1319422010-05-28  Aaron Boodman  <aa@chromium.org>
131943
131944        Reviewed by Darin Fisher.
131945
131946        Added isXHTMLDocument() to WebCore::Document.
131947
131948        https://bugs.webkit.org/show_bug.cgi?id=39887
131949
131950        * dom/Document.h: Add isXHTMLDocument().
131951        (WebCore::Document::isXHTMLDocument): Ditto.
131952
1319532010-05-28  Peter Kasting  <pkasting@google.com>
131954
131955        Reviewed by Darin Adler.
131956
131957        https://bugs.webkit.org/show_bug.cgi?id=39857
131958        Make GIFs loop the correct number of times.  Previously, everyone looped
131959        one time too few for non-infinitely-looping GIFs.
131960
131961        Modified a Qt manual test to be correct and moved it to the general
131962        manual test directory.
131963
131964        * manual-tests/animated-gif-looping.html: Copied from WebCore/manual-tests/qt/qt-gif-test.html.
131965        * manual-tests/qt/qt-10loop-anim.gif: Removed.
131966        * manual-tests/qt/qt-anim.gif: Removed.
131967        * manual-tests/qt/qt-gif-test.html: Removed.
131968        * manual-tests/qt/qt-noanim.gif: Removed.
131969        * manual-tests/resources/animated-10x.gif: Copied from WebCore/manual-tests/qt/qt-10loop-anim.gif and modified.
131970        * manual-tests/resources/animated-infinite.gif: Copied from WebCore/manual-tests/qt/qt-anim.gif.
131971        * manual-tests/resources/non-animated.gif: Copied from WebCore/manual-tests/qt/qt-noanim.gif.
131972        * platform/graphics/BitmapImage.cpp:
131973        (WebCore::BitmapImage::internalAdvanceAnimation): For a loop count of n, show a total of n + 1 animation cycles.
131974        * platform/graphics/ImageSource.h:
131975        * platform/graphics/cg/ImageSourceCG.cpp:
131976        (WebCore::ImageSource::repetitionCount):
131977        * platform/graphics/qt/ImageDecoderQt.cpp:
131978        (WebCore::ImageDecoderQt::repetitionCount): Remove translation code now that WebCore matches Qt's internal handling of the loop count.  Qt itself may still have a bug here.
131979        * platform/image-decoders/gif/GIFImageDecoder.cpp:
131980        (WebCore::GIFImageDecoder::repetitionCount):
131981        * platform/image-decoders/gif/GIFImageReader.cpp:
131982        (GIFImageReader::read): Translate loop count 0 to "loop infinitely" (by restoring one piece of the Mozilla code we'd removed).
131983
1319842010-05-28  Ben Murdoch  <benm@google.com>
131985
131986        Reviewed by Darin Adler.
131987
131988        openFile(...) in FIleSystemPOSIX does not call fileSystemRepresentation
131989        https://bugs.webkit.org/show_bug.cgi?id=39882
131990
131991        No new tests. Existing tests in fast/files should suffice.
131992
131993        * platform/posix/FileSystemPOSIX.cpp:
131994        (WebCore::openFile): pass the path parameter through fileSystemRepresentation before using it.
131995
1319962010-05-28  Adam Barth  <abarth@webkit.org>
131997
131998        Reviewed by Eric Seidel.
131999
132000        Named entities in attributes aren't parsed correctly by HTML5 parser
132001        https://bugs.webkit.org/show_bug.cgi?id=39873
132002
132003        I misplaced this if statement when writing this code originally.  Now
132004        that we have test coverage for this paragraph in the spec, we can see
132005        and fix the bug.
132006
132007        * html/HTML5Lexer.cpp:
132008        (WebCore::HTML5Lexer::consumeEntity):
132009
1320102010-05-28  Adam Barth  <abarth@webkit.org>
132011
132012        Reviewed by Eric Seidel.
132013
132014        Handle edge cases in HTML5 entity parsing
132015        https://bugs.webkit.org/show_bug.cgi?id=39823
132016
132017        The HTML5 specification tells us to handle HTML entities in a somewhat
132018        complicated way.  This patch attempts to correctly handle numeric
132019        entities.  Some of this code is duplicated from HTMLTokenizer.
132020
132021        * html/HTML5Lexer.cpp:
132022        (WebCore::HTMLNames::):
132023        (WebCore::HTMLNames::adjustEntity):
132024        (WebCore::HTMLNames::legalEntityFor):
132025        (WebCore::HTML5Lexer::consumeEntity):
132026        (WebCore::HTML5Lexer::processEntity):
132027        (WebCore::HTML5Lexer::nextToken):
132028        (WebCore::HTML5Lexer::emitCodePoint):
132029        * html/HTML5Lexer.h:
132030
1320312010-05-28  Chris Fleizach  <cfleizach@apple.com>
132032
132033        Reviewed by Beth Dakin.
132034
132035        AX: stop prepping value conversion in accessibilityAttributeValueForParameter
132036        https://bugs.webkit.org/show_bug.cgi?id=39880
132037
132038        Cleaning up a FIXME so that all values are not converted before they're needed in accessibilityAttributeValue:forParameter:
132039
132040        * accessibility/mac/AccessibilityObjectWrapper.mm:
132041        (visiblePositionForTextMarker):
132042        (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
132043        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
132044
1320452010-05-28  Adam Treat  <atreat@rim.com>
132046
132047        Reviewed by Daniel Bates.
132048
132049        RIM Bug #293 and https://bugs.webkit.org/show_bug.cgi?id=39859
132050
132051        Layout is not dependent upon ScrollView::frameRect when useFixedLayout
132052        is true.  No reason to set the needs layout flag in this case.
132053
132054        * platform/ScrollView.cpp:
132055        (WebCore::ScrollView::setFrameRect):
132056
1320572010-05-28  Mikhail Naganov  <mnaganov@chromium.org>
132058
132059        Unreviewed. Revert 60353 -- immature.
132060
132061        https://bugs.webkit.org/show_bug.cgi?id=39646
132062
132063        * bindings/js/JSConsoleCustom.cpp:
132064        * bindings/v8/custom/V8ConsoleCustom.cpp:
132065        * page/Console.cpp:
132066        * page/Console.h:
132067        * page/Console.idl:
132068
1320692010-05-27  Darin Adler  <darin@apple.com>
132070
132071        Reviewed by David Levin.
132072
132073        Make more HTML DOM members private, especially constructors, batch 2
132074        https://bugs.webkit.org/show_bug.cgi?id=39706
132075
132076        Refactoring so no new tests.
132077
132078        Worked my way up from the bottom of HTMLTagNames.in.
132079
132080        * html/HTMLTagNames.in: Removed createWithNew from keygen, listing,
132081        map, marquee, menu, meta, ol, optgroup, option, p, param, pre,
132082        script, select, source, style, table, tbody, td, textarea, tfoot,
132083        th, thead, title, tr, ul, video, xmp, and noscript.
132084
132085        * editing/htmlediting.cpp:
132086        (WebCore::createOrderedListElement): Use create function instead of new.
132087        (WebCore::createUnorderedListElement): Ditto.
132088        * html/HTMLParser.cpp:
132089        (WebCore::HTMLParser::handleError): Ditto.
132090        (WebCore::HTMLParser::mapCreateErrorCheck): Ditto.
132091        * html/HTMLViewSourceDocument.cpp:
132092        (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
132093        (WebCore::HTMLViewSourceDocument::addLine): Ditto.
132094
132095        * html/HTMLKeygenElement.cpp:
132096        (WebCore::HTMLKeygenElement::HTMLKeygenElement): Use create function
132097        instead of new.
132098        (WebCore::HTMLKeygenElement::create): Added.
132099        * html/HTMLKeygenElement.h: Made constructor and virtual function
132100        overrides private, added create function.
132101
132102        * html/HTMLMapElement.cpp:
132103        (WebCore::HTMLMapElement::HTMLMapElement):
132104        (WebCore::HTMLMapElement::create):
132105        * html/HTMLMapElement.h:
132106        * html/HTMLMarqueeElement.cpp:
132107        (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
132108        (WebCore::HTMLMarqueeElement::create):
132109        * html/HTMLMarqueeElement.h:
132110        * html/HTMLMenuElement.cpp:
132111        (WebCore::HTMLMenuElement::HTMLMenuElement):
132112        (WebCore::HTMLMenuElement::create):
132113        * html/HTMLMenuElement.h:
132114        * html/HTMLMetaElement.cpp:
132115        (WebCore::HTMLMetaElement::HTMLMetaElement):
132116        (WebCore::HTMLMetaElement::create):
132117        * html/HTMLMetaElement.h:
132118        * html/HTMLNoScriptElement.cpp:
132119        (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
132120        (WebCore::HTMLNoScriptElement::create):
132121        (WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
132122        * html/HTMLNoScriptElement.h:
132123        * html/HTMLOListElement.cpp:
132124        (WebCore::HTMLOListElement::HTMLOListElement):
132125        (WebCore::HTMLOListElement::create):
132126        * html/HTMLOListElement.h:
132127        * html/HTMLOptGroupElement.cpp:
132128        (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
132129        (WebCore::HTMLOptGroupElement::create):
132130        * html/HTMLOptGroupElement.h:
132131        * html/HTMLOptionElement.cpp:
132132        (WebCore::HTMLOptionElement::HTMLOptionElement):
132133        (WebCore::HTMLOptionElement::create):
132134        * html/HTMLOptionElement.h:
132135        * html/HTMLParagraphElement.cpp:
132136        (WebCore::HTMLParagraphElement::HTMLParagraphElement):
132137        (WebCore::HTMLParagraphElement::create):
132138        * html/HTMLParagraphElement.h:
132139        * html/HTMLParamElement.cpp:
132140        (WebCore::HTMLParamElement::HTMLParamElement):
132141        (WebCore::HTMLParamElement::create):
132142        * html/HTMLParamElement.h:
132143        * html/HTMLPreElement.cpp:
132144        (WebCore::HTMLPreElement::HTMLPreElement):
132145        (WebCore::HTMLPreElement::create):
132146        * html/HTMLPreElement.h:
132147        * html/HTMLQuoteElement.cpp:
132148        (WebCore::HTMLQuoteElement::HTMLQuoteElement):
132149        (WebCore::HTMLQuoteElement::create):
132150        * html/HTMLQuoteElement.h:
132151        * html/HTMLScriptElement.cpp:
132152        (WebCore::HTMLScriptElement::HTMLScriptElement):
132153        (WebCore::HTMLScriptElement::create):
132154        * html/HTMLScriptElement.h:
132155        * html/HTMLSelectElement.cpp:
132156        (WebCore::HTMLSelectElement::create):
132157        * html/HTMLSelectElement.h:
132158        * html/HTMLSourceElement.cpp:
132159        (WebCore::HTMLSourceElement::HTMLSourceElement):
132160        (WebCore::HTMLSourceElement::create):
132161        * html/HTMLSourceElement.h:
132162        * html/HTMLStyleElement.cpp:
132163        (WebCore::HTMLStyleElement::HTMLStyleElement):
132164        (WebCore::HTMLStyleElement::create):
132165        * html/HTMLStyleElement.h:
132166        * html/HTMLTableRowElement.cpp:
132167        (WebCore::HTMLTableRowElement::HTMLTableRowElement):
132168        (WebCore::HTMLTableRowElement::create):
132169        (WebCore::HTMLTableRowElement::insertCell):
132170        * html/HTMLTableRowElement.h:
132171        * html/HTMLTableSectionElement.cpp:
132172        (WebCore::HTMLTableSectionElement::HTMLTableSectionElement):
132173        (WebCore::HTMLTableSectionElement::create):
132174        (WebCore::HTMLTableSectionElement::insertRow):
132175        * html/HTMLTableSectionElement.h:
132176        * html/HTMLTextAreaElement.cpp:
132177        (WebCore::HTMLTextAreaElement::create):
132178        * html/HTMLTextAreaElement.h:
132179        * html/HTMLTitleElement.cpp:
132180        (WebCore::HTMLTitleElement::HTMLTitleElement):
132181        (WebCore::HTMLTitleElement::create):
132182        * html/HTMLTitleElement.h:
132183        * html/HTMLUListElement.cpp:
132184        (WebCore::HTMLUListElement::HTMLUListElement):
132185        (WebCore::HTMLUListElement::create):
132186        * html/HTMLUListElement.h:
132187        * html/HTMLVideoElement.cpp:
132188        (WebCore::HTMLVideoElement::HTMLVideoElement):
132189        (WebCore::HTMLVideoElement::create):
132190        * html/HTMLVideoElement.h:
132191        Made constructors and virtual function overrides private, added
132192        create function.
132193
132194        * html/HTMLTableCellElement.cpp:
132195        (WebCore::HTMLTableCellElement::HTMLTableCellElement): Updated
132196        names of data members. Renamed _row to m_row, _col to m_col,
132197        rSpan to m_rowSpan, cSpan to m_colSpan, and removed unused
132198        rowHeight and m_solid.
132199        (WebCore::HTMLTableCellElement::create): Added.
132200        (WebCore::HTMLTableCellElement::parseMappedAttribute): Updated names.
132201        * html/HTMLTableCellElement.h: Ditto.
132202
132203        * html/HTMLTableElement.cpp:
132204        (WebCore::HTMLTableElement::create): Added.
132205        (WebCore::HTMLTableElement::createTHead): Used create instead of new.
132206        (WebCore::HTMLTableElement::createTFoot): Ditto.
132207        (WebCore::HTMLTableElement::insertRow): Ditto.
132208        * html/HTMLTableElement.h:
132209
132210        * html/HTMLTablePartElement.h: Made members protected instead of
132211        public.
132212
1322132010-05-28  Andreas Kling  <andreas.kling@nokia.com>
132214
132215        Reviewed by Kenneth Rohde Christiansen.
132216
132217        [Qt] REGRESSION(r59837): Incorrect clipping of TransparencyLayers
132218        https://bugs.webkit.org/show_bug.cgi?id=39784
132219
132220        Move coordinate transformation from TransparencyLayer to clipToImageBuffer()
132221
132222        * platform/graphics/qt/GraphicsContextQt.cpp:
132223        (WebCore::TransparencyLayer::TransparencyLayer):
132224        (WebCore::GraphicsContext::clipToImageBuffer):
132225
1322262010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
132227
132228        Reviewed by Kenneth Rohde Christiansen.
132229
132230        [EF] Implement methods for supporting PopupMenu
132231        https://bugs.webkit.org/show_bug.cgi?id=39629
132232
132233        * platform/PopupMenu.h: add needed attribute
132234        * platform/efl/PopupMenuEfl.cpp: implement methods to show/hide popup
132235        menu
132236        (WebCore::PopupMenu::PopupMenu): initialize new attribute
132237        (WebCore::PopupMenu::show): ditto.
132238        (WebCore::PopupMenu::hide): ditto.
132239
1322402010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
132241
132242        Reviewed by Kenneth Rohde Christiansen.
132243
132244        Reorder class initializers to remove compiler warnings.
132245        https://bugs.webkit.org/show_bug.cgi?id=39596
132246
132247        * platform/efl/PlatformKeyboardEventEfl.cpp: ditto.
132248        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): ditto.
132249        * platform/efl/PlatformMouseEventEfl.cpp: ditto.
132250        (WebCore::PlatformMouseEvent::PlatformMouseEvent): ditto.
132251        * platform/efl/PlatformWheelEventEfl.cpp: ditto
132252        (WebCore::PlatformWheelEvent::PlatformWheelEvent): ditto.
132253
1322542010-05-27  Jeremy Orlow  <jorlow@chromium.org>
132255
132256        Reviewed by Steve Block.
132257
132258        Add IndexedDB's IDBIndex
132259        https://bugs.webkit.org/show_bug.cgi?id=39850
132260
132261        Flesh out IDBIndex as much as possible until Andrei finishes
132262        his patch to get around passing Frame*'s all around.  I also
132263        cleaned up a bunch of existing files as I noticed style
132264        violations (while basing my new files off of the old).
132265
132266        Not hooked up enough to test.  Will add tests soon.
132267
132268        * Android.derived.jscbindings.mk
132269        * Android.derived.v8bindings.mk
132270        * Android.mk
132271        * CMakeLists.txt
132272        * DerivedSources.cpp
132273        * DerivedSources.make
132274        * GNUmakefile.am
132275        * WebCore.pri
132276        * WebCore.pro
132277        * WebCore.gypi:
132278        * WebCore.vcproj/WebCore.vcproj
132279        * WebCore.xcodeproj/project.pbxproj
132280        * bindings/js/JSIDBAnyCustom.cpp:
132281        (WebCore::toJS):
132282        * bindings/v8/custom/V8IDBAnyCustom.cpp:
132283        (WebCore::toV8):
132284        * storage/IDBAny.cpp:
132285        (WebCore::IDBAny::idbIndexRequest):
132286        (WebCore::IDBAny::set):
132287        * storage/IDBAny.h:
132288        (WebCore::IDBAny::):
132289        * storage/IDBCallbacks.h:
132290        * storage/IDBDatabase.h:
132291        * storage/IDBDatabaseError.h:
132292        (WebCore::IDBDatabaseError::):
132293        * storage/IDBDatabaseError.idl:
132294        * storage/IDBDatabaseException.h:
132295        * storage/IDBDatabaseException.idl:
132296        * storage/IDBDatabaseImpl.cpp:
132297        * storage/IDBDatabaseImpl.h:
132298        * storage/IDBDatabaseRequest.cpp:
132299        * storage/IDBDatabaseRequest.h:
132300        * storage/IDBDatabaseRequest.idl:
132301        * storage/IDBIndex.h: Added.
132302        (WebCore::IDBIndex::~IDBIndex):
132303        * storage/IDBIndexImpl.cpp: Added.
132304        (WebCore::IDBIndexImpl::IDBIndexImpl):
132305        (WebCore::IDBIndexImpl::~IDBIndexImpl):
132306        * storage/IDBIndexImpl.h: Added.
132307        (WebCore::IDBIndexImpl::create):
132308        (WebCore::IDBIndexImpl::name):
132309        (WebCore::IDBIndexImpl::keyPath):
132310        (WebCore::IDBIndexImpl::unique):
132311        * storage/IDBIndexRequest.cpp: Added.
132312        (WebCore::IDBIndexRequest::IDBIndexRequest):
132313        (WebCore::IDBIndexRequest::~IDBIndexRequest):
132314        * storage/IDBIndexRequest.h: Added.
132315        (WebCore::IDBIndexRequest::create):
132316        (WebCore::IDBIndexRequest::name):
132317        (WebCore::IDBIndexRequest::keyPath):
132318        (WebCore::IDBIndexRequest::unique):
132319        * storage/IDBIndexRequest.idl: Added.
132320        * storage/IDBObjectStore.cpp:
132321        (WebCore::IDBObjectStore::IDBObjectStore):
132322        (WebCore::IDBObjectStore::~IDBObjectStore):
132323        (WebCore::IDBObjectStore::indexNames):
132324        (WebCore::IDBObjectStore::createIndex):
132325        (WebCore::IDBObjectStore::index):
132326        (WebCore::IDBObjectStore::removeIndex):
132327        * storage/IDBObjectStore.h:
132328        * storage/IDBObjectStoreRequest.cpp:
132329        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
132330        (WebCore::IDBObjectStoreRequest::name):
132331        (WebCore::IDBObjectStoreRequest::keyPath):
132332        (WebCore::IDBObjectStoreRequest::indexNames):
132333        (WebCore::IDBObjectStoreRequest::createIndex):
132334        (WebCore::IDBObjectStoreRequest::index):
132335        (WebCore::IDBObjectStoreRequest::removeIndex):
132336        * storage/IDBObjectStoreRequest.h:
132337        * storage/IDBObjectStoreRequest.idl:
132338        * storage/IDBRequest.cpp:
132339        (WebCore::IDBRequest::onSuccess):
132340        * storage/IDBRequest.h:
132341        * storage/IndexedDatabaseRequest.idl:
132342
1323432010-05-28  Yury Semikhatsky  <yurys@chromium.org>
132344
132345        Reviewed by Pavel Feldman.
132346
132347        Web Inspector: hide node highlight when inspected page closes.
132348        https://bugs.webkit.org/show_bug.cgi?id=39872
132349
132350        * inspector/InspectorController.cpp:
132351        (WebCore::InspectorController::~InspectorController):
132352        (WebCore::InspectorController::inspectedPageDestroyed):
132353
1323542010-05-28  Mikhail Naganov  <mnaganov@chromium.org>
132355
132356        Reviewed by Yury Semikhatsky.
132357
132358        Web Inspector: add Console API for retrieving memory stats
132359
132360        Add 'console.memory' property which returns an object. Currently
132361        it has two fields: totalHeapSize and usedHeapSize. Later, it can be
132362        extended for reporting total browser's memory consumption.
132363
132364        https://bugs.webkit.org/show_bug.cgi?id=39840
132365
132366        * bindings/js/JSConsoleCustom.cpp:
132367        (WebCore::JSConsole::memory):
132368        * bindings/v8/custom/V8ConsoleCustom.cpp:
132369        (WebCore::V8Console::memoryAccessorGetter):
132370        * page/Console.cpp:
132371        (WebCore::Console::memory):
132372        * page/Console.h:
132373        * page/Console.idl:
132374
1323752010-05-28  Xan Lopez  <xlopez@igalia.com>
132376
132377        Add new file to the build system.
132378
132379        * GNUmakefile.am:
132380
1323812010-05-28  Antti Koivisto  <koivisto@iki.fi>
132382
132383        Reviewed by Kenneth Rohde Christiansen.
132384
132385        https://bugs.webkit.org/show_bug.cgi?id=39874
132386        [Qt] Make tiled backing store more configurable
132387    
132388        Make tile size, tile creation delay and tiling area dynamically configurable.
132389
132390        * platform/graphics/TiledBackingStore.cpp:
132391        (WebCore::TiledBackingStore::TiledBackingStore):
132392        (WebCore::TiledBackingStore::setTileSize):
132393        (WebCore::TiledBackingStore::setTileCreationDelay):
132394        (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
132395        (WebCore::TiledBackingStore::createTiles):
132396        * platform/graphics/TiledBackingStore.h:
132397        (WebCore::TiledBackingStore::tileSize):
132398        (WebCore::TiledBackingStore::tileCreationDelay):
132399        (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
132400
1324012010-05-28  Eric Seidel  <eric@webkit.org>
132402
132403        Reviewed by Adam Barth.
132404
132405        document.write does not work correctly in the HTML5 parser
132406        https://bugs.webkit.org/show_bug.cgi?id=39828
132407
132408        Added a new HTML5ScriptRunnerHost interface which
132409        HTML5Tokenizer implements.  This allows HTML5ScriptController
132410        to delegate the actual ScriptController::executeScript back to
132411        HTML5Tokenizer.  HTML5Tokenizer saves off the current m_source
132412        before calling ScriptController::executeScript to allow safe
132413        reentrancy through document.write().
132414
132415        * WebCore.xcodeproj/project.pbxproj:
132416         - Added HTML5ScriptRunnerHost.h
132417        * html/HTML5ScriptRunner.cpp:
132418        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
132419        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
132420         - Unregister m_parsingBlockingScript if stopped before
132421           load completion.  This was probably causing some of the
132422           crashes on page navigation we saw during LayoutTest runs.
132423        (WebCore::documentURLForScriptExecution):
132424         - Unify our documentURL handling so all callsites get it right.
132425        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
132426         - Use documentURLForScriptExecution
132427        (WebCore::HTML5ScriptRunner::executePendingScript):
132428         - Call stopWatchingForLoad instead of removeClient()
132429         - Call executeScript instead of ScriptController directly.
132430        (WebCore::HTML5ScriptRunner::executeScript):
132431         - Wraps calls to HTML5ScriptRunnerHost::executeScript
132432        (WebCore::HTML5ScriptRunner::watchForLoad):
132433         - Wraps calls to HTML5ScriptRunnerHost::watchForLoad
132434        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
132435         - Wraps calls to HTML5ScriptRunnerHost::stopWatchingForLoad
132436        (WebCore::HTML5ScriptRunner::requestScript):
132437         - Only watch for load if the CachedScript isn't already loaded.
132438           This gets rid of rentrancy due to addClient calls, and as a result
132439           also stops us from hitting ASSERT(m_scriptNestingLevel)
132440           in executePendingScript.
132441        (WebCore::HTML5ScriptRunner::runScript):
132442         - Use the new fancy documentURLForScriptExecution and executeScript.
132443        * html/HTML5ScriptRunner.h:
132444        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
132445         - Add a watchingForLoad bool so we know if we ever called watchForLoad
132446           with this CachedScript*.
132447        * html/HTML5ScriptRunnerHost.h: Added.
132448        (WebCore::HTML5ScriptRunnerHost::~HTML5ScriptRunnerHost):
132449        * html/HTML5Tokenizer.cpp:
132450        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
132451         - Store an m_document pointer since we need to access
132452           m_document->frame()->script() for script execution.
132453        (WebCore::HTML5Tokenizer::pumpLexer):
132454         - Always pause or unpause the TreeBuilder after script execution.
132455           Previously nested script execution would leave the TreeBuilder
132456           paused even though the top-level loop wanted to resume parsing.
132457           Now whenever m_scriptRunner->execute returns "continue parsing"
132458           parsing will actually continue.  This fixed cases where we would
132459           ignore the rest of the document after document.write() of a script tag.
132460        (WebCore::HTML5Tokenizer::write):
132461         - Explain how document.write() reentrancy is safe in the new world.
132462        (WebCore::HTML5Tokenizer::watchForLoad):
132463         - HTML5ScriptRunnerHost implementation.  We assert that this call will
132464           never cause script execution since that's our current design.
132465        (WebCore::HTML5Tokenizer::stopWatchingForLoad):
132466         - HTML5ScriptRunnerHost implementation.
132467        (WebCore::HTML5Tokenizer::executeScript):
132468         - HTML5ScriptRunnerHost implementation. Save off the current source
132469           before executing scripts in case document.write is called during
132470           script execution.
132471        * html/HTML5Tokenizer.h:
132472         - Implement HTML5ScriptRunnerHost.
132473
1324742010-05-28  Nathan Lawrence  <nlawrence@apple.com>
132475
132476        Reviewed by Geoffrey Garen.
132477
132478        https://bugs.webkit.org/show_bug.cgi?id=39460
132479
132480        Because not just <img> and <image> elements can preload images, we
132481        dont want to restrict the element associated with the loader.
132482
132483        No new tests. Should share the same tests as the last patch.
132484
132485        * html/HTMLImageLoader.cpp:
132486        (WebCore::HTMLImageLoader::notifyFinished):
132487
1324882010-05-27  MORITA Hajime  <morrita@google.com>
132489
132490        Reviewed by Ojan Vafai.
132491
132492        Cursor movement and text selection does not work well if a block is followed by an inline.
132493        https://bugs.webkit.org/show_bug.cgi?id=32123
132494
132495        RenderInline::setSelectionState() missed selection state
132496        propagation for ancestors.  This fix pulled
132497        RenderBlock::setSelectionState() up to RenderBoxModelObject, to
132498        share it with RenderInline.
132499
132500        Test: editing/selection/range-between-block-and-inline.html: Added.
132501        
132502        * rendering/RenderBlock.cpp:
132503        * rendering/RenderBlock.h:
132504        * rendering/RenderBoxModelObject.cpp:
132505        (WebCore::RenderBoxModelObject::setSelectionState):
132506        * rendering/RenderBoxModelObject.h:
132507        Moved setSelectionState() from RenderBlock to RenderBoxModelObject.
132508        
1325092010-05-27  MORITA Hajime  <morrita@google.com>
132510
132511        Not reviewed. Fixed typo
132512
132513        * rendering/RenderTheme.cpp:
132514        (WebCore::RenderTheme::adjustStyle):
132515
1325162010-05-27  Darin Adler  <darin@apple.com>
132517
132518        Reviewed by David Levin.
132519
132520        Make more HTML DOM members private, especially constructors
132521        https://bugs.webkit.org/show_bug.cgi?id=39697
132522
132523        Refactoring, so no new tests needed.
132524
132525        Working my way through HTMLTagNames.in from top to bottom, skipping any
132526        that are non-trivial for some reason.
132527
132528        * html/HTMLTagNames.in: Removed createWithNew from audio, base, basefont,
132529        blockquote, body, br, button, canvas, caption, col, colgroup, datagrid,
132530        datalist, dcell, dcol, drow, del, dir, dl, and fieldset.
132531
132532        * mathml/mathtags.in: Removed createWithNew from msub, and msup.
132533
132534        * dom/Document.cpp:
132535        (WebCore::Document::implicitClose): Use create function instead of new.
132536        (WebCore::Document::getCSSCanvasElement): Ditto.
132537        * editing/IndentOutdentCommand.cpp:
132538        (WebCore::createIndentBlockquoteElement): Ditto.
132539        * editing/htmlediting.cpp:
132540        (WebCore::createBreakElement): Ditto.
132541        * html/HTMLTableElement.cpp:
132542        (WebCore::HTMLTableElement::createCaption): Ditto.
132543        * html/HTMLViewSourceDocument.cpp:
132544        (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
132545        * rendering/RenderTextControl.cpp:
132546        (WebCore::RenderTextControl::setInnerTextValue): Ditto.
132547
132548        * html/HTMLParser.cpp:
132549        (WebCore::HTMLParser::handleError): Use create function instead of new.
132550        Required reordering the code slightly, but the new order works fine.
132551
132552        * html/HTMLAudioElement.cpp:
132553        (WebCore::HTMLAudioElement::create):
132554        * html/HTMLAudioElement.h:
132555        * html/HTMLBRElement.cpp:
132556        (WebCore::HTMLBRElement::create):
132557        * html/HTMLBRElement.h:
132558        * html/HTMLBaseElement.cpp:
132559        (WebCore::HTMLBaseElement::create):
132560        * html/HTMLBaseElement.h:
132561        * html/HTMLBaseFontElement.cpp:
132562        (WebCore::HTMLBaseFontElement::create):
132563        * html/HTMLBaseFontElement.h:
132564        * html/HTMLBlockquoteElement.cpp:
132565        (WebCore::HTMLBlockquoteElement::create):
132566        * html/HTMLBlockquoteElement.h:
132567        * html/HTMLBodyElement.cpp:
132568        (WebCore::HTMLBodyElement::create):
132569        * html/HTMLBodyElement.h:
132570        * html/HTMLButtonElement.cpp:
132571        (WebCore::HTMLButtonElement::create):
132572        * html/HTMLButtonElement.h:
132573        * html/HTMLCanvasElement.cpp:
132574        (WebCore::HTMLCanvasElement::create):
132575        * html/HTMLCanvasElement.h:
132576        * html/HTMLDListElement.cpp:
132577        (WebCore::HTMLDListElement::create):
132578        * html/HTMLDListElement.h:
132579        * html/HTMLDataGridCellElement.cpp:
132580        (WebCore::HTMLDataGridCellElement::create):
132581        * html/HTMLDataGridCellElement.h:
132582        * html/HTMLDataGridColElement.cpp:
132583        (WebCore::HTMLDataGridColElement::create):
132584        * html/HTMLDataGridColElement.h:
132585        * html/HTMLDataGridElement.cpp:
132586        (WebCore::HTMLDataGridElement::create):
132587        * html/HTMLDataGridElement.h:
132588        * html/HTMLDataGridRowElement.cpp:
132589        (WebCore::HTMLDataGridRowElement::create):
132590        * html/HTMLDataGridRowElement.h:
132591        * html/HTMLDataListElement.cpp:
132592        (WebCore::HTMLDataListElement::create):
132593        * html/HTMLDataListElement.h:
132594        * html/HTMLElement.cpp:
132595        (WebCore::HTMLElement::setInnerText):
132596        * html/HTMLFieldSetElement.cpp:
132597        (WebCore::HTMLFieldSetElement::create):
132598        * html/HTMLFieldSetElement.h:
132599        * html/HTMLModElement.cpp:
132600        (WebCore::HTMLModElement::HTMLModElement):
132601        (WebCore::HTMLModElement::create):
132602        * html/HTMLModElement.h:
132603        * html/HTMLTableCaptionElement.cpp:
132604        (WebCore::HTMLTableCaptionElement::create):
132605        * html/HTMLTableCaptionElement.h:
132606        Made constructors and virtual function overrides private, added create functions.
132607        Made constructors inline in cases where they were called in only one place.
132608
132609        * html/HTMLTableColElement.cpp:
132610        (WebCore::HTMLTableColElement::HTMLTableColElement): Changed data member name
132611        from _span to m_span.
132612        (WebCore::HTMLTableColElement::create): Added.
132613        (WebCore::HTMLTableColElement::parseMappedAttribute): Updated to use m_span.
132614        * html/HTMLTableColElement.h:
132615        Made constructor and virtual function overrides private, added create function.
132616        Renamed _span to m_span.
132617
1326182010-05-27  Kwang Yul Seo  <skyul@company100.net>
132619
132620        Reviewed by Darin Adler.
132621
132622        wx port: build fix for Linux
132623        https://bugs.webkit.org/show_bug.cgi?id=39860
132624
132625        Use uint16_t instead of uint16.
132626
132627        * plugins/PluginPackageNone.cpp:
132628        (WebCore::PluginPackage::NPVersion):
132629
1326302010-05-27  Nathan Lawrence  <nlawrence@apple.com>
132631
132632        Reviewed by Geoffrey Garen.
132633
132634        https://bugs.webkit.org/show_bug.cgi?id=39460
132635
132636        Fixes the issue where images prefetched by JavaScript do not report
132637        their memory usage to the GC.
132638
132639        There is a new test manual-tests/image-prefetch-stress.html that loads
132640        a new 4MB image every half a second.
132641
132642        * html/HTMLImageLoader.cpp:
132643        (WebCore::HTMLImageLoader::notifyFinished):
132644        * manual-tests/image-prefetch-stress.html: Added.
132645
1326462010-05-27  Eric Uhrhane  <ericu@chromium.org>
132647
132648        Reviewed by Adam Barth.
132649
132650        Add v8 bindings for async DB API in workers
132651        https://bugs.webkit.org/show_bug.cgi?id=39145
132652
132653        No new tests.  This should share layout tests with JSC.
132654
132655        Tweak the callback generation to switch lots of Frame* to ScriptExecutionContext*, and use the context passed in to handleEvent where possible.
132656        * bindings/scripts/CodeGeneratorV8.pm:
132657
132658        As with CodeGeneratorV8; these are pretty much all tiny tweaks.
132659        We do have to use a slightly different patch for callback invocation in invokeCallback, as V8Proxy::retrieve() doesn't work in the worker context.
132660        * bindings/v8/custom/V8CustomPositionCallback.cpp:
132661        (WebCore::V8CustomPositionCallback::handleEvent):
132662        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
132663        (WebCore::V8CustomPositionErrorCallback::handleEvent):
132664        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
132665        (WebCore::V8SQLStatementErrorCallback::handleEvent):
132666        * bindings/v8/custom/V8CustomVoidCallback.cpp:
132667        (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
132668        (WebCore::V8CustomVoidCallback::handleEvent):
132669        (WebCore::invokeCallback):
132670        * bindings/v8/custom/V8CustomVoidCallback.h:
132671        (WebCore::V8CustomVoidCallback::create):
132672        * bindings/v8/custom/V8DOMWindowCustom.cpp:
132673        (WebCore::V8DOMWindow::openDatabaseCallback):
132674        * bindings/v8/custom/V8DatabaseCustom.cpp:
132675        (WebCore::V8Database::changeVersionCallback):
132676        (WebCore::createTransaction):
132677        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
132678        (WebCore::V8DatabaseSync::changeVersionCallback):
132679        (WebCore::createTransaction):
132680        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
132681        (WebCore::V8NotificationCenter::requestPermissionCallback):
132682        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
132683        (WebCore::V8SQLTransaction::executeSqlCallback):
132684
132685        Add openDatabaseCallback.
132686        * bindings/v8/custom/V8WorkerContextCustom.cpp:
132687        (WebCore::V8WorkerContext::openDatabaseCallback):
132688        Remove an obsolete parameter.
132689        (WebCore::V8WorkerContext::openDatabaseSyncCallback):
132690
1326912010-05-27  Pavel Feldman  <pfeldman@chromium.org>
132692
132693        Reviewed by Yury Semikhatsky.
132694
132695        Web Inspector: [REGRESSION] Query parameters are not displayed in the resources headers section.
132696
132697        https://bugs.webkit.org/show_bug.cgi?id=39848
132698
132699        * inspector/front-end/ResourceView.js:
132700        (WebInspector.ResourceView):
132701        (WebInspector.ResourceView.prototype._refreshRequestPayload):
132702
1327032010-05-27  Nico Weber  <thakis@chromium.org>
132704
132705        Reviewed by Eric Seidel
132706
132707        https://bugs.webkit.org/show_bug.cgi?id=39092
132708
132709        Add Yank support to chromium mac. Do this by moving WebKit Mac's
132710        implementation of Editor::yankFromKillRing() into its own class and
132711        then using that.
132712
132713        * editing/Editor.cpp:
132714          Use new KillRing class.
132715        * editing/Editor.h:
132716        (WebCore::Editor::killRing):
132717          Use new KillRing class.
132718        * editing/EditorCommand.cpp:
132719        (WebCore::executeYankAndSelect):
132720          Use new KillRing class.
132721        * platform/KillRing.h:
132722          Add new KillRing class, which acts as null object.
132723        (WebCore::KillRing::~KillRing):
132724        * platform/mac/KillRingMac.h:
132725          Add new KillRingMac class, which writes to the mac's kill ring.
132726        * platform/mac/KillRingMac.mm:
132727          Add new KillRingMac class, which writes to the mac's kill ring.
132728
1327292010-05-27  Ben Murdoch  <benm@google.com>
132730
132731        Reviewed by Jian Li.
132732
132733        Build break in FileStream.cpp
132734        https://bugs.webkit.org/show_bug.cgi?id=39841
132735
132736        When ENABLE_BLOB_SLICE is not defined, an undefined variable is used
132737        in FileStream.cpp:114. Fix by using the correct variable.
132738
132739        Build fix so no new tests.
132740
132741        * html/FileStream.cpp:
132742        (WebCore::FileStream::openForRead): Replace undefined variable with a defined one.
132743
1327442010-05-27  Hans Wennborg  <hans@chromium.org>
132745
132746        Reviewed by Jeremy Orlow.
132747
132748        [Chromium] Default popup window size should not depend on zoom level
132749        https://bugs.webkit.org/show_bug.cgi?id=39835
132750
132751        V8DOMWindow::openCallback should not set width and height of new
132752        window unless specified in the function's arguments.
132753
132754        There is already code to reset the new window's origin coordinates,
132755        but the same thing should be done to its dimensions as well. Otherwise,
132756        a new popup with unspecified size will have its size depending on the
132757        parent's zoom level, which is not desirable.
132758
132759        This is the same as what is done in
132760        bindings/js/JSDOMWindowCustom.cpp:826.
132761
132762        * bindings/v8/custom/V8DOMWindowCustom.cpp:
132763        (WebCore::V8DOMWindow::openCallback):
132764
1327652010-05-27  Anders Bakken  <agbakken@gmail.com>
132766
132767        Reviewed by David Levin.
132768
132769        qt_instance.cpp has coding-style errors
132770        https://bugs.webkit.org/show_bug.cgi?id=39744
132771
132772        Fix webkit coding style issues in qt_instance.cpp
132773
132774        * bridge/qt/qt_instance.cpp:
132775        (JSC::Bindings::QtInstance::getQtInstance):
132776        (JSC::Bindings::QtInstance::removeCachedMethod):
132777        (JSC::Bindings::QtInstance::markAggregate):
132778        (JSC::Bindings::QtInstance::getPropertyNames):
132779        (JSC::Bindings::QtInstance::stringValue):
132780        (JSC::Bindings::QtField::name):
132781        (JSC::Bindings::QtField::valueFromInstance):
132782
1327832010-05-27  Anders Bakken  <agbakken@gmail.com>
132784
132785        Reviewed by David Levin.
132786
132787        qt_instance.h has coding-style errors
132788        https://bugs.webkit.org/show_bug.cgi?id=39743
132789
132790        Fix webkit coding style issues in qt_instance.h
132791
132792        * bridge/qt/qt_instance.h:
132793
1327942010-05-27  Anders Bakken  <agbakken@gmail.com>
132795
132796        Reviewed by David Levin.
132797
132798        qt_class.h has coding-style errors
132799        https://bugs.webkit.org/show_bug.cgi?id=39742
132800
132801        Fix webkit coding style issues in qt_class.h
132802
132803        * bridge/qt/qt_class.h:
132804
1328052010-05-27  Eric Carlson  <eric.carlson@apple.com>
132806
132807        Reviewed by Darin Adler.
132808
132809        <rdar://problem/8016158> Crash in CVPixelBufferCreateResolvedAttributesDictionary with RLE
132810        compressed movie.
132811
132812        Configure the visual context to generate Direct3D compatible pixel buffers when we are able to
132813        use a CAImageQueue so there will be less conversion required before display. This change also  
132814        works around the issue that causes the RLE compressed movie to crash.
132815
132816        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
132817        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Pass enum to QTMovieVisualContext
132818        constructor instead of CFDictionary.
132819        * platform/graphics/win/QTMovieVisualContext.cpp:
132820        (SetNumberValue):
132821        (getPixelBufferCreationOptions): New, create options dictionary appropriate for the visual 
132822        context type.
132823        (pixelBufferCreationOptions): New, return options dictionary appropriate for the visual 
132824        context type.
132825        (QTMovieVisualContextPriv::QTMovieVisualContextPriv): Get the options dictionary from
132826        getPixelBufferCreationOptions insteaad of taking it as a parameter.
132827        (QTMovieVisualContext::QTMovieVisualContext): Take enum instead of CFDictionary for 
132828        visual context configuration type.
132829        * platform/graphics/win/QTMovieVisualContext.h:
132830
1328312010-05-27  Anders Carlsson  <andersca@apple.com>
132832
132833        Reviewed by Adam Roben.
132834
132835        [Qt] REGRESSION(r60258): It broke 10 tests.
132836        https://bugs.webkit.org/show_bug.cgi?id=39819
132837
132838        * plugins/qt/PluginDataQt.cpp:
132839        (WebCore::PluginData::initPlugins):
132840        Append the MimeClassInfo object after it's been initialized.
132841
1328422010-05-27  Kevin Ollivier  <kevino@theolliviers.com>
132843
132844        [wx] Build fixes for Windows after recent changes.
132845
132846        * platform/graphics/wx/FontWx.cpp:
132847        * wscript:
132848
1328492010-05-27  Chris Fleizach  <cfleizach@apple.com>
132850
132851        No review, build fixage.
132852
132853        Bug 39324 - AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
132854        https://bugs.webkit.org/show_bug.cgi?id=39324
132855
132856        Rolling out change from r60307 until a better fix is ready.
132857
132858        * accessibility/mac/AccessibilityObjectWrapper.mm:
132859        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
132860
1328612010-05-27  Yury Semikhatsky  <yurys@chromium.org>
132862
132863        Reviewed by Pavel Feldman.
132864
132865        [v8] Web Inspector: check that ScriptDebugListener was not removed
132866        while messages were dispatched in the nested loop.
132867        https://bugs.webkit.org/show_bug.cgi?id=39838
132868
132869        * bindings/v8/ScriptDebugServer.cpp:
132870        (WebCore::ScriptDebugServer::handleV8DebugEvent):
132871
1328722010-05-27  Yury Semikhatsky  <yurys@chromium.org>
132873
132874        Reviewed by Pavel Feldman.
132875
132876        [v8] Web Inspector: undefined script URL value should be converted to an emtpy
132877        WebCore::String instead of "undefined" string. Otherwise it's shown
132878        in the Scripts panel with "undefined:<line no>" URL.
132879        https://bugs.webkit.org/show_bug.cgi?id=39845
132880
132881        * bindings/v8/ScriptDebugServer.cpp:
132882        (WebCore::ScriptDebugServer::dispatchDidParseSource):
132883
1328842010-05-27  Chris Fleizach  <cfleizach@apple.com>
132885
132886        Reviewed by Darin Adler.
132887
132888        AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
132889        https://bugs.webkit.org/show_bug.cgi?id=39324
132890
132891        Make sure that accessibilityAttributeValue:forParameter: will default to its super's implementation. This is how AppKit expects objects to behave.
132892
132893        * accessibility/mac/AccessibilityObjectWrapper.mm:
132894        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
132895
1328962010-05-27  Xan Lopez  <xlopez@igalia.com>
132897
132898        More GTK+ distcheck fixes.
132899
132900        * GNUmakefile.am:
132901
1329022010-05-27  Yury Semikhatsky  <yurys@chromium.org>
132903
132904        Reviewed by Pavel Feldman.
132905
132906        [v8] Web Inspector: notify ScriptDebugListener when execution is resumed
132907        https://bugs.webkit.org/show_bug.cgi?id=39838
132908
132909        * bindings/v8/ScriptDebugServer.cpp:
132910        (WebCore::ScriptDebugServer::handleV8DebugEvent):
132911
1329122010-05-27  Anders Bakken  <agbakken@gmail.com>
132913
132914        Reviewed by David Levin.
132915
132916        qt_pixmapruntime.cpp has coding-style errors
132917        https://bugs.webkit.org/show_bug.cgi?id=39745
132918
132919        Fix webkit coding style issues in qt_pixmapruntime.cpp
132920
132921        * bridge/qt/qt_pixmapruntime.cpp:
132922
1329232010-05-26  Jeremy Orlow  <jorlow@chromium.org>
132924
132925        Reviewed by Steve Block.
132926
132927        Clean up IndexedDB layout tests
132928        https://bugs.webkit.org/show_bug.cgi?id=39748
132929
132930        Remove an assert that always fires.
132931
132932        Tests: storage/indexeddb/idb-database-request.html
132933               storage/indexeddb/indexed-database-request.html
132934
132935        * storage/IDBDatabaseImpl.cpp:
132936        (WebCore::IDBDatabaseImpl::objectStores):
132937
1329382010-05-27  Pavel Feldman  <pfeldman@chromium.org>
132939
132940        Reviewed by Yury Semikhatsky.
132941
132942        Web Inspector: Get CSS rule offsets lazily.
132943
132944        https://bugs.webkit.org/show_bug.cgi?id=39832
132945
132946        * inspector/InspectorCSSStore.cpp:
132947        (WebCore::InspectorCSSStore::getStartEndOffsets):
132948        * inspector/InspectorDOMAgent.cpp:
132949        (WebCore::InspectorDOMAgent::buildObjectForRule):
132950
1329512010-05-27  Anders Bakken  <agbakken@gmail.com>
132952
132953        Reviewed by David Levin.
132954
132955        qt_class.cpp has coding-style errors
132956        https://bugs.webkit.org/show_bug.cgi?id=39741
132957
132958        Fix webkit coding style issues in qt_class.cpp
132959
132960        * bridge/qt/qt_class.cpp:
132961        (JSC::Bindings::QtClass::fieldNamed):
132962
1329632010-05-27  Eric Seidel  <eric@webkit.org>
132964
132965        Reviewed by Darin Adler.
132966
132967        Remove bit-rotten INSTRUMENT_LAYOUT_SCHEDULING code from HTMLTokenizer
132968        https://bugs.webkit.org/show_bug.cgi?id=39714
132969
132970        This came from a discussion on #webkit with Hyatt about this code
132971        being old and no longer used to either of our knowledge.
132972
132973        No functional changes, thus no tests.
132974
132975        I also removed a bogus FIXME I had added in an earlier patch
132976        before I understood what the HTMLTokenizer was trying to do.
132977
132978        * html/HTMLTokenizer.cpp:
132979        (WebCore::HTMLTokenizer::scriptHandler):
132980        (WebCore::HTMLTokenizer::scriptExecution):
132981        (WebCore::HTMLTokenizer::continueProcessing):
132982        (WebCore::HTMLTokenizer::willWriteHTML):
132983        (WebCore::HTMLTokenizer::didWriteHTML):
132984        (WebCore::HTMLTokenizer::timerFired):
132985        (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
132986
1329872010-05-27  Anton Muhin  <antonm@chromium.org>
132988
132989        Reviewed by Adam Barth.
132990
132991        Add callbacks to ScriptController to allow notifications on named items additions and removals
132992        https://bugs.webkit.org/show_bug.cgi?id=39679
132993
132994        * bindings/js/ScriptController.h: Callbacks with empty implementation added.
132995        (WebCore::ScriptController::namedItemAdded):
132996        (WebCore::ScriptController::namedItemRemoved):
132997        * bindings/v8/ScriptController.cpp: Empty implementation of callbacks.
132998        (WebCore::ScriptController::namedItemAdded):
132999        (WebCore::ScriptController::namedItemRemoved):
133000        * bindings/v8/ScriptController.h: Callbacks added.
133001        * html/HTMLDocument.cpp: Hooking in callbacks.
133002        (WebCore::HTMLDocument::addItemToMap):
133003        (WebCore::HTMLDocument::removeItemFromMap):
133004        * html/HTMLDocument.h:
133005
1330062010-05-27  Zhenyao Mo  <zmo@google.com>
133007
133008        Reviewed by Dimitri Glazkov.
133009
133010        Implement lazy clearing of renderbuffers
133011        https://bugs.webkit.org/show_bug.cgi?id=36248
133012
133013        Test: fast/canvas/webgl/renderbuffer-initialization.html
133014
133015        * html/canvas/WebGLFramebuffer.cpp:
133016        (WebCore::WebGLFramebuffer::WebGLFramebuffer): Init added members.
133017        (WebCore::WebGLFramebuffer::setAttachment): Set attachment object.
133018        (WebCore::WebGLFramebuffer::onBind): Perform buffer clearing if needed.
133019        (WebCore::WebGLFramebuffer::onAttachedObjectChange): Ditto.
133020        (WebCore::WebGLFramebuffer::isUninitialized): Check whether an attached object is uninitialized renderbuffer.
133021        (WebCore::WebGLFramebuffer::setInitialized): After initialize a renderbuffer, set the flag.
133022        (WebCore::WebGLFramebuffer::initializeRenderbuffers): Clear un-initialized renderbuffers if framebuffer is complete.
133023        * html/canvas/WebGLFramebuffer.h:
133024        (WebCore::WebGLFramebuffer::isDepthAttached): Changed to check object.
133025        (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
133026        (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
133027        * html/canvas/WebGLRenderbuffer.cpp:
133028        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
133029        * html/canvas/WebGLRenderbuffer.h:
133030        (WebCore::WebGLRenderbuffer::isInitialized): As the function name.
133031        (WebCore::WebGLRenderbuffer::setInitialized): Ditto.
133032        * html/canvas/WebGLRenderingContext.cpp:
133033        (WebCore::WebGLRenderingContext::bindFramebuffer): Call onBind().
133034        (WebCore::WebGLRenderingContext::copyTexImage2D): Call onAttachedObjectChange().
133035        (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
133036        (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
133037        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Call setAttachment.
133038        (WebCore::WebGLRenderingContext::framebufferTexture2D): Call onAttachedObjectChange().
133039        (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
133040        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
133041        * platform/graphics/mac/GraphicsContext3DMac.cpp:
133042        (WebCore::GraphicsContext3D::reshape): Initialize internal buffers.
133043
1330442010-05-27  Kristian Monsen  <kristianm@google.com>
133045
133046        Reviewed by Darin Adler.
133047
133048        Compile fix for Android, added include for Refcounted.h, this did not get
133049        included through Threading.h in Android.
133050        https://bugs.webkit.org/show_bug.cgi?id=39678
133051
133052        Build fix only, no new tests.
133053
133054        * storage/SQLTransactionSyncCallback.h:
133055
1330562010-05-27  Joone Hur  <joone@kldp.org>
133057
133058        Reviewed by Xan Lopez.
133059
133060        Add GtkVersioning.h in ScrollbackGtk.cpp for maintaining compatibility with the previous GTK+
133061
133062        https://bugs.webkit.org/show_bug.cgi?id=39567
133063
133064        * platform/gtk/ScrollbarGtk.cpp:
133065
1330662010-05-27  Hans Wennborg  <hans@chromium.org>
133067
133068        Reviewed by Alexey Proskuryakov.
133069
133070        Increase limit on number of (i)frames from 200 to 1000.
133071        https://bugs.webkit.org/show_bug.cgi?id=39427
133072
133073        The limit on number of iframes was introduced in r3707 back in 2003.
133074        An example of a page that is broken because of this is:
133075        http://vimcolorschemetest.googlecode.com/svn/html/index-c.html
133076        Neither Firefox nor IE has such a limit.
133077
133078        It seems that WebKit can handle a significantly higher number of frames, and
133079        the original reasons for imposing the limit are believed to be gone.
133080
133081        Tests: compositing/iframes/lots-of-iframes.html
133082               compositing/iframes/lots-of-objects.html
133083
133084        * html/HTMLFrameElementBase.cpp:
133085        (WebCore::HTMLFrameElementBase::isURLAllowed):
133086        * page/FrameTree.cpp:
133087        (WebCore::FrameTree::uniqueChildName):
133088        * page/Page.h:
133089        * rendering/RenderEmbeddedObject.cpp:
133090        (WebCore::isURLAllowed):
133091
1330922010-05-27  Kwang Yul Seo  <skyul@company100.net>
133093
133094        Reviewed by Xan Lopez.
133095
133096        [GTK] writeToFile fails when length is large
133097        https://bugs.webkit.org/show_bug.cgi?id=39666
133098
133099        writeToFile forgot to increment data pointer.
133100
133101        * platform/gtk/FileSystemGtk.cpp:
133102        (WebCore::writeToFile):
133103
1331042010-05-26  David Hyatt  <hyatt@apple.com>
133105
133106        Reviewed by Sam Weinig.
133107
133108        https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
133109        
133110        Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
133111        |to| argument to be a RenderBlock.
133112        
133113        Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
133114        by hand.
133115
133116        Make the append forms of the functions just use the insert forms with a beforeChild of 0.
133117        
133118        Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
133119        case where it does an append.
133120        
133121        Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
133122        messed up when using append/insertChildNode.
133123
133124        * rendering/RenderBlock.cpp:
133125        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
133126        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
133127        (WebCore::RenderBlock::createAndAppendRootInlineBox):
133128        (WebCore::RenderBlock::moveChildTo):
133129        (WebCore::RenderBlock::moveChildrenTo):
133130        (WebCore::RenderBlock::makeChildrenNonInline):
133131        (WebCore::RenderBlock::removeChild):
133132        * rendering/RenderBlock.h:
133133        (WebCore::RenderBlock::moveChildTo):
133134        (WebCore::RenderBlock::moveAllChildrenTo):
133135        (WebCore::RenderBlock::moveChildrenTo):
133136        * rendering/RenderLayer.cpp:
133137        (WebCore::RenderLayer::addChild):
133138        * rendering/RenderObjectChildList.cpp:
133139        (WebCore::RenderObjectChildList::insertChildNode):
133140        * rendering/RenderRubyBase.cpp:
133141        (WebCore::RenderRubyBase::moveInlineChildren):
133142
1331432010-05-27  Eric Seidel  <eric@webkit.org>
133144
133145        Reviewed by Adam Barth.
133146
133147        Add <pre>/<listing> hack to HTML5Lexer to fix the last remaining HTML5 test suite regressions
133148        https://bugs.webkit.org/show_bug.cgi?id=39818
133149
133150        HTML parsers are supposed to ignore the first \n after a <pre> or <listing> tag
133151        for authoring convenience.  Our new HTML5Lexer didn't have this hack yet
133152        so there were 4 HTML5 tests failing.  Fixing this fixed the last of the HTML5
133153        test suite regressions using the HTML5Lexer vs the old lexer.
133154
133155        * html/HTML5Lexer.cpp:
133156        (WebCore::HTML5Lexer::reset):
133157        (WebCore::HTML5Lexer::nextToken):
133158        * html/HTML5Lexer.h:
133159        (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
133160        * html/HTML5TreeBuilder.cpp:
133161        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
133162
1331632010-05-26  Eric Seidel  <eric@webkit.org>
133164
133165        Reviewed by Adam Barth.
133166
133167        Teach the HTML5 parser how to handle external scripts
133168        https://bugs.webkit.org/show_bug.cgi?id=39716
133169
133170        Make it possible for the HTML5Tokenizer to run external scripts.
133171        I created a new class HTML5ScriptRunner to hold all of the
133172        script-logic which is scattered throughout the old HTMLTokenizer.
133173
133174        The design is for the HTML5Tokenizer (the "controller") to hold
133175        the Lexer, TreeBuilder and ScriptRunner.  The Lexer returns back
133176        to the controller, which passes tokens to the TreeBuilder.  When the
133177        treebuilder encounters a </script> tag it pauses itself and returns
133178        back to the controller which calls the ScriptRunner.  The TreeBuilder
133179        is un-paused when the HTML5Tokenizer calls takeScriptToProcess().
133180
133181        The ScriptRunner attempts to process the passed script, and additionally
133182        any blocked scripts it can.  It returns to the controller indicating if
133183        parsing should continue.  If not, callbacks when external scripts load
133184        or when stylesheets are finished parsing will cause the controller to
133185        kick off script execution and parsing again at a later point.
133186
133187        * WebCore.xcodeproj/project.pbxproj:
133188         - Add HTML5ScriptRunner.*
133189        * bindings/js/CachedScriptSourceProvider.h:
133190         - Add missing include discovered while building.
133191        * dom/ScriptElement.cpp:
133192        (WebCore::ScriptElement::finishParsingChildren):
133193         - Remove previous hack for inline <script> execution.
133194        * dom/ScriptElement.h:
133195         - Explain the HTML5 spec names for m_evaluated and m_createdByParser.
133196        * html/HTML5ScriptRunner.cpp: Added.
133197        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
133198         - The HTML5Tokenizer is passed to the HTML5ScriptRunner as a
133199           CachedResourceClient.  The HTML5ScriptRunner will register the
133200           HTML5Tokenizer for notifyFinished callbacks when the scripts load.
133201           The HTML5Tokenizer is expected to call the HTML5ScriptRunner to
133202           execute any loaded scripts at that point.
133203        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
133204        (WebCore::HTML5ScriptRunner::frame): Helper method.
133205        (WebCore::createScriptLoadEvent): Helper method.
133206        (WebCore::createScriptErrorEvent): Helper method.
133207        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
133208         - Helper method for dealing with both inline and external script types.
133209        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
133210         - Helper for dealing with both inline and external scripts.
133211        (WebCore::HTML5ScriptRunner::executePendingScript):
133212         - Execute one script.  Both external and inline scripts
133213           can become m_parsingBlockingScript if they can't be executed
133214           immediately after parsing.
133215        (WebCore::HTML5ScriptRunner::execute):
133216         - Takes a script element from the tree builder and tries
133217           to process it.
133218        (WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
133219         - Runs the current parsing blocking script if ready.
133220         - Running a script could add another parsing blocking script
133221           so we loop until there is no ready-to-run parsing blocking script.
133222        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
133223         - Called by HTML5Tokenizer when a script loads.
133224        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
133225         - Called by HTML5Tokenizer when stylesheets complete.
133226        (WebCore::HTML5ScriptRunner::requestScript):
133227         - Transcription of the HTML5 spec.
133228        (WebCore::HTML5ScriptRunner::runScript):
133229         - Transcription of the HTML5 spec.
133230        * html/HTML5ScriptRunner.h: Added.
133231         - New class to handle script loading and execution for the HTML5 parser.
133232        * html/HTML5Tokenizer.cpp:
133233        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
133234         - Create a HTML5ScriptRunner and pass it "this" as the CachedResourceClient.
133235        (WebCore::HTML5Tokenizer::pumpLexer):
133236         - When the parser is paused, try to run scripts.
133237        (WebCore::HTML5Tokenizer::write):
133238         - Only pump the lexer when the parser is not paused.
133239        (WebCore::HTML5Tokenizer::end):
133240         - finish() tells us that we've reached EOF, not end()
133241         - Only pump the lexer when the parser is not paused.
133242        (WebCore::HTML5Tokenizer::finish):
133243         - Mark EOF, and end() if we're not waiting on scripts.
133244        (WebCore::HTML5Tokenizer::isWaitingForScripts):
133245         - isPaused() seems to mean isPausedForExternalScripts().
133246        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
133247        (WebCore::HTML5Tokenizer::notifyFinished):
133248        (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
133249        * html/HTML5Tokenizer.h:
133250        * html/HTML5TreeBuilder.cpp:
133251        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
133252         - Add an m_isPaused flag.
133253        (WebCore::HTML5TreeBuilder::handleScriptStartTag):
133254        (WebCore::HTML5TreeBuilder::handleScriptEndTag):
133255        (WebCore::HTML5TreeBuilder::takeScriptToProcess):
133256         - Acknowledge that the caller has received the script element.
133257           It is the caller's responsibility to execute the script if necessary
133258           and re-pause the tree builder if necessary.
133259        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
133260         - Save off the current script tag so that it can be passed to
133261           the HTML5ScriptRunner when we're paused.
133262        * html/HTML5TreeBuilder.h:
133263        (WebCore::HTML5TreeBuilder::setPaused):
133264        (WebCore::HTML5TreeBuilder::isPaused):
133265
1332662010-05-26  Adam Barth  <abarth@webkit.org>
133267
133268        Reviewed by Darin Adler.
133269
133270        Implement SegmentedString::lookAheadSlowCase
133271        https://bugs.webkit.org/show_bug.cgi?id=39802
133272
133273        The slow case is need by the resumer test suite.  Sadly, the resumer
133274        test suite is really slow and produces infinite errors (many of which
133275        are false positives).  I'll land more of the resumer test suite in a
133276        future patch.
133277
133278        * platform/text/SegmentedString.cpp:
133279        (WebCore::SegmentedString::advance):
133280        * platform/text/SegmentedString.h:
133281        (WebCore::SegmentedString::lookAhead):
133282        (WebCore::SegmentedString::lookAheadIgnoringCase):
133283        (WebCore::SegmentedString::equalsLiterally):
133284        (WebCore::SegmentedString::equalsIgnoringCase):
133285        (WebCore::SegmentedString::lookAheadInline):
133286        (WebCore::SegmentedString::lookAheadSlowCase):
133287
1332882010-05-26  Jer Noble  <jer.noble@apple.com>
133289
133290        Patch edited by Adele Peterson and Mark Rowe.
133291        Reviewed by Eric Carlson
133292
133293        Video elements show no video on Windows machines that do not support accelerated compositing
133294        https://bugs.webkit.org/show_bug.cgi?id=39446
133295        rdar://problem/7999794
133296        
133297        Create the visual context in setUpVideoRendering (as opposed to in load), and destroy it in
133298        tearDownVideoRendering (as opposed to in the destructor.)
133299
133300        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
133301        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
133302        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Moved creation of the visual context to setUpVideoRendering.
133303        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Return early if the visual context isn't set up.
133304        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode): If the visual context isn't set up,
133305        return MediaRenderingNone.
133306        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering): Create the visual context.
133307        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering): Destroy the visual context.
133308        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering): For software rendering mode, 
133309        make sure the visual context has been set up when saying the setup has been done.
133310        * platform/graphics/win/QTMovieVisualContext.cpp:
133311        (QTMovieVisualContextPriv::~QTMovieVisualContextPriv): Destruction moved to tearDownVideoRendering.
133312        Also, make sure to cancel the visual context's newImageAvailable callback in the visual context's destructor.
133313        (QTMovieVisualContext::create): Added.
133314        * platform/graphics/win/QTMovieVisualContext.h:
133315
1333162010-05-26  Gustavo Noronha Silva  <gns@gnome.org>
133317
133318        Build fixes for make distcheck.
133319
133320        * GNUmakefile.am:
133321
1333222010-05-26  Zelidrag Hornung  <zelidrag@chromium.org>
133323
133324        Reviewed by Ojan Vafai.
133325
133326        Fixed frame page up/down scrolling calculation. Made sure that the
133327        cursor moves with page up/down event. Please note that now for mac
133328        editing behavior we will scroll the content to center the cursor on
133329        page up/down while other platforms will align the cursor with the top of
133330        displayed frame.
133331        https://bugs.webkit.org/show_bug.cgi?id=38213
133332
133333        Tests: editing/input/option-page-up-down.html (fixed)
133334               editing/input/scroll-viewport-page-up-down.html
133335
133336        * WebCore.base.exp:
133337        * editing/EditorCommand.cpp:
133338        (WebCore::verticalScrollDistance): Fixed page scroll calculation. Now scroll height is calculated only from the visible portion not the entire frame height.
133339        (WebCore::executeMovePageDown): Now it can tell SelectionController to move the cursor with the page scroll up/down events.
133340        (WebCore::executeMovePageDownAndModifySelection): Ditto.
133341        (WebCore::executeMovePageUp): Ditto.
133342        (WebCore::executeMovePageUpAndModifySelection): Ditto.
133343        * editing/SelectionController.cpp:
133344        * editing/SelectionController.cpp: Exposed an enum param that lets EditorCommand.cpp control how cursor position will be aligned when page moves.
133345        (WebCore::SelectionController::setSelection): Ditto.
133346        (WebCore::SelectionController::modify): Ditto.
133347        * editing/SelectionController.h: Ditto.
133348        (WebCore::SelectionController::): Ditto.
133349        (WebCore::SelectionController::setSelection): Ditto.
133350
1333512010-05-26  Jaime Yap  <jaimeyap@google.com>
133352
133353        Reviewed by Pavel Feldman.
133354
133355        ScriptCallStack::callLocation() sometimes passed an empty handle to
133356        toWebCoreString() causing a null pointer deref.
133357        https://bugs.webkit.org/show_bug.cgi?id=39681
133358
133359        * bindings/v8/ScriptCallStack.cpp:
133360        (WebCore::ScriptCallStack::callLocation):
133361
1333622010-05-26  Brian Weinstein  <bweinstein@apple.com>
133363
133364        Reviewed by Mark Rowe.
133365
133366        Web Inspector: Tooltip on Pause on Exceptions doesn't show up until it is clicked.
133367        https://bugs.webkit.org/show_bug.cgi?id=39804
133368        
133369        Initialize the title attribute of the Pause on Exceptions button when we initialize other information
133370        about it. 
133371
133372        * inspector/front-end/ScriptsPanel.js:
133373        (WebInspector.ScriptsPanel):
133374
1333752010-05-26  Adam Barth  <abarth@webkit.org>
133376
133377        Unreviewed, rolling out r60262.
133378        http://trac.webkit.org/changeset/60262
133379        https://bugs.webkit.org/show_bug.cgi?id=39783
133380
133381        Broke every build and is blocking me from working.  :(
133382
133383        * rendering/RenderBlock.cpp:
133384        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
133385        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
133386        (WebCore::RenderBlock::moveChildTo):
133387        (WebCore::RenderBlock::moveAllChildrenTo):
133388        (WebCore::RenderBlock::makeChildrenNonInline):
133389        (WebCore::RenderBlock::removeChild):
133390        * rendering/RenderBlock.h:
133391        * rendering/RenderLayer.cpp:
133392        (WebCore::RenderLayer::addChild):
133393        * rendering/RenderObjectChildList.cpp:
133394        (WebCore::RenderObjectChildList::insertChildNode):
133395        * rendering/RenderRubyBase.cpp:
133396        (WebCore::RenderRubyBase::moveInlineChildren):
133397        (WebCore::RenderRubyBase::moveBlockChildren):
133398        (WebCore::RenderRubyBase::mergeBlockChildren):
133399
1334002010-05-26  Anders Carlsson  <andersca@apple.com>
133401
133402        Unreviewed, rolling out r60256.
133403        http://trac.webkit.org/changeset/60256
133404        https://bugs.webkit.org/show_bug.cgi?id=39382
133405
133406        Causes fast/dom/prototype-inheritance-2.html to start
133407        crashing.
133408
133409        * history/PageCache.cpp:
133410        (WebCore::PageCache::PageCache):
133411        (WebCore::PageCache::add):
133412        * history/PageCache.h:
133413        (WebCore::PageCache::get):
133414        * loader/DocumentLoader.cpp:
133415        (WebCore::DocumentLoader::commitIfReady):
133416        * loader/FrameLoader.cpp:
133417        (WebCore::FrameLoader::canCachePageContainingThisFrame):
133418        (WebCore::FrameLoader::canCachePage):
133419        (WebCore::pageCacheLogPrefix):
133420        (WebCore::pageCacheLog):
133421        (WebCore::FrameLoader::logCanCachePageDecision):
133422        (WebCore::FrameLoader::logCanCacheFrameDecision):
133423        (WebCore::FrameLoader::commitProvisionalLoad):
133424        (WebCore::FrameLoader::open):
133425        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
133426        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
133427        (WebCore::FrameLoader::cachePageForHistoryItem):
133428        (WebCore::FrameLoader::navigateToDifferentDocument):
133429        * loader/FrameLoader.h:
133430        * svg/graphics/SVGImage.cpp:
133431        (WebCore::SVGImage::dataChanged):
133432
1334332010-05-26  David Hyatt  <hyatt@apple.com>
133434
133435        Reviewed by Sam Weinig.
133436
133437        https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
133438        
133439        Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
133440        |to| argument to be a RenderBlock.
133441        
133442        Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
133443        by hand.
133444
133445        Make the append forms of the functions just use the insert forms with a beforeChild of 0.
133446        
133447        Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
133448        case where it does an append.
133449        
133450        Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
133451        messed up when using append/insertChildNode.
133452
133453        * rendering/RenderBlock.cpp:
133454        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
133455        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
133456        (WebCore::RenderBlock::createAndAppendRootInlineBox):
133457        (WebCore::RenderBlock::moveChildTo):
133458        (WebCore::RenderBlock::moveChildrenTo):
133459        (WebCore::RenderBlock::makeChildrenNonInline):
133460        (WebCore::RenderBlock::removeChild):
133461        * rendering/RenderBlock.h:
133462        (WebCore::RenderBlock::moveChildTo):
133463        (WebCore::RenderBlock::moveAllChildrenTo):
133464        (WebCore::RenderBlock::moveChildrenTo):
133465        * rendering/RenderLayer.cpp:
133466        (WebCore::RenderLayer::addChild):
133467        * rendering/RenderObjectChildList.cpp:
133468        (WebCore::RenderObjectChildList::insertChildNode):
133469        * rendering/RenderRubyBase.cpp:
133470        (WebCore::RenderRubyBase::moveInlineChildren):
133471
1334722010-05-26  Anders Carlsson  <andersca@apple.com>
133473
133474        Fix GTK+ test failures.
133475
133476        * plugins/gtk/PluginDataGtk.cpp:
133477        (WebCore::PluginData::initPlugins):
133478        * plugins/win/PluginDataWin.cpp:
133479        (WebCore::PluginData::initPlugins):
133480
1334812010-05-25  Anders Carlsson  <andersca@apple.com>
133482
133483        Reviewed by Darin Adler.
133484
133485        Clean up MimeClassInfo and PluginInfo
133486        https://bugs.webkit.org/show_bug.cgi?id=39700
133487
133488        This gets rid of all the heap allocation from MimeClassInfo and PluginInfo. 
133489        
133490        It also changes the m_plugins and m_mimes vectors in PluginData to not hold heap allocated MimeClassInfo
133491        and PluginClassInfo objects.
133492
133493        * page/Page.cpp:
133494        (WebCore::Page::refreshPlugins):
133495        * plugins/MimeType.cpp:
133496        (WebCore::MimeType::type):
133497        (WebCore::MimeType::suffixes):
133498        (WebCore::MimeType::description):
133499        (WebCore::MimeType::enabledPlugin):
133500        * plugins/MimeType.h:
133501        (WebCore::MimeType::mimeClassInfo):
133502        * plugins/MimeTypeArray.cpp:
133503        (WebCore::MimeTypeArray::item):
133504        (WebCore::MimeTypeArray::canGetItemsForName):
133505        (WebCore::MimeTypeArray::namedItem):
133506        * plugins/Plugin.cpp:
133507        (WebCore::Plugin::name):
133508        (WebCore::Plugin::filename):
133509        (WebCore::Plugin::description):
133510        (WebCore::Plugin::length):
133511        (WebCore::Plugin::item):
133512        (WebCore::Plugin::canGetItemsForName):
133513        (WebCore::Plugin::namedItem):
133514        * plugins/Plugin.h:
133515        (WebCore::Plugin::pluginInfo):
133516        * plugins/PluginArray.cpp:
133517        (WebCore::PluginArray::length):
133518        (WebCore::PluginArray::item):
133519        (WebCore::PluginArray::canGetItemsForName):
133520        (WebCore::PluginArray::namedItem):
133521        (WebCore::PluginArray::pluginData):
133522        * plugins/PluginArray.h:
133523        * plugins/PluginData.cpp:
133524        (WebCore::PluginData::PluginData):
133525        (WebCore::PluginData::~PluginData):
133526        (WebCore::PluginData::supportsMimeType):
133527        (WebCore::PluginData::pluginNameForMimeType):
133528        * plugins/PluginData.h:
133529        (WebCore::operator==):
133530        (WebCore::PluginData::create):
133531        (WebCore::PluginData::disconnectPage):
133532        (WebCore::PluginData::page):
133533        (WebCore::PluginData::plugins):
133534        (WebCore::PluginData::mimes):
133535        * plugins/chromium/PluginDataChromium.cpp:
133536        (WebCore::PluginCache::reset):
133537        (WebCore::PluginCache::plugins):
133538        (WebCore::PluginData::initPlugins):
133539        (WebCore::getPluginMimeTypeFromExtension):
133540        * plugins/gtk/PluginDataGtk.cpp:
133541        (WebCore::PluginData::initPlugins):
133542        * plugins/mac/PluginDataMac.mm:
133543        (WebCore::PluginData::initPlugins):
133544        * plugins/qt/PluginDataQt.cpp:
133545        (WebCore::PluginData::initPlugins):
133546        * plugins/win/PluginDataWin.cpp:
133547        (WebCore::PluginData::initPlugins):
133548        * plugins/wx/PluginDataWx.cpp:
133549        (WebCore::PluginData::initPlugins):
133550
1335512010-05-26  Nate Chapin  <japhet@chromium.org>
133552
133553        Reviewed by Adam Barth.
133554
133555        Factor PageCache functionality out of FrameLoader and into
133556        PageCache.
133557
133558        https://bugs.webkit.org/show_bug.cgi?id=39382
133559
133560        Refactor only, so no new tests.
133561
133562        * history/PageCache.cpp:
133563        (WebCore::pageCacheLogPrefix):
133564        (WebCore::pageCacheLog):
133565        (WebCore::logCanCacheFrameDecision):
133566        (WebCore::logCanCachePageDecision):
133567        (WebCore::PageCache::canCachePageContainingThisFrame):
133568        (WebCore::PageCache::canCache):
133569        (WebCore::PageCache::add):
133570        (WebCore::PageCache::get):
133571        * history/PageCache.h:
133572        * loader/DocumentLoader.cpp:
133573        * loader/FrameLoader.cpp:
133574        (WebCore::FrameLoader::commitProvisionalLoad):
133575        (WebCore::FrameLoader::prepareForCachedPageRestore):
133576        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
133577        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
133578        (WebCore::FrameLoader::navigateToDifferentDocument):
133579        * loader/FrameLoader.h:
133580        (WebCore::FrameLoader::quickRedirectComing):
133581        * svg/graphics/SVGImage.cpp:
133582
1335832010-05-26  Peter Kasting  <pkasting@google.com>
133584
133585        Reviewed by Adam Barth.
133586
133587        https://bugs.webkit.org/show_bug.cgi?id=39786
133588        Properly reset |bytes_to_consume| when reaching the "gif_done" state in
133589        the open-source GIF decoder.
133590        
133591        No tests, since there's no test harness support for checking the
133592        internal ImageDecoder state values.
133593
133594        * platform/image-decoders/gif/GIFImageReader.cpp:
133595        (GIFImageReader::read): Use a macro to perform the state change, like we do everywhere else in the file.  Also correctly return "failure" for certain corrupt GIFs, since that doesn't prevent their display (due to WebKit's different use of this code compared to Mozilla).
133596
1335972010-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>
133598
133599        Unreviewed, rolling out r60251.
133600        http://trac.webkit.org/changeset/60251
133601        https://bugs.webkit.org/show_bug.cgi?id=39788
133602
133603        broke tests (Requested by dhyatt on #webkit).
133604
133605        * rendering/RenderBlock.cpp:
133606        (WebCore::RenderBlock::moveChildTo):
133607        (WebCore::RenderBlock::moveAllChildrenTo):
133608        (WebCore::RenderBlock::makeChildrenNonInline):
133609        (WebCore::RenderBlock::removeChild):
133610        * rendering/RenderBlock.h:
133611        * rendering/RenderRubyBase.cpp:
133612        (WebCore::RenderRubyBase::moveInlineChildren):
133613        (WebCore::RenderRubyBase::moveBlockChildren):
133614        (WebCore::RenderRubyBase::mergeBlockChildren):
133615        * rendering/RenderRubyRun.cpp:
133616        (WebCore::RenderRubyRun::removeChild):
133617
1336182010-05-26  Adam Barth  <abarth@webkit.org>
133619
133620        Reviewed by Eric Seidel.
133621
133622        Fix webkit01.dat resumer tests in HTML5 parser
133623        https://bugs.webkit.org/show_bug.cgi?id=39796
133624
133625        To match the old tokenizer, we should only flush character tokens when
133626        we reach EOF.  Added a notion of a "closed" segmented string that
133627        cannot be appended to, which models EOF.
133628
133629        * html/HTML5Lexer.cpp:
133630        (WebCore::HTML5Lexer::nextToken):
133631        (WebCore::HTML5Lexer::shouldEmitBufferedCharacterToken):
133632        * html/HTML5Lexer.h:
133633        * html/HTML5Tokenizer.cpp:
133634        (WebCore::HTML5Tokenizer::pumpLexer):
133635        (WebCore::HTML5Tokenizer::write):
133636        (WebCore::HTML5Tokenizer::end):
133637        * html/HTML5Tokenizer.h:
133638        * platform/text/SegmentedString.cpp:
133639        (WebCore::SegmentedString::SegmentedString):
133640        (WebCore::SegmentedString::clear):
133641        (WebCore::SegmentedString::append):
133642        * platform/text/SegmentedString.h:
133643        (WebCore::SegmentedString::SegmentedString):
133644        (WebCore::SegmentedString::close):
133645        (WebCore::SegmentedString::isClosed):
133646
1336472010-05-26  Adam Barth  <abarth@webkit.org>
133648
133649        Reviewed by Eric Seidel.
133650
133651        Make HTML5 lexer not ASSERT when resuming partial parses
133652        https://bugs.webkit.org/show_bug.cgi?id=39755
133653
133654        I'm working through a variation of the webkit-runner.html test suite
133655        that stops the parser at every character to make sure we can resume
133656        parsing correctly.  This patch fixes some errors caught by ASSERTs,
133657        which prevent the basic tests from running to completion.  There's a
133658        bunch more work to do, however.
133659
133660        Test: html5lib/webkit-resumer.html
133661
133662        * html/HTML5Lexer.cpp:
133663        (WebCore::HTMLNames::isEndTagBufferingState):
133664        (WebCore::HTML5Lexer::nextToken):
133665        (WebCore::HTML5Lexer::addToPossibleEndTag):
133666        * html/HTML5Lexer.h:
133667        * html/HTML5Tokenizer.cpp:
133668        (WebCore::HTML5Tokenizer::write):
133669        * html/HTML5Tokenizer.h:
133670
1336712010-05-26  Alexey Proskuryakov  <ap@apple.com>
133672
133673        Mac 32 bit build fix.
133674
133675        * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
133676        Use static_cast instead of narrowPrecisionToFloat - the latter can't convert from float to float.
133677
1336782010-05-26  David Hyatt  <hyatt@apple.com>
133679
133680        Reviewed by Ojan.
133681
133682        https://bugs.webkit.org/show_bug.cgi?id=39783, clean up moveChild functions in RenderBlock.
133683
133684        Cut out the need to pass the to block's child list by tightening up the type of the to object
133685        from RenderObject to RenderBlock.
133686
133687        Implement the "append" versions of the move functions using their "insert" counterparts, since
133688        insertChildNode just calls appendChildNode when beforeChild is 0 anyway.
133689
133690        Add comments explaining why the default for fullRemoveInsert is false, and make sure all forms
133691        of the move functions have the optional parameter for consistency.
133692
133693        * rendering/RenderBlock.cpp:
133694        (WebCore::RenderBlock::createAndAppendRootInlineBox):
133695        (WebCore::RenderBlock::moveChildTo):
133696        (WebCore::RenderBlock::moveAllChildrenTo):
133697        (WebCore::RenderBlock::makeChildrenNonInline):
133698        (WebCore::RenderBlock::removeChild):
133699        * rendering/RenderBlock.h:
133700        (WebCore::RenderBlock::moveChildTo):
133701        (WebCore::RenderBlock::moveAllChildrenTo):
133702        * rendering/RenderRubyBase.cpp:
133703        (WebCore::RenderRubyBase::moveInlineChildren):
133704        (WebCore::RenderRubyBase::moveBlockChildren):
133705        (WebCore::RenderRubyBase::mergeBlockChildren):
133706        * rendering/RenderRubyRun.cpp:
133707        (WebCore::RenderRubyRun::removeChild):
133708
1337092010-05-26  Dan Bernstein  <mitz@apple.com>
133710
133711        Typed and reviewed by Alexey Proskuryakov.
133712
133713        https://bugs.webkit.org/show_bug.cgi?id=39682
133714        <rdar://problem/8026774> REGRESSION: WebKit nightly adding insane height to div at random
133715
133716        Test: fast/css/custom-font-xheight.html
133717
133718        * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
133719        Calling an Objective C method that returns a structure with a null object can leave garbage in
133720        returned value. Custom fonts don't have an NSFont, they only have a CGFont. Call
133721        platformBoundsForGlyph() function instead, which works with CGFont.
133722        (WebCore::SimpleFontData::platformBoundsForGlyph): Fixed to work on Tiger (for fonts that
133723        have an NSFont), since this is now used in more cases.
133724
1337252010-05-26  Beth Dakin  <bdakin@apple.com>
133726
133727        Build fix for Mac clean builds.
133728
133729        * storage/IDBDatabaseRequest.idl:
133730
1337312010-05-26  Eric Carlson  <eric.carlson@apple.com>
133732
133733        Reviewed by Dan Bernstein.
133734
133735        Must not cast between CFNumberRef and CFBooleanRef.
133736        <rdar://problem/8030739> 
133737        https://bugs.webkit.org/show_bug.cgi?id=39756
133738
133739        * platform/graphics/win/QTMovieVisualContext.cpp:
133740        (QTMovieVisualContext::getCGImageOptions): QuickTime assumes the value associated 
133741        with kCVPixelBufferCGImageCompatibilityKey is a CFBoolean, so add one.
133742
1337432010-05-26  Xan Lopez  <xlopez@igalia.com>
133744
133745        GTK+ build fix, strike two.
133746
133747        * bindings/gobject/WebKitDOMEventTarget.cpp:
133748        (webkit_dom_event_target_get_type):
133749        (webkit_dom_event_target_default_init):
133750
1337512010-05-26  Jeremy Orlow  <jorlow@chromium.org>
133752
133753        Unreviewed build fix for Windows + clean up the Visual Studio project.
133754
133755        * WebCore.gypi:
133756        * WebCore.vcproj/WebCore.vcproj:
133757
1337582010-05-26  Andrei Popescu  <andreip@google.com>
133759
133760        Reviewed by Jeremy Orlow.
133761
133762        Indexed Database component is missing IDBObjectStoreRequest interface
133763        https://bugs.webkit.org/show_bug.cgi?id=39490
133764
133765        Adding IDL and stub implementation for IDBObjectStoreRequest.
133766
133767        No new tests, indexed database isn't yet testable.
133768
133769        * DerivedSources.cpp:
133770        * DerivedSources.make:
133771        * GNUmakefile.am:
133772        * WebCore.gypi:
133773        * WebCore.pri:
133774        * WebCore.pro:
133775        * WebCore.xcodeproj/project.pbxproj:
133776        * bindings/js/JSIDBObjectStoreRequestCustom.cpp: Added.
133777        (WebCore::JSIDBObjectStoreRequest::remove):
133778        (WebCore::JSIDBObjectStoreRequest::addOrModify):
133779        (WebCore::JSIDBObjectStoreRequest::modify):
133780        (WebCore::JSIDBObjectStoreRequest::add):
133781        (WebCore::JSIDBObjectStoreRequest::get):
133782        * bindings/v8/custom/V8IDBObjectStoreRequestCustom.cpp: Added.
133783        (WebCore::V8IDBObjectStoreRequest::removeCallback):
133784        (WebCore::V8IDBObjectStoreRequest::addOrModifyCallback):
133785        (WebCore::V8IDBObjectStoreRequest::modifyCallback):
133786        (WebCore::V8IDBObjectStoreRequest::addCallback):
133787        (WebCore::V8IDBObjectStoreRequest::getCallback):
133788        * storage/IDBObjectStore.cpp: Added.
133789        * storage/IDBObjectStore.h: Added.
133790        (WebCore::IDBObjectStore::~IDBObjectStore):
133791        * storage/IDBObjectStoreRequest.cpp: Added.
133792        (WebCore::IDBObjectStoreRequest::name):
133793        (WebCore::IDBObjectStoreRequest::keyPath):
133794        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
133795        * storage/IDBObjectStoreRequest.h: Added.
133796        (WebCore::IDBObjectStoreRequest::create):
133797        (WebCore::IDBObjectStoreRequest::~IDBObjectStoreRequest):
133798        * storage/IDBObjectStoreRequest.idl: Added.
133799
1338002010-05-26  Xan Lopez  <xlopez@igalia.com>
133801
133802        Unreviewed GTK+ build fix.
133803
133804        Use G_DEFINE_INTERFACE only if it's available.
133805
133806        * bindings/gobject/WebKitDOMEventTarget.cpp:
133807        (webkit_dom_event_target_get_type):
133808        (webkit_dom_event_target_default_init):
133809
1338102010-05-26  Jeremy Orlow  <jorlow@chromium.org>
133811
133812        Reviewed by Darin Fisher.
133813
133814        Implement WebDOMStorageList and make WebIDBDatabase use it
133815        https://bugs.webkit.org/show_bug.cgi?id=39731
133816
133817        Remove unused function.
133818
133819        * dom/DOMStringList.h:
133820
1338212010-05-26  Jessie Berlin  <jberlin@webkit.org>
133822
133823        Reviewed by Pavel Feldman
133824
133825        Bug 31296 - Web Inspector: Should support console.groupCollapsed
133826        https://bugs.webkit.org/show_bug.cgi?id=31296
133827
133828        * inspector/InspectorController.cpp:
133829        (WebCore::InspectorController::startGroup):
133830        Set the message type based on whether or not it should be initially collapsed.
133831        * inspector/InspectorController.h:
133832
133833        * inspector/front-end/ConsoleView.js:
133834        Treat a StartGroupCollapsed message the same way as a StartGroup message, but display the tree for the group as collapsed.
133835        (WebInspector.ConsoleView.prototype.addMessage):
133836        (WebInspector.ConsoleMessage.prototype.toMessageElement):
133837        (WebInspector.ConsoleMessage.prototype.toString):
133838        (WebInspector.ConsoleGroup.prototype.addMessage):
133839
133840        * page/Console.cpp:
133841        (WebCore::Console::groupCollapsed):
133842        Create a group and indicate that it should be collapsed.
133843        * page/Console.h:
133844        Add the StartGroupCollapsed message type.
133845
133846        (WebCore::):
133847        * page/Console.idl:
133848        Create the JS bindings for groupCollapsed.
133849
1338502010-05-26  yael aharon  <yael.aharon@nokia.com>
133851
133852        Reviewed by Kent Tamura.
133853
133854        Support the labels attribute in labelable form controls
133855        https://bugs.webkit.org/show_bug.cgi?id=38713
133856
133857        Added a new cache type in NodeRareData to store the new cache type.
133858        This cache is created on demand.
133859
133860        Added the "labels" attribute to all form controls that support this attribute.
133861
133862        Tests: fast/forms/labels-add-htmlFor-label.html
133863               fast/forms/labels-add-parent-label.html
133864               fast/forms/labels-change-htmlFor-attribute.html
133865               fast/forms/labels-item-index.html
133866               fast/forms/labels-remove-htmlFor-attribute.html
133867               fast/forms/labels-remove-htmlFor-label.html
133868               fast/forms/labels-remove-parent-label.html
133869               fast/forms/labels-set-htmlFor-attribute.html
133870
133871        * CMakeLists.txt:
133872        * GNUmakefile.am:
133873        * WebCore.gypi:
133874        * WebCore.pro:
133875        * WebCore.vcproj/WebCore.vcproj:
133876        * WebCore.xcodeproj/project.pbxproj:
133877        * dom/Node.cpp:
133878        (WebCore::Node::notifyLocalNodeListsLabelChanged):
133879        (WebCore::Node::removeCachedLabelsNodeList):
133880        (WebCore::NodeListsNodeData::invalidateCaches):
133881        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
133882        (WebCore::NodeListsNodeData::isEmpty):
133883        * dom/Node.h:
133884        * dom/NodeRareData.h:
133885        (WebCore::NodeListsNodeData::NodeListsNodeData):
133886        * html/HTMLButtonElement.idl:
133887        * html/HTMLFormControlElement.cpp:
133888        (WebCore::HTMLFormControlElement::isLabelable):
133889        (WebCore::HTMLFormControlElement::labels):
133890        * html/HTMLFormControlElement.h:
133891        * html/HTMLInputElement.idl:
133892        * html/HTMLLabelElement.cpp:
133893        (WebCore::HTMLLabelElement::parseMappedAttribute):
133894        * html/HTMLLabelElement.h:
133895        * html/HTMLMeterElement.idl:
133896        * html/HTMLProgressElement.idl:
133897        * html/HTMLSelectElement.idl:
133898        * html/HTMLTextAreaElement.idl:
133899        * html/LabelsNodeList.cpp: Added.
133900        (WebCore::LabelsNodeList::LabelsNodeList):
133901        (WebCore::LabelsNodeList::~LabelsNodeList):
133902        (WebCore::LabelsNodeList::nodeMatches):
133903        * html/LabelsNodeList.h: Added.
133904        (WebCore::LabelsNodeList::create):
133905
1339062010-05-26  Xan Lopez  <xlopez@igalia.com>
133907
133908        Reviewed by Jeremy Orlow.
133909
133910        Style fix in JSEventCustom.cpp
133911        https://bugs.webkit.org/show_bug.cgi?id=39727
133912
133913        Conditional includes should be all together after the
133914        unconditional includes.
133915
133916        * bindings/js/JSEventCustom.cpp:
133917
1339182010-05-24  Jeremy Orlow  <jorlow@chromium.org>
133919
133920        Reviewed by Steve Block.
133921
133922        Add IDBDatabase's attributes
133923        https://bugs.webkit.org/show_bug.cgi?id=39602
133924
133925        Add the attributes (like name, description, etc) for
133926        IDBDatabaseRequest.  Plumb that back to the IDBDatabase
133927        object which stores the data.
133928
133929        CMake and Android build changes in another CL (that
133930        fixes other stuff too).
133931
133932        Updated the layout test, but there's some further testing
133933        that needs to be added once the Chromium side of this lands.
133934
133935        * GNUmakefile.am
133936        * WebCore.gypi:
133937        * WebCore.pro
133938        * WebCore.vcproj/WebCore.vcproj
133939        * WebCore.xcodeproj/project.pbxproj
133940        * dom/DOMStringList.h:
133941        (WebCore::DOMStringList::strings):
133942        * storage/IDBDatabase.cpp: Removed.
133943        * storage/IDBDatabase.h:
133944        * storage/IDBDatabaseImpl.cpp: Added.
133945        (WebCore::IDBDatabaseImpl::IDBDatabaseImpl):
133946        (WebCore::IDBDatabaseImpl::~IDBDatabaseImpl):
133947        (WebCore::IDBDatabaseImpl::objectStores):
133948        * storage/IDBDatabaseImpl.h: Added.
133949        (WebCore::IDBDatabaseImpl::create):
133950        (WebCore::IDBDatabaseImpl::name):
133951        (WebCore::IDBDatabaseImpl::description):
133952        (WebCore::IDBDatabaseImpl::version):
133953        * storage/IDBDatabaseRequest.h:
133954        (WebCore::IDBDatabaseRequest::name):
133955        (WebCore::IDBDatabaseRequest::description):
133956        (WebCore::IDBDatabaseRequest::version):
133957        (WebCore::IDBDatabaseRequest::objectStores):
133958        * storage/IDBDatabaseRequest.idl:
133959        * storage/IDBSuccessEvent.cpp:
133960        (WebCore::IDBSuccessEvent::IDBSuccessEvent):
133961        * storage/IndexedDatabaseImpl.cpp:
133962        (WebCore::IndexedDatabaseImpl::open):
133963        * storage/IndexedDatabaseImpl.h:
133964
1339652010-05-26  Xan Lopez  <xlopez@igalia.com>
133966
133967        Reviewed by NOBODY Gustavo Noronha.
133968
133969        [GTK] Add support for DOM events in the GObject DOM bindings
133970        https://bugs.webkit.org/show_bug.cgi?id=38844
133971
133972        Add actual GObject event objects to the DOM event signals.
133973
133974        * GNUmakefile.am:
133975        * bindings/gobject/GObjectEventListener.cpp:
133976        (WebCore::GObjectEventListener::handleEvent):
133977        * bindings/gobject/WebKitDOMBinding.cpp:
133978        (WebKit::wrapEventTarget):
133979        (WebKit::kit):
133980        * bindings/gobject/WebKitDOMBinding.h:
133981        * bindings/gobject/WebKitDOMEventTarget.cpp: Added.
133982        (webkit_dom_event_target_default_init):
133983        (webkit_dom_event_target_dispatch_event):
133984        * bindings/gobject/WebKitDOMEventTarget.h: Added.
133985        * bindings/scripts/CodeGeneratorGObject.pm:
133986
1339872010-05-24  Jeremy Orlow  <jorlow@chromium.org>
133988
133989        Reviewed by Steve Block.
133990
133991        [Android] Add IndexedDB to the build
133992        https://bugs.webkit.org/show_bug.cgi?id=39593
133993
133994        Add the current list of build files to Android's make files.  From now on,
133995        I'll try to be sure to update these along with the rest.
133996        Also, fix a nit in the gypi file.
133997
133998        No tests..just changing build files.
133999
134000        * Android.derived.jscbindings.mk:
134001        * Android.derived.v8bindings.mk:
134002        * Android.mk:
134003        * WebCore.gypi:
134004
1340052010-05-26  Alexander Pavlov  <apavlov@chromium.org>
134006
134007        Reviewed by Pavel Feldman.
134008
134009        Expose CSS rule body start/end offsets in the parent stylesheet
134010        https://bugs.webkit.org/show_bug.cgi?id=38906
134011
134012        CSSParser::parseSheet() accepts an optional external Vector where the start/end offsets
134013        of the CSSStyleRule bodies, relative to the beginning of the stylesheet, will be stored.
134014        This Vector is only used when the Web Inspector needs the body ranges, thus there is no
134015        memory overhead until the user starts editing styles via the Web Inspector.
134016        Additionally, fixed an issue with a single inspectorStyleSheet for all frames in the page.
134017
134018        Test: inspector/styles-source-offsets.html
134019
134020        * css/CSSGrammar.y:
134021        * css/CSSParser.cpp:
134022        (WebCore::CSSParser::CSSParser):
134023        (WebCore::CSSParser::setupParser):
134024        (WebCore::CSSParser::parseSheet):
134025        (WebCore::CSSParser::createStyleRule):
134026        (WebCore::CSSParser::updateLastSelectorLineAndPosition):
134027        (WebCore::CSSParser::markRuleBodyStart):
134028        (WebCore::CSSParser::markRuleBodyEnd):
134029        * css/CSSParser.h:
134030        (WebCore::CSSParser::resetRuleBodyMarks):
134031        * inspector/InspectorCSSStore.cpp:
134032        (WebCore::InspectorCSSStore::InspectorCSSStore):
134033        (WebCore::InspectorCSSStore::reset):
134034        (WebCore::InspectorCSSStore::removeDocument):
134035        (WebCore::InspectorCSSStore::inspectorStyleSheet):
134036        (WebCore::InspectorCSSStore::getStartEndOffsets):
134037        (WebCore::InspectorCSSStore::getIndexInStyleRules):
134038        (WebCore::InspectorCSSStore::disabledStyleForId):
134039        (WebCore::InspectorCSSStore::styleForId):
134040        (WebCore::InspectorCSSStore::ruleForId):
134041        (WebCore::InspectorCSSStore::bindStyle):
134042        (WebCore::InspectorCSSStore::bindStyleSheet):
134043        (WebCore::InspectorCSSStore::bindRule):
134044        * inspector/InspectorCSSStore.h:
134045        * inspector/InspectorController.cpp:
134046        (WebCore::InspectorController::InspectorController):
134047        (WebCore::InspectorController::resourceForURL):
134048        * inspector/InspectorController.h:
134049        (WebCore::InspectorController::inspectorFrontend):
134050        * inspector/InspectorDOMAgent.cpp:
134051        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
134052        (WebCore::InspectorDOMAgent::unbind):
134053        (WebCore::InspectorDOMAgent::getStyles):
134054        (WebCore::InspectorDOMAgent::getAllStyles):
134055        (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
134056        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
134057        (WebCore::InspectorDOMAgent::applyStyleText):
134058        (WebCore::InspectorDOMAgent::setStyleText):
134059        (WebCore::InspectorDOMAgent::setStyleProperty):
134060        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
134061        (WebCore::InspectorDOMAgent::setRuleSelector):
134062        (WebCore::InspectorDOMAgent::addRule):
134063        (WebCore::InspectorDOMAgent::buildObjectForStyle):
134064        (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
134065        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
134066        (WebCore::InspectorDOMAgent::buildObjectForRule):
134067        * inspector/InspectorDOMAgent.h:
134068        * inspector/front-end/DOMAgent.js:
134069        (WebInspector.CSSStyleDeclaration):
134070
1340712010-05-26  Xan Lopez  <xlopez@igalia.com>
134072
134073        Reviewed by Gustavo Noronha.
134074
134075        [GTK] Add support for DOM events in the GObject DOM bindings
134076        https://bugs.webkit.org/show_bug.cgi?id=38844
134077
134078        Use GObject-like names for the DOM event signals. Basically go
134079        from 'mousewheel' to 'mouse-wheel-event'.
134080
134081        * bindings/scripts/CodeGeneratorGObject.pm:
134082
1340832010-05-26  Nikolas Zimmermann  <nzimmermann@rim.com>
134084
134085        Not reviewed. Sort Xcode project file.
134086
134087        * WebCore.xcodeproj/project.pbxproj:
134088
1340892010-05-26  Xan Lopez  <xlopez@igalia.com>
134090
134091        Reviewed by Gustavo Noronha.
134092
134093        [GTK] Add support for DOM events in the GObject DOM bindings
134094        https://bugs.webkit.org/show_bug.cgi?id=38844
134095
134096        First step towards DOM events support. We create one signal per
134097        event supported in the DOM classes, and create a custom
134098        GObjectEventListener that will emit a GObject signal when an event
134099        is dispatched to the object. There is no event object at the
134100        moment (we just pass NULL), and no support for hooking into the
134101        capture phase.
134102
134103        * GNUmakefile.am:
134104        * bindings/gobject/GObjectEventListener.cpp: Added.
134105        (WebCore::GObjectEventListener::handleEvent):
134106        (WebCore::GObjectEventListener::operator==):
134107        * bindings/gobject/GObjectEventListener.h: Added.
134108        (WebCore::GObjectEventListener::create):
134109        (WebCore::GObjectEventListener::cast):
134110        (WebCore::GObjectEventListener::GObjectEventListener):
134111        * bindings/scripts/CodeGeneratorGObject.pm:
134112        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
134113        (WebKit::core):
134114        (webkit_dom_test_callback_finalize):
134115        (webkit_dom_test_callback_class_init):
134116        (WebKit::wrapTestCallback):
134117        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
134118        (WebKit::core):
134119        (webkit_dom_test_interface_finalize):
134120        (webkit_dom_test_interface_class_init):
134121        (WebKit::wrapTestInterface):
134122        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
134123        (WebKit::core):
134124        (webkit_dom_test_obj_finalize):
134125        (webkit_dom_test_obj_class_init):
134126        (WebKit::wrapTestObj):
134127        * dom/EventListener.h:
134128        (WebCore::EventListener::):
134129
1341302010-05-26  Xan Lopez  <xlopez@igalia.com>
134131
134132        Reviewed by Gustavo Noronha.
134133
134134        [GTK] GObject DOM bindings
134135        https://bugs.webkit.org/show_bug.cgi?id=33590
134136
134137        We need to protect the body of some methods with #ifdefs, since
134138        the availability of the code they call into is decided at compile
134139        time.
134140
134141        * bindings/scripts/CodeGeneratorGObject.pm:
134142
1341432010-05-26  Kent Tamura  <tkent@chromium.org>
134144
134145        Reviewed by Shinichiro Hamaji.
134146
134147        Move date/time limit values to DateComponents.h from HTMLInputElement.cpp
134148        https://bugs.webkit.org/show_bug.cgi?id=39423
134149
134150        The minimum and maximum values for date, datetime, datetime-local,
134151        month, time, and week types depend on the implementation of
134152        DateComponents.  So move them to DateComponents.
134153
134154        * html/DateComponents.h:
134155        * html/HTMLInputElement.cpp:
134156        (WebCore::HTMLInputElement::minimum):
134157        (WebCore::HTMLInputElement::maximum):
134158
1341592010-05-26  Csaba Osztrogonác  <ossy@webkit.org>
134160
134161        Reviewed by Simon Hausmann.
134162
134163        Buildfix for build without ENABLE(RUBY) after r60201.
134164
134165        * rendering/RenderBlock.cpp:
134166        (WebCore::canMergeContiguousAnonymousBlocks): Missing #if ENABLE(RUBY) guard added.
134167
1341682010-05-26  Nikolas Zimmermann  <nzimmermann@rim.com>
134169
134170        Not reviewed. Update test expectations for JS generator, when using run-webkit-tests. This has been forgotten.
134171
134172        * bindings/scripts/test/JS/JSTestInterface.cpp:
134173        (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
134174        (WebCore::JSTestInterface::createPrototype):
134175        * bindings/scripts/test/JS/JSTestInterface.h:
134176        (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
134177        * bindings/scripts/test/JS/JSTestObj.cpp:
134178        (WebCore::JSTestObjConstructor::JSTestObjConstructor):
134179        (WebCore::JSTestObj::createPrototype):
134180        * bindings/scripts/test/JS/JSTestObj.h:
134181        (WebCore::JSTestObjPrototype::JSTestObjPrototype):
134182
1341832010-05-25  Philippe Normand  <pnormand@igalia.com>
134184
134185        Reviewed by Gustavo Noronha Silva.
134186
134187        [GStreamer] Apple trailers not playing
134188        https://bugs.webkit.org/show_bug.cgi?id=37390
134189
134190        Set the AppleTrailer User-Agent workaround after
134191        FrameLoader::addExtraFieldsToSubresourceRequest has been called
134192        because that method sets the global User-Agent.
134193
134194        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
134195        (webKitWebSrcStart):
134196
1341972010-05-25  Dumitru Daniliuc  <dumi@chromium.org>
134198
134199        Unreviewed, changing "fts2" to "fts3" in one location I missed in r60188.
134200
134201        * storage/DatabaseAuthorizer.cpp:
134202        (WebCore::DatabaseAuthorizer::dropVTable):
134203
1342042010-05-25  Mark Rowe  <mrowe@apple.com>
134205
134206        Build fix.
134207
134208        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
134209
1342102010-05-25  Yuta Kitamura  <yutak@chromium.org>
134211
134212        Reviewed by Pavel Feldman.
134213
134214        Web Inspector: Show HTTP status message sent from server in Resources tab.
134215
134216        This patch obtains an HTTP status message of each resource and pass it to
134217        the front end of Web Inspector. The status message is shown in "Headers" tab in
134218        the detail view of that resource, along with the HTTP status code.
134219
134220        Web Inspector does not respect HTTP status message
134221        https://bugs.webkit.org/show_bug.cgi?id=39595
134222
134223        * inspector/InspectorResource.cpp:
134224        (WebCore::InspectorResource::updateResponse):
134225        (WebCore::InspectorResource::updateScriptObject):
134226        * inspector/InspectorResource.h:
134227        * inspector/front-end/Resource.js:
134228        (WebInspector.Resource.CompareByTransferSize):
134229        * inspector/front-end/ResourceView.js:
134230        (WebInspector.ResourceView.prototype._refreshHTTPInformation):
134231        * inspector/front-end/inspector.js:
134232        (WebInspector.updateResource):
134233        * inspector/front-end/utilities.js:
134234        (String.prototype.escapeHTML): Escape '"' so that we can escape messages
134235        that may occur inside HTML attributes.
134236
1342372010-05-24  David Hyatt  <hyatt@apple.com>
134238
134239        Reviewed by Dan Bernstein.
134240
134241        https://bugs.webkit.org/show_bug.cgi?id=39615, implement basic support for -webkit-column-span.
134242
134243        This patch adds support for -webkit-column-span elements that can span across all of the columns
134244        in a multi-column block.  In this first stage, column span support is limited to only immediate
134245        children of the multi-column block, so no elements actually have to split across a span yet.
134246
134247        Two new kinds of anonymous blocks have been added: anonymous columns blocks and anonymous column
134248        span blocks.  When a span gets inserted into a multicol block, the block is split, with the
134249        column portions of the multicol getting wrapped in anonymous columns blocks and the spans getting
134250        wrapped in anonymous column span blocks.  The multicol block then stops being multicol and lets
134251        the anonymous multicol blocks take over column layout.
134252        
134253        Many new tests added in fast/multicol/span.
134254
134255        * dom/Node.cpp:
134256        (WebCore::Node::diff):
134257        Changes to column span result in a detach/attach, since spanning elements don't typically have
134258        much content.
134259    
134260        * rendering/RenderBlock.cpp:
134261        (WebCore::RenderBlock::styleDidChange):
134262        Make sure to inherit the appropriate new styles into the anonymous column and column span blocks.
134263
134264        (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
134265        This method handles the insertion of new children into the block after it has had to wrap its
134266        children in anonymous column/column-span blocks.
134267        
134268        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
134269        A helper method for splitting all anonymous blocks between beforeChild and this block so that
134270        a new element with an incompatible type can be inserted between them.
134271        
134272        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
134273        This method does the initial split of a block into anonymous components.  This happens the first
134274        time a column-span element gets inserted into the block.
134275
134276        (WebCore::columnsBlockForSpanningElement):
134277        This function checks whether or not the column-span element is actually being inserted into a viable
134278        columns block.
134279
134280        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
134281        This is the original RenderBlock::addChild.  It handles everything else just like it used to.
134282        
134283        (WebCore::RenderBlock::addChild):
134284        Patched to now call addChildToAnonymousColumnBlocks if the block has wrapped its current children
134285        in anonymous column/column-span blocks already.
134286
134287        (WebCore::RenderBlock::moveAllChildrenTo):
134288        moveAllChildrenTo has been enhanced to support doing a full remove/append in the case where elements
134289        are shifting across layers.  (This should arguably be the default behavior, but that can happen in
134290        a future patch.)
134291
134292        (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
134293        Patched to fix a bug when the leftover block is empty and to prevent anonymous column/column-span
134294        block from being coalesced with a parent if they are non-empty.
134295
134296        (WebCore::canMergeContiguousAnonymousBlocks):
134297        Whether or not two contiguous anonymous blocks can merge after the removal of a child.
134298
134299        (WebCore::RenderBlock::removeChild):
134300        removeChild has been patched to handle more cases of merging/deletion than it did before.  It
134301        can now destroy empty anonymous block chains and can now merge two contiguous anonymous blocks
134302        that don't share the same childrenInline() setting (by putting one inside the other).  It also
134303        makes sure to do full appends/moves/inserts in the cases where the affected blocks have layers.
134304        
134305        (WebCore::RenderBlock::fillSelectionGaps):
134306        Don't let the selection extend outside of a column-span.
134307        
134308        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
134309        Turn off multi-column layout on the outermost block if it has wrapped its children in anonymous
134310        column/column-span blocks.
134311
134312        (WebCore::RenderBlock::createAnonymousBlockWithSameTypeAs):
134313        (WebCore::RenderBlock::createAnonymousColumnsBlock):
134314        (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
134315        New helper functions for anonymous block creation.
134316        
134317        (WebCore::RenderBlock::renderName):
134318        Patched to dump anonymous column and column-span blocks so that they can be distinguished from
134319        regular anonymous blocks.
134320        * rendering/RenderBlock.h:
134321        * rendering/RenderObject.h:
134322        (WebCore::RenderObject::isAnonymousColumnsBlock):
134323        (WebCore::RenderObject::isAnonymousColumnSpanBlock):
134324        New helper functions for asking the type of an anonymous block.
134325        
134326        * rendering/style/RenderStyle.h:
134327        (WebCore::InheritedFlags::inheritColumnPropertiesFrom):
134328        A helper function to allow anonymous column blocks to easily inherit all column properties for
134329        rendering.
134330
1343312010-05-25  Dirk Pranke  <dpranke@chromium.org>
134332
134333        Reviewed by Dimitri Glazkov.
134334
134335        Re-commit r58765 - it had been rolled out to see if it was causing
134336        a perf regression (in r59787), but that does not seem to have been
134337        the case.
134338
134339        Tests: fast/notifications/notifications-replace.html
134340               fast/notifications/notifications-rtl.html
134341
134342        https://bugs.webkit.org/show_bug.cgi?id=39605
134343
134344        * notifications/Notification.h:
134345        (WebCore::Notification::dir):
134346        (WebCore::Notification::setDir):
134347        (WebCore::Notification::replaceId):
134348        (WebCore::Notification::setReplaceId):
134349        * notifications/Notification.idl:
134350
1343512010-05-22  Jer Noble  <jer.noble@apple.com>
134352
134353        Reviewed by Adam Roben.
134354
134355        Full screen doesn't work for video elements
134356        https://bugs.webkit.org/show_bug.cgi?id=39557
134357        rdar://problem/8011813
134358        
134359        Add fullscreen support for MediaPlayerPrivateVisualContext.  A new class, MediaPlayerPrivateFullscreenWindow,
134360        provides the fullscreen hwnd and layer renderer.  Any WKCACFLayer can be provided to MediaPlayerPrivateFullscreenWindow
134361        so future additional MediaPlayerPrivate implementations can use the fullscreen window.
134362        
134363        Minor additions have been made to the FloatSize and IntSize classes.
134364
134365        MediaPlayerPrivateQuickTimeVisualContext now calls retrieveCurrentImage after creating a new 
134366        videoLayer; this is an existing bug that was never really exposed before now.
134367
134368        * WebCore.vcproj/WebCore.vcproj:
134369        * platform/graphics/FloatSize.h: Added aspectRatio() and scale(float).
134370        (WebCore::FloatSize::aspectRatio):
134371        (WebCore::FloatSize::scale):
134372        * platform/graphics/IntSize.h: Added aspectRatio().
134373        (WebCore::IntSize::aspectRatio):
134374        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Added.
134375        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Added.
134376        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Call retrieveCurrentImage() after creating the videoLayer.
134377        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
134378        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
134379        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
134380        * platform/graphics/win/WKCACFLayer.cpp: 
134381        (WebCore::WKCACFLayer::WKCACFLayer):
134382        (WebCore::WKCACFLayer::removeFromSuperlayer):
134383        (WebCore::WKCACFLayer::setFrame):
134384        (WebCore::WKCACFLayer::internalSetNeedsDisplay):
134385        (WebCore::WKCACFLayer::setLayoutClient):
134386        (WebCore::WKCACFLayer::layoutSublayersProc):
134387        (WebCore::WKCACFLayer::layoutClient):
134388        (WebCore::WKCACFLayer::setNeedsLayout):
134389        * platform/graphics/win/WKCACFLayer.h: Add layout client class.
134390        (WebCore::WKCACFLayerLayoutClient::~WKCACFLayerLayoutClient):
134391        (WebCore::WKCACFLayer::frame): Added back frame()/setFrame().
134392        * platform/graphics/win/WebTiledLayer.cpp:
134393        (WebCore::WebTiledLayer::setFrame): Implamented setFrame() in subclass of WKCACFLayer
134394        * platform/graphics/win/WebTiledLayer.h:
134395        * platform/graphics/win/WebTiledLayer.cpp: Added setFrame() overriding WKCACFLayer's implementation
134396        (WebCore::WebTiledLayer::setFrame):
134397        * platform/graphics/win/WebTiledLayer.h:
134398
134399
1344002010-05-25  Dumitru Daniliuc  <dumi@chromium.org>
134401
134402        Reviewed by Brady Eidson.
134403
134404        Allow FTS3 functions.
134405        https://bugs.webkit.org/show_bug.cgi?id=38003
134406
134407        * storage/DatabaseAuthorizer.cpp:
134408        (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
134409        (WebCore::DatabaseAuthorizer::createVTable):
134410
1344112010-05-25  Anders Carlsson  <andersca@apple.com>
134412
134413        Reviewed by Sam Weinig.
134414
134415        Get rid of PluginDatabaseClient
134416        https://bugs.webkit.org/show_bug.cgi?id=39685
134417
134418        PluginDatabaseClient isn't used anywhere so just remove it.
134419
134420        * GNUmakefile.am:
134421        * plugins/PluginDatabase.cpp:
134422        (WebCore::PluginDatabase::PluginDatabase):
134423        (WebCore::PluginDatabase::refresh):
134424        * plugins/PluginDatabase.h:
134425        * plugins/PluginDatabaseClient.h: Removed.
134426
1344272010-05-25  Alexey Proskuryakov  <ap@apple.com>
134428
134429        Reviewed by Darin Adler.
134430
134431        https://bugs.webkit.org/show_bug.cgi?id=18595
134432        REGRESSION (r20766): Setting display:none on an iframe causes the ownerDocument to freeze
134433
134434        Test: fast/events/frame-detached-in-mousedown.html
134435
134436        * page/EventHandler.h: Added a boolean tracking whether EventHandler needs to reset capturing
134437        node on mouse up. It's only done for nodes that hold subframes - elements that capture events
134438        are responsible for resetting the state.
134439
134440        * page/EventHandler.cpp:
134441        (WebCore::EventHandler::EventHandler): Don't initialize m_capturingMouseEventsNode, it's a
134442        RefPtr and is initialized automatically.
134443        (WebCore::EventHandler::handleMousePressEvent): Remember that EventHandler should reset
134444        capturing node on its own.
134445        (WebCore::EventHandler::handleMouseDoubleClickEvent): The code here looked like it was copied
134446        from the below in r21156. Copied correct code instead.
134447        (WebCore::EventHandler::handleMouseReleaseEvent): We only clear the capturing node when it
134448        holds a subframe, but the frame may be already detached by the time mouse up is handled, so the
134449        check was wrong - and return code of passMouseReleaseEventToSubframe() is obviously irrelevant.
134450        (WebCore::EventHandler::setCapturingMouseEventsNode): Remember that EventHandler should not
134451        reset capturing node on its own.
134452
1344532010-05-25  Kevin Ollivier  <kevino@theolliviers.com>
134454
134455        [wx] Build fix for missing symbol.
134456
134457        * wscript:
134458
1344592010-05-25  Darin Adler  <darin@apple.com>
134460
134461        * dom/Element.cpp:
134462        (WebCore::Element::getIDAttribute): Added comments about problems with this function.
134463
1344642010-05-25  Leandro Pereira  <leandro@profusion.mobi>
134465
134466        Reviewed by Gustavo Noronha Silva.
134467
134468        [EFL] Build fix.
134469        http://webkit.org/b/39598
134470
134471        * CMakeLists.txt:
134472
1344732010-05-25  Enrica Casucci  <enrica@apple.com>
134474
134475        Reviewed by Darin Adler.
134476
134477        REGRESSION(51522): typing at the end of a line in designMode documents is *very* slow.
134478        https://bugs.webkit.org/show_bug.cgi?id=36037
134479        <rdar://problem/8022887>
134480
134481        The performance regression was traced to r51522 but this is not entirely true. That revision introduced, among other things,
134482        additional checks in the method isCandidate of both Position and PositionIterator classes to support scenarios of mixed editability
134483        that were not allowed before. This change uncovered an underlying issue with the decrement method of PositionIterator, that in some
134484        cases would iterate through every position as offset in a block before moving to the last child in the block.
134485        This was exactly the case of the attached test case, where, trying to check if the caret was placed at the end of a block, we were examining
134486        every position in the block before considering the last true position in the block.
134487        The performance was linear with the number of child nodes in the block, instead of constant.
134488        
134489        * dom/PositionIterator.cpp:
134490        (WebCore::PositionIterator::decrement):
134491
1344922010-05-25  Alexey Proskuryakov  <ap@apple.com>
134493
134494        Reviewed by Darin Adler.
134495
134496        https://bugs.webkit.org/show_bug.cgi?id=39621
134497        <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test
134498
134499        The largest cause of memory growth on this test were autoreleased DOMNode objects created
134500        to make webView:formStateDidChangeForNode: delegate calls.
134501
134502        * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
134503        Don't call notifyFormStateChanged() - since the element starts with refcount 0, it's not
134504        safe to call functions that are likely to create temporary wrappers (wrapper destructor
134505        would bring refcount back to 0, and destroy HTMLTextAreaElement from within its constructor).
134506
1345072010-05-25  Kent Tamura  <tkent@chromium.org>
134508
134509        Reviewed by Dimitri Glazkov.
134510
134511        [DRT/Chromium] Enable 3D_CANVAS, FILTERS, METER_TAG and PROGRESS_TAG
134512        https://bugs.webkit.org/show_bug.cgi?id=39652
134513
134514        * rendering/RenderTheme.cpp:
134515        (WebCore::RenderTheme::paintMeter): Fix narrowPrecisionToFloat() usage.
134516
1345172010-05-25  Darin Adler  <darin@apple.com>
134518
134519        Sort ".exp" files with the sort tool.
134520        This makes later merging easier.
134521
134522        These Mac-specific files should probably move into a subdirectory
134523        at some point.
134524
134525        * WebCore.Inspector.exp: Sorted.
134526        * WebCore.PluginHostProcess.exp: Removed blank line.
134527        * WebCore.VideoProxy.exp: Sorted.
134528        * WebCore.base.exp: Ditto.
134529
1345302010-05-25  Vangelis Kokkevis  <vangelis@chromium.org>
134531
134532        Reviewed by Darin Fisher.
134533
134534        Removing the persistent GraphicsContext from LayerChromium to save on
134535        memory and simplify code. Layers now create a temporary context, draw into
134536        it, update the GL texture and discard the context.
134537        https://bugs.webkit.org/show_bug.cgi?id=39640
134538
134539        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
134540        (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
134541        * platform/graphics/chromium/LayerChromium.cpp:
134542        (WebCore::LayerChromium::LayerChromium):
134543        (WebCore::LayerChromium::~LayerChromium):
134544        (WebCore::LayerChromium::setLayerRenderer):
134545        (WebCore::LayerChromium::updateTextureContents):
134546        (WebCore::LayerChromium::setContents):
134547        (WebCore::LayerChromium::setBounds):
134548        (WebCore::LayerChromium::setNeedsDisplay):
134549        * platform/graphics/chromium/LayerChromium.h:
134550        * platform/graphics/chromium/LayerRendererChromium.cpp:
134551        (WebCore::LayerRendererChromium::~LayerRendererChromium):
134552        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
134553        (WebCore::LayerRendererChromium::drawLayers):
134554        (WebCore::LayerRendererChromium::assignTextureForLayer):
134555        (WebCore::LayerRendererChromium::compositeLayersRecursive):
134556        * platform/graphics/chromium/LayerRendererChromium.h:
134557        (WebCore::LayerRendererChromium::rootLayerGraphicsContext):
134558
1345592010-05-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>
134560
134561        Reviewed by Simon Hausmann.
134562
134563        [Qt] Make text filling work together with text stroke.
134564
134565        When the text has stroke a new QPen was set, overriding the pen
134566        set for text filling. This patch fixes that by storing the two
134567        pens and using where appropriate.
134568
134569        * platform/graphics/qt/FontQt.cpp:
134570        (WebCore::Font::drawComplexText):
134571
1345722010-05-17  Antonio Gomes  <tonikitoo@webkit.org>
134573
134574        Reviewed by Darin Adler.
134575
134576        Add an optional "starting node' parameter to scrollRecursively and scrollOverflow of EventHandler
134577        https://bugs.webkit.org/show_bug.cgi?id=39217
134578
134579        It would be usefull if scrollOverflow and scrollRecursively methods of EventHandler
134580        could receive a parameter to specify where to start scrolling from. Currently they
134581        start scrolling from either the current focused node or the node where mouse last
134582        pressed on. Patch proposes an aditional starting point as an optional parameter.
134583        Since it is optional, all call sites can remain as are, and if a Null node is passed
134584        in, both methods work as previously.
134585
134586        * page/EventHandler.cpp:
134587        (WebCore::EventHandler::scrollOverflow):
134588        (WebCore::EventHandler::scrollRecursively):
134589        * page/EventHandler.h:
134590
1345912010-05-25  Yury Semikhatsky  <yurys@chromium.org>
134592
134593        Reviewed by Timothy Hatcher.
134594
134595        Web Inspector: localize heap graph strings.
134596
134597        https://bugs.webkit.org/show_bug.cgi?id=39674
134598
134599        * English.lproj/localizedStrings.js:
134600
1346012010-05-25  Adam Barth  <abarth@webkit.org>
134602
134603        Reviewed by Eric Seidel.
134604
134605        Switch HTML parsing benchmark to use document.write instead of innerHTML
134606        https://bugs.webkit.org/show_bug.cgi?id=39661
134607
134608        We'd like to exercise the main parsing pipeline instead of the fragment
134609        parsing pipeline.
134610
134611        * benchmarks/parser/html-parser.html:
134612
1346132010-05-25  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
134614
134615        Reviewed by Laszlo Gombos.
134616
134617        [Qt] Running with accelerated compositing enabled sometimes result in a crash
134618        https://bugs.webkit.org/show_bug.cgi?id=39609
134619
134620        Check if we have a scene before applying the workaround for
134621        the QGraphicsScene bug where opacity change doesn't always have
134622        immediate effect.
134623
134624        * platform/graphics/qt/GraphicsLayerQt.cpp:
134625        (WebCore::OpacityAnimationQt::applyFrame):
134626
1346272010-05-25  Yury Semikhatsky  <yurys@chromium.org>
134628
134629        Unreviewed. Fix Chromium Mac Release build.
134630
134631        * bindings/v8/ScriptDebugServer.cpp:
134632
1346332010-05-24  Yury Semikhatsky  <yurys@chromium.org>
134634
134635        Reviewed by Pavel Feldman.
134636
134637        ScriptDebugServer is now implemented as DebugEventListener which means it doesn't
134638        depend on v8 debugging protocol, instead it uses ExecState to collect debugging
134639        info and pass it to the listeners.
134640
134641        New implementation of ScriptDebugServer uses methods provided by client to dispatch
134642        its messages while JS is paused(previously the messages was dispatched in a callback
134643        passed to v8 along with DebugEventHandler).
134644
134645        https://bugs.webkit.org/show_bug.cgi?id=39594
134646
134647        * bindings/js/ScriptDebugServer.cpp:
134648        (WebCore::ScriptDebugServer::dispatchDidPause):
134649        (WebCore::ScriptDebugServer::dispatchDidContinue):
134650        (WebCore::ScriptDebugServer::dispatchFunctionToListeners): Changed method signature to allow
134651        invocation of ScriptDebugListener methods that have non-empty argument list.
134652        (WebCore::ScriptDebugServer::pauseIfNeeded):
134653        * bindings/js/ScriptDebugServer.h:
134654        * bindings/v8/ScriptDebugServer.cpp:
134655        (WebCore::retrieveFrame):
134656        (WebCore::ScriptDebugServer::ScriptDebugServer):
134657        (WebCore::ScriptDebugServer::addListener):
134658        (WebCore::ScriptDebugServer::removeListener): Execution is resumed(nested message loop is terminated) when
134659        corresponding debugger window closes.
134660        (WebCore::ScriptDebugServer::clearBreakpoints):
134661        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
134662        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
134663        (WebCore::ScriptDebugServer::continueProgram):
134664        (WebCore::ScriptDebugServer::stepIntoStatement):
134665        (WebCore::ScriptDebugServer::stepOverStatement):
134666        (WebCore::ScriptDebugServer::stepOutOfFunction):
134667        (WebCore::ScriptDebugServer::v8DebugEventCallback):
134668        (WebCore::ScriptDebugServer::handleV8DebugEvent):
134669        (WebCore::ScriptDebugServer::didResume):
134670        * bindings/v8/ScriptDebugServer.h:
134671        (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
134672        (WebCore::ScriptDebugServer::setClientMessageLoop):
134673        * inspector/InspectorController.cpp:
134674        (WebCore::InspectorController::didPause):
134675        * inspector/InspectorController.h:
134676        * inspector/ScriptDebugListener.h: Changed didPause signature to explicitly pass ScriptState
134677        where execution is paused.
134678
1346792010-05-25  Adam Barth  <abarth@webkit.org>
134680
134681        Reviewed by Eric Seidel.
134682
134683        Clear attributes for each tag in the HTML5 parser
134684        https://bugs.webkit.org/show_bug.cgi?id=39660
134685
134686        Yes, I did screw this up.
134687
134688        * html/HTML5Token.h:
134689        (WebCore::HTML5Token::beginStartTag):
134690        (WebCore::HTML5Token::beginEndTag):
134691
1346922010-05-25  Anders Bakken  <agbakken@gmail.com>
134693
134694        Reviewed by Darin Adler.
134695
134696        Remove warning for GCC 4.4.3
134697
134698        GCC suggest parentheses around && within ||
134699
134700        * dom/Element.cpp:
134701        (WebCore::Element::recalcStyle):
134702
1347032010-05-25  Xan Lopez  <xlopez@igalia.com>
134704
134705        Fix the GTK+ build, PluginInfoStore was removed.
134706
134707        * GNUmakefile.am:
134708
1347092010-05-25  Ada Chan  <adachan@apple.com>
134710
134711        Reviewed by Steve Falkenburg.
134712
134713        Add a base class for DOMTimer called SuspendableTimer which captures just the
134714        basic functionality of TimerBase and ActiveDOMObject combined.  It does not
134715        contain functionality specific to scripting timers.
134716        
134717        SuspendableTimer is used in fixing https://bugs.webkit.org/show_bug.cgi?id=39651
134718
134719        * Android.mk:
134720        * CMakeLists.txt:
134721        * GNUmakefile.am:
134722        * WebCore.gypi:
134723        * WebCore.pro:
134724        * WebCore.vcproj/WebCore.vcproj:
134725        * WebCore.xcodeproj/project.pbxproj:
134726        * page/DOMTimer.cpp:
134727        (WebCore::DOMTimer::DOMTimer):
134728        (WebCore::DOMTimer::contextDestroyed):
134729        (WebCore::DOMTimer::stop):
134730        * page/DOMTimer.h:
134731        * page/SuspendableTimer.cpp: Added.
134732        (WebCore::SuspendableTimer::SuspendableTimer):
134733        (WebCore::SuspendableTimer::~SuspendableTimer):
134734        (WebCore::SuspendableTimer::hasPendingActivity):
134735        (WebCore::SuspendableTimer::stop):
134736        (WebCore::SuspendableTimer::suspend):
134737        (WebCore::SuspendableTimer::resume):
134738        (WebCore::SuspendableTimer::canSuspend):
134739        * page/SuspendableTimer.h: Added.
134740
1347412010-05-25  Justin Schuh  <jschuh@chromium.org>
134742
134743        Reviewed by Nate Chapin.
134744
134745        Remove custom bindings for Element.SetAttribute*
134746        https://bugs.webkit.org/show_bug.cgi?id=39604
134747
134748        Custom bindings are no longer needed because origin checks were moved
134749        out of the bindings by: http://trac.webkit.org/changeset/59866
134750
134751        Behavior isn't changed and is covered by existing tests.
134752
134753        * bindings/js/JSElementCustom.cpp:
134754        * bindings/v8/custom/V8ElementCustom.cpp:
134755        * dom/Element.idl:
134756
1347572010-05-25  Yury Semikhatsky  <yurys@chromium.org>
134758
134759        Reviewed by Pavel Feldman.
134760
134761        Add memory graph to Timeline overview pane.
134762
134763        https://bugs.webkit.org/show_bug.cgi?id=37879
134764
134765        * inspector/front-end/Drawer.js:
134766        (WebInspector.Drawer):
134767        (WebInspector.Drawer.prototype.show.animationFinished):
134768        (WebInspector.Drawer.prototype.show):
134769        (WebInspector.Drawer.prototype.hide):
134770        (WebInspector.Drawer.prototype.set currentPanelCounters):
134771        * inspector/front-end/Panel.js:
134772        * inspector/front-end/TimelineOverviewPane.js:
134773        (WebInspector.TimelineOverviewPane):
134774        (WebInspector.TimelineOverviewPane.prototype.showTimelines):
134775        (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
134776        (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
134777        (WebInspector.TimelineOverviewPane.prototype.update):
134778        (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
134779        (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
134780        (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
134781        (WebInspector.HeapGraph):
134782        (WebInspector.HeapGraph.prototype.get element):
134783        (WebInspector.HeapGraph.prototype.get visible):
134784        (WebInspector.HeapGraph.prototype.show):
134785        (WebInspector.HeapGraph.prototype.hide):
134786        (WebInspector.HeapGraph.prototype.setSize):
134787        (WebInspector.HeapGraph.prototype.update):
134788        (WebInspector.HeapGraph.prototype._clear):
134789        (WebInspector.HeapGraph.prototype._drawScale):
134790        * inspector/front-end/TimelinePanel.js:
134791        (WebInspector.TimelinePanel):
134792        (WebInspector.TimelinePanel.prototype.toolbarItemClass._createTopPane):
134793        (WebInspector.TimelinePanel.prototype.get statusBarItems):
134794        (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
134795        (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
134796        (WebInspector.TimelinePanel.prototype.setSidebarWidth):
134797        (WebInspector.TimelinePanel.prototype.show):
134798        (WebInspector.TimelinePanel.prototype.hide):
134799        * inspector/front-end/inspector.css:
134800        (#counters):
134801        (#timeline-overview-sidebar):
134802        (.timeline-category-statusbar-item):
134803        (.timeline-category-statusbar-item .timeline-category-checkbox):
134804        (.timeline-category-statusbar-item .timeline-category-checkbox:checked):
134805        (.timeline-category-statusbar-item.timeline-category-loading .timeline-category-checkbox):
134806        (.timeline-category-statusbar-item.timeline-category-scripting .timeline-category-checkbox):
134807        (.timeline-category-statusbar-item.timeline-category-rendering .timeline-category-checkbox):
134808        (#timeline-overview-memory):
134809        (.timeline-records-counter):
134810        (#main-status-bar > .timeline-records-counter):
134811        (#counters > .timeline-records-counter):
134812        * inspector/front-end/inspector.html:
134813        * inspector/front-end/utilities.js:
134814        ():
134815
1348162010-05-25  Adam Barth  <abarth@webkit.org>
134817
134818        Unreviewed.  Fix typo pointed out by Maciej.
134819
134820        * html/HTML5Lexer.cpp:
134821        (WebCore::HTMLNames::unconsumeCharacters):
134822        (WebCore::HTML5Lexer::consumeEntity):
134823
1348242010-05-25  Adam Barth  <abarth@webkit.org>
134825
134826        Reviewed by Eric Seidel.
134827
134828        Fix <noembed> and <plaintext> content models
134829        https://bugs.webkit.org/show_bug.cgi?id=39653
134830
134831        PLAINTEXTState is my favorite lexer state.  :)
134832
134833        * html/HTML5TreeBuilder.cpp:
134834        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
134835
1348362010-05-24  Adam Barth  <abarth@webkit.org>
134837
134838        Reviewed by Eric Seidel.
134839
134840        First cut at HTML5 entities
134841        https://bugs.webkit.org/show_bug.cgi?id=39649
134842
134843        There's still a bunch more work to do to get our entity parsing fully
134844        up to spec.  This patch contains the bulk of the implementation
134845        however.
134846        
134847        The basics are covered by the existing html5lib tests.  I'll add more
134848        detailed tests in a followup patch.
134849
134850        * html/HTML5Lexer.cpp:
134851        (WebCore::HTMLNames::legalEntityFor):
134852        (WebCore::HTMLNames::isHexDigit):
134853        (WebCore::HTMLNames::isAlphaNumeric):
134854        (WebCore::HTMLNames::uncomsumeCharacters):
134855        (WebCore::HTML5Lexer::consumeEntity):
134856        (WebCore::HTML5Lexer::nextToken):
134857        (WebCore::HTML5Lexer::haveBufferedCharacterToken):
134858        * html/HTML5Lexer.h:
134859        (WebCore::HTML5Lexer::):
134860        * html/HTML5Tokenizer.cpp:
134861        (WebCore::HTML5Tokenizer::write):
134862
1348632010-05-24  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
134864
134865        Reviewed by Kenneth Rohde Christiansen.
134866
134867        [Qt] Fix compilation with QT_NO_TEMPORARYFILE
134868        https://bugs.webkit.org/show_bug.cgi?id=38324
134869
134870        * platform/qt/FileSystemQt.cpp:
134871        (WebCore::openTemporaryFile):
134872
1348732010-05-24  Andrey Kosyakov  <caseq@chromium.org>
134874
134875        Reviewed by Yury Semikhatsky.
134876
134877        Fixed handling of bare '/' and '?' at console prompt.
134878        https://bugs.webkit.org/show_bug.cgi?id=39585
134879
134880        * inspector/front-end/inspector.js:
134881        (WebInspector.documentKeyDown):
134882
1348832010-05-24  Andreas Kling  <andreas.kling@nokia.com>
134884
134885        Reviewed by Sam Weinig.
134886
134887        The 'prototype' property on generated Web IDL interfaces should be { DontDelete | ReadOnly }.
134888
134889        Spec link:
134890        http://www.w3.org/TR/WebIDL/#interface-object
134891
134892        https://bugs.webkit.org/show_bug.cgi?id=39436
134893
134894        Test: fast/dom/prototype-property.html
134895
134896        * bindings/scripts/CodeGeneratorJS.pm:
134897
1348982010-05-24  Eric Seidel  <eric@webkit.org>
134899
134900        Reviewed by Adam Barth.
134901
134902        Add RCDATA and RAWTEXT suport to the HTML5 parser
134903        https://bugs.webkit.org/show_bug.cgi?id=39642
134904
134905        Adam Barth wrote half of this patch.
134906
134907        * html/HTML5TreeBuilder.cpp:
134908        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
134909
1349102010-05-24  Tony Chang  <tony@chromium.org>
134911
134912        Not reviewed, build fix.
134913
134914        Fix the chromium compile due to pageZoomFactor refactoring.
134915
134916        * page/EventHandler.cpp:
134917        (WebCore::pageZoomFactor):
134918
1349192010-05-24  Jer Noble  <jer.noble@apple.com>
134920
134921        Reviewed by Eric Carlson.
134922
134923        HTML5 <video> tag performance worse than Flash
134924        https://bugs.webkit.org/show_bug.cgi?id=39577
134925        rdar://problem/7982458
134926        
134927        Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
134928        
134929        WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
134930        a CAImageQueueRef to be set as a layer's contents.
134931        
134932        WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
134933        
134934        MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if 
134935        certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
134936        threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
134937        
134938        * WebCore.vcproj/WebCore.vcproj:
134939        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
134940        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
134941        * platform/graphics/win/QTPixelBuffer.cpp:
134942        * platform/graphics/win/QTPixelBuffer.h:
134943        * platform/graphics/win/WKCACFLayer.cpp:
134944        * platform/graphics/win/WKCACFLayer.h:
134945        * platform/graphics/win/WKCAImageQueue.cpp: Added.
134946        * platform/graphics/win/WKCAImageQueue.h: Added.
134947
1349482010-05-24  Adam Barth  <abarth@webkit.org>
134949
134950        Reviewed by Eric Seidel.
134951
134952        Teach the HTML5 parser how to lex escaped script data
134953        https://bugs.webkit.org/show_bug.cgi?id=39630
134954
134955        * html/HTML5Lexer.cpp:
134956        (WebCore::HTMLNames::vectorEqualsString):
134957        (WebCore::HTML5Lexer::nextToken):
134958        (WebCore::HTML5Lexer::temporaryBufferIs):
134959        (WebCore::HTML5Lexer::isAppropriateEndTag):
134960        (WebCore::HTML5Lexer::maybeFlushBufferedEndTag):
134961        (WebCore::HTML5Lexer::flushBufferedEndTag):
134962        * html/HTML5Lexer.h:
134963
1349642010-05-24  Eric Seidel  <eric@webkit.org>
134965
134966        Unreviewed.  Trick MSVC into ignoring our unused code for the moment.
134967
134968        Prepare HTML5TreeBuilder for addition of new HTML5 parser code
134969        https://bugs.webkit.org/show_bug.cgi?id=39623
134970
134971        * html/HTML5TreeBuilder.cpp:
134972        (WebCore::HTML5TreeBuilder::constructTreeFromToken):
134973
1349742010-05-24  Darin Adler  <darin@apple.com>
134975
134976        Fix build on platforms with touch code enabled.
134977
134978        * page/EventHandler.cpp:
134979        (WebCore::pageZoomFactor): Added.
134980        (WebCore::EventHandler::handleTouchEvent): Use pageZoomFactor.
134981
1349822010-05-24  Darin Adler  <darin@apple.com>
134983
134984        Reviewed by Eric Seidel.
134985
134986        Move view-related functions from Frame to FrameView
134987        https://bugs.webkit.org/show_bug.cgi?id=39366
134988
134989        Refactoring only so adds no new tests.
134990
134991        * WebCore.base.exp: Updated.
134992
134993        * css/CSSStyleSelector.cpp:
134994        (WebCore::CSSStyleSelector::styleForDocument): Call zoom factor function
134995        on FrameView.
134996        (WebCore::CSSStyleSelector::applyProperty): Ditto.
134997        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
134998        * dom/Document.cpp:
134999        (WebCore::Document::elementFromPoint): Ditto.
135000        (WebCore::Document::caretRangeFromPoint): Ditto.
135001        * dom/MouseRelatedEvent.cpp:
135002        (WebCore::contentsX): Ditto.
135003        (WebCore::contentsY): Ditto.
135004        (WebCore::pageZoomFactor): Added helper function.
135005        (WebCore::MouseRelatedEvent::computePageLocation): Use helper.
135006        (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
135007        * dom/Node.cpp:
135008        (WebCore::Node::dispatchMouseEvent): Call zoom factor function on FrameView.
135009        (WebCore::Node::dispatchWheelEvent): Ditto.
135010        * dom/Touch.cpp:
135011        (WebCore::contentsX): Call zoom factor function on FrameView.
135012        (WebCore::contentsY): Ditto.
135013        * html/HTMLBodyElement.cpp:
135014        (WebCore::adjustForZoom): Ditto.
135015        (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
135016        (WebCore::HTMLBodyElement::setScrollTop): Ditto.
135017        * html/HTMLImageElement.cpp:
135018        (WebCore::HTMLImageElement::width): Ditto.
135019        (WebCore::HTMLImageElement::height): Ditto.
135020        * loader/ImageDocument.cpp:
135021        (WebCore::pageZoomFactor): Added helper function.
135022        (WebCore::ImageTokenizer::finish): Use helper function
135023        (WebCore::ImageDocument::scale): Ditto.
135024        (WebCore::ImageDocument::resizeImageToFit): Ditto.
135025        (WebCore::ImageDocument::imageChanged): Ditto.
135026        (WebCore::ImageDocument::restoreImageSize): Ditto.
135027        (WebCore::ImageDocument::imageFitsInWindow): Ditto.
135028        * page/DOMWindow.cpp:
135029        (WebCore::DOMWindow::innerHeight): Ditto.
135030        (WebCore::DOMWindow::innerWidth): Ditto.
135031        (WebCore::DOMWindow::scrollX): Ditto.
135032        (WebCore::DOMWindow::scrollY): Ditto.
135033        (WebCore::DOMWindow::scrollTo): Ditto.
135034        * page/DragController.cpp:
135035        (WebCore::elementUnderMouse): Ditto.
135036
135037        * page/Frame.cpp:
135038        (WebCore::Frame::Frame): Removed code to initialize m_zoomFactor.
135039        * page/Frame.h: Moved functions to FrameView. Moved all #if to the left
135040        margin to make the style consistent. Removed empty function
135041        removeEditingStyleFromBodyElement.
135042
135043        * page/FrameView.cpp:
135044        (WebCore::parentZoomFactor): Added helper function for constructor.
135045        (WebCore::FrameView::FrameView): Added initialization of m_zoomFactor.
135046        (WebCore::FrameView::shouldApplyTextZoom): Moved this here from Frame.
135047        (WebCore::FrameView::shouldApplyPageZoom): Ditto.
135048        (WebCore::FrameView::setZoomFactor): Ditto.
135049
135050        * page/FrameView.h: Added members moved here from Frame.
135051
135052        * rendering/RenderView.cpp:
135053        (WebCore::RenderView::zoomFactor): Call FrameView instead of Frame.
135054        * svg/SVGSVGElement.cpp:
135055        (WebCore::SVGSVGElement::currentScale): Ditto.
135056        (WebCore::SVGSVGElement::setCurrentScale): Ditto.
135057
1350582010-05-24  Jer Noble  <jer.noble@apple.com>
135059
135060        No review; build fix only.
135061
135062        Roll-out changes r60094, 60096-60097.
135063        
135064        * WebCore.vcproj/WebCore.vcproj:
135065        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
135066        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
135067        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
135068        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
135069        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
135070        * platform/graphics/win/QTPixelBuffer.cpp:
135071        * platform/graphics/win/QTPixelBuffer.h:
135072        * platform/graphics/win/WKCACFLayer.cpp:
135073        (WebCore::WKCACFLayer::printLayer):
135074        * platform/graphics/win/WKCACFLayer.h:
135075        (WebCore::WKCACFLayer::setContents):
135076        (WebCore::WKCACFLayer::contents):
135077        (WebCore::WKCACFLayer::speed):
135078        (WebCore::WKCACFLayer::timeOffset):
135079        * platform/graphics/win/WKCAImageQueue.cpp: Removed.
135080        * platform/graphics/win/WKCAImageQueue.h: Removed.
135081
1350822010-05-24  Eric Seidel  <eric@webkit.org>
135083
135084        Unreviewed.  Add wtf/UnusedParam.h include to make Chromium happy.
135085
135086        Chromium does not use a prefix header in order to support
135087        distcc3.  Other ports all do.  The real fix is to remove
135088        wtf/UnusedParam.h from the prefix header.
135089
135090        * html/HTML5TreeBuilder.cpp:
135091
1350922010-05-24  Jer Noble  <jer.noble@apple.com>
135093
135094        No review; build fix only.
135095
135096        Second half of previous build fix, in which I add the include in the correct place.
135097
135098        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
135099
1351002010-05-24  Jer Noble  <jer.noble@apple.com>
135101
135102        No review; build fix only.
135103
135104        Include WKCAImageQueue.h outside the ACCELERATED_COMPOSITING check.
135105
135106        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
135107
1351082010-05-24  Eric Seidel  <eric@webkit.org>
135109
135110        Reviewed by Adam Barth.
135111
135112        Prepare HTML5TreeBuilder for addition of new HTML5 parser code
135113        https://bugs.webkit.org/show_bug.cgi?id=39623
135114
135115        Before we start transcribing the parser, we need a place to put it.
135116
135117        This also cleans up HTML5 token to not convert comment and character
135118        data into AtomicStrings (which makes no sense).
135119
135120        No functionality change, so no new tests.
135121
135122        * html/HTML5Token.h:
135123        (WebCore::HTML5Token::beginStartTag):
135124        (WebCore::HTML5Token::beginEndTag):
135125        (WebCore::HTML5Token::beginCharacter):
135126        (WebCore::HTML5Token::beginComment):
135127        (WebCore::HTML5Token::name):
135128        (WebCore::HTML5Token::adoptDataAsStringImpl):
135129        (WebCore::HTML5Token::characters):
135130        (WebCore::HTML5Token::commentData):
135131        (WebCore::HTML5Token::clearData):
135132        * html/HTML5TreeBuilder.cpp:
135133        (WebCore::convertToOldStyle):
135134        (WebCore::HTML5TreeBuilder::constructTreeFromToken):
135135        (WebCore::HTML5TreeBuilder::processToken):
135136        * html/HTML5TreeBuilder.h:
135137
1351382010-05-23  Jer Noble  <jer.noble@apple.com>
135139
135140        Reviewed by Eric Carlson.
135141
135142        HTML5 <video> tag performance worse than Flash
135143        https://bugs.webkit.org/show_bug.cgi?id=39577
135144        rdar://problem/7982458
135145        
135146        Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
135147        
135148        WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
135149        a CAImageQueueRef to be set as a layer's contents.
135150        
135151        WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
135152        
135153        MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if 
135154        certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
135155        threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
135156        
135157        * WebCore.vcproj/WebCore.vcproj:
135158        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
135159        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
135160        * platform/graphics/win/QTPixelBuffer.cpp:
135161        * platform/graphics/win/QTPixelBuffer.h:
135162        * platform/graphics/win/WKCACFLayer.cpp:
135163        * platform/graphics/win/WKCACFLayer.h:
135164        * platform/graphics/win/WKCAImageQueue.cpp: Added.
135165        * platform/graphics/win/WKCAImageQueue.h: Added.
135166
1351672010-05-24  Brady Eidson  <beidson@apple.com>
135168
135169        Reviewed by Darin Adler.
135170
135171        Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
135172        <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
135173
135174        Currently, a Tracker needs to know it's path before origins are populated. Testing databases and 
135175        related features is made very difficult with this regression, so instead of changing things in a
135176        complicated way to make this not the case, I've added an "initialize Tracker with this path" function
135177        that calls the DatabaseTracker constructor with the initial path.
135178
135179        I checked the other platforms besides Mac and Win, and none of them seem to perform the 
135180        "initialize databases if necessary" step in their init routines, so this change shouldn't effect them.
135181
135182        No new tests. (API specific layout test in DRT is forthcoming)
135183
135184        * WebCore.base.exp:
135185
135186        * storage/DatabaseTracker.cpp:
135187        (WebCore::DatabaseTracker::initializeTracker): Added to create the tracker with its initial path.
135188        (WebCore::DatabaseTracker::tracker): Move the static tracker out so tracker() and initializeTracker()
135189          can share it. Add a fallback to not change behavior of platforms that don't call the new 
135190          "initializeTracker()" method.
135191        (WebCore::DatabaseTracker::DatabaseTracker): Changed to take the initial path as an argument.
135192        * storage/DatabaseTracker.h:
135193
135194        * storage/chromium/DatabaseTrackerChromium.cpp:
135195        (WebCore::DatabaseTracker::tracker): Adapt to new c'tor.
135196        (WebCore::DatabaseTracker::DatabaseTracker): Ditto.
135197
1351982010-05-24  Adam Barth  <abarth@webkit.org>
135199
135200        Reviewed by Eric Seidel.
135201
135202        Teach the HTML5 parser to lex DOCTYPEs
135203        https://bugs.webkit.org/show_bug.cgi?id=39571
135204
135205        * html/HTML5Lexer.cpp:
135206        (WebCore::HTML5Lexer::nextToken):
135207        * html/HTML5Lexer.h:
135208        * html/HTML5Token.h:
135209        (WebCore::HTML5Token::beginDOCTYPE):
135210        (WebCore::HTML5Token::publicIdentifier):
135211        (WebCore::HTML5Token::systemIdentifier):
135212        (WebCore::HTML5Token::setPublicIdentifierToEmptyString):
135213        (WebCore::HTML5Token::setSystemIdentifierToEmptyString):
135214        (WebCore::HTML5Token::appendToPublicIdentifier):
135215        (WebCore::HTML5Token::appendToSystemIdentifier):
135216        (WebCore::HTML5Token::DoctypeData::DoctypeData):
135217        * html/HTML5TreeBuilder.cpp:
135218        (WebCore::convertToOldStyle):
135219        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
135220        * platform/text/SegmentedString.h:
135221        (WebCore::SegmentedString::lookAheadIgnoringCase):
135222        (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
135223
135224== Rolled over to ChangeLog-2010-05-24 ==
135225