ChangeLog 1.68 MB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
2011-04-08  Brady Eidson  <beidson@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=58155 and part of <rdar://problem/9251767>
        BitmapImage::getFirstCGImageRefOfSize fails if the frameCount hasn't been initialized from the image source.

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::getFirstCGImageRefOfSize): Call frameCount() instead of accessing m_frames.size() to
          make sure the frames are properly tallied first.

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
2011-04-08  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Dragging and dropping an image in edit mode does not work
        https://bugs.webkit.org/show_bug.cgi?id=19385

        When adding an image to the clipboard, we should also include the HTML code of that image so
        it can be used for internal drag and drop.

        This HTML is expected by all clients of drop events so a fragment can be moved from one browser to
        another, or inside the same browser.

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::declareAndWriteDragImage):

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
2011-04-07  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
        https://bugs.webkit.org/show_bug.cgi?id=53556

        No new tests. No real functionality added just yet.

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * features.pri:
        * html/HTMLAttributeNames.in:
        * html/HTMLTagNames.in:
        * html/HTMLTrackElement.cpp: Added.
        (WebCore::HTMLTrackElement::HTMLTrackElement):
        (WebCore::HTMLTrackElement::create):
        (WebCore::HTMLTrackElement::insertedIntoTree):
        (WebCore::HTMLTrackElement::willRemove):
        (WebCore::HTMLTrackElement::src):
        (WebCore::HTMLTrackElement::setSrc):
        (WebCore::HTMLTrackElement::kind):
        (WebCore::HTMLTrackElement::setKind):
        (WebCore::HTMLTrackElement::srclang):
        (WebCore::HTMLTrackElement::setSrclang):
        (WebCore::HTMLTrackElement::label):
        (WebCore::HTMLTrackElement::setLabel):
        (WebCore::HTMLTrackElement::isDefault):
        (WebCore::HTMLTrackElement::setIsDefault):
        (WebCore::HTMLTrackElement::isURLAttribute):
        * html/HTMLTrackElement.h: Added.
        * html/HTMLTrackElement.idl: Added.

65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
2011-04-07  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Logic error in HTMLMediaElement::exitFullscreen()
        https://bugs.webkit.org/show_bug.cgi?id=58085

        The new full screen API case could fall through to the legacy API case
        unintentionally if a script calls exitFullscreen on an element which is
        not the current full screen element.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::enterFullscreen):
        (WebCore::HTMLMediaElement::exitFullscreen):

80 81 82 83 84 85 86 87 88 89 90 91
2011-04-08  Mike Reed  <reed@google.com>

        Reviewed by Eric Seidel.

        Replace SKIA_TEXT with isNativeFontRenderingAllowed() for print-preview to work
        https://bugs.webkit.org/show_bug.cgi?id=57782

        No new tests. This change only affects print-preview and build option SKIA_GPU 

        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::paintSkiaText):

92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
2011-04-08  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang, Darin Adler, and Enrica Casucci.

        REGRESSION(r81887): Crash in SplitElement
        https://bugs.webkit.org/show_bug.cgi?id=57743

        The crash was caused by ReplaceSelectionCommand::doApply's calling splitElement with computeNodeAfterPosition
        even when the position was after the last node in it container. Since all we are doing here is to splitting tree
        up until the highest ancestor with isInlineNodeWithStyle, replaced the while loop by calls to splitTreeToNode
        and highestEnclosingNodeOfType.

        Also fixed a bug in splitTreeToNode not to check the difference in visible position when splitting the ancestor,
        which would have introduced unnecessary nodes when splitting tree and a bug in highestEnclosingNodeOfType that
        it incorrectly called deprecatedNode instead of containerNode.

        Test: editing/inserting/insert-images-in-pre-x-crash.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::splitTreeToNode):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/htmlediting.cpp:
        (WebCore::highestEnclosingNodeOfType):

117 118 119 120 121 122 123 124 125 126 127 128 129 130
2011-04-08  Antti Koivisto  <antti@apple.com>

        Reviewed by Tony Gentilcore.

        Incoming source should be preload scanned when the parser is blocked 
        https://bugs.webkit.org/show_bug.cgi?id=58117

        Scan the appended source if parser is blocked.

        Test: http/tests/loading/preload-append-scan.php

        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::append):

131 132 133 134 135 136 137 138 139 140 141 142 143
2011-04-08  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Fix the WebKit2 build for older versions of GTK+
        https://bugs.webkit.org/show_bug.cgi?id=58095

        No new tests. This is just a build fix.

        * platform/gtk/GtkVersioning.c:
        (gdk_window_create_similar_surface): Reimplement this method for older versions of GDK.
        * platform/gtk/GtkVersioning.h: Add the new method to the header.

144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
2011-04-08  Misha Tyutyunik  <michael.tyutyunik@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Plugin is not scrolled together with page content or jumping 
        when content is rendered using cache (backing store).
        https://bugs.webkit.org/show_bug.cgi?id=56130
        
        This is a Symbian portion of the fix. For Linux it looks like
        it's enough to call set geometry which should be addressed in
        https://bugs.webkit.org/show_bug.cgi?id=57179

        No new tests required. This can be tested with manual tests from 
        WebCore/manual-tests/qt and WebCore/manual-tests/plugins

        * plugins/symbian/PluginViewSymbian.cpp:
        (WebCore::PluginView::updatePluginWidget):

162 163 164 165 166 167 168
2011-04-08  Abhishek Arya  <inferno@chromium.org>

        Unreviewed. Remove accidental printf added in r83306.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEvent):

169 170 171 172 173 174 175 176 177 178 179 180 181 182
2011-04-08  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        Dragging text in a WebKit2 window results in a copy instead of a move.
        https://bugs.webkit.org/show_bug.cgi?id=56772
        <rdar://problem/9165140>

        cleanupAfterSystemDrag cannot call dragEnd in WebKit2, since
        the call to startDrag is asynchronous.
        
        * page/mac/DragControllerMac.mm:
        (WebCore::DragController::cleanupAfterSystemDrag):

183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
2011-04-05  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Move WheelEvent-dispatching logic into WheelEventDispatchMediator.
        https://bugs.webkit.org/show_bug.cgi?id=57642

        Covered by existing tests, no functional change.

        * dom/Event.cpp:
        * dom/Event.h:
        (WebCore::EventDispatchMediator::EventDispatchMediator): Added default
            constructor.
        (WebCore::EventDispatchMediator::event): Inlined.
        (WebCore::EventDispatchMediator::setEvent): Added.
        * dom/EventDispatcher.cpp: Removed dispatchWheelEvent.
        * dom/EventDispatcher.h: Updated decls.
        * dom/Node.cpp:
        (WebCore::Node::dispatchWheelEvent): Changed to use the mediator and
            return a bool, like other dispatch event functions.
        * dom/Node.h: Changed decl.
        * dom/WheelEvent.cpp:
        (WebCore::granularity): Moved from EventDispatcher.
        (WebCore::WheelEventDispatchMediator::WheelEventDisatchMediator): Added.
        (WebCore::WheelEventDispatchMediator::event): Added.
        (WebCore::WheelEventDispatchMediator::dispatchEvent): Added.
        * dom/WheelEvent.h: Updated decls.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleWheelEvent): Changed to receive and react
            to the return value.

214 215 216 217 218 219 220 221
2011-04-08  Jessie Berlin  <jberlin@apple.com>

        Windows build warning fix.

        * WebCore.vcproj/WebCore.vcproj:
        Since ShadowRoot.cpp is included in the DOMAllInOne.cpp file, it should be excluded from
        the build.

222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
2011-04-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: update breakpoints according to source frame decorations after live edit.
        https://bugs.webkit.org/show_bug.cgi?id=58029

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent.didEditScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent):
        * inspector/front-end/SourceFile.js:
        (WebInspector.SourceFile.prototype.set content):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
        (WebInspector.SourceFrame.prototype._handleSave):

240 241 242 243 244 245 246 247 248 249 250 251 252
2011-04-08  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: fix scripts concatenation in scripts panel.
        https://bugs.webkit.org/show_bug.cgi?id=58138

        When there is just one script starting at 0:0 it should not be surrounded by <script> framing.

        * inspector/front-end/SourceFile.js:
        (WebInspector.SourceFile.prototype._loadResourceContent):
        (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):

253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296
2011-04-08  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: use "locations" for debugger scripts, "lineNumbers" for the UI elements.
        https://bugs.webkit.org/show_bug.cgi?id=58118

        This change reuses location for call frames in the protocol + structures script
        location <-> source lines interaction better. When we need UI columns, we will add
        them, but we should distinguish between script and UI terms on the type level, not naming.

        * English.lproj/localizedStrings.js:
        * bindings/v8/DebuggerScript.js:
        * inspector/InjectedScriptSource.js:
        * inspector/Inspector.json:
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine):
        (WebInspector.CallStackSidebarPane.prototype.update):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestSourceMapping):
        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
        (WebInspector.PresenationCallFrame):
        (WebInspector.PresenationCallFrame.prototype.sourceLine.didRequestSourceMapping):
        (WebInspector.PresenationCallFrame.prototype.sourceLine):
        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter.locationToPosition):
        (WebInspector.ScriptFormatter.lineToPosition):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
        (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
        (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
        * inspector/front-end/SourceFile.js:
        (WebInspector.SourceMapping.prototype.scriptLocationToSourceLine):
        (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
        (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):

297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312
2011-04-08  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: distinguish breakpoints set on de-obfuscated sources from breakponts set on original sources.
        https://bugs.webkit.org/show_bug.cgi?id=58133

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
        (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
        (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
        (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
        (WebInspector.DebuggerPresentationModel.prototype._reset):

313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345
2011-04-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: make SourceFrame TextViewer's delegate for editing operations.
        https://bugs.webkit.org/show_bug.cgi?id=58026

        This is the first step of decoupling TextViewer from SourceFrame.

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype.show):
        (WebInspector.SourceFrame.prototype.hide):
        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
        (WebInspector.SourceFrame.prototype.contentEditable):
        (WebInspector.SourceFrame.prototype.startEditing):
        (WebInspector.SourceFrame.prototype.endEditing):
        (WebInspector.SourceFrame.prototype._createTextViewer):
        (WebInspector.SourceFrame.prototype._handleSave):
        (WebInspector.SourceFrame.prototype._handleRevertEditing):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
        (WebInspector.TextViewer.prototype._doubleClick):
        (WebInspector.TextViewerDelegate):
        (WebInspector.TextViewerDelegate.prototype.contentEditable):
        (WebInspector.TextViewerDelegate.prototype.startEditing):
        (WebInspector.TextViewerDelegate.prototype.endEditing):
        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
        * inspector/front-end/inspector.html:

346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391
2011-04-08  Leandro Gracia Gil  <leandrogracia@chromium.org>

        Reviewed by Steve Block.

        Media Stream API: add the getUserMedia method and the Javascript bindings.
        https://bugs.webkit.org/show_bug.cgi?id=56586

        Add the getUserMedia method to the navigator and its new Javascript types.
        Current specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication

        Tests: fast/dom/MediaStream/argument-types.html
               fast/dom/MediaStream/enabled.html
               fast/dom/MediaStream/no-interface-object.html

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.v8bindings.mk:
        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSNavigatorCustom.cpp:
        (WebCore::JSNavigator::webkitGetUserMedia):
        * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
        (WebCore::V8Navigator::webkitGetUserMediaCallback):
        * page/Navigator.cpp:
        (WebCore::Navigator::webkitGetUserMedia):
        * page/Navigator.h:
        * page/Navigator.idl:
        * page/NavigatorUserMediaError.h: Added.
        (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
        (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
        (WebCore::NavigatorUserMediaError::code):
        * page/NavigatorUserMediaError.idl: Added.
        * page/NavigatorUserMediaErrorCallback.h: Added.
        (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
        * page/NavigatorUserMediaErrorCallback.idl: Added.
        * page/NavigatorUserMediaSuccessCallback.h: Added.
        (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
        * page/NavigatorUserMediaSuccessCallback.idl: Added.

392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426
2011-04-08  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] Add more tests for detailed heap snapshots UI.
        https://bugs.webkit.org/show_bug.cgi?id=58010
        https://bugs.webkit.org/show_bug.cgi?id=58011

        Added tests for "Containment" view. Minor refactorings, bugs fixed.
        Split one large tests into smaller ones to avoid timing out in debug mode.

        Tests: inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html
               inspector/profiler/detailed-heapshots-containment-show-all.html
               inspector/profiler/detailed-heapshots-containment-show-next.html
               inspector/profiler/detailed-heapshots-containment-sorting.html
               inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html
               inspector/profiler/detailed-heapshots-summary-show-all.html
               inspector/profiler/detailed-heapshots-summary-show-next.html
               inspector/profiler/detailed-heapshots-summary-sorting.html

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
        (WebInspector.HeapSnapshotGridNode.prototype.sort):
        (WebInspector.HeapSnapshotGenericObjectNode):
        (WebInspector.HeapSnapshotObjectNode):
        (WebInspector.HeapSnapshotInstanceNode):
        (WebInspector.HeapSnapshotConstructorNode):
        (WebInspector.HeapSnapshotDiffNode):
        (WebInspector.HeapSnapshotDominatorObjectNode):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotContainmentDataGrid):
        (WebInspector.HeapSnapshotDominatorsDataGrid):

427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444
2011-04-08  Andrey Adaikin  <aandrey@google.com>

        Reviewed by Pavel Feldman.

        Web Inspector: Bugs in some corner cases in the text editor
        https://bugs.webkit.org/show_bug.cgi?id=58025

        This solves the following bugs:
        1) The very last _empty_ line would not be deleted if you hit a Backspace on it, or the selection text to be deleted is extended to the very bottom of the editor.
        2) An odd corner case: delete all source code from the editor, hit backspace on the only empty line, then add a character. In this case the browser will insert a TEXT node instead of a DIV node for a lineRow.

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
        (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):

445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462
2011-04-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: add test for script formatter worker.
        https://bugs.webkit.org/show_bug.cgi?id=57447

        Test: inspector/debugger/script-formatter.html

        * GNUmakefile.am:
        * WebCore.xcodeproj/project.pbxproj:
        * gyp/streamline-inspector-source.sh:
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._addScript):
        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
        (WebInspector.DebuggerPresentationModel.prototype._formatter):
        * inspector/front-end/ScriptFormatterWorker.js:

463 464 465 466 467 468 469 470 471 472 473 474 475 476
2011-04-08  Andrey Adaikin  <aandrey@google.com>

        Reviewed by Pavel Feldman.

        Web Inspector: Tweak dynamically constants for the async highlighting in text editor
        https://bugs.webkit.org/show_bug.cgi?id=58035

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextEditorMainPanel.prototype._expandChunks):
        (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
        (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
        (WebInspector.TextEditorMainPanel.prototype._adjustPaintLinesOperationsRefreshValue):

477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493
2011-04-08  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: HAR compliance fixes
        https://bugs.webkit.org/show_bug.cgi?id=58124

        - Always provide some values for queryString and cookies, even though arrays may be empty
        - Always provide an empty cache object
        - Added entire HARLog to test
        - Workaround in test to avoid custom expectations (favicon.ico appears in log on certain platforms)

        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype.build):
        (WebInspector.HAREntry.prototype._buildRequest):
        (WebInspector.HAREntry.prototype._buildResponse):

494 495 496 497 498 499
2011-04-08  Adam Barth  <abarth@webkit.org>

        Attempt to fix the Qt build.

        * css/CSSStyleApplyProperty.cpp:

500 501 502 503 504 505 506 507 508 509 510 511 512 513
2011-04-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Refactor WebCore/GNUMakefile.am to separate list of files
        https://bugs.webkit.org/show_bug.cgi?id=58116

        This change is similar to the cooresponding to change to
        JavaScriptCore.  We hope to generate GNUmakefile.list.am automatically
        using GYP.

        * GNUmakefile.am:
        * GNUmakefile.list.am: Added.

ggaren@apple.com's avatar
ggaren@apple.com committed
514 515 516 517 518 519 520 521 522 523 524
2011-04-07  Geoffrey Garen  <ggaren@apple.com>

        Not reviewed.

        Rolled out some accidentally-committed changes in my last commit.

        * dom/EventTarget.cpp:
        (WebCore::EventTarget::addEventListener):
        (WebCore::EventTarget::removeEventListener):
        * dom/EventTarget.h:

525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541
2011-04-07  Julien Chaffraix  <jchaffraix@codeaurora.org>

        Reviewed by Alexey Proskuryakov.

        EventSource should only accept UTF-8 charset
        https://bugs.webkit.org/show_bug.cgi?id=56942

        Following the discussion on bug 45372, this change implements the recommended
        way of handling "charset". We only accept UTF-8 but no other encoding. This matches
        the encoding of the EventSource and also may fix TomCat that automatically send this
        charset.

        * page/EventSource.cpp:
        (WebCore::EventSource::didReceiveResponse): We now check the charset attribute and if it is
        not UTF-8, abort the connection and log the error to the console. Also we log if the MIME type
        is wrong to the console to help debugging (only in the case of an HTTP 200 response though).

542 543 544 545 546 547 548 549 550 551 552
2011-04-07  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej Stachowiak.

        Some Handle<T> cleanup
        https://bugs.webkit.org/show_bug.cgi?id=58109

        * bindings/js/ScriptValue.h:
        (WebCore::ScriptValue::ScriptValue): Updated for new null constructor.
        (WebCore::ScriptValue::hasNoValue): Updated for removal of isEmpty().

553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639
2011-04-07  Dominic Cooney  <dominicc@google.com>

        Reviewed by Dimitri Glazkov.

        Let shadow DOM have a list of nodes at the top level of a shadow.
        https://bugs.webkit.org/show_bug.cgi?id=57813

        Adds ShadowRoot, a list of nodes, to be a parent for top-level
        shadow children. Forwards rendering through the root and into the
        host's renderer.

        Covered by existing tests of elements that use this style of shadow.

        * Android.mk: add ShadowRoot.h/cpp
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::initForStyleResolve): proxy style to host
        * dom/ContainerNode.cpp: parent nodes that are shadow roots are alive
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::removeChild):
        (WebCore::ContainerNode::appendChild):
        * dom/DocumentFragment.cpp:
        (WebCore::DocumentFragment::DocumentFragment):
        * dom/DocumentFragment.h:
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle): look through ShadowRoots for host's style
        (WebCore::Element::shadowRoot): should be const
        (WebCore::Element::ensureShadowRoot): simpler than setShadowRoot
        * dom/Element.h:
        * dom/ElementRareData.h:
        * dom/Node.cpp:
        (WebCore::Node::parentNodeForRenderingAndStyle): indirection so
          ShadowRoot can forward to the host's renderer
        (WebCore::Node::createRendererAndStyle):
        (WebCore::Node::createRendererIfNeeded):
        * dom/Node.h:
        (WebCore::Node::isShadowBoundary): temporary, to differentiate
          old- and new-style, until all roots are ShadowRoot instances
        * dom/ShadowRoot.cpp: Added.
        (WebCore::ShadowRoot::ShadowRoot):
        (WebCore::ShadowRoot::recalcStyle): forward recalc to children
        * dom/ShadowRoot.h: Added.
        (WebCore::ShadowRoot::isShadowBoundary):
        (WebCore::ShadowRoot::create):
        * html/HTMLKeygenElement.cpp: use ensureShadowRoot
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        (WebCore::HTMLKeygenElement::parseMappedAttribute):
        (WebCore::HTMLKeygenElement::appendFormData):
        (WebCore::HTMLKeygenElement::reset):
        (WebCore::HTMLKeygenElement::shadowSelect):
        * html/HTMLKeygenElement.h:
        * html/HTMLMeterElement.cpp: use ensureShadowRoot
        (WebCore::HTMLMeterElement::createShadowSubtree):
        * html/HTMLProgressElement.cpp: use ensureShadowRoot
        (WebCore::HTMLProgressElement::createShadowSubtree):
        * html/InputType.cpp: use ensureShadowRoot
        (WebCore::InputType::destroyShadowSubtree):
        * html/RangeInputType.cpp: use ensureShadowRoot
        (WebCore::RangeInputType::handleMouseDownEvent):
        (WebCore::RangeInputType::createShadowSubtree):
        (WebCore::RangeInputType::valueChanged):
        (WebCore::RangeInputType::shadowSliderThumb):
        * html/RangeInputType.h:
        * html/ValidationMessage.cpp: use ensureShadowRoot
        (WebCore::ValidationMessage::buildBubbleTree):
        (WebCore::ValidationMessage::deleteBubbleTree):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::setPositionFromPoint):
        (WebCore::SliderThumbElement::hostInput):
        * html/shadow/SliderThumbElement.h:
        * rendering/MediaControlElements.cpp: use ensureShadowRoot
        (WebCore::MediaControlInputElement::attach):
        (WebCore::MediaControlInputElement::updateStyle):
        * rendering/RenderSlider.cpp: use ensureShadowRoot
        (WebCore::RenderSlider::thumbRect):
        (WebCore::RenderSlider::layout):
        (WebCore::RenderSlider::shadowSliderThumb):
        (WebCore::RenderSlider::inDragMode):
        * rendering/RenderSlider.h:

640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660
2011-04-07  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Simon Fraser.

        REGRESSION (r80871): Crash when visiting http://broadband.biglobe.ne.jp/
        https://bugs.webkit.org/show_bug.cgi?id=56297
        <rdar://problem/9131597>

        Test: fast/css-generated-content/table-row-after-no-crash.html

        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::styleDidChange): Factor out generation of before/after
        content, and only do it if the row already has a parent. For construction of
        anonymous cells to work correctly, the row needs to already have a parent, so
        in that case wait a bit.
        (WebCore::RenderTableRow::updateBeforeAndAfterContent): Factored out to here.
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild): When adding a row, update its
        before/after content, in case it had any.

661 662 663 664 665 666 667 668 669 670 671 672
2011-04-07  Beth Dakin  <bdakin@apple.com>

        Reviewed by Simon Fraser.

        Probable fix for <rdar://problem/9251443>  Crashing on exception: -
        [ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]: unrecognized 
        selector sent to instance ADDRESS.

       Need to implement new delegate method.
        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):

673 674 675 676 677 678 679 680 681 682 683 684 685 686
2011-04-07  Ian Henderson  <ianh@apple.com>

        Reviewed by Simon Fraser.

        Optimize filling rounded rects that are actually ellipses
        https://bugs.webkit.org/show_bug.cgi?id=58098

        In CG, drawing an ellipse directly is faster than constructing and
        filling a rounded rect path.  Detect when the given rounded rect is
        actually an ellipse and draw it directly in this case.

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillRoundedRect):

687 688 689 690 691 692 693 694 695 696 697 698
2011-04-07  Ned Holbrook  <nholbrook@apple.com>

        Reviewed by Dan Bernstein.

        CTLine objects should outlive their CTRuns
        https://bugs.webkit.org/show_bug.cgi?id=58063

        * platform/graphics/mac/ComplexTextController.h: Add m_coreTextLines, to be destroyed after m_complexTextRuns.
        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moot m_coreTextRun.
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Append line to m_coreTextLines.

699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761
2011-04-07  Nat Duca  <nduca@chromium.org>

        Reviewed by David Levin.

        [chromium] Compositor thread infrastructure
        https://bugs.webkit.org/show_bug.cgi?id=56131

        Introduce chrome compositor thread and related
        infrastructure.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCMainThread.cpp: Added.
        (WebCore::CCMainThread::performTask):
        (WebCore::CCMainThread::postTask):
        * platform/graphics/chromium/cc/CCMainThread.h: Added.
        (WebCore::CCMainThread::Task::~Task):
        (WebCore::CCMainThread::Task::instance):
        (WebCore::CCMainThread::Task::Task):
        * platform/graphics/chromium/cc/CCMainThreadTask.h: Added.
        (WebCore::MainThreadTask0::create):
        (WebCore::MainThreadTask0::MainThreadTask0):
        (WebCore::MainThreadTask0::performTask):
        (WebCore::MainThreadTask1::create):
        (WebCore::MainThreadTask1::MainThreadTask1):
        (WebCore::MainThreadTask1::performTask):
        (WebCore::MainThreadTask2::create):
        (WebCore::MainThreadTask2::MainThreadTask2):
        (WebCore::MainThreadTask2::performTask):
        (WebCore::MainThreadTask3::create):
        (WebCore::MainThreadTask3::MainThreadTask3):
        (WebCore::MainThreadTask3::performTask):
        (WebCore::createMainThreadTask):
        * platform/graphics/chromium/cc/CCThread.cpp: Added.
        (WebCore::CCThread::create):
        (WebCore::CCThread::CCThread):
        (WebCore::CCThread::~CCThread):
        (WebCore::CCThread::postTask):
        (WebCore::CCThread::compositorThreadStart):
        (WebCore::CCThread::runLoop):
        * platform/graphics/chromium/cc/CCThread.h: Added.
        (WebCore::CCThread::Task::~Task):
        (WebCore::CCThread::Task::instance):
        (WebCore::CCThread::Task::Task):
        (WebCore::CCThread::threadID):
        (WebCore::CCCompletionEvent::CCCompletionEvent):
        (WebCore::CCCompletionEvent::~CCCompletionEvent):
        (WebCore::CCCompletionEvent::wait):
        (WebCore::CCCompletionEvent::signal):
        * platform/graphics/chromium/cc/CCThreadTask.h: Added.
        (WebCore::CCThreadTask0::create):
        (WebCore::CCThreadTask0::CCThreadTask0):
        (WebCore::CCThreadTask0::performTask):
        (WebCore::CCThreadTask1::create):
        (WebCore::CCThreadTask1::CCThreadTask1):
        (WebCore::CCThreadTask1::performTask):
        (WebCore::CCThreadTask2::create):
        (WebCore::CCThreadTask2::CCThreadTask2):
        (WebCore::CCThreadTask2::performTask):
        (WebCore::CCThreadTask3::create):
        (WebCore::CCThreadTask3::CCThreadTask3):
        (WebCore::CCThreadTask3::performTask):
        (WebCore::createCCThreadTask):

762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795
2011-04-07  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
        https://bugs.webkit.org/show_bug.cgi?id=57872

        r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
        because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.

        r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
        avoiding the tab span.

        Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
        Also reverted r46914 for the general code path because re-creating node hierarchy duplicates nodes when
        we're moving nodes after the paragraph separator. Instead, we now split the tree up until the start block
        before moving the nodes.

        Tests: editing/inserting/insert-paragraph-after-tab-span-and-text.html
               editing/inserting/insert-paragraph-separator-tab-span.html

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Since EditingStyle's constructor avoids a tab span,
        no longer calls positionBeforeTabSpan on the position passed to EditingStyle's constructor.
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
        separator into a paragraph separator.
        * editing/htmlediting.cpp:
        (WebCore::positionOutsideTabSpan): Renamed from positionBeforeTabSpan. Also returns the position in the parent
        node after the tab span if the position was at the end of the tab span.
        * editing/htmlediting.h:

796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831
2011-04-07  Jia Pu  <jpu@apple.com>

        Reviewed by Darin Adler.

        [Mac] Editor::setComposition() should not trigger correction panel timer.
        https://bugs.webkit.org/show_bug.cgi?id=58049
         <rdar://problem/9226305>

        On Mac OS X that supports autocorrection panel, typing unconfirmed composition (i.e. unconfirmed Japanese or Chinese input)
        should not start autocorrection timer. We added a member variable, m_shouldPreventSpellChecking, to TypingCommand. 
        When this value is true, markMisspellingsAfterTyping() will not be called in TypingCommand::typingAddedToOpenCommand().
        m_shouldPreventSpellChecking is set to true in the TypingCommand objects created by Editor::setComposition().

        No new tests. No deterministically reproducible test case. Patch is based on static code analysis. Testing this also requires firing
        autocorrection panel timer, which can not be easily done in automated fashion.

        * editing/Editor.cpp:
        (WebCore::Editor::deleteWithDirection):
        (WebCore::Editor::insertTextWithoutSendingTextEvent):
        (WebCore::Editor::confirmComposition):
        (WebCore::Editor::setComposition):
        * editing/EditorCommand.cpp:
        (WebCore::executeDelete):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::TypingCommand):
        (WebCore::TypingCommand::deleteSelection):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::insertLineBreak):
        (WebCore::TypingCommand::insertParagraphSeparator):
        (WebCore::TypingCommand::typingAddedToOpenCommand):
        * editing/TypingCommand.h:
        (WebCore::TypingCommand::create):
        (WebCore::TypingCommand::setShouldPreventSpellChecking):

832 833 834 835 836 837 838 839 840 841 842 843 844 845
2011-04-07  John Bauman  <jbauman@chromium.org>

        Reviewed by Kenneth Russell.

        clearIfComposited call is really slow
        https://bugs.webkit.org/show_bug.cgi?id=57999

        Move getContextAttributes call after the if, so it isn't called nearly as often.

        No new tests.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::clearIfComposited):

846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880
2011-04-07  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Dimitri Glazkov.

        Implement Backgroun and Mask properties in CSSStyleApplyProperty
        https://bugs.webkit.org/show_bug.cgi?id=57922

        No tests added as no behavioral changes.

        * css/CSSStyleApplyProperty.cpp:
        Added ApplyPropertyFillLayer test to handle Background and Mask CSS Properties.
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        Added constructor calls to set up:
          CSSPropertyBackgroundAttachment
          CSSPropertyBackgroundClip
          CSSPropertyWebkitBackgroundClip
          CSSPropertyWebkitBackgroundComposite
          CSSPropertyBackgroundOrigin
          CSSPropertyWebkitBackgroundOrigin
          CSSPropertyBackgroundSize
          CSSPropertyWebkitBackgroundSize
          CSSPropertyWebkitMaskAttachment
          CSSPropertyWebkitMaskClip
          CSSPropertyWebkitMaskComposite
          CSSPropertyWebkitMaskOrigin
          CSSPropertyWebkitMaskSize
        * css/CSSStyleApplyProperty.h:
        (WebCore::CSSStyleApplyProperty::setPropertyValue):
        Add function to specify an equivalent property value in the lookup table.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Remove sections now implemented by CSSStyleApplyProperty.
        * css/CSSStyleSelector.h:
        Make CSSStyleApplyProperty a friend class so that the mapFill* functions are accessible.

881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950
2011-04-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Ryosuke Niwa.

        Split run storage out from BidiResolver into a new BidiRunList class
        https://bugs.webkit.org/show_bug.cgi?id=57764

        Part of what makes BidiResolver and InlineIterator so difficult to understand
        (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine
        for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting
        BidiRuns from the algorithm.  This patch breaks the storage aspect off
        into its own class BidiRunList.

        This patch is only a start.  It does not actually fix the problematic ownership
        relationship, but it does make it possible to fix such in a second patch.

        The run pointers and addRun/prependRun, etc. were already a tightly coupled
        logical subset of the BidiResolver class, so moving them into their own class
        was both obvious and easy.  The only piece of logic I had to move was that
        deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver.

        I believe this deleteRuns side-effect was only ever used for one place
        (right after findNextLineBreak) and that it's only needed because
        findNextLineBreak can sometimes create bidi runs.  Run creation appears to be
        an unintentional side-effect of how InlineIterator calls through to BidiResolver
        as part of bidiNext and not a desired effect of the code.  I have added the call
        to markCurrentRunEmpty to both places deleteRuns was called (where the resolver
        could get re-used) as a safety precaution.  We could replace both with ASSERTs
        in a later patch.

        I suspect there may be a small performance win from further refactoring so that
        findNextLineBreak does not need to create BidiRuns.

        As I commented in the code, callers should own their own BidiRunList which they
        pass to BidiResolver::createBidiRunsForLine.  I attempted to implement that in
        an earlier version of this patch, but it was too complicated with the current
        twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver.
        raise/lowerExplicitEmbeddingLevel are called unconditionally
        from commitExplicitEmbedding (which is called by bidiNext) and expect to have
        access to a runs list even in cases where we don't want any runs (findNextLineBreak).

        I also cleaned up some of the callers to pass around BidiRunList objects instead
        of InlineBidiResolvers now that they're separate objects.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawBidiText):
        * platform/text/BidiResolver.h:
        (WebCore::BidiResolver::BidiResolver):
        (WebCore::BidiResolver::runs):
        (WebCore::BidiResolver::markCurrentRunEmpty):
        (WebCore::::appendRun):
        (WebCore::::lowerExplicitEmbeddingLevel):
        (WebCore::::raiseExplicitEmbeddingLevel):
        (WebCore::::reorderRunsFromLevels):
        (WebCore::::createBidiRunsForLine):
        * rendering/InlineIterator.h:
        (WebCore::InlineBidiResolver::appendRun):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::createRun):
        (WebCore::RenderBlock::appendRunsForObject):
        (WebCore::reachedEndOfTextRenderer):
        (WebCore::RenderBlock::handleTrailingSpaces):
        (WebCore::RenderBlock::layoutInlineChildren):

951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967
2011-04-07  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by Adam Barth.

        [Chromium] Fix relocation problem of popup window which introduces autofill popup sometimes moves to screen's top left corner.
        https://bugs.webkit.org/show_bug.cgi?id=57911
        http://code.google.com/p/chromium/issues/detail?id=78073

        Manual test added: manual-tests/autofill-popup-location.html

        Originally only height is checked so that it introduces the bug.
        So I changed it to check both width and height as size.

        * manual-tests/autofill-popup-location.html: Added.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::refresh): Check window size between original and new before calling setFrameRect().

968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993
2011-04-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement img-src style-src and font-src
        https://bugs.webkit.org/show_bug.cgi?id=58018

        These are pretty straight forward given the rest of the infrastructure
        we've built so far.

        Tests: http/tests/security/contentSecurityPolicy/image-allowed.html
               http/tests/security/contentSecurityPolicy/image-blocked.html
               http/tests/security/contentSecurityPolicy/style-allowed.html
               http/tests/security/contentSecurityPolicy/style-blocked.html
               http/tests/security/contentSecurityPolicy/xsl-allowed.php
               http/tests/security/contentSecurityPolicy/xsl-blocked.php

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::canRequest):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::allowImageFromSource):
        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
        (WebCore::ContentSecurityPolicy::allowFontFromSource):
        (WebCore::ContentSecurityPolicy::addDirective):
        * page/ContentSecurityPolicy.h:

994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015
2011-04-07  David Levin  <levin@chromium.org>

        Reviewed by Darin Adler.

        Make IconSnapshot and PageURLRecord member variables private.
        https://bugs.webkit.org/show_bug.cgi?id=58080

        No change in functionality so no new tests.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::writeToDatabase): Changed to used the accessor functions.
        (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): Ditto.
        * loader/icon/IconRecord.h:
        (WebCore::IconSnapshot::IconSnapshot): Changed to use the new member variable names.
        (WebCore::IconSnapshot::iconURL): Expose the property.
        (WebCore::IconSnapshot::timestamp): Ditto.
        (WebCore::IconSnapshot::data): Ditto.
        * loader/icon/PageURLRecord.h:
        (WebCore::PageURLSnapshot::PageURLSnapshot): Changed to use the new member variable names.
        (WebCore::PageURLSnapshot::pageURL): Expose the property.
        (WebCore::PageURLSnapshot::iconURL): Ditto.

mitz@apple.com's avatar
mitz@apple.com committed
1016 1017 1018 1019 1020 1021 1022
2011-04-07  Dan Bernstein  <mitz@apple.com>

        Build fix.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels):

1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036
2011-04-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add stub support for generating Gtk build system from gyp
        https://bugs.webkit.org/show_bug.cgi?id=58086

        This does not produce a buildable WebCore, but it
        does allow running gyp/configure --port=gtk and having
        it generate a gtk.Makefile which we can use for testing
        the rest of the plumbing.

        * gyp/gtk.gyp: Added.

1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073
2011-04-07  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=57736
        
        Crash on openstreetmap.org while using the map. Fix a bad interaction between the positioned movement layout
        optimization and the simplified layout optimization that could lead to blocks remaining marked as dirty when
        layout finished. This would eventually lead to an inability to properly determine the correct layout root and
        would cause a deleted root to be used later on.

        Added fast/block/positioning/complex-positioned-movement.html.

        * page/FrameView.cpp:
        (WebCore::FrameView::scheduleRelayoutOfSubtree):
        Add asserts to catch cases in the future where a layout root is set that has a dirty containing block.
    
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::simplifiedLayout):
        Change simplified layout so that the positioned movement optimization no longer clears the other layout
        flags. This will ensure that we still lay out our descendants if they need it.
        
        (WebCore::RenderBlock::layoutPositionedObjects):
        Changed to clear our layout flags now if the positioned movement is successful, since tryLayoutDoingPositionedMovementOnly
        no longer does the clear.
    
        * rendering/RenderBox.h:
        (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
        tryLayoutDoingPositionedMovementOnly now returns a boolean indicating success or failure.  On success it no longer
        does setNeedsLayout(false), but instead will let the caller take care of it. This way the caller can still look at
        the other flags in case other kinds of layout are still needed.
    
        * rendering/RenderObject.h:
        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
        (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
        Changed these methods to only set their respective flags and not to try to be clever about avoiding propagation.

1074
2011-04-07  Andrew Scherkus  <scherkus@chromium.org>
1075

1076
        Revert ENABLE_TRACK patch due to compile failures.
1077 1078 1079 1080 1081 1082 1083 1084 1085 1086

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * features.pri:
        * html/HTMLAttributeNames.in:
        * html/HTMLTagNames.in:
1087 1088 1089
        * html/HTMLTrackElement.cpp: Removed.
        * html/HTMLTrackElement.h: Removed.
        * html/HTMLTrackElement.idl: Removed.
1090

1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121
2011-04-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/9018212> Underline thickness is not uniform under non-integral scale factor
        https://bugs.webkit.org/show_bug.cgi?id=58083

        Test: fast/text/decorations-transformed.html

        * platform/graphics/GraphicsContext.h: Added a RoundingMode enum with two values. RoundAllSides
        is the existing rounding mode, where each side of the rectangle snaps to the nearest pixel
        gridline. RoundOriginAndDimensions snaps the origin to the nearest pixel gridpoint and rounds
        the width and the height. In this new mode, translating a rectangle in user space never changes
        its dimensions in device pixels.
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels): Implemented RoundOriginAndDimensions.
        (WebCore::GraphicsContext::drawLineForText): Use RoundOriginAndDimensions, thus ensuring that
        all underlines have the same thickness in device pixels.
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels): Added RoundingMode parameter, but did not implement it.
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintDecoration):

1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137
2011-04-06  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Nate Chapin.

        [V8] Remove custom DOMImplementation getter on Document.
        https://bugs.webkit.org/show_bug.cgi?id=57991

        The custom getter is no longer required because DOMImplementation
        objects are now created per document.

        Test: fast/dom/DOMImplementation/implementation-identity.html

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/custom/V8DocumentCustom.cpp:
        * dom/Document.idl:

1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153
2011-04-07  Sergey Glazunov  <serg.glazunov@gmail.com>

        Reviewed by Dimitri Glazkov.

        setHasID() is only called for styled elements
        https://bugs.webkit.org/show_bug.cgi?id=57267

        Test: fast/dom/non-styled-element-id-crash.html

        * dom/Element.cpp:
        (WebCore::Element::attributeChanged):
        (WebCore::Element::idAttributeChanged):
        * dom/Element.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::parseMappedAttribute):

1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167
2011-04-07  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        HTMLVideoElement::webkitEnterFullscreen does not use new Full Screen API when available.
        https://bugs.webkit.org/show_bug.cgi?id=58070

        Make the HTMLMediaElement full screen functions call into the new Full Screen API when
        FULLSCREEN_API is enabled.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::enterFullscreen):
        (WebCore::HTMLMediaElement::exitFullscreen):

1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192
2011-04-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement CSP's options directive
        https://bugs.webkit.org/show_bug.cgi?id=58014

        This patch contains the full options parser, but we only have enough of
        CSP implemented to see the effects of disable-xss-protection.  Will
        need to do some more work before we can see eval-script in action.

        Tests: http/tests/security/contentSecurityPolicy/inline-script-allowed.html
               http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy.html

        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPOptions::CSPOptions):
        (WebCore::CSPOptions::disableXSSProtection):
        (WebCore::CSPOptions::evalScript):
        (WebCore::CSPOptions::parse):
        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
        (WebCore::ContentSecurityPolicy::allowInlineScript):
        (WebCore::ContentSecurityPolicy::addDirective):
        * page/ContentSecurityPolicy.h:

ap@apple.com's avatar
ap@apple.com committed
1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205
2011-04-07  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
        https://bugs.webkit.org/show_bug.cgi?id=58066
        <rdar://problem/8965302>

        * platform/mac/HTMLConverter.h:
        * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):
        Changed editingAttributedStringFromRange: to use WebCore::Range instead of DOMRange, since
        it's now used in WebKit2.

1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233
2011-04-07  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r64712): Microsoft Outlook 2011: original message contents
        not included when replying to an email.
        https://bugs.webkit.org/show_bug.cgi?id=57794
        
        * WebCore.exp.in:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedParsing): Call Frame::injectUserScripts()
        before checking if the FrameLoader is parsing the initial empty document.
        This allows user scripts to be injected at the end of document parsing
        (if the setting is enabled).
        * page/Frame.cpp:
        (WebCore::Frame::injectUserScripts): Do not inject scripts if this
        feature is disabled on the initial empty document.
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h: Add a setting for injecting user scripts into the
        initial empty document (defaults to false).
        (WebCore::Settings::setInjectUserScriptsInInitialEmptyDocument):
        (WebCore::Settings::injectUserScriptsInInitialEmptyDocument):
        * platform/mac/RuntimeApplicationChecks.h:
        * platform/mac/RuntimeApplicationChecks.mm:
        (WebCore::applicationIsMicrosoftOutlook): Check if the embedding
        application is Microsoft Outlook.

1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257
2011-04-06  Jer Noble  <jer.noble@apple.com>

        Reviewed by Maciej Stachowiak.

        AVF: MediaPlayerPrivateAVFoundation never reaches playable state.
        https://bugs.webkit.org/show_bug.cgi?id=57962

        Add support for a new AVPlayerItem API which will notify clients when their
        seek completes.  This requires a new Notification type to be passed to the main
        thread in MediaPlayerPrivateAVFoundation.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Added.
        (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification): Added two new
            overloaded functions which take a Notification; and a Notification::Type and boolean.
        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Support new SeekCompleted 
            Notification type.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
        (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification): Added one new constructor.
        (WebCore::MediaPlayerPrivateAVFoundation::Notification::finished): Added ivar and accessor.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Call new AVPlayerItem API.
        (-[WebCoreAVFMovieObserver seekCompleted:]): Added.

1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270
2011-04-07  Nancy Piedra  <nancy.piedra@nokia.com>

        Reviewed by Eric Carlson.

        Parse quotes from content type parameters
        https://bugs.webkit.org/show_bug.cgi?id=53275

        This functionality is tested in video-can-play-type.html layout test
        where I've added codecs parameter with good and bad formatting.

        * platform/ContentType.cpp:
        (WebCore::ContentType::parameter):

1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318
2011-04-07  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: remove "enabled" from the setBreakpoint protocol.
        https://bugs.webkit.org/show_bug.cgi?id=58047

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::hasBreakpoint):
        * bindings/v8/DebuggerScript.js:
        ():
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::buildObjectForBreakpointCookie):
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::continueToLocation):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/ScriptBreakpoint.h:
        (WebCore::ScriptBreakpoint::ScriptBreakpoint):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.setBreakpoint):
        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.callback):
        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled.afterUpdate):
        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings):
        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
        (WebInspector.DebuggerPresentationModel.prototype._reset):
        (WebInspector.PresentationBreakpoint):

1319 1320 1321 1322 1323 1324 1325 1326 1327 1328
2011-04-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adam Roben.

        Removed a redundant line of code.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::updateAlwaysCreateLineBoxes): No need to compare line gap values, as
        this is covered by the earlier hasIdenticalAscentDescentAndLineGap() check.

1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339
2011-04-07  Liang Qi  <liang.qi@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt][Symbian] Enable webkit build with GCCE on Symbian.
        https://bugs.webkit.org/show_bug.cgi?id=57841

        * WebCore.pri: Thanks for Norbert Leser  <norbert.leser@nokia.com> who checked RVCT part.
        --rw-base value in QMAKE_LFLAGS.ARMCC and -Tdata value in QMAKE_LFLAGS.GCCE are updated
        to 0x1000000 together. They need to be updated in the future when WebKit grows.

1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397
2011-04-06  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: get rid of Breakpoint.js.
        https://bugs.webkit.org/show_bug.cgi?id=57949

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/Breakpoint.js: Removed.
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint.didLoadSnippet):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype._debuggerWasDisabled):
        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
        (WebInspector.DebuggerModel.prototype.setBreakpoint):
        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
        (WebInspector.DebuggerModel.prototype._breakpointResolved):
        (WebInspector.DebuggerModel.prototype.reset):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints):
        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didSetBreakpoint):
        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoint):
        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
        (WebInspector.DebuggerPresentationModel.prototype._reset):
        (WebInspector.PresentationBreakpoint):
        (WebInspector.PresentationBreakpoint.prototype.get sourceFile):
        (WebInspector.PresentationBreakpoint.prototype.get url):
        (WebInspector.PresentationBreakpoint.prototype.get resolved):
        (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype._onResourceStarted):
        (WebInspector.ResourceTreeModel.prototype._addResourceToFrame):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._breakpointUpdated):
        (WebInspector.ScriptsPanel.prototype.reset):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416
2011-04-07  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: console messages names should adhere to the common naming style
        https://bugs.webkit.org/show_bug.cgi?id=58042

        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::addToFrontend):
        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
        * inspector/Inspector.json:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messagesCleared):
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):

1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442
2011-04-06  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: migrate Inspector protocol messages format to JSON-RPC.
        https://bugs.webkit.org/show_bug.cgi?id=57957

        There is not a significant difference between  inspector messages spec and and JSON-RPC 2.0 messages spec.
        Also JSON-RPC has a pretty clear specification for error descriptions which we haven't.
        It was decided that we will use it.

        the list of renames:
        1) type-> /dev/null
        2) domain + '.' + event => method // for events
        3) domain + '.' + command => method // for requests
        4) requestId => id // for responses
        5) arguments => params // for requests
        6) data => params // for events
        7) body => result // for responses

        protocolErrors and error properties will be converted to JSON-RPC error format.
        The order of properties in messages also will be adjusted.
        The only thing that looks unnecessary is jsonrpc property.

        * inspector/CodeGeneratorInspector.pm:

1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463
2011-04-07  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Add functions to update left and right offsets to LineOffsets
        https://bugs.webkit.org/show_bug.cgi?id=58028

        Added update() and shrinkWidthForNewFloatIfNeeded(FloatingObject*) to LineOffsets,
        which are used to update m_left and m_right. Also added m_block and m_isFirstLine
        member variables to LineOffsets so that users of LineOffsets don't have to pass them around.

        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::skipLeadingWhitespace): No longer passes firstLine to positionNewFloatOnLine.
        (WebCore::LineOffsets::LineOffsets): Takes RenderBlock* and isFirstLine instead of left and right offsets.
        (WebCore::LineOffsets::update): Extracted from findNextLineBreak and positionNewFloatOnLine.
        (WebCore::LineOffsets::shrinkWidthForNewFloatIfNeeded): Extracted from positionNewFloatOnLine.
        (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
        (WebCore::RenderBlock::positionNewFloatOnLine): Calls shrinkWidthForNewFloatIfNeeded and update and
        no longer passes firstLine around.

1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484
2011-04-06  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: migrate debugger domain to the unified breakpoint location notion.
        https://bugs.webkit.org/show_bug.cgi?id=57928

        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::buildObjectForBreakpointCookie):
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/Breakpoint.js:
        (WebInspector.Breakpoint):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
        (WebInspector.DebuggerModel.prototype._breakpointResolved):

1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500
2011-04-07  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Benjamin Poulain.

        [Qt] Mask the QStyle::State_Horizontal hint for vertical scrollbars.

        When initializing a QStyleOptionSlider from a widget, the State_Horizontal
        hint may get set depending on how that widget is laid out in its parent.
        If this happens when drawing a vertical scrollbar, the hint is never
        cleared and we end up painting a vertical scrollbar with horizontal arrows.

        Covered by pixel tests which should no longer paint silly scrollbars.

        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::styleOptionSlider):

1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523
2011-04-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        script-src should block inline script
        https://bugs.webkit.org/show_bug.cgi?id=58012

        Block inline scripts at the ScriptElement layer.  This should catch
        exactly the scripts we want to catch.

        Test: http/tests/security/contentSecurityPolicy/inline-script-blocked.html

        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv):
            - This patch also adds the ability to supply a CSP policy via a
              <meta> tag.  We'll update the name of the header once we've
              finished implementing the spec.
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::executeScript):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::allowInlineScript):
        * page/ContentSecurityPolicy.h:

1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575
2011-04-07  Alice Boxhall  <aboxhall@chromium.org>

        Reviewed by Ryosuke Niwa.

        Move the MouseEventWithHitTestResults::targetNode() method on to EventHandler.
        https://bugs.webkit.org/show_bug.cgi?id=57921

        Moves the MouseEventWithHitTestResults::targetNode() method on to EventHandler, so
        that the same logic can be used for a HitTestResult.

        No visible changes, just cleanup, so no tests.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
        (WebCore::EventHandler::handleMousePressEventTripleClick):
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseDraggedEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore::EventHandler::subframeForHitTestResult):
        Made public static member, so that it can access targetNode(), and be accessed by
        webkitwebview in gtk.
        (WebCore::EventHandler::selectCursor):
        (WebCore::EventHandler::targetNode):
        (WebCore::EventHandler::handleMouseDoubleClickEvent):
        (WebCore::EventHandler::handleMouseMoveEvent):
        (WebCore::EventHandler::updateDragAndDrop):
        (WebCore::EventHandler::sendContextMenuEvent):
        * page/EventHandler.h:
        * page/MouseEventWithHitTestResults.cpp:
        (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
        * page/MouseEventWithHitTestResults.h:
        * page/android/EventHandlerAndroid.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/brew/EventHandlerBrew.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::passMousePressEventToSubframe):
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/efl/EventHandlerEfl.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/gtk/EventHandlerGtk.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/haiku/EventHandlerHaiku.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        (WebCore::EventHandler::passSubframeEventToSubframe):
        * page/wx/EventHandlerWx.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):

1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589
2011-04-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: build mapping for formatted scripts based on keywords positions.
        https://bugs.webkit.org/show_bug.cgi?id=57936

        Mapping based on [\$\.\w]+ was not accurate because string literals representation
        may be different in original and formatted scripts.

        * inspector/front-end/ScriptFormatterWorker.js:
        (buildMapping.regexp.b):
        (buildMapping):

1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614
2011-04-07  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Spinbuttons become unclickable if right padding is large.
        https://bugs.webkit.org/show_bug.cgi?id=56298

        An inner-spin-button is put on the right border and ignores right
        padding in RenderTextControlSingleLine::layout(), but forwardEvent()
        checks if a point is in an area just right of an internal text block.
        This inconsistency caused a bug that an inner-spin-button with large
        padding didn't receive mouse events.

        To fix this bug, we render spin buttons as layers, and remove manual
        event forwarding code.

        Test: fast/forms/input-number-large-padding.html

        * css/html.css: Add "position:relative" to make a spin-button a layer.
        (input::-webkit-inner-spin-button):
        (input::-webkit-outer-spin-button):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::forwardEvent):
          Remove manual event forwarding code.

1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636
2011-04-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        CSP object-src should block plugin loads
        https://bugs.webkit.org/show_bug.cgi?id=57283

        This change is pretty straight-forward.  It's slighly unclear to me
        whether this patch is correct w.r.t. the code in DocumentWriter.  I've
        added a FIXME comment, and I'll investigate that case more in the future.

        Test: http/tests/security/contentSecurityPolicy/object-src-none.html

        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::begin):
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::requestPlugin):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
        (WebCore::ContentSecurityPolicy::addDirective):
        * page/ContentSecurityPolicy.h:

1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650
2011-04-06  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=58009
        Frame::scalePage() results in visual artifacts with scale factors less than 1
        -and corresponding-
        <rdar://problem/8683230>

        Fall into the case where we fill with a background base color when there is a page 
        scale factor that is less than 1.
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662
2011-04-06  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        AVF: MediaPlayerPrivateAVFoundationObjC should not use -[AVPlayerItem isPlaybackBufferEmpty]
        https://bugs.webkit.org/show_bug.cgi?id=57982

        Query our cached loaded time array instead of asking AVPlayerItem if its buffer is empty.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):

1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683
2011-04-06  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        MediaPlayerPrivateAVFoundation does not change rate due to setRate().
        https://bugs.webkit.org/show_bug.cgi?id=57919

        Test: media/video-set-rate-from-pause.html

        The base class of MediaPlayerPrivateAVFoundation does not actually change the rate
        of the media; instead a subclass must do that work.  So when setRate() is called, 
        inform a subclass through a new pure virtual updateRate() function that there's 
        work to be done.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::setRate): Call updateRate()
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::updateRate): Added.  Set the requested rate.

1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694
2011-04-06  Dai Mikurube  <dmikurube@chromium.org>

        Reviewed by David Levin.

        Add QUOTA build flag for unified quota API
        https://bugs.webkit.org/show_bug.cgi?id=57918

        * Configurations/FeatureDefines.xcconfig: Added QUOTA build flag
        * GNUmakefile.am: Added QUOTA build flag
        * WebCore.pri: Added QUOTA build flag

1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712
2011-04-06  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=57997
        <rdar://problem/9187856> REGRESSION(r75555): ~5-7 MB increase in memory between iBench runs
        Navigating away from a Scrolled page which queues a scroll event that is never dispatched.
        Cancel all enqueued events when detaching the Document the events cannot keep the Document
        alive.

        No change in functionality so no new tests.  

        * dom/Document.cpp:
        (WebCore::Document::detach):
        * dom/EventQueue.cpp:
        (WebCore::EventQueue::cancelQueuedEvents):
        * dom/EventQueue.h:

1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726
2011-04-06  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/9084761> REGRESSION (r73993): Default Arabic line spacing has gotten very loose when the specified font is not Arabic
        https://bugs.webkit.org/show_bug.cgi?id=58002

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformInit): The version of Geeza Pro in Snow Leopard
        does not require the vertical metrics tweaks that were needed in Leopard. That the
        tweaks were being applied went mostly unnoticed until r73993, because until then it
        only affected cases where Geeza Pro was specified, not when it occurred as a fallback
        font.

1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744
2011-04-06  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 57994 - Move guardRef functionality back to Document
        https://bugs.webkit.org/show_bug.cgi?id=57994

        Move the relevant code parts from TreeScope back into Document.

        No new tests. (no new functionality)

        * dom/Document.cpp:
        (WebCore::Document::removedLastRef):
        * dom/Document.h:
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::destroyTreeScopeData):
        * dom/TreeScope.h:

1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776
2011-04-06  Ian Henderson  <ianh@apple.com>

        Reviewed by Simon Fraser, Antti Koivisto.

        Fast path for parsing simple CSS values
        https://bugs.webkit.org/show_bug.cgi?id=57964

        Add functions to parse simple color or dimension values, skipping the
        overhead of full CSS parsing.

        Change parseValue to a static method to avoid unnecessary allocation
        of a CSSParser in the fast case.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setProperty):
        Changed to use the new, static parseValue method.
        * css/CSSParser.cpp:
        (WebCore::isColorPropertyID):
        (WebCore::parseColorValue):
        Parses any color accepted by the existing parseColor() static method.
        We must handle color identifiers separately, since parseColor() will
        change 'red' into 'rgb(255, 0, 0)'.
        (WebCore::isSimpleLengthPropertyID):
        (WebCore::parseSimpleLengthValue):
        Parses a value of the form 'NNpx', 'NN%', or 'NN' (when strict is
        false, or 'NN' is '0').  Returns false to fall back to the slow path.
        (WebCore::CSSParser::parseValue):
        * css/CSSParser.h:
        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::setMatrixValue):
        Changed to use the new, static parseValue method.

kevino@webkit.org's avatar
kevino@webkit.org committed
1777 1778 1779 1780 1781 1782 1783 1784 1785 1786
2011-04-06  Kevin Ollivier  <kevino@theolliviers.com>

        Reviewed by Darin Adler.

        Make sure JS_EXPORT_PRIVATE is an empty define when we aren't using the export macros.

        https://bugs.webkit.org/show_bug.cgi?id=27551

        * config.h:

1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806
2011-04-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Antti Koivisto.

        Some minor style resolution optimizations
        https://bugs.webkit.org/show_bug.cgi?id=57996

        A couple of minor optimizations to style-related code.

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::isCSSPropertyName):
        (WebCore::JSCSSStyleDeclaration::putDelegate):
        Avoid calling cssPropertyName() twice when setting style on an element.
        
        * css/CSSStyleSelector.cpp:
        (WebCore::useSVGZoomRules):
        (WebCore::CSSStyleSelector::applyProperty):
        Avoid calling isSVGElement() for every property, since only a two properties
        care about it.

1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819
2011-04-06  Ian Henderson  <ianh@apple.com>

        Reviewed by Antti Koivisto.

        Unnecessary string allocation in CSSStyleDeclaration::setProperty
        https://bugs.webkit.org/show_bug.cgi?id=57995

        Pass the bool representing the property's importance directly instead
        of constructing a string.

        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::setProperty):

1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834
2011-04-06  Leandro Gracia Gil  <leandrogracia@chromium.org>

        Reviewed by Steve Block.

        Make the style of createFunctionOnlyCallback in V8 consistent with the JavaScriptCore version.
        https://bugs.webkit.org/show_bug.cgi?id=57963

        No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html

        * bindings/v8/V8Utilities.h:
        (WebCore::createFunctionOnlyCallback):
        * bindings/v8/custom/V8GeolocationCustom.cpp:
        (WebCore::V8Geolocation::getCurrentPositionCallback):
        (WebCore::V8Geolocation::watchPositionCallback):

1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847
2011-04-06  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        WebKit2: Support Windows 7 Gestures
        https://bugs.webkit.org/show_bug.cgi?id=49824
        <rdar://problem/8689728>
        
        Move WindowTouch.h from WebKit/win, so it can be used in both WebKit and WebKit2.

        * WebCore.vcproj/WebCore.vcproj:
        * platform/win/WindowsTouch.h: Copied from WebKit/win/WindowsTouch.h.

1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860
2011-04-06  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
        https://bugs.webkit.org/show_bug.cgi?id=57974

        We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).

        No new tests needed, just a config flag rename.

        * features.pri:

1861 1862 1863 1864 1865 1866 1867 1868 1869
2011-04-06  Tyler Close  <tjclose@chromium.org>

        Reviewed by Nate Chapin.

        run-bindings-tests reference files out of sync with CodeGenerator*.pm
        https://bugs.webkit.org/show_bug.cgi?id=57967

        * bindings/scripts/test/V8/V8TestCallback.cpp:

1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881
2011-04-06  Asanka Herath  <asanka@chromium.org>

        Reviewed by Darin Fisher.

        Add new TargetType: TargetIsFavicon

        https://bugs.webkit.org/show_bug.cgi?id=57659

        No new functionality added, so no additional tests.

        * platform/network/ResourceRequestBase.h:

1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893
2011-04-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=57981
        
        Update the column count and width computation algorithm for CSS3 multi-column layout 
        to match the revised pseudo-algorithm in the latest draft of the spec.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::calcColumnWidth):

1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912
2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        borderPaddingMarginStart and borderPaddingMarginEnd should take RenderInline
        https://bugs.webkit.org/show_bug.cgi?id=57965

        Changed the argument types of borderPaddingMarginStart and borderPaddingMarginEnd
        from RenderBoxModelObject to RenderInline since they call marginStart and marginEnd
        instead of marginStartForChild and marginEndForChild respectively.

        Calling these two functions on RenderInline is okay because writing-mode cannot differ
        from that of the containing block.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::borderPaddingMarginStart):
        (WebCore::borderPaddingMarginEnd):
        (WebCore::inlineLogicalWidth):

1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926
2011-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r83039.
        http://trac.webkit.org/changeset/83039
        https://bugs.webkit.org/show_bug.cgi?id=57978

        introduced a new regression in conjunction to
        ReplaceSelectionCommand (Requested by rniwa on #webkit).

        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::init):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):

1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953
2011-04-06  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by David Levin.

        Webkit ignores PgUp/PgDown/Home/End in SELECT tag objects
        https://bugs.webkit.org/show_bug.cgi?id=27658

        Test: fast/events/select-element.html

        * dom/SelectElement.cpp:
        (WebCore::nextValidIndex): Moved from elsewhere in the file to be used by other routines.
        (WebCore::nextSelectableListIndexPageAway): Returns a selectable index one page away from the given index.
        (WebCore::nextSelectableListIndex): Implemented with nextValidIndex.
        And converted to a normal static function from a private function of SelectElement.
        (WebCore::previousSelectableListIndex): Implemented with nextValidIndex.
        And converted to a normal static function from a private function of SelectElement.
        (WebCore::firstSelectableListIndex): Returns the first selectable index.
        (WebCore::lastSelectableListIndex): Returns the last selectable index.
        (WebCore::SelectElement::menuListDefaultEventHandler): Converted from C cast to C++ cast.
        (WebCore::SelectElement::listBoxDefaultEventHandler): Adds support for PageUp/PageDown/Home/End with both single and multiple selection.

        * dom/SelectElement.h:
        (WebCore::SelectElement::): Remove nextSelectableListIndex() and previousSelectableListIndex().

        * rendering/RenderListBox.h: Makes RenderListBox::size public so that PageUp/PageDown behavior can use the actual list size rather than that specified in HTML.
        They can differ due to the minimum size imposed by RenderListBox.

1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967
2011-04-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=57975

        The "More..." link for line clamping no longer shows up in Safari RSS. Fix the isLink() check
        to just look at the style, so that it can find the InlineTextBox and not care that it's a child
        of the link element and not the line box for the link element itself (since that line box got
        culled).

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::applyLineClamp):

1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982
2011-04-06  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973
        WK2 icon database should be able to get a CGImage of a specific size

        * platform/graphics/BitmapImage.h:
        * platform/graphics/Image.h:
        (WebCore::Image::getFirstCGImageRefOfSize):
        
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::getFirstCGImageRefOfSize): Walk the frames of the image until reaching the
          first frame of the requested size.

1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993
2011-04-06  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>

        Reviewed by Kevin Ollivier.

        [wx] Fix cursor handling so that we always call the chrome to set it.
        
        https://bugs.webkit.org/show_bug.cgi?id=57972

        * platform/wx/WidgetWx.cpp:
        (WebCore::Widget::setCursor):

1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007
2011-04-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=41445
        
        Visited links painting with black background. Make sure that if the visited style has
        the initial background color (transparent) set that we just use the unvisited color.

        Added fast/history/visited-link-background-color.html

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::visitedDependentColor):

2008 2009 2010 2011 2012 2013
2011-04-06  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed Qt buildfix after r83079.

        * WebCore.pro:

2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029
2011-04-06  Dean Jackson  <dino@apple.com>

        Reviewed by Chris Marrin.

        https://bugs.webkit.org/show_bug.cgi?id=56936
        Crash in ImplicitAnimation::~ImplicitAnimation

        Make sure the style and start time waiting lists
        are cleared in the CompositeAnimation destructor. This
        way, no running transitions can be left in a state
        where they are destroyed as the AnimationControllerPrivate
        cleans up.

        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::~CompositeAnimation):

2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044
2011-04-06  Robert Sesek  <rsesek@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
        https://bugs.webkit.org/show_bug.cgi?id=54969

        No change in behavior; no new tests.

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::locationAndLengthFromRange): New method from duplicated code in WebKits
        * editing/TextIterator.h:
        * page/Frame.cpp:
        (WebCore::Frame::rangeForPoint): New method from duplicated code in WebKits

2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073
2011-04-06  Leandro Gracia Gil  <leandrogracia@chromium.org>

        Reviewed by Steve Block.

        Factoring the creation of 'FunctionOnly' callbacks in JavaScriptCore.
        https://bugs.webkit.org/show_bug.cgi?id=57770

        Create a template from an existing functionality in JSGeolocationCustom.cpp
        to be used by the custom bindings of both Geolocation and the Media Stream API.
        V8 version of this bug: https://bugs.webkit.org/show_bug.cgi?id=57760

        No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/CallbackFunction.cpp: Added.
        (WebCore::checkFunctionOnlyCallback):
        * bindings/js/CallbackFunction.h: Added.
        (WebCore::createFunctionOnlyCallback):
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::JSGeolocation::getCurrentPosition):
        (WebCore::JSGeolocation::watchPosition):

2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099
2011-04-06  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] Implement fullscreen playback for the GStreamer backend.
        https://bugs.webkit.org/show_bug.cgi?id=56826

        Implement support for fullscreen playback when building the
        Qt port with the GStreamer backend (DEFINES+=USE_GSTREAMER=1).
        The implementation is done in FullScreenVideoQt alongside with
        the Qt Multimedia support.

        No new tests because layout tests cover it. They are not yet activated
        but will be any time soon.

        * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
        (FullScreenVideoWindow::FullScreenVideoWindow):
        (FullScreenVideoWindow::setVideoElement):
        (FullScreenVideoWindow::closeEvent):
        (FullScreenVideoWindow::keyPressEvent):
        (FullScreenVideoWindow::event):
        (FullScreenVideoWindow::showFullScreen):
        (FullScreenVideoWindow::hideCursor):
        (FullScreenVideoWindow::showCursor):

2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120
2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Dimitri Glazkov.

        Bundle lineLeftOffset and lineRightOffset as a class
        https://bugs.webkit.org/show_bug.cgi?id=57851

        Added a new class LineOffsets that encapsulates lineLeftOffset and lineRightOffset.
        The patch makes clear that lineLeftOffset and lineRightOffset are never read individually
        and only the difference is used to compute the width.

        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineOffsets instead of two integers.
        (WebCore::LineOffsets::LineOffsets): Added.
        (WebCore::LineOffsets::width): Added.
        (WebCore::LineOffsets::setLeft): Added.
        (WebCore::LineOffsets::setRight): Added.
        (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
        (WebCore::RenderBlock::positionNewFloatOnLine): Takes LineOffsets instead of two integers.

2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303
2011-04-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=57916
        
        Implement an optimization to the line box tree to cull out most of the intermediate
        line boxes that can occur between the root line box and the leaves of the tree (images
        and text).

        RenderInlines now have a boolean member, m_alwaysCreateLineBoxes,
        that starts off as false. Only if it gets flipped to true will there be any line boxes
        created for that RenderInline.
        
        * page/FocusController.cpp:
        (WebCore::FocusController::advanceFocusDirectionally):
        Adjust the ordering of updateLayout calls to make sure rects aren't queried unless layout
        is up to date.

        * page/SpatialNavigation.cpp:
        (WebCore::hasOffscreenRect):
        (WebCore::nodeRectInAbsoluteCoordinates):
        Add asserts in spatial navigation code to catch any future bad queries that might be made
        for rectangles without layout being up to date.

        * platform/graphics/FloatRect.cpp:
        (WebCore::FloatRect::uniteIfNonZero):
        * platform/graphics/FloatRect.h:
        * platform/graphics/IntRect.cpp:
        (WebCore::IntRect::uniteIfNonZero):
        * platform/graphics/IntRect.h:
        Add a new unite function that is useful for the render tree to FloatRect and IntRect.  This
        version allows rect unites to happen if either width or height is nonzero.

        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
        Make sure rect-based hit testing properly adds in culled inline ancestors to the set of nodes
        if content inside those inlines is hit.

        * rendering/InlineBox.h:
        (WebCore::InlineBox::logicalFrameRect):
        Fix a bug in this function for obtaining the logical frame rect of an inline box.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::addToLine):
        addToLine now also checks line gap in the line box tree optimization checks.
    
        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
        (WebCore::InlineFlowBox::computeOverflow):
        * rendering/InlineFlowBox.h:
        Rewritten to add the text box overflow to the text box itself.

         * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::destroy):
        Destroy has been changed to call a helper function to remove and destroy the line boxes that
        is now called from one additional spot.

        (WebCore::InlineTextBox::logicalOverflowRect):
        (WebCore::InlineTextBox::setLogicalOverflowRect):
        Text boxes now cache their own overflow in a global hash table.

        (WebCore::InlineTextBox::baselinePosition):
        (WebCore::InlineTextBox::lineHeight):
        Changed to not assume that the parent line box's renderer is the RenderText's immediate
        parent, since intermediate line boxes may have been culled.

        (WebCore::InlineTextBox::paint):
        Paint now properly checks only the text box overflow instead of the parent line box's overflow.

        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::logicalTopVisualOverflow):
        (WebCore::InlineTextBox::logicalBottomVisualOverflow):
        (WebCore::InlineTextBox::logicalLeftVisualOverflow):
        (WebCore::InlineTextBox::logicalRightVisualOverflow):
        New accessors to obtain overflow for inline text boxes.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter):
        updateFirstLetter now removes text boxes from the line box tree before it destroys them, since those
        text boxes may not have anything in between them and the block that contains the inline first letter
        container.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::createLineBoxes):
        The culling optimization is done here.  Only if the RenderInline says that boxes are allowed will they
        be created.

        (WebCore::RenderBlock::layoutInlineChildren):
        The state of the RenderInline is updated here, in case it is discovered that line boxes are now needed.
        This is done before any lines are built.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::RenderInline):
        The new m_alwaysCreateLineBoxes flag has been added to the constructor.

        (WebCore::RenderInline::styleDidChange):
        An initial update of the m_alwaysCreateLineBoxes happens here for things that can be checked immediately
        (like having a layer, borders, padding, margins or backgrounds).  Some checks that depend on examining
        the RenderInline's parent (including first line styles) happen later in layoutInlineChildren.

        (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
        The function called by layoutInlineChildren to check parent and child style differences (e.g., font,
        vertical alignment, line height, etc.).

        (WebCore::RenderInline::absoluteRects):
        (WebCore::RenderInline::culledInlineAbsoluteRects):
        absoluteRects calls culledInlineAbsoluteRects when m_alwaysCreateLineBoxes is false.

        (WebCore::RenderInline::absoluteQuads):
        (WebCore::RenderInline::culledInlineAbsoluteQuads):
        absoluteQuads calls culledInlineAbsoluteQuads when m_alwaysCreateLineBoxes is false.

        (WebCore::RenderInline::offsetLeft):
        (WebCore::RenderInline::offsetTop):
        offsetLeft and offsetTop now check descendant renderers when m_alwaysCreateLineBoxes is false.

        (WebCore::RenderInline::linesBoundingBox):
        (WebCore::RenderInline::culledInlineBoundingBox):
        lineBoundingBox calls culledInlineBoundingBox when m_alwaysCreateLineBoxes is false.

        (WebCore::RenderInline::culledInlineFirstLineBox):
        (WebCore::RenderInline::culledInlineLastLineBox):
        Helpers that return the first and last line box descendants. Used by firstLineBoxIncludingCulling and
        lastLineBoxIncludingCulling (which are in turn called by offsetLeft and offsetTop).

        (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
        linesVisualOverflowBoundingBox calls culledInlineVisualOverflowBoundingBox when m_alwaysCreateLineBoxes is false.

        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        The initial bailout check is now done using firstLineBoxIncludingCulling instead of just firstLineBox.

        (WebCore::RenderInline::dirtyLineBoxes):
        dirtyLineBoxes now crawls into descendants to figure out which root lines to dirty when
        m_alwaysCreateLineBoxes is false.

        (WebCore::RenderInline::createAndAppendInlineFlowBox):
        Clear the m_alwaysCreateLineBoxes if a box gets added anyway. This happens for leaf inline flows and also
        when line-box-contain is set to an unusual value.

        (WebCore::RenderInline::addFocusRingRects):
        Used culledInlineAbsoluteRects in place of the line box walk when m_alwaysCreateLineBoxes is false.

        * rendering/RenderInline.h:
        (WebCore::RenderInline::firstLineBoxIncludingCulling):
        (WebCore::RenderInline::lastLineBoxIncludingCulling):
        Helpers used in a few places (like offsetLeft and offsetTop), mostly in places where the existence of a box
        is all that needs checking.

        (WebCore::RenderInline::alwaysCreateLineBoxes):
        (WebCore::RenderInline::setAlwaysCreateLineBoxes):
        Functions for getting and setting the m_alwaysCreateLineBoxes flag.

        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
        Modified to use firstLineBoxIncludingCulling and lastLineBoxIncludingCulling to ensure the right set of
        lines get dirtied.

        * rendering/RenderText.cpp:
        (WebCore::RenderText::removeAndDestroyTextBoxes):
        New helper invoked by destroy and also from updateFirstLetter.

        (WebCore::RenderText::destroy):
        Changed to call removeAndDestroyTextBoxes.

        (WebCore::RenderText::absoluteRects):
        Fixed to be properly physical instead of logical.

        (WebCore::RenderText::linesVisualOverflowBoundingBox):
        New implementation for RenderText that gives the bounding box of the text boxes including overflow from
        shadows, glyphs, text-stroke, etc.  Used by RenderInline::culledInlineVisualOverflowBoundingBox.

        * rendering/RenderText.h:
        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::RenderSVGInline):
        RenderSVGInline always sets m_alwaysCreateLineBoxes to true so that SVG is unaffected by this optimization.

        * rendering/svg/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
        (WebCore::SVGRootInlineBox::layoutChildBoxes):
        Move the isInlineFlowBox asserts to after the generated content skips, since the generated content boxes are
        now InlineTextBoxes (the enclosing InlineFlowBoxes got culled).

2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325
2011-04-05  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        REGRESSION: Drag & Drop Gmail Attachments doesn't work.
        https://bugs.webkit.org/show_bug.cgi?id=57909
        <rdar://problem/9103220>

        In WebKit2 we cannot rely on the value returned by platformData() that
        on Mac returns an NSDraggingInfo object. This is available only in the UI
        process. Therefore we should use m_pasteboard instead.
        We cannot change what platformData() returns on Mac, since there are
        delegate methods that receive a NSDraggingInfo object (only in WebKit).
        
        * platform/DragData.h:
        (WebCore::DragData::pasteboard): Added.
        * platform/mac/ClipboardMac.mm:
        (WebCore::Clipboard::create): Changed to use pasteboard() instead of platformData().
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::asColor): Replaced references to m_platformData with m_pasteboard.
        (WebCore::DragData::asURL): Same as above.

2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338
2011-04-06  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Darin Adler.

        ClipboardWin has unused variables "ExceptionCode ec"
        https://bugs.webkit.org/show_bug.cgi?id=57952

        Remove the unused variable.

        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::declareAndWriteDragImage):
        (WebCore::ClipboardWin::writePlainText):

2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351
2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Dimitri Glazkov.

        Split getBorderPaddingMargin into two functions
        https://bugs.webkit.org/show_bug.cgi?id=57947

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::borderPaddingMarginStart): Extracted from getBorderPaddingMargin.
        (WebCore::borderPaddingMarginEnd): Ditto.
        (WebCore::inlineLogicalWidth): Calls borderPaddingMarginStart and borderPaddingMarginEnd.
        (WebCore::RenderBlock::findNextLineBreak): Ditto.

2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406
2011-04-06  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        [Refactoring] <progress> should not have manual layout code.
        https://bugs.webkit.org/show_bug.cgi?id=57801

        - Simplified RenderProgress, removing its custom layout code
        - Introducing ProgressValueElement and ProgressBarElement, replacing
          ProgressBarValueElement. 
        
        Now the structure is almost identical to <meter>, 
        other than:
        - RenderProgress has animated painting, thus manages its own timer.
        - Both ProgressValueElement and ProgressBarElement has pseudo classes
          which don't changes during its lifetime.
       
        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/html.css:
        (progress):
        (progress::-webkit-progress-bar):
        (progress::-webkit-progress-value):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::~HTMLProgressElement):
        (WebCore::HTMLProgressElement::create):
        (WebCore::HTMLProgressElement::attach):
        (WebCore::HTMLProgressElement::didElementStateChange):
        (WebCore::HTMLProgressElement::createShadowSubtree):
        * html/HTMLProgressElement.h:
        * html/shadow/ProgressShadowElement.cpp: Copied from Source/WebCore/html/shadow/ProgressBarValueElement.h.
        (WebCore::ProgressShadowElement::ProgressShadowElement):
        (WebCore::ProgressShadowElement::progressElement):
        (WebCore::ProgressShadowElement::rendererIsNeeded):
        (WebCore::ProgressBarElement::shadowPseudoId):
        (WebCore::ProgressValueElement::shadowPseudoId):
        (WebCore::ProgressValueElement::setWidthPercentage):
        * html/shadow/ProgressShadowElement.h: Renamed from Source/WebCore/html/shadow/ProgressBarValueElement.h.
        (WebCore::ProgressBarElement::ProgressBarElement):
        (WebCore::ProgressBarElement::create):
        (WebCore::ProgressValueElement::ProgressValueElement):
        (WebCore::ProgressValueElement::create):
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::RenderProgress):
        (WebCore::RenderProgress::updateFromElement):
        (WebCore::RenderProgress::animationTimerFired):
        * rendering/RenderProgress.h:
        (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
        (WebCore::RenderProgress::canHaveChildren):

2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465
2011-04-06  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Chris Fleizach.

        [GTK] Do not reference AccessibilityRenderObject from platform dependent code
        https://bugs.webkit.org/show_bug.cgi?id=57955

        Do not reference AccessibilityRenderObject from platform specific code

        Added new virtual functions to AccessibilityObject.h and removed
        explicit references to AccessibilityRenderObject from GTK code.

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::renderer): New virtual method,
        returning 0 by default. Overriden by AccessibilityRenderObject.
        (WebCore::AccessibilityObject::correspondingLabelForControlElement):
        New virtual method, returning 0 by default. It complements the
        already present method correspondingControlForLabelElement().

        * accessibility/AccessibilityRenderObject.h:
        (WebCore::AccessibilityRenderObject::renderer): Made virtual.

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::emitTextChanged): Reference  AccessibilityObject,
        instead of AccessibilityRenderObject.
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
        Ditto.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_name): Do not reference
        AccessibilityRenderObject.
        (webkit_accessible_get_description): Ditto.
        (setAtkRelationSetFromCoreObject): Ditto.
        (optionFromList): Ditto.
        (optionFromSelection): Ditto.
        (webkit_accessible_selection_clear_selection): Ditto.
        (webkit_accessible_selection_get_selection_count): Ditto.
        (webkit_accessible_selection_select_all_selection): Ditto.
        (textForObject): Ditto.
        (webkit_accessible_text_get_text): Ditto.
        (getPangoLayoutForAtk): Ditto.
        (webkit_accessible_text_get_caret_offset): Ditto.
        (baselinePositionForRenderObject): Ditto.
        (getAttributeSetForAccessibilityObject): Ditto.
        (accessibilityObjectLength): Ditto.
        (getSelectionOffsetsForObject): Ditto.
        (webkit_accessible_text_set_selection): Ditto.
        (webkit_accessible_text_set_caret_offset): Ditto.
        (webkit_accessible_table_get_caption): Ditto.
        (getInterfaceMaskFromObject): Ditto.

        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
        (getRangeLengthForObject): Ditto.

        Removed unused renderer() method from AccessibilityMenuList.

        * accessibility/AccessibilityMenuList.h: Removed unused method.
        * accessibility/AccessibilityMenuList.cpp: Removed unused method.

2466 2467 2468 2469 2470 2471 2472 2473 2474